CN103795633B - 一种二层转发方法及转发设备 - Google Patents
一种二层转发方法及转发设备 Download PDFInfo
- Publication number
- CN103795633B CN103795633B CN201210428209.9A CN201210428209A CN103795633B CN 103795633 B CN103795633 B CN 103795633B CN 201210428209 A CN201210428209 A CN 201210428209A CN 103795633 B CN103795633 B CN 103795633B
- Authority
- CN
- China
- Prior art keywords
- message
- vlan
- fdb
- tables
- mac
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种二层转发方法,上行报文或下行报文到达时,将所述报文携带的MAC地址、目的MAC地址、VLAN ID以及所述报文的入端口学习到FDB表中;以所述报文携带的目的MAC地址、源MAC地址为索引在FDB表中检索所述报文的出端口和出端口侧VLAN ID,并进行报文转发;相应的,本发明还公开了一种转发设备,采用本发明的技术方案,解决了现有二层转发设备对与智能终端相关的不同类型业务的报文,无法准确地进行二层转发的问题,避免了频繁的洪泛操作,节省了网络带宽。
Description
技术领域
本发明涉及通信系统中的报文转发技术领域,尤其涉及一种二层转发方法及转发设备。
背景技术
随着三网融合业务的推进,基于因特网的语音传输协议(VoIP,VoiceoverInternet Protocol)电话、个性化互动电视(IPTV,Interactive Personality TV)等业务不断发展,迫切需要发展能够支持同时发起PC上网、VoIP电话和IPTV等多种业务的终端设备的家庭网关。
目前,家庭网关对于上述智能终端的业务相关的报文,无法准确进行二层转发,只能进行频繁的洪泛操作,如此,将占用大量网络带宽,容易造成网路拥塞。
发明内容
有鉴于此,本发明的主要目的在于提供一种二层转发方法及转发设备,能够针对智能终端多种业务类型的报文,进行准确的二层转发,避免频繁洪泛操作,减小占用的网络带宽。
为达到上述目的,本发明的技术方案是这样实现的:
本发明公开了一种二层转发方法,该方法包括:
上行报文或下行报文到达时,将所述报文携带的源介质接入控制(MAC,MediaAccess Control)地址、目的MAC地址、虚拟局域网标识号(VLAN ID,Virtual LocalArea Network Identity)以及所述报文的入端口,学习到转发数据库(FDB,ForwardingData Base)表中;
以所述报文携带的目的MAC地址、源MAC地址为索引,在FDB表中检索所述报文的出端口和出端口侧VLAN ID,将携带出端口侧VLAN ID的所述报文,从检索到的出端口转发出去。
上述方案中,所述将报文携带的源MAC地址、目的MAC地址、VLAN ID以及所述报文的入端口学习到FDB表中,包括:
以所述报文携带的源MAC地址为索引在FDB表中建立FDB表项,保存所述报文携带的源MAC地址和所述报文入端口的映射关系;在上述FDB表项中,以所述报文携带的目的MAC地址为索引建立子表项,保存所述报文携带的目的MAC地址和VLAN ID的映射关系。
上述方案中,所述以报文携带的目的MAC地址、源MAC地址为索引在FDB表中检索所述报文的出端口和出端口侧VLAN ID,包括:
以所述报文携带的目的MAC地址为索引,在FDB表中检索对应的FDB表项,将检索到的FDB表项中的出端口作为所述报文的出端口;
以所述报文携带的源MAC地址为索引,在检索到的FDB表项中检索对应的子表项,将检索到的FDB子表项中的VLAN ID作为所述报文的出端口侧VLAN ID。
上述方案中,该方法还包括:
上行报文或下行报文到达时,将所述报文携带的VLAN ID学习到与所述报文的入端口维护的VLAN ID表中。
上述方案中,该方法还包括:
若所述报文为不携带VLAN ID的未打标签(Untag)报文,则将Untag信息作为VLANID,学习到为所述报文的入端口维护的VLAN ID表中。
上述方案中,所述以报文携带的目的MAC地址为索引,在FDB表中检索对应的FDB表项时,该方法还包括:
若没有检索到与所述报文携带的目的MAC地址对应的FDB表项,则检索为除所述报文入端口外的其他端口分别维护的VLAN ID表,以获取针对所述其他端口分别学习到的VLAN ID,分别通过所述其他端口,对应转发分别携带针对所述其他端口学习到的VLAN ID的所述报文。
上述方案中,所述以报文携带的源MAC地址为索引,在检索到的FDB表项中检索对应的子表项时,该方法还包括:
若在检索到的FDB表项中,但没有检索到与所述报文携带的源MAC地址对应的子表项,则检索为所述检索到的报文出端口维护的VLAN ID表,以获取针对所述报文出端口学习到的VLAN ID,通过所述报文出端口,转发分别携带针对所述报文出端口学习到的VLAN ID的所述报文。
本发明还公开了一种二层转发设备,该二层转发设备包括:接收单元、存储单元、学习单元、检索单元和转发单元;其中,
所述接收单元,用于接收上行报文或下行报文;
所述存储单元,用于存储FDB表;
所述学习单元,用于在接收单元接收到上行报文或下行报文时,将所述报文携带的源MAC地址、目的MAC地址、VLAN ID以及所述报文的入端口学习到存储单元存储的FDB表中;
所述检索单元,用于在接收单元接收到上行报文或下行报文时,以所述报文携带的目的MAC地址、源MAC地址为索引,在存储单元保存的FDB表中检索所述报文的出端口和出端口侧VLAN ID;
所述转发单元,用于在检索单元检索到出端口和出端口侧VLAN ID时,将携带出端口侧VLAN ID的所述报文,从检索到的出端口转发出去。
上述方案中,所述学习单元,具体用于在接收单元接收到上行报文或下行报文时,将所述报文携带的源MAC地址和所述报文入端口的映射关系,学习到存储单元保存的FDB表的、以所述报文携带的源MAC地址为索引建立的FDB表项中;将所述报文携带的目的MAC地址和VLAN ID的映射关系,学习到上述FDB表项的、以所述报文携带的目的MAC地址为索引建立的子表项中。
上述方案中,
所述检索单元,具体用于在接收单元接收到上行报文或下行报文时,以所述报文携带的目的MAC地址为索引,在存储单元保存的FDB表中检索对应的FDB表项,以获取所述报文的出端口;
以所述报文携带的源MAC地址为索引,在检索到的FDB表项中检索对应的子表项,以获取所述报文的出端口侧VLAN ID。
上述方案中,
所述存储单元,还用于存储VLAN ID表;
所述学习单元,还用于在接收单元接收到上行报文或下行报文时,将所述报文携带的VLAN ID学习到存储单元保存的、为所述报文的入端口维护的VLAN ID表中。
上述方案中,
所述学习单元,还用于在所述报文为不携带VLAN ID的Untag报文时,将Untag信息作为VLAN ID学习到存储单元保存的、为所述报文的入端口维护的VLAN ID表中。
上述方案中,
所述检索单元,还用于在以所述报文携带的目的MAC地址为索引,在存储单元保存的FDB表中,没有检索到与所述报文携带的目的MAC地址对应的FDB表项时,在存储单元中,检索为除所述报文入端口外的其他端口维护的VLAN ID表,以获取针对所述其他端口分别学习到的VLAN ID;
所述转发单元,还用于在检索单元检索到针对所述其他端口各自学习到的VLANID时,分别通过所述其他端口,对应转发携带针对所述其他端口分别学习到的VLAN ID的所述报文。
上述方案中,
所述检索单元,还用于在以报文携带的源MAC地址为索引,在检索到的FDB表项中,没有检索到与所述报文携带的源MAC地址对应的子表项时,在存储单元中,检索为所述报文出端口维护的VLAN ID表,以获取所述报文出端口学习到的VLAN ID;
所述转发单元,还用于在检索单元检索到针对所述报文出端口学习到的VLAN ID时,通过所述报文出端口,转发分别携带针对所述报文出端口学习到的VLAN ID的所述报文。
本发明所提供的技术方案中,转发设备接收上行报文或下行报文时,将所述报文携带的源介质访问控制(MAC,Media Access Control)地址、目的MAC地址、虚拟局域网标识号(VLAN ID,Virtual Local Area Network Identity)、以及所述报文的入端口,学习到转发数据库(FDB,Forwarding Data Base)表中;后续接收到与所述报文源MAC地址和目的MAC地址相颠倒的报文时,以所述后续报文的目的MAC地址、源MAC地址为索引,在FDB表中检索所述后续报文的出端口和出端口侧VLAN ID,通过检索到的出端口,转发携带检索到的出端口VLAN ID的所述后续报文。如此,针对与智能终端相关的不同VLAN ID的报文,可准确地进行二层转发,避免了频繁的洪泛操作,节省了网络带宽。
附图说明
图1为本发明二层转发方法的实现流程示意图;
图2为本发明二层转发设备的组成结构示意图;
图3为本发明二层转发设备转发实施例的实现流程示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图1所示为本发明二层转发方法的实现流程示意图,如图1所示,该方法包括:
步骤101:上行报文或下行报文到达时,将所述报文携带的源MAC地址、目的MAC地址、VLAN ID以及所述报文的入端口,学习到FDB表中;
具体的,上行报文或下行报文到达时,以所述报文携带的源MAC地址为索引在FDB表中建立FDB表项,保存所述报文携带的源MAC地址和所述报文入端口的映射关系;在上述FDB表项中,以所述报文携带的目的MAC地址为索引建立子表项,保存所述报文携带的目的MAC地址和VLAN ID的映射关系。
其中,所述上行报文为用户侧发起,经过二层转发设备转发,向交换网络侧方向传输的报文;所述下行报文为交换网络侧发起,经过转发设备转发,向用户侧方向传输的报文。
上述步骤中,上行报文或下行报文到达时,将所述到达报文携带的源MAC地址和所述到达报文的入端口,对应作为与所述到达报文的源MAC地址和目的MAC地址相颠倒的报文的目的MAC地址和出端口,并将所述到达报文携带的源MAC地址和所述到达报文的入端口的映射关系,学习到FDB表,以所述到达报文携带的源MAC地址为索引建立的FDB表项中;
将所述到达报文携带的目的MAC地址和VLAN ID,对应作为与所述到达报文的源MAC地址和目的MAC地址相颠倒的报文的源MAC地址和出端口侧VLAN ID,并将所述到达报文携带的目的MAC地址和VLAN ID的映射关系,学习到以所述到达报文的目的MAC地址为索引建立的子表项中。
进一步地,上行报文或下行报文到达时,还包括以下处理流程:
将所述报文携带的VLAN ID学习到为所述报文的入端口维护的VLAN ID表中,具体为何建立VLAN ID表将在步骤102中详细说明;
特别地,若所述报文为不携带VLAN ID的未打标签(Untag)报文,则将Untag信息作为VLAN ID学习到为所述报文的入端口维护的VLAN ID表中;这里,所述Untag报文为不含有VLAN标签(Tag)字段的报文,VLAN Tag为电气和电子工程师协会(IEEE,Institute ofElectrical and Electronics Engineers)802.1Q定义的在报文中封装VLAN ID的字段的名称。
上述将报文携带的VLAN ID学习到为所述报文的入端口维护的VLAN ID表中的流程中,所述报文包括单播报文和广播报文。
进一步地,所述针对FDB表的学习流程,遵循老化机制,即:上行报文或下行报文到达时,若所述报文携带的MAC地址、目的MAC地址、VLAN ID以及所述报文的入端口,已经对应学习到FDB表的表项中,则延长所述表项的老化时间;
相应地,所述针对VLAN ID表的学习流程,也遵循老化机制;所述遵循老化机制具体包括:上行报文或下行报文到达时,若所述报文携带的VLAN ID,已经学习到为所述报文入端口维护的VLAN ID表中,则延长所述VLAN ID表的老化时间。
步骤102:以所述报文携带的目的MAC地址、源MAC地址为索引在FDB表中检索所述报文的出端口和出端口侧VLAN ID,将携带出端口侧VLAN ID的所述报文,从检索到的出端口转发出去。
其中,所述以报文携带的目的MAC地址、源MAC地址为索引在FDB表中检索所述报文的出端口和出端口侧VLAN ID,具体为:
以所述报文携带的目的MAC地址为索引,在FDB表中检索对应的FDB表项,将检索到的FDB表项中的出端口作为所述报文的出端口;
以所述报文携带的源MAC地址为索引,在检索到的FDB表项中检索对应的子表项,将检索到的FDB子表项中的VLAN ID作为所述报文的出端口侧VLAN ID。
上述流程中,所述以报文携带的目的MAC地址为索引,在FDB表中检索对应的FDB表项时,
若所述报文为交换网络侧设备发送的广播报文,由于网络中不会有源MAC地址为48位全1的广播地址的报文,导致无法学习到针对目的MAC地址48位全1的广播报文转发的FDB表项,因此,以所述广播报文携带的全1的目的MAC地址为索引,在FDB表中将无法检索对应的FDB表项,那么,当所述广播报文到达交换网络侧端口时,该广播报文将携带上运行商预先为网络侧端口分配的交换网络侧VLAN ID,并转发出去;但当所述广播报文到达用户侧端口时,由于无法检索FDB表,所以,无法携带用户侧VLAN ID以进行准确转发;
若所述报文为未知单播报文,以所述单播报文携带的目的MAC地址为索引,在FDB表中将无法检索对应的FDB表项,按照现有技术的规程,针对该报文进行端口洪泛操作,即:该报文将被通过除入端口外的其他端口转发出去;当所述单播报文到达交换网络侧的端口时,该单播报文将携带上运行商预先为网络侧端口分配的交换网络侧VLAN ID,并转发出去;当所述单播报文到达用户侧端口时,由于无法检索FDB表,所以,无法携带用户侧VLANID以进行准确转发,只能进行洪泛操作。
进一步地,为解决上述报文无法准确转发的问题,以及减少频繁的报文洪泛操作,本步骤中,还包括以下处理流程:
若没有检索到与所述报文携带的目的MAC地址对应的FDB表项,则检索为除所述报文入端口外的其他端口分别维护的VLAN ID表,以获取针对所述其他端口分别学习到的VLAN ID,分别通过所述其他端口,对应转发分别携带针对所述其他端口学习到的VLAN ID的所述报文;
特别地,若为除所述报文入端口外的某端口维护的VLAN ID表中含有Untag信息,则通过所述端口,转发不携带VLAN ID的Untag报文。
上述流程中,所述以报文携带的源MAC地址为索引,在检索到的FDB表项的子表项中检索对应的VLAN ID时,
若所述报文为针对发起业务的广播报文首次响应的下行单播报文,由于网络中不会有源MAC地址为广播地址的报文,因此,步骤101中,只将所述广播报文的源MAC地址和入端口的映射关系,学习到以所述源MAC地址为索引建立的FDB表项中,不会将所述广播报文48位全1的目的MAC地址及VLANID的映射关系,学习到所述FDB表项的子表项中,如此,在步骤102中,以所述下行单播报文的源MAC地址为索引,在以所述单播下行报文的目的MAC地址为索引建立的FDB表项中,将无法检索到与所述下行单播报文的源MAC地址对应的子表项,导致所述下行单播报文将不能携带出端口侧VLAN ID以进行准确转发。
进一步地,本步骤中,还包括以下处理流程:
以所述报文携带的源MAC地址为索引,在检索到的FDB表项的子表项中没有检索对应的VLAN ID,则检索为所述报文出端口维护的VLAN ID表,以获取针对所述报文出端口学习到的VLAN ID,通过所述报文出端口,转发分别携带针对所述报文出端口学习到的VLANID的所述报文;
特别地,若为所述报文出端口维护的VLAN ID表中含有Untag信息,则通过所述报文出端口,转发不携带VLAN ID的Untag报文。
图2为本发明家庭网关的组成结构示意图,如图2所示,该家庭网关包括:接收单元21、存储单元22、学习单元23、检索单元24和转发单元25;其中,
接收单元21,用于接收上行报文或下行报文;
存储单元22,用于存储FDB表;
学习单元23,用于在接收单元21接收到上行报文或下行报文时,将所述报文携带的源MAC地址、目的MAC地址、VLAN ID以及所述报文的入端口,学习到存储单元22存储的FDB表中;
检索单元24,用于在接收单元21接收到上行报文或下行报文时,以所述报文携带的目的MAC地址、源MAC地址为索引,在存储单元22保存的FDB表中检索所述报文的出端口和出端口侧VLAN ID;
转发单元25,用于在检索单元24检索到出端口和出端口侧VLAN ID时,将携带出端口侧VLAN ID的所述报文,从检索到的出端口转发出去。
具体地,学习单元23,用于在接收单元21接收到上行报文或下行报文时,将所述报文携带的源MAC地址和所述报文入端口的映射关系,学习到存储单元22保存的FDB表的、以所述报文携带的源MAC地址为索引建立的FDB表项中;将所述报文携带的目的MAC地址和VLAN ID的映射关系,学习到上述FDB表项的、以所述报文携带的目的MAC地址为索引建立的子表项中。
具体地,检索单元24,用于在接收单元21接收到上行报文或下行报文时,以所述报文携带的目的MAC地址为索引,在存储单元22保存的FDB表中检索对应的FDB表项,以获取所述报文的出端口;
以所述报文携带的源MAC地址为索引,在检索到的FDB表项中检索对应的子表项,以获取所述报文的出端口侧VLAN ID。
进一步地,存储单元22,还用于存储VLAN ID表;
相应的,学习单元23,还用于在接收单元21接收到上行报文或下行报文时,将所述报文携带的VLAN ID学习到存储单元22保存的、为所述报文的入端口维护的VLAN ID表中。
进一步地,学习单元23,还用于在所述报文为不携带VLAN ID的Untag报文时,将Untag信息作为VLAN ID,学习到存储单元22保存的、为所述报文的入端口维护的VLAN ID表中。
进一步地,检索单元24,还用于在以所述报文携带的目的MAC地址为索引,在存储单元22保存的FDB表中,没有检索到与所述报文携带的目的MAC地址对应的FDB表项时,在存储单元22中,检索为除所述报文入端口外的其他端口维护的VLAN ID表,以获取学习单元23针对所述其他端口分别学习到的VLAN ID;
所述转发单元25,还用于在检索单元24检索到针对所述其他端口分别学习到的VLAN ID时,分别通过所述其他端口,对应转发携带所述其他端口分别学习到的VLAN ID的所述报文。
进一步地,检索单元24,还用于在以报文携带的源MAC地址为索引,在检索到的FDB表项中,没有检索到与所述报文携带的源MAC地址对应的子表项时,在存储单元22中,检索为所述报文出端口维护的VLAN ID表,以获取学习单元23针对所述报文出端口学习到的VLAN ID;
转发单元25,还用于在检索单元24检索到针对所述报文出端口学习到的VLAN ID时,通过所述报文出端口,转发分别携带针对所述报文出端口学习到的VLAN ID的所述报文。
实施例
本实施例中,二层转发设备具体为家庭网关,家庭网关下挂智能终端,该智能终端可开展上网业务和IPTV业务,针对上述业务的上行报文和下行报文,本实施例描述的是从家庭网关下挂设备首次发起业务开始,至家庭网关针对所述业务的上行报文和下行报文完整学习到FDB表的过程,该过程中,家庭网关进行二层转发的流程如图3所示,包括:
步骤301:智能终端广播针对上网业务和IPTV业务的上行报文;
这里,所述业务首次发起时,智能终端本地没有对应交换网络侧设备的MAC地址,因此,将所述上行报文的目的MAC地址字段携带48位全1的广播地址,发往家庭网关,以通过家庭网关广播所述上行报文。
其中,所述上行报文的源MAC地址字段携带智能终端的MAC地址MAC-1,所述针对上网业务的上行报文为不携带VLAN ID的Untag报文,针对IPTV业务的上行报文携带的VLANID为VLAN-ID-IPTV,如此,可通过用户侧报文携带的VLAN ID区分业务类型,若报文为不携带VLAN ID的Untag报文,则所述报文为针对上网业务的报文。
步骤302:家庭网关接收上行报文,进行FDB表和VLAN ID表的学习,并转发所述上行报文;
这里,所述家庭网关接收上行报文时,进行FDB表的学习,具体为:
将上行报文携带的源MAC地址MAC-1以及所述上行报文的入端口Port-1的映射关系,学习到FDB表以MAC-1为索引建立的FDB表项中;
其中,所述上行报文的目的MAC为广播地址,因此,不会将所述上行报文携带的目的MAC地址及VLAN ID的映射关系,学习到所述FDB表项的子表项中。
这里,所述家庭网关接收上行报文时,进行VLAN ID表的学习,具体为:
将针对IPTV业务的上行报文携带的VLAN-ID-IPTV,以及针对上网业务的上行报文的Untag信息,学习到为端口Port-1维护的VLAN ID表中。
这里,所述家庭网关转发上行报文,具体为:
由于所述上行报文为广播报文,且业务首次发起时FDB表为空,因此,将针对所述上行报文进行端口洪泛,即:将所述上行报文通过入端口Port-1外的其他端口转发出去;并且,当所述上行报文到达家庭网关交换网络侧端口时,将携带上为所述交换网络侧端口预先分配的交换网络侧VLAN ID,并通过所述交换网路侧端口转发出去;其中,所述交换网络侧的端口分配唯一且不同的交换网络侧VLAN ID,且所述交换网络侧VLAN ID为运营商根据不同的业务类型预先分配。
步骤303:家庭网关接收下行报文,进行FDB表和VLAN ID表的学习,并转发所述下行报文;
这里,家庭网关通过交换网络侧端口Port-2和端口Port-3,对应接收针对上网业务的下行报文和响应IPTV业务的下行报文,所述针对上网业务和IPTV业务的下行报文,对应将交换网侧响应上网业务和IPTV业务的设备的MAC地址MAC-2、MAC-3作为源MAC地址携带,对应携带VLAN-ID-Port-2和VLAN-ID-Port-3,并分别将智能终端的MAC地址MAC-1作为目的MAC地址携带,其中,所述VLAN-ID-Port-2和VLAN-ID-Port-3为对应分配给端口Port-2、Port-3的交换网络侧VLAN ID。
这里,所述家庭网关接收下行报文时,进行FDB表的学习,具体为:
将针对上网业务的下行报文携带的源MAC地址MAC-2和所述下行报文的入端口Port-2的映射关系,学习到FDB表以MAC-2为索引建立的FDB表项中;并在所述FDB表项中,将所述下行报文携带的的目的MAC地址MAC-1和VLAN-ID-Port-2的映射关系,学习到所述FDB表项中以MAC-1为索引建立的子表项中;
将针对IPTV业务的下行报文携带的源MAC地址MAC-3和所述下行报文的入端口Port-3的映射关系,学习到FDB表以MAC-3为索引建立的FDB表项中;并在所述FDB表项中,将所述下行报文携带的的目的MAC地址MAC-1和VLAN-ID-Port-3的映射关系,学习到所述FDB表项中以MAC-1为索引建立的子表项中。
这里,所述家庭网关接收下行报文时,进行VLAN ID表的学习,具体为:
将针对上网业务的下行报文携带的VLAN-ID-Port-2,学习到为端口Port-2维护的VLAN ID表中;
将针对IPTV业务的下行报文携带的VLAN-ID-Port-3,学习到为端口Port-3维护的VLAN ID表中。
这里,所述家庭网关转发下行报文,具体为:
以针对上网业务的下行报文携带的目的MAC地址MAC-1为索引,在FDB表中检索对应的FDB表项,步骤302中,已经在FDB表中建立以MAC-1为索引FDB表项,此时检索到所述下行报文的出端口Port-1;
由于步骤302中,在所述FDB表项中没有建立子表项,此时以所述下行报文的源MAC地址MAC-2为索引,将无法检索到所述下行报文的出端口侧VLAN ID,则根据步骤302中,针对端口Port-1,已经学习到VLAN ID表中的VLAN-ID-IPTV和Untag信息,进行如下操作:
通过端口Port-1,转发携带VLAN-ID-IPTV的下行报文,以及不携带VLANID的Untag下行报文。
如此,可保证智能终端接收到针对上网业务的下行报文。
相应地,转发针对IPTV业务的下行报文时,以针对IPTV业务的下行报文携带的目的MAC地址MAC-1为索引,在FDB表中检索对应的FDB表项,步骤302中,已经在FDB表中建立以MAC-1为索引FDB表项,此时将检索到所述下行报文的出端口Port-1;
由于步骤302中,在所述FDB表项中没有建立子表项,此时以所述下行报文的源MAC地址MAC-3为索引,将无法检索到所述下行报文的出端口侧VLAN ID,则根据步骤302中,针对端口Port-1,已经学习到VLAN ID表中的VLAN-ID-IPTV和Untag信息,进行如下操作:
通过端口Port-1,转发携带VLAN-ID-IPTV的下行报文,以及不携带VLANID的Untag下行报文。
如此,可保证智能终端接收到针对IPTV业务的下行报文。
步骤304:智能终端发送针对上网业务和IPTV业务的上行报文;
这里,所述上行报文为智能终端在接收到家庭网关转发的针对上网业务和IPTV业务的下行报文之后,发送的上行报文。
步骤303中,智能终端接收到针对上网业务和IPTV业务的下行报文时,从接收到的报文中得知对应上网业务和IPTV业务的交换网络侧设备的MAC地址分别为MAC-2和MAC-3,因此,本步骤中,智能终端发送的针对上网业务和IPTV业务的上行报文,对应携带的目的MAC地址为MAC-2和MAC-3,所述针对上网业务和IPTV业务的上行报文携带的源MAC地址和VLAN ID与步骤301所述相同。
步骤305:家庭网关接收上行报文,进行FDB表和VLAN ID表的学习,并转发所述上行报文;
这里,所述家庭网关接收上行报文时,进行FDB表的学习,具体为:
家庭网关根据针对上网业务的上行报文携带的目的MAC地址MAC-2和Untag信息,在步骤302中已经建立的、以所述上行报文携带的源MAC地址MAC-1为索引的FDB表项中,以MAC-2为索引建立子表项,保存MAC-2和Untag信息的映射关系;
家庭网关根据针对IPTV业务的上行报文携带的目的MAC地址MAC-3和VLAN-ID-IPTV,在在步骤302中已经建立的、以所述上行报文携带的源MAC地址MAC-1为索引的FDB表项中,以MAC-3为索引建立子表项,保存MAC-3和VLAN-ID-IPTV的映射关系。
这里,所述家庭网关接收上行报文时,进行VLAN ID表的学习,具体为:
发现针对IPTV业务的上行报文携带的VLAN-ID-IPTV,以及针对上网业务的上行报文的Untag信息,已经学习到为端口Port-1维护的VLAN ID表中,则延长所述VLAN ID表的老化时间。
这里,所述家庭网关转发上行报文,具体为:
以针对上网业务的上行报文携带的目的MAC地址MAC-2为索引,在FDB表中检索对应的FDB表项,步骤303中,已经在FDB表中建立以MAC-2为索引的FDB表项,此时检索到所述上行报文的出端口Port-2;
以针对上网业务的上行报文携带的源MAC地址MAC-1为索引,在所述检索到的FDB表项中检索对应的子表项,此时检索到所述上行报文的出端口侧VLAN ID为VLAN-ID-Port-2;
通过检索到的出端口Port-2,转发携带VLAN-ID-Port-2的所述上行报文;
相应的,可检索到针对IPTV业务的上行报文的出端口为Port-3,以及所述上行报文的出端口侧VLAN ID为VLAN-ID-Port-3,则通过检索到的出端口Port-3,转发携带VLAN-ID-Port-3的所述上行报文。
步骤306:家庭网关接收下行报文,进行FDB表和VLAN ID表的学习,并转发所述下行报文;
这里,所述下行报文为针对步骤305中上行报文进行响应的报文,包括针对上网业务和IPTV业务进行响应的下行报文,所述针对上网业务和IPTV业务进行响应的下行报文,对应将交换网侧响应上网业务和IPTV业务的设备的MAC地址MAC-2、MAC-3作为源MAC地址携带,对应携带VLAN-ID-Port-2和VLAN-ID-Port-3,并同时将智能终端的MAC地址MAC-1作为目的MAC地址携带。
这里,所述家庭网关接收下行报文时,进行FDB表的学习,具体为:
发现所述下行报文的携带的源MAC地址、目的MAC地址、VLAN ID以及所述下行报文的入端口,在步骤303中,已经对应学习到FDB表的表项中,则延长所述FDB表项的老化时间。
这里,所述家庭网关接收下行报文时,进行VLAN ID表的学习,具体为:
针对上网业务的下行报文携带的VLAN-ID-Port-2,已经学习到为端口Port-2维护的VLAN ID表中,则延长所述VLAN ID表的老化时间;
针对IPTV业务的下行报文携带的VLAN-ID-Port-3,已经学习到为端口Port-3维护的VLAN ID表中,则延长所述VLAN ID表的老化时间。
这里,所述家庭网关转发下行报文,具体为:
以针对上网业务的下行报文携带的目的MAC地址MAC-1为索引,在FDB表中检索对应的FDB表项,步骤302中,已经在FDB表中建立以MAC-1为索引FDB表项,此时检索到所述下行报文的出端口Port-1;
以针对上网业务的下行报文携带的源MAC地址MAC-2为索引,在所述检索到FDB表项中检索对应的子表项,步骤305中,已经在所述检索到的FDB表项的子表项中,保存MAC-2和Untag信息的映射关系,此时检索到所述下行报文应当为不携带VLAN ID的Untag报文;
通过检索到的出端口Port-1,转发不携带VLAN ID的所述下行报文;
相应的,可检索到针对IPTV业务的下行报文的出端口为Port-1,以及所述下行报文的出端口侧VLAN ID为VLAN-ID-IPTV,则通过检索到的出端口Port-3,转发携带VLAN-ID-IPTV的所述下行报文。
步骤307:家庭网关接收上行报文,进行FDB表和VLAN ID表的学习,并转发所述上行报文。
这里,所述家庭网关接收上行报文时,进行FDB表的学习,具体为:
由于步骤305中,已将所述上行报文的携带的源MAC地址、目的MAC地址、VLAN ID以及所述上行报文的入端口,完整学习到FDB表对应的表项中,此时,将延长所述FDB表项的老化时间。
这里,所述家庭网关接收上行报文时,进行VLAN ID表的学习,具体为:
发现针对IPTV业务的上行报文携带的VLAN-ID-IPTV,以及针对上网业务的上行报文的Untag信息,已经学习到为端口Port-1维护的VLAN ID表中,则延长所述VLAN ID表的老化时间。
这里,所述家庭网关转发上行报文,具体为:
以针对上网业务的上行报文携带的目的MAC地址MAC-2为索引,在FDB表中检索对应的FDB表项,步骤303中,已经在FDB表中建立以MAC-2为索引的FDB表项,此时检索到所述上行报文的出端口Port-2;
以针对上网业务的上行报文携带的源MAC地址MAC-1为索引,在所述检索到的FDB表项中检索对应的子表项,此时检索到所述上行报文的出端口侧VLAN ID为VLAN-ID-Port-2;
通过检索到的出端口Port-2,转发携带VLAN-ID-Port-2的所述上行报文;
相应的,可检索到针对IPTV业务的上行报文的出端口为Port-3,以及所述上行报文的出端口侧VLAN ID为VLAN-ID-Port-3,则通过检索到的出端口Port-3,转发携带VLAN-ID-Port-3的所述上行报文。
通过步骤301~305,家庭网关已经针对上网业务和IPTV业务的上行报文和下行报文完整进行了FDB表和VLAN ID表的学习,后续接收到上行报文或下行报文时,重复执行步骤306和步骤307,即可实现对上行报文或下行报文的准确二层转发,其中,步骤306和步骤307没有先后顺序的限制。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (12)
1.一种二层转发方法,其特征在于,该方法包括:
上行报文或下行报文到达时,将所述报文携带的源介质接入控制MAC地址、目的MAC地址、入端口侧虚拟局域网标识号VLAN ID以及所述报文的入端口,学习到转发数据库FDB表中;
以所述报文携带的目的MAC地址、源MAC地址为索引,在FDB表中检索所述报文的出端口和出端口侧VLAN ID,将携带出端口侧VLAN ID的所述报文,从检索到的出端口转发出去;
所述将报文携带的源MAC地址、目的MAC地址、入端口侧VLAN ID以及所述报文的入端口学习到FDB表中,包括:
以所述报文携带的源MAC地址为索引在FDB表中建立FDB表项,保存所述报文携带的源MAC地址和所述报文入端口的映射关系;在上述FDB表项中,以所述报文携带的目的MAC地址为索引建立子表项,保存所述报文携带的目的MAC地址和入端口侧VLAN ID的映射关系。
2.根据权利要求1所述的方法,其特征在于,所述以报文携带的目的MAC地址、源MAC地址为索引在FDB表中检索所述报文的出端口和出端口侧VLAN ID,包括:
以所述报文携带的目的MAC地址为索引,在FDB表中检索对应的FDB表项,将检索到的FDB表项中的出端口作为所述报文的出端口;
以所述报文携带的源MAC地址为索引,在检索到的FDB表项中检索对应的子表项,将检索到的FDB子表项中的VLAN ID作为所述报文的出端口侧VLAN ID。
3.根据权利要求2所述的方法,其特征在于,该方法还包括:
上行报文或下行报文到达时,将所述报文携带的入端口侧VLAN ID学习到与所述报文的入端口维护的VLAN ID表中。
4.根据权利要求3所述的方法,其特征在于,该方法还包括:
若所述报文为不携带VLAN ID的未打标签Untag报文,则将Untag信息作为VLAN ID,学习到为所述报文的入端口维护的VLAN ID表中。
5.根据权利要求3或4所述的方法,其特征在于,所述以报文携带的目的MAC地址为索引,在FDB表中检索对应的FDB表项时,该方法还包括:
若没有检索到与所述报文携带的目的MAC地址对应的FDB表项,则检索为除所述报文入端口外的其他端口分别维护的VLAN ID表,以获取针对所述其他端口分别学习到的VLANID,分别通过所述其他端口,对应转发分别携带针对所述其他端口学习到的VLAN ID的所述报文。
6.根据权利要求3或4所述的方法,其特征在于,所述以报文携带的源MAC地址为索引,在检索到的FDB表项中检索对应的子表项时,该方法还包括:
若在检索到的FDB表项中,但没有检索到与所述报文携带的源MAC地址对应的子表项,则检索为所述检索到的报文出端口维护的VLAN ID表,以获取针对所述报文出端口学习到的VLAN ID,通过所述报文出端口,转发分别携带针对所述报文出端口学习到的VLAN ID的所述报文。
7.一种二层转发设备,其特征在于,该二层转发设备包括:接收单元、存储单元、学习单元、检索单元和转发单元;其中,
所述接收单元,用于接收上行报文或下行报文;
所述存储单元,用于存储FDB表;
所述学习单元,用于在接收单元接收到上行报文或下行报文时,将所述报文携带的源MAC地址、目的MAC地址、入端口侧VLAN ID以及所述报文的入端口学习到存储单元存储的FDB表中;
所述检索单元,用于在接收单元接收到上行报文或下行报文时,以所述报文携带的目的MAC地址、源MAC地址为索引,在存储单元保存的FDB表中检索所述报文的出端口和出端口侧VLAN ID;
所述转发单元,用于在检索单元检索到出端口和出端口侧VLAN ID时,将携带出端口侧VLAN ID的所述报文,从检索到的出端口转发出去;
所述学习单元,具体用于在接收单元接收到上行报文或下行报文时,将所述报文携带的源MAC地址和所述报文入端口的映射关系,学习到存储单元保存的FDB表的、以所述报文携带的源MAC地址为索引建立的FDB表项中;将所述报文携带的目的MAC地址和入端口侧VLAN ID的映射关系,学习到上述FDB表项的、以所述报文携带的目的MAC地址为索引建立的子表项中。
8.根据权利要求7所述的二层转发设备,其特征在于,
所述检索单元,具体用于在接收单元接收到上行报文或下行报文时,以所述报文携带的目的MAC地址为索引,在存储单元保存的FDB表中检索对应的FDB表项,以获取所述报文的出端口;
以所述报文携带的源MAC地址为索引,在检索到的FDB表项中检索对应的子表项,以获取所述报文的出端口侧VLAN ID。
9.根据权利要求8所述的二层转发设备,其特征在于,
所述存储单元,还用于存储VLAN ID表;
所述学习单元,还用于在接收单元接收到上行报文或下行报文时,将所述报文携带的入端口侧VLAN ID学习到存储单元保存的、为所述报文的入端口维护的VLAN ID表中。
10.根据权利要求8所述的二层转发设备,其特征在于,
所述学习单元,还用于在所述报文为不携带VLAN ID的Untag报文时,将Untag信息作为VLAN ID学习到存储单元保存的、为所述报文的入端口维护的VLAN ID表中。
11.根据权利要求9或10所述的二层转发设备,其特征在于,
所述检索单元,还用于在以所述报文携带的目的MAC地址为索引,在存储单元保存的FDB表中,没有检索到与所述报文携带的目的MAC地址对应的FDB表项时,在存储单元中,检索为除所述报文入端口外的其他端口维护的VLAN ID表,以获取针对所述其他端口分别学习到的VLAN ID;
所述转发单元,还用于在检索单元检索到针对所述其他端口各自学习到的VLAN ID时,分别通过所述其他端口,对应转发携带针对所述其他端口分别学习到的VLAN ID的所述报文。
12.根据权利要求9或10所述的二层转发设备,其特征在于,
所述检索单元,还用于在以报文携带的源MAC地址为索引,在检索到的FDB表项中,没有检索到与所述报文携带的源MAC地址对应的子表项时,在存储单元中,检索为所述报文出端口维护的VLAN ID表,以获取所述报文出端口学习到的VLAN ID;
所述转发单元,还用于在检索单元检索到针对所述报文出端口学习到的VLAN ID时,通过所述报文出端口,转发分别携带针对所述报文出端口学习到的VLAN ID的所述报文。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210428209.9A CN103795633B (zh) | 2012-10-31 | 2012-10-31 | 一种二层转发方法及转发设备 |
PCT/CN2013/082307 WO2014067328A1 (zh) | 2012-10-31 | 2013-08-26 | 二层转发方法及转发设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210428209.9A CN103795633B (zh) | 2012-10-31 | 2012-10-31 | 一种二层转发方法及转发设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103795633A CN103795633A (zh) | 2014-05-14 |
CN103795633B true CN103795633B (zh) | 2017-05-31 |
Family
ID=50626425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210428209.9A Expired - Fee Related CN103795633B (zh) | 2012-10-31 | 2012-10-31 | 一种二层转发方法及转发设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103795633B (zh) |
WO (1) | WO2014067328A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104506437B (zh) * | 2014-12-29 | 2018-08-24 | 新华三技术有限公司 | 一种表项建立方法及装置 |
CN105681194A (zh) * | 2016-03-14 | 2016-06-15 | 上海市共进通信技术有限公司 | 实现网关设备二层数据包快速转发的方法 |
CN108418741A (zh) * | 2018-03-07 | 2018-08-17 | 山东超越数控电子股份有限公司 | 一种基于vlan id字段的扩展vlan策略划分方法 |
CN111556102B (zh) * | 2020-04-14 | 2023-02-28 | 深圳震有科技股份有限公司 | 一种数据通道建立方法、以太网交换机及存储介质 |
CN115118546A (zh) * | 2022-06-15 | 2022-09-27 | 浪潮思科网络科技有限公司 | 一种私有虚拟局域网的实现方法、装置、系统及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845531A (zh) * | 2006-04-28 | 2006-10-11 | 杭州华为三康技术有限公司 | 一种数据转发控制方法和装置 |
CN101056267A (zh) * | 2007-05-15 | 2007-10-17 | 杭州华三通信技术有限公司 | 二层转发方法及转发设备 |
CN101110721A (zh) * | 2006-07-18 | 2008-01-23 | 中兴通讯股份有限公司 | 利用以太网交换机媒体接入控制地址表空间的方法 |
CN101110771A (zh) * | 2007-08-09 | 2008-01-23 | 福建星网锐捷网络有限公司 | 在fdb表中添加下一跳mac地址的方法及fdb设备 |
CN101286990A (zh) * | 2008-05-27 | 2008-10-15 | 中兴通讯股份有限公司 | 二层组播的转发方法和装置 |
CN101510882A (zh) * | 2009-04-01 | 2009-08-19 | 杭州华三通信技术有限公司 | 一种媒体访问控制地址学习方法和装置 |
CN101783769A (zh) * | 2010-03-16 | 2010-07-21 | 杭州华三通信技术有限公司 | 链路故障时报文转发的方法和设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100776787B1 (ko) * | 2005-09-05 | 2007-11-19 | 한국전자통신연구원 | 이더넷 수동 광 가입자망의 브리지 장치 및 그 포워딩 방법 |
CN100544322C (zh) * | 2007-02-15 | 2009-09-23 | 杭州华三通信技术有限公司 | 转发报文和建立媒质接入控制地址表项的方法及交换机 |
CN101651627B (zh) * | 2009-09-23 | 2013-01-09 | 杭州华三通信技术有限公司 | 一种媒体访问控制mac地址表项学习方法和装置 |
CN102209043B (zh) * | 2011-07-22 | 2015-09-30 | 杭州华三通信技术有限公司 | 一种媒质访问控制地址表项更新方法和网络设备 |
-
2012
- 2012-10-31 CN CN201210428209.9A patent/CN103795633B/zh not_active Expired - Fee Related
-
2013
- 2013-08-26 WO PCT/CN2013/082307 patent/WO2014067328A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1845531A (zh) * | 2006-04-28 | 2006-10-11 | 杭州华为三康技术有限公司 | 一种数据转发控制方法和装置 |
CN101110721A (zh) * | 2006-07-18 | 2008-01-23 | 中兴通讯股份有限公司 | 利用以太网交换机媒体接入控制地址表空间的方法 |
CN101056267A (zh) * | 2007-05-15 | 2007-10-17 | 杭州华三通信技术有限公司 | 二层转发方法及转发设备 |
CN101110771A (zh) * | 2007-08-09 | 2008-01-23 | 福建星网锐捷网络有限公司 | 在fdb表中添加下一跳mac地址的方法及fdb设备 |
CN101286990A (zh) * | 2008-05-27 | 2008-10-15 | 中兴通讯股份有限公司 | 二层组播的转发方法和装置 |
CN101510882A (zh) * | 2009-04-01 | 2009-08-19 | 杭州华三通信技术有限公司 | 一种媒体访问控制地址学习方法和装置 |
CN101783769A (zh) * | 2010-03-16 | 2010-07-21 | 杭州华三通信技术有限公司 | 链路故障时报文转发的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2014067328A1 (zh) | 2014-05-08 |
CN103795633A (zh) | 2014-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103795633B (zh) | 一种二层转发方法及转发设备 | |
CN102970227B (zh) | 在asic中实现vxlan报文转发的方法和装置 | |
CN102859973A (zh) | 一种地址解析的方法,装置和系统 | |
CN105812259B (zh) | 一种报文转发方法和设备 | |
CN101674249B (zh) | 运营商骨干桥pbb流量转发的方法及设备 | |
CN102647793B (zh) | 独立wimax系统和方法 | |
CN102123106B (zh) | 一种虚拟专用局域网服务网络中mac地址学习方法和装置 | |
CN100568853C (zh) | 二层转发方法及转发设备 | |
WO2007133788A3 (en) | Dynamic vlans in wireless networks | |
CN101160850A (zh) | 一种转发报文的方法及装置 | |
CN102647355A (zh) | Lacp协商处理方法、中继节点及系统 | |
CN101478496B (zh) | 一种数据报文的转发方法和交换设备 | |
CN103354529B (zh) | 一种选择路径的方法和设备 | |
CN100442777C (zh) | 基于虚拟局域网堆叠的服务质量管理方法 | |
CN102984070B (zh) | 一种以太网无编号接口实现数据转发的方法 | |
CN102647487A (zh) | 一种节约ip地址的方法及接入代理设备 | |
CN106657442A (zh) | 基于VxLAN实现媒体共享存储网络的系统及其方法 | |
CN107154898A (zh) | 一种接入控制方法和装置 | |
CN109981819A (zh) | mDNS报文处理方法、装置和组网系统 | |
CN100544322C (zh) | 转发报文和建立媒质接入控制地址表项的方法及交换机 | |
CN102255787B (zh) | 一种基于服务质量的报文处理方法和运营商网络边缘设备 | |
CN102710510B (zh) | 信息处理方法、装置及系统 | |
CN102868642B (zh) | 在asic中实现nvgre报文转发的方法和装置 | |
CN103354567B (zh) | 一种同步媒体访问控制地址的方法和设备 | |
CN102571615A (zh) | 一种基于eoc终端的qos策略实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170531 Termination date: 20191031 |
|
CF01 | Termination of patent right due to non-payment of annual fee |