Nothing Special   »   [go: up one dir, main page]

CN103023769B - Onu实现二层广播包和未知包转发的方法 - Google Patents

Onu实现二层广播包和未知包转发的方法 Download PDF

Info

Publication number
CN103023769B
CN103023769B CN201310025398.XA CN201310025398A CN103023769B CN 103023769 B CN103023769 B CN 103023769B CN 201310025398 A CN201310025398 A CN 201310025398A CN 103023769 B CN103023769 B CN 103023769B
Authority
CN
China
Prior art keywords
port
vlan
bag
packet
network interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310025398.XA
Other languages
English (en)
Other versions
CN103023769A (zh
Inventor
吴军平
孟星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN201310025398.XA priority Critical patent/CN103023769B/zh
Publication of CN103023769A publication Critical patent/CN103023769A/zh
Application granted granted Critical
Publication of CN103023769B publication Critical patent/CN103023769B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种ONU实现二层广播包和未知包转发的方法,包括以下步骤:步骤A10、将ONU的LAN侧网卡及WAN侧网卡中的wan网卡分别下挂在PON芯片的LINUX软桥下,LINUX软桥的桥端口与硬桥的接口一一对应;步骤A20、在PON芯片内核的软桥的钩子函数中添加上、下行广播包或未知包转发规则,实现根据VLAN信息对上、下行广播包和未知包的转发;若下行接收端口为网卡wan,则依次转发至其它各个端口;若上行接收端口为任意LAN设备,则依次转发至其它各个端口;上行广播包和未知包在端口间的转发规则遵循vlan域的转发规则。本发明,在ONU没有交换芯片的情况下,利用LINUX软桥实现了根据端口VLAN业务对广播包和未知包的转发及隔离,减少了网卡的工作量,更加高效。

Description

ONU实现二层广播包和未知包转发的方法
技术领域
本发明涉及ONU转发技术,具体涉及ONU实现二层广播包和未知包转发的方法。
背景技术
GPON(Gigabit-CapablePON)技术是基于ITU-TG.984.x标准的最新一代宽带无源光综合接入技术,具有高带宽、高效率、大覆盖范围、用户接口丰富等众多优点,被大多数运营商视为实现接入网业务宽带化、综合化改造的理想技术。GPON系统包括:光线路终端(OLT)、光网络单元(ONU)和光分配网络(ODN)。OLT通常放置在中心机房使用,而ONU通常放置在用户侧,ONU又分为光纤到户(FTTH)型和光纤到楼(FTTB)型等。
ONU通过网桥实现二层数据的转发,目前ONU使用的PON芯片本身有一个硬桥,它可以根据硬件中的MAC地址表,直接对二层的数据包进行转发。但是,PON芯片的硬桥功能有限,不能自己学习到数据包的源MAC地址,无法对未知包(源MAC不在MAC地址表中的数据包)进行转发,并且对于广播包,硬桥也不能同时把广播包复制到多个端口转发。
为了克服以上问题,可以将LAN侧网卡及WAN侧网卡中的wan网卡下挂在PON芯片内核中的Linux软桥下,通过软桥学习广播包和未知包的源MAC地址,并由软桥完成数据包的转发,这样就大大减少了网卡工作量,并且更为高效一些。例如,对于未知包,ONU需要学习收到的未知包的MAC地址,然后再更新硬件的MAC地址表,通过网卡来进行相应的转发。
但是,软桥对广播包和未知包进行转发时不会考虑广播包以及端口的vlan信息,而是单纯的把广播包和未知包复制转发到除接收端口外的所有桥端口,这就无法实现对广播包和未知包的按照端口业务进行转发或丢弃的作用,所以需要对软桥添加转发规则以实现根据vlan信息对广播包进行广播。
发明内容
本发明所要解决的技术问题是解决如何利用linux软桥实现ONU对广播包和未知包的转发以及通过linux软桥转发时无法实现VLAN对广播包和未知包的隔离,从而使广播包或未知包转发到除接收端口外其它所有端口的问题。
为了解决上述技术问题,本发明所采用的技术方案是提供一种ONU实现二层广播包和未知包转发的方法,包括以下步骤:
步骤A10、将ONU的LAN侧网卡及WAN侧网卡中的wan网卡分别下挂在PON芯片的LINUX软桥下,LINUX软桥的桥端口与硬桥的接口一一对应;
步骤A20、在PON芯片内核的软桥的钩子函数中添加上、下行广播包或未知包转发规则,实现根据VLAN信息对上、下行广播包和未知包的转发;
所述上、下行广播包或未知包转发规则为:若下行广播包和未知包的接收端口为网卡wan,则把该广播包和未知包依次转发至其它各个端口;若上行广播包和未知包的接收端口为任意LAN设备,则将其依次转发至其它各个端口;上行广播包和未知包在端口间的转发规则遵循vlan域的转发规则。
在上述方法中,LAN侧网卡及WAN侧网卡均从CPU队列中读取数据包,并分配给不同的CPU队列,通过建立不同的CPU队列实现对不同数据包的区分。
在上述方法中,在步骤A10中,
根据ONU承载的不同业务建立不同的网卡,并将ONU的LAN侧网卡及WAN侧网卡中的wan网卡分别下挂在PON芯片的LINUX软桥下;
网卡中数据包发送时,LAN设备的数据包直接发向相应的LAN口或PCI队列;WAN设备中的wan网卡将数据包直接发向相应的硬桥端口wan_bridged,其它的WAN设备将数据包发向PON口,同时会为数据包添加上VLAN,不同的网卡添加的VLAN值不同;
网卡采用中断加轮询方式接收数据包。
在上述方法中,建立CPU队列的个数以及每个CPU队列的配置根据业务需要设定。
在上述方法中,在步骤A20中,
通过在LINUX协议栈桥模块的相应的Netfilter钩子点注册钩子函数来实现的上、下行广播包和未知包基于端口VLAN业务的转发,其中:
位于NF_BR_LOCAL_IN和NF_BR_LOCAL_OUT钩子点的函数,用于控制二层端口、三层端口的DHCP协议报文与本地DHCPserver交互,允许三层端口的DHCP协议报文通过,禁止二层端口的DHCP协议报文通过;
位于NF_BR_FORWARD钩子点的函数,用于实现上、下行广播包和未知包的VLAN域转发以及端口隔离;
位于NF_BR_POST_ROUTING钩子点的函数,用于实现对下行广播包基于端口的限速。
在上述方法中,上行广播包和未知包在端口间的转发规则遵循vlan域的转发规则如下:
如果端口配置了TLS业务、全透传业务、全透传QINQ业务之中的任意一条业务,那么所有数据均能转发到该端口;
如果端口配置了UNTAG-TAG业务或者UNTAG-TAGQINQ业务,那么只有属于该vlan域的数据包能够转发到该端口,并且以Untag形式发出;
如果端口配置一条VLAN透传业务,那么只有属于相应vlan域的数据包能够转发到该端口,并且以Tag形式从该端口发出;
untag数据包的vlan域由接收端口的pvid决定,默认端口的pvid只有在该端口配置了untag业务时存在,并且等于该untag业务的vlan;
以上转发规则只能在二层端口间,并且端口之间不隔离时生效;
端口vlan域转发只在出口做判断,任一端口都可接收任意vlan的数据包。
本发明,在ONU没有交换芯片的情况下,利用LINUX软桥实现了通过网卡设备根据端口VLAN业务对广播包和未知包的转发,与硬桥交换功能结合实现了较完整的交换功能,减少了网卡的工作量,更加高效,并通过在软桥中添加转发规则实现了VLAN对广播包和未知包的隔离。
附图说明
图1本发明中ONU的基本构架;
图2本发明中ONU端口单播数据业务的分类;
图3本发明中桥模块netfilter钩子点位置;
图4本发明中下行广播包在软桥的转发流程图;
图5本发明中上行广播包在软桥的转发流程图。
具体实施方式
下面结合附图对本发明作出详细的说明。本发明中ONU的基本构架如图1所示,ONU内可以配置29个网卡,包括eth0~eth4、wifi_fp0~wifi_fp15、wan、tel0、voip0、tr0、wan0~wan3。根据其所处的位置,将网卡分为LAN侧网卡和WAN侧网卡,LAN侧网卡包括eth0~eth4、wifi_fp0~wifi_fp15这21个网卡,WAN侧网卡包括wan、tel0、voip0、tr0、wan0~wan3这8个网卡。
LAN设备以及WAN设备中的wan均属于软桥br0的桥端口,软桥br0的各桥端口与硬桥的各桥端口一一对应。wan对应硬桥的wan_bridged端口,tel0用于ONU与OLTtelnet通信服务,voip0用于语音业务服务,wan0~wan3用于RouterWAN连接,分别对应一条routerWAN连接,如NAT业务。这样的网卡驱动构架,将LAN设备和WAN设备中wan网卡下挂在linux软桥下,通过软桥来实现二层广播包和未知包的转发。具体步骤下:
A10、根据ONU承载的不同业务建立不同的网卡,将ONU的LAN侧网卡及WAN侧网卡中的wan网卡下挂在PON芯片的LINUX软桥下,通过LINUX软桥实现根据数据包的转发;
数据包的转发分为发送和接收两部分。
A101、数据包的发送。
LAN设备中eth0~eth4直接将数据包发向相应的LAN端口,wifi_fp0~wifi_fp15则将数据包发送到PCI队列;
WAN设备中的wan网卡将数据包直接发向相应的硬桥端口wan_bridged;
除wan外其它的WAN侧设备将数据包发向PON口,同时为数据包添加上VLAN,不同的网卡添加的VLAN值不同(添加的VLAN值可以自己定义)。
A102、数据包的接收。
采用NAPI方式从ONU的CPU队列中读取数据包,NAPI是一种中断加轮询的方式,该方式可以有效的提升网络设备收包的性能。
ONU将需要网卡处理的数据包都放置在CPU队列中,CPU队列中收到的数据包将会被分派给不同的网卡,以完成各相应网卡的收包,由于不同CPU队列所接收的数据包有所不同,所以对不同CPU队列收到的数据包的分派方式均有所不同。
网卡均从CPU队列中读取数据包,分配不同的CPU队列用于接收不同的数据包。不同CPU队列的数据包属于不同的网络设备,同时一个CPU队列的数据包可能属于多个网络设备,通过建立不同的CPU对列,以实现对不同数据包的区分。下面以分配四个CPU队列说明如下:
四个CPU队列具体配置如下:
CPU队列0:接收所有被过滤出的上行报文以及下行二层数据包,这些数据包的特征是纯做二层转发,不应由本地应用接收,如下行源MAC查找失败而送进CPU的包等,这些数据包可能属于所有LAN设备以及wan,可根据返回的源端口号来区分。
CPU队列5:只接收下行需转发的三层数据包,即由路由的下行过滤规则而过滤出的数据包。从CPU队列5读到的数据包属于网卡wan0-wan3,根据返回的源Gem流ID来区分。
CPU队列6:只接收语音业务下行数据流,即由语音通道下来的数据(此为Gem流直通CPU队列)。从CPU队列6读到的数据包属于voip0或tr0,根据返回的源Gem流ID来区分。
CPU队列7:接收下行广播包通道下来的数据包(Gem直通)或者下行DHCP报文(被过滤出的)。从CPU队列7读到的数据包可能属于所有WAN设备,即tel0,voip0,tr0,wan,wan0-wan3,根据数据包的vlan信息来区分。
下行的广播包和未知包会送到ONU的CPU队列7中,CPU队列7中读到的包可能属于所有的WAN设备,需要根据数据包的VLAN信息来区分.
上行广播包和未知包会送入到CPU队列0中,需要根据返回的源端口号判断出这时的数据包是属于LAN侧网卡还是WAN侧网卡中的wan.
A20、通过在PON芯片内核的软桥的钩子函数中添加上、下行广播包或未知包转发规则,实现根据VLAN信息对下行广播包和未知包进行转发。
这里首先需要对ONU端口单播业务的分类说明一下,如图3所示,ONU的单播业务分为TLS业务和非TLS业务。
(1)、TLS业务:上行的数据包进入ONU后,ONU会为其添加一层VLAN。如果上行数据包是UNTAG的,经过ONU后会带上一层VLAN;如果上行数据包是带有一层VLAN的,经过ONU后会加上外层VLAN。同样下行数据包进入ONU后,会将数据包的外层VLAN剥掉。
(2)、透传业务:包括全透传业务、全透传QINQ业务、VLAN透传业务、VLAN翻译业务、VLAN透传QINQ业务、VLAN翻译QINQ业务。
(3)、全透传业务:所有带VLAN或者不带VLAN的数据包都可以通过ONU。ONU不对数据包做任何处理。
(4)、全透传QINQ业务:同TLS业务。
(5)、VLAN透传业务:上下行可以通过ONU的数据业务必须是带一层VLAN的数据业务,并且仅数据包的VLAN与配置业务的VLAN一致时,数据包才可以通过。
(6)、VLAN翻译业务:上下行可以通过ONU的数据必须是带一层VLAN的数据业务。即在VLAN透传业务的基础上,会将上行的数据包的VLAN翻译为配置的翻译VLAN.对下行数据包会将翻译VLAN逆向翻译回原VLAN。
(7)、VLAN透传QINQ业务:在VLAN透传的基础上,ONU会为上行业务添加一层VLAN。相应的,对下行业务ONU会对将其外层VLAN剥掉。
(8)、VLAN翻译QINQ业务:在VLAN透传的基础上,ONU会先将上行业务的VLAN翻译为翻译VLAN,再添加一层外层VLAN。相应的,对下行业务ONU会先剥掉外层VLAN,再将翻译VLAN翻译会原VLAN.
(9)、UNTAG-TAG业务:上行进入ONU的数据业务是不带VLAN的业务,ONU会为其添加一层VLAN。下行的数据业务经过ONU会将其相应的VLAN剥掉。
(10)、UNTAG-TAGQINQ业务:上行进入ONU的数据业务是不带VLAN的业务,ONU会为其添加两层VLAN,内层VLAN和外层VLAN.下行的数据业务经过ONU后会剥掉相应的两层VLAN。
ONU端口业务的配置是有一定规则的:ONU的每个端口只能配置一条全透传业务,并且配置了全透传业务后,该端口不能再配置其他任何业务。ONU的每个端口只能配置一条TAG业务。ONU的端口配置了TAG业务就不能配置TLS业务。ONU的VLAN翻译业务可以配置N条,即ONU可以将N个不同的VLAN翻译为同样的VLAN。
本发明提供的方法,通过在PON芯片内核的软桥的钩子函数中添加上、下行广播包或未知包转发规则,实现根据VLAN信息对下行广播包和未知包的转发。
上、下行广播包或未知包转发规则为:若下行广播包和未知包的接收端口为网卡wan,则把该广播包和未知包依次转发至其它各个端口;若上行广播包和未知包的接收端口为任意LAN设备,则将其依次转发至其它各个端口。
步骤A20的具体实现方法如下:
Linux内核协议栈的桥模块共有5个netfilter钩子点,netfilter钩子点的位置如图2所示。
NF_BR_PRE_ROUTING:位于接收方向,桥模块做出转发决定之前,由各桥端口接收的数据包进入桥模块之前。
NF_BR_LOCAL_IN:位于接收方向,桥模块已经做出转发决定,本地的数据包在进入上一层之前。
NF_BR_FORWARD:位于接收方向,桥模块已经做出转发决定,需要转发的数据包在向其它端口转发之前。
NF_BR_LOCAL_OUT:位于发送方向,数据包由上一层进入桥模块转发之前。
NF_BR_POST_ROUTING:位于发送方向,桥模块做出转发决定之后,由桥端口发出数据包之前。
通过在这5个钩子点注册相应的钩子函数即可灵活的控制数据包在软桥中的转发方式,同时也可对数据包进行修改。每个钩子点的钩子函数实现的功能分别如下:NF_BR_PRE_ROUTING:暂时无需要实现的功能。NF_BR_LOCAL_IN和NF_BR_LOCAL_OUT:控制二层端口、三层端口的DHCP协议报文与本地DHCPserver交互,允许三层端口的DHCP协议报文通过,禁止二层端口的DHCP协议报文通过。NF_BR_FORWARD:实现上下行广播包和未知包的VLAN域转发以及端口隔离。NF_BR_POST_ROUTING:实现对下行广播包基于端口的限速。
下面分下行和上行两部分加以详细介绍。
若下行广播包和未知包的接收端口为网卡wan,桥将会把该包依次转发至其它各个端口,这里钩子点对桥做出的每一个转发决定进行检查,并确认是否允许通过该钩子点,检查流程如图4所示;
(1)、判断出端口是否为二层端口,如果不是,则返回NF_DROP,否则执行下一步;
(2)、判断出端口是否配置有全透传业务,如果是则返回NF_ACCEPT,否则执行下一步;
(3)、获取数据包的VLAN信息,如果vlan个数为0则返回NF_DROP;否则执行下一步;
(4)、如果出端口配置了全透传QINQ业务,检查数据包的外层VLAN是否与该业务的VLAN匹配,如果匹配,剥掉数据包的外层VLAN,返回NF_ACCEPT,否则执行下一步;
(5)、如果出端口配置了TLS业务,检查数据包的外层VLAN是否与该业务的VLAN匹配,如果匹配,剥掉数据包的外层VLAN,返回NF_ACCEPT,否则执行下一步;
(6)、如果VLAN的个数为1则执行下一步,如果VLAN的个数为2执行第(10)步;
(7)、如果出端口配置了untag-->tag业务,检查数据包的vlan是否与该业务的vlan匹配,如果匹配,剥掉数据包的vlan,返回NF_ACCEPT,否则执行下一步;
(8)、如果出端口配置了vlan透传业务,检查数据包的vlan是否与其中某条vlan匹配,如果匹配,返回NF_ACCEPT,否则执行下一步;
(9)、如果出端口配置了vlan翻译业务,检查数据包的vlan是否与其中一条或几条vlan匹配;如果匹配n(n>1)条,依次复制n-1份,并做相应vlan转换后发向该端口,然后返回NF_ACCEPT;如果匹配1条,做相应vlan转换后返回NF_ACCEPT;否则返回NF_DROP;
(10)、如果出端口配置了untag-->tagQinQ业务,检查数据包的内外层vlan是否与该业务的vlan匹配,如果匹配,剥掉所有vlan后返回NF_ACCEPT,否则执行下一步;
(11)、如果端口配置了vlan翻译QINQ业务,检查数据包的vlan是否与其中一条或几条vlan匹配,如果匹配n(n>1)条,依次复制n-1份,剥掉外层vlan,并做相应vlan转换后发向该端口,然后返回NF_ACCEPT;如果配置1条,剥掉外层vlan,做相应vlan转换后返回NF_ACCEPT;否则返回NF_DROP。
上行广播包和未知包在端口间的转发规则遵循vlan域的转发规则,详细如下:
1、关于端口的vlan域的划分和转发原则如下:
(1)如果该某一端口配置了TLS业务、全透传业务、全透传QINQ业务之中的任意一条业务(一个端口只能配置其中一种),那么该端口即属于全体vlan域。所有数据均能转发到该端口。
(2)在端口配置了UNTAG-TAG业务或者UNTAG-TAGQINQ业务时,那么即认为该端口以Untag形式加入该业务vlan域,只有属于该vlan域的数据包能够转发到该端口,并且以Untag形式发出。
(3)端口每配置一条VLAN透传业务(vlan透传、vlan翻译、vlan透传QINQ、vlan翻译QINQ)时,那么该端口将加入相应的vlan域(此vlan以业务vlan为准,不考虑翻译后的vlan或QINQvlan),只有属于相应vlan域的数据包能够转发到该端口,并且以Tag形式从该端口发出。
2、关于untag数据包vlan域的划分与转发原则如下:
untag数据包的vlan域由接收端口的pvid决定,默认端口的pvid只有在该端口配置了untag业务时存在,并且等于该untag业务的vlan。untag数据包同样遵守vlan域转发原则。
3、以上转发规则只能在二层端口间,并且端口之间不隔离时生效。另外端口vlan域转发只在出口做判断,任一端口都可接收任意vlan的数据包。本地端口间转发既有软转发,也有硬转发,以上规则也仅在软转发时生效,硬转发由芯片本身性质决定,无法改变。
如果上行广播包和未知包的接收端口为任意LAN设备,桥会将其依次转发至其它各个端口。这里仍然在钩子点对桥做出的每一个转发决定进行检查,并确认是否允许通过该钩子点。检查流程如图5所示:
(1)、如果出端口为wan,又如果入端口为二层端口则返回NF_ACCEPT,否则返回NF_DROP;如果出端口不为wan,则执行下一步;
(2)、如果入端口和出端口不是同种属性,则返回NF_DROP,否则执行下一步;
(3)、如果出、入端口均为三层端口,则返回NF_ACCEPT,否则执行下一步;
(4)、检查出、入端口是否隔离,如果隔离则返回NF_DROP,否则执行下一步;
(5)、检查出端口是否配置了TLS或全透传业务,如果配置了TLS或全透传业务则返回NF_ACCEPT,否则执行下一步;
(6)、获取数据包的vlan信息,如果vlan个数大于1,则返回NF_DROP;如果vlan个数为0,又如果入端口没有配置untag-->tag或untag-->tagQinQ业务,则返回NF_DROP,否则以入端口的untag业务vlan作为数据包的vlan域。
(7)、依次检查出端口所配置的untag或tag业务,判断出端口是否也处于数据包的vlan域,如果不是则返回NF_DROP,如果是则进行相应vlan处理后返回NF_ACCEPT。
本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

Claims (4)

1.ONU实现二层广播包和未知包转发的方法,其特征在于,包括以下步骤:
步骤A10、将ONU的LAN侧网卡及WAN侧网卡中的wan网卡分别下挂在PON芯片的LINUX软桥下,LINUX软桥的桥端口与硬桥的接口一一对应;
步骤A20、在PON芯片内核的软桥的钩子函数中添加上、下行广播包或未知包转发规则,实现根据VLAN信息对上、下行广播包和未知包的转发;
所述上、下行广播包或未知包转发规则为:若下行广播包和未知包的接收端口为网卡wan,则把该广播包和未知包依次转发至其它各个端口;若上行广播包和未知包的接收端口为任意LAN设备,则将其依次转发至其它各个端口;上行广播包和未知包在端口间的转发规则遵循vlan域的转发规则;
LAN侧网卡及WAN侧网卡均从CPU队列中读取数据包,并分配给不同的CPU队列,通过建立不同的CPU队列实现对不同数据包的区分;
上行广播包和未知包在端口间的转发规则遵循vlan域的转发规则如下:
如果端口配置了TLS业务、全透传业务、全透传QINQ业务之中的任意一条业务,那么所有数据均能转发到该端口;
如果端口配置了UNTAG-TAG业务或者UNTAG-TAGQINQ业务,那么只有属于该vlan域的数据包能够转发到该端口,并且以Untag形式发出;
如果端口配置一条VLAN透传业务,那么只有属于相应vlan域的数据包能够转发到该端口,并且以Tag形式从该端口发出;
untag数据包的vlan域由接收端口的pvid决定,默认端口的pvid只有在该端口配置了untag业务时存在,并且等于该untag业务的vlan;
以上转发规则只能在二层端口间,并且端口之间不隔离时生效;
端口vlan域转发只在出口做判断,任一端口都可接收任意vlan的数据包。
2.如权利要求1所述的ONU实现二层广播包和未知包转发的方法,其特征在于,在步骤A10中,
根据ONU承载的不同业务建立不同的网卡,并将ONU的LAN侧网卡及WAN侧网卡中的wan网卡分别下挂在PON芯片的LINUX软桥下;
网卡中数据包发送时,LAN设备的数据包直接发向相应的LAN口或PCI队列;WAN设备中的wan网卡将数据包直接发向相应的硬桥端口wan_bridged,其它的WAN设备将数据包发向PON口,同时会为数据包添加上VLAN,不同的网卡添加的VLAN值不同;
网卡采用中断加轮询方式接收数据包。
3.如权利要求1所述的ONU实现二层广播包和未知包转发的方法,其特征在于,
建立CPU队列的个数以及每个CPU队列的配置根据业务需要设定。
4.如权利要求1所述的ONU实现二层广播包和未知包转发的方法,其特征在于,在步骤A20中,
通过在LINUX协议栈桥模块的相应的Netfilter钩子点注册钩子函数来实现的上、下行广播包和未知包基于端口VLAN业务的转发,其中:
位于NF_BR_LOCAL_IN和NF_BR_LOCAL_OUT钩子点的函数,用于控制二层端口、三层端口的DHCP协议报文与本地DHCPserver交互,允许三层端口的DHCP协议报文通过,禁止二层端口的DHCP协议报文通过;
位于NF_BR_FORWARD钩子点的函数,用于实现上、下行广播包和未知包的VLAN域转发以及端口隔离;
位于NF_BR_POST_ROUTING钩子点的函数,用于实现对下行广播包基于端口的限速。
CN201310025398.XA 2013-01-22 2013-01-22 Onu实现二层广播包和未知包转发的方法 Active CN103023769B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310025398.XA CN103023769B (zh) 2013-01-22 2013-01-22 Onu实现二层广播包和未知包转发的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310025398.XA CN103023769B (zh) 2013-01-22 2013-01-22 Onu实现二层广播包和未知包转发的方法

Publications (2)

Publication Number Publication Date
CN103023769A CN103023769A (zh) 2013-04-03
CN103023769B true CN103023769B (zh) 2016-05-04

Family

ID=47971916

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310025398.XA Active CN103023769B (zh) 2013-01-22 2013-01-22 Onu实现二层广播包和未知包转发的方法

Country Status (1)

Country Link
CN (1) CN103023769B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701956B (zh) * 2014-01-06 2017-03-15 广东东研网络科技股份有限公司 一种olt与onu之间进行扩展通信的实现方法
CN104468405B (zh) * 2014-11-10 2018-03-30 上海市共进通信技术有限公司 吉比特无源光网络系统中实现网络物理端口汇聚的方法
CN105245431A (zh) * 2015-11-10 2016-01-13 上海斐讯数据通信技术有限公司 基于Lunix系统的VLAN实现方法及VLAN系统
CN105634985B (zh) * 2016-01-21 2018-10-09 烽火通信科技股份有限公司 一种FTTdp多DSL端口ONU业务流的处理方法
CN107154886A (zh) * 2016-03-03 2017-09-12 中兴通讯股份有限公司 一种节点设备及环网切换方法
CN107707481B (zh) * 2017-11-27 2020-07-31 上海市共进通信技术有限公司 基于Vnet路由器的支持Utag和Tag的WAN口的报文处理方法
CN110417603B (zh) * 2019-08-12 2022-09-23 上海市共进通信技术有限公司 基于pon上行家庭网关实现多wan连接业务处理的方法及其系统
CN113242478B (zh) * 2021-06-16 2022-03-25 烽火通信科技股份有限公司 一种实现pon通道和业务通道区分的方法与装置
CN117354395B (zh) * 2023-10-07 2024-10-22 深圳市西迪特科技股份有限公司 一种报文处理方法及网络设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079809A (zh) * 2007-06-12 2007-11-28 中兴通讯股份有限公司 一种吉比特无源光网络中的以太网业务处理方法
CN102684971A (zh) * 2012-05-28 2012-09-19 太仓市同维电子有限公司 VLAN功能实现方法及Linux系统局域网网关
CN102769557A (zh) * 2012-08-09 2012-11-07 深圳市共进电子股份有限公司 一种业务数据报文的传输方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101079809A (zh) * 2007-06-12 2007-11-28 中兴通讯股份有限公司 一种吉比特无源光网络中的以太网业务处理方法
CN102684971A (zh) * 2012-05-28 2012-09-19 太仓市同维电子有限公司 VLAN功能实现方法及Linux系统局域网网关
CN102769557A (zh) * 2012-08-09 2012-11-07 深圳市共进电子股份有限公司 一种业务数据报文的传输方法及装置

Also Published As

Publication number Publication date
CN103023769A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
CN103023769B (zh) Onu实现二层广播包和未知包转发的方法
US8842991B2 (en) Method of providing end-to end connection in a unified optical and coaxial network
TWI455501B (zh) 用以延伸乙太網路被動光學網路(epon)中之媒體存取控制(mac)控制訊息的設備
CN101836399B (zh) 转发循环预防设备及方法
CN104467951A (zh) 光网络单元管理方法及光网络单元
JP2004032780A (ja) イーサネット(登録商標)受動光加入者ネットワークシステム
US9413466B2 (en) Distributed pon transceiver architecture
JP2013503580A (ja) ブロードキャストパケット/マルチキャスト制御メッセージ処理方法及び装置
CN104125518A (zh) 一种利用无源光网络实现变电站内数据报文传输的方法
JP4416170B2 (ja) Eponにおけるマルチキャスト転送方法およびマルチキャスト転送装置
JPWO2005008965A1 (ja) 通信システム
CN101184023A (zh) 在gepon中实现组播vlan归并的方法及装置和光网络单元
CN202385092U (zh) 一种融合ptn和epon的电力通信平台
CN101883050B (zh) 一种实现业务限速的系统及方法
WO2015074275A1 (zh) 光线路终端、分配点单元、系统及数据流调度方法
CN101414955B (zh) 以太网无源光网络系统上虚拟局域网中数据流的控制方法
KR101753725B1 (ko) 광 인터넷망을 이용해 일반전화와 전용회선 서비스를 제공하는 시스템
WO2008141506A1 (fr) Procédé de protection de supports hétérogènes destinés à un réseau optique passif
CN109803322B (zh) 一种数据帧转发系统及方法
CN201004649Y (zh) 在gepon中实现组播vlan归并的装置
CN105490947B (zh) 基于传输设备ptn平面的广域保护对等通信系统及方法
CN101605275B (zh) 一种受控组播系统及其使用方法
CN104702477A (zh) 一种实现隧道保护的方法及装置、网络设备
CN103107961A (zh) 用于vlan的epon交换芯片端口配置方法
EP3041212B1 (en) Line digital signal processing device and method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant