CN106230684B - 报文转发方法、交换机和系统 - Google Patents
报文转发方法、交换机和系统 Download PDFInfo
- Publication number
- CN106230684B CN106230684B CN201610635911.0A CN201610635911A CN106230684B CN 106230684 B CN106230684 B CN 106230684B CN 201610635911 A CN201610635911 A CN 201610635911A CN 106230684 B CN106230684 B CN 106230684B
- Authority
- CN
- China
- Prior art keywords
- port
- vid
- interchanger
- vlan
- return packet
- 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
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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种报文转发方法、交换机和系统,涉及通信领域,用于解决PVLAN网络中回程报文泛洪引起的占用额外带宽的问题。报文转发方法包括:交换机进入共享虚拟局域网学习SVL模式;当有去程报文进入交换机时,交换机生成MAC地址表;当有与去程报文对应的回程报文进入交换机时,交换机得到回程报文进入时的端口对应的VID所对应的FID,并根据回程报文进入时的端口对应的VID所对应的FID、回程报文的目的MAC地址以及MAC地址表得到回程报文对应的转发端口;交换机向转发端口转发回程报文。本发明的实施例应用于PVLAN网络。
Description
技术领域
本发明涉及通信领域,尤其涉及一种报文转发方法、交换机和系统。
背景技术
PVLAN(英文全称:private virtual local area network,中文全称:专用虚拟局域网)应用的典型拓扑结构如图1中所示,包括:路由器11、交换机12、主机13和主机14。主机13与主机14之间是相互隔离的并且属于不同的VLAN(英文全称:virtual local areanetwork,中文全称:虚拟局域网),但是共同属于交换机12所管理的同一个Primary VLAN(英文全称:primary virtual local area network,中文全称:主虚拟局域网)。交换机12与路由器11、主机13以及主机14之间通信的端口分别对应不同的VLAN,因此可以为这些端口分配对应的VLAN ID(英文简称:VID,中文全称:虚拟局域网标识)。
现有技术中,在交换机12中通过传统的MAC(英文全称:media access control,中文全称:媒体访问控制)地址学习模式IVL(英文全称:independent VLAN learning,中文全称:独立虚拟局域网学习)来学习和建立MAC地址表,其中,MAC地址表中每个表项包含VID、MAC地址和端口号,交换机12在转发报文时根据VID和MAC地址来查找对应端口号,然后向对应端口转发报文。具体的,在IVL模式下,当有去程报文进入交换机12时,交换机12根据去程报文进入端口所对应的VID以及报文中的源MAC地址来动态建立MAC地址表。当有与该去程报文对应的回程报文进入交换机12时,交换机12会根据回程报文进入端口所对应的VID以及回程报文中的目的MAC地址来从MAC地址表查找,此时,虽然目的MAC地址能够与MAC地址表中的源MAC地址对应,但是由于回程报文进入端口所对应的VID与去程报文进入端口所对应的VID不同,因此无法在MAC地址表中找到匹配项。
现有技术中,当存在上述无法找到匹配项的情况时,会通过泛洪的方式广播该报文,一方面会占用额外带宽;另一方面,当去程报文为从主机13发给路由器11,回程报文为从路由器11发送给主机13时,由于泛洪广播导致回程报文同时发送给了主机14,使得原本属于不同VLAN而互相隔离的主机13和主机14失去了隔离,丧失安全性。
发明内容
本发明的实施例提供一种报文转发方法、交换机和系统,用于解决PVLAN网络中回程报文泛洪引起的占用额外带宽的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种报文转发方法,该方法包括:
交换机进入共享虚拟局域网学习SVL模式以在具有FID的VLAN之间共享MAC地址;
当有去程报文进入所述交换机时,所述交换机根据所述去程报文进入时的端口、虚拟局域网VLAN硬件表、端口VID映射表以及所述去程报文中的源MAC地址生成MAC地址表,其中,所述VLAN硬件表的每一项包含所述交换机的一个端口对应的虚拟局域网标识VID与转发数据库标识FID的映射关系,所述VLAN硬件表的每一项的FID相同且为所述交换机的混杂端口对应的主虚拟局域网Primary VLAN的VID,以使在所述SVL模式下所述VLAN硬件表的每一项的VID所对应的VLAN之间共享学习到的MAC地址,所述端口VID映射表的每一项包含所述交换机的端口与所述交换机的端口对应的VID的映射关系,所述MAC地址表包含所述去程报文进入时的端口对应的VID所对应的FID、所述去程报文中的源MAC地址以及所述去程报文进入时的端口;
当有与所述去程报文对应的回程报文进入所述交换机时,所述交换机根据所述回程报文进入时的端口、所述端口VID映射表以及所述VLAN硬件表得到所述回程报文进入时的端口对应的VID所对应的FID,并根据所述回程报文进入时的端口对应的VID所对应的FID、所述回程报文的目的MAC地址以及所述MAC地址表得到所述回程报文对应的转发端口;
所述交换机向所述转发端口转发所述回程报文。
第二方面,提供了一种交换机,该交换机包括:
切换单元,用于使所述交换机进入共享虚拟局域网学习SVL模式以在具有FID的VLAN之间共享MAC地址;
生成单元,用于当有去程报文进入所述交换机时,根据所述去程报文进入时的端口、虚拟局域网VLAN硬件表、端口VID映射表以及所述去程报文中的源MAC地址生成MAC地址表,其中,所述VLAN硬件表的每一项包含所述交换机的一个端口对应的虚拟局域网标识VID与转发数据库标识FID的映射关系,所述VLAN硬件表的每一项的FID相同且为所述交换机的混杂端口对应的主虚拟局域网Primary VLAN的VID,以使在所述SVL模式下所述VLAN硬件表的每一项的VID所对应的VLAN之间共享学习到的MAC地址,所述端口VID映射表的每一项包含所述交换机的端口与所述交换机的端口对应的VID的映射关系,所述MAC地址表包含所述去程报文进入时的端口对应的VID所对应的FID、所述去程报文中的源MAC地址以及所述去程报文进入时的端口;
查找单元,用于当有与所述去程报文对应的回程报文进入所述交换机时,所述交换机根据所述回程报文进入时的端口、所述端口VID映射表以及所述VLAN硬件表得到所述回程报文进入时的端口对应的VID所对应的FID,并根据所述回程报文进入时的端口对应的VID所对应的FID、所述回程报文的目的MAC地址以及所述MAC地址表得到所述回程报文对应的转发端口;
发送单元,用于向所述转发端口转发所述回程报文。
第三方面,提供了一种PVLAN通信系统,该系统包括如第二方面所述的交换机。
本发明的实施例提供的报文转发方法、交换机和系统,由交换机根据去程报文建立包含Primary VLAN的VID、源MAC地址、入口端口号的MAC地址表;利用交换机在SVL模式下,某一个VLAN学习到的MAC地址会被在同一PVLAN域内相同FID的其他VLAN共享使用,使得相同FID的所有VLAN共享上述MAC地址表;由于位于同一PVLAN域下的回程报文与去程报文对应的Primary VLAN的VID相同,并且回程报文的目的MAC地址与去程报文的源MAC地址相同,因此通过MAC地址表即可找到去程报文的入口端口作为回程报文的转发端口,然后向该转发端口直接转发回程报文,而不需要对该回程报文向所有端口进行泛洪,解决了PVLAN网络中回程报文泛洪引起的占用额外带宽的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例提供的PVLAN通信系统的结构示意图;
图2为本发明的实施例提供的一种报文转发方法的流程示意图;
图3为本发明的实施例提供的另一种报文转发方法的流程示意图;
图4为本发明的实施例提供的交换机的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种PVLAN通信系统,参照图1中所示,包括路由器11、交换机12和主机(图中示例性的给出网络中存在两个主机主机13和主机14情况)。PVLAN采用两层VLAN隔离技术,上层是Primary VLAN,下层是Secondary VLAN(英文全称:secondary virtuallocal area network,中文全称:从虚拟局域网)。与Primary VLAN(图1中所示VLAN100)对应的通信端口是混杂端口(英文全称:promiscuous port),与Secondary VLAN(图1中所示VLAN101和VLAN102)对应的通信端口根据属性不同可以是隔离端口(英文全称:isolatedport)或群体端口(英文全称:community port)。
根据PVLAN实现机制特性,位于Primary VLAN中的混杂端口可以和属于这个PVLAN域的其他任何端口通信。位于Isolated VLAN(英文全称:isolated virtual local areanetwork,中文全称:隔离虚拟局域网)的隔离端口只能和混杂端口通信,隔离端口之间不能互相通信,隔离端口和位于Community VLAN(英文全称:community virtual local areanetwork,中文全称:群体虚拟局域网)的群体端口也不能通信。位于Community VLAN的群体端口可以和混杂端口通信,位于同一Community VLAN的群体端口之间可以互相通信,位于不同Community VLAN的群体端口之间不能通信。
当位于同一PVLAN域内的混杂端口与隔离端口或群体端口进行双向通信时,这些端口位于不同的VLAN,数据报文转发中携带端口对应的VID。对于交换机而言,从混杂端口进来的报文携带的是Primary VLAN的VID,从隔离端口进来的报文携带的是Isolated VLAN的VID,从群体端口进来的报文携带的是Community VLAN的VID。
交换机中的交换芯片ASIC(英文全称:application specific integratedcircuit,中文全称:专用集成电路)可以支持IVL或SVL(英文全称:shared VLAN learning,中文全称:共享虚拟局域网学习)模式,在IVL模式下,每个VLAN独立学习MAC地址,各VLAN互相不共享MAC地址;在SVL模式下,共享相同FID(英文全称:forwarding database ID,中文全称:转发数据库标识)的VLAN之间共享学习MAC地址。
本发明的实施例提供的报文转发方法、交换机和系统,由交换机根据去程报文建立包含Primary VLAN的VID、源MAC地址、入口端口号的MAC地址表;利用交换机在SVL模式下,某一个VLAN学习到的MAC地址会被在同一PVLAN域内相同FID的其他VLAN共享使用,使得相同FID的所有VLAN共享上述MAC地址表;由于位于同一PVLAN域下的回程报文与去程报文对应的Primary VLAN的VID相同,并且回程报文的目的MAC地址与去程报文的源MAC地址相同,因此通过MAC地址表即可找到去程报文的入口端口作为回程报文的转发端口,然后向该转发端口直接转发回程报文,而不需要对该回程报文向所有端口进行泛洪,解决了PVLAN网络中回程报文泛洪引起的占用额外带宽的问题。
实施例1、
本发明提供了一种报文转发方法,应用于图1中所述的交换机12,参照图2中所示,该方法包括:
S101、交换机进入SVL模式以在具有FID的VLAN之间共享MAC地址。
S102、当有去程报文进入交换机时,交换机根据去程报文进入时的端口、VLAN硬件表、端口VID映射表以及去程报文中的源MAC地址生成MAC地址表,其中,VLAN硬件表的每一项包含交换机的一个端口对应的VID与FID的映射关系,VLAN硬件表的每一项的FID相同且为交换机的混杂端口对应的Primary VLAN的VID,以使在SVL模式下VLAN硬件表的每一项的VID所对应的VLAN之间共享学习到的MAC地址,端口VID映射表的每一项包含交换机的端口与交换机的端口对应的VID的映射关系,MAC地址表包含去程报文进入时的端口对应的VID所对应的FID、去程报文中的源MAC地址以及去程报文进入时的端口。
去程报文指交换机从一个端口收到的从第一主机发送给第二主机的报文。
VLAN硬件表中的VID部分包含了交换机所管理的所有端口对应的VID,由于VLAN硬件表中各个表项的FID均为Primary VLAN的VID,并且交换机进入了SVL模式,因此交换机对具有相同FID的所有端口的VLAN共享MAC地址表。需要说明的是,VLAN硬件表可以是事先配置的。
端口VID映射表作用是将交换机所管理的端口与所对应VLAN的VID进行映射。需要说明的是,端口VID映射表可以是事先配置的。
根据去程报文进入时的端口的端口号查找步骤端口VID映射表可以得到去程报文进入时的端口对应的VLAN的VID,根据去程报文进入时的端口对应的VLAN的VID查找步骤VLAN硬件表可以得到去程报文进入时的端口对应的VLAN的FID。然后将找到的FID、去程报文中包含的源MAC地址以及去程报文进入交换机时的端口作为MAC地址表的一项来不断扩展生成MAC地址表。
S103、当有与去程报文对应的回程报文进入交换机时,交换机根据回程报文进入时的端口、端口VID映射表以及VLAN硬件表得到回程报文进入时的端口对应的VID所对应的FID,并根据回程报文进入时的端口对应的VID所对应的FID、回程报文的目的MAC地址以及MAC地址表得到回程报文对应的转发端口。
与去程报文相对应的,回程报文是指交换机从另一个端口收到的由第二主机针对上述去程报文而发送给第一主机的响应报文。
与步骤S102类似的,根据回程报文进入交换机时的端口的端口号查找端口VID映射表可以找到回程报文进入时的端口对应的VLAN的VID,根据回程报文进入时的端口对应的VLAN的VID查找VLAN硬件表可以找到回程报文进入时的端口对应的VID所对应的FID。由于回程报文是针对去程报文发送的,所以回程报文中的目的MAC地址与去程报文的源MAC地址相同,又由于FID始终为Primary VLAN的VID(即所有FID均相同),所以必然能够从MAC地址表中根据回程报文的目的MAC地址以及FID找到匹配项,进而得到匹配项中的原去程报文进入时的端口,将该端口作为回程报文的转发端口。
S104、交换机向转发端口转发回程报文。
交换机向上述转发端口转发回程报文即可以实现回程报文沿去程报文原路返回。
本发明的实施例提供的报文转发方法,由交换机根据去程报文建立包含PrimaryVLAN的VID、源MAC地址、入口端口号的MAC地址表;利用交换机在SVL模式下,某一个VLAN学习到的MAC地址会被在同一PVLAN域内相同FID的其他VLAN共享使用,使得相同FID的所有VLAN共享上述MAC地址表;由于位于同一PVLAN域下的回程报文与去程报文对应的PrimaryVLAN的VID相同,并且回程报文的目的MAC地址与去程报文的源MAC地址相同,因此通过MAC地址表即可找到去程报文的入口端口作为回程报文的转发端口,然后向该转发端口直接转发回程报文,而不需要对该回程报文向所有端口进行泛洪,解决了PVLAN网络中回程报文泛洪引起的占用额外带宽的问题。
实施例2、
本发明提供了另一种报文转发方法,应用于图1中所述的交换机12,参照图3中所示,该方法包括:
S201、配置支持PLVAN功能的交换机的全局逻辑寄存器,以此来使能该交换机的SVL模式。
S202、配置VLAN硬件表。
具体的,仍以图1中所示的交换机12为例,设置VLAN 100作为Primary VLAN,其VID为100;设置VLAN 101作为Isolated VLAN,其VID为101;设置VLAN 102作为CommunityVLAN,其VID为102。
初步建立如表1中所示的VLAN硬件表,其中,VLAN硬件表的每一项(表中指每一行)包含交换机的一个端口对应的VID与FID的映射关系。初始状态下VID与FID相同。
表1
然后绑定Isolated VLAN 101、Community VLAN 102和Primary VLAN 100的关联关系,形成私有VLAN对。同时,将VLAN硬件表中Isolated VLAN 101、Community VLAN 102对应的FID字段域统一赋值为交换机的混杂端口对应的Primary VLAN ID 100。最终生成如表2所示的VLAN硬件表。
表2
VID | FID |
100 | 100 |
101 | 100 |
102 | 100 |
S203、配置端口VID映射表。
具体的,配置交换机所管理的PVLAN的各端口,配置G0/1为混杂端口,并将G0/1加入Primary VLAN 100,同时利用哈希数据结构在端口VID映射表中记录G0/1属于VLAN 100的关系;同样的配置G0/2为隔离端口,并将G0/2加入Isolated VLAN 101,并在端口VID映射表中记录G0/2属于VLAN 101的关系;配置G0/3为群体端口,并将G0/3加入Community VLAN102,并在端口VID映射表中记录G0/3属于VLAN 102的关系。具体的端口VID映射表参照表3中所示。其中每一项(每一行)包含交换机的端口与交换机的端口对应的VID的映射关系。需要说明的,还可以采用其他数据结构形式生成端口VID映射表,本发明不在此限定。
表3
S204、交换机进入SVL模式以在具有FID的VLAN之间共享MAC地址。该步骤与S101相同。
S205、交换机读取VLAN硬件表。
S206、交换机读取端口VID映射表。
下面以主机104向路由器101的ping(英文全称:packet internet groper,中文全称:因特网包探索器)流程中ARP(英文全称:address resolution protocol,中文全称:地址解析协议)请求应答通信过程为例说明报文正式转发过程。
S207、主机104发送去程报文。
主机104发送ARP请求广播报文(去程报文)以请求路由器101的MAC地址,其报文类型为IP(英文全称:internet protocol,中文全称:网络协议)报文,其报文封装格式参照表4所示:
表4
S208、交换机12根据去程报文进入时的端口查找端口VID映射表,得到去程报文进入时的端口对应的VID。
ARP请求广播报文上行通过交换机12的端口G0/3进入交换机12,交换机12根据端口G0/3的Access(中文全称:访问)属性查找表3中所述的端口VID映射表,得到该端口所对应的VLAN的VID为102,然后为该ARP请求广播报文打上VID=102的VLAN Tag标记(表4中的Tag)。其中,交换机12为二层交换机(英文全称:L2switch)。此时,在交换机12内部转发的ARP请求广播报文的报文封装格式参照表5中所示:
表5
S209、交换机12根据去程报文进入时的端口对应的VID查找VLAN硬件表,得到去程报文进入时的端口对应的VID所对应的FID。
该ARP请求广播报文进入交换机12的ASIC芯片,交换机12根据ARP请求广播报文的VLAN Tag(VID)102查找VLAN硬件表,得到对应的FID=100。
S210、交换机12根据去程报文进入时的端口对应的VID所对应的FID、去程报文中的源MAC地址以及去程报文进入时的端口生成MAC地址表,并对去程报文进行泛洪。
根据SVL模式,交换机12将FID=100、ARP请求广播报文中的源MAC地址(PC B MAC地址)以及ARP请求广播报文进入交换机12时的端口(G0/3)添加到MAC地址表。然后将该ARP请求广播报文向除该报文的进入端口(G0/3)以外的其他端口泛洪,此时的泛洪广播域仍然是VLAN 102。交换ASIC芯片的MAC地址表参照表6中所示:
表6
FID | MAC | Port |
100 | PC B MAC | G0/3 |
S211、路由器11接收到去程报文后发送回程报文。
ARP广播报文到达交换机12的端口G0/1,根据G0/1的Access属性,剥离VLAN Tag标识,ARP请求广播报文继续上行到达路由器11。路由器11接收到ARP请求广播报文后,首先在本地的ARP高速缓存中添加PC B IP和PC B MAC地址对应表项。同时发现ARP请求广播报文请求的IP是自己的IP,则向PC B返回一个ARP应答单播报文(回程报文),其报文封装主体格式参照表7中所示:其中,下文中所述的Router表示路由器11。
表7
S212、交换机12根据回程报文进入时的端口查找端口VID映射表,得到回程报文进入时的端口对应的VID。
ARP应答单播报文下行通过交换机12的端口G0/1进入交换机12,交换机12根据G0/1的Access属性查找表3中所述的端口VID映射表,得到该端口所对应的VLAN的VID为100,然后为该ARP应答单播报文打上VID=100的VLAN Tag标记。此时,在交换机12内部转发的ARP应答单播报文的报文封装格式参照表8中所示:
表8
S213、交换机12根据回程报文进入时的端口对应的VID查找VLAN硬件表,得到回程报文进入时的端口对应的VID所对应的FID。
该ARP应答单播报文同样进入交换机12的ASIC芯片,交换机12根据ARP应答单播报文的VLAN Tag(VID)100查找VLAN硬件表,得到对应的FID=100。
S214、交换机12将回程报文进入时的端口对应的VID所对应的FID、回程报文中的源MAC地址以及回程报文进入时的端口添加至MAC地址表中。
根据SVL模式,交换机12将FID=100、ARP应答单播报文中的源MAC地址(RouterMAC地址)以及ARP应答单播报文进入交换机12时的端口(G0/1)添加到MAC地址表。此时交换ASIC芯片的MAC地址表参照表9中所示:
表9
FID | MAC | Port |
100 | PC B MAC | G0/3 |
100 | Router MAC | G0/1 |
S215、交换机12根据回程报文进入时的端口对应的VID所对应的FID、所述回程报文的目的MAC地址查找所述MAC地址表,得到回程报文对应的转发端口。
在SVL模式下,交换机12根据键值key={目的MAC地址,FID}从MAC地址表进行查找。具体的,利用键值key={PC B MAC,100}从MAC地址表中查找到回程报文对应的转发端口G0/3。
S216、交换机向转发端口转发回程报文。
然后交换机将ARP应答单播报文以单播的方式从端口G0/3转发出去并剥离VLANTag,通过链路到达主机14。完成主机14和路由器11的通信。
根据SVL模式,在整个PVLAN内通信链路打通后,交换ASIC芯片上生成的MAC地址表参照表10中所示。
表10
FID | MAC | PORT |
100 | PC B MAC | G0/3 |
100 | Router MAC | G0/1 |
100 | PC A MAC | G0/2 |
本发明的实施例提供的报文转发方法,由交换机根据去程报文建立包含PrimaryVLAN的VID、源MAC地址、入口端口号的MAC地址表;利用交换机在SVL模式下,某一个VLAN学习到的MAC地址会被在同一PVLAN域内相同FID的其他VLAN共享使用,使得相同FID的所有VLAN共享上述MAC地址表;由于位于同一PVLAN域下的回程报文与去程报文对应的PrimaryVLAN的VID相同,并且回程报文的目的MAC地址与去程报文的源MAC地址相同,因此通过MAC地址表即可找到去程报文的入口端口作为回程报文的转发端口,然后向该转发端口直接转发回程报文,而不需要对该回程报文向所有端口进行泛洪,解决了PVLAN网络中回程报文泛洪引起的占用额外带宽的问题。
实施例3、
本发明提供了一种交换机,应用于如图1中所示交换机12,用于执行上述报文转发方法,参照图4中所示,交换机12包括:
切换单元121,用于使交换机进入共享虚拟局域网学习SVL模式以在具有FID的VLAN之间共享MAC地址。
生成单元122,用于当有去程报文进入交换机时,根据去程报文进入时的端口、VLAN硬件表、端口VID映射表以及去程报文中的源MAC地址生成MAC地址表,其中,VLAN硬件表的每一项包含交换机的一个端口对应的VID与FID的映射关系,VLAN硬件表的每一项的FID相同且为交换机的混杂端口对应的Primary VLAN的VID,以使在SVL模式下VLAN硬件表的每一项的VID所对应的VLAN之间共享学习到的MAC地址,端口VID映射表的每一项包含交换机的端口与交换机的端口对应的VID的映射关系,MAC地址表包含去程报文进入时的端口对应的VID所对应的FID、去程报文中的源MAC地址以及去程报文进入时的端口。
查找单元123,用于当有与去程报文对应的回程报文进入交换机时,根据回程报文进入时的端口、端口VID映射表以及VLAN硬件表得到回程报文进入时的端口对应的VID所对应的FID,并根据回程报文进入时的端口对应的VID所对应的FID、回程报文的目的MAC地址以及生成单元122所生成的MAC地址表得到回程报文对应的转发端口。
发送单元124,用于向查找单元123所查找的转发端口转发回程报文。
由于本发明实施例中的交换机可以应用于上述报文转发方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。
可选的,在一种可能的实现方式中,参照图4中所示,交换机12还包括:
读取单元125,用于读取虚拟局域网VLAN硬件表和端口VID映射表。
可选的,查找单元123,还用于根据去程报文进入时的端口查找端口VID映射表,得到去程报文进入时的端口对应的VID。
查找单元123,还用于根据去程报文进入时的端口对应的VID查找VLAN硬件表,得到去程报文进入时的端口对应的VID所对应的FID。
生成单元122,具体用于根据去程报文进入时的端口对应的VID所对应的FID、去程报文中的源MAC地址以及去程报文进入时的端口生成MAC地址表。
可选的,查找单元123,具体用于:
根据回程报文进入时的端口查找端口VID映射表,得到回程报文进入时的端口对应的VID。
根据回程报文进入时的端口对应的VID查找VLAN硬件表,得到回程报文进入时的端口对应的VID所对应的FID。
可选的,查找单元123,具体用于:
根据回程报文进入时的端口对应的VID所对应的FID、回程报文的目的MAC地址查找MAC地址表,得到回程报文对应的转发端口。
需要说明的是,切换单元、读取单元、生成单元和查找单元可以为单独设立的处理器,也可以集成在控制器的某一个处理器中实现,此外,也可以以程序代码的形式存储于控制器的存储器中,由控制器的某一个处理器调用并执行以上切换单元、读取单元、生成单元和查找单元的功能。这里所述的处理器可以是一个中央处理器(英文全称:centralprocessing unit,英文简称:CPU),或者是特定集成电路(英文全称:applicationspecific integrated circuit,英文简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
发送单元可以是交换机上的网络接口例如Ethernet以态网接口、光纤接口等。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:read-only memory,英文简称:ROM)、随机存取存储器(英文全称:random access memory,英文简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种报文转发方法,其特征在于,包括:
交换机进入共享虚拟局域网学习SVL模式以在具有相同转发数据库标识FID的虚拟局域网VLAN之间共享媒体访问控制MAC地址;
当有去程报文进入所述交换机时,所述交换机根据所述去程报文进入时的端口、VLAN硬件表、端口VID映射表以及所述去程报文中的源MAC地址生成MAC地址表,其中,所述VLAN硬件表的每一项包含所述交换机的一个端口对应的虚拟局域网标识VID与转发数据库标识FID的映射关系,所述VLAN硬件表的每一项的FID相同且为所述交换机的混杂端口对应的主虚拟局域网Primary VLAN的VID,以使在所述SVL模式下所述VLAN硬件表的每一项的VID所对应的VLAN之间共享学习到的MAC地址,所述端口VID映射表的每一项包含所述交换机的端口与所述交换机的端口对应的VID的映射关系,所述MAC地址表包含所述去程报文进入时的端口对应的VID所对应的FID、所述去程报文中的源MAC地址以及所述去程报文进入时的端口;
当有与所述去程报文对应的回程报文进入所述交换机时,所述交换机根据所述回程报文进入时的端口、所述端口VID映射表以及所述VLAN硬件表得到所述回程报文进入时的端口对应的VID所对应的FID,并根据所述回程报文进入时的端口对应的VID所对应的FID、所述回程报文的目的MAC地址以及所述MAC地址表得到所述回程报文对应的转发端口;
所述交换机向所述转发端口转发所述回程报文。
2.根据权利要求1所述的方法,其特征在于,在所述交换机根据所述去程报文进入时的端口、虚拟局域网VLAN硬件表、端口VID映射表以及所述去程报文中的源MAC地址生成MAC地址表之前,所述方法还包括:
所述交换机读取所述VLAN硬件表和所述端口VID映射表。
3.根据权利要求1所述的方法,其特征在于,所述交换机根据所述去程报文进入时端口、虚拟局域网VLAN硬件表、端口VID映射表以及所述去程报文中的源MAC地址学习生成MAC地址表,包括:
所述交换机根据所述去程报文进入时的端口查找所述端口VID映射表,得到所述去程报文进入时的端口对应的VID;
所述交换机根据所述去程报文进入时的端口对应的VID查找所述VLAN硬件表,得到所述去程报文进入时的端口对应的VID所对应的FID;
所述交换机根据所述去程报文进入时的端口对应的VID所对应的FID、所述去程报文中的源MAC地址以及所述去程报文进入时的端口生成所述MAC地址表。
4.根据权利要求1所述的方法,其特征在于,所述交换机根据所述回程报文进入时的端口、所述端口VID映射表以及所述VLAN硬件表得到所述回程报文进入时的端口对应的VID所对应的FID,包括:
所述交换机根据所述回程报文进入时的端口查找所述端口VID映射表,得到所述回程报文进入时的端口对应的VID;
所述交换机根据所述回程报文进入时的端口对应的VID查找所述VLAN硬件表,得到所述回程报文进入时的端口对应的VID所对应的FID。
5.根据权利要求1所述的方法,其特征在于,所述根据所述回程报文进入时的端口对应的VID所对应的FID、所述回程报文的目的MAC地址以及所述MAC地址表得到所述回程报文对应的转发端口,包括:
根据所述回程报文进入时的端口对应的VID所对应的FID、所述回程报文的目的MAC地址查找所述MAC地址表,得到所述回程报文对应的转发端口。
6.一种交换机,其特征在于,所述交换机包括:
切换单元,用于使所述交换机进入共享虚拟局域网学习SVL模式以在具有相同转发数据库标识FID的虚拟局域网VLAN之间共享媒体访问控制MAC地址;
生成单元,用于当有去程报文进入所述交换机时,根据所述去程报文进入时的端口、VLAN硬件表、端口VID映射表以及所述去程报文中的源MAC地址生成MAC地址表,其中,所述VLAN硬件表的每一项包含所述交换机的一个端口对应的虚拟局域网标识VID与转发数据库标识FID的映射关系,所述VLAN硬件表的每一项的FID相同且为所述交换机的混杂端口对应的主虚拟局域网Primary VLAN的VID,以使在所述SVL模式下所述VLAN硬件表的每一项的VID所对应的VLAN之间共享学习到的MAC地址,所述端口VID映射表的每一项包含所述交换机的端口与所述交换机的端口对应的VID的映射关系,所述MAC地址表包含所述去程报文进入时的端口对应的VID所对应的FID、所述去程报文中的源MAC地址以及所述去程报文进入时的端口;
查找单元,用于当有与所述去程报文对应的回程报文进入所述交换机时,根据所述回程报文进入时的端口、读取单元读取到的所述端口VID映射表以及所述VLAN硬件表得到所述回程报文进入时的端口对应的VID所对应的FID,并根据所述回程报文进入时的端口对应的VID所对应的FID、所述回程报文的目的MAC地址以及所述生成单元所生成的所述MAC地址表得到所述回程报文对应的转发端口;
发送单元,用于向所述查找单元所查找的所述转发端口转发所述回程报文。
7.根据权利要求6所述的交换机,其特征在于,所述交换机还包括:
读取单元,用于读取所述VLAN硬件表和所述端口VID映射表。
8.根据权利要求6所述的交换机,其特征在于:
所述查找单元,还用于根据所述去程报文进入时的端口查找所述端口VID映射表,得到所述去程报文进入时的端口对应的VID;
所述查找单元,还用于根据所述去程报文进入时的端口对应的VID查找所述VLAN硬件表,得到所述去程报文进入时的端口对应的VID所对应的FID;
所述生成单元,具体用于根据所述去程报文进入时的端口对应的VID所对应的FID、所述去程报文中的源MAC地址以及所述去程报文进入时的端口生成所述MAC地址表。
9.根据权利要求6所述的交换机,其特征在于,所述查找单元,具体用于:
根据所述回程报文进入时的端口查找所述端口VID映射表,得到所述回程报文进入时的端口对应的VID;
根据所述回程报文进入时的端口对应的VID查找所述VLAN硬件表,得到所述回程报文进入时的端口对应的VID所对应的FID。
10.根据权利要求6所述的交换机,其特征在于,所述查找单元,具体用于:
根据所述回程报文进入时的端口对应的VID所对应的FID、所述回程报文的目的MAC地址查找所述MAC地址表,得到所述回程报文对应的转发端口。
11.一种专用虚拟局域网PVLAN通信系统,其特征在于,包括如权利要求6-10中任一项所述的交换机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610635911.0A CN106230684B (zh) | 2016-08-05 | 2016-08-05 | 报文转发方法、交换机和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610635911.0A CN106230684B (zh) | 2016-08-05 | 2016-08-05 | 报文转发方法、交换机和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106230684A CN106230684A (zh) | 2016-12-14 |
CN106230684B true CN106230684B (zh) | 2019-06-14 |
Family
ID=57547050
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610635911.0A Active CN106230684B (zh) | 2016-08-05 | 2016-08-05 | 报文转发方法、交换机和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106230684B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109348539B (zh) * | 2018-09-28 | 2020-11-03 | 中电海康集团有限公司 | 一种Backhaul设备的网络连接系统和方法 |
CN111556102B (zh) * | 2020-04-14 | 2023-02-28 | 深圳震有科技股份有限公司 | 一种数据通道建立方法、以太网交换机及存储介质 |
CN112468415A (zh) * | 2020-10-21 | 2021-03-09 | 浪潮思科网络科技有限公司 | 一种协议报文处理方法、装置、设备及介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6633567B1 (en) * | 2000-08-31 | 2003-10-14 | Mosaid Technologies, Inc. | Method and apparatus for searching a filtering database with one search operation |
US7389359B2 (en) * | 2001-10-19 | 2008-06-17 | Foundry Networks, Inc. | Method and system for intelligently forwarding multicast packets |
CN100496017C (zh) * | 2004-10-28 | 2009-06-03 | 华为技术有限公司 | 保证城域传输设备中二层以太网交换机数据安全的方法 |
US7889681B2 (en) * | 2005-03-03 | 2011-02-15 | Cisco Technology, Inc. | Methods and devices for improving the multiple spanning tree protocol |
CN101047583B (zh) * | 2006-03-31 | 2011-12-14 | 株式会社日立制作所 | 支持虚拟局域网服务的无源光网络系统及相应方法 |
CN103379045B (zh) * | 2012-04-17 | 2017-05-31 | 中国移动通信集团广东有限公司 | 一种接入设备在端口之间迁移的方法和汇聚层交换机 |
CN105392171B (zh) * | 2015-10-29 | 2018-11-06 | 京信通信系统(中国)有限公司 | 一种报文转发方法及其转发设备 |
-
2016
- 2016-08-05 CN CN201610635911.0A patent/CN106230684B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN106230684A (zh) | 2016-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8855117B2 (en) | Scalable media access control protocol synchronization techniques for fabric extender based emulated switch deployments | |
CN102668473B (zh) | 用于高性能、低功率数据中心互连结构的系统和方法 | |
US7558273B1 (en) | Methods and systems for associating and translating virtual local area network (VLAN) tags | |
JP5443745B2 (ja) | スイッチ | |
US10951463B2 (en) | BGP aggregation in Clos networks | |
US20180026878A1 (en) | Scalable deadlock-free deterministic minimal-path routing for dragonfly networks | |
CN103259725B (zh) | 报文发送方法和网络设备 | |
Jain et al. | Viro: A scalable, robust and namespace independent virtual id routing for future networks | |
CN103139037A (zh) | 用于实现灵活的虚拟局域网的方法和装置 | |
WO2014032598A1 (en) | Forward packet with edge device | |
CN103118149B (zh) | 同一租户内服务器间的通信控制方法及网络设备 | |
WO2014063567A1 (en) | Traffic interconnection between virtual devices | |
CN104717081A (zh) | 一种网关功能的实现方法及装置 | |
CN106230684B (zh) | 报文转发方法、交换机和系统 | |
US20080107114A1 (en) | Method and apparatus for forwarding service in a data communication device | |
JP2012161044A (ja) | 通信処理装置、アドレス学習プログラムおよびアドレス学習方法 | |
CN102255785A (zh) | 一种vpls中的网络隔离方法及其装置 | |
CN105187311A (zh) | 一种报文转发方法及装置 | |
US20120287946A1 (en) | Hash-Based Load Balancing with Flow Identifier Remapping | |
JP2012156957A (ja) | ネットワークシステム、制御装置、計算機、及び、ネットワーク装置 | |
CN106453091B (zh) | 路由器转发平面的等价路由管理方法和装置 | |
CN102882761B (zh) | Vpls实现方法 | |
CN106209554A (zh) | 跨虚拟可扩展局域网的报文转发方法和设备 | |
CN102763376B (zh) | 用于电信网络环境中共同组动作过滤的方法和系统 | |
CN102752199B (zh) | 一种虚拟路由器的数据转发平面的构建方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |