CN112511419B - 一种分布式转发*** - Google Patents

一种分布式转发*** Download PDF

Info

Publication number
CN112511419B
CN112511419B CN202011231628.4A CN202011231628A CN112511419B CN 112511419 B CN112511419 B CN 112511419B CN 202011231628 A CN202011231628 A CN 202011231628A CN 112511419 B CN112511419 B CN 112511419B
Authority
CN
China
Prior art keywords
router
forwarding
port
switch
target
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
Application number
CN202011231628.4A
Other languages
English (en)
Other versions
CN112511419A (zh
Inventor
王小军
宿宝伍
王倩
范维庭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Armyfly Technology Co Ltd
Original Assignee
Beijing Armyfly Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Armyfly Technology Co Ltd filed Critical Beijing Armyfly Technology Co Ltd
Priority to CN202011231628.4A priority Critical patent/CN112511419B/zh
Publication of CN112511419A publication Critical patent/CN112511419A/zh
Application granted granted Critical
Publication of CN112511419B publication Critical patent/CN112511419B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/58Association of routers
    • H04L45/586Association of routers of virtual routers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种分布式转发***。该***包括:虚拟冗余路由协议网络中的各路由器,各路由器之间相互连接,所述虚拟冗余路由协议网络中至少有两台路由器处于转发状态。本发明实施例的技术方案,通过设置至少两台转发状态的路由器实现数据报文的分布式转发,减轻路由器的负载,缩短路由器故障切换的时间,减少报文的丢包情况。另外,路由器在本机均保存包括虚拟冗余路由协议网络中各路由器能直达的所有的主机全网的互联网协议IP地址与媒体访问控制MAC地址的对应关系的三层表项,并在本机均保存通过二层学习获得的MAC地址与物理出接口的对应关系的MAC表,通过表项分离,解决ARP表项膨胀的问题,尤其是多出口的情况,有n个负载分担口,表项会乘以n倍增长。

Description

一种分布式转发***
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种分布式转发***。
背景技术
虚拟路由冗余协议(Virtual Router Redundancy Protocol,VRRP)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的一台VRRP路由器。控制虚拟路由器IP地址的VRRP路由器称为主路由器,它负责转发数据包到这些虚拟IP地址。一旦主路由器不可用,这种选择过程就提供了动态的故障转移机制,即选择备份路由器作为新的主路由器,从而实现全网通信。
现有的VRRP技术协议,只有主路由器可以解析地址解析协议(AddressResolution Protocol,ARP)和转发互联网协议(Internet Protocol,IP)数据包,其他备份路由器处于待命状态,不能进行ARP学习和三层数据转发,这导致各备份路由器上并不具有ARP表项,在主路由器故障,备路由器升为主路由器的情况下才开始处理ARP报文,因此,需要根据未知路由的三层数据帧学习ARP表项,由于学习过程花费的时间较长,达不到50ms的电信级要求,因此,使用该ARP表项进行转发的数据帧会出现持续性丢包的情况。
发明内容
本发明提供一种分布式转发***,通过设置至少两台转发状态的路由器实现数据报文的分布式转发,减轻路由器的负载,缩短路由器故障切换的时间,减少报文的丢包情况。
第一方面,本发明实施例提供了一种分布式转发***,包括:虚拟冗余路由协议网络中的各路由器,各路由器之间相互连接,所述虚拟冗余路由协议网络中至少有两台路由器处于转发状态。
可选的,虚拟冗余路由协议网络中的所有路由器在本机均保存有地址解析协议ARP表,所述ARP表中包括虚拟冗余路由协议网络中各路由器能直达的所有的主机的互联网协议IP地址与媒体访问控制MAC地址的对应关系。
可选的,与交换机的阻塞端口或与主机的非工作网口连接的第一路由器执行以下方法:
接收第二路由器同步的IP地址与MAC地址的对应关系并保存在本机的ARP表中,或者,接收第二路由器转发的ARP请求报文,通过学习获得ARP请求报文中IP地址对应的MAC地址并保存在本机的ARP表中;
其中,第二路由器为与交换机的转发端口或与主机的工作网口连接的路由器。
可选的,与交换机的转发端口或与主机的工作网口连接的第二路由器执行以下方法:
接收到所述交换机或主机的APR请求报文后,向与所述交换机的阻塞端口或与主机的非工作网口连接的第一路由器转发所述APR请求报文;或者,
将学习到的IP地址与MAC地址的对应关系同步给第一路由器。
可选的,虚拟冗余路由协议网络中的所有路由器在本机均保存有MAC表,所述MAC表中包括通过二层学习获得的MAC地址与物理出接口的对应关系。
可选的,与交换机的转发端口或与主机的工作网口连接的第二路由器执行方法:
接收到所述交换机或主机的目标数据报文后,根据所述目标数据报文,查询本机存储的ARP表和MAC表,并根据查询的目标出接口转发所述目标数据报文。
可选的,与交换机的转发端口或与主机的工作网口连接的第二路由器执行根据目标数据报文,查询本机存储的ARP表和MAC表,并根据查询的目标出接口转发所述目标数据报文,包括:
在ARP表中查询目标数据报文中的目的IP地址匹配的目标MAC地址,在MAC表中查询目标MAC地址对应的目标出接口,并根据查询的目标出接口转发所述目标数据报文。
可选的,所述ARP表的各表项中用于三层转发的出接口为路由器中的物理环回接口或逻辑环回接口;
与交换机的转发端口或与主机的工作网口连接的第二路由器执行查询本机存储的ARP表和MAC表,并根据查询的目标出接口转发所述目标数据报文,包括:
在所述ARP表中查询所述目标数据报文中的目的IP地址匹配的目标MAC地址;
根据所述目标MAC地址对所述目标数据报文进行修改,并将修改后的目标数据报文通过所述物理环回接口或逻辑环回接口进行虚拟三层转发;
在所述MAC表中查询所述目标MAC地址对应的目标出接口,并通过所述目标出接口对经过虚拟三层转发的目标数据报文进行二层转发。
可选的,与交换机的转发端口或与主机的工作网口连接的第二路由器还执行方法:
控制层将学习到或其它路由器同步得到的IP地址与MAC地址的对应关系下发至转发层;
转发层将控制层下发的上述对应关系中保存在本地ARP表项中,并将本地ARP表项中的物理出接口替换为所述路由器的物理环回接口或逻辑环回接口。
可选的,与所述交换机的阻塞端口连接的路由器执行以下方法:
在与所述交换机的转发端口连接的路由器故障后,打开阻塞端口使所述阻塞端口处于转发状态,与所述交换机的阻塞端口连接的路由器切换为所述交换机当前的主路由器。
可选的,同一VLAN中的不同交换机的主路由器不相同。
本发明实施例的技术方案,分布式转发***中包括虚拟冗余路由协议网络中的各路由器,各路由器之间相互连接,在所述虚拟冗余路由协议网络中设置至少两台转发状态的路由器,使得至少有两台交换机的主路由器不相同,因此,VRRP网络不只一台路由器处于转发状态,***中各个交换机的主路由器不在集中在一台路由器上,而是分布在VRRP网络中不同的路由器上,实现数据报文的分布式转发,路由器故障后需要切换的业务减少,业务切换时间也相应减少,相应地也减少了通过三层学习ARP表花费的时间,从而减少了报文丢包的情况。
进一步,VRRP网络中每个路由器均保存有VRRP网络中各路由器能直达的所有的主机的IP地址与MAC地址的对应关系,在交换机的主路由器发生切换时,新主路由器也保存有三层ARP表项,进一步减少了三层重新学习上述对应关系的时间,并且,相比于路由器周期性同步三层ARP表项存在的主路由器上的ARP表项已更新而备用路由器上的ARP表项还未来及得更新的情况,本发明实施例提供的最优方案由于所有路由器均能学习三层ARP表项,在交换机的备路由器切换为主路由器时,学习三层ARP表项的时间会更少,业务切换时间会更少,业务切换地会更快。
进一步,由于本发明实施例分别查询三层ARP表和MAC表最终确定转发目标数据报文的目标出接口,因此在三层的ARP表中不需要有物理出接口,出接口在二层MAC表中去查找,因此,解决了现有技术中路由器三层学习物理出接口花费时间较长,导致报文丢包的问题,使得路由器无需进行三层学习即可获取物理出接口,提高三层数据报文的转发速度,减少了报文的丢包率。
进一步,通过物理环回口或逻辑环回口实现表项分离的模式,一方面减少了表项膨胀,另一方面也为表项同步创造了有力条件,因为不考虑出接口,直接同步相同内容即可,否则出接口不同,如果不学习而同步表项同步会因同步不及时导致不能掌握最新的表项而产生丢包。
附图说明
图1a是本发明实施例一中的一种分布式转发***的结构示意图;
图1b是本发明实施例一中的一种分布式转发***的结构示意图;
图2a是本发明实施例适用的一种应用场景的实现流程图;
图2b是本发明实施例适用的一种虚拟冗余路由协议网络的拓扑图;
图2c是本发明实施例适用的另一种虚拟冗余路由协议网络的拓扑图;
图2d是本发明实施例中的一种路由器A的ARP表的示意图;
图2e是本发明实施例中的一种路由器A的MAC表的示意图;
图2f是本发明实施例中的一种路由器B的ARP表的示意图;
图2g是本发明实施例中的一种路由器B的MAC表的示意图;
图2h是本发明实施例中的一种路由器B的更新后的MAC表的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
需要说明的是,本发明实施例适应于以下场景:1、VRRP网络中各路由器与主机直连,并且至少有两台路由器分别与不同主机的工作网口连接的场景,如图1a所示,在该场景下,至少有两台主机的主路由器不相同,即两台主机的工作网口连接不同的路由器;2、VRRP网络中各路由器与交换机直连,其中至少有两台路由器与交换机的转发端口连接,且连接的是不同交换机的转发端口的场景,如图1b所示,在该场景下,至少有两台交换机的主路由器不相同,即两台交换机的转发端口连接不同的路由器,例如,VRRP网络有两台路由器1和路由器2,路由器1与交换机A的转发端口连接,路由器2与交换机B的转发端口连接。本实施例主要以第二种场景为例对分布式转发***进行说明。
实施例一
图1b是本发明实施例一中的一种分布式转发***的结构示意图,本实施例可适用于对数据报文进行分布式转发,以减轻路由器的负载,缩短路由器故障切换时间的情况,如图1b所示,该***包括:
虚拟冗余路由协议网络中的各路由器110,各路由器之间相互连接,虚拟冗余路由协议网络中至少有两台路由器110处于转发状态。
本实施例中,VRRP网络中至少有两台路由器与交换机的转发端口连接且连接的是不同交换机的转发端口的场景,在该场景下至少有两台交换机的主路由器不相同即两台交换机的转发端口连接不同的路由器,例如,VRRP网络有两台路由器1和路由器2,路由器1与交换机A的转发端口连接,路由器2与交换机B的转发端口连接。该场景下有可能有一台路由器与交换机A的转发端口连接而与另一台交换机B的阻塞端口连接。该场景下可以是任意一台交换机连接所有的路由器,也可以只有部分交换机连接所有的路由器而部分交换机连接部分路由器,总之满足以下条件即可:任意一台路由器不连接分布式转发***中所有交换机的转发端口,任意一台路由器也不连接分布式转发***中所有交换机的阻塞端口,或者,满足至少有两台交换机的主路由器不相同。
可选的,同一VLAN中的交换机的主路由器不相同。
本实施例中,同一VLAN中的交换机HostA和交换机HostB的主路由器不相同,即同一VLAN中的交换机HostA和交换机HostB的转发端口连接不同的路由器。
本实施例中,交换机的一端与至少一个终端设备相连,另一端与虚拟冗余路由协议网络中的各个路由器相连,可以自动检测与之相连的路由器是否处于故障状态。交换机可以有多个端口,可以根据端口优先级从交换机的各端口中选择一个优先级较高的端口作为转发端口,或者从各端口中随机选择一个端口作为转发端口,剩余的端口则被设置为阻塞端口。交换机的交换机转发端口和阻塞端口分别与虚拟冗余路由协议网络中不同路由器相连,用于形成多条传输链路,其中,与交换机的转发端口连接的路由器对交换机来说当前是主路由器,与交换机的阻塞端口连接的路由器对交换机来说当前是备用路由器。
本实施例中,同一台路由器可能与交换机A的转发端口连接,同时与交换机B的阻塞端口连接,任意一台路由器不能连接所有交换机的转发端口,或者连接所有交换机的阻塞端口,这样有助于实现分布式转发,减轻路由器的负载。
本实施例中,通过设置网络中同时有至少两个处于转发状态的路由器,使得每个交换机的主路由器不再集中在一台路由器上,而是分布在网络中不同的路由器上,可以实现报文的分布式转发,并且,交换机的当前主路由器故障后需要切换的业务减少,故障切换时间也相应减少。同时,无论网络中是否有路由器发生故障,均会减轻路由器的负载。
可选的,虚拟冗余路由协议网络中的所有路由器110在本机均保存有ARP表,ARP表中包括虚拟冗余路由协议网络中各路由器能直达的所有的主机的IP地址与MAC地址的对应关系。
其中,为了使得网络中的各路由器切换到转发状态,即切换到与交换机的转发端口连接后,可以立刻进行数据转发,所有路由器在本机均保存有ARP表,ARP表中包括:网络中各路由器能直达的所有主机的IP地址与MAC地址的对应关系,如果有VLAN标识,则ARP表包括所有主机的IP地址、MAC地址以及VLAN标识的对应关系。通过预先保存ARP表,当路由器切换到转发状态时,无需三层学习ARP表,就能立刻进行报文的三层转发,大大缩短切换时间。
可选的,与交换机的阻塞端口或与主机的非工作网口连接的第一路由器执行以下方法:接收第二路由器同步的IP地址与MAC地址的对应关系并保存在本机的ARP表中,或者,接收第二路由器转发的ARP请求报文,通过学习获得ARP请求报文中IP地址对应的MAC地址并保存在本机的ARP表中;其中,第二路由器为与交换机的转发端口或与主机的工作网口连接的路由器。
本实施例中,与交换机的阻塞端口或与主机的非工作网口连接的第一路由器对于该交换机或该主机来说是当前备用路由器,与交换机的转发端口或与主机的工作网口连接的第二路由器对于该交换机或者该主机来说是当前主路由器,如果备用路由器接收到主路由器发送的ARP请求报文,则从ARP请求报文中获取IP地址和对应的MAC地址,如果ARP请求报文中存在VLAN标识,还可以获取对应的VLAN标识,并将对应关系存储在本机ARP表中,以便于后续查表进行三层转发。如果备用路由器接收到主路由器学习到的IP地址与MAC地址的对应关系,对应关系中可能还包括VLAN标识,则直接将上述对应关系存储到本地ARP表中。
可选的,与交换机的转发端口或与主机的工作网口连接的第二路由器执行以下方法:接收到交换机或主机的APR请求报文后,向与交换机的阻塞端口或与主机的非工作网口连接的第一路由器转发APR请求报文;或者,将学习到的IP地址与MAC地址的对应关系同步给第一路由器。
本实施例中,与交换机的转发端口或与主机的工作网口连接的第二路由器对于该交换机或主机来说是当前主路由器,主路由器在接收到交换机或主机的ARP请求报文之后,可以从ARP请求报文中学习到新的ARP表项,为了使得与交换机的阻塞端口或与主机的工作网口连接的备用路由器能同步学习到相应的ARP信息,可以将该ARP请求报文转发至备用路由器,使得备用路由器从ARP请求报文中获取对应的IP地址以及MAC地址,如果ARP请求报文中存在VLAN标识,还可以获取VLAN标识,并将对应关系存储在本机ARP表中,实现所有路由器同步存储ARP表。
可选的,虚拟冗余路由协议网络中的所有路由器在本机均保存有MAC表,MAC表中包括通过二层学习获得的MAC地址与物理出接口的对应关系。
本实施例中,为了使得所有路由器都能快速获取到用户转发数据报文的目标出接口,实现报文二层转发,所有路由器在本机均保存有MAC表,MAC表中包括通过二层学习获得的MAC地址与物理出接口的对应关系,从而路由器可以根据目标MAC地址查询MAC表确定对应的目标出接口,无需再进行二层学习。
可选的,与交换机的转发端口连接的路由器110执行方法:接收到交换机的目标数据报文后,根据目标数据报文,查询本机存储的ARP表和MAC表,并根据查询的目标出接口转发目标数据报文。
本实施例中,与交换机的转发端口或与主机的工作网口连接的第二路由器对于该交换机或主机来说是当前主路由器,接收到交换机或主机的目标数据报文后,主路由器无需花费较长的时间三层学习物理出接口,直接根据目标数据报文中的目的IP地址查询本机存储的ARP表和MAC表,就可找到对应的目标出接口,通过目标出接口对目标数据报文进行二层转发,通过节省三层学习的时间,提高了报文转发速度。
可选的,与交换机的转发端口或与主机的工作网口连接的第二路由器执行根据目标数据报文,查询本机存储的ARP表和MAC表,并根据查询的目标出接口转发目标数据报文,包括:在ARP表中查询目标数据报文中的目的IP地址匹配的目标MAC地址,在MAC表中查询目标MAC地址对应的目标出接口,并根据查询的目标出接口转发目标数据报文。
本实施例中,与交换机的转发端口或与主机的工作网口连接的第二路由器对于该交换机或主机来说是当前主路由器,在接收到三层的目标数据报文之后,可以从目标数据报文中获取目的IP地址,然后查询本机的ARP表中IP地址与MAC地址的对应关系,找到与目的IP地址匹配的目标MAC地址。根据目标MAC地址查询本机MAC表中MAC地址与物理出接口的对应关系,找到与目标MAC地址对应的主路由器的目标出接口,通过目标出接口将目标数据报文转发给与目标MAC地址对应的主机,完成目标数据报文的转发。
本实施例中,如果从本机的ARP表中没有查询到与目的IP地址对应的表项,则路由器通过三层ARP学习获取与目的IP地址匹配的目标MAC地址,并将目的IP地址与目标MAC地址的对应关系存储到本机的ARP表中,以用于下次查询与目的IP地址对应的MAC地址。如果从本机的MAC表中没有查询到与目标MAC地址对应的主路由器的目标出接口,则主路由器根据目标MAC地址进行二层学习获取目标出接口,并将目标MAC地址与目标出接口的对应关系存储到本机的MAC表中,并且通过目标出接口将目标数据报文转发给与目标MAC地址对应的主机。
本实施例中,路由器不需要通过三层学习来获取与目标MAC地址对应的目标出接口,而是通过二层学习来获取目标出接口,利用二层学习物理出接口花费的时间远远小于三层学习,大大缩短学习目标出接口的时间,达到对三层数据报文进行快速转发的目的。
可选的,ARP表的各表项中用于三层转发的出接口为路由器中的物理环回接口或逻辑环回接口;与交换机的转发端口或与主机的工作网口连接的第二路由器执行查询本机存储的ARP表和MAC表,并根据查询的目标出接口转发目标数据报文,包括:在ARP表中查询目标数据报文中的目的IP地址匹配的目标MAC地址;根据目标MAC地址对目标数据报文进行修改,并将修改后的目标数据报文通过物理环回接口或逻辑环回接口进行虚拟三层转发;在MAC表中查询目标MAC地址对应的目标出接口,并通过目标出接口对经过虚拟三层转发的目标数据报文进行二层转发。
其中,逻辑环回接口是预先设置的路由器的一个空闲的逻辑接口,逻辑接口是指逻辑意义上用于区分服务的端口,不是物理上存在的。由于路由器的交换芯片可能支持逻辑接口,也可能不支持逻辑接口,因此,采用逻辑环回接口转发数据报文的方式只适应于路由器支持逻辑接口的情况。
本实施例中,与交换机的转发端口或与主机的工作网口连接的第二路由器对于该交换机或主机来说是当前主路由器,为了实现ARP表中出接口分离,使得转发三层数据报文时,只需查ARP表获取目的IP地址与目标MAC地址的对应关系,不需要获取与目标MAC地址对应的目标出接口或者三层学习物理出接口,主路由器预先将ARP表中用于三层转发的物理出接口设置为主路由器的物理环回接口或逻辑环回接口。
本实施例中,主路由器在接收到目标数据报文之后,可以先从目标数据报文中获取目的IP地址,根据目的IP地址查询本机存储的ARP表,获取与目的IP地址匹配的目标MAC地址,或者与目的IP地址匹配的目标MAC地址和目标VLAN标识,并根据获取的信息对目标数据报文进行修改。例如,将目标数据报文中的源MAC地址修改为主路由器的MAC地址,将目的MAC地址修改为与目标MAC地址,将生存时间值减一,封装目标VLAN标识等。然后,将修改后的目标数据报文发送至物理环回接口或逻辑环回接口进行环回,并根据目标MAC地址,或者根据目标MAC地址和目标VLAN标识查询MAC表获取主路由器的目标出接口,通过目标出接口对环回回来的目标数据报文进行二层转发。
可选的,与交换机的转发端口或与主机的工作网口连接的第二路由器还执行方法:控制层将学习到或其它路由器同步得到的IP地址与MAC地址的对应关系下发至转发层;转发层将控制层下发的上述对应关系中保存在本地ARP表项中,并将本地ARP表项中的物理出接口替换为路由器的物理环回接口或逻辑环回接口。
本实施例中,所有路由器都是完整的交换设备,包括控制层和转发层,控制层是指协议控制,属于软件控制,转发层是数据转发的实现层,可以是交换芯片。与交换机的转发端口或与主机的工作网口连接的第二路由器对于该交换机或者主机来说是当前主路由器,主路由器学习到新的ARP表项,或者接收到其它主路由器同步的IP地址与MAC地址的对应关系后,可以通过控制层将得到的IP地址与MAC地址的对应关系下发到转发层的交换芯片中,以使交换芯片更新转发层的ARP表,从而对数据报文进行正确转发。
其中,转发层将对应关系保存在本地ARP表项中之后,为了缩短三层转发时间,以及避免三层学习物理出接口,将本地ARP表项中的对应三层转发的物理出接口替换为主路由器的物理环回接口或逻辑环回接口,从而主路由器接收到三层数据报文后,可以通过物理环回接口或逻辑环回接口进行虚拟三层转发将三层数据报文快速环回一圈,通过查询二层表或者二层学习快速获取到目标出接口,实现数据报文的二层转发。
本实施例中,通过实现所有路由器同步存储ARP表,并使路由器将本地ARP表项中用于三层转发的物理出接口替换成自身的物理环回接口或逻辑环回接口,使得路由器转发三层报文时,可以通过物理环回接口或逻辑环回接口对三层数据报文快速环回,然后查二层表快速获取到目标出接口,对三层数据报文进行二层转发,无需通过三层学习获取目标出接口,缩短了目标出接口的学习时间,加快了报文的转发速度。
可选的,与所述交换机的阻塞端口连接的路由器执行以下方法:在与交换机的转发端口连接的路由器故障后,打开阻塞端口使阻塞端口处于转发状态,与交换机的阻塞端口连接的路由器切换为交换机当前的主路由器。
本实施例中,与交换机的阻塞端口连接的路由器如果确定与该交换机的转发端口相连的路由器处于故障状态,则可以将阻塞端口切换为转发状态,使得与交换机的阻塞端口连接的路由器从非转发状态切换为转发状态,成为该交换机的当前主路由器,可以转发该交换机的数据报文,从而对于交换机来说,避开了发生故障的路由器,实现数据报文的分布式转发。
本实施例中,在将阻塞端口切换为新的交换机转发端口之后,如果检测到之前故障的路由器由故障状态变为正常工作状态,可以继续进行数据转发,则可以将交换机中与原故障路由器相连的端口重新切换为交换机转发端口。当然,也可以保持当前的交换机转发端口不变。
本发明实施例的技术方案,分布式转发***中包括虚拟冗余路由协议网络中的各路由器,各路由器之间相互连接,在所述虚拟冗余路由协议网络中设置至少两台转发状态的路由器,使得至少有两台交换机的主路由器不相同,因此,VRRP网络不只一台路由器处于转发状态,***中各个交换机的主路由器不在集中在一台路由器上,而是分布在VRRP网络中不同的路由器上,实现数据报文的分布式转发,路由器故障后需要切换的业务减少,业务切换时间也相应减少,相应地也减少了通过三层学习ARP表花费的时间,从而减少了报文丢包的情况。
进一步,由于本发明实施例分别查询三层ARP表和MAC表最终确定转发目标数据报文的目标出接口,因此在三层的ARP表中不需要有物理出接口,出接口在二层MAC表中去查找,因此,解决了现有技术中路由器三层学习物理出接口花费时间较长,导致报文丢包的问题,使得路由器无需进行三层学习即可获取物理出接口,提高三层数据报文的转发速度,减少了报文的丢包率。
实施例二
图2a是本发明实施例适用的一种应用场景的实现流程图,本实施例可以与上述实施例中各个可选方案结合。具体的,参考图2a,应用于分布式转发***的转发控制方法可以包括如下步骤:
首先,交换机在交换机中的各端口中,设置交换机转发端口和至少一个阻塞端口。
本实施例的应用场景可以是如图2b所示的包括两个路由器的虚拟冗余路由协议网络,也可以是如图2c所示的包括多个路由器的虚拟冗余路由协议网络。下面以如图2b所示的虚拟冗余路由协议网络为例,对转发控制方法进行说明。
示例性的,对于如图2b所示的虚拟冗余路由协议网络,VLAN1的交换机HostA,访问VLAN2的交换机Host C或交换机HostD,都由Router A进行三层解析和转发。交换机HostA将自身中的端口1设置为转发端口,将端口2设置为阻塞端口;交换机HostB将自身中的端口4设置为转发端口,将端口3设置为阻塞端口;交换机HostC将自身中的端口5设置为转发端口,将端口6设置为阻塞端口;交换机HostD将自身中的端口8设置为转发端口,将端口7设置为阻塞端口。因此,同一VLAN中的交换机HostA和交换机HostB的主路由器不相同,即同一VLAN中的交换机HostA和交换机HostB的转发端口连接不同的路由器。同样,同一VLAN中的交换机HostC和交换机HostdD的主路由器不相同,即同一VLAN中的交换机HostC和交换机HostD的转发端口连接不同的路由器。
然后,交换机通过当前交换机转发端口将数据报文转发至与当前交换机转发端口连接的路由器,以通过该路由器对数据报文进行查表转发。
示例性的,对于如图2b所示的虚拟冗余路由协议网络,此时,与交换机Host A、Host C相连的路由器Router A的地址解析协议表和媒体访问控制地址表,即VRRP routerAARP表和RouterA MAC表,与交换机Host B、Host D相连的路由器RouterB的地址解析协议表和媒体访问控制地址表,即VRRP routerB ARP表和RouterB MAC表,依次如图2d-2g所示。
此时,VLAN1的HostA如果要访问VLAN2的Host C或HostD,可以通过交换机端口1将数据报文转发至Router A,由Router A进行数据报文的三层解析和转发。
VLAN1的HostB如果要访问VLAN2的Host C或HostD,可以通过交换机端口4将数据报文转发至Router B,由Router B进行数据报文的三层解析和转发。
VLAN2的HostC如果要访问VLAN1的Host A或HostB,可以通过交换机端口5将数据报文转发至Router A,由Router A进行数据报文的三层解析和转发。
VLAN2的HostD如果要访问VLAN1的Host A或HostB,可以通过交换机端口8将数据报文转发至Router B,由Router B进行数据报文的三层解析和转发。
然后,交换机在向虚拟冗余路由协议网络转发数据报文的过程中,如果检测到与交换机转发端口相连的路由器发生故障,则选取目标阻塞端口,并将目标阻塞端口切换为新的交换机转发端口。
示例性的,如图2b所示,如果在交换机HostA转发数据报文的过程中,路由器RouterA断电了,则交换机HostA将自身的交换机端口2切换为新的交换机转发端口,同时,交换机HostC检测到路由器RouterA发生故障,将自身的交换机端口6切换为新的交换机转发端口,即交换机HostA和HostC都将与路由器RouterB之间的传输链路作为转发链路。
需要说明的是,对于由于RouterA断电切换交换机转发端口的交换机,如果该交换机检测到RouterA上电恢复,则可以将自身的交换机转发端口切换回与RouterA对应的交换机端口,也可以保持当前的交换机转发端口不变。
需要说明的是,对于如图2c所示的虚拟冗余路由协议网络,任意1个或2个或3个路由器掉电,交换机都可以使用链路聚合技术选出一个可用的传输链路,即选择出一个新的交换机转发端口。
然后,交换机通过当前交换机转发端口,向与当前交换机转发端口对应的路由器转发数据报文。
示例性的,如图2b所示,VLAN1的HostA如果要访问VLAN2的Host C或HostD,可以通过交换机端口2将数据报文转发至Router B,以通过Router B进行数据报文的三层解析和转发。
VLAN1的HostB如果要访问VLAN2的Host C或HostD,可以通过交换机端口4将数据报文转发至Router B,以通过Router B进行数据报文的三层解析和转发。
VLAN2的HostC如果要访问VLAN1的Host A或HostB,可以通过交换机端口6将数据报文转发至Router B,以通过Router B进行数据报文的三层解析和转发。
VLAN2的HostD如果要访问VLAN1的Host A或HostB,可以通过交换机端口8将数据报文转发至Router B,以通过Router B进行数据报文的三层解析和转发。
最后,路由器在接收到数据报文时,查询本机存储的ARP表和MAC表,并根据查询的目标出接口转发数据报文。
示例性的,如图2b所示,此时,路由器RouterB的MAC表可以通过交换机之间互相发送二层数据报文进行刷新,如图2h所示。以VLAN1的交换机HostA访问VLAN2的交换机Host C为例,对路由器的查表转发过程进行说明。路由器RouterB获取数据报文中的目的互联网协议地址为IPC,根据IPC查询本地的VRRP routerB ARP表,得到与IPC对应的MACC以及VLAN2,根据查表信息MACC以及VLAN2对数据报文进行相应修改,然后,将修改后的数据报文发送至物理环回接口进行环回,并根据MACC查询RouterB MAC表,得到对应的目标出接口为路由器RouterB的转发端口6,通过RouterB的转发端口6对环回回来的数据报文进行二层转发。
需要说明的是,如果RouterA上电恢复,则RouterA可以请求RouterB同步ARP表,或者,Router A自己学习ARP表,以与RouterB的ARP表一致。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (9)

1.一种分布式转发***,其特征在于,包括:虚拟冗余路由协议网络中的各路由器,各路由器之间相互连接,所述虚拟冗余路由协议网络中至少有两台路由器处于转发状态;
虚拟冗余路由协议网络中的所有路由器在本机均保存有地址解析协议ARP表,所述ARP表中包括虚拟冗余路由协议网络中各路由器能直达的所有的主机的互联网协议IP地址与媒体访问控制MAC地址的对应关系;
与交换机的阻塞端口或与主机的非工作网口连接的第一路由器执行以下方法:
接收第二路由器同步的IP地址与MAC地址的对应关系并保存在本机的ARP表中,或者,接收第二路由器转发的ARP请求报文,通过学习获得ARP请求报文中IP地址对应的MAC地址并保存在本机的ARP表中;
其中,第二路由器为与交换机的转发端口或与主机的工作网口连接的路由器;
任意一台所述路由器不能连接所有所述交换机的转发端口,或者连接所有所述交换机的阻塞端口;
与交换机的转发端口或与主机的工作网口连接的第二路由器执行以下方法:
接收到所述交换机或主机的APR请求报文后,向与交换机的阻塞端口或与主机的非工作网口连接的第一路由器转发所述APR请求报文;或者,
将学习到的IP地址与MAC地址的对应关系同步给与所述第一路由器;
与所述交换机的阻塞端口连接的路由器执行以下方法:
在与所述交换机的转发端口连接的路由器故障后,打开阻塞端口使所述阻塞端口处于转发状态,与所述交换机的阻塞端口连接的路由器切换为所述交换机当前的主路由器;
其中,所述交换机的转发端口和阻塞端口分别与所述虚拟冗余路由协议网络中不同路由器相连,用于形成多条传输链路。
2.根据权利要求1中所述的***,其特征在于,虚拟冗余路由协议网络中的所有路由器在本机均保存有MAC表,所述MAC表中包括通过二层学习获得的MAC地址与物理出接口的对应关系。
3.根据权利要求2所述的***,其特征在于,与交换机的转发端口或与主机的工作网口连接的第二路由器执行方法:
接收到所述交换机或主机的目标数据报文后,根据所述目标数据报文,查询本机存储的ARP表和MAC表,并根据查询的目标出接口转发所述目标数据报文。
4.根据权利要求3所述的***,其特征在于,与交换机的转发端口或与主机的工作网口连接的第二路由器执行根据目标数据报文,查询本机存储的ARP表和MAC表,并根据查询的目标出接口转发所述目标数据报文,包括:
在ARP表中查询目标数据报文中的目的IP地址匹配的目标MAC地址,在MAC表中查询目标MAC地址对应的目标出接口,并根据查询的目标出接口转发所述目标数据报文。
5.根据权利要求4所述的***,其特征在于,所述ARP表的各表项中用于三层转发的出接口为路由器中的物理环回接口或逻辑环回接口;
与交换机的转发端口或与主机的工作网口连接的第二路由器执行查询本机存储的ARP表和MAC表,并根据查询的目标出接口转发所述目标数据报文,包括:
在所述ARP表中查询所述目标数据报文中的目的IP地址匹配的目标MAC地址;
根据所述目标MAC地址对所述目标数据报文进行修改,并将修改后的目标数据报文通过所述物理环回接口或逻辑环回接口进行虚拟三层转发;
在所述MAC表中查询所述目标MAC地址对应的目标出接口,并通过所述目标出接口对经过虚拟三层转发的目标数据报文进行二层转发。
6.根据权利要求5所述的***,其特征在于,与交换机的转发端口或与主机的工作网口连接的第二路由器还执行方法:
控制层将学习到或其它路由器同步得到的IP地址与MAC地址的对应关系下发至转发层;
转发层将控制层下发的上述对应关系中保存在本地ARP表项中,并将本地ARP表项中的物理出接口替换为所述路由器的物理环回接口或逻辑环回接口。
7.根据权利要求1所述的***,其特征在于,同一VLAN中的不同交换机的主路由器不相同。
8.一种分布式转发***,其特征在于,包括:虚拟冗余路由协议网络中的各路由器,各路由器之间相互连接;
所述路由器在本机均保存有地址解析协议ARP表,所述ARP表中包括虚拟冗余路由协议网络中各路由器能直达的所有的主机的互联网协议IP地址与媒体访问控制MAC地址的对应关系;
所述路由器在本机均保存有MAC表,所述MAC表中包括通过二层学习获得的MAC地址与物理出接口的对应关系;
与交换机的阻塞端口或与主机的非工作网口连接的第一路由器执行以下方法:
接收第二路由器同步的IP地址与MAC地址的对应关系并保存在本机的ARP表中,或者,接收第二路由器转发的ARP请求报文,通过学习获得ARP请求报文中IP地址对应的MAC地址并保存在本机的ARP表中;
其中,第二路由器为与交换机的转发端口或与主机的工作网口连接的路由器;
任意一台所述路由器不能连接所有所述交换机的转发端口,或者连接所有所述交换机的阻塞端口;
与交换机的转发端口或与主机的工作网口连接的第二路由器执行以下方法:
接收到所述交换机或主机的APR请求报文后,向与交换机的阻塞端口或与主机的非工作网口连接的第一路由器转发所述APR请求报文;或者,
将学习到的IP地址与MAC地址的对应关系同步给与所述第一路由器;
与所述交换机的阻塞端口连接的路由器执行以下方法:
在与所述交换机的转发端口连接的路由器故障后,打开阻塞端口使所述阻塞端口处于转发状态,与所述交换机的阻塞端口连接的路由器切换为所述交换机当前的主路由器;
其中,所述交换机的转发端口和阻塞端口分别与所述虚拟冗余路由协议网络中不同路由器相连,用于形成多条传输链路。
9.根据权利要求8所述的***,其特征在于,所述ARP表的各表项中用于三层转发的出接口为路由器中的物理环回接口或逻辑环回接口;与交换机的转发端口或与主机的工作网口连接的第二路由器连接的路由器执行以下方法:
在所述ARP表中查询目标数据报文中的目的IP地址匹配的目标MAC地址;
根据所述目标MAC地址对所述目标数据报文进行修改,并将修改后的目标数据报文通过所述物理环回接口或逻辑环回接口进行虚拟三层转发;
在所述MAC表中查询所述目标MAC地址对应的目标出接口,并通过所述目标出接口对经过虚拟三层转发的目标数据报文进行二层转发。
CN202011231628.4A 2020-11-06 2020-11-06 一种分布式转发*** Active CN112511419B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011231628.4A CN112511419B (zh) 2020-11-06 2020-11-06 一种分布式转发***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011231628.4A CN112511419B (zh) 2020-11-06 2020-11-06 一种分布式转发***

Publications (2)

Publication Number Publication Date
CN112511419A CN112511419A (zh) 2021-03-16
CN112511419B true CN112511419B (zh) 2023-06-13

Family

ID=74955387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011231628.4A Active CN112511419B (zh) 2020-11-06 2020-11-06 一种分布式转发***

Country Status (1)

Country Link
CN (1) CN112511419B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114979034B (zh) * 2022-06-28 2024-03-26 北京东土军悦科技有限公司 一种数据包转发***、方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035058A (zh) * 2007-04-28 2007-09-12 杭州华三通信技术有限公司 虚拟路由器冗余协议报文传输方法及装置
CN101242254A (zh) * 2008-02-26 2008-08-13 中兴通讯股份有限公司 虚拟冗余路由器***及传输虚拟冗余路由协议报文的方法
CN102413046A (zh) * 2011-11-24 2012-04-11 杭州华三通信技术有限公司 借助虚拟路由器冗余协议备份组转发流量的方法及设备
CN103200117A (zh) * 2013-03-04 2013-07-10 杭州华三通信技术有限公司 一种负载均衡方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035058A (zh) * 2007-04-28 2007-09-12 杭州华三通信技术有限公司 虚拟路由器冗余协议报文传输方法及装置
CN101242254A (zh) * 2008-02-26 2008-08-13 中兴通讯股份有限公司 虚拟冗余路由器***及传输虚拟冗余路由协议报文的方法
CN102413046A (zh) * 2011-11-24 2012-04-11 杭州华三通信技术有限公司 借助虚拟路由器冗余协议备份组转发流量的方法及设备
CN103200117A (zh) * 2013-03-04 2013-07-10 杭州华三通信技术有限公司 一种负载均衡方法和装置

Also Published As

Publication number Publication date
CN112511419A (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
US10686749B2 (en) Packet sending method and network device
CN112615778B (zh) 报文转发方法、装置、路由器、存储介质及***
WO2021088808A1 (zh) 双归设备接入流量的转发方法、设备及存储介质
US8300523B2 (en) Multi-chasis ethernet link aggregation
US7751329B2 (en) Providing an abstraction layer in a cluster switch that includes plural switches
US8817593B2 (en) Method and apparatus providing failover for a point to point tunnel for wireless local area network split-plane environments
JP5152642B2 (ja) パケットリングネットワークシステム、パケット転送方法、およびノード
US7342874B2 (en) High-availability packet forwarding apparatus and method
CN111865779B (zh) 一种路由同步方法及跨设备链路聚合组
JP4729119B2 (ja) ラベルスイッチングネットワークにおける通信装置
US8959201B2 (en) Limiting control traffic in a redundant gateway architecture
US20130272114A1 (en) Pseudo wire switching method and device
CN111740899A (zh) 一种arp请求报文转发方法、跨设备链路聚合组及网络设备
CN111935013B (zh) 流量转发控制方法及装置、流量转发方法及芯片、交换机
CN112134796B (zh) 一种实现流量切换的方法、装置及***
CN102148677A (zh) 一种更新地址解析协议表项的方法及核心交换机
JP2002057682A (ja) ネットワークインタフェース切替え方法及びネットワークに接続可能なコンピュータ
US10447652B2 (en) High availability bridging between layer 2 networks
US20050099940A1 (en) Method and system for redundant IP forwarding in a telecommunications network
CN113259235A (zh) 一种基于IPv6的双活路由冗余方法及***
CN107682261B (zh) 流量转发方法及装置
CN115174468A (zh) 路由同步方法、跨设备链路聚合组、电子设备及介质
CN112511419B (zh) 一种分布式转发***
WO2022077972A1 (zh) Mlag链路故障切换方法和装置
WO2022017225A1 (zh) 报文发送方法、设备及***

Legal Events

Date Code Title Description
PB01 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