跨多链路透明连接trill网络的报文转发方法和设备的制造方法_3

文档序号:8499909阅读:来源:国知局
L解封装后的报文发送至所述RB的网板,由网板确定接收的报文进行三层转发时,在本网板本地的三层表项中查找到与报文的目的IP地址匹配的三层表项,将报文的源MAC地址修改为所述RB的网关MAC地址,将报文的目的MAC地址修改为所述匹配的三层表项中的MAC地址,将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板进行转发。即通过网关RB实现了不同RB之间的三层访问功能,且整个过程只是在网关RB内部执行,没有浪费任何带宽资源,做到了报文线速转发的目的。
[0069]下面通过一个实施例对图2所示流程进行描述:
[0070]以图3所示的组网为例,主机(Host)A、HostB的IP地址不在同一个网段,RBl作为网关,RBl包含主控板、接口板和网板。主控板在本申请中不重点涉及,图3未示出,网板采用具有转发功能和表项功能的芯片,以与接口板中的交换芯片相同为例。图3仅示出RBl的三个接口板为例。
[0071 ] 以HostA访问HostB为例,则,
[0072]HostA向HostB发送报文。HostA发送的报文中至少包含源MAC地址(C-SA)、目的MAC地址(C-DA)、载荷(Ethernet Payload,其至少包含源IP地址、目的IP地址以及报文数据内容),其中,源MAC地址为HostA的MAC地址,目的MAC地址为RBl的网关MAC地址,源IP地址为HostA的IP地址,目的IP地址为HostB的IP地址。
[0073]HostA发送的报文到达TRILL网络中的RB2,由RB2对该报文进行TRILL封装,为便于描述,这里将TRILL封装的报文称为报文O。
[0074]RB2将报文O发送至作为网关的RBl。
[0075]RBl的接口板I通过连接的端口(图3以端口 10为例)收到报文O。
[0076]接口板I对报文O进行TRILL解封装。为便于描述,这里将TRILL解封装后的报文O称为报文I。
[0077]接口板I识别报文I的目的MAC地址,发现目的MAC地址为网关RB的网关MAC地址、且进一步发现报文I携带的VLAN ID为预先指定的使能了三层转发的其中一个VLANID(S卩,该VLAN ID包含于图3中各报文中所携带的VLAN tag中),基于此,接口板I确定报文I进行三层转发,对报文I进行第一内部封装,第一内部封装的第一目的mod为第一虚拟芯片标识(图3以chipOl为例),第一内部封装的第一目的port为第一虚拟端口标识(图3以Portl为例)。为便于描述,这里将第一内部封装后的报文I称为报文2。
[0078]如图3所示,接口板I通过聚合了互连口 11、互连口 12、互连口 13的聚合组与各网板连接,则接口板I从本接口板I连接各网板的聚合组中选择一个互连口,比如选择图3所示的互连口 11将报文2发送至网板I。接口板I选择互连口的方式可预先设置,比如哈希算法,通过对报文2的目的IP地址进行哈希运算,选择编号与哈希运算结果对应的互连
□ O
[0079]网板I接收到报文2,从报文2的第一内部封装头中识别出第一目的mod和第一目的port分别为chipOl和Portl,正好依次是第一虚拟芯片标识和第一虚拟端口标识,则对报文2的第一内部封装进行解封装(即恢复了上述的报文I)。
[0080]网板I识别报文I的目的MAC地址,发现报文I的目的MAC地址正好是RBl的网关MAC地址,确定本网板I需要对报文I进行三层转发。
[0081]网板I在本网板I本地的三层表项中查找到与报文I的目的IP地址匹配的三层表项,则将报文I的源MAC地址修改为RBl的网关MAC地址、将报文I的目的MAC地址修改为查找到的三层表项中的MAC地址(实质是HostB的MAC地址)。为便于描述,这里将源MAC地址、目的MAC地址修改后的报文I称为报文3。
[0082]网板I识别该找到的三层表项中的出端口,图3以该出端口为VLAN端口为例,假如该VLAN端口是单一的物理端口组成,则认为该单一的物理端口为目标出端口,将该目标出端口连接的接口板为与查找到的三层表项中的出端口相关联的接口板,为便于描述,这里假设该单一的物理端口连接的接口板为接口板2。
[0083]网板I对报文3进行第二内部封装,为便于描述,这里将第二内部封装的报文3称为报文4。第二内部封装包含第二目的mod、第二目的port。第二目的mod为:接口板2上用于转发报文的芯片的标识(图3以芯片标识为Chip02为例描述)。第二目的port为目标出端口(图3以端口 20为例描述)。
[0084]网板I通过本网板I连接接口板2的互连口将报文4发送至接口板2。
[0085]接口板2接收网板发送的报文4,从报文4的第二内部封装头中确定出第二目的mod和第二目的port ;如果确定出的第二目的mod为本接口板上用于转发报文的芯片(Chip02)的标识且第二目的port为本接口板连接的物理端口的标识即端口 20,则对报文4的第二内部封装进行解封装(即恢复了上述的报文3)。
[0086]接口板2通过第二目的port即端口 20对应的出端口发送报文3。
[0087]最终,报文会到达HostB,即在网关RB上实现了从TRILL网络至VLAN的报文转发。
[0088]需要说明的是,在报文3中,因为VLAN tag是一个可选项(opt1nal)。那么在携带VLAN tag时,该VLAN端口为Trunk 口,在该VLAN端口处,会保留VLAN tag,此时该报文3可以经过一个交换设备(未图示)进行二层转发再转发到HostB ;如果VLAN端口是一个Access 口时,在该VLAN端口处,会剥掉VLAN tag,那么该报文3可以直接转发给HostB。
[0089]另外,网关RB也可能通过一个不支持VLAN的交换设备(未图示)再连接HostB,那么此时VLAN端口也可以剥掉报文3的VLAN tag,并不携带VLAN tag转发给该交换设备。
[0090]假如在上面描述中,网板I识别该找到的三层表项中的出端口,发现该出端口为TRILLTunnel 口,假如该TRILLTunnel 口是单一的物理端口(TRILLTunnel 口为聚合端口的原理类似,图4不再体现)组成,则如图4所示,网板I会认为该单一的物理端口为目标出端口,将该目标出端口连接的接口板为与查找到的三层表项中的出端口相关联的接口板,为便于描述,这里假设该单一的物理端口连接的接口板为接口板3。
[0091 ] 网板I对报文3进行第三内部封装,为便于描术,这里将第三内部封装的报文称为报文33 ;第三内部封装包含:第三目的mod、第三目的port ;第三目的mod为:接口板3上用于转发报文的芯片的标识(图4以芯片标识为Chip03为例描述),第三目的port为第三虚拟端口标识(图4以端口标识为Port3为例描述)。
[0092]网板I通过本网板I连接接口板3的互连口将报文33发送至接口板3。
[0093]接口板3接收网板发送的报文33,从报文33的第三内部封装头中确定出第三目的mod和第三目的port ;如果确定出的第三目的mod为本接口板上用于转发报文的芯片的标识、且确定出的第三目的port为第三虚拟端口标识,则对报文的第三内部封装进行解封装(即恢复了上述的报文3)。
[0094]接口板3依据报文3携带的目的MAC地址和VLAN ID从本接口板本地的二层表项中查找到匹配的二层表项,依据所述匹配的二层表项中的封装表项索弓I在本接口板本地的封装表项中找到对应的封装表项,通过找到的封装表项中的TRILL封装信息对报文3进行TRILL封装(TRILL封装后的报文3称为报文34)并通过所述匹配的二层表项中的出端口(这里以端口 30为例)转发。
[0095]最终,报文会到达HostB,即在网关RB上实现了从TRILL网络至TRILL网络的报文转发。
[0096]以上对本发明提供的方法进行了描述,下面对本发明提供的设备进行描述:
[0097]参见图5,图5为本发明提供的设备结构图。该设备应用于作为网关的RB,所述作为网关的RB至少由接口板、网板组成,接口板、网板的个数均为I个以上,网板采用具有转发功能和表项功能的芯片,如图5所示,该设备可包括:
[0098]接口板处理单元,处于所述RB的接口板,接收TRILL封装的报文,对所述报文进行TRILL解封装,确定TRILL解封装后的报文进行三层转发,则将所述TRILL解封
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1