CN102307141B - 报文转发方法和设备 - Google Patents
报文转发方法和设备 Download PDFInfo
- Publication number
- CN102307141B CN102307141B CN201110237518.3A CN201110237518A CN102307141B CN 102307141 B CN102307141 B CN 102307141B CN 201110237518 A CN201110237518 A CN 201110237518A CN 102307141 B CN102307141 B CN 102307141B
- Authority
- CN
- China
- Prior art keywords
- board
- node board
- path
- message
- source node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000006870 function Effects 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 5
- 238000004422 calculation algorithm Methods 0.000 claims description 4
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种报文转发方法和设备,涉及无线通信技术领域,用于提高报文转发的可靠性。本方法中,源节点板确定待转发报文所要到达的目的节点板,根据预先保存的源节点板与目的节点板之间的路径的状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径,并确定选择的路径所对应的与源节点板相连的交换板;将待转发报文发送给确定的交换板,该交换板将待转发报文转发出去。采用本发明可以提高报文转发的可靠性。
Description
技术领域
本发明涉及无线通信领域,尤其涉及一种报文转发方法和设备。
背景技术
随着数据业务越来越丰富,用户与业务量呈现出指数性的增长,在网络的关键节点和核心网络设备上,网络流量迅速增大,这些对设备的处理性能有越来越高的要求,传统系统架构都已无法满足这样高的处理需求,使得网络的瓶颈从传输带宽转移到系统设备的处理能力上。
传统的系统设备中交换板通常工作在主备模式下,即所有节点板使用主用交换板进行通讯,备用交换板正常情况下都是完全空闲的,这对网络是很大的浪费。为了提高设备的处理能力,改进的系统设备在增加交换板数量的同时,要求交换板工作在全活工作模式下,即所有的交换板同时工作。如图1所示,系统设备内设置有至少一个节点板和至少一个交换板,每个节点板通过背板与各交换板相连,在全活模式下,节点板根据报文分发策略等,进行交换通道选路,确定某个报文通过哪一块交换板发送出去。
系统设备内设置的节点板分为两种,一种是板内无交换芯片的节点板,另一种是板内有交换芯片的节点板,其中交换芯片用于扩展网络端口。
下面以设置有四个交换板的四交换面系统设备为例进行说明。
如图2A所示,对于板内无交换芯片的节点板,节点板的CPU在发送报文前,可以通过报文分发策略从4个网络端口中选择一个网络端口,并将报文通过选择的网络端口发送给对应的交换板,交换板再将报文发送出去。
如图2B所示,对于板内有交换芯片的节点板,CPU与板内的交换芯片通过1~4个网络端口相连,而通过交换芯片扩展出的4个网络端口与4个交换板相连。节点板的CPU在发送报文前,可以通过报文分发策略从与交换板间的4个网络端口中选择一个网络端口,并将携带选择的网络端口的标识信息的报文发给交换芯片,交换芯片将报文通过选择的网络端口发送给对应的交换板,交换板再将报文发送出去。
对于上述两种节点板,都可以实现虚拟端口功能,使节点板上的、与交换板相连的所有网络端口聚合成一个具有相同的物理参数(包括IP地址和MAC地址)的虚拟端口,这样可以屏蔽物理底层差异性,只需控制一个虚拟端口,实现相对简单。
具体可以利用绑定(Bonding)技术将节点板上的多个网络端口捆绑为单个网络端口来实现虚拟端口功能。
下面对Bonding技术的原理进行简述。
在网卡驱动程序之上、数据链路层之下实现一个虚拟层即Bonding驱动层,Bonding驱动层提供了一个将多个网络端口捆绑为单个的网络端口来使用的功能,在Linux操作系统中,它是以模块形式存在的。
现有技术中提供了7种Bonding工作模式,如下表所示:
在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:
现有技术中节点板按照上述7种Bonding工作模式选择转发报文所使用的网络端口,然后由该网络端口对应的交换板将报文转发出去,在该交换板与目的节点板之间的路径可能出现故障时,该报文并不能按时到达目的节点板,使得报文转发的可靠性较差。
发明内容
本发明实施例提供一种报文转发方法和设备,用于提高报文转发的可靠性。
一种报文转发方法,应用于包括至少一个节点板、至少一个交换板以及中间背板的机框设备中,每个节点板通过中间背板与各交换板相连,该方法包括:
源节点板确定待转发报文所要到达的目的节点板;
源节点板根据预先保存的源节点板与目的节点板之间的路径的状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径,并确定选择的路径所对应的与源节点板相连的交换板;
源节点板将待转发报文发送给确定的交换板,该交换板将待转发报文转发出去。
一种机框设备,该机框设备中设置有至少一个节点板、至少一个交换板以及中间背板,每个节点板通过中间背板与各交换板相连;
所述节点板包括处理器,该处理器用于确定待转发报文所要到达的目的节点板;根据预先保存的本节点板与目的节点板之间的路径的状态信息,选择一条本节点板与目的节点板之间的处于通路状态的路径,并确定选择的路径所对应的与本节点板相连的交换板;将待转发报文发送给确定的交换板;
所述交换板用于,接收来自节点板的待转发报文,将该待转发报文转发出去。
本方案中,源节点板确定待转发报文所要到达的目的节点板,根据预先保存的源节点板与目的节点板之间的路径的状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径,并确定选择的路径所对应的与源节点板相连的交换板;将待转发报文发送给确定的交换板,该交换板将待转发报文转发出去。由于本发明中的源节点板在转发报文时所使用的交换板,是源节点板与目的节点板之间的处于通路状态的路径上的与源节点板相连的交换板,因此可以通过处于通路状态的路径将报文发送到目的节点单板,使得报文可以按时到达目的节点板,从而提高了报文转发的可靠性。
附图说明
图1为现有技术中的机框设备结构示意图;
图2A为现有技术中的无交换芯片的节点板结构示意图;
图2B为现有技术中的有交换芯片的节点板结构示意图;
图3为本发明实施例提供的方法流程示意图;
图4A为本发明实施例中的共享内存数据组织结构示意图;
图4B为本发明实施例中的报文转发示意图。
具体实施方式
为了提高报文转发的可靠性,本发明实施例提供一种报文转发方法,本方法中,节点板在转发报文前选择一条本节点板与目的节点板之间的处于通路状态的路径,并通过选择的路径所对应的与源节点板相连的交换板,将待转发报文转发出去。
该方法可以应用于包括至少一个机架的系统中,每个机架中设置有至少一个机框设备,每个机框设备中设置有至少一个节点板、至少一个交换板以及中间背板,每个节点板通过本机框中的中间背板与本机框中的各交换板相连。
参见图3,本发明实施例提供的报文转发方法,包括以下步骤:
步骤30:源节点板确定待转发报文所要到达的目的节点板;
步骤31:源节点板根据预先保存的源节点板与目的节点板之间的路径的状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径,并确定选择的路径所对应的与源节点板相连的交换板,即确定选择的路径上的与源节点板相连的交换板,该交换板为该路径的初始节点,因为机框设备中的节点板都是通过与其相连的交换板与外部设备通信的;
步骤32:源节点板将待转发报文发送给确定的交换板,该交换板将待转发报文转发出去。
步骤30中,源节点板确定待转发报文所要到达的目的节点板,其具体实现可以如下:
源节点板解析待转发报文的帧头,得到目的节点板的地址信息,根据预先设定的节点板地址信息构成规则,从所述目的节点板的地址信息中读取目的节点板所在的机架、机框和槽道的信息;例如,若目的节点板的地址信息为IP地址,IP地址的构成规则为:IP地址=192.168.机架(4位)机框(4位).CPU号(3位)槽道(5位),则可以从IP地址中读取目的节点板所在的机架、机框和槽道的信息;若目的节点板的地址信息为MAC地址,MAC地址的构成规则为:MAC地址=00:14:C0:A8:机架(4位)机框(4位):CPU号(3位)槽道(5位),则可以从MAC地址中读取目的节点板所在的机架、机框和槽道的信息。
相应的,步骤31中,源节点板根据预先保存的源节点板与目的节点板之间的路径的状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径,其具体实现可以如下:
源节点板从共享内存中读取所述机架、所述机框和所述槽道所对应的路径状态信息,该路径状态信息中包含目的节点板与源节点板之间的路径的状态信息;
源节点板根据读取到路径状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径。
进一步的,在源节点板确定待转发报文所要到达的目的节点板之前,源节点板确定源节点板与系统中各其他节点板之间的路径的状态;以及,
源节点板对于确定的源节点板与各其他节点板之间的路径的状态,将该状态的信息与该其他节点板所在的机架、机框和槽道的信息对应保存在共享内存中。
具体的,源节点板确定源节点板与系统中各其他节点板之间的路径的状态,其具体实现可以如下:
对于源节点板所在机框内的各其他节点板,若源节点板接收到该其他节点板发送的故障中断信息,则确定源节点板与该其他节点板之间的路径处于断路状态;否则,确定源节点板与该其他节点板之间的路径处于通路状态;
对于源节点板与其他各机框中的各节点板,源节点板向该其他节点板发送心跳信号,若接收到该其他节点板返回的响应信号,则确定源节点板与该其他节点板之间的路径处于通路状态;否则,确定源节点板与该其他节点板之间的路径处于断路状态。
步骤32中,源节点板将待转发报文发送给确定的交换板,其具体实现可以如下:
源节点板将待转发报文放入确定的交换板对应的网络端口上,该网络端口将待转发报文发送给对应的交换板;或者,
源节点板将待转发报文发送给源节点板内的交换芯片,该待转发报文中携带有确定的交换板对应的网络端口的信息;交换芯片将待转发报文发送给所述网络端口,该网络端口将待转发报文发送给对应的交换板。
较佳的,为了避免多交换面带来的交换环路问题,源节点板发送给交换芯片的待转发报文中还携带确定的交换板对应的虚拟本地局域网(VLAN)号。因为在交换网络中,当交换机或交换板或交换芯片收到一个目的地址未知的报文时,它会将这个数据帧广播出去,这样在存在物理环路的交换网络中,就会产生双向的广播环,甚至产生广播风暴,导致交换资源耗尽。而在本发明中,交换板之间或交换板与交换芯片间是互相连接的,这些都构成了环路,就有可能会引起网络广播风暴;而使用VLAN后,报文是不会走不同VLAN号的交换端口,就可以避免交换环路问题。
具体的,源节点在选择一条源节点板与目的节点板之间的处于通路状态的路径时,若源节点板根据预先保存的源节点板与目的节点板之间的路径的状态信息,确定源节点板与目的节点板之间存在多条处于通路状态的路径,则根据负载均衡算法等从该多条路径中选择一条路径;例如,从该多条路径中选择一条负载最小的路径;
若源节点板根据预先保存的源节点板与目的节点板之间的路径的状态信息,确定源节点板与目的节点板之间存在一条处于通路状态的路径,则直接选择该条路径。
具体的,本方法的执行主体为源节点板的绑定(bonding)模块,该bonding模块用于实现将源节点板上与交换板相连的多个网络端口聚合成一个具有相同的物理参数的虚拟端口的功能。
下面结合具体实施例对本发明进行说明:
首先对Linux系统中的Bonding模块的工作原理进行简单了解。
Bonding模块本质上是一个虚拟网卡(即将节点板上与交换板相连的多个网络端口聚合成的一个具有相同的物理参数的虚拟端口),只不过并没有真实的物理网卡(即网络端口)与之对应,而是由这个虚拟网卡去管理一系列的真实的物理网卡。发送数据包时,Bonding模块根据路由选择某一个虚拟网卡作为发送接口,最后调用该虚拟网卡的数据包传输接口net_device->hard_start_xmit,注意此时该数据包中的dev字段指向虚拟网卡。net_device->hard_start_xmit接口根据不同的工作模式指向不同的传输函数,例如对于Round-robin policy 模式,net_device->hart_start_xmit 接口指向bond_xmit_roundrobin传输函数,其他模式类似。但是无论是何种工作模式,最后bond_dev_queue_xmit函数都将被调用(以一个选定的物理网卡作为参数调用)。
bond_dev_queue_xmit函数将作如下操作:
skb->dev=slave_dev;
即替换skb的dev字段为选定的物理网卡。
随后,bond_dev_queue_xmit将调用标准的内核接口dev_queue_xmit把数据包放入选定物理网卡的发送队列中。
本发明将重新定义一种新的Bonding工作模式:多交换面路径动态选择模式。
多交换面路径动态选择模式主要分为以下几个单元:
共享内存单元:共享内存单元是节点板处理器用来存放本节点板与其他节点板间的路径状态信息,是多交换动态路径选择单元选择路径的依据。其内容存放地址、格式是双方约定好的。
数据格式举例如下:
其中:“SHELF_MAX”表示系统最大的机架数;“FRAME_MAX”表示一个机架内有多少个机框;“SWITCH_MAX”表示一个机框内部有多少块交换板。
更新交换状态单元:用于实时监控并更新共享内存中的状态信息,对于本节点板所在机框内的各其他节点板,若本节点板接收到该其他节点板发送的故障中断信息,则确定本节点板与该其他节点板之间的路径处于断路状态;否则,确定本节点板与该其他节点板之间的路径处于通路状态。对于本节点板与其他各机框中的各节点板,本节点板向该节点板发送心跳信号,若接收到该节点板返回的响应信号,则确定本节点板与该节点板之间的路径处于通路状态;否则,确定本节点板与该其他节点板之间的路径处于断路状态。同时还需要将路径的状态信息进行整理并按照共享内存的格式存放。
目的节点板架框槽信息计算单元:用于在转发报文前,通过解析报文二层帧头,可以知道目的MAC地址,而通过这个MAC地址可以计算出目的节点板的架框槽信息。
这里约定系统内部板卡的MAC地址是根据架框槽信息计算出来的。当然如果知道了MAC地址,通过反算可以得到所要的架框槽信息。
多交换动态路径选择单元:用于根据共享内存中的信息选择一条本节点板与报文的目的节点板之间的处于通路状态的路径,并确定选择的路径所对应的与源节点板相连的交换板;将待转发报文发送给确定的交换板,由该交换板将待转发报文转发出去。为了防止多交换面带来的环路等问题,规划每个节点板所连的交换板端口分别对应不同的VLAN,这个VLAN号与交换板的ID标识是一一对应的,在发送前将这个VLAN号填入报文二层的帧头中,这样节点板上的交换芯片就将报文转发到所对应的交换板上。
共享内存单元的初始化是在系统启动后就开始执行的,同时在节点板上利用中断和启动软件心跳来获取路径状态信息,并按照约定好的数据结构将这些状态信息存放在共享内存里,Bonding模块在转发报文前通过目的节点板架框槽信息计算单元得到目的节点板的架框槽信息,然后将这些架框槽信息传递给多交换动态路径选择单元进行选路。图4A是共享内存中的数据组织结构图,图4B是节点板中的Bonding模块的工作原理示意框图。
注:在函数bond_dev_queue_xmit中通过vlan_put_tag方法将所选择的交换板对应的VLAN值写入报文的skb中。
实施例一:
本实施例对应于图2A所示的节点板结构,具体如下:
步骤1:源节点板的bonding模块接收到待转发数据包;
步骤2:bonding模块在转发待转发数据包前,根据路由信息选择一个虚拟端口作为发送接口,该发送接口调用该虚拟端口的数据包传输接口,该数据包传输接口调用当前bonding工作模式对应的传输函数,该传输函数确定待转发报文所要到达的目的节点板,根据预先保存的源节点板与目的节点板之间的路径的状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径,并确定选择的路径所对应的与源节点板相连的交换板,并将确定的交换板对应的网络端口的信息作为输入参数调用发送函数,该发送函数通过调用标准的内核接口将待转发报文放入确定的交换板对应的网络端口上,该网络端口将待转发报文发送给对应的交换板;
步骤3:交换板将接收到的待转发报文转发出去。
实施例二:
本实施例对应于图2B所示的节点板结构,具体如下:
步骤1:源节点板的bonding模块接收到待转发数据包;
步骤2:bonding模块在转发待转发数据包前,根据路由信息选择一个虚拟端口作为发送接口,该发送接口调用该虚拟端口的数据包传输接口,该数据包传输接口调用当前bonding工作模式对应的传输函数,该传输函数确定待转发报文所要到达的目的节点板,根据预先保存的源节点板与目的节点板之间的路径的状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径,并确定选择的路径所对应的与源节点板相连的交换板,并将确定的交换板对应的网络端口的信息作为输入参数调用发送函数,该发送函数通过调用标准的内核接口将待转发报文发送给源节点板内的交换芯片,该待转发报文中携带有确定的交换板对应的网络端口的信息;交换芯片将待转发报文发送给所述网络端口,该网络端口将待转发报文发送给对应的交换板;
步骤3:交换板将接收到的待转发报文转发出去。
本发明实施例提供一种机框设备,该机框设备中设置有至少一个节点板、至少一个交换板以及中间背板,每个节点板通过中间背板与各交换板相连;
所述节点板包括处理器,该处理器用于确定待转发报文所要到达的目的节点板;根据预先保存的本节点板与目的节点板之间的路径的状态信息,选择一条本节点板与目的节点板之间的处于通路状态的路径,并确定选择的路径所对应的与本节点板相连的交换板;将待转发报文发送给确定的交换板;
所述交换板用于,接收来自节点板的待转发报文,将该待转发报文转发出去。
进一步的,所述处理器用于:
解析待转发报文的帧头,得到目的节点板的地址信息,根据预先设定的节点板地址信息构成规则,从所述目的节点板的地址信息中读取目的节点板所在的机架、机框和槽道的信息;
从共享内存中读取所述机架、所述机框和所述槽道所对应的路径状态信息,该路径状态信息中包含目的节点板与本节点板之间的路径的状态信息;
根据读取到路径状态信息,选择一条本节点板与目的节点板之间的处于通路状态的路径。
进一步的,所述处理器还用于:
确定本节点板与系统中各其他节点板之间的路径的状态;
对于确定的本节点板与各其他节点板之间的路径的状态,将该状态的信息与该其他节点板所在的机架、机框和槽道的信息对应保存在共享内存中。
进一步的,所述处理器用于:
对于所在机框内的各其他节点板,若接收到该其他节点板发送的故障中断信息,则确定本节点板与该其他节点板之间的路径处于断路状态;否则,确定本节点板与该其他节点板之间的路径处于通路状态;
对于本节点板与其他各机框中的各节点板,向该其他节点板发送心跳信号,若接收到该其他节点板返回的响应信号,则确定本节点板与该其他节点板之间的路径处于通路状态;否则,确定本节点板与该其他节点板之间的路径处于断路状态。
进一步的,所述处理器用于:
将待转发报文放入确定的交换板对应的网络端口上,该网络端口将待转发报文发送给对应的交换板;或者,
将待转发报文发送给本节点板内的交换芯片,该待转发报文中携带有确定的交换板对应的网络端口的信息;交换芯片将待转发报文发送给所述网络端口,该网络端口将待转发报文发送给对应的交换板。
进一步的,所述处理器还用于:
在发送给交换芯片的待转发报文中携带确定的交换板对应的VLAN号。
进一步的,所述处理器用于:
若根据预先保存的本节点板与目的节点板之间的路径的状态信息,确定本节点板与目的节点板之间存在多条处于通路状态的路径,则根据负载均衡算法从该多条路径中选择一条路径;
若根据预先保存的本节点板与目的节点板之间的路径的状态信息,确定本节点板与目的节点板之间存在一条处于通路状态的路径,则直接选择该条路径。
综上,本发明的有益效果包括:
本发明实施例提供的方案中,源节点板确定待转发报文所要到达的目的节点板,根据预先保存的源节点板与目的节点板之间的路径的状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径,并确定选择的路径所对应的与源节点板相连的交换板;将待转发报文发送给确定的交换板,该交换板将待转发报文转发出去。由于本发明中的源节点板在转发报文时所使用的交换板,是源节点板与目的节点板之间的处于通路状态的路径上的与源节点板相连的交换板,因此可以通过处于通路状态的路径将报文发送到目的节点单板,使得报文可以按时到达目的节点板,从而提高了报文转发的可靠性。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种报文转发方法,应用于包括至少一个节点板、至少一个交换板以及中间背板的机框设备中,每个节点板通过中间背板与各交换板相连,其特征在于,该方法包括:
源节点板确定待转发报文所要到达的目的节点板;
源节点板根据预先保存的源节点板与目的节点板之间的路径的状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径,并确定选择的路径上与源节点板相连的交换板;
源节点板将待转发报文发送给确定的交换板,该交换板将待转发报文转发出去;
其中,该方法的执行主体为源节点板的绑定bonding模块,该bonding模块用于实现将源节点板上与交换板相连的多个网络端口聚合成一个具有相同的物理参数的虚拟端口的功能;
所述源节点板将待转发报文发送给确定的交换板包括:源节点板将待转发报文放入确定的交换板对应的网络端口上,该网络端口将待转发报文发送给对应的交换板;或者,源节点板将待转发报文发送给源节点板内的交换芯片,该待转发报文中携带有确定的交换板对应的网络端口的信息;交换芯片将待转发报文发送给所述网络端口,该网络端口将待转发报文发送给对应的交换板;所述源节点板发送给交换芯片的待转发报文中还携带确定的交换板对应的虚拟局域网VLAN号;
所述源节点板确定待转发报文所要到达的目的节点板包括:源节点板解析待转发报文的帧头,得到目的节点板的地址信息,根据预先设定的节点板地址信息构成规则,从所述目的节点板的地址信息中读取目的节点板所在的机架、机框和槽道的信息;
所述源节点板根据预先保存的源节点板与目的节点板之间的路径的状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径包括:源节 点板从共享内存中读取所述机架、所述机框和所述槽道所对应的路径状态信息,该路径状态信息中包含目的节点板与源节点板之间的路径的状态信息;源节点板根据读取到路径状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径。
2.如权利要求1所述的方法,其特征在于,在源节点板确定待转发报文所要到达的目的节点板之前,该方法进一步包括:
源节点板确定源节点板与系统中各其他节点板之间的路径的状态;
源节点板对于确定的源节点板与各其他节点板之间的路径的状态,将该状态的信息与该其他节点板所在的机架、机框和槽道的信息对应保存在共享内存中。
3.如权利要求2所述的方法,其特征在于,所述源节点板确定源节点板与系统中各其他节点板之间的路径的状态包括:
对于源节点板所在机框内的各其他节点板,若源节点板接收到该其他节点板发送的故障中断信息,则确定源节点板与该其他节点板之间的路径处于断路状态;否则,确定源节点板与该其他节点板之间的路径处于通路状态;
对于源节点板与其他各机框中的各节点板,源节点板向该其他节点板发送心跳信号,若接收到该其他节点板返回的响应信号,则确定源节点板与该其他节点板之间的路径处于通路状态;否则,确定源节点板与该其他节点板之间的路径处于断路状态。
4.如权利要求1所述的方法,其特征在于,所述源节点板根据预先保存的源节点板与目的节点板之间的路径的状态信息,选择一条源节点板与目的节点板之间的处于通路状态的路径包括:
若源节点板根据预先保存的源节点板与目的节点板之间的路径的状态信息,确定源节点板与目的节点板之间存在多条处于通路状态的路径,则根据负载均衡算法从该多条路径中选择一条路径;
若源节点板根据预先保存的源节点板与目的节点板之间的路径的状态信 息,确定源节点板与目的节点板之间存在一条处于通路状态的路径,则直接选择该条路径。
5.一种机框设备,该机框设备中设置有至少一个节点板、至少一个交换板以及中间背板,每个节点板通过中间背板与各交换板相连,其特征在于:
所述节点板包括处理器,该处理器用于确定待转发报文所要到达的目的节点板;根据预先保存的本节点板与目的节点板之间的路径的状态信息,选择一条本节点板与目的节点板之间的处于通路状态的路径,并确定选择的路径所对应的与本节点板相连的交换板;将待转发报文发送给确定的交换板;
所述交换板用于,接收来自节点板的待转发报文,将该待转发报文转发出去;
其中,所述处理器用于:将待转发报文放入确定的交换板对应的网络端口上,该网络端口将待转发报文发送给对应的交换板;或者,将待转发报文发送给本节点板内的交换芯片,该待转发报文中携带有确定的交换板对应的网络端口的信息;交换芯片将待转发报文发送给所述网络端口,该网络端口将待转发报文发送给对应的交换板;并在发送给交换芯片的待转发报文中携带确定的交换板对应的VLAN号;
所述处理器用于:解析待转发报文的帧头,得到目的节点板的地址信息,根据预先设定的节点板地址信息构成规则,从所述目的节点板的地址信息中读取目的节点板所在的机架、机框和槽道的信息;从共享内存中读取所述机架、所述机框和所述槽道所对应的路径状态信息,该路径状态信息中包含目的节点板与本节点板之间的路径的状态信息;根据读取到路径状态信息,选择一条本节点板与目的节点板之间的处于通路状态的路径。
6.如权利要求5所述的机框设备,其特征在于,所述处理器还用于:
确定本节点板与系统中各其他节点板之间的路径的状态;
对于确定的本节点板与各其他节点板之间的路径的状态,将该状态的信息与该其他节点板所在的机架、机框和槽道的信息对应保存在共享内存中。
7.如权利要求6所述的机框设备,其特征在于,所述处理器用于:
对于所在机框内的各其他节点板,若接收到该其他节点板发送的故障中断信息,则确定本节点板与该其他节点板之间的路径处于断路状态;否则,确定本节点板与该其他节点板之间的路径处于通路状态;
对于本节点板与其他各机框中的各节点板,向该其他节点板发送心跳信号,若接收到该其他节点板返回的响应信号,则确定本节点板与该其他节点板之间的路径处于通路状态;否则,确定本节点板与该其他节点板之间的路径处于断路状态。
8.如权利要求5所述的机框设备,其特征在于,所述处理器用于:
若根据预先保存的本节点板与目的节点板之间的路径的状态信息,确定本节点板与目的节点板之间存在多条处于通路状态的路径,则根据负载均衡算法从该多条路径中选择一条路径;
若根据预先保存的本节点板与目的节点板之间的路径的状态信息,确定本节点板与目的节点板之间存在一条处于通路状态的路径,则直接选择该条路径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110237518.3A CN102307141B (zh) | 2011-08-18 | 2011-08-18 | 报文转发方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110237518.3A CN102307141B (zh) | 2011-08-18 | 2011-08-18 | 报文转发方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102307141A CN102307141A (zh) | 2012-01-04 |
CN102307141B true CN102307141B (zh) | 2014-10-29 |
Family
ID=45380953
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110237518.3A Active CN102307141B (zh) | 2011-08-18 | 2011-08-18 | 报文转发方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102307141B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571587B (zh) * | 2012-01-13 | 2014-11-12 | 大唐移动通信设备有限公司 | 报文转发方法和设备 |
CN105577562B (zh) * | 2014-10-17 | 2020-02-14 | 中兴通讯股份有限公司 | 业务数据流的发送、转发方法及装置 |
CN104468405B (zh) * | 2014-11-10 | 2018-03-30 | 上海市共进通信技术有限公司 | 吉比特无源光网络系统中实现网络物理端口汇聚的方法 |
CN104852858B (zh) * | 2015-03-24 | 2018-11-27 | 新华三技术有限公司 | 一种流量转发方法和设备 |
CN107579925B (zh) * | 2017-09-29 | 2021-02-12 | 迈普通信技术股份有限公司 | 报文转发方法及装置 |
CN109661037B (zh) * | 2017-10-12 | 2023-07-04 | 中兴通讯股份有限公司 | 一种sfc报文转发方法及设备 |
CN110768869B (zh) * | 2019-10-28 | 2021-03-02 | 珠海格力电器股份有限公司 | 多联机系统的分户计费方法、装置和计算机设备 |
CN113709004B (zh) * | 2021-09-03 | 2023-06-06 | 天津津航计算技术研究所 | 一种Linux系统下主从模式网口绑定时接收流量的监控方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937782A (zh) * | 2006-08-04 | 2007-03-28 | 华为数字技术有限公司 | 一种机框设备及其报文发送方法 |
CN101098238A (zh) * | 2007-06-29 | 2008-01-02 | 华为技术有限公司 | 一种数据通信系统、交换网板及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101980487B (zh) * | 2010-10-22 | 2014-11-05 | 中兴通讯股份有限公司 | 一种路由选择出口的方法和装置 |
-
2011
- 2011-08-18 CN CN201110237518.3A patent/CN102307141B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937782A (zh) * | 2006-08-04 | 2007-03-28 | 华为数字技术有限公司 | 一种机框设备及其报文发送方法 |
CN101098238A (zh) * | 2007-06-29 | 2008-01-02 | 华为技术有限公司 | 一种数据通信系统、交换网板及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102307141A (zh) | 2012-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102307141B (zh) | 报文转发方法和设备 | |
JP7417825B2 (ja) | スライスベースルーティング | |
CN104468358B (zh) | 分布式虚拟交换机系统的报文转发方法及设备 | |
US20190044888A1 (en) | Methods and apparatus for providing services in a distributed switch | |
CN107819663B (zh) | 一种实现虚拟网络功能服务链的方法和装置 | |
CN100466629C (zh) | 一种网络设备和基于多核处理器的报文转发方法 | |
CN102857494B (zh) | 通用网络接口控制器 | |
EP2680536B1 (en) | Methods and apparatus for providing services in a distributed switch | |
US9008080B1 (en) | Systems and methods for controlling switches to monitor network traffic | |
WO2012082988A1 (en) | Methods for configuring network switches | |
CN102150399A (zh) | 减少桥接网络中的泛洪 | |
CN103401773A (zh) | 一种实现板间通信的方法及网络设备 | |
US11228524B1 (en) | Methods and apparatus for efficient use of link aggregation groups | |
CN101536427A (zh) | 链路聚合 | |
US9596137B1 (en) | Methods and apparatus for configuration binding in a distributed switch | |
CN111585911B (zh) | 数据中心网络流量负载的均衡方法 | |
WO2018004977A1 (en) | Technologies for adaptive routing using aggregated congestion information | |
WO2017084228A1 (zh) | 软件定义网络中流量项目的管理方法 | |
CN111464443B (zh) | 基于服务功能链的报文转发方法、装置、设备及存储介质 | |
CN106209634B (zh) | 地址映射关系的学习方法及装置 | |
CN103595649A (zh) | 实现负载均衡的方法和系统 | |
US11811685B1 (en) | Selective packet processing including a run-to-completion packet processing data plane | |
CN116074236A (zh) | 报文转发方法及装置 | |
CN109005120B (zh) | 一种报文处理方法及网络设备 | |
CN108924066B (zh) | 报文转发方法和装置 |
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 |