CN104821914B - 跨多链路透明连接trill网络的报文转发方法和设备 - Google Patents
跨多链路透明连接trill网络的报文转发方法和设备 Download PDFInfo
- Publication number
- CN104821914B CN104821914B CN201510222697.1A CN201510222697A CN104821914B CN 104821914 B CN104821914 B CN 104821914B CN 201510222697 A CN201510222697 A CN 201510222697A CN 104821914 B CN104821914 B CN 104821914B
- Authority
- CN
- China
- Prior art keywords
- message
- layers
- port
- list item
- matched
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了跨多链路透明连接TRILL网络的报文转发方法和设备。本发明中,网关RB的接口板接收TRILL封装的报文,对所述报文进行TRILL解封装,确定TRILL解封装后的报文进行三层转发,则将所述TRILL解封装后的报文发送至本RB的网板进行三层转发,由网板将执行完三层转发的报文发送至对应的接口板进行转发,最终实现了跨多链路透明连接TRILL网络的报文转发。本发明中,同一个网关RB实现了TRILL的三层访问功能,且整个过程只是在网关RB内部执行,没有浪费任何带宽资源,做到了报文线速转发的目的。
Description
技术领域
本申请涉及网络通信技术,特别涉及跨多链路透明连接(TRILL:TransparentInterconnect of lots of links)网络的报文转发方法和设备。
背景技术
目前,网关节点的硬件交换芯片即使支持三层转发,硬件交换芯片的转发逻辑也不允许三层转发,只能进行二层转发。
比如,图1所示的组网,PC发送的报文在非网关节点进行TRILL封装到达网关节点后,网关节点对报文进行TRILL解封装,发现报文的目的MAC地址是本网关节点的MAC地址,按照正常的处理方式网关节点对报文进行三层转发,但限于网关节点上硬件交换芯片的转发逻辑,即使网关节点的硬件交换芯片支持三层转发,网关节点也只能对解封装后的报文进行二层转发。
因此,一种在同一台设备上实现TRILL的三层网关功能以实现TRILL网络的三层转发是当前亟待解决的技术问题。
发明内容
本申请提供了跨多链路透明连接TRILL网络的报文转发方法和设备,用于在同一台设备上实现TRILL的三层网关功能以实现TRILL网络的三层转发。
本申请提供的技术方案包括:
一种跨多链路透明连接TRILL网络的报文转发方法,该方法应用于作为网关的路由桥RB,包括:
所述RB的接口板接收TRILL封装的报文,对所述报文进行TRILL解封装,确定TRILL解封装后的报文进行三层转发,则将所述TRILL解封装后的报文发送至所述RB的网板;
所述RB的网板接收接口板发送的报文,确定接收的报文由本网板进行三层转发,则在本网板本地的三层表项中查找到与报文的目的IP地址匹配的三层表项,将报文的源MAC地址修改为所述RB的网关MAC地址,将报文的目的MAC地址修改为所述匹配的三层表项中的MAC地址,将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板;
所述RB上与所述匹配的三层表项中的出端口相关联的接口板接收网板发送的报文,通过所述匹配的三层表项中的出端口转发接收的报文。
一种跨多链路透明连接TRILL网络的报文转发设备,该设备应用于作为网关的路由桥RB,包括:
接口板处理单元,处于所述RB的接口板,接收TRILL封装的报文,对所述报文进行TRILL解封装,确定TRILL解封装后的报文进行三层转发,则将所述TRILL解封装后的报文发送至所述RB的网板;以及,接收网板发送的报文,通过网板查找到的匹配的三层表项中的出端口转发接收的报文;
网板处理单元,处于所述RB的网板,接收接口板处理单元发送的报文,确定接收的报文由本网板进行三层转发,则在本网板本地的三层表项中查找到与报文的目的IP地址匹配的三层表项,将报文的源MAC地址修改为所述RB的网关MAC地址,将报文的目的MAC地址修改为所述匹配的三层表项中的MAC地址,将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板。
由以上技术方案可以看出,本发明中,网关RB的网板不再使用仅具有报文转发功能的网片,而是使用具有转发功能和表项功能的芯片比如与接口板相同的交换芯片,这样,当网关RB的接口板接收TRILL封装的报文时,对报文进行TRILL解封装,如果确定TRILL解封装后的报文进行三层转发,则将所述TRILL解封装后的报文重定向至所述RB的网板代理三层转发,即通过同一个网关RB实现了TRILL的三层网关功能,且整个过程只是在网关RB内部执行,没有浪费任何带宽资源,做到了报文线速转发的目的。
附图说明
图1为现有跨网络转发的应用组网图;
图2为本发明提供的方法流程图;
图3为本发明提供的实施例应用图;
图4为本发明提供的另一实施例应用图;
图5为本发明提供的设备结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
一般的框式交换机由主控板(main board)、接口板(I/O board)、网板(fabricboard)组成。主控板为用于实现协议栈计算、转发表项下发及控制、设备管理的单板。接口板为用于实现数据报文转发(包括内部转发和外部转发)的单板。网板为用于实现数据报文及控制报文在设备内部跨板、跨芯片转发的单板。其中,网板上的芯片只具有报文转发功能,用于在不同接口板之间中转报文。
路由桥(RB:Route Bridge)结构与现有的框式交换机的结构一样,由主控板、接口板、网板组成。在通常的应用中,接口板的个数大于1。
在TRILL应用中,RB的网板与现有框式交换机的网板一样设置,网板上的芯片只具有报文转发功能,仅负责在不同接口板之间中转报文。
本发明中,为了在同一个设备上实现TRILL的三层网关功能,可选择其中一个RB作为网关,对作为网关的RB(简称网关RB)进行改进,而对不作为网关的RB,可不作任何改进,仍按照现有的结构执行。
其中,对网关RB进行的改进包括:
网关RB的网板采用具有转发功能和表项功能的芯片,这里的表项功能至少包含接收并保存主控板下发的表项、表项查找等功能。优选地,作为一种较佳实施例,这里网板采用的芯片可以为网关RB的接口板所采用的交换芯片。
当网关RB上的网板采用具有转发功能和表项功能的芯片,这样,进入网关RB的报文可以通过网关RB的接口板和网板相互合作完成三层转发。下面通过图2对本发明提供的方法进行描述:
参见图2,图2为本发明提供的方法流程图。该方法应用于网关RB。如上所述,网关RB的网板不再采用仅具有报文转发功能的芯片,而是采用具有转发功能和表项功能的芯片比如与接口板相同的交换芯片。基于此,如图2所示,该流程可包括以下步骤:
步骤201,网关RB的接口板接收TRILL封装的报文,对所述报文进行TRILL解封装,确定TRILL解封装后的报文进行三层转发,则将所述TRILL解封装后的报文发送至网关RB的网板。
作为本发明的一个优选实施例,本步骤201中确定TRILL解封装后的报文进行三层转发包括:
确定所述TRILL解封装后的报文是否满足以下匹配条件:
所述TRILL解封装后的报文携带的VLAN标识(ID)为使能了三层转发的VLAN ID,所述TRILL解封装后的报文的目的MAC地址为本RB的网关MAC地址;
如果是,确定所述TRILL解封装后的报文进行三层转发。
作为本发明的一个实施例,本发明中,当确定所述TRILL解封装后的报文不满足以上的匹配条件,则直接对TRILL解封装后的报文进行二层转发。
本发明中,为方便确定TRILL解封装后的报文携带的VLAN ID是否使能了三层转发的VLAN ID,可预先在网关RB的接口板本地记录使能了三层转发的VLAN ID,基于此,网关RB的接口板就会以TRILL解封装后的报文携带的VLAN ID为关键字在所述记录中查找该关键字,如果查找到,则表示TRILL解封装后的报文携带的VLAN ID为使能了三层转发的VLANID,反之,如果查找不到,表示TRILL解封装后的报文携带的VLAN ID不为使能三层转发的VLAN ID。
作为本发明的一个实施例,步骤201中,为了保证TRILL解封装后的报文从接口板顺利发送至网板,一种较佳的实现方式是接口板对TRILL解封装后的报文进行用于转发至网板的内部封装,为便于描述,这里将该内部封装简称为第一内部封装。如此,步骤201中,接口板将TRILL解封装后的报文发送至所述RB的网板可包括:
步骤a1,将TRILL解封装后的报文进行第一内部封装。
这里,第一内部封装包含:第一目的芯片标识(mod)和第一目的端口标识(port),第一目的mod为第一虚拟芯片标识,第一目的port为第一虚拟端口标识。
优选地,作为本发明一个实例,第一虚拟芯片标识可为预先配置的用于指示网板可继续执行查表进行报文转发的虚拟芯片标识,第一虚拟端口标识可为预先配置的用于指示网板可继续执行查表进行报文转发的虚拟端口标识。当网关RB存在多个网板时,所有网板都会配置上述的第一虚拟芯片标识和第一虚拟端口标识。
步骤a2,在本接口板仅连接一个网板时,通过本接口板连接网板的互连口发送第一内部封装的报文;在本接口板连接多个网板时,通过与多个网板分别连接的互连口中的一个互连口发送第一内部封装的报文。
实际应用中,在本接口板连接多个网板时,本接口板与多个网板分别连接的互连口可聚合成一个聚合组。如此,在步骤a2中,通过与多个网板分别连接的互连口中的一个互连口发送第一内部封装的报文可包括:从所述聚合组中选择一个互连口,通过选择的一个互连口发送第一内部封装的报文。这里,从所述聚合组中选择一个互连口的方式有多种,比如随机选择一个互连口,或者按照一定的算法比如通过哈希算法选择一个互连口等,本发明并不具体限定。
通过上述步骤a1和步骤a2,网关RB的接口板会将TRILL解封装后的报文顺利发送至网关RB的网板。
步骤202,网关RB的网板接收接口板发送的报文,确定接收的报文由本网板进行三层转发,则在本网板本地的三层表项中查找到与报文的目的IP地址匹配的三层表项,将报文的源MAC地址修改为所述RB的网关MAC地址,将报文的目的MAC地址修改为所述匹配的三层表项中的MAC地址,将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板(该接口板简称匹配接口板)。
本步骤202中,网板本地的三层表项可以是主控板直接配置的,还可以是主控板按照类似现有三层表项的学习方式学习并下发给网板的,本发明并不具体限定。
基于上面步骤201描述的第一内部封装,则较佳地,步骤202中,网板确定接收的报文由本网板进行三层转发可包括:
从接收的报文的第一内部封装头中确定出第一目的mod和第一目的port;如果确定出的第一目的mod为所述第一虚拟芯片标识,第一目的port为所述第一虚拟端口标识,则对报文的第一内部封装进行解封装,识别解封装后的报文的目的MAC地址为所述RB的网关MAC地址,则确定接收的报文由本网板进行三层转发。
作为本发明的一个实施例,则上述中,当确定第一目的mod不为上述的第一虚拟芯片标识,和/或第一目的port不为上述的第一虚拟端口标识,则可以不对报文的第一内部封装进行解封装,直接按照第一内部封装的目的port继续转发报文即可,这类似现有网板转发报文的方式,不再展开描述。
本发明中,所述匹配的三层表项中的出端口的具体形式不同,则上述步骤202中将修改后的报文发送至匹配接口板的实现也就不同,下面进行具体描述:
方式1:
本方式1下,所述匹配的三层表项中的出端口为VLAN端口。
当所述匹配的三层表项中的出端口为VLAN端口时,上述步骤202中将修改后的报文发送至匹配接口板具体可包括:
依据所述匹配的三层表项中的出端口确定目标出端口,选择所述RB上连接所述目标出端口的接口板为上述的匹配接口板,对修改后的报文进行第二内部封装,将第二内部封装的报文发送至匹配接口板,第二内部封装包含:第二目的mod、第二目的port;第二目的mod为:与所述匹配的三层表项中出端口相关联的接口板上用于转发报文的芯片的标识,第二目的port为所述目标出端口的标识。
方式2:
本方式2下,所述匹配的三层表项中的出端口为TRILL隧道(Tunnel)口。
当所述匹配的三层表项中的出端口为TRILL隧道口时,上述步骤202中将修改后的报文发送至匹配接口板具体可包括:
依据所述匹配的三层表项中的出端口确定目标出端口,选择所述RB上连接所述目标出端口的接口板为匹配接口板,对修改后的报文进行第三内部封装,将第三内部封装的报文发送至匹配接口板,第三内部封装包含:第三目的mod和第三目的port。其中,第三目的mod为:匹配接口板上用于转发报文的芯片的标识,假如匹配接口板上仅存在一块芯片,则第二目的mod可为该仅存在的一块芯片的标识,而假如匹配接口板上存在两块以上芯片,则可预先指定其中的一块芯片用于转发报文,第三目的mod可为该预先指定的一块芯片的标识;第三目的port为第三虚拟端口标识,其可为预先配置的用于指示接口板可继续执行查表进行报文转发的虚拟端口标识。网关RB中所有接口板都会配置上述的第三虚拟端口标识。
在上面描述中,不管所述匹配的三层表项中的出端口是方式1中的VLAN端口还是方式2中的TRILL隧道口,其具体实现时,都有可能是单一的物理端口,或者可能是由至少两个物理端口聚合成的聚合组,基于此,上述方式1或方式2中依据匹配的三层表项中的出端口确定目标出端口可包括:
当所述匹配的三层表项中的出端口为单一的物理端口时,确定该单一的物理端口为所述目标出端口;
当所述匹配的三层表项中的出端口为至少两个物理端口聚合成的聚合组时,按照设定算法从所述聚合组中选择一个物理端口,确定该选择的物理端口为所述目标出端口。
步骤203,网关RB上的匹配接口板接收网板发送的报文,通过所述匹配的三层表项中的出端口转发接收的报文。
基于上面步骤202限定的网关RB上的网板如何将本网板修改后的报文发送至网关RB上的匹配接口板,则优选地,本步骤203中通过所述匹配的三层表项中的出端口转发接收的报文可通过以下描述实现:
当网板按照方式1描述的将第二内部封装的报文发送至匹配接口板时,则本步骤203中通过所述匹配的三层表项中的出端口转发接收的报文可为:
从报文的第二内部封装头中确定出第二目的mod和第二目的port;如果确定出的第二目的mod为本接口板上用于转发报文的芯片的标识且所述第二目的port为本接口板连接的物理端口的标识,则对报文的第二内部封装进行解封装,通过所述第二目的port对应的物理端口转发该解封装后的报文。
当网板按照方式2描述的将第三内部封装的报文发送至匹配接口板时,则本步骤203中通过所述匹配的三层表项中的出端口转发接收的报文可为:
从报文的第三内部封装头中确定出第三目的mod和第三目的port;如果确定出的第三目的mod为本接口板上用于转发报文的芯片的标识、且确定出的第三目的port为第三虚拟端口标识,则对报文的第三内部封装进行解封装;依据解封装的报文携带的目的MAC地址和VLAN ID从本接口板本地的二层表项中查找到匹配的二层表项,依据所述匹配的二层表项中的封装表项索引在本接口板本地的封装表项中找到对应的封装表项,通过找到的封装表项中的TRILL封装信息对解封装后的报文进行TRILL封装并通过所述匹配的二层表项中的出端口转发。这里,通过所述匹配的二层表项中的出端口转发可为:识别所述匹配的二层表项中的出端口,如果该出端口为单一的物理端口,则直接通过该单一的物理端口发送,而如果该出端口为至少两个物理端口聚合形成的聚合端口,则就需要从聚合端口中选择一个物理端口,通过该选择的物理端口发送。需要说明的是,这里从聚合端口中选择一个物理端口的方式不再随机,其必须最终保证选择的物理端口与上述网板选择的物理端口一致(当所述匹配的二层表项中的出端口为至少两个物理端口聚合形成的聚合端口时,网板查找到的匹配的三层表项中的出端口也是至少两个物理端口聚合形成的聚合端口)。至于具体实现时如何保证匹配接口板最终选择的物理端口与上述网板选择的物理端口一致,本发明并不具体限定,其可有多种实现方式,比如网板按照哈希方式选择物理端口,接口板也同样按照哈希方式选择物理端口等。
本发明中,作为一个实施例,接口板本地的封装表项可以是预先配置在接口板上的,本发明并不具体限定。
至此,完成图2所示的流程。
通过图2所示流程可以看出,本发明中,网关RB的网板不再使用仅具有报文转发功能的网片,而是使用具有转发功能和表项功能的芯片比如与接口板相同的交换芯片,这样,当网关RB的接口板接收TRILL封装的报文时,对报文进行TRILL解封装,如果确定TRILL解封装后的报文进行三层转发,则将所述TRILL解封装后的报文发送至所述RB的网板,由网板确定接收的报文进行三层转发时,在本网板本地的三层表项中查找到与报文的目的IP地址匹配的三层表项,将报文的源MAC地址修改为所述RB的网关MAC地址,将报文的目的MAC地址修改为所述匹配的三层表项中的MAC地址,将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板进行转发。即通过网关RB实现了不同RB之间的三层访问功能,且整个过程只是在网关RB内部执行,没有浪费任何带宽资源,做到了报文线速转发的目的。
下面通过一个实施例对图2所示流程进行描述:
以图3所示的组网为例,主机(Host)A、HostB的IP地址不在同一个网段,RB1作为网关,RB1包含主控板、接口板和网板。主控板在本申请中不重点涉及,图3未示出,网板采用具有转发功能和表项功能的芯片,以与接口板中的交换芯片相同为例。图3仅示出RB1的三个接口板为例。
以HostA访问HostB为例,则,
HostA向HostB发送报文。HostA发送的报文中至少包含源MAC地址(C-SA)、目的MAC地址(C-DA)、载荷(Ethernet Payload,其至少包含源IP地址、目的IP地址以及报文数据内容),其中,源MAC地址为HostA的MAC地址,目的MAC地址为RB1的网关MAC地址,源IP地址为HostA的IP地址,目的IP地址为HostB的IP地址。
HostA发送的报文到达TRILL网络中的RB2,由RB2对该报文进行TRILL封装,为便于描述,这里将TRILL封装的报文称为报文0。
RB2将报文0发送至作为网关的RB1。
RB1的接口板1通过连接的端口(图3以端口10为例)收到报文0。
接口板1对报文0进行TRILL解封装。为便于描述,这里将TRILL解封装后的报文0称为报文1。
接口板1识别报文1的目的MAC地址,发现目的MAC地址为网关RB的网关MAC地址、且进一步发现报文1携带的VLAN ID为预先指定的使能了三层转发的其中一个VLAN ID(即,该VLAN ID包含于图3中各报文中所携带的VLAN tag中),基于此,接口板1确定报文1进行三层转发,对报文1进行第一内部封装,第一内部封装的第一目的mod为第一虚拟芯片标识(图3以chip01为例),第一内部封装的第一目的port为第一虚拟端口标识(图3以Port1为例)。为便于描述,这里将第一内部封装后的报文1称为报文2。
如图3所示,接口板1通过聚合了互连口11、互连口12、互连口13的聚合组与各网板连接,则接口板1从本接口板1连接各网板的聚合组中选择一个互连口,比如选择图3所示的互连口11将报文2发送至网板1。接口板1选择互连口的方式可预先设置,比如哈希算法,通过对报文2的目的IP地址进行哈希运算,选择编号与哈希运算结果对应的互连口。
网板1接收到报文2,从报文2的第一内部封装头中识别出第一目的mod和第一目的port分别为chip01和Port1,正好依次是第一虚拟芯片标识和第一虚拟端口标识,则对报文2的第一内部封装进行解封装(即恢复了上述的报文1)。
网板1识别报文1的目的MAC地址,发现报文1的目的MAC地址正好是RB1的网关MAC地址,确定本网板1需要对报文1进行三层转发。
网板1在本网板1本地的三层表项中查找到与报文1的目的IP地址匹配的三层表项,则将报文1的源MAC地址修改为RB1的网关MAC地址、将报文1的目的MAC地址修改为查找到的三层表项中的MAC地址(实质是HostB的MAC地址)。为便于描述,这里将源MAC地址、目的MAC地址修改后的报文1称为报文3。
网板1识别该找到的三层表项中的出端口,图3以该出端口为VLAN端口为例,假如该VLAN端口是单一的物理端口组成,则认为该单一的物理端口为目标出端口,将该目标出端口连接的接口板为与查找到的三层表项中的出端口相关联的接口板,为便于描述,这里假设该单一的物理端口连接的接口板为接口板2。
网板1对报文3进行第二内部封装,为便于描述,这里将第二内部封装的报文3称为报文4。第二内部封装包含第二目的mod、第二目的port。第二目的mod为:接口板2上用于转发报文的芯片的标识(图3以芯片标识为Chip02为例描述)。第二目的port为目标出端口(图3以端口20为例描述)。
网板1通过本网板1连接接口板2的互连口将报文4发送至接口板2。
接口板2接收网板发送的报文4,从报文4的第二内部封装头中确定出第二目的mod和第二目的port;如果确定出的第二目的mod为本接口板上用于转发报文的芯片(Chip02)的标识且第二目的port为本接口板连接的物理端口的标识即端口20,则对报文4的第二内部封装进行解封装(即恢复了上述的报文3)。
接口板2通过第二目的port即端口20对应的出端口发送报文3。
最终,报文会到达HostB,即在网关RB上实现了从TRILL网络至VLAN的报文转发。
需要说明的是,在报文3中,因为VLAN tag是一个可选项(optional)。那么在携带VLAN tag时,该VLAN端口为Trunk口,在该VLAN端口处,会保留VLAN tag,此时该报文3可以经过一个交换设备(未图示)进行二层转发再转发到HostB;如果VLAN端口是一个Access口时,在该VLAN端口处,会剥掉VLAN tag,那么该报文3可以直接转发给HostB。
另外,网关RB也可能通过一个不支持VLAN的交换设备(未图示)再连接HostB,那么此时VLAN端口也可以剥掉报文3的VLAN tag,并不携带VLAN tag转发给该交换设备。
假如在上面描述中,网板1识别该找到的三层表项中的出端口,发现该出端口为TRILLTunnel口,假如该TRILLTunnel口是单一的物理端口(TRILLTunnel口为聚合端口的原理类似,图4不再体现)组成,则如图4所示,网板1会认为该单一的物理端口为目标出端口,将该目标出端口连接的接口板为与查找到的三层表项中的出端口相关联的接口板,为便于描述,这里假设该单一的物理端口连接的接口板为接口板3。
网板1对报文3进行第三内部封装,为便于描术,这里将第三内部封装的报文称为报文33;第三内部封装包含:第三目的mod、第三目的port;第三目的mod为:接口板3上用于转发报文的芯片的标识(图4以芯片标识为Chip03为例描述),第三目的port为第三虚拟端口标识(图4以端口标识为Port3为例描述)。
网板1通过本网板1连接接口板3的互连口将报文33发送至接口板3。
接口板3接收网板发送的报文33,从报文33的第三内部封装头中确定出第三目的mod和第三目的port;如果确定出的第三目的mod为本接口板上用于转发报文的芯片的标识、且确定出的第三目的port为第三虚拟端口标识,则对报文的第三内部封装进行解封装(即恢复了上述的报文3)。
接口板3依据报文3携带的目的MAC地址和VLAN ID从本接口板本地的二层表项中查找到匹配的二层表项,依据所述匹配的二层表项中的封装表项索引在本接口板本地的封装表项中找到对应的封装表项,通过找到的封装表项中的TRILL封装信息对报文3进行TRILL封装(TRILL封装后的报文3称为报文34)并通过所述匹配的二层表项中的出端口(这里以端口30为例)转发。
最终,报文会到达HostB,即在网关RB上实现了从TRILL网络至TRILL网络的报文转发。
以上对本发明提供的方法进行了描述,下面对本发明提供的设备进行描述:
参见图5,图5为本发明提供的设备结构图。该设备应用于作为网关的RB,所述作为网关的RB至少由接口板、网板组成,接口板、网板的个数均为1个以上,网板采用具有转发功能和表项功能的芯片,如图5所示,该设备可包括:
接口板处理单元,处于所述RB的接口板,接收TRILL封装的报文,对所述报文进行TRILL解封装,确定TRILL解封装后的报文进行三层转发,则将所述TRILL解封装后的报文发送至所述RB的网板;以及,接收网板发送的报文,通过网板查找到的匹配的三层表项中的出端口转发接收的报文;
网板处理单元,处于所述RB的网板,接收接口板处理单元发送的报文,确定接收的报文由本网板进行三层转发,则在本网板本地的三层表项中查找到与报文的目的IP地址匹配的三层表项,将报文的源MAC地址修改为所述RB的网关MAC地址,将报文的目的MAC地址修改为所述匹配的三层表项中的MAC地址,将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板。
优选地,所述接口板处理单元确定TRILL解封装后的报文进行三层转发包括:
确定所述TRILL解封装后的报文是否满足以下匹配条件:
所述TRILL解封装后的报文携带的VLAN标识ID使能了三层转发的VLAN ID,所述TRILL解封装后的报文的目的MAC地址为本RB的网关MAC地址;
如果是,确定所述TRILL解封装后的报文进行三层转发。
优选地,所述接口板处理单元将TRILL解封装后的报文发送至所述RB的网板包括:
将TRILL解封装后的报文进行第一内部封装,第一内部封装包含:第一目的芯片标识mod和第一目的端口标识port,第一目的mod为第一虚拟芯片标识,第一目的port为第一虚拟端口标识;
在本接口板仅连接一个网板时,通过本接口板连接网板的互连口发送第一内部封装的报文;在本接口板连接多个网板时,通过与多个网板分别连接的互连口中的一个互连口发送第一内部封装的报文。
优选地,所述网板处理单元确定接收的报文由本网板进行三层转发包括:
从接收的报文的第一内部封装头中确定出第一目的mod和第一目的port;如果确定出的第一目的mod为所述第一虚拟芯片标识,第一目的port为所述第一虚拟端口标识,则对报文的第一内部封装进行解封装,识别解封装后的报文的目的MAC地址为所述RB的网关MAC地址,则确定接收的报文由本网板进行三层转发。
优选地,所述匹配的三层表项中的出端口为VLAN端口。基于此,所述网板处理单元将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板包括:
依据所述匹配的三层表项中的出端口确定目标出端口,选择所述RB上连接所述目标出端口的接口板为与所述匹配的三层表项中出端口相关联的接口板,对修改后的报文进行第二内部封装,将第二内部封装的报文发送至与所述匹配的三层表项中的出端口相关联的接口板,第二内部封装包含:第二目的mod、第二目的port;第二目的mod为:与所述匹配的三层表项中出端口相关联的接口板上用于转发报文的芯片的标识,第二目的port为所述目标出端口的标识。
所述接口板处理单元通过所述匹配的三层表项中的出端口转发接收的报文包括:从报文的第二内部封装头中确定出第二目的mod和第二目的port;如果所述第二目的mod为本接口板上用于转发报文的芯片的标识且所述第二目的port为本接口板连接的物理端口的标识,则对报文的第二内部封装进行解封装,通过所述第二目的port对应的物理端口转发该解封装后的报文。
优选地,所述匹配的三层表项中的出端口为TRILL Tunnel口。基于此,所述网板处理单元将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板包括:依据所述匹配的三层表项中的出端口确定目标出端口,选择所述RB上连接所述目标出端口的接口板为与所述匹配的三层表项中出端口相关联的接口板,对修改后的报文进行第三内部封装,将第三内部封装的报文发送至与所述匹配的三层表项中的出端口相关联的接口板,第三内部封装包含:第三目的mod、第三目的port;第三目的mod为:与所述匹配的三层表项中出端口相关联的接口板上用于转发报文的芯片的标识,第三目的port为第三虚拟端口标识;
所述接口板处理单元通过匹配的三层表项中的出端口转发接收的报文包括:从报文的第三内部封装头中确定出第三目的mod和第三目的port;如果确定出的第三目的mod为本接口板上用于转发报文的芯片的标识、且确定出的第三目的port为第三虚拟端口标识,则对报文的第三内部封装进行解封装;依据解封装的报文携带的目的MAC地址和VLAN ID从本接口板本地的二层表项中查找到匹配的二层表项,依据所述匹配的二层表项中的封装表项索引在本接口板本地的封装表项中找到对应的封装表项,通过找到的封装表项中的TRILL封装信息对解封装后的报文进行TRILL封装并通过所述匹配的二层表项中的出端口转发。
优选地,所述网板处理单元依据匹配的三层表项中的出端口确定目标出端口包括:
当所述匹配的三层表项中的出端口为单一的物理端口时,确定该单一的物理端口为所述目标出端口;
当所述匹配的三层表项中的出端口为至少两个物理端口聚合成的聚合组时,按照设定算法从所述聚合组中选择一个物理端口,确定该选择的物理端口为所述目标出端口。
至此,完成图5所示的设备描述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (12)
1.一种跨多链路透明连接TRILL网络的报文转发方法,其特征在于,该方法应用于作为网关的路由桥RB,该方法包括:
所述RB的接口板接收TRILL封装的报文,对所述报文进行TRILL解封装,确定TRILL解封装后的报文进行三层转发,则将所述TRILL解封装后的报文发送至所述RB的网板;确定所述TRILL解封装后的报文不进行三层转发,则对所述TRILL解封装后的报文进行二层转发;
所述RB的网板接收接口板发送的报文,确定接收的报文由本网板进行三层转发,则在本网板本地的三层表项中查找到与报文的目的IP地址匹配的三层表项,将报文的源MAC地址修改为所述RB的网关MAC地址,将报文的目的MAC地址修改为所述匹配的三层表项中的MAC地址,将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板;
所述RB上与所述匹配的三层表项中的出端口相关联的接口板接收网板发送的报文,通过所述匹配的三层表项中的出端口转发接收的报文。
2.根据权利要求1所述的方法,其特征在于,所述接口板确定TRILL解封装后的报文进行三层转发包括:
确定所述TRILL解封装后的报文是否满足以下匹配条件:
所述TRILL解封装后的报文携带的VLAN标识ID为使能了三层转发的VLAN ID,所述TRILL解封装后的报文的目的MAC地址为本RB的网关MAC地址;
如果是,确定所述TRILL解封装后的报文进行三层转发。
3.根据权利要求1所述的方法,其特征在于,所述将TRILL解封装后的报文发送至所述RB的网板包括:
将TRILL解封装后的报文进行第一内部封装,第一内部封装包含:第一目的芯片标识mod和第一目的端口标识port,第一目的mod为第一虚拟芯片标识,第一目的port为第一虚拟端口标识;
在本接口板仅连接一个网板时,通过本接口板连接网板的互连口发送第一内部封装的报文;在本接口板连接多个网板时,通过与多个网板分别连接的互连口中的一个互连口发送第一内部封装的报文;
所述确定接收的报文由本网板进行三层转发包括:
从接收的报文的第一内部封装头中确定出第一目的mod和第一目的port;如果确定出的第一目的mod为所述第一虚拟芯片标识,第一目的port为所述第一虚拟端口标识,则对报文的第一内部封装进行解封装,识别解封装后的报文的目的MAC地址为所述RB的网关MAC地址,则确定接收的报文由本网板进行三层转发。
4.根据权利要求1所述的方法,其特征在于,所述匹配的三层表项中的出端口为VLAN端口;
所述将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板包括:
依据所述匹配的三层表项中的出端口确定目标出端口,选择所述RB上连接所述目标出端口的接口板为与所述匹配的三层表项中出端口相关联的接口板,对修改后的报文进行第二内部封装,将第二内部封装的报文发送至与所述匹配的三层表项中的出端口相关联的接口板,第二内部封装包含:第二目的mod、第二目的port;第二目的mod为:与所述匹配的三层表项中出端口相关联的接口板上用于转发报文的芯片的标识,第二目的port为所述目标出端口的标识;
所述通过所述匹配的三层表项中的出端口转发接收的报文包括:
从报文的第二内部封装头中确定出第二目的mod和第二目的port;如果确定出的第二目的mod为本接口板上用于转发报文的芯片的标识且所述第二目的port为本接口板连接的物理端口的标识,则对报文的第二内部封装进行解封装,通过所述第二目的port对应的物理端口转发该解封装后的报文。
5.根据权利要求1所述的方法,其特征在于,所述匹配的三层表项中的出端口为TRILL隧道Tunnel口;
所述将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板包括:依据所述匹配的三层表项中的出端口确定目标出端口,选择所述RB上连接所述目标出端口的接口板为与所述匹配的三层表项中出端口相关联的接口板,对修改后的报文进行第三内部封装,将第三内部封装的报文发送至与所述匹配的三层表项中的出端口相关联的接口板,第三内部封装包含:第三目的mod、第三目的port;第三目的mod为:与所述匹配的三层表项中出端口相关联的接口板上用于转发报文的芯片的标识,第三目的port为第三虚拟端口标识;
所述通过匹配的三层表项中的出端口转发接收的报文包括:从报文的第三内部封装头中确定出第三目的mod和第三目的port;如果确定出的第三目的mod为本接口板上用于转发报文的芯片的标识、且确定出的第三目的port为第三虚拟端口标识,则对报文的第三内部封装进行解封装;依据解封装的报文携带的目的MAC地址和VLAN ID从本接口板本地的二层表项中查找到匹配的二层表项,依据所述匹配的二层表项中的封装表项索引在本接口板本地的封装表项中找到对应的封装表项,通过找到的封装表项中的TRILL封装信息对解封装后的报文进行TRILL封装并通过所述匹配的二层表项中的出端口转发。
6.根据权利要求4或5所述的方法,其特征在于,所述依据匹配的三层表项中的出端口确定目标出端口包括:
当所述匹配的三层表项中的出端口为单一的物理端口时,确定该单一的物理端口为所述目标出端口;
当所述匹配的三层表项中的出端口为至少两个物理端口聚合成的聚合组时,按照设定算法从所述聚合组中选择一个物理端口,确定该选择的物理端口为所述目标出端口。
7.一种跨多链路透明连接TRILL网络的报文转发设备,其特征在于,该设备应用于作为网关的路由桥RB,该设备包括:
接口板处理单元,处于所述RB的接口板,接收TRILL封装的报文,对所述报文进行TRILL解封装,确定TRILL解封装后的报文进行三层转发,则将所述TRILL解封装后的报文发送至所述RB的网板;以及,接收网板发送的报文,通过网板查找到的匹配的三层表项中的出端口转发接收的报文;确定所述TRILL解封装后的报文不进行三层转发,则对所述TRILL解封装后的报文进行二层转发;
网板处理单元,处于所述RB的网板,接收接口板处理单元发送的报文,确定接收的报文由本网板进行三层转发,则在本网板本地的三层表项中查找到与报文的目的IP地址匹配的三层表项,将报文的源MAC地址修改为所述RB的网关MAC地址,将报文的目的MAC地址修改为所述匹配的三层表项中的MAC地址,将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板。
8.根据权利要求7所述的设备,其特征在于,所述接口板处理单元确定TRILL解封装后的报文进行三层转发包括:
确定所述TRILL解封装后的报文是否满足以下匹配条件:
所述TRILL解封装后的报文携带的VLAN标识ID使能了三层转发的VLAN ID,所述TRILL解封装后的报文的目的MAC地址为本RB的网关MAC地址;
如果是,确定所述TRILL解封装后的报文进行三层转发。
9.根据权利要求7所述的设备,其特征在于,所述接口板处理单元将TRILL解封装后的报文发送至所述RB的网板包括:
将TRILL解封装后的报文进行第一内部封装,第一内部封装包含:第一目的芯片标识mod和第一目的端口标识port,第一目的mod为第一虚拟芯片标识,第一目的port为第一虚拟端口标识;
在本接口板仅连接一个网板时,通过本接口板连接网板的互连口发送第一内部封装的报文;在本接口板连接多个网板时,通过与多个网板分别连接的互连口中的一个互连口发送第一内部封装的报文;
所述网板处理单元确定接收的报文由本网板进行三层转发包括:
从接收的报文的第一内部封装头中确定出第一目的mod和第一目的port;如果确定出的第一目的mod为所述第一虚拟芯片标识,第一目的port为所述第一虚拟端口标识,则对报文的第一内部封装进行解封装,识别解封装后的报文的目的MAC地址为所述RB的网关MAC地址,则确定接收的报文由本网板进行三层转发。
10.根据权利要求7所述的设备,其特征在于,所述匹配的三层表项中的出端口为VLAN端口;
所述网板处理单元将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板包括:
依据所述匹配的三层表项中的出端口确定目标出端口,选择所述RB上连接所述目标出端口的接口板为与所述匹配的三层表项中出端口相关联的接口板,对修改后的报文进行第二内部封装,将第二内部封装的报文发送至与所述匹配的三层表项中的出端口相关联的接口板,第二内部封装包含:第二目的mod、第二目的port;第二目的mod为:与所述匹配的三层表项中出端口相关联的接口板上用于转发报文的芯片的标识,第二目的port为所述目标出端口的标识;
所述接口板处理单元通过所述匹配的三层表项中的出端口转发接收的报文包括:从报文的第二内部封装头中确定出第二目的mod和第二目的port;如果所述第二目的mod为本接口板上用于转发报文的芯片的标识且所述第二目的port为本接口板连接的物理端口的标识,则对报文的第二内部封装进行解封装,通过所述第二目的port对应的物理端口转发该解封装后的报文。
11.根据权利要求7所述的设备,其特征在于,所述匹配的三层表项中的出端口为TRILL隧道Tunnel口;
所述网板处理单元将修改后的报文发送至所述RB上与所述匹配的三层表项中的出端口相关联的接口板包括:依据所述匹配的三层表项中的出端口确定目标出端口,选择所述RB上连接所述目标出端口的接口板为与所述匹配的三层表项中出端口相关联的接口板,对修改后的报文进行第三内部封装,将第三内部封装的报文发送至与所述匹配的三层表项中的出端口相关联的接口板,第三内部封装包含:第三目的mod、第三目的port;第三目的mod为:与所述匹配的三层表项中出端口相关联的接口板上用于转发报文的芯片的标识,第三目的port为第三虚拟端口标识;
所述接口板处理单元通过匹配的三层表项中的出端口转发接收的报文包括:从报文的第三内部封装头中确定出第三目的mod和第三目的port;如果确定出的第三目的mod为本接口板上用于转发报文的芯片的标识、且确定出的第三目的port为第三虚拟端口标识,则对报文的第三内部封装进行解封装;依据解封装的报文携带的目的MAC地址和VLAN ID从本接口板本地的二层表项中查找到匹配的二层表项,依据所述匹配的二层表项中的封装表项索引在本接口板本地的封装表项中找到对应的封装表项,通过找到的封装表项中的TRILL封装信息对解封装后的报文进行TRILL封装并通过所述匹配的二层表项中的出端口转发。
12.根据权利要求10或11所述的设备,其特征在于,所述网板处理单元依据匹配的三层表项中的出端口确定目标出端口包括:
当所述匹配的三层表项中的出端口为单一的物理端口时,确定该单一的物理端口为所述目标出端口;
当所述匹配的三层表项中的出端口为至少两个物理端口聚合成的聚合组时,按照设定算法从所述聚合组中选择一个物理端口,确定该选择的物理端口为所述目标出端口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510222697.1A CN104821914B (zh) | 2015-05-04 | 2015-05-04 | 跨多链路透明连接trill网络的报文转发方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510222697.1A CN104821914B (zh) | 2015-05-04 | 2015-05-04 | 跨多链路透明连接trill网络的报文转发方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104821914A CN104821914A (zh) | 2015-08-05 |
CN104821914B true CN104821914B (zh) | 2018-10-09 |
Family
ID=53732084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510222697.1A Active CN104821914B (zh) | 2015-05-04 | 2015-05-04 | 跨多链路透明连接trill网络的报文转发方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104821914B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105827495B (zh) * | 2016-01-05 | 2019-04-12 | 新华三技术有限公司 | Vxlan网关的报文转发方法和设备 |
CN106209557B (zh) * | 2016-06-30 | 2019-09-06 | 杭州迪普科技股份有限公司 | 报文转发方法及装置 |
CN107995112B (zh) * | 2017-12-25 | 2021-02-26 | 杭州迪普科技股份有限公司 | 一种框式设备的trill报文处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647324A (zh) * | 2011-02-21 | 2012-08-22 | 中兴通讯股份有限公司 | 一种trill网络互连的方法和系统 |
CN102857429A (zh) * | 2012-10-09 | 2013-01-02 | 盛科网络(苏州)有限公司 | 在trill网络中承载路由的方法和装置 |
CN103166858A (zh) * | 2013-03-26 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
CN104170331A (zh) * | 2012-04-09 | 2014-11-26 | 华为技术有限公司 | 用于vxlan的l3网关 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8934501B2 (en) * | 2012-06-11 | 2015-01-13 | Avaya Inc. | Bidirectional translation of network edge virtualization encapsulation to core network virtualization encapsulation |
-
2015
- 2015-05-04 CN CN201510222697.1A patent/CN104821914B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102647324A (zh) * | 2011-02-21 | 2012-08-22 | 中兴通讯股份有限公司 | 一种trill网络互连的方法和系统 |
CN104170331A (zh) * | 2012-04-09 | 2014-11-26 | 华为技术有限公司 | 用于vxlan的l3网关 |
CN102857429A (zh) * | 2012-10-09 | 2013-01-02 | 盛科网络(苏州)有限公司 | 在trill网络中承载路由的方法和装置 |
CN103166858A (zh) * | 2013-03-26 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104821914A (zh) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103947160B (zh) | 通过基于trill的网络承载fcoe帧的方法 | |
JP6581277B2 (ja) | データパケット転送 | |
CN103795636B (zh) | 组播处理方法、装置及系统 | |
CN106209638B (zh) | 从虚拟局域网至虚拟可扩展局域网的报文转发方法和设备 | |
CN104518935B (zh) | 实现虚拟网络通信的方法、装置和系统 | |
CN104158718B (zh) | 一种报文处理方法和装置 | |
CN106209689B (zh) | 从vxlan至vlan的组播数据报文转发方法和设备 | |
CN106209648B (zh) | 跨虚拟可扩展局域网的组播数据报文转发方法和设备 | |
CN105634942B (zh) | 转发报文的方法和交换机 | |
CN105827495B (zh) | Vxlan网关的报文转发方法和设备 | |
CN101317425A (zh) | 二层网络中的数据转发方法和网络及节点设备 | |
CN106209636B (zh) | 从vlan至vxlan的组播数据报文转发方法和设备 | |
US8798046B2 (en) | Methods and apparatus for providing unique MAC address to individual node for fibre channel over Ethernet (FCoE) traffic | |
US20080159285A1 (en) | Method and apparatus for improved multicast routing | |
WO2022100554A1 (zh) | Bier报文转发的方法、设备以及系统 | |
CN104869042A (zh) | 报文转发方法和装置 | |
CN103200069A (zh) | 一种报文处理的方法和设备 | |
WO2012075163A1 (en) | Systems and methods for multi-level switching of data frames | |
CN105681198B (zh) | 一种业务链处理方法、设备及系统 | |
CN104488235B (zh) | 报文转发方法和网络设备 | |
CN106209637B (zh) | 从虚拟可扩展局域网至虚拟局域网的报文转发方法和设备 | |
CN105187311B (zh) | 一种报文转发方法及装置 | |
JP2019521619A (ja) | パケット転送 | |
CN103490968B (zh) | 一种FCoE网络中跨数据中心互联的方法和设备 | |
CN104821914B (zh) | 跨多链路透明连接trill网络的报文转发方法和设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |