CN104426759B - 主机路由获取方法、装置及系统 - Google Patents
主机路由获取方法、装置及系统 Download PDFInfo
- Publication number
- CN104426759B CN104426759B CN201310366892.2A CN201310366892A CN104426759B CN 104426759 B CN104426759 B CN 104426759B CN 201310366892 A CN201310366892 A CN 201310366892A CN 104426759 B CN104426759 B CN 104426759B
- Authority
- CN
- China
- Prior art keywords
- host
- address
- gateway
- routing
- message
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种主机路由获取方法、装置及系统。本发明主机路由获取方法,包括:第一网关设备接收第一主机发送的第一地址解析协议ARP请求报文,第一ARP请求报文包含第二主机的互联网络协议IP地址;若第一网关设备确定不存在与第二主机的IP地址对应的路由,则第一网关设备广播第一边界网关协议BGP更新报文,第一BGP更新报文包含类型标识信息和第二主机的IP地址,以使第二网关设备根据第一BGP更新报文向第一网关设备发布与第二主机的IP地址对应的路由;第一网关设备接收并保存第二网关设备发布的与第二主机的IP地址对应的路由。本发明实施例实现了虚拟子网中的网关设备按需获取其下挂的主机的路由。
Description
技术领域
本发明实施例涉及通信技术,尤其涉及一种主机路由获取方法、装置及系统。
背景技术
数据中心(data center,简称DC)大二层组网环境中,存在大量虚拟主机(virtualmachine,简称VM),VM规模可达到数十万级甚至百万级规模,因此低成本可扩展互联技术对数据中心网络规划至关重要。虚拟子网(virtual subnet,简称VS)是目前一种性价比比较高的网络虚拟化互联技术,数据中心大二层组网中有多个虚拟子网,每个虚拟子网有一个网关设备,每个网关设备下挂有多个虚拟主机。
为了实现DC域内出入虚拟子网的数据流量的路径最优,各个虚拟子网中的网关设备需要获取并发布其下挂的虚拟主机的路由,但是由于VM的加入,网关设备及时发布虚拟主机的路由成为一个需要解决的问题。
发明内容
本发明实施例提供一种主机路由获取方法、装置及系统,以实现虚拟子网中的网关设备按需获取其下挂的主机的路由并及时发布该路由。
第一方面,本发明实施例提供一种主机路由获取方法,包括:
第一网关设备接收第一主机发送的第一地址解析协议ARP请求报文,所述第一ARP请求报文包含第二主机的互联网络协议IP地址;所述第一网关设备和所述第一主机位于第一虚拟子网内;
若所述第一网关设备确定不存在与所述第二主机的IP地址对应的路由,则所述第一网关设备广播第一边界网关协议BGP更新报文,所述第一BGP更新报文包含类型标识信息和所述第二主机的IP地址,以使第二网关设备根据所述第一BGP更新报文发布与所述第二主机的IP地址对应的路由;所述第一网关设备接收并保存所述第二网关设备发布的与所述第二主机的IP地址对应的路由,所述第二网关设备和所述第二主机位于第二虚拟子网内。
在第一方面的第一种可能的实现方式中,还包括:
若所述第一网关设备确定存在与所述第二主机的IP地址对应的路由,则所述第一网关设备确定所述第二主机的IP地址对应的路由是否为所述第一虚拟子网内的路由;
若为所述第一虚拟子网内的路由,则所述第一网关设备丢弃所述第一ARP请求报文;
若不为所述第一虚拟子网内的路由,则所述第一网关设备代替所述第二主机应答所述第一ARP请求报文。
根据第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,还包括:
所述第一网关设备接收来自第二网关设备的第二BGP更新报文,所述第二BGP更新报文包含所述类型标识信息和第三主机的IP地址;
根据所述第二BGP更新报文确定所述第一网关设备是否存在与所述第三主机的IP地址对应的路由;
若确定存在与所述第三主机的IP地址对应的路由,则所述第一网关设备发布与所述第三主机的IP地址对应的路由,以使所述第二网关设备接收并保存与所述第三主机的IP地址对应的路由;
若确定不存在与所述第三主机的IP地址对应的路由,则所述第一网关设备在所述第一虚拟子网内广播第二ARP请求报文,所述第二ARP请求报文包含所述第三主机的IP地址;所述第一网关设备接收所述第三主机发送的ARP应答报文,所述ARP应答报文包含所述第三主机的IP地址和MAC地址;所述第一网关设备根据所述ARP应答报文生成与所述第三主机的IP地址对应的路由,向所述第二网关设备发布与所述第三主机的IP地址对应的路由,以使所述第二网关设备接收并保存与所述第三主机的IP地址对应的路由。
第二方面,本发明实施例提供一种主机路由获取装置,所述装置部署在第一网关设备上,所述装置包括:
报文接收模块,用于接收第一主机发送的第一地址解析协议ARP请求报文,所述第一ARP请求报文包含第二主机的互联网络协议IP地址;所述第一网关设备和所述第一主机位于第一虚拟子网内;
第一确定模块,用于确定所述第一网关设备是否存在与所述第二主机的IP地址对应的路由;
第一报文广播模块,用于当所述第一确定模块确定所述第一网关设备不存在与所述第二主机的IP地址对应的路由时,广播第一边界网关协议BGP更新报文,所述第一BGP更新报文包含类型标识信息和所述第二主机的IP地址;
路由获取模块,用于接收并保存第二网关设备发布的所述第二主机的IP地址对应的路由。
在第二方面的第一种可能的实现方式中,还包括:
第二确定模块,用于当所述第一确定模块确定所述第一网关设备存在与所述第二主机的IP地址对应的路由时,确定所述第二主机的IP地址对应的路由是否为所述第一虚拟子网内的路由;
报文丢弃模块,用于当所述第二确定模块确定所述第二主机的IP地址对应的路由为所述第一虚拟子网内的路由,丢弃所述第一ARP请求报文;
报文代答模块,用于当所述第二确定模块确定所述第二主机的IP地址对应的路由不为所述第一虚拟子网内的路由,代替所述第二主机应答所述第一ARP请求报文。
根据第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述装置还包括:第二报文广播模块和路由发布模块;
所述报文接收模块,还用于接收来自第二网关设备发送的第二BGP更新报文,所述第二BGP更新报文包含所述类型标识信息和第三主机的IP地址;
所述第一确定模块,还用于根据所述第二BGP更新报文确定所述第一网关设备是否存在与所述第三主机的IP地址对应的路由;
第二报文广播模块,用于当所述第一确定模块确定不存在与所述第三主机的IP地址对应的路由,在所述第一虚拟子网内广播第二ARP请求报文,所述第二ARP请求报文包含所述第三主机的IP地址;所述报文接收模块,还用于接收所述第三主机发送的ARP应答报文,所述ARP应答报文包含所述第三主机的IP地址和MAC地址;
所述路由获取模块,还用于根据所述报文接收模块接收的所述ARP应答报文,生成与所述第三主机的IP地址对应的路由;
所述路由发布模块,用于在所述第一确定模块确定存在与所述第三主机的IP地址对应的路由时,发布与所述第三主机的IP地址对应的路由;在所述第一确定模块确定不存在与所述第三主机的IP地址对应的路由时,发布所述路由获取模块生成的与所述第三主机的IP地址对应的路由。
第三方面,本发明实施例提供一种主机路由获取系统,包括:第一网关设备和第二网关设备;
所述第一网关设备位于第一虚拟子网内,所述第二网关设备位于第二虚拟子网内;
所述第一网关设备,用于接收第一主机发送的第一地址解析协议ARP请求报文,所述第一ARP请求报文包含第二主机的互联网络协议IP地址,所述第一主机位于所述第一虚拟子网内;当确定所述第一网关设备不存在与所述第二主机的IP地址对应的路由时,广播第一边界网关协议BGP更新报文,所述第一BGP更新报文包含类型标识信息和所述第二主机的IP地址;
所述第二网关设备,用于接收所述第一网关设备发送的所述第一BGP更新报文,根据所述第一BGP更新报文确定所述第二网关设备是否存在与所述第二主机的IP地址对应的路由;当确定存在与所述第二主机的IP地址对应的路由时,发布与所述第二主机的IP地址对应的路由;还用于当确定不存在与所述第二主机的IP地址对应的路由时,在所述第二虚拟子网内广播第二ARP请求报文,所述第二ARP请求报文包含所述第二主机的IP地址;接收所述第二主机发送的第二ARP应答报文,并根据所述第二ARP应答报文生成与所述第二主机的IP地址对应的路由,所述第二ARP应答报文包含所述第二主机的IP地址和MAC地址;发布所述第二主机的IP地址对应的路由;
所述第一网关设备,还用于接收并保存所述第二网关设备发布的与所述第二主机的IP地址对应的路由。
在第三方面的第一种可能的实现方式中,所述第一网关设备,还用于当确定所述第一网关设备存在与所述第二主机的IP地址对应的路由时,确定所述第二主机的IP地址对应的路由是否为所述第一虚拟子网内的路由;若为所述第一虚拟子网内的路由,则丢弃所述第一ARP请求报文;若不为所述第一虚拟子网内的路由,则代替所述第二主机应答所述第一ARP请求报文。
本发明实施例主机路由获取方法、装置及系统,通过接收第一主机发送的第一ARP请求报文,第一ARP请求报文包含第二主机的IP地址;若第一网关设备确定不存在与第二主机的IP地址对应的路由,则第一网关设备广播第一BGP更新报文,第一BGP更新报文包含类型标识信息和所述第二主机的IP地址,以使第二网关设备根据第一BGP更新报文向第一网关设备发布与第二主机的IP地址对应的路由;第一网关设备接收并保存第二网关设备发布的第二主机的IP地址对应的路由,解决了虚拟子网的网关设备如何及时获取并发布其下挂的虚拟主机的路由的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种主机路由获取方法的流程图;
图2为本发明实施例提供的另一种主机路由获取方法的流程图;
图3为本发明实施例提供的又一种主机路由获取方法的流程图;
图4A为本发明实施例提供的数据中心组网示意图;
图4B为本发明实施例提供的图4A组网下主机路由获取方法的流程图;
图5为本发明实施例提供的主机路由获取装置500的结构示意图;
图6为本发明实施例提供的主机路由获取装置600的结构示意图;
图7为本发明实施例提供的主机路由获取系统700的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种主机路由获取方法的流程图。该方法由配置在网关设备中的主机路由获取装置执行,该装置可通过硬件和/或软件的方式来实现。所述方法包括:
110、第一网关设备接收第一主机发送的第一地址解析协议(address resolutionprotocol,简称ARP)请求报文,第一ARP请求报文包含第二主机的互联网协议(Internetprotocol,简称IP)地址;
所述第一网关设备和所述第一主机位于第一虚拟子网内。
具体地,当第一虚拟子网内的第一主机需要和第二虚拟子网内的第二主机进行通信时,第一主机在子网内广播发送包含所述第二主机的IP地址的第一ARP请求报文。
120、若第一网关设备确定第一网关设备不存在与第二主机的IP地址对应的路由,则第一网关设备广播第一边界网关协议(border gateway protocol,简称BGP)更新报文,第一BGP更新报文包含类型标识信息和第二主机的IP地址;
这样,可以使第二网关设备根据第一BGP更新报文向第一网关设备发布与第二主机的IP地址对应的路由。其中,所述第二主机和所述第二网关设备位于第二虚拟子网内。
类型标识信息用来表示第一BGP更新报文的类型,可以指示第二网关设备根据所述第一BGP更新报文获取与第二主机的IP地址对应的路由,并向第一网关设备发布该路由。例如,类型标识信息可以通过设定BGP更新报文中的属性类型(attribute type)字段中预留的比特位的值来实现。
130、第一网关设备接收并保存第二网关设备发布的与第二主机的IP地址对应的路由。通常,可以采用虚拟迁移机制,通过虚拟主机管理设备把虚拟主机的加入及时通知虚拟子网对应的网关设备,从而使网关设备获取其对应虚拟子网的DC域内的主机路由信息,但是在没有部署虚拟迁移技术的组网环境中不可实施;或者,也可以由网关设备定时扫描其对应虚拟子网的DC域内虚拟主机可能使用的与该网关设备同网段的IP地址,从而感知到该DC域内主机路由信息,但是这需要网关设备频繁扫描同网段内虚拟主机的IP地址,会导致网络内充满大量ARP广播报文,占用网络带宽,从而影响网络业务和其它数据流量的转发。而在本实施例的120和130中,第一网关设备在接收到第一主机发送的第一ARP请求报文后,若确定不存在与第二主机的IP地址对应的路由,则第一网关设备广播第一BGP更新报文,以使第二主机所在第二虚拟子网的第二网关设备根据第一BGP更新报文向第一网关设备发布与第二主机的IP地址对应的路由,然后第一网关设备接收并保存第二网关设备发布的第二主机的IP地址对应的路由。这样,第二网关设备是在收到第一网关设备发送的第一BGP更新报文后,才向第一网关设备发布与第二主机的IP地址对应的路由,这样即使没有部署虚拟迁移技术,第一网关设备也可以及时获取DC域内主机路由,也可以避免定时扫描同网段内虚拟主机的IP地址导致广播流量大、浪费网络带宽的问题。
需要说明的是,本发明中涉及的主机包括虚拟主机VM,计算机主机(host)等。
本实施例提供的主机路由获取方法,通过第一网关设备确定不存在与第二主机的IP地址对应的路由后,广播第一BGP更新报文,使第二网关设备根据第一BGP更新报文向第一网关设备发布与第二主机的IP地址对应的路由,从而使第一网关设备能够接收并保存第二网关设备发布的与第二主机的IP地址对应的路由。这样,在虚拟主机的加入的情况下,网关设备能够及时发布其下挂的虚拟主机的路由。
图2为本发明实施例所提供的另一种主机路由获取方法的流程图。参照图2,本实施例的方法可以包括:
210、第一网关设备接收第一主机发送的第一ARP请求报文,第一ARP请求报文包含第二主机的IP地址;第一网关设备和第一主机位于第一虚拟子网内。
220、第一网关设备确定第一网关设备是否存在与第二主机的IP地址对应的路由;若确定第一网关设备存在与第二主机的IP地址对应的路由时,执行230;否则执行260。
230、第一网关设备确定第二主机的IP地址对应的路由是否为第一虚拟子网内的路由;若确定第二主机的IP地址对应的路由是第一虚拟子网内的路由,则执行240;否则执行250。
例如,第一网关设备可以根据本地存储的路由标识信息,确定目的主机的IP地址对应的路由是否为第一虚拟子网内的路由。
240、第一网关设备丢弃第一ARP请求报文。
250、第一网关设备对第一ARP请求报文进行代答。
在250中,如果第一网关设备确定与第二主机的IP地址对应的路由不是第一虚拟子网内的路由,则第一网关设备可以代替第二主机应答第一ARP请求报文;具体地,第一网关设备向第一主机发送第一ARP应答报文,所述第一ARP应答报文中包括第二主机的IP地址和媒体访问控制(media access control,简称MAC)地址。
260、第一网关设备广播第一BGP更新报文,第一BGP更新报文包含类型标识信息和第二主机的IP地址。
这样,可以使第二网关设备根据第一BGP更新报文向第一网关设备发布与第二主机的IP地址对应的路由,其中,所述第二主机和所述第二网关设备位于第二虚拟子网内;并执行270。
270、第一网关设备接收并保存第二网关设备发布的与第二主机的IP地址对应的路由。
进一步的,第一网关设备代替第二主机应答第一ARP请求报文;具体地,第一网关设备向第一主机发送第一ARP应答报文,所述第一ARP应答报文中包括第二主机的IP地址和MAC地址。
本实施例提供的主机路由获取方法,通过第一网关设备确定不存在与第二主机的IP地址对应的路由后,广播第一BGP更新报文,使第二网关设备根据第一BGP更新报文向第一网关设备发布与第二主机的IP地址对应的路由,第一网关设备接收并保存第二网关设备发布的与第二主机的IP地址对应的路由,实现了第一网关设备也能获得该路由,从而使第一网关设备再次收到包含第二主机的IP地址的ARP请求报文后,能够直接代替第二主机应答ARP请求报文。
在上述实施例提供的主机路由获取方法的基础上,图3为本发明实施例提供的又一种主机路由获取方法的流程图。参照图3,本实施例的方法可以包括:
310、第一网关设备接收来自第二网关设备发送的第二BGP更新报文,第二BGP更新报文包含类型标识信息和第三主机的IP地址。
320、第一网关设备根据第二BGP更新报文确定第一网关设备是否存在与第三主机的IP地址对应的路由,若确定第一网关设备存在与第三主机的IP地址对应的路由,则执行步骤330,否则执行340。
330、第一网关设备发布与第三主机的IP地址对应的路由,以使第二网关设备接收并保存与第三主机的IP地址对应的路由。
340、在第一虚拟子网内广播第二ARP请求报文,第二ARP请求报文包含第三主机的IP地址,并执行步骤350。
350、第一网关设备接收第三主机发送的第二ARP应答报文,第二ARP应答报文包含第三主机的IP地址和MAC地址。
360、第一网关设备根据第二ARP应答报文生成与第三主机的IP地址对应的路由。
370、第一网关设备发布生成的与第三主机的IP地址对应的路由,以使第二网关设备接收并保存与第三主机的IP地址对应的路由。
本实施例中,以所述第三主机位于所述第一虚拟子网内为例,说明本发明技术方案。可以理解的是,对于所述第三主机不位于所述第一虚拟子网内的场景,所述第一网关设备将不会收到对所述第二ARP请求报文的应答,相应地,所述第一网关设备不会执行本实施例中360和370。
本实施例提供的主机路由获取方法,通过第一网关设备接收到第二BGP更新报文后,使第一网关设备根据第二BGP更新报文确定是否存在与第一主机的IP地址对应的路由,若存在,则可以直接发布该路由,若不存在,通过广播第三ARP请求报文,接收ARP应答报文来生成与第一主机的IP地址对应的路由并发布该路由;这样,虚拟子网的网关设备能够按需及时发布其下挂的虚拟主机的路由。
为了详细介绍上述各实施例示出的主机路由获取方法,下面特配合图4A和图4B详细介绍虚拟子网的网关设备获取其下挂的主机的路由的过程。图4A为本发明实施例提供的数据中心组网示意图,图4B为本发明实施例提供的图4A组网下主机路由获取方法的流程图。
可以理解的是,本实施例中图4A所示数据中心组网仅为一种示例;具体实现中,数据中心组网中虚拟子网的数量、各个虚拟子网内的主机或设备数量可能不同,本发明对此不做限制。
图4A所示数据中心组网中可以包括网关设备PE1、网关设备PE2、网关设备PE3、网关设备PE1下挂的主机11和主机12、网关设备PE2下挂的主机21、网关设备PE3下挂的主机31、交换机1、交换机2和交换机3。其中,网关设备PE1为虚拟子网1的网关设备,网关设备PE2为虚拟子网2的网关设备,数据中心组网包括虚拟子网1和虚拟子网2,网关设备PE3为互联网络中的网关设备。本实施例的方法可以包括:
410、主机11通过交换机1向网关设备PE1发送了包含目的主机的IP地址的第一ARP请求报文。
网关设备PE1接收到该第一ARP请求报文后,确定是否存在与目的主机的IP地址对应的路由。若存在与目的主机的IP地址对应的路由,则进一步确定该路由是否为虚拟子网1内的路由,若为虚拟子网1内的路由,则将该ARP请求报文丢弃,即不代替目的主机对该第一ARP请求报文应答;若不为虚拟子网1内的路由,而是其它网关设备发布过来的路由,则代替目的主机应答该第一ARP请求报文。例如,如果目的主机为主机12,网关设备PE1确定存在与目的主机的IP地址对应的路由后,会进一步确定主机12的IP地址对应的路由是否为虚拟子网1内的路由,由于主机12为网关设备PE1下挂的主机,因此主机12的IP地址对应的路由是虚拟子网1内的路由,这种情况下网关设备PE1不代替主机12应答该第一ARP请求报文。如果目的主机为主机21,网关设备PE1确定存在与主机21的IP地址对应的路由后,会进一步确定主机21的IP地址对应的路由是否为虚拟子网1内的路由的,由于主机21为网关设备PE2下挂的主机,因此主机21的IP地址对应的路由是网关设备PE2发布的,这种情况下网关设备PE1可以代替主机21应答该第一ARP请求报文。从而使得主机12可以从网关设备PE1获得主机21的MAC地址,而不需要再经过网关设备PE2获得主机21的MAC地址。
网关设备PE1接收到该第一ARP请求报文后,若确定不存在与目的主机的IP地址对应的路由,则执行420。
420、网关设备PE1广播包含类型标识信息和目的主机的IP地址的BGP更新报文,以使网关设备PE2根据类型标识信息向网关设备PE2下挂的主机发送包含目的主机的IP地址的第二ARP请求报文。
在此需要说明的是,本实施例仅以存在网关设备PE1和网关设备PE2为例说明主机路由获取方法的,若还存在虚拟子网的网关设备PE4,网关设备PE4也将收到所述BGP更新报文。
430、网关设备PE2在虚拟子网2内广播包含目的主机的IP地址的第二ARP请求报文。
440、网关设备PE2接收目的主机发送的ARP应答报文。
在430和440中,如果目的主机为主机21,则网关设备PE2向其下挂的主机发送包含目的主机的IP地址的ARP请求报文后,会收到主机21发送的ARP应答报文,ARP应答报文中包含主机21的IP地址和主机21的MAC地址。
450、网关设备PE2根据ARP应答报文生成与目的主机的IP地址对应的路由。
460、网关设备PE2向网关设备PE1和网关设备PE3发布生成的与目的主机的IP地址对应的路由。
需要说明的是,网关设备PE2生成与目的主机的IP地址对应的路由后,可以将该路由发布给BGP路由域中其他网关设备,也即可以将该路由发布给网关设备PE1和网关设备PE3。网关设备PE2在向网关设备PE1发布生成的与目的主机的IP地址对应的路由后,如果网关设备PE1再次收到包含该目的主机的IP地址的ARP请求报文,则可以代替该目的主机应答该ARP请求报文。例如网关设备PE1收到主机12发送的包含主机21的IP地址的ARP请求报文,则网关设备PE1可以代替主机21应答该ARP请求报文。如果网关设备PE3收到包含该目的主机的IP地址的ARP请求报文,则可以代替该目的主机应答该ARP请求报文。例如网关设备PE3收到主机31发送的包含主机21的IP地址的ARP请求报文,则网关设备PE3可以代替主机21应答该ARP请求报文。
本实施例提供的主机路由获取方法,通过网关设备确定不存在与目的主机的IP地址对应的路由后,向其它虚拟子网的网关设备发送BGP更新报文。从而触发其它虚拟子网的网关设备向各自下挂的主机发送包含目的主机的IP地址的ARP请求报文,使得目的主机所在的网关设备能够收到目的主机的ARP应答报文,生成与目的主机的IP地址对应的路由,并发布生成的路由。从而实现了虚拟子网的网关设备能够按需获取其下挂的主机的路由,并发布生成的路由,使得其它网关设备也能获得该路由;这样其它网关设备收到源主机发送的包含与该路由对应的目的主机的IP地址的ARP请求报文后,能够直接代替目的主机应答ARP请求报文。
图5为本发明实施例提供的主机路由获取装置500的结构示意图。本实施例的装置适用于虚拟子网中的网关设备能够按需获取其下挂的主机的路由的情况。该装置通常以硬件和/或软件的方式来实现。参照图5,该装置包括如下模块:报文接收模块510、第一确定模块520、第一报文广播模块530和路由获取模块540。
报文接收模块510用于接收第一主机发送的第一地址解析协议ARP请求报文,第一ARP请求报文包含第二主机的互联网络协议IP地址;第一网关设备和第一主机位于第一虚拟子网内;第一确定模块520用于确定第一网关设备是否存在与第二主机的IP地址对应的路由;第一报文广播模块530用于当第一网关设备确定第一网关设备不存在与第二主机的IP地址对应的路由时,广播第一边界网关协议BGP更新报文,第一BGP更新报文包含类型标识信息和第二主机的IP地址;路由获取模块540用于接收并保存第二网关设备发布的第二主机的IP地址对应的路由。
进一步的,还包括:
第二确定模块,用于当第一确定模块确定第一网关设备存在与第二主机的IP地址对应的路由时,确定第二主机的IP地址对应的路由是否为第一虚拟子网内的路由。
报文丢弃模块,用于当第二确定模块确定第二主机的IP地址对应的路由为第一虚拟子网内的路由,丢弃第一ARP请求报文。
报文代答模块,用于当第二确定模块确定第二主机的IP地址对应的路由不为第一虚拟子网内的路由,代替第二主机应答第一ARP请求报文。
进一步的,还包括:第二报文广播模块和路由发布模块。
报文接收模块510还用于接收来自第二网关设备发送的第二BGP更新报文,第二BGP更新报文包含类型标识信息和第三主机的IP地址。
第一确定模块520还用于根据第二BGP更新报文确定第一网关设备是否存在与第三主机的IP地址对应的路由。
第二报文广播模块,用于当第一确定模块确定不存在与第三主机的IP地址对应的路由,在第一虚拟子网内广播第二ARP请求报文,第二ARP请求报文包含第三主机的IP地址。
报文接收模块510还用于接收第三主机发送的ARP应答报文,ARP应答报文包含第三主机的IP地址和MAC地址。
路由获取模块540还用于根据报文接收模块接收的ARP应答报文,生成与第三主机的IP地址对应的路由。
路由发布模块,用于在第一确定模块确定存在与第三主机的IP地址对应的路由时,发布与第三主机的IP地址对应的路由;在第一确定模块确定不存在与第三主机的IP地址对应的路由时,发布路由获取模块生成的与第三主机的IP地址对应的路由。
本实施例提供的主机路由获取装置,通过在确定不存在与第二主机的IP地址对应的路由后,广播第一BGP更新报文,使第二网关设备根据第一BGP更新报文向第一网关设备发布与第二主机的IP地址对应的路由,从而使第一网关设备能够接收并保存第二网关设备发布的与第二主机的IP地址对应的路由。从而实现了在虚拟主机的加入的情况下,网关设备能够按需获取其下挂的主机的路由并及时发布其下挂的主机的路由。
图6为本发明实施例提供的主机路由获取装置600的结构示意图。参照图6,该装置包括:处理器601、存储器602、通信接口603和总线604。其中,处理器601、存储器602、通信接口603通过总线604相互连接;
存储器602,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。
处理器601执行存储器602所存放的程序,实现主机路由获取方法,包括:
处理器601用于接收第一主机发送的第一地址解析协议ARP请求报文,第一ARP请求报文包含第二主机的互联网络协议IP地址;第一网关设备和第一主机位于第一虚拟子网内;若第一网关设备确定不存在与第二主机的IP地址对应的路由,则广播第一边界网关协议BGP更新报文,第一BGP更新报文包含类型标识信息和第二主机的IP地址,以使第二网关设备根据第一BGP更新报文向第一网关设备发布与第二主机的IP地址对应的路由;接收并保存第二网关设备发布的第二主机的IP地址对应的路由,第二网关设备和第二主机位于第二虚拟子网内。
进一步的,处理器601还用于第一网关设备确定存在与第二主机的IP地址对应的路由,则第一网关设备确定第二主机的IP地址对应的路由是否为第一虚拟子网内的路由;若为第一虚拟子网内的路由,则第一网关设备丢弃第一ARP请求报文;若不为第一虚拟子网内的路由,第一网关设备代替第二主机应答第一ARP请求报文。
进一步的,处理器601还用于接收来自第二网关设备的第二BGP更新报文,第二BGP更新报文包含类型标识信息和第三主机的IP地址;根据第二BGP更新报文确定第一网关设备是否存在与第三主机的IP地址对应的路由。
处理器601还用于若确定存在与第三主机的IP地址对应的路由,则第一网关设备发布与第三主机的IP地址对应的路由,以使第二网关设备接收并保存与第三主机的IP地址对应的路由。
处理器601还用于若确定不存在与第三主机的IP地址对应的路由,则第一网关设备在第一虚拟子网内广播第二ARP请求报文,第二ARP请求报文包含第三主机的IP地址;第一网关设备接收第三主机发送的ARP应答报文,ARP应答报文包含第三主机的IP地址和MAC地址;第一网关设备根据ARP应答报文生成与第三主机的IP地址对应的路由,向第二网关设备发布与第三主机的IP地址对应的路由,以使第二网关设备接收并保存与第三主机的IP地址对应的路由。
本实施例提供的主机路由获取装置,通过在确定不存在与第二主机的IP地址对应的路由后,广播第一BGP更新报文,使第二网关设备根据第一BGP更新报文向第一网关设备发布与第二主机的IP地址对应的路由,从而使第一网关设备能够接收并保存第二网关设备发布的与第二主机的IP地址对应的路由。从而实现了在虚拟主机的加入的情况下,网关设备能够按需获取并发布其下挂的虚拟主机的路由。
图7为本发明实施例提供的主机路由获取系统700的结构示意图。参照图7,该系统包括:第一网关设备710和第二网关设备720。
第一网关设备710用于接收第一主机发送的第一地址解析协议ARP请求报文,第一ARP请求报文包含第二主机的互联网络协议IP地址,第一主机位于第一虚拟子网内;当确定第一网关设备不存在与第二主机的IP地址对应的路由时,广播第一边界网关协议BGP更新报文,第一BGP更新报文包含类型标识信息和第二主机的IP地址;第二网关设备720用于接收第一网关设备发送的第一BGP更新报文,根据第一BGP更新报文确定第二网关设备是否存在与第二主机的IP地址对应的路由;当确定存在与第二主机的IP地址对应的路由时,向第一网关设备发布与第二主机的IP地址对应的路由;还用于当确定不存在与第二主机的IP地址对应的路由时,在第二虚拟子网内广播第二ARP请求报文,第二ARP请求报文包含第二主机的IP地址;接收二主机发送的第二ARP应答报文,并根据第二ARP应答报文生成与第二主机的IP地址对应的路由,第二ARP应答报文包含第二主机的IP地址和MAC地址;发布第二主机的IP地址对应的路由;第一网关设备710还用于接收并保存第二网关设备发布的与第二主机的IP地址对应的路由。
进一步的,第一网关设备710还用于当确定第一网关设备存在与第二主机的IP地址对应的路由时,确定第二主机的IP地址对应的路由是否为第一虚拟子网内的路由;若为第一虚拟子网内的路由,则丢弃第一ARP请求报文;若不为第一虚拟子网内的路由,则代替第二主机应答第一ARP请求报文。
举例来说,参考图4A所示数据中心组网,所述系统可以包括网关设备PE1、网关设备PE2、网关设备PE3、网关设备PE1下挂的主机11和主机12、网关设备PE2下挂的主机21、网关设备PE3下挂的主机31、交换机1、交换机2和交换机3。其中,网关设备PE1为虚拟子网1的网关设备,网关设备PE2为虚拟子网2的网关设备,数据中心组网包括虚拟子网1和虚拟子网2,网关设备PE3为互联网络中的网关设备。其中,网关设备PE1、网关设备PE2和网关设备PE3可以参考图4B所示主机路由获取方法,获取主机路由,这里不再赘述。
本实施例提供的主机路由获取系统,通过在确定不存在与第二主机的IP地址对应的路由后,广播第一BGP更新报文,使第二网关设备根据第一BGP更新报文向第一网关设备发布与第二主机的IP地址对应的路由,从而使第一网关设备能够接收并保存第二网关设备发布的与第二主机的IP地址对应的路由。从而实现了在虚拟主机的加入的情况下,网关设备能够按需获取并发布其下挂的虚拟主机的IP地址对应的路由。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (5)
1.一种主机路由获取方法,其特征在于,包括:
第一网关设备接收第一主机发送的第一地址解析协议ARP请求报文,所述第一ARP请求报文包含第二主机的互联网络协议IP地址;所述第一网关设备和所述第一主机位于第一虚拟子网内;
若所述第一网关设备确定不存在与所述第二主机的IP地址对应的路由,则所述第一网关设备广播第一边界网关协议BGP更新报文,所述第一BGP更新报文包含类型标识信息和所述第二主机的IP地址,所述类型标识信息用于指示第二网关设备根据所述第一BGP更新报文发布与所述第二主机的IP地址对应的路由;所述第一网关设备接收并保存所述第二网关设备发布的与所述第二主机的IP地址对应的路由,所述第二网关设备和所述第二主机位于第二虚拟子网内;
还包括:
若所述第一网关设备确定存在与所述第二主机的IP地址对应的路由,则所述第一网关设备确定所述第二主机的IP地址对应的路由是否为所述第一虚拟子网内的路由;
若为所述第一虚拟子网内的路由,则所述第一网关设备丢弃所述第一ARP请求报文;
若不为所述第一虚拟子网内的路由,则所述第一网关设备代替所述第二主机应答所述第一ARP请求报文;
其中,所述第一主机和所述第二主机是虚拟主机;
所述第一虚拟子网和所述第二虚拟子网位于同一个数据中心DC域内。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述第一网关设备接收来自第二网关设备的第二BGP更新报文,所述第二BGP更新报文包含所述类型标识信息和第三主机的IP地址;
根据所述第二BGP更新报文确定所述第一网关设备是否存在与所述第三主机的IP地址对应的路由;
若确定存在与所述第三主机的IP地址对应的路由,则所述第一网关设备发布与所述第三主机的IP地址对应的路由,以使所述第二网关设备接收并保存与所述第三主机的IP地址对应的路由;
若确定不存在与所述第三主机的IP地址对应的路由,则所述第一网关设备在所述第一虚拟子网内广播第二ARP请求报文,所述第二ARP请求报文包含所述第三主机的IP地址;所述第一网关设备接收所述第三主机发送的ARP应答报文,所述ARP应答报文包含所述第三主机的IP地址和MAC地址;所述第一网关设备根据所述ARP应答报文生成与所述第三主机的IP地址对应的路由,向所述第二网关设备发布与所述第三主机的IP地址对应的路由,以使所述第二网关设备接收并保存与所述第三主机的IP地址对应的路由。
3.一种主机路由获取装置,所述装置部署在第一网关设备上,其特征在于,所述装置包括:
报文接收模块,用于接收第一主机发送的第一地址解析协议ARP请求报文,所述第一ARP请求报文包含第二主机的互联网络协议IP地址;所述第一网关设备和所述第一主机位于第一虚拟子网内;
第一确定模块,用于确定所述第一网关设备是否存在与所述第二主机的IP地址对应的路由;
第一报文广播模块,用于当所述第一确定模块确定所述第一网关设备不存在与所述第二主机的IP地址对应的路由时,广播第一边界网关协议BGP更新报文,所述第一BGP更新报文包含类型标识信息和所述第二主机的IP地址,所述类型标识信息用于指示第二网关设备根据所述第一BGP更新报文发布与所述第二主机的IP地址对应的路由;
路由获取模块,用于接收并保存第二网关设备发布的所述第二主机的IP地址对应的路由,所述第二网关设备和所述第二主机位于第二虚拟子网内;
还包括:
第二确定模块,用于当所述第一确定模块确定所述第一网关设备存在与所述第二主机的IP地址对应的路由时,确定所述第二主机的IP地址对应的路由是否为所述第一虚拟子网内的路由;
报文丢弃模块,用于当所述第二确定模块确定所述第二主机的IP地址对应的路由为所述第一虚拟子网内的路由,丢弃所述第一ARP请求报文;
报文代答模块,用于当所述第二确定模块确定所述第二主机的IP地址对应的路由不为所述第一虚拟子网内的路由,代替所述第二主机应答所述第一ARP请求报文;
其中,所述第一主机和所述第二主机是虚拟主机;
所述第一虚拟子网和所述第二虚拟子网位于同一个数据中心DC域内。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括:第二报文广播模块和路由发布模块;
所述报文接收模块,还用于接收来自第二网关设备发送的第二BGP更新报文,所述第二BGP更新报文包含所述类型标识信息和第三主机的IP地址;
所述第一确定模块,还用于根据所述第二BGP更新报文确定所述第一网关设备是否存在与所述第三主机的IP地址对应的路由;
第二报文广播模块,用于当所述第一确定模块确定不存在与所述第三主机的IP地址对应的路由,在所述第一虚拟子网内广播第二ARP请求报文,所述第二ARP请求报文包含所述第三主机的IP地址;所述报文接收模块,还用于接收所述第三主机发送的ARP应答报文,所述ARP应答报文包含所述第三主机的IP地址和MAC地址;
所述路由获取模块,还用于根据所述报文接收模块接收的所述ARP应答报文,生成与所述第三主机的IP地址对应的路由;
所述路由发布模块,用于在所述第一确定模块确定存在与所述第三主机的IP地址对应的路由时,发布与所述第三主机的IP地址对应的路由;在所述第一确定模块确定不存在与所述第三主机的IP地址对应的路由时,发布所述路由获取模块生成的与所述第三主机的IP地址对应的路由。
5.一种主机路由获取系统,其特征在于,包括:第一网关设备和第二网关设备;
所述第一网关设备位于第一虚拟子网内,所述第二网关设备位于第二虚拟子网内;
所述第一网关设备,用于接收第一主机发送的第一地址解析协议ARP请求报文,所述第一ARP请求报文包含第二主机的互联网络协议IP地址,所述第一主机位于所述第一虚拟子网内;当确定所述第一网关设备不存在与所述第二主机的IP地址对应的路由时,广播第一边界网关协议BGP更新报文,所述第一BGP更新报文包含类型标识信息和所述第二主机的IP地址,所述类型标识信息用于指示第二网关设备根据所述第一BGP更新报文发布与所述第二主机的IP地址对应的路由;
所述第二网关设备,用于接收所述第一网关设备发送的所述第一BGP更新报文,根据所述第一BGP更新报文确定所述第二网关设备是否存在与所述第二主机的IP地址对应的路由;当确定存在与所述第二主机的IP地址对应的路由时,发布与所述第二主机的IP地址对应的路由;还用于当确定不存在与所述第二主机的IP地址对应的路由时,在所述第二虚拟子网内广播第二ARP请求报文,所述第二ARP请求报文包含所述第二主机的IP地址;接收所述第二主机发送的第二ARP应答报文,并根据所述第二ARP应答报文生成与所述第二主机的IP地址对应的路由,所述第二ARP应答报文包含所述第二主机的IP地址和MAC地址;发布所述第二主机的IP地址对应的路由;
所述第一网关设备,还用于接收并保存所述第二网关设备发布的与所述第二主机的IP地址对应的路由;
所述第一网关设备,还用于当确定所述第一网关设备存在与所述第二主机的IP地址对应的路由时,确定所述第二主机的IP地址对应的路由是否为所述第一虚拟子网内的路由;若为所述第一虚拟子网内的路由,则丢弃所述第一ARP请求报文;若不为所述第一虚拟子网内的路由,则代替所述第二主机应答所述第一ARP请求报文;
其中,所述第一主机和所述第二主机是虚拟主机;
所述第一虚拟子网和所述第二虚拟子网位于同一个数据中心DC域内。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310366892.2A CN104426759B (zh) | 2013-08-21 | 2013-08-21 | 主机路由获取方法、装置及系统 |
PCT/CN2014/075761 WO2015024388A1 (zh) | 2013-08-21 | 2014-04-21 | 主机路由获取方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310366892.2A CN104426759B (zh) | 2013-08-21 | 2013-08-21 | 主机路由获取方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104426759A CN104426759A (zh) | 2015-03-18 |
CN104426759B true CN104426759B (zh) | 2018-11-20 |
Family
ID=52483022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310366892.2A Active CN104426759B (zh) | 2013-08-21 | 2013-08-21 | 主机路由获取方法、装置及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104426759B (zh) |
WO (1) | WO2015024388A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017113300A1 (zh) * | 2015-12-31 | 2017-07-06 | 华为技术有限公司 | 路由确定方法、网络配置方法以及相关装置 |
CN106982163B (zh) * | 2016-01-18 | 2020-12-04 | 华为技术有限公司 | 按需获取路由的方法及网关 |
CN110391984B (zh) * | 2019-07-26 | 2022-01-25 | 新华三大数据技术有限公司 | 一种报文转发方法及装置 |
CN110768901B (zh) * | 2019-10-24 | 2022-02-25 | 新华三技术有限公司 | 路由发布方法、路由选择方法、相关装置及系统 |
CN113840016A (zh) * | 2020-06-23 | 2021-12-24 | 中兴通讯股份有限公司 | 报文处理方法、装置和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102577331A (zh) * | 2010-05-28 | 2012-07-11 | 华为技术有限公司 | 虚拟第2层及使其可扩展的机制 |
CN102710509A (zh) * | 2012-05-18 | 2012-10-03 | 杭州华三通信技术有限公司 | 一种数据中心自动配置方法及其设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7221675B2 (en) * | 2001-12-07 | 2007-05-22 | Nortel Networks Limited | Address resolution method for a virtual private network, and customer edge device for implementing the method |
EP1318631B1 (en) * | 2001-12-07 | 2005-12-21 | Nortel Networks Limited | Address resolution method for a virtual private network, and customer edge device for implementing the method |
CN103152256B (zh) * | 2013-02-22 | 2017-05-03 | 浪潮电子信息产业股份有限公司 | 一种基于云计算数据中心的路由虚拟网络设计方法 |
-
2013
- 2013-08-21 CN CN201310366892.2A patent/CN104426759B/zh active Active
-
2014
- 2014-04-21 WO PCT/CN2014/075761 patent/WO2015024388A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102577331A (zh) * | 2010-05-28 | 2012-07-11 | 华为技术有限公司 | 虚拟第2层及使其可扩展的机制 |
CN102710509A (zh) * | 2012-05-18 | 2012-10-03 | 杭州华三通信技术有限公司 | 一种数据中心自动配置方法及其设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2015024388A1 (zh) | 2015-02-26 |
CN104426759A (zh) | 2015-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10659358B2 (en) | Method and apparatus for advanced statistics collection | |
CN109462534B (zh) | 区域互联控制器、区域互联控制方法以及计算机存储介质 | |
CN104521196B (zh) | 针对虚拟网络分组流的物理路径确定 | |
CN105706400B (zh) | 在网络上转发分组的方法和装置 | |
CN102164091B (zh) | 一种mac地址表建立方法及运营商边缘设备 | |
CN104335532B (zh) | 将分组路由到虚拟转发实例的远端地址的方法和装置 | |
US10263808B2 (en) | Deployment of virtual extensible local area network | |
CN104426759B (zh) | 主机路由获取方法、装置及系统 | |
CN109802985A (zh) | 数据传输方法、装置、设备及可读取存储介质 | |
US20190109780A1 (en) | Routing information validation in sdn environments | |
US20200244486A1 (en) | Dynamic customer vlan identifiers in a telecommunications network | |
Stringer et al. | Cardigan: SDN distributed routing fabric going live at an Internet exchange | |
CN105515978A (zh) | 实现分布式路由、物理主机接入的方法及装置 | |
CN106487537A (zh) | 业务链实现方法以及策略控制平台 | |
CN103825826B (zh) | 一种动态路由的实现方法和装置 | |
CN110505152A (zh) | 路由过滤方法、装置及电子设备 | |
CN106453120A (zh) | 一种动态集群方法和系统 | |
WO2020209099A1 (ja) | 通信システム及び通信方法 | |
US20210075767A1 (en) | Firewall service insertion across secure fabric preserving security group tags end to end with dual homed firewall | |
US11050655B2 (en) | Route information distribution through cloud controller | |
CN103326915A (zh) | 实现三层虚拟专用网络的方法、设备及系统 | |
JP2020188478A (ja) | Sfcネットワークにおけるトポロジー情報を同期させるための方法、およびルーティングネットワーク要素 | |
CN104065553A (zh) | 虚拟网络迁移方法和相关设备 | |
US10608942B1 (en) | Reducing routes based on network traffic utilization | |
CN108259295B (zh) | Mac地址同步方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |