CN107317752A - 一种转发数据报文的方法及装置 - Google Patents
一种转发数据报文的方法及装置 Download PDFInfo
- Publication number
- CN107317752A CN107317752A CN201610270386.7A CN201610270386A CN107317752A CN 107317752 A CN107317752 A CN 107317752A CN 201610270386 A CN201610270386 A CN 201610270386A CN 107317752 A CN107317752 A CN 107317752A
- Authority
- CN
- China
- Prior art keywords
- address
- access switch
- data message
- server
- gateway
- 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.)
- Granted
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/54—Organization of routing tables
-
- 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/72—Routing based on the source address
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
- H04L49/354—Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/70—Virtual switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种转发数据报文的方法及装置,属于网络技术领域。所述方法包括:网关接收第一接入交换机发送的添加了所述第一VXLAN封装的所述数据报文,剥离所述数据报文的所述第一VXLAN封装,并获取数据报文的内层封装中的目的地址,所述第一VXLAN封装中的目的地址为网关的地址,内层封装中的目的地址为目的服务器的地址,根据所述映射表,以及目的服务器的地址,确定数据报文的目的接入交换机的地址,为数据报文添加第二VXLAN封装,所述第二VXLAN封装中的目的地址为数据报文的目的接入交换机的地址,向所述目的接入交换机发送添加了所述第二VXLAN封装的所述数据报文。采用本发明,可以降低网络的局限性。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种转发数据报文的方法及装置。
背景技术
随着网络技术的发展,在所有的网络活动中,每一分钟都将产生超过1820TB的新数据,这些数据在世界各地的数据中心之间被存储、处理,以及共享,为了适应未来数据中心中数据的处理速度以及精度,我们需要使网络架构更简单、更高效。
在现有的数据中心网络中,一般有多个广播域,每个广播域中设置有多个服务器和交换机,服务器可以用于业务处理,与服务器直连的交换机可称作接入交换机,用于与广播域外部进行业务通信的交换机可称作网关。为了提高服务器的使用效率,通常每个服务器中包含多个虚拟机。基于网际协议(英文:Internet Protocol,简称:IP),数据中心网络中的交换机需要在路由表中记录每个虚拟机的媒体访问控制(英文:media access control,简称:MAC)地址对应的表项,使该交换机可以将接收到的数据报文转发至相应的目的虚拟机。由于交换机的MAC地址表容量有限,当虚拟机数量比较多时,交换机中的MAC地址表容量不足会使得匹配不到MAC地址表项的数据报文被广播,导致正常单播流量转发带宽不足,从而引起转发异常,如丢包。为了防止数据报文转发异常,现有技术采用了一种预设转发端口的方法,即设置在广播域中除网关之外的每个接入交换机与至少一个服务器直连且与至少一个网关直连,接入交换机和网关均支持特定协议。服务器将数据报文发送至接入交换机后,接入交换机根据该特定协议将数据报文通过预设的端口转发至与其直连的网关,网关接收到特定协议的数据报文后,识别其中的目的地址,基于常规的IP转发规则,将数据报文转发至目的地址对应的服务器。这样,接入交换机在进行数据报文的转发时,只可能进行两种类型的转发处理,一种是,如果接收到服务器发送的数据报文,则通过预设端口向外转发,因为通过预设端口,所以这种转发不需要查MAC地址表,另一种是,如果接收到网关发送的数据报文,则根据数据报文的目的地址,查询MAC地址表确定端口,通过该端口将数据报文发送给相应的服务器。这样的话,接入交换机只需要在MAC地址表中记录与其直连的服务器的表项,而不需要记录其他接入交换机直连的服务器的MAC地址,因此MAC表的数据量较小,进而保证转发不出现转发异常。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
接入交换机接收到服务器的数据报文后,如果接入交换机与网关之间还存在其它交换机,该其它交换机不能识别该特殊协议,需要通过广播方式转发接收到的数据报文,则该其他交换机仍然需要学习所有服务器的MAC地址,无法实现上述的降低交换机MAC表数据量的目的,这样,为了实现上述的降低交换机MAC表数据量的目的,接入交换机与网关之间不能部署其它转发交换机,导致网络局限性比较大。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种转发数据报文的方法及装置。所述技术方案如下:
第一方面,提供了一种转发数据报文的方法,所述方法包括:
网关接收第一接入交换机发送的添加了第一虚拟可扩展局域网VXLAN封装的数据报文,剥离所述数据报文的所述第一VXLAN封装,并获取所述数据报文的内层封装中的目的地址,其中,所述VXLAN封装中的目的地址为所述网关的地址,所述内层封装中的目的地址为目的服务器的地址;
所述网关根据所述映射表,以及所述目的服务器的地址,确定所述数据报文的目的接入交换机的地址;
所述网关为所述数据报文添加第二VXLAN封装,所述第二VXLAN封装中的目的地址为所述数据报文的目的接入交换机的地址;
所述网关向所述目的接入交换机发送添加了所述第二VXLAN封装的所述数据报文。
其中,目的地址为目的服务器的地址,目的地址可以是MAC地址,也可以是IP地址,VXLAN封装中可以包含外层以太网头(英文:Outer Ethernet header)、外层网络之间互连的协议(英文:Outer Internet Protocol,简称:Outer IP)、外层用户数据报协议头(英文:Outer User Datagram Protocol header,简称:OuterUDP header)、虚拟可扩展局域网头(英文:VXLAN header),其中Outer Ethernetheader中包括目的MAC地址、源MAC地址等,Outer IP中包含目的IP地址、源IP地址等。映射表的每个表项包括服务器的地址与服务器直连的接入交换机的地址。
网关接收第一接入交换机发送的添加第一VXLAN封装后数据报文,可以对接收到的数据报文解封装,获取内层封装中的目的地址,然后从映射表中查找目的地址对应的目的接入交换机的地址,然后将确定的目的接入交换机的地址添加到第二VXLAN封装中,然后将添加第二VXLAN封装的数据报文转发至目的接入交换机。
结合第一方面,在该第一方面的第一种可能实现方式中,所述网关根据所述映射表,以及所述目的服务器的地址,确定所述数据报文的目的接入交换机的地址,包括:
如果所述映射表中包括所述目的服务器的地址,则所述网关根据所述映射表,以及所述目的服务器的地址,将所述目的服务器直连的第二接入交换机的地址,确定为所述数据报文的目的接入交换机的地址;
如果所述映射表中不包括所述目的服务器的地址,则所述网关将当前广播域中除所述第一接入交换机之外的其它接入交换机的地址,确定为所述数据报文的目的接入交换机的地址。
如果网关中存储的映射表中包括目的服务器的地址,则可以在该映射表中确定目的地址对应的第二接入交换机的地址,将数据报文转发至第二接入交换机。如果网关中存储的映射表中不包括所述目的服务器的地址,则网关可以确定广播域中除第一接入交换机的地址之外的其它接入交换机的地址,将其它接入交换机的地址确定为目的接入交换机的地址,然后对数据报文进行广播。
结合第一方面的第一种可能的实现方式,在该第一方面的第二种可能的实现方式中,所述网关根据所述映射表,以及所述目的服务器的地址,将所述目的服务器直连的第二接入交换机的地址,确定为所述数据报文的目的接入交换机的地址,包括:
所述网关根据所述映射表,以及所述目的服务器的地址,确定所述目的服务器直连的至少一个接入交换机的地址;
所述网关根据哈希选路规则,在所述至少一个接入交换机的地址中,选取第二接入交换机的地址,作为所述数据报文的目的接入交换机的地址。
其中,哈希选路规则为网关到第一接入交换机、第二接入交换机的链路路径开销,选取路径开销最小的链路发送数据报文,或者确定网关到第一接入交换机、第二接入交换机的链路的带宽,选择带宽最大的链路发送数据报文等。
如果网关根据映射表,确定目的服务器对应的多个接入交换机的地址,则可以依照哈希选路规则,确定第二接入交换机的地址。
结合第一方面,在该第一方面的第三种可能实现方式中,所述网关接收第一接入交换机发送的添加了第一虚拟可扩展局域网VXLAN封装的数据报文,剥离所述数据报文的所述第一VXLAN封装,并获取所述数据报文的内层封装中的目的地址之后,还包括:
所述网关获取所述数据报文的内层封装中的源地址,并获取所述第一VXLAN封装中的源地址,所述内层封装中的源地址为源服务器的地址,所述第一VXLAN封装中的源地址为所述第一接入交换机的地址;
所述网关将所述源服务器的地址与所述第一接入交换机的地址,添加到所述映射表的第一表项中,并将所述源服务器的地址与所述第一接入交换机的地址发送至其它网关。
其中,内层封装中的源地址为服务器的源地址,可以是IP地址和MAC地址,第一VXLAN封装中的源地址为第一接入交换机的地址,可以是IP地址和MAC地址。
网关接收到数据报文后,可以获取数据报文的内层封装中的源地址,并且获取第一VXLAN封装中的源地址,然后将源服务器的地址与第一接入交换机的地址,添加到映射表的第一表项中,然后将源服务器的地址与第一接入交换机的地址发送至其它网关,以使其它网关将源服务器的地址与第一接入交换机的地址,存储至各自的映射表的第一表项中。
结合第一方面的第三种可能的实现方式,在该第一方面的第四种可能的实现方式中,所述服务器的地址与服务器直连的接入交换机的地址的对应关系为:接入交换机的地址、接入交换机的端口、端口连接的服务器的地址的对应关系;
所述网关将所述源服务器的地址与所述第一接入交换机的地址,添加到所述映射表的第一表项中,并将所述源服务器的地址与所述第一接入交换机的地址发送至其它网关,包括:
所述网关获取所述第一VXLAN封装中携带的第一端口,所述第一端口为所述第一接入交换机连接所述源服务器的端口;
将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址,添加到所述第一表项中,并将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址发送至其它网关。
第一端口可以添加到VXLAN保留字段(24个比特)中,或者是添加到数据报文的源地址与以太报文类型之间。可以是第一端口的标识添加到VXLAN保留字段(24个比特)中,或数据报文的源地址与以太报文类型之间。
技术人员可以在网关中预设接入交换机的地址、接入交换机的端口、端口连接的服务器的地址的对应关系,网关可以将第一接入交换机的地址、第一端口、源服务器的地址,添加到映射表的第一表项中,并且可以将第一接入交换机的地址、第一端口、源服务器的地址,发送至其它网关,其它网关也可以将第一接入交换机的地址、第一端口、源服务器的地址,添加到各自的映射表的第一表项中。这样当其它服务器向当前的源服务器发送数据报文时,网关可以在VXLAN封装中携带第一端口,第一接入交换机接收到网关发送的数据报文后,无需查找转发表,就可以通过第一端口将数据报文转发至当前的源服务器。
结合第一方面,在该第一方面的第五种可能实现方式中,所述网关为所述数据报文添加第二VXLAN封装,包括:
所述网关根据预先存储的每个接入交换机的端口与端口连接的服务器的地址的对应关系,以及所述目的服务器的地址,确定所述第二接入交换机连接所述目的服务器的第二端口;
所述网关为所述数据报文添加第二VXLAN封装,并将所述第二端口添加到所述第二VXLAN封装中,以使所述第二接入交换机通过所述第二端口,将所述数据报文转发至所述目的服务器。
其中,第二端口可以添加到VXLAN保留字段(24个比特)中,或者是添加到数据报文的源地址与以太报文类型之间。可以是第二端口的标识添加到VXLAN保留字段(24个比特)中,或数据报文的源地址与以太报文类型之间。
网关可以根据预先存储的每个接入交换机的端口与端口连接的服务器的地址的对应关系,以及目的服务器的地址,确定第二接入交换机连接目的服务器的第二端口。然后可以添加第二VXLAN封装,将第二端口添加到VXLAN保留字段(24个比特)中,可以是将第二端口的标识添加到VXLAN保留字段(24个比特)中,或者是添加到数据报文的源地址与以太报文类型之间。这样,第二接入交换机接收到网关发送的数据报文后,剥离第二VXLAN封装,获取到第二端口,无需查找转发表,就可以通过第二端口将数据报文转发至目的服务器,从而第二接入交换机可以不存储转发表,节约存储空间。
结合第一方面,在该第一方面的第六种可能实现方式中,网关接收第一接入交换机发送的添加了第一虚拟可扩展局域网VXLAN封装的数据报文之后,还包括:获取所述第一VXLAN封装中的所述第一接入交换机的逻辑标识;
所述网关为所述数据报文添加第二VXLAN封装,包括:所述网关为所述数据报文添加第二VXLAN封装,并将所述第一接入交换机的逻辑标识添加到所述第一VXLAN封装中。
其中,第一接入交换机的逻辑标识可以添加到VXLAN保留字段(24个比特)中,或者是可以添加到数据报文的源地址与以太报文类型之间。
网关可以从接收到的数据报文的第一VXLAN封装中获取第一接入交换机的逻辑标识,然后可以将第一接入交换机的逻辑标识添加到VXLAN保留字段(24个比特)中,或者是添加到数据报文的源地址与以太报文类型之间。
第二方面,提供了一种转发数据报文的方法,所述方法包括:
第一接入交换机接收源服务器发送的数据报文,获取预设的网关的地址;
所述第一接入交换机为所述数据报文添加第一VXLAN封装,所述第一VXLAN封装中的目的地址为所述预设的网关的地址;
所述第一接入交换机将添加了所述第一VXLAN封装的所述数据报文发送至所述网关。
其中,网关地址可以是MAC地址,也可以是IP地址。
第一接入交换机接收到源服务器发送的数据报文后,可以获取预设的网关的地址,如果预设的网关为多个,不同的网关会对应不同的地址,可以使用哈希选路规则(计算当前第一接入交换机到每个网关的链路路径开销,选取路径开销最小的链路发送数据报文),从多个网关的地址中选择一个网关的地址。然后将确定的网关的地址添加到第一VXLAN封装中,作为目的地址,然后将添加第一VXLAN封装后的数据报文转发至网关。
结合第二方面,在该第二方面的第一种可能实现方式中,所述第一接入交换机为所述数据报文添加第一VXLAN封装,包括:
所述第一接入交换机确定所述第一接入交换机连接所述源服务器的第一端口;
所述第一接入交换机为所述数据报文添加第一VXLAN封装,并将所述第一端口添加到所述第一VXLAN封装中。
其中,第一端口可以添加到VXLAN保留字段(24个比特)中,或者是添加到数据报文的源地址与以太报文类型之间。可以是第一端口的标识添加到VXLAN保留字段(24个比特)中,或数据报文的源地址与以太报文类型之间。
结合第二方面,在该第二方面的第二种可能实现方式中,所述第一接入交换机为所述数据报文添加第一VXLAN封装,包括:
所述第一接入交换机为所述数据报文添加第一VXLAN封装,并将预先存储的所述第一接入交换机的逻辑标识添加到所述第一VXLAN封装中。
其中,第一接入交换机的逻辑标识可以添加到VXLAN保留字段(24个比特)中,或者是可以添加到数据报文的源地址与以太报文类型之间。
第一接入交换机为接收到的数据报文添加第一VXLAN封装,并将第一接入交换机的逻辑标识添加到第一VXLAN封装中。
第三方面,提供了一种网关,所述网关包括接收器、处理器、发射器和存储器,其中:
所述接收器,用于接收第一接入交换机发送的添加了第一虚拟可扩展局域网VXLAN封装的数据报文,所述第一VXLAN封装中的目的地址为所述网关的地址;
所述存储器,用于存储映射表,所述映射表的每个表项包括服务器的地址与所述服务器直连的接入交换机的地址;
所述处理器,用于剥离所述数据报文的所述第一VXLAN封装,并获取所述数据报文的内层封装中的目的地址,其中,所述内层封装中的目的地址为目的服务器的地址;根据所述映射表,以及所述目的服务器的地址,确定所述数据报文的目的接入交换机的地址;所述处理器,还用于为所述数据报文添加第二VXLAN封装,所述第二VXLAN封装中的目的地址为所述数据报文的目的接入交换机的地址;
所述发射器,用于向所述目的接入交换机发送添加了所述第二VXLAN封装的所述数据报文。
结合第三方面,在该第三方面的第一种可能实现方式中,所述处理器用于:
如果所述映射表中包括所述目的服务器的地址,则所述网关根据所述映射表,以及所述目的服务器的地址,将所述目的服务器直连的第二接入交换机的地址,确定为所述数据报文的目的接入交换机的地址;
如果所述映射表中不包括所述目的服务器的地址,则所述网关将当前广播域中除所述第一接入交换机之外的其它接入交换机的地址,确定为所述数据报文的目的接入交换机的地址。
结合第三方面的第一种可能的实现方式,在该第一方面的第二种可能的实现方式中,所述处理器用于:
根据所述映射表,以及所述目的服务器的地址,确定所述目的服务器直连的至少一个接入交换机的地址;
根据哈希选路规则,在所述至少一个接入交换机的地址中,选取第二接入交换机的地址,作为所述数据报文的目的接入交换机的地址。
结合第三方面,在该第三方面的第三种可能实现方式中,所述处理器用于:
获取所述数据报文的内层封装中的源地址,并获取所述第一VXLAN封装中的源地址,所述内层封装中的源地址为源服务器的地址,所述第一VXLAN封装中的源地址为所述第一接入交换机的地址;
将所述源服务器的地址与所述第一接入交换机的地址,添加到所述映射表的第一表项中,所述发射器,将所述源服务器的地址与所述第一接入交换机的地址发送至其它网关。
结合第三方面的第三种可能的实现方式,在该第三方面的第四种可能的实现方式中,所述服务器的地址与服务器直连的接入交换机的地址的对应关系为:接入交换机的地址、接入交换机的端口、端口连接的服务器的地址的对应关系;
所述处理器用于:获取所述第一VXLAN封装中携带的第一端口,所述第一端口为所述第一接入交换机连接所述源服务器的端口;将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址,添加到所述第一表项中,所述发射器,用于将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址发送至其它网关。
结合第三方面,在该第三方面的第五种可能实现方式中,所述处理器用于:
根据预先存储的每个接入交换机的端口与端口连接的服务器的地址的对应关系,以及所述目的服务器的地址,确定所述第二接入交换机连接所述目的服务器的第二端口;
为所述数据报文添加第二VXLAN封装,并将所述第二端口添加到所述第二VXLAN封装中,以使所述第二接入交换机通过所述第二端口,将所述数据报文转发至所述目的服务器。
结合第三方面,在该第三方面的第六种可能实现方式中,所述处理器用于:获取所述第一VXLAN封装中的所述第一接入交换机的逻辑标识;
为所述数据报文添加第二VXLAN封装,并将所述第一接入交换机的逻辑标识添加到所述第一VXLAN封装中。
第四方面,提供了一种接入交换机,所述接入交换机为第一接入交换机,所述第一接入交换机包括接收器、处理器和发射器,其中:
所述接收器,用于接收源服务器发送的数据报文;
所述处理器,用于获取预设的网关的地址;为所述数据报文添加第一VXLAN封装,所述第一VXLAN封装中的目的地址为所述预设的网关的地址;
所述发射器,用于将添加了所述第一VXLAN封装的所述数据报文发送至所述网关。
结合第四方面,在该第四方面的第一种可能实现方式中,所述处理器用于:
确定所述第一接入交换机连接所述源服务器的第一端口;
为所述数据报文添加第一VXLAN封装,并将所述第一端口添加到所述第一VXLAN封装中。
结合第四方面,在该第四方面的第二种可能实现方式中,所述处理器用于:
为所述数据报文添加第一VXLAN封装,并将预先存储的所述第一接入交换机的逻辑标识添加到所述第一VXLAN封装中。
第五方面,提供了一种网关,所述网关包括:
接收模块,用于接收第一接入交换机发送的添加了第一虚拟可扩展局域网VXLAN封装第一的数据报文,剥离所述数据报文的所述第一VXLAN封装,并获取所述数据报文的内层封装中的目的地址,其中,所述VXLAN封装中的目的地址为所述网关的地址,所述内层封装中的目的地址为目的服务器的地址;
确定模块,用于根据所述映射表,以及所述目的服务器的地址,确定所述数据报文的目的接入交换机的地址;
封装模块,还用于为所述数据报文添加第二VXLAN封装,所述第二VXLAN封装中的目的地址为所述数据报文的目的接入交换机的地址;
发送模块,用于向所述目的接入交换机发送添加了所述第二VXLAN封装的所述数据报文。
结合第五方面,在该第五方面的第一种可能实现方式中,所述确定模块用于:
如果所述映射表中包括所述目的服务器的地址,则所述网关根据所述映射表,以及所述目的服务器的地址,将所述目的服务器直连的第二接入交换机的地址,确定为所述数据报文的目的接入交换机的地址;
如果所述映射表中不包括所述目的服务器的地址,则所述网关将当前广播域中除所述第一接入交换机之外的其它接入交换机的地址,确定为所述数据报文的目的接入交换机的地址。
结合第五方面的第一种可能的实现方式,在该第五方面的第二种可能的实现方式中,所述确定模块包括确定子模块和选取子模块,其中:
所述确定子模块,用于根据所述映射表,以及所述目的服务器的地址,确定所述目的服务器直连的至少一个接入交换机的地址;
所述选取子模块,用于根据哈希选路规则,在所述至少一个接入交换机的地址中,选取第二接入交换机的地址,作为所述数据报文的目的接入交换机的地址。
结合第五方面,在该第五方面的第三种可能实现方式中,所述网关还包括:
获取模块,用于获取所述数据报文的内层封装中的源地址,并获取所述第一VXLAN封装中的源地址,所述内层封装中的源地址为源服务器的地址,所述第一VXLAN封装中的源地址为所述第一接入交换机的地址;
添加模块,用于将所述源服务器的地址与所述第一接入交换机的地址,添加到所述映射表的第一表项中,
所述发送模块,还用于将所述源服务器的地址与所述第一接入交换机的地址发送至其它网关。
结合第五方面的第三种可能的实现方式,在该第五方面的第四种可能的实现方式中,所述服务器的地址与服务器直连的接入交换机的地址的对应关系为:接入交换机的地址、接入交换机的端口、端口连接的服务器的地址的对应关系;
所述获取模块,用于获取所述第一VXLAN封装中携带的第一端口,所述第一端口为所述第一接入交换机连接所述源服务器的端口;
所述添加模块,用于将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址,添加到所述第一表项中,
所述发送模块,用于将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址发送至其它网关。
结合第五方面,在该第五方面的第五种可能实现方式中,所述确定模块,用于:
根据预先存储的每个接入交换机的端口与端口连接的服务器的地址的对应关系,以及所述目的服务器的地址,确定所述第二接入交换机连接所述目的服务器的第二端口;
所述封装模块,用于为所述数据报文添加第二VXLAN封装,并将所述第二端口添加到所述第二VXLAN封装中,以使所述第二接入交换机通过所述第二端口,将所述数据报文转发至所述目的服务器。
结合第五方面,在该第五方面的第六种可能实现方式中,所述获取模块,用于获取所述第一VXLAN封装中的所述第一接入交换机的逻辑标识;
所述封装模块,用于为所述数据报文添加第二VXLAN封装,并将所述第一接入交换机的逻辑标识添加到所述第一VXLAN封装中。
第六方面,提供了一种接入交换机,所述接入交换机为第一接入交换机,所述第一接入交换机包括:
接收模块,用于接收源服务器发送的数据报文,获取预设的网关的地址;
封装模块,用于为所述数据报文添加第一VXLAN封装,所述第一VXLAN封装中的目的地址为所述预设的网关的地址;
发送模块,用于将添加了所述第一VXLAN封装的所述数据报文发送至所述网关。
结合第六方面,在该第六方面的第一种可能实现方式中,所述第一接入交换机还包括:
确定模块,用于确定所述第一接入交换机连接所述源服务器的第一端口;
所述封装模块,用于为所述数据报文添加第一VXLAN封装,并将所述第一端口添加到所述第一VXLAN封装中。
结合第六方面,在该第六方面的第二种可能实现方式中,所述封装模块,用于:
为所述数据报文添加第一VXLAN封装,并将预先存储的所述第一接入交换机的逻辑标识添加到所述第一VXLAN封装中。
第七方面,提供了一种转发数据报文的系统,所述系统包括网关和第一接入交换机,其中:
所述第一接入交换机,用于接收源服务器发送的数据报文,获取预设的网关的地址;为所述数据报文添加第一VXLAN封装,所述第一VXLAN封装中的目的地址为所述预设的网关的地址;将添加了所述第一VXLAN封装的所述数据报文发送至所述网关;
所述网关,用于接收所述第一接入交换机发送的添加了第一虚拟可扩展局域网VXLAN封装的数据报文,剥离所述数据报文的第一VXLAN封装,并获取所述数据报文的内层封装中的目的地址,其中,所述VXLAN封装中的目的地址为所述网关的地址,所述内层封装中的目的地址为目的服务器的地址;根据所述映射表,以及所述目的服务器的地址,确定所述数据报文的目的接入交换机的地址;为所述数据报文添加第二VXLAN封装,所述第二VXLAN封装中的目的地址为所述数据报文的目的接入交换机的地址;向所述目的接入交换机发送添加了所述第二VXLAN封装的所述数据报文。
本发明实施例中,网关接收第一接入交换机发送的添加了第一VXLAN封装的所述数据报文,剥离所述数据报文的所述第一VXLAN封装,并获取数据报文的内层封装中的目的地址,第一VXLAN封装中的目的地址为网关的地址,内层封装中的目的地址为目的服务器的地址,根据所述映射表,以及目的服务器的地址,确定数据报文的目的接入交换机的地址,为数据报文添加第二VXLAN封装,所述第二VXLAN封装中的目的地址为数据报文的目的接入交换机的地址,向所述目的接入交换机发送添加了所述第二VXLAN封装的所述数据报文。由于VXLAN封装的最外面为外层以太头和外层IP头,而所有现网中的交换机都可以识别外层以太头和外层IP头的至少一种,这样,第一接入交换机和网关之间的其他交换机可以根据第一VXLAN封装中的外层以太头和外层IP头的至少一种,将所述添加了第一VXLAN封装的数据报文转发给所述网关,类似地,网关和目的接入交换机之间的其他交换机,也可以根据第二VXLAN封装中的外层以太头和外层IP头的至少一种,将添加了所述第二VXLAN封装的数据报文发送给所述目的接入交换机。因此,本发明中,接入交换机与网关之间可以部署其它交换机,从而可以降低网络的局限性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1是本发明实施例提供的一种网络架构示意图;
图2是本发明实施例提供的一种网关的结构示意图;
图3是本发明实施例提供的一种接入交换机的结构示意图;
图4是本发明实施例提供的一种转发数据报文的方法的流程图;
图5是本发明实施例提供的一种VXLAN封装示意图;
图6是本发明实施例提供的一种VXLAN封装示意图;
图7是本发明实施例提供的一种转发数据报文的方法的流程图;
图8是本发明实施例提供的一种转发数据报文的方法的流程图;
图9是本发明实施例提供的一种网络架构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
为了便于对本发明实施例的理解,下面首先介绍本发明实施例涉及的网络架构。
本发明实施例可以应用于数据中心网络中,数据中心网络中一般包含多个广播域(数据报文所能广播到的范围),一个广播域中可以包含至少一个网关、至少一个服务器、至少一个接入交换机以及至少一个其他交换机,网关可以是与广播域外部进行业务通信的交换机,接入交换机为与服务器直连的交换机,其他交换机为网关与接入交换机之间的交换机,网关与任一接入交换机之间至少存在一条数据报文转发路径。本发明实施例以一个广播域中包括两个网关(网关I、网关II),三个接入交换机(第一接入交换机、第二接入交换机、第三接入交换机)、两个服务器(服务器I、服务器II)为例进行说明,如图1所示。其中,两个网关可以工作在负载分担方式或主备方式,服务器I直连的接入交换机为第一接入交换机和第二接入交换机,服务器II直连的接入交换机为第二接入交换机和第三接入交换机,每个接入交换机分别与所有网关连接,网关与接入交换机之间设置有至少一个其他交换机(图中未示出)。
本发明实施例提供了一种转发数据报文的方法,该方法可以由网关和接入交换机共同实现。
网关可以包括接收器210、处理器220、发射器230、存储器240,接收器210、发射器230、存储器240可以分别与处理器220连接,如图2所示,接收器210可以用于接收消息,处理器220可以是网关的控制中心,存储器240可以用于存储映射表、以及在数据报文转发过程中需要的数据。在本发明中,处理器220可以用于确定数据报文的目的接入交换机的地址的相关处理,可选的,处理器220可以包括一个或多个处理单元。网关还可以包括总线,用于实现接收器210、存储器240、处理器220、发射器230之间的通信。
接入交换机可以包括接收器310、处理器320、发射器330,接收器310、发射器器330可以分别与处理器320连接,如图3所示。接收器310可以用于接收消息或数据,发射器330可以用于发送消息或数据,处理器320可以是接入交换机的控制中心,利用各种接口和线路连接整个接入交换机的各个部分,如接收器310、发射器330等。在本发明中,处理器320可以用于确定数据报文待转发的地址的相关处理,可选的,处理器320可以包括一个或多个处理单元。接入交换机还可以包括总线,用于实现接收器310、处理器320、发射器330之间的通信。
如图4所示,本发明实施例以服务器I(也可以称为源服务器)向服务器II(也可以称为目的服务器)发送数据报文为例说明,该方法的处理流程可以包括如下的步骤:
步骤401中,第一接入交换机接收源服务器发送的数据报文。
步骤402,第一接入交换机获取预设的网关的地址。
在实施中,技术人员可以预设网关,并且将预设的网关的地址存储至接入交换机中。
源服务器与第一接入交换机、第二接入交换机直连,源服务器向服务器II发送数据报文时,源服务器可以根据哈希选路规则(计算当前源服务器到第一接入交换机、第二接入交换机的链路路径开销,选取路径开销最小的链路发送数据报文,或者确定源服务器到第一接入交换机、第二接入交换机的链路的带宽,选择带宽最大的链路发送数据报文),在第一接入交换机与第二接入交换机中,选择第一接入交换机,将数据报文发送至第一接入交换机,其中,数据报文携带目的地址,目的地址为目的服务器(服务器II)的地址,目的地址可以为IP地址和MAC地址中的至少一个。
第一接入交换机接收到源服务器发送的数据报文后,可以获取预设的网关的地址,如果预设的网关为多个,不同的网关会对应不同的地址,可以使用哈希选路规则,从多个网关的地址中选择一个网关的地址。
步骤403中,第一接入交换机为数据报文添加第一VXLAN封装,第一VXLAN封装中的目的地址为预设的网关的地址。
其中,如图5所示,VXLAN封装中可以包含外层以太头(Outer Ethernetheader)、外层IP头(Outer Internet Protocol header)、外层UDP头(Outer UDPheader)以及VXLAN头(VXLAN header),其中Outer Ethernet header中包括目的MAC地址、源MAC地址等,Outer IP中包含目的IP地址、源IP地址等。
在实施中,第一接入交换机可以为数据报文添加第一VXLAN封装,并将第一VXLAN封装中的目的地址设置为选取的预设的网关的地址,也就是将Outer Ethernet header中目的MAC地址设置为预设的网关的MAC地址,Outer IPheader中的目的IP地址设置为预设的网关的IP地址。
步骤404中,第一接入交换机将添加了第一VXLAN封装的数据报文发送至网关。
在实施中,如果第一接入交换机与网关之间没有其它交换机,第一接入交换机可以根据预先存储的目的地址与端口的对应关系,确定第一VXLAN封装中的目的地址对应的端口,将添加了第一VXLAN封装的数据报文,从确定的端口发送至目的地址对应的网关。如果第一接入交换机与网关之间有其它交换机,第一接入交换机可以根据预先存储的目的地址与端口的对应关系,确定VXLAN封装中的目的地址对应的端口,将添加了第一VXLAN封装的数据报文,发送至与第一接入交换机连接的其它交换机,该交换机接收到数据报文后,可以识别第一VXLAN封装中的目的地址,然后查找路径转发表(可以是路由转发表或MAC转发表),将数据报文转发至下一交换机,直到转发至选取的网关。
步骤405中,网关接收第一接入交换机发送的添加了第一虚拟可扩展局域网VXLAN封装的数据报文,剥离数据报文的第一VXLAN封装,并获取数据报文的内层封装中的目的地址,其中,第一VXLAN封装中的目的地址为网关的地址,内层封装中的目的地址为目的服务器的地址。
在实施中,网关接收到第一接入交换机发送的添加了第一VXLAN封装的数据报文后,可以识别第一VXLAN封装中的目的地址,如果该地址为自身的地址,可以剥离数据报文的第一VXLAN封装,并且从内层封装中获取其中的目的地址,也就是服务器II的地址。
步骤406中,网关根据映射表,以及目的服务器的地址,确定数据报文的目的接入交换机的地址。
其中,映射表的每个表项包括服务器的地址与服务器直连的接入交换机的地址。
在实施中,技术人员可以预先设置服务器的地址与服务器直连的接入交换机的地址的对应关系,并且存储至网关中的映射表,其中,服务器的地址可以是服务器的MAC地址,如表一所示。
网关获取到目的服务器(服务器II)的地址后,如果获取到目的服务的MAC地址,从存储的映射表中,查找目的服务器的MAC地址对应的数据报文的目的接入交换机的地址。如果只获取到目的服务器的IP地址,则可以通过地址解析协议(英文:Address Resolution Protocol,简称:ARP),将目的服务器的IP地址转换为目的服务器的MAC地址,然后从存储的映射表中,查找目的服务器的MAC地址对应的数据报文的目的接入交换机的地址。
另外,服务器的地址与服务器直连的接入交换机的地址的对应关系中,服务器的地址可以是服务器的MAC地址和IP地址,这样,网关获取到目的服务器(服务器II)的地址后,可以使用服务器的MAC地址或IP地址,从存储的映射表中,查找目的服务器的地址对应的数据报文的目的接入交换机的地址。
表一
可选的,服务器的地址与服务器直连的接入交换机的地址的对应关系中有目的服务器的地址,相应的,步骤406的处理可以如下:
如果网关中存储的映射表中包括目的服务器的地址,则网关可以根据映射表,以及目的服务器的地址,将目的服务器直连的第二接入交换机的地址,确定为数据报文的目的接入交换机的地址。
在实施中,如果存储的映射表中包括目的服务器的地址,则可以从预先存储的服务器地址与服务器直连的接入交换机的地址的对应关系中,确定目的服务器的地址对应的服务器直连的第二接入交换机的地址,并将第二接入交换机的地址作为数据报文的目的接入交换机的地址。
可选的,服务器的地址与服务器直连的接入交换机的地址的对应关系中没有目的服务器的地址,相应的,步骤406的处理可以如下:
如果网关中存储的映射表中不包括目的服务器的地址,则网关将当前广播域中除第一接入交换机之外的其它接入交换机的地址,确定为数据报文的目的接入交换机的地址。
在实施中,如果网关中存储的映射表中不包括目的服务器的地址,则网关可以获取该广播域中除第一接入交换机之外的其它接入交换机的地址,并将其它接入交换机的地址作为数据报文的目的接入交换机的地址。
可选的,网关存储的映射表中,目的服务器的地址对应多个直连的接入交换机的地址,相应的,步骤406的处理可以如下:
网关根据映射表,以及目的服务器的地址,确定目的服务器直连的至少一个接入交换机的地址;网关根据哈希选路规则,在至少一个接入交换机的地址中,选取第二接入交换机的地址,作为数据报文的目的接入交换机的地址。
其中,哈希选路规则为网关到第一接入交换机、第二接入交换机的链路路径开销,选取路径开销最小的链路发送数据报文,或者确定网关到第一接入交换机、第二接入交换机的链路的带宽,选择带宽最大的链路发送数据报文等。
在实施中,网关接收到第一接入交换机发送的数据报文后,在存储的映射表中,查找到目的服务器直连的至少一个接入交换机的地址,然后根据哈希规则,在至少一个接入交换机中,网关到第二接入交换机的链路路径开销最小、或者链路带宽最大,则在至少一个接入交换机的地址中,选取第二接入交换机的地址,将第二接入交换机的地址作为数据报文的目的接入交换机的地址。
步骤407中,网关为数据报文添加第二VXLAN封装,第二VXLAN封装中的目的地址为数据报文的目的接入交换机的地址。
在实施中,网关确定数据报文的目的接入交换机的地址后,可以将目的接入交换机的地址作为第二VXLAN封装的目的地址,其中,目的接入交换机的MAC地址添加到Outer Ethernet header中作为目的MAC地址,待转发接入交换机的IP地址添加到Outer IP header中作为目的IP地址。如果确定的目的接入交换机的地址为第二接入交换机的地址,则将第二VXLAN封装中目的地址设置为第二接入交换机的地址,如果确定的目的接入交换机的地址为广播域中除第一接入交换机之外的其它接入交换机的地址,假设其它接入交换机的数量为N,则可以将数据报文复制N份,对每个数据报文分别添加第二VXLAN封装,每个第二VXLAN封装中的目的地址为其它接入交换机的地址中的某一个接入交换机的地址。
可选的,网关向第二接入交换机发送数据报文时,可以在第二VXLAN封装中携带第二端口,相应的处理可以如下:
网关根据预先存储的每个接入交换机的端口与端口连接的服务器的地址的对应关系,以及目的服务器的地址,确定第二接入交换机连接目的服务器的第二端口;网关为数据报文添加第二VXLAN封装,并将第二端口添加到所述第二VXLAN封装中,以使第二接入交换机通过第二端口,将数据报文转发至目的服务器。
其中,第二端口为第二接入交换机与数据报文的目的服务器连接的端口。
在实施中,技术人员可以预设每个接入交换机的端口与端口连接的服务器的地址的对应关系,并且存储至网关中,端口连接的服务器的地址为服务器的MAC地址,如表二所示。网关确定待转发数据报文的接入交换机的地址为第二接入交换机后,可以从接入交换机的端口与端口连接的服务器的地址的对应关系中,根据目的服务器的地址,查找目的服务器的地址对应的第二接入交换机的第二端口,然后为数据报文添加第二VXLAN封装,并且将第二端口添加到第二VXLAN封装中,这样,第二接入交换机可以在接收到网关发送的数据报文后,将数据报文从第二端口转发,从而不需要存储目的服务器的地址。例如,如图6所示,VXLAN header包含四个部分VXLAN标记(8个比特)、VXLAN网络标识(24个比特)、VXLAN保留字段(24个比特)、VXLAN保留字段(8个比特),第二端口可以添加到VXLAN保留字段(24个比特)中,或者是添加到数据报文的源地址与以太报文类型之间。
表二
步骤408中,网关向目的接入交换机发送添加了第二VXLAN封装的数据报文。
在实施中,网关按照第二VXLAN封装中的目的地址,从目的地址与端口的对应关系中,查找对应的端口,通过目的地址对应的端口转发添加了第二VXLAN封装的数据报文,如果网关与目的接入交换机之间有其它交换机,则其它交换机可以识别接收到的数据报文中的第二VXLAN封装中的目的地址,将数据报文转发至目的地址对应的目的接入交换机。
步骤409中,第二接入交换机接收网关发送的经过VXLAN封装后的数据报文添加了第二VXLAN封装的数据报文,剥离数据报文的第二VXLAN封装。
在实施中,第二接入交换机接收到网关发送的添加了第二VXLAN封装的数据报文后,如果VXLAN封装中的目的地址为自己的地址,则剥离第二VXLAN封装,获取内层封装中的目的地址(也就是目的服务器的地址)、或者第二端口。
步骤410中,第二接入交换机转发剥离第二VXLAN封装后的数据报文。
在实施中,第二接入交换机剥离第二VXLAN封装后,可以从内层封装中获取目的服务器的地址,然后根据预先存储的服务器的地址与端口的对应关系,确定转发数据报文的出端口,将数据报文通过该出端口转发至目的服务器。
可选的,第二VXLAN封装中记录有第二端口,第二端口为第二接入交换机与数据报文的目的服务器连接的端口;相应的,步骤410的处理可以如下:
第二接入交换机通过第二端口,转发剥离第二VXLAN封装后的数据报文。
其中,第二端口为第二接入交换机与数据报文的目的服务器连接的端口。
在一个实施方式中,第二接入交换机剥离数据报文的第二VXLAN封装,如果第二VXLAN封装中携带有第二端口,则第二接入交换机可以从第二VXLAN封装中解封装获取到第二端口,然后将解封装后的数据报文通过第二端口转发至目的服务器。
本发明实施例中,还提供了网关向其它网关发送第一接入交换机的地址的过程,相应的处理可以如下:
网关获取数据报文的内层封装中的源地址,并获取第一VXLAN封装中的源地址,内层封装中的源地址为源服务器的地址,第一VXLAN封装中的源地址为第一接入交换机的地址;
网关将源服务器的地址与第一接入交换机的地址,添加到映射表的一个表项中,并将源服务器的地址与第一接入交换机的地址发送至其它网关。
在实施中,第一接入交换机向网关发送数据报文时,可以将自己的地址添加到第一VXLAN封装中(第一接入交换机的MAC地址添加到Outer Ethernetheader中作为源MAC地址,第一接入交换机的IP地址添加到Outer IP header中作为源IP地址)。网关接收第一接入交换机的数据报文后,解第一VXLAN封装,可以获取数据报文的内层封装中的源地址,内层封装中的源地址为源服务器的地址(IP地址和MAC地址),也就是服务器I的地址,并且获取第一VXLAN封装中的源地址,第一VXLAN封装中的源地址为第一接入交换机的地址(IP地址和MAC地址)。
网关可以将源服务器的地址与第一接入交换机的地址添加到存映射表中,并且可以获取自己所在广播域中的其它网关的地址,然后根据其它网关的地址将源服务器的地址与第一接入交换机的地址发送至该广播域中的其它网关。其它网关接收到该网关发送的源服务器的地址与第一接入交换机的地址后,可以将源服务器的地址与第一接入交换机的地址添加到各自的映射表中。例如,如果是网关I接收到第一接入交换机发送的数据报文,则网关I可以向网关II发送源服务器的地址与第一接入交换机的地址,网关II可以将源服务器的地址与第一接入交换机的地址添加到网关II的映射表中。
另外,如果网关与其它网关实现已经链路聚合(链路聚合过程在后面会有详细说明),则网关可以通过聚合端口,将源服务器的地址与第一接入交换机的地址发送至其它网关。
本发明另一个实施方式中,服务器的地址与服务器直连的接入交换机的地址的对应关系为:接入交换机的地址、接入交换机的端口、端口连接的服务器的地址的对应关系,即映射表的每个表项还包括出端口,出端口为表项中的接入交换机连接表项中的服务器的端口。如图7所示,相应的处理流程可以如下:
步骤701,第一接入交换机确定第一接入交换机连接源服务器的第一端口。
在实施中,技术人员可以将第一接入交换机连接源服务器的端口设置为第一端口,并且将源服务器的地址与第一端口添加到第一接入交换机的映射表的一个表项中。第一接入交换机接收到源服务器发送的数据报文后,可以从预先存储的映射表中,查找自己连接源服务器的第一端口。
步骤702,第一接入交换机为数据报文添加第一VXLAN封装,并将第一端口添加到第一VXLAN封装中。
在实施中,第一接入交换机对接收的数据报文添加第一VXLAN封装,并且将确定的第一端口添加到第一VXLAN封装中,第一端口可以添加到VXLAN保留字段(24个比特)中,可以是第一端口的标识添加到VXLAN保留字段(24个比特)中,或者是添加到数据报文的源地址与以太报文类型之间。
步骤703,网关获取第一VXLAN封装中携带的第一端口,第一端口为第一接入交换机连接源服务器的端口。
在实施中,网关存储的服务器的地址与服务器直连的接入交换机的地址的对应关系为:接入交换机的地址、接入交换机的端口、端口连接的服务器的地址的对应关系。网关接收到第一接入交换机发送的进行VXLAN封装后的数据报文,可以获取第一VXLAN封装中携带的第一端口,也就是从VXLAN保留字段(24个比特)或数据报文的源地址与以太报文类型之间获取第一端口。
步骤704,网关将第一接入交换机的地址、第一端口、源服务器的地址,添加到第一表项中,并将第一接入交换机的地址、第一端口、源服务器的地址发送至其它网关。
在实施中,技术人员可以在网关中预先存储接入交换机的地址、接入交换机的端口(出端口)、端口连接的服务器的地址的对应关系,并且存储至网关中的映射表,如表三所示,其中,服务器的地址可以为服务器的MAC地址。网关可以获取第一VXLAN封装中的第一接入交换的地址,内层封装中的源服务器的地址(前面已经详细叙述,此处不再赘述),网关可以将第一接入交换机的地址、第一端口、源服务器的地址添加到第一表项中,并且获取自己所在广播域中的其它网关的地址,然后根据其它网关的地址,将第一接入交换机的地址、第一端口、源服务器的地址发送至其它网关。其它网关接收到第一接入交换机的地址、第一端口、源服务器的地址后,可以将第一接入交换机的地址、第一端口、源服务器的地址,添加到各自的映射表中。
表三
服务器的地址 | 接入交换机的地址 | 出端口 |
服务器I的地址 | 第一接入交换机的地址 | 第一端口 |
服务器II的地址 | 第二接入交换机的地址 | 第二端口 |
… | … | … |
本发明另一个实施方式中,网关存储的映射表中没有目的服务器的地址,接入交换机与网关转发数据报文,携带接入交换机的逻辑标识,如图8所示,相应的处理流程可以如下:
步骤801,第一接入交换机为数据报文添加第一VXLAN封装,并将预先存储的第一接入交换机的逻辑标识添加到所述第一VXLAN封装中。
在实施中,第一接入交换机接收到源服务器发送的数据报文后,可以获取预先存储的自身的逻辑标识,然后对接收到的数据报文添加第一VXLAN封装,并将自身的逻辑标识添加到第一VXLAN封装中,逻辑标识可以添加到第一VXLAN保留字段(24个比特)中,或者是数据报文的源地址与以太报文类型之间。然后将添加第一VXLAN封装后的数据报文发送至网关。
步骤802,网关获取第一VXLAN封装中的第一接入交换机的逻辑标识。
在实施中,网关接收到第一接入交换机发送的添加第一VXLAN封装的数据报文后,可以剥离数据报文的第一VXLAN封装,从中获取第一接入交换机的逻辑标识,并获取内层封装中的目的地址,由于网关存储的映射表中没有目的地址,将当前广播域中除第一接入交换机之外的其它接入交换机的地址,确定为数据报文的目的接入交换机的地址。
步骤803,网关为数据报文添加第二VXLAN封装,并将第一接入交换机的逻辑标识添加到第二VXLAN封装中。
在实施中,网关获取到第一接入交换机的逻辑标识后,可以对接收到的数据报文添加第二VXLAN封装,并将第一接入交换机的逻辑标识添加到所述第二VXLAN封装中,第一接入交换机的逻辑标识可以添加到第二VXLAN封装的VXLAN头的保留字段(24个比特)中,或者是数据报文的源地址与以太报文类型之间。假设其它接入交换机的数量为N,则可以将数据报文复制N份,对每个数据报文分别添加第二VXLAN封装,每个第二VXLAN封装中的目的地址为其它接入交换机的地址中的某一个接入交换机的地址,将添加第二VXLAN封装的数据报文按照目的地址进行转发。
另外,如果服务器的地址与服务器直连的接入交换机的地址的对应关系中没有目的服务器的地址,网关还可以在第二VXLAN封装中添加广播标识。
步骤804,如果第一接入交换机的逻辑标识与预先存储的第二接入交换机的逻辑标识相同,则获取第二接入交换机与第一服务器直连的第三端口,通过第三端口之外的端口对剥离第二VXLAN封装后的数据报文进行广播,其中,第一服务器为第二接入交换机预先存储的第一接入交换机与第二接入交换机共同直连的服务器;如果第一接入交换机的逻辑标识与预先存储的第二接入交换机的逻辑标识不同,则第二接入交换机对剥离第二VXLAN封装后的数据报文进行广播。
其中,在该实施方式中,以其它接入交换机中的第二接入交换机为例说明,其它接入交换机的转发数据报文情况与之类似,不再赘述。第一服务器为第二接入交换机预先存储的第一接入交换机与第二接入交换机共同直连的服务器,第三端口为第二接入交换机与第一服务器直连的端口,本发明实施例中第一服务器为服务器I,也就是源服务器。
在实施中,如图9所示,第一接入交换机与第二接入交换机拥有共同的逻辑标识I(也就是第一接入交换机与第二接入交换机实现链路聚合),第二接入交换机可以分别与第一接入交换机、第三接入交换机共同拥有逻辑标识I、逻辑标识II,具体过程在后面详细介绍。第二接入交换机接收到网关发送的数据报文后,可以剥离数据报文的第二VXLAN,获取第二VXLAN中第一接入交换机的逻辑标识,然后第二接入交换机可以获取预先存储的自身的逻辑标识。如果第一接入交换机的逻辑标识与预先存储的第二接入交换机的逻辑标识相同,也就是第一接入交换机与第二接入交换机链路聚合,则第二接入交换机可以获取第二接入交换机与第一服务器直连的第三端口,然后获取预先存储的除第三端口之外的其它端口,通过预先存储的除第三端口之外的其它端口,将剥离第二VXLAN封装后的数据报文进行转发。这样,可以防止服务器I发送的数据报文再返回到服务器I。
如果第一接入交换机的逻辑标识与预先存储的第二接入交换机的逻辑标识不相同,则说明第一接入交换机与第二接入交换机没有链路聚合,而且第二接入交换机没有与源服务器直连,第二接入交换机可以获取预先存储的每个出端口,通过获取到的出端口,将剥离第二VXLAN封装后的数据报文进行转发。
另外,第二接入交换机接收到网关发送的添加第二VXLAN封装后的数据报文,网关可以获取第二VXLAN封装中的广播标识和第一接入交换机的逻辑标识,如果第一接入交换机的逻辑标识与预先存储的第二接入交换机的逻辑标识相同,则获取第二接入交换机与第一服务器直连的第三端口,通过第三端口之外的端口对剥离第二VXLAN封装后的数据报文进行广播。如果第一接入交换机的逻辑标识与预先存储的第二接入交换机的逻辑标识不同,则第二接入交换机可以获取预先存储的每个出端口,通过获取到的出端口对剥离第二VXLAN封装后的数据报文进行广播。
本发明实施例还提供了第一接入交换机与第二接入交换机实现链路聚合的几种方法:
方式一:技术人员可以将第一接入交换机与第二接入交换机的逻辑标识设置为相同的逻辑标识I,并且分别存储至第一接入交换机与第二接入交换机中。并且技术人员可以在网关中将第一接入交换机的地址与第二接入交换机的地址(可以是MAC地址、IP地址)存储为聚合组I,如表四所示,并且可以在网关中将服务器I的地址、第一接入交换机的地址、第二接入交换机的地址,添加至映射表中。
表四
另外,技术人员还可以将第一接入交换机连接服务器I的第一端口、第二接入交换机连接服务器I的第三端口,存储至映射表中,如表五所示。
表五
方式二:技术人员可以在服务器I中预先存储链路汇聚控制协议(英文:LinkAggregation Control Protocol,简称:LACP)协商报文,服务器I可以分别向第一接入交换机与第二接入交换机发送LACP协商报文,在发送LACP协商报文时,还可以携带服务器I的地址,第一接入交换机与第二接入交换机接收到服务器I发送的LACP协商报文后,可以获取自身的地址(如IP地址、MAC地址),然后分别对LACP协商报文添加第一VXLAN封装,在第一VXLAN封装中添加各自的地址(地址可以添加在VXLAN封装的VXLAN保留字段(24个比特)中,或者是数据报文的源地址与以太报文类型之间)。网关接收到第一接入交换机与第二接入交换机分别发送的LACP协商报文后,可以剥离LACP协商报文的第一VXLAN封装,并获取内层封装中的服务器I的地址,网关发现第一接入交换机与第二接入交换机的LACP协商报文中的源服务器地址相同,则将第一接入交换机的地址与第二接入交换机的地址设置为聚合组I,然后存储服务器I、第一接入交换机的地址、第二接入交换机的地址,至映射表的第一表项中,并且为第一接入交换机与第二接入交换机分配相同的逻辑标识I,如表四所示。然后网关为应答报文(对应LACP协商报文进行答复的报文)添加第二VXLAN封装,第二VXLAN封装中分别携带逻辑标识I,将添加第二VXLAN封装后的应答报文发送至第一接入交换机、第二接入交换机,第一接入交换机与第二接入交换机接收得到网关发送的应答报文后,获取第二VXLAN封装中的逻辑标识I,进行存储,并且获取内层封装中的目的服务器地址,也就是服务器I的地址,然后通过查找转发表(目的服务器的地址与出端口的对应关系),确定服务器I的地址对应的出端口,将应答报文转发至服务器I,这样第一接入交换机与第二接入交换机实现链路聚合。
另外,第一接入交换机与第二接入交换机接收到服务器I发送的LACP协商报文后,还可以获取与服务器I连接的端口(第一端口、第三端口),然后分别对LACP协商报文添加第一VXLAN封装,在第一VXLAN封装中添加与服务器I连接的端口,网关接收到第一接入交换机与第二接入交换机分别发送的LACP协商报文后,可以剥离LACP协商报文的第一VXLAN封装,并获取第一XLAN封装中的与服务器I连接的端口,内层封装中的服务器I的地址,网关发现第一接入交换机与第二接入交换机的LACP协商报文中的源服务器地址相同,则将第一接入交换机的地址、第一端口与第二接入交换机的地址、第三端口设置为聚合组I,然后分别将第一接入交换机的地址、第一端口、服务器I地址与第二接入交换机的地址、第三端口、服务器I地址,添加至映射表的第一表项中,并且为第一接入交换机与第二接入交换机设置相同的逻辑标识I,如表五所示。然后网关对应答报文添加第二VXLAN封装,第二VXLAN封装中分别携带逻辑标识I、第一端口,逻辑标识I、第三端口,将携带逻辑标识I、第一端口的应答报文发送至第一接入交换机,将携带逻辑标识I、第三端口的应答报文发送至第二接入交换机。第一接入交换机接收得到网关发送的应答报文后,获取第二VXLAN封装中的逻辑标识I,进行存储。并且获取第二VXLAN封装中的第一端口,通过第一端口将应答报文转发至服务器I。第二接入交换机接收得到网关发送的应答报文后,获取VXLAN封装中的逻辑标识I,进行存储,并且获取第二VXLAN封装中的第三端口,通过第三端口将应答报文转发至服务器I。这样第一接入交换机与第二接入交换机可以实现链路聚合,每次网关向第一接入交换机转发数据报文时,可以直接携带对应目的服务器与接入交换机连接的端口,接入交换机可以按照接收到的端口转发数据报文,接入交换机不需要存储MAC转发表或路由转发表,从而可以节省存储空间。
方式三:在网络中可以设置有软件定义网络(英文:software definednetworking,简称:SDN)控制器。对于接入交换机,SDN控制器可以为第一接入交换机与第二接入交换机分配相同的逻辑标识I,并存储至第一接入交换机与第二接入交换机中。对于网关,SDN控制器可以将第一接入交换机的地址与第二接入交换机的地址设置为同一聚合组,并且将服务器I的地址、第一接入交换机的地址添加至服务器的地址与服务器直连的接入交换机的地址的对应关系中。同样也可以添加第二接入交换机的地址的对应关系。
另外,SDN控制器可还可以将第一接入交换机的地址、第一接入交换机连接服务器I的第一端口、服务器I的地址,添加至接入交换机的地址、接入交换机的端口、端口连接的服务器的地址的对应关系中。同样也可以添加第二接入交换机的地址的对应关系。
同样,第二接入交换机与第三接入交换机也可以使用上述方法实现链路聚合,并且共同拥有逻辑标识II,在此不再赘述。
这样,通过上述三种方式,第一接入交换机与第二接入交换机实现链路聚合后,第一接入交换机与第二接入交换机逻辑上可以认为是一个设备,有共同的逻辑标识I,由服务器I向其它服务器发送的数据报文经第一接入交换机发送至网关后,不会通过第二接入交换机转发至服务器I,可以防止网络资源的浪费。
本发明实施例中,网关接收第一接入交换机发送的添加了第一VXLAN封装的数据报文,剥离数据报文的第一VXLAN封装,并获取数据报文的内层封装中的目的地址,所述第一VXLAN封装中的目的地址为网关的地址,内层封装中的目的地址为目的服务器的地址,根据映射表,以及目的服务器的地址,确定数据报文的目的接入交换机的地址,为数据报文添加第二VXLAN封装,第二VXLAN封装中的目的地址为数据报文的目的接入交换机的地址,向目的接入交换机发送添加了第二VXLAN封装的数据报文。由于VXLAN封装的最外面为外层以太头和外层IP头,而所有现网中的交换机都可以识别外层以太头和外层IP头的至少一种,这样,第一接入交换机和网关之间的其他交换机可以根据第一VXLAN封装中的外层以太头和外层IP头的至少一种,将添加了第一VXLAN封装的数据报文转发给网关,类似地,网关和目的接入交换机之间的其他交换机,也可以根据第二VXLAN封装中的外层以太头和外层IP头的至少一种,将添加了第二VXLAN封装的数据报文发送给目的接入交换机。因此,本发明中,接入交换机与网关之间可以部署其它交换机,从而可以降低网络的局限性。
基于相同的技术构思,本发明实施例还提供了一种网关,如图2所示,该网关包括接收器210、处理器220、发射器230和存储器240,其中:
所述接收器210,用于接收第一接入交换机发送的添加了第一虚拟可扩展局域网VXLAN封装的数据报文;
所述存储器240,用于存储映射表,所述映射表的每个表项包括服务器的地址与所述服务器直连的接入交换机的地址;
所述处理器220,用于剥离所述数据报文的第一VXLAN封装,并获取所述数据报文的内层封装中的目的地址,其中,所述第一VXLAN封装中的目的地址为所述网关的地址,所述内层封装中的目的地址为目的服务器的地址;根据所述映射表,以及所述目的服务器的地址,确定所述数据报文的目的接入交换机的地址;还用于为所述数据报文添加第二VXLAN封装,所述第二VXLAN封装中的目的地址为所述数据报文的目的接入交换机的地址;
所述发射器230,用于向所述目的接入交换机发送添加了所述第二VXLAN封装的所述数据报文。
在实施中,接收器210可以接收网关接收第一接入交换机发送的添加第一VXLAN封装后数据报文,处理器220可以剥离接收到的数据报文的第一VXLAN封装,获取内层封装中的目的地址,然后从服务器的地址与服务器直连的接入交换机的地址的对应关系中,查找目的地址对应的接入交换机的地址,然后将确定的接入交换机的地址添加到第二VXLAN封装中,发射器230可以将添加第二VXLAN封装的数据报文转发至接入交换机。
可选的,所述处理器220用于:
如果所述映射表中包括所述目的服务器的地址,则所述网关根据所述映射表,以及所述目的服务器的地址,将所述目的服务器直连的第二接入交换机的地址,确定为所述数据报文的目的接入交换机的地址;
如果所述映射表中不包括所述目的服务器的地址,则所述网关将当前广播域中除所述第一接入交换机之外的其它接入交换机的地址,确定为所述数据报文的目的接入交换机的地址。
在实施中,如果网关中存储的映射表中包括所述目的服务器的地址,则处理器220可以在该映射表中确定目的地址对应的第二接入交换机的地址,将数据报文转发至第二接入交换机。如果网关中存储的映射表中不包括所述目的服务器的地址,则处理器220可以确定广播域中除第一接入交换机的地址之外的其它接入交换机的地址,然后对数据报文进行广播。
可选的,所述处理器220用于:
根据所述映射表,以及所述目的服务器的地址,确定所述目的服务器直连的至少一个接入交换机的地址;
根据哈希选路规则,在所述至少一个接入交换机的地址中,选取第二接入交换机的地址,作为所述数据报文的目的接入交换机的地址。
其中,哈希选路规则为网关到第一接入交换机、第二接入交换机的链路路径开销,选取路径开销最小的链路发送数据报文,或者确定网关到第一接入交换机、第二接入交换机的链路的带宽,选择带宽最大的链路发送数据报文等。
在实施中,如果根据映射表,处理器220可以确定目的服务器对应的多个接入交换机的地址,然后可以依照哈希选路规则,确定第二接入交换机的地址。
可选的,所述处理器220用于:
获取所述数据报文的内层封装中的源地址,并获取所述第一VXLAN封装中的源地址,所述内层封装中的源地址为源服务器的地址,所述第一VXLAN封装中的源地址为所述第一接入交换机的地址;
将所述源服务器的地址与所述第一接入交换机的地址,添加到所述映射表的第一表项中,所述发射器230用于将所述源服务器的地址与所述第一接入交换机的地址发送至其它网关。
网关接收到数据报文后,处理器220可以获取数据报文的内层封装中的源地址,并且获取第一VXLAN封装中的源地址,然后将源服务器的地址与第一接入交换机的地址,添加到映射表的第一表项中,然后发射器230将源服务器的地址与第一接入交换机的地址发送至其它网关,以使其它网关将源服务器的地址与第一接入交换机的地址,存储至各自的映射表的第一表项中。
可选的,所述服务器的地址与服务器直连的接入交换机的地址的对应关系为:接入交换机的地址、接入交换机的端口、端口连接的服务器的地址的对应关系;
所述处理器220用于:获取所述第一VXLAN封装中携带的第一端口,所述第一端口为所述第一接入交换机连接所述源服务器的端口;将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址,添加到所述第一表项中,所述发射器230,用于将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址发送至其它网关。
在实施中,处理器220可以获取数据报文的第一VXLAN封装中记录的第一端口,处理器220可以将第一接入交换机的地址、第一端口、源服务器的地址,添加到映射表的第一表项中,并且发射器230可以将第一接入交换机的地址、第一端口、源服务器的地址,发送至其它网关。其它网关也可以将第一接入交换机的地址、第一端口、源服务器的地址,添加到各自的映射表的第一表项中。
可选的,所述处理器220用于:
根据预先存储的每个接入交换机的端口与端口连接的服务器的地址的对应关系,以及所述目的服务器的地址,确定所述第二接入交换机连接所述目的服务器的第二端口;
为所述数据报文添加第二VXLAN封装,并将所述第二端口添加到所述第二VXLAN封装中,以使所述第二接入交换机通过所述第二端口,将所述数据报文转发至所述目的服务器。
在实施中,处理器220可以根据预先存储的每个接入交换机的端口与端口连接的服务器的地址的对应关系,以及目的服务器的地址,确定第二接入交换机连接目的服务器的第二端口,然后将第二端口添加到VXLAN保留字段(24个比特)中,可以是将第二端口的标识添加到VXLAN保留字段(24个比特)中,或者是添加到数据报文的源地址与以太报文类型之间。
可选的,所述处理器220用于:获取所述第一VXLAN封装中的所述第一接入交换机的逻辑标识;
为所述数据报文添加第二VXLAN封装,并将所述第一接入交换机的逻辑标识添加到所述第一VXLAN封装中。
在实施中,处理器220可以将第一接入交换机的逻辑标识添加到VXLAN保留字段(24个比特)中,或者是添加到数据报文的源地址与以太报文类型之间。
基于相同的技术构思,本发明实施例还提供了一种接入交换机,所述接入交换机为第一接入交换机,如图3所示,该第一接入交换机包括接收器310、处理器320和发射器330,其中:
所述接收器310,用于接收源服务器发送的数据报文;
所述处理器320,用于获取预设的网关的地址;为所述数据报文添加第一VXLAN封装,所述第一VXLAN封装中的目的地址为所述预设的网关的地址;
所述发射器330,用于将添加了所述第一VXLAN封装的所述数据报文发送至所述网关。
在实施中,接收器310可以接收源服务器发送的数据报文,处理器320可以获取预设的网关的地址,网关地址可以是MAC地址,也可以是IP地址。接收器310接收到源服务器发送的数据报文后,可以获取预设的网关的地址,如果预设的网关为多个,不同的网关会对应不同的地址,可以使用哈希选路规则(计算当前第一接入交换机到每个网关的链路路径开销,选取路径开销最小的链路发送数据报文),从多个网关的地址中选择一个网关的地址。然后处理器320可以将确定的网关的地址添加到第一VXLAN封装中,作为目的地址,发射器330可以将添加第一VXLAN封装后的数据报文转发至网关。
可选的,所述处理器320用于:
确定所述第一接入交换机连接所述源服务器的第一端口;
为所述数据报文添加第一VXLAN封装,并将所述第一端口添加到所述第一VXLAN封装中。
在实施中,处理器320可以从接入交换机的端口与端口连接的服务器的地址的对应关系中,确定第一接入交换机连接所述源服务器的第一端口,然后可以将第一端口添加到VXLAN保留字段(24个比特)中,可以是第一端口的标识添加到VXLAN保留字段(24个比特)中,或者是添加到数据报文的源地址与以太报文类型之间。
可选的,所述处理器320用于:
为所述数据报文添加第一VXLAN封装,并将预先存储的所述第一接入交换机的逻辑标识添加到所述第一VXLAN封装中。
在实施中,处理器220可以将第一接入交换机的逻辑标识添加到VXLAN保留字段(24个比特)中,或者是添加到数据报文的源地址与以太报文类型之间。
本发明实施例中,网关接收第一接入交换机发送的添加了第一VXLAN封装的数据报文,剥离数据报文的第一VXLAN封装,并获取数据报文的内层封装中的目的地址,所述第一VXLAN封装中的目的地址为网关的地址,内层封装中的目的地址为目的服务器的地址,根据映射表,以及目的服务器的地址,确定数据报文的目的接入交换机的地址,为数据报文添加第二VXLAN封装,第二VXLAN封装中的目的地址为数据报文的目的接入交换机的地址,向目的接入交换机发送添加了第二VXLAN封装的数据报文。由于VXLAN封装的最外面为外层以太头和外层IP头,而所有现网中的交换机都可以识别外层以太头和外层IP头的至少一种,这样,第一接入交换机和网关之间的其他交换机可以根据第一VXLAN封装中的外层以太头和外层IP头的至少一种,将添加了第一VXLAN封装的数据报文转发给网关,类似地,网关和目的接入交换机之间的其他交换机,也可以根据第二VXLAN封装中的外层以太头和外层IP头的至少一种,将添加了第二VXLAN封装的数据报文发送给目的接入交换机。因此,本发明中,接入交换机与网关之间可以部署其它交换机,从而可以降低网络的局限性。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种转发数据报文的方法,其特征在于,所述方法包括:
网关接收第一接入交换机发送的添加了第一虚拟可扩展局域网VXLAN封装的数据报文,所述第一VXLAN封装中的目的地址为所述网关的地址;
所述网关剥离所述数据报文的所述第一VXLAN封装,并获取所述数据报文的内层封装中的目的地址,其中,所述内层封装中的目的地址为目的服务器的地址;
所述网关根据映射表,以及所述目的服务器的地址,确定所述数据报文的目的接入交换机的地址;所述映射表的每个表项包括服务器的地址与所述服务器直连的接入交换机的地址;
所述网关为所述数据报文添加第二VXLAN封装,所述第二VXLAN封装中的目的地址为所述数据报文的目的接入交换机的地址;
所述网关向所述目的接入交换机发送添加了所述第二VXLAN封装的所述数据报文。
2.根据权利要求1所述的方法,其特征在于,所述网关根据所述映射表,以及所述目的服务器的地址,确定所述数据报文的目的接入交换机的地址,包括:
如果所述映射表中包括所述目的服务器的地址,则所述网关根据所述映射表,以及所述目的服务器的地址,将所述目的服务器直连的第二接入交换机的地址,确定为所述数据报文的目的接入交换机的地址;
如果所述映射表中不包括所述目的服务器的地址,则所述网关将当前广播域中除所述第一接入交换机之外的其它接入交换机的地址,确定为所述数据报文的目的接入交换机的地址。
3.根据权利要求2所述的方法,其特征在于,所述网关根据所述映射表,以及所述目的服务器的地址,将所述目的服务器直连的第二接入交换机的地址,确定为所述数据报文的目的接入交换机的地址,包括:
所述网关根据所述映射表,以及所述目的服务器的地址,确定所述目的服务器直连的至少一个接入交换机的地址;
所述网关根据哈希选路规则,在所述至少一个接入交换机的地址中,选取第二接入交换机的地址,作为所述数据报文的目的接入交换机的地址。
4.根据权利要求1所述的方法,其特征在于,所述网关获取所述数据报文的内层封装中的目的地址之后,所述方法还包括:
所述网关获取所述数据报文的内层封装中的源地址,并获取所述第一VXLAN封装中的源地址,所述内层封装中的源地址为源服务器的地址,所述第一VXLAN封装中的源地址为所述第一接入交换机的地址;
所述网关将所述源服务器的地址与所述第一接入交换机的地址,添加到所述映射表的第一表项中,并将所述源服务器的地址与所述第一接入交换机的地址发送至其它网关。
5.根据权利要求4所述的方法,其特征在于,所述映射表的每个表项还包括出端口,所述出端口为所述表项中的接入交换机连接所述表项中的服务器的端口;
所述网关将所述源服务器的地址与所述第一接入交换机的地址,添加到所述映射表的第一表项中,并将所述源服务器的地址与所述第一接入交换机的地址发送至其它网关,包括:
所述网关获取所述第一VXLAN封装中携带的第一端口,所述第一端口为所述第一接入交换机连接所述源服务器的端口;
所述网关将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址,添加到所述第一表项中,并将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址发送至其它网关。
6.根据权利要求1所述的方法,其特征在于,所述网关为所述数据报文添加第二VXLAN封装,包括:
所述网关根据预先存储的每个接入交换机的端口与端口连接的服务器的地址的对应关系,以及所述目的服务器的地址,确定第二接入交换机连接所述目的服务器的第二端口;
所述网关为所述数据报文添加第二VXLAN封装,并将所述第二端口添加到所述第二VXLAN封装中,以使所述第二接入交换机通过所述第二端口,将所述数据报文转发至所述目的服务器。
7.根据权利要求1所述的方法,其特征在于,所述网关接收第一接入交换机发送的添加了第一虚拟可扩展局域网VXLAN封装的数据报文之后,所述方法还包括:获取所述第一VXLAN封装中的所述第一接入交换机的逻辑标识;
所述网关为所述数据报文添加第二VXLAN封装,包括:所述网关为所述数据报文添加第二VXLAN封装,并将所述第一接入交换机的逻辑标识添加到所述第二VXLAN封装中。
8.一种转发数据报文的方法,其特征在于,所述方法包括:
第一接入交换机接收源服务器发送的数据报文;
所述接入交换机获取预设的网关的地址;
所述第一接入交换机为所述数据报文添加第一VXLAN封装,所述第一VXLAN封装中的目的地址为所述预设的网关的地址;
所述第一接入交换机将添加了所述第一VXLAN封装的所述数据报文发送至所述网关。
9.根据权利要求8所述的方法,其特征在于,所述第一接入交换机为所述数据报文添加第一VXLAN封装,包括:
所述第一接入交换机确定所述第一接入交换机连接所述源服务器的第一端口;
所述第一接入交换机为所述数据报文封装所述第一VXLAN封装,并将所述第一端口添加到所述第一VXLAN封装中。
10.根据权利要求8所述的方法,其特征在于,所述第一接入交换机为所述数据报文添加第一VXLAN封装,包括:
所述第一接入交换机为所述数据报文封装所述第一VXLAN封装,并将预先存储的所述第一接入交换机的逻辑标识添加到所述第一VXLAN封装中。
11.一种网关,其特征在于,所述网关包括接收器、存储器、处理器和发射器,其中:
所述接收器,用于接收第一接入交换机发送的添加了第一虚拟可扩展局域网VXLAN封装的数据报文,所述第一VXLAN封装中的目的地址为所述网关的地址;
所述存储器,用于存储映射表,所述映射表的每个表项包括服务器的地址与所述服务器直连的接入交换机的地址;
所述处理器,用于剥离所述数据报文的所述第一VXLAN封装,并获取所述数据报文的内层封装中的目的地址,其中,所述内层封装中的目的地址为目的服务器的地址;根据所述映射表,以及所述目的服务器的地址,确定所述数据报文的目的接入交换机的地址;所述处理器,还用于为所述数据报文添加第二VXLAN封装,所述第二VXLAN封装中的目的地址为所述数据报文的目的接入交换机的地址;
所述发射器,用于向所述目的接入交换机发送添加了所述第二VXLAN封装的所述数据报文。
12.根据权利要求11所述的网关,其特征在于,在确定所述数据报文的目的接入交换机的地址时,所述处理器用于:
如果所述映射表中包括所述目的服务器的地址,则根据所述映射表,以及所述目的服务器的地址,将所述目的服务器直连的第二接入交换机的地址,确定为所述数据报文的目的接入交换机的地址;
如果所述映射表中不包括所述目的服务器的地址,则将当前广播域中除所述第一接入交换机之外的其它接入交换机的地址,确定为所述数据报文的目的接入交换机的地址。
13.根据权利要求12所述的网关,其特征在于,所述处理器用于:
根据所述映射表,以及所述目的服务器的地址,确定所述目的服务器直连的至少一个接入交换机的地址;
根据哈希选路规则,在所述至少一个接入交换机的地址中,选取第二接入交换机的地址,作为所述数据报文的目的接入交换机的地址。
14.根据权利要求11所述的网关,其特征在于,所述处理器还用于:
获取所述数据报文的内层封装中的源地址,并获取所述第一VXLAN封装中的源地址,所述内层封装中的源地址为源服务器的地址,所述第一VXLAN封装中的源地址为所述第一接入交换机的地址;
将所述源服务器的地址与所述第一接入交换机的地址,添加到所述映射表的第一表项中;
所述发射器还用于将所述源服务器的地址与所述第一接入交换机的地址发送至其它网关。
15.根据权利要求14所述的网关,其特征在于,所述映射表的每个表项还包括出端口,所述出端口为所述表项中的接入交换机连接所述表项中的服务器的端口;
所述处理器用于:获取所述第一VXLAN封装中携带的第一端口,所述第一端口为所述第一接入交换机连接所述源服务器的端口;将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址,添加到所述第一表项中;
所述发射器,用于将所述第一接入交换机的地址、所述第一端口、所述源服务器的地址发送至其它网关。
16.根据权利要求11所述的网关,其特征在于,
所述存储器还用于存储每个接入交换机的端口与端口连接的服务器的地址的对应关系;
当为所述数据报文添加第二VXLAN封装时,所述处理器用于:根据所述存储的每个接入交换机的端口与端口连接的服务器的地址的对应关系,以及所述目的服务器的地址,确定第二接入交换机连接所述目的服务器的第二端口;为所述数据报文添加第二VXLAN封装,并将所述第二端口添加到所述第二VXLAN封装中,以使所述第二接入交换机通过所述第二端口,将所述数据报文转发至所述目的服务器。
17.根据权利要求11所述的网关,其特征在于,所述处理器还用于:获取所述第一VXLAN封装中的所述第一接入交换机的逻辑标识;
为所述数据报文添加第二VXLAN封装,并将所述第一接入交换机的逻辑标识添加到所述第二VXLAN封装中。
18.一种接入交换机,其特征在于,所述接入交换机为第一接入交换机,所述第一接入交换机包括接收器、处理器和发射器,其中:
所述接收器,用于接收源服务器发送的数据报文;
所述处理器,用于获取预设的网关的地址,为所述数据报文添加第一VXLAN封装,所述第一VXLAN封装中的目的地址为所述预设的网关的地址;
所述发射器,用于将添加了所述第一VXLAN封装的所述数据报文发送至所述网关。
19.根据权利要求18所述的第一接入交换机,其特征在于,为所述数据报文添加第一VXLAN封装时,所述处理器用于:
确定所述第一接入交换机连接所述源服务器的第一端口;
为所述数据报文封装所述第一VXLAN封装,并将所述第一端口添加到所述第一VXLAN封装中。
20.根据权利要求18所述的第一接入交换机,其特征在于,为所述数据报文添加第一VXLAN封装时,所述处理器用于:
为所述数据报文封装所述第一VXLAN封装,并将预先存储的所述第一接入交换机的逻辑标识添加到所述第一VXLAN封装中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610270386.7A CN107317752B (zh) | 2016-04-27 | 2016-04-27 | 一种转发数据报文的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610270386.7A CN107317752B (zh) | 2016-04-27 | 2016-04-27 | 一种转发数据报文的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107317752A true CN107317752A (zh) | 2017-11-03 |
CN107317752B CN107317752B (zh) | 2020-12-01 |
Family
ID=60185098
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610270386.7A Active CN107317752B (zh) | 2016-04-27 | 2016-04-27 | 一种转发数据报文的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107317752B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989248A (zh) * | 2018-06-11 | 2018-12-11 | 华为技术有限公司 | 传输报文的方法、网络边缘设备与报文传输系统 |
CN109245984A (zh) * | 2018-07-13 | 2019-01-18 | 华为技术有限公司 | 一种报文传输方法、一种信息处理方法及其相关设备 |
CN110011914A (zh) * | 2019-03-15 | 2019-07-12 | 北京星网锐捷网络技术有限公司 | 管理报文的转发方法及装置 |
CN110166375A (zh) * | 2019-05-27 | 2019-08-23 | 杭州迪普科技股份有限公司 | 一种报文转发方法及装置 |
CN110798405A (zh) * | 2018-08-01 | 2020-02-14 | 中国电信股份有限公司 | 数据隧道交换方法、装置和系统 |
CN111541651A (zh) * | 2020-03-31 | 2020-08-14 | 新华三技术有限公司 | 一种通信方法及装置 |
CN112532501A (zh) * | 2019-09-18 | 2021-03-19 | 中国电信股份有限公司 | 主机物理地址处理方法和装置、计算机可读存储介质 |
CN113691640A (zh) * | 2020-05-19 | 2021-11-23 | 阿里巴巴集团控股有限公司 | 通信方法、装置、电子设备及计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610216A (zh) * | 2009-07-29 | 2009-12-23 | 华为技术有限公司 | 以太网报文转发方法、装置及系统 |
CN103166858A (zh) * | 2013-03-26 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
US20140369345A1 (en) * | 2013-06-14 | 2014-12-18 | Cisco Technology, Inc. | Method and apparatus for scaling interconnected ip fabric data centers |
CN104521195A (zh) * | 2012-08-15 | 2015-04-15 | 华为技术有限公司 | 在通信网络中创建软件定义有序业务模式的方法和系统 |
US20150124808A1 (en) * | 2013-11-06 | 2015-05-07 | Hitachi Metals, Ltd. | Network System and Network Relay Device |
CN104702506A (zh) * | 2013-12-09 | 2015-06-10 | 华为技术有限公司 | 一种报文传输方法、网络节点及报文传输系统 |
-
2016
- 2016-04-27 CN CN201610270386.7A patent/CN107317752B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610216A (zh) * | 2009-07-29 | 2009-12-23 | 华为技术有限公司 | 以太网报文转发方法、装置及系统 |
CN104521195A (zh) * | 2012-08-15 | 2015-04-15 | 华为技术有限公司 | 在通信网络中创建软件定义有序业务模式的方法和系统 |
CN103166858A (zh) * | 2013-03-26 | 2013-06-19 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
US20140369345A1 (en) * | 2013-06-14 | 2014-12-18 | Cisco Technology, Inc. | Method and apparatus for scaling interconnected ip fabric data centers |
US20150124808A1 (en) * | 2013-11-06 | 2015-05-07 | Hitachi Metals, Ltd. | Network System and Network Relay Device |
CN104702506A (zh) * | 2013-12-09 | 2015-06-10 | 华为技术有限公司 | 一种报文传输方法、网络节点及报文传输系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108989248B (zh) * | 2018-06-11 | 2020-07-07 | 华为技术有限公司 | 传输报文的方法、网络边缘设备与报文传输系统 |
CN108989248A (zh) * | 2018-06-11 | 2018-12-11 | 华为技术有限公司 | 传输报文的方法、网络边缘设备与报文传输系统 |
CN109245984A (zh) * | 2018-07-13 | 2019-01-18 | 华为技术有限公司 | 一种报文传输方法、一种信息处理方法及其相关设备 |
CN109245984B (zh) * | 2018-07-13 | 2021-07-09 | 华为技术有限公司 | 一种报文传输方法、一种信息处理方法及其相关设备 |
CN110798405A (zh) * | 2018-08-01 | 2020-02-14 | 中国电信股份有限公司 | 数据隧道交换方法、装置和系统 |
CN110011914A (zh) * | 2019-03-15 | 2019-07-12 | 北京星网锐捷网络技术有限公司 | 管理报文的转发方法及装置 |
CN110166375A (zh) * | 2019-05-27 | 2019-08-23 | 杭州迪普科技股份有限公司 | 一种报文转发方法及装置 |
CN112532501B (zh) * | 2019-09-18 | 2023-04-18 | 中国电信股份有限公司 | 主机物理地址处理方法和装置、计算机可读存储介质 |
CN112532501A (zh) * | 2019-09-18 | 2021-03-19 | 中国电信股份有限公司 | 主机物理地址处理方法和装置、计算机可读存储介质 |
CN111541651A (zh) * | 2020-03-31 | 2020-08-14 | 新华三技术有限公司 | 一种通信方法及装置 |
CN111541651B (zh) * | 2020-03-31 | 2022-10-21 | 新华三技术有限公司 | 一种通信方法及装置 |
CN113691640A (zh) * | 2020-05-19 | 2021-11-23 | 阿里巴巴集团控股有限公司 | 通信方法、装置、电子设备及计算机可读存储介质 |
CN113691640B (zh) * | 2020-05-19 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 通信方法、装置、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107317752B (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107317752A (zh) | 一种转发数据报文的方法及装置 | |
CN104935516B (zh) | 基于软件定义网络的通信系统及方法 | |
US9019963B2 (en) | Method and apparatus for direct frame switching using frame contained destination information | |
RU2735725C1 (ru) | Способ и устройство обработки и отправки пакетов, узел pe и узел | |
CN103227757B (zh) | 一种报文转发方法及设备 | |
US9525563B2 (en) | Forwarding packets in an edge device | |
CN102957589B (zh) | 业务数据传输的方法、网络节点及系统 | |
CN104396192B (zh) | 不对称网络地址封装 | |
CN101719877B (zh) | 一种报文转发装置、网络设备及方法 | |
US10200212B2 (en) | Accessing IP network and edge devices | |
CN105471729B (zh) | 用于处理和/或转发包的方法和设备 | |
US8798046B2 (en) | Methods and apparatus for providing unique MAC address to individual node for fibre channel over Ethernet (FCoE) traffic | |
CN105490957B (zh) | 一种负载分担方法及装置 | |
CN104065582B (zh) | 一种报文传输方法和网关设备 | |
CN100563215C (zh) | 一种报文路由交换装置及其方法 | |
CN104954265B (zh) | 发送组播报文的方法及交换机 | |
CN108632098A (zh) | 流分类器、业务路由触发器、报文处理的方法和系统 | |
CN106209648B (zh) | 跨虚拟可扩展局域网的组播数据报文转发方法和设备 | |
CN106603407A (zh) | 组播地址的传输方法和装置 | |
CN101114971A (zh) | 基于IPv6地址结构实现虚拟专用网的方法 | |
CN110034993A (zh) | 传输数据的方法、设备和网络系统 | |
CN102340547B (zh) | 运营级IPv4向IPv6的平滑过渡方法、设备和系统 | |
CN107135118B (zh) | 一种单播通信方法、网关以及vxlan接入设备 | |
CN106209554A (zh) | 跨虚拟可扩展局域网的报文转发方法和设备 | |
CN104486225B (zh) | 应用于trill网络中的报文转发方法和设备 |
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 |