CN107465617A - 通信网络设备的报文转发控制方法及通信网络设备 - Google Patents
通信网络设备的报文转发控制方法及通信网络设备 Download PDFInfo
- Publication number
- CN107465617A CN107465617A CN201610388128.9A CN201610388128A CN107465617A CN 107465617 A CN107465617 A CN 107465617A CN 201610388128 A CN201610388128 A CN 201610388128A CN 107465617 A CN107465617 A CN 107465617A
- Authority
- CN
- China
- Prior art keywords
- port
- access control
- media access
- control address
- message
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明实施例提供一种通信网络设备的报文转发控制方法及通信网络设备,通过中央处理单元预先对各个端口下挂的设备的MAC地址进行学习,获得一个MAC地址转发表,各个端口处理单元从中央处理单元中获取该MAC地址转发表,在进行报文转发时,通过对报文的解析获得目的MAC地址,并根据该目的MAC地址以及端口的VLAN标识查询得到对应的端口号,根据端口号转发报文;使得端口处理单元在进行报文转发时,具体通过提取目的MAC地址以及对应的VLAN标识即可查询到对应的端口号,根据端口号进行报文的单播转发,从而实现了各个端口的设备的MAC地址的相互更新学习,有效地避免了由于找不到目的MAC地址而在交换芯片内部出现报文广播洪泛的现象,提高了设备数据转发的性能。
Description
技术领域
本发明涉及MAC(Media Access Control,介质访问控制地址)地址学习领域,尤其涉及一种通信网络设备的报文转发控制方法及通信网络设备。
背景技术
在当前的以太网交换机或路由器中,其基本都使用了交换芯片实现设备CPU(Central Processing Unit,中央处理器)数据快速转发的功能。在设备的CPU中,为了区分交换芯片中的不同端口一般采用的方式是通过在交换芯片上对每个端口进来的报文信息添加不同VLAN(Virtual Local Area Network,虚拟局域网)标签,通过添加VLAN标识的方式可以实现区分不同的端口,但该种方式却会造成交换芯片中各个端口之间的隔离,无法互通转发报文。
为了解决上述的问题,在现有的一些交换芯片通过设置FID(Filtering DatabaseIdentifier,过滤数据库标识符)参数来实现交换芯片中端口的跨VLAN互通,但是该种方式只能适用于支持FID设置的交换芯片。
对于不支持FID参数配置的交换芯片实现MAC条目共享功能,是通过在报文上添加VLAN标识,根据VLAN标识查找MAC地址表,但是该种交换芯片中的每个端口并不能获取其他端口的设备MAC地址,因此,就会导致交换芯片不同端口的报文因查找不到匹配的目的MAC地址条目而通过广播的方式查询目的MAC地址,出现广播洪泛的情况。根据上述的两种方式,交换芯片的不同端口虽然可以配置不同VLAN来避免洪泛,但是会导致端口之间不能在交换芯片内部互通,只能上行到CPU协议栈实现互通,这样,在数据转发时,其转发性能就会降低30%~50%左右,大大影响了设备转发性能。
发明内容
本发明实施例提供的通信网络设备的报文转发控制方法及通信网络设备,主要解决的技术问题是现有的交换芯片在进行数据转发时,由于各个端口添加VLAN标识无法在交换芯片内部实现互通,而导致交换芯片的各个端口出现报文广播洪泛的技术问题。
为解决上述技术问题,本发明实施例提供一种通信网络设备的报文转发控制方法,包括:
中央处理单元预先对各个端口下挂的设备的介质访问控制地址进行学习,获得介质访问控制地址转发表,介质访问控制地址转发表包括:介质访问控制地址、端口号和与端口对应的虚拟局域网标识;
各个端口处理单元从中央处理单元中获取介质访问控制地址转发表;
端口处理单元接收设备上报的报文,从报文中解析出目的介质访问控制地址;
端口处理单元根据目的介质访问控制地址以及端口的虚拟局域网标识从介质访问控制地址转发表中查询到与目的介质访问控制地址对应的端口号;
端口处理单元根据端口号转发报文。
本发明实施例还提供一种通信网络设备,包括:处理器和交换芯片,交换芯片包括至少两个端口处理单元和存储器;
处理器用于预先对各个端口下挂的设备的介质访问控制地址进行学习,获得介质访问控制地址转发表,介质访问控制地址转发表包括:介质访问控制地址、端口号和与端口对应的虚拟局域网标识;存储器用于存储处理器预先学习得到的介质访问控制地址转发表;
至少一个端口处理单元用于从存储器中获取介质访问控制地址转发表;以及,接收设备上报的报文,从报文中解析出目的介质访问控制地址,根据目的介质访问控制地址以及端口的虚拟局域网标识从介质访问控制地址转发表中查询到与目的介质访问控制地址对应的端口号,根据端口号转发报文。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的任一项的通信网络设备的报文转发方法。
本发明的有益效果是:
根据本发明实施例提供的通信网络设备的报文转发方法、通信网络设备以及计算机存储介质,该控制方法首先是通过中央处理单元对各个端口下挂的设备的MAC地址进行学习,获得一个存储有所有端口相关信息的MAC地址转发表,然后各个端口处理单元从中央处理单元中获取该MAC地址转发表,在进行报文转发时,通过对报文的解析获得目的MAC地址,并根据该目的MAC地址以及端口的VLAN标识查询得到对应的端口号,根据端口号转发报文;由中央处理单元对各个端口下挂的设备的MAC地址进行统一的学习,并记录到MAC地址转发表中,使得各个端口可以从MAC地址转发表中查询到不同端口的设备MAC地址,实现了各个端口之间的条目共享,进一步地实现了各个端口的互通,由于各个端口获取的MAC地址转发表是中央处理单元统一学习得到的,因此,各个端口在进行报文转发时,可以通过端口的VLAN标识以及目的MAC地址可以查询到对应的端口号,从而实现各个端口根据端口号对报文进行单播的转发,有效地避免了由于找不到目的MAC地址而在交换芯片内部出现报文广播洪泛的现象,提高了设备数据转发的性能。
附图说明
图1为本发明第一实施例提供的通信网路设备的报文转发控制方法的流程图;
图2为本发明第二实施例提供的通信网络设备的结构示意图;
图3为本发明第三实施例提供的通信网络设备的另一种结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。
第一实施例:
交换芯片通过接收设备发送过来的报文信息,根据报文信息提取发送报文信息的设备的MAC地址以及转发稿报文信息的目的MAC地址,交换芯片对提取到的MAC地址进行学习,并添加到MAC转发表中,但是,现有的这种学习方法只能对端口所对应的VLAN标识中学习,无法获知该端口之外的交换芯片的其他端口上的设备的MAC地址,因此,造成无交换芯片在进行保温转发时找不到其他端口的MAC地址对应的端口号。
为了解决上述由于VLAN标识而导致交换芯片各个端口无法实现互通的问题,本发明实施例提供了一种MAC地址学习方法,通过本方法的实施,可以实现交换芯片中各个端口的设备的MAC地址的共享,有效地解决了由于找不到目的MAC地址对应的端口号而产生广播洪泛的现象。
图1为本实施例提供的通信网路设备的报文转发控制方法,如图1所示,在本实施例中,通信网路设备的报文转发控制方法包括如下步骤:
S102,中央处理单元预先对各个端口下挂的设备的MAC地址进行学习,获得MAC地址转发表。
在本实施例中,中央处理单元在对各个端口的设备的MAC地址进行学习时,其包括两类MAC地址的学习和更新,分别是对交换芯片的每个端口下挂的设备的MAC地址进行学习互相更新和对交换芯片与中央处理单元连接端口的MAC地址的学习更新。该MAC地址转发表包括:MAC地址、端口号和与端口对应的虚拟局域网标识,若交换芯片接收到报文需要进行转发时,则通过查询MAC地址转发表即可获取到转发报文的目的MAC地址对应的端口号,从而实现报文的快速转发功能。
在本实施例中,中央处理单元在对交换芯片各个端口下挂的设备的MAC地址进行学习时,是通过获取交换芯片的各个端口下挂的设备上报的报文以及对应的端口号;从报文中解析出对应的设备的MAC地址以及对应端口的虚拟局域网标识(VLAN标识);将MAC地址、虚拟局域网标识和端口号对应的记录到MAC地址转发表。
具体的,中央处理单元通过从交换芯片上获取各个端口下挂的设备上报的报文,中央处理单元通过对获取到的报文进行解析处理,解析报文中的源MAC地址,也即是上报该报文的设备的MAC地址,并将该MAC地址添加到对应的MAC地址转发表中,另外,还包括获取交换芯片接收该报文的端口号,同时也将该端口号记录到MAC地址转发表中,并且该MAC地址与端口号是固定的对应关系,在使用时,通过该MAC地址即可查询到该端口号;同理,交换芯片的其他端口也是采用同样的学习方法学习其他端口上下挂的设备的MAC地址和对应的端口号,通过中央处理单元的学习,使得交换芯片中的各个端口均可获得其他端口下挂的设备的MAC地址和对应的端口号,从而实现了各端口之间的条目共享。
在实际应用中,由于交换芯片与中央处理单元之间的连接方式是一种相对比较固定的连接方式,为了能保证交换芯片与中央处理单元之间的信息交互稳定,以及实现通过中央处理单元将设备上报的报文发送到外网的其他设备上,需要将WAN口与中央处理单元,中央处理单元与交换芯片组成的通信信道固定设置的端口。
在本实施例中,中央处理单元在获取交换芯片上各个端口上报的报文除了能学习到各个端口上设备的MAC地址外,同时,在获取交换芯片上的各个端口上报的报文的过程中,中央处理单元也学习了交换芯片与中央处理单元连接的端口MAC地址和对应的端口号,并且也将这两项信息记录到MAC地址转发表中。
在本实施例中,在进行MAC地址学习的过程中,具体的是可以通过中央处理单元来利用学习好的MAC地址转发表中的MAC地址和虚拟局域网标识,根据预设的计算规则生成唯一的端口识别信息,将端口识别信息对应的记录到MAC地址转发表中与所述虚拟局域网标识对应的表项中,这里的预设的计算规则可以是哈希算法,但并不限制于上述的两种计算规则,可理解的是这里的预设的计算规则只要能实现计算出来的至具有唯一性的所有算法均可以。
在本实施例中,在进行MAC地址学习的过程中,具体的是还可以通过各个端口处理单元自己利用中央处理单元学习好的MAC地址转发表中的MAC地址和虚拟局域网标识,根据预设的计算规则生成唯一的端口识别信息,将端口识别信息对应的记录到MAC地址转发表中与所述虚拟局域网标识对应的表项中。
可选的,在本实施例中,当中央处理单元接收到端口1上的设备所上报的报文时,中央处理单元从该报文中提取出设备的MAC地址以及记录设备上报报文给交换芯片的端口号,假设端口1的VLAN为1,则在生成端口识别信息时,根据MAC地址和VLAN=1生成端口识别信息,并记录到MAC地址转发表中的VLAN=1的表项中,假设VLAN=2,则根据MAC地址和VLAN=2生成端口识别信息,并记录到MAC地址转发表中的VLAN=2的表项中。
S104,将所述介质访问控制地址转发表发送至各个端口处理单元。
在本实施例中,通过步骤S102实现了对各个端口的设备MAC地址的学习,得到一个MAC地址转发表之后,交换芯片的各个端口上的端口处理单元从中央处理单元中获取已学习完成的MAC地址转发表,该MAC地址转发表除了包括设备MAC地址、端口号和与各个端口对应的虚拟局域网标识之外,还包括交换芯片与中央处理单元连接的MAC地址和对应的端口号,由于在MAC地址转发表中也记录有交换芯片与中央处理单元连接的MAC地址和对应的端口号,使得当需要将报文通过中央处理单元进行外发时,也可以直接通过查表就可实现将报文转发至外网的设备上。
S106,端口处理单元接收设备上报的报文,从报文中解析出目的MAC地址。
在该步骤中,端口处理单元在接收到报文后,还会对报文进行处理,具体是在报文中添加对该端口对应的VLAN标识,添加完成后从该报文中提取目的MAC地址,可理解的是,该目的MAC地址可以是同一端口下的其他设备的MAC地址,也可以是其他端口上的设备的MAC地址。
S108,端口处理单元根据目的MAC地址以及端口的VLAN标识从MAC地址转发表中查询到与目的MAC地址对应的端口号。
在该步骤中,若该目的MAC地址是同一端口下的其他设备的MAC地址时,则端口处理端元可以直接根据目的MAC地址以及VLAN标识查询MAC地址转发表,即可查询到设备所在的端口。
若该目的MAC地址是其他端口上的设备的MAC地址时,则可以通过端口识别信息查询MAC地址转发表。
在本实施例中,在进行报文转发时,还包括:端口处理单元获取报文中的目的MAC地址和虚拟局域网标识,根据预设的计算规则生成一个端口识别信息,根据端口识别信息查询MAC地址转发表,获得与目的MAC地址对应的端口号。
S110,端口处理单元根据端口号转发报文。
对应的,对于上述的处理步骤,在本发明的实施例中,还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的通信网络设备的报文转发方法。
本发明实施例通过上述提供通信网络设备的报文装发放控制方法的实施,首先是通过中央处理单元对各个端口下挂的设备的MAC地址进行学习,获得一个MAC地址转发表,各个端口处理单元从中央处理单元中获取该MAC地址转发表,在进行报文转发时,通过对报文的解析获得目的MAC地址,并根据该目的MAC地址以及端口的VLAN标识查询得到对应的端口号,根据端口号转发报文;通过预先的MAC地址学习,并且是由中央处理单元进行的统一学习,然后再发送给各个端口,从而实现了对各个端口下挂的设备的MAC地址的共享,避免了各个端口只能学习到本端口下挂的设备的MAC地址的情况发生,解决了由于无法找到对应的MAC地址而在交换芯片内部出现报文内转发广播洪泛的问题,提高了交换芯片的数据转发性能。
第二实施例:
图2为本实施例提供的通信网路设备的结构示意图,如图2所示,在本实施例提供的通信网路设备2包括:处理器21和交换芯片22,其中:
处理器21用于预先对各个端口下挂的设备的MAC地址进行预先的学习,通过学习获得MAC地址转发表,在该MAC地址转发表中存储有交换芯片的各个端口下挂的设备的MAC地址以及其他的信息,可选的,该MAC地址转发表至少包括MAC地址、端口号和与端口对应的虚拟局域网标识等信息。
交换芯片22用于从处理器21中获取MAC地址转发表;以及,接收设备上报的报文,从报文中解析出目的MAC地址,根据目的MAC地址以及端口VLAN标识从MAC地址转发表中查询到与目的MAC地址对应的端口号,根据端口号转发报文。
在本实施例中,交换芯片22具体包括至少两个端口处理单元221和存储器222,存储器222用于存储处理器21预先学习得到的所述介质访问控制地址转发表;进一步的,交换芯片22用于获取MAC地址转发表以及转发报文,具体是由交换芯片22中的各个端口上的端口处理单元221自身来执行,其中,在通信网络设备2中,至少一个端口处理单元221可以通过从处理器21中获取MAC地址转发表,并根据接收到的报文解析出目的MAC地址,通过目的MAC地址以及该端口的VLAN标识从MAC地址转发表中查询得到与目的MAC地址对应的端口号,并将报文转发至与端口号对应的设备中。
可选的,对于本实施例中的通信网络设备2来说,在实际的生产制造时,所使用的交换芯片22并不一定是相同的交换芯片22,其可以是全部使用支持FID参数设置的,也可以是全部使用不支持FID参数设置的,还可以是两种交换芯片均有使用,对于不支持FID参数设置的交换芯片22,其各个端口的端口处理单元221通过处理器21学习各个端口的设备MAC地址以及其他信息,在进行报文转发时,端口处理单元221可以直接从报文中提取报文需要转发的目的MAC地址以及该端口对应的VLAN标识,根据VLAN标识以及目的MAC地址进行查询,使得端口处理单元221通过查表来实现对报文的单播转发,避免了端口处理单元221由于找不到目的MAC地址对应的端口号而在交换芯片22内部进行广播查询所造成的洪泛现象。对于支持FID参数设置的交换芯片22,其各个端口转发报文的控制方法可以采用本实施例上述提供的控制方法进行单播转发,也可以采用现有的通过FID来查询的方式进行单播转发。
在本实施例中,处理器21在对交换芯片22上各个端口下挂的设备的MAC地址进行学习时,其包括两类MAC地址的学习和更新,分别是对交换芯片22的每个端口下挂的设备的MAC地址进行学习互相更新和对交换芯片22与处理器21连接端口的MAC地址的学习更新。
对于对交换芯片22的每个端口下挂的设备的MAC地址进行学习互相更新,具体是,通过从交换芯片22上获取各个端口下挂的设备上报的报文,然后再从获取的报文中解析源MAC地址,该源MAC地址指的是发送该报文的设备的MAC地址,并将该地址记录到MAC地址转发表中,同时,处理器21在获取报文的同时也记录交换芯片22接收该报文的端口号,该端口号指的是通信网络设备2为交换芯片22上的端口分配的端口号,每个端口的端口号在交换芯片22中是固定的设置,最后,将解析到的MAC地址和该报文对应的端口号一起记录到MAC地址转发表。
对于对交换芯片22与处理器21连接端口的MAC地址的学习更新,具体是在处理器21从交换芯片22上获取各个端口上报的报文的同时,也记录处理器21获取交换芯片22上的报文的端口号和MAC地址,并记录到MAC地址转发表中。
在本实施例中,在对交换芯片22上的各个端口下挂的设备的MAC地址进行学习的过程中,还包括根据MAC地址转发表中记录的MAC地址和端口VLAN标识生成唯一的端口识别信息,优选的,在生成端口识别信息时,具体是根据预设的计算规则进行计算生成,该预设的计算规则可以是哈希运算算法,只要能实现计算出来的结果具有唯一性的计算规则均可以。
在本实施例中,对于生成唯一的端口识别信息这一计算过程可以在处理器21上进行,具体的是,在处理器21在学习到设备的MAC地址后,可以直接在学习到的MAC地址的基础上,再获取各个端口的VLAN标识,利用这两个信息根据预设的计算规则计算端口识别信息,并对应的添加到MAC地址转发表中。
在本实施例中,对于生成唯一的端口识别信息这一计算过程还可以在端口处理单元221上进行,具体的是,在处理器21在学习到设备的MAC地址后,处理器21将学习得到的MAC地址转发表共享给交换芯22的各个端口,各个端上的端口处理单元221,在接收到MAC地址转发表后,端口处理单元221利用MAC地址转发表中记录的MAC地址以及各个端口对应的VLAN标识,根据预设的计算规则计算得出每个端口的唯一的端口识别信息,并对应的添加到MAC地址转发表中。
在本实施例中,所述处理器21还用于获取所述各个端口下挂的设备上报的报文以及对应的端口号,从所述报文中解析出对应的设备的介质访问控制地址以及对应端口的虚拟局域网标识,将所述介质访问控制地址、虚拟局域网标识和端口号对应的记录到介质访问控制地址转发表。进一步的,处理器21通过上述的学习得到包含有MAC地址、端口号、VLAN标识和端口识别信息的MA地址转发表后,共享给各个端口,各个端口在进行报文转发时,首先通过接收端口下挂的设备上报的报文,并对报文进行解析,从中解析出目的MAC地址,以及获取该端口对应的VLAN标识,这里的VLAN标识是在端口接收报文时,交换芯片22根据当前端口的VLAN标识添加到报文中的,在解析得到目的MAC地址和VLAN标识后,根据预设的计算规则对目的MAC地址和VLAN标识进行计算,得到一个端口识别信息,然后根据该端口识别信息到MAC地址转发表中查询端口识别信息,优选的,该查询具体是通过将端口识别信息与端口识别信息进行对比,对比是否相同,若相同,则获取对应的端口号。
在本实施例中,当预设的计算规则为哈希运算算法时,则生成的唯一的端口识别信息以及端口识别信息均为hash值,找查询MAC地址转发表时,在对应的VLAN表项中进行hash值的对比,若有相同的,则获取对应的端口号,并根据端口号进行报文的转发。
通过对本实施例提供的通信网络设备的实施,通过处理器的自主学习,使得交换芯片中的各个端口之间的设备MAC地址条目的相互共享更新,实现了交换芯片上的不同端口在转发报文时可以获得内部互通,能够查询到目的MAC地址对应的端口号,实现对报文的单播转发,避免了在交换芯片内部报文广播洪泛问题。
第三实施例:
现结合具体应用场景对本发明做进一步的诠释说明。
本实施例所要解决的技术问题是,通过处理器21对各个端口设备MAC地址的统一学习,并将学习得到的MAC地址转发表共享给各个端口,从而实现各个端口MAC地址条目共享,避免了在转发报文时,由于找不到其他端口的端口号而进行报文广播查询的问题。本实施例提供的通信网络设备可以是路由器,也可以是网络交换机,下面以网络交换机为例对本发明进行详细说明。
假设交换芯片22中的每个端口对应网络交换机对外的每个eth端口,如图3所示,交换芯片22的端口下挂两台PC设备,其中,eth2端口下挂PC1,eth3端口下挂PC2,网络交换机对交换芯片22中的各个端口进行如表1的设置,具体如表1所示:
表1交换芯片上每个端口对应的PVID
Name | eth0 | eth1 | eth2 | eth3 | eth4 | cpu |
switch-port | 4 | 3 | 2 | 1 | 0 | 6 |
PVID | 5 | 4 | 3 | 2 | 1 |
上表中Name表示的是交换芯片的端口名称,switch-port表示的是端口在交换芯片中的端口号,PVID表示的是端口的VLAN标识。
在本实施例中,在网络交换机对各个端口设置完成后,当端口上的设备第一次上报报文,从交换芯片22到达处理器21时,处理器21会根据上报的报文对MAC地址进行更新学习,具体的学习方法为:
处理器21记录当前交换芯片22端口进来报文的端口号和发送该报文的设备MAC地址,将这两个参数添加到MAC地址转发表中,并且还在该MAC地址转发表中记录交换芯片的其他端口对应的VLAN标识,然后根据MAC地址转发表中记录的MAC地址和VLAN标识生成相应的hash值,端口处理单元221根据该hash值在交换芯片22的端口上可以查找到该MAC对应的该端口号。
对于对交换芯片22的每个端口的设备MAC地址进行学习互相更新,具体是,通过从交换芯片22上获取各个端口的设备上报的报文,然后再从获取的报文中解析源MAC地址,该源MAC地址指的是发送该报文的设备的MAC地址,并将该地址记录到MAC地址转发表中。比如,在交换芯片22的port4口收到MAC地址为44:37:e6:29:cd:25的设备发送的报文,交换芯片22的其他端口学习到MAC地址条目如下:
首先,处理器21从交换芯片22上获取port4口收到的报文,并从报文中解析出MAC地址:44:37:e6:29:cd:25,查表1得知port4口对应的VLAN=4,然后将该MAC地址:44:37:e6:29:cd:25记录到MAC地址转发表中VLAN=4的表项中,并且也将port4口对应的端口号也记录到VLAN=4的表项中与MAC地址对应,同时处理器21也将获取到的MAC地址:44:37:e6:29:cd:25以及端口号记录到其他端口的VLAN标识的表项中,最后根据MAC地址转发表中记录的MAC地址和VLAN标识分别计算hash值,并记录到对应的VLAN标识表项中。其中hash=16a条目为采用本发明之前原有端口学习到的MAC地址条目。
对于对交换芯片22与处理器21连接端口的MAC地址的学习更新,在实际应用中,处理器21与交换芯片22之间的端口连接是固定的设置,也即是说其MAC地址是不变的,其具体学习过程如下:
其中hash=1e0和hash=1f0条目为采用本发明之前原有端口学习到的MAC地址条目,0019c650a645为br0设备接口MAC地址。
处理器21通过上述的学习,得到MAC地址转发表,该表格在交换芯片22中的具体MAC地址条目如下表2所示:
表2
在本实施例中,如图3所示,当PC1(18:a9:05:e3:33:d6)有报文需要向PC2(44:37:e6:29:cd:25)发送,这时,交换芯片22通过端口eth2收到PC1上报的报文,该端口eth2上的端口处理单元221在接收到的报文中根据802.1Q协议添加头部VLAN标识,VLAN=3,端口处理单元221需要进行报文转发时,首先从报文中解析出目的MAC地址以及VLAN标识,然后根据VLAN标识在MAC地址转发表中查找到VLAN=3的表项,再在VLAN=3的表项中查找目的MAC地址是44:37:e6:29:cd:25的端口,并获取对应的端口号,此时,在MAC地址转发表中可以找到目的MAC地址及对应交换芯片22端口号,最后根据找到的端口号将报文在交换芯片22内部进行单播转发。
可选的,在本实施例中,当端口处理单元221需要进行报文转发时,从报文中解析出目的MAC地址以及VLAN标识之后,还可以根据目的MAC地址以及VLAN标识计算出一个端口识别信息,具体为hash值,然后根据VLAN标识在MAC地址转发表中查找到VLAN=3的表项,再在VLAN=3的表项中查找与该端口识别信息一致的端口识别信息,并获取对应的端口号,最后根据找到的端口号将报文在交换芯片22内部进行单播转发。
同理,在本实施例中,通信网络设备为路由器时,其交换芯片的各个端口转发报文的控制方式与上述网络交换机的一样,这里就不再赘述了。
综上可知,通过对本发明的提供的通信网络设备的报文转发控制方法及通信网络设备的实施,在进行报文转发之前,通过处理器对交换芯片的各个端口下挂的设备的MAC地址进行学习,通过学习将各个端口下挂的设备的MAC地址和端口号记录到同一个MAC地址转发表中,然后将该MAC地址转发表共享给各个端口,端口处理单元在进行报文转发时,具体通过提取目的MAC地址以及端口的VLAN标识即可查询到与目的MAC地址对应的端口号,根据端口号进行报文的单播转发,从而实现了各个端口的设备的MAC地址的相互更新学习,有效地避免了由于找不到目的MAC地址而在交换芯片内部出现报文广播洪泛的现象,提高了设备数据转发的性能。
显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (10)
1.一种通信网络设备的报文转发控制方法,包括:
中央处理单元预先对各个端口下挂的设备的介质访问控制地址进行学习,获得介质访问控制地址转发表,所述介质访问控制地址转发表包括:所述介质访问控制地址、端口号和虚拟局域网标识;并将所述介质访问控制地址转发表发送至各个端口处理单元;
端口处理单元接收设备上报的报文,从所述报文中解析出目的介质访问控制地址;根据所述目的介质访问控制地址以及端口的虚拟局域网标识从所述介质访问控制地址转发表中查询到与所述目的介质访问控制地址对应的端口号;根据所述端口号转发所述报文。
2.根据权利要求1所述的通信网络设备的报文转发控制方法,其特征在于,所述中央处理单元预先对各个端口下挂的设备的介质访问控制地址进行学习还包括:
所述中央处理单元利用所述介质访问控制地址转发表中的介质访问控制地址和虚拟局域网标识,根据预设的计算规则生成唯一的端口识别信息,将所述端口识别信息对应的记录到介质访问控制地址转发表中与所述虚拟局域网标识对应的表项中;
所述端口处理单元从所述介质访问控制地址转发表中查询端口号包括:端口处理单元获取所述报文中的目的介质访问控制地址和虚拟局域网标识,根据所述预设的计算规则生成一个端口识别信息,根据所述端口识别信息查询介质访问控制地址转发表,获得与所述目的介质访问控制地址对应的端口号。
3.根据权利要求1所述的通信网络设备的报文转发控制方法,其特征在于,在所述各个端口处理单元从所述中央处理单元中获取所述介质访问控制地址转发表之后,还包括:
各个端口处理单元利用所述介质访问控制地址转发表中的介质访问控制地址和虚拟局域网标识,根据预设的计算规则生成唯一的端口识别信息,将所述端口识别信息对应的记录到介质访问控制地址转发表中与所述虚拟局域网标识对应的表项中;
所述端口处理单元从所述介质访问控制地址转发表中查询端口号包括:端口处理单元从所述报文中获取目的介质访问控制地址和虚拟局域网标识,根据所述预设的计算规则生成一个端口识别信息,根据所述端口识别信息查询介质访问控制地址转发表,获得与所述目的介质访问控制地址对应的端口号。
4.根据权利要求2或3所述的通信网络设备的报文转发控制方法,其特征在于,所述预设的计算规则为哈希运算算法。
5.根据权利要求1至3任一项所述的通信网络设备的报文转发控制方法,其特征在于,所述中央处理单元预先对各个端口下挂的设备的介质访问控制地址进行学习,获得介质访问控制地址转发表包括:
获取所述各个端口下挂的设备上报的报文以及对应的端口号;
从所述报文中解析出对应的设备的介质访问控制地址以及对应的端口的虚拟局域网标识;
将所述介质访问控制地址、虚拟局域网标识和端口号对应的记录到所述介质访问控制地址转发表。
6.一种通信网络设备,包括:处理器和交换芯片,所述交换芯片包括至少两个端口处理单元和存储器;所述处理器用于预先对各个端口下挂的设备的介质访问控制地址进行学习,获得介质访问控制地址转发表,所述介质访问控制地址转发表包括:所述介质访问控制地址、端口号和虚拟局域网标识;所述存储器用于存储所述处理器预先学习得到的所述介质访问控制地址转发表;
至少一个端口处理单元用于从所述存储器中获取所述介质访问控制地址转发表;以及,接收设备上报的报文,从所述报文中解析出目的介质访问控制地址,根据所述目的介质访问控制地址以及端口的虚拟局域网标识从所述介质访问控制地址转发表中查询到与所述目的介质访问控制地址对应的端口号,根据所述端口号转发所述报文。
7.根据权利要求6所述的通信网络设备,其特征在于,所述处理器还用于利用所述介质访问控制地址转发表中的介质访问控制地址和虚拟局域网标识,根据预设的计算规则生成唯一的端口识别信息,将所述端口识别信息对应的记录到介质访问控制地址转发表中与所述虚拟局域网标识对应的表项中;
所述端口处理单元还用于获取所述报文中的目的介质访问控制地址和虚拟局域网标识,根据所述预设的计算规则生成一个端口识别信息,根据所述端口识别信息查询介质访问控制地址转发表,获得与所述目的介质访问控制地址对应的端口号。
8.根据权利要求6所述的通信网络设备,其特征在于,所述端口处理单元还用于利用所述介质访问控制地址转发表中的介质访问控制地址和虚拟局域网标识,根据预设的计算规则生成唯一的端口识别信息,将所述端口识别信息对应的记录到介质访问控制地址转发表中与所述虚拟局域网标识对应的表项中;以及
获取所述报文中的目的介质访问控制地址和虚拟局域网标识,根据所述预设的计算规则生成一个端口识别信息,根据所述端口识别信息查询介质访问控制地址转发表,获得与所述目的介质访问控制地址对应的端口号。
9.根据权利要求7或8所述的通信网络设备,其特征在于,所述预设的计算规则为哈希运算算法。
10.根据权利要求6至8任一项所述的通信网络设备,其特征在于,所述处理器还用于获取所述各个端口下挂的设备上报的报文以及对应的端口号,从所述报文中解析出对应的设备的介质访问控制地址以及对应端口的虚拟局域网标识,将所述介质访问控制地址、虚拟局域网标识和端口号对应的记录到介质访问控制地址转发表。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610388128.9A CN107465617A (zh) | 2016-06-02 | 2016-06-02 | 通信网络设备的报文转发控制方法及通信网络设备 |
PCT/CN2017/085877 WO2017206787A1 (zh) | 2016-06-02 | 2017-05-25 | 通信网络设备的报文转发控制方法及通信网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610388128.9A CN107465617A (zh) | 2016-06-02 | 2016-06-02 | 通信网络设备的报文转发控制方法及通信网络设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107465617A true CN107465617A (zh) | 2017-12-12 |
Family
ID=60478541
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610388128.9A Pending CN107465617A (zh) | 2016-06-02 | 2016-06-02 | 通信网络设备的报文转发控制方法及通信网络设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107465617A (zh) |
WO (1) | WO2017206787A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108696431A (zh) * | 2018-06-27 | 2018-10-23 | 深圳市普威技术有限公司 | 局域网端口配置方法及装置、交换芯片和路由交换设备 |
CN109728992A (zh) * | 2018-11-27 | 2019-05-07 | 盛科网络(苏州)有限公司 | 分配转发域的方法、装置、存储介质及电子装置 |
CN110768916A (zh) * | 2019-10-22 | 2020-02-07 | 新华三信息安全技术有限公司 | 一种端口统计参数通告方法以及设备 |
CN111835859A (zh) * | 2020-07-20 | 2020-10-27 | 安徽华速达电子科技有限公司 | 跨网段操作局域网设备控制器的方法及智能光网络设备 |
CN112866115A (zh) * | 2020-12-31 | 2021-05-28 | 杭州迪普科技股份有限公司 | 一种实现透明串接的方法、装置、电子设备及存储介质 |
CN114390008A (zh) * | 2021-11-22 | 2022-04-22 | 裕太微电子股份有限公司 | 一种以太网二层转发表的学习方法及系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110808854B (zh) * | 2019-10-24 | 2022-05-06 | 新华三信息安全技术有限公司 | 报文调度方法、装置及交换机 |
CN113014516A (zh) * | 2019-12-20 | 2021-06-22 | 华为技术有限公司 | 一种数据流发送的方法及装置 |
CN113271266B (zh) * | 2021-04-21 | 2024-03-22 | 锐捷网络股份有限公司 | 异构交换芯片的报文转发方法及设备 |
CN113630342B (zh) * | 2021-06-25 | 2023-08-15 | 济南浪潮数据技术有限公司 | 一种虚拟交换机的转发表管理方法、系统及装置 |
CN114448740B (zh) * | 2022-01-14 | 2023-11-07 | 绿盟科技集团股份有限公司 | 一种组播方法、装置、介质、产品和设备 |
CN114666269B (zh) * | 2022-04-11 | 2024-05-14 | 浪潮思科网络科技有限公司 | 一种基于ip子网的vlan的报文转发方法、装置、设备及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7747954B2 (en) * | 2006-03-23 | 2010-06-29 | Alcatel Lucent | Method and system for virtual private network connectivity verification |
CN101094187B (zh) * | 2007-07-30 | 2010-06-09 | 杭州华三通信技术有限公司 | 一种学习介质访问控制地址的方法和装置、业务板 |
CN101820392B (zh) * | 2010-03-26 | 2015-08-12 | 中兴通讯股份有限公司 | 一种实现多业务转发的方法和网络处理器 |
-
2016
- 2016-06-02 CN CN201610388128.9A patent/CN107465617A/zh active Pending
-
2017
- 2017-05-25 WO PCT/CN2017/085877 patent/WO2017206787A1/zh active Application Filing
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108696431A (zh) * | 2018-06-27 | 2018-10-23 | 深圳市普威技术有限公司 | 局域网端口配置方法及装置、交换芯片和路由交换设备 |
CN108696431B (zh) * | 2018-06-27 | 2021-09-17 | 深圳市普威技术有限公司 | 局域网端口配置方法及装置、交换芯片和路由交换设备 |
CN109728992A (zh) * | 2018-11-27 | 2019-05-07 | 盛科网络(苏州)有限公司 | 分配转发域的方法、装置、存储介质及电子装置 |
CN109728992B (zh) * | 2018-11-27 | 2021-09-28 | 苏州盛科通信股份有限公司 | 分配转发域的方法、装置、存储介质及电子装置 |
CN110768916A (zh) * | 2019-10-22 | 2020-02-07 | 新华三信息安全技术有限公司 | 一种端口统计参数通告方法以及设备 |
CN111835859A (zh) * | 2020-07-20 | 2020-10-27 | 安徽华速达电子科技有限公司 | 跨网段操作局域网设备控制器的方法及智能光网络设备 |
CN111835859B (zh) * | 2020-07-20 | 2022-11-15 | 安徽华速达电子科技有限公司 | 跨网段操作局域网设备控制器的方法及智能光网络设备 |
CN112866115A (zh) * | 2020-12-31 | 2021-05-28 | 杭州迪普科技股份有限公司 | 一种实现透明串接的方法、装置、电子设备及存储介质 |
CN114390008A (zh) * | 2021-11-22 | 2022-04-22 | 裕太微电子股份有限公司 | 一种以太网二层转发表的学习方法及系统 |
CN114390008B (zh) * | 2021-11-22 | 2024-04-02 | 裕太微电子股份有限公司 | 一种以太网二层转发表的学习方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2017206787A1 (zh) | 2017-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107465617A (zh) | 通信网络设备的报文转发控制方法及通信网络设备 | |
CN107733670B (zh) | 一种转发策略配置方法和装置 | |
CN107733799B (zh) | 一种报文传输方法和装置 | |
US10200212B2 (en) | Accessing IP network and edge devices | |
US9525563B2 (en) | Forwarding packets in an edge device | |
US8718071B2 (en) | Method to pass virtual local area network information in virtual station interface discovery and configuration protocol | |
US7447166B1 (en) | Method to distribute IEEE 802.1X authenticated users among multiple broadcast domains | |
US20170230197A1 (en) | Packet transmission method and apparatus | |
CN102137001B (zh) | 交换路由信息的方法、设备和系统 | |
CN107547346B (zh) | 一种报文传输方法和装置 | |
CN109729012A (zh) | 一种单播报文传输方法和装置 | |
CN103944867A (zh) | 动态主机配置协议报文的处理方法、装置和系统 | |
US9197598B2 (en) | MAC address distribution | |
CN104184663A (zh) | 基于软件定义网络和一体化标识网络的通信方法和装置 | |
CN102857428A (zh) | 一种基于访问控制列表的报文转发方法和设备 | |
CN110535744A (zh) | 报文处理方法、装置及Leaf设备 | |
CN105991438B (zh) | 基于虚拟二层网络中数据包的处理方法和装置 | |
US8914503B2 (en) | Detected IP link and connectivity inference | |
CN105207909B (zh) | 一种发送信息的方法和网络装置 | |
CN107820262A (zh) | 参数配置方法、装置及系统 | |
US20190007279A1 (en) | Control apparatus, communication system, virtual network management method, and program | |
CN105515995B (zh) | 报文处理方法及装置 | |
CN105490911A (zh) | 虚拟局域网的映射方法和装置 | |
CN106533984B (zh) | 一种社会资源的接入方法及装置 | |
CN110391984B (zh) | 一种报文转发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20171212 |
|
WD01 | Invention patent application deemed withdrawn after publication |