一种路由获取方法和装置的制造方法_2

文档序号:9828087阅读:来源:国知局
邻接表项,如果是,则确定当前学习到的邻接表项与存储的对应邻接表项是否相同,即表项包含的具体内容是否相同。
[0039]若确定当前学习到的主机的邻接表项与本地存储的该主机的邻接表项相同,即已存储该主机的邻接表项,且与当前学习到的该主机的邻接表项相同,则不向该MS注册该主机的EID地址和RLOC地址的映射关系;否则(本地未存储该主机的邻接表项,或存储该主机的邻接表项,且当前学习到的与存储的该主机的邻接表项不同),向MS注册该主机的EID地址和RLOC地址的映射关系,使所述MS更新存储该主机的EID地址和RLOC地址的映射关系O
[0040]MS接收到VTEP设备注册的主机的EID地址和RLOC地址的映射关系时,若确定本地不存在该主机的EID地址和RLOC地址的映射关系,则存储该主机的EID地址和RLOC地址的映射关系;若确定本地存在该主机的EID地址和RLOC地址的映射关系,则使用接收到的该主机的EID地址和RLOC地址的映射关系更新存储的该主机的EID地址和RLOC地址的映射关系。
[0041]本申请实施是,较佳的实现方式为:VTEP设备向MS注册EID地址和RLOC地址的映射关系时,还通知所述MS代答该主机的EID地址和RLOC地址的映射关系,即MS代理各主机,各VTEP设备应答其它VTEP设备请求的RLOC地址。
[0042]在具体实现时,也可以不通知所述MS代答主机的EID地址和RLOC地址的映射关系,而在MS接收到相关请求时,转发给对应的VTEP设备或主机进行应答。
[0043]VTEP设备接收到本地任一主机删除的消息时,向MS发送针对该主机的去注册消息,使所述MS删除该主机的EID地址和RLOC地址的映射关系。
[0044]VTEP设备接收到主机删除的消息时,针对本地的存储的该主机对应的邻接表项和路由表项的处理同现有实现。
[0045]本申请实施例中,VTEP设备向MS注册EID地址和RLOC地址的映射关系时,使用同现有LISP注册报文格式相同的报文进行注册。VTEP设备向MS发送的去注册消息,也同现有实现,下面给出本申请实施例中EID地址和RLOC地址在报文中的具体携带方式。
[0046]参见图2,图2为本申请实施例中EID地址在报文中的携带方式示意图。图2以IPv4地址为例,EID地址包括主机的IP地址和主机IP地址所属的VNI,其中,VNI和IP地址的具体位置在图2中使用下划线标注。
[0047]对应的VNI为接收到的该主机发送的报文中携带的VNI,或者接收该主机发送的报文的接口对应的VNI,具体使用哪种方式确定对应的VNI,则根据具体实现方式确定。
[0048]参见图3,图3为本申请实施例中RLOC地址在报文中的携带方式示意图。图3以IPv4地址为例,RLOC地址包括:本VTEP的公网IP地址和配置的虚MAC地址。其中,IP地址和MAC地址的具体位置在图3中使用下划线标注。
[0049]下面结合附图,详细说明数据报文转发的过程。
[0050]任一主机在需要向其它主机发送数据报文时,会先向VTEP设备发送MAC地址请求。
[0051]其中,针对IPv6,发送的MAC地址请求为ARP请求,针对IPv6,发送的MAC地址请求为ND报文。
[0052]VTEP设备作为分布式网关,直接应答该MAC地址请求,不会将MAC地址请求泛洪到网络中。
[0053]VTEP设备在接收到本地主机发送的MAC地址请求时,若请求的MAC地址不为本VTEP设备下挂的主机的MAC地址,则向该主机响应虚MAC地址。
[0054]在具体实现时,根据MAC地址请求的目的IP地址和所述IP地址所属的VNI确定请求的MAC地址是否为本VTEP设备下挂的主机的MAC地址。
[0055]当本地针对不同网段分别配置了 VSI虚接口,则将对应网段的VSI虚接口对应的虚MAC地址响应给本地主机,用于数据报文的转发。
[0056]参见图4,图4为本申请实施例中路由获取流程不意图。具体步骤为:
[0057]步骤401,VTEP设备接收到本地主机发送的数据报文时,若未查找到该数据报文的目的IP地址所对应的路由表项,则向所述MS请求所述目的IP地址对应的RLOC地址和VN10
[0058]本步骤中接收到本地主机发送的数据报文时,先确定所述数据报文的目的MAC地址是否为所述虚MAC地址,如果是,执行所述查找到该数据报文的目的IP地址所对应的路由表项;否则,根据该数据报文的目的MAC地址进行二层转发。
[0059]若查找到对应的路由表项,则根据查找到的路由表项进行转发。
[0060]步骤402,该VTEP设备接收到所述MS响应的RLOC地址和VNI时,建立与响应的RLOC地址对应VTEP设备之间的VXLAN隧道,并生成所述目的IP地址对应的路由表项。[0061 ] MS接收到该VTEP设备发送的请求RLOC地址和VNI的报文时,根据所述数据报文的目的IP地址在本地的映射关系中查找到对应的RLOC地址和VNI,并响应给该VTEP设备。
[0062]本步骤中,根据响应的RLOC地址生成与响应的RLOC地址对应VTEP设备之间的VXLAN隧道具体为:配置VXLAN隧道的目的IP地址为RLOC地址中的IP地址,源IP地址为本VTEP设备的公网IP地址,VXLAN隧道口为本VTEP设备到RLOC地址中的IP地址对应的VTEP设备之间的接口。
[0063]所述目的IP地址对应的路由表项包括:EID地址、RLOC地址和VXLAN隧道口,所述EID地址为所述目的IP地址和响应的VNI。
[0064]参见图5,图5为本申请实施例中数据报文转发流程示意图。具体步骤为:
[0065]步骤501,VTEP设备接收到本地主机发送的数据报文时,若确定该数据报文的目的MAC地址为虚MAC地址,则剥掉该数据报文的二层头,并根据该数据报文的目的IP地址查找路由表项。
[0066]步骤502,该VTEP设备确定是否查找到对应的路由表项,如果是,执行步骤505 ;否贝IJ,执行步骤503。
[0067]步骤503,该VTEP设备向MS请求所述目的IP地址对应的RLOC地址和VNI。
[0068]步骤504,该VTEP设备接收到所述MS响应的RLOC地址和VNI时,建立与响应的RLOC地址对应VTEP设备之间的VXLAN隧道,并生成所述目的IP地址对应的路由表项。
[0069]步骤505,该VTEP设备根据所述路由表项转发所述剥掉二层头的数据报文。
[0070]本步骤中转发所述剥掉二层头的数据报文的具体过程为:根据所述路由表项中的RLOC地址为所述剥掉二层头的数据报文封装新的二层头后,进行VXLAN封装,并通过VXLAN隧道口发送;其中,新封装的二层头的目的MAC地址为RLOC地址中的MAC地址,源MAC地址为本VTEP设备上配置的虚MAC地址;VXLAN封装的目的IP地址为RLOC地址中的IP地址,源IP地址为本VTEP设备的公网IP地址。
[0071]封装后的VXLAN报文到达对端VTEP设备后,进行VXLAN解封装后,确定内部二层头的目的MAC地址为本VTEP设备的配置虚MAC地址,则去掉二层头,根据目的IP地址查找本地主机的路由表项,进行转发。
[0072]到此,数据报文由一个主机发送到跨VTEP设备的另一个主机上。
[0073]下面结合具体组网,详细描述VTEP设备转发数据报文的过程。仍然以图1的组网为例。
[0074]以IPv4网络为例,图1中VTEP设备I和VTEP设备2为VXLAN的分布式网关,其中,VTEP设备I的公网地址为1.1.1.1 ;该设备上有VSI虚接口,该虚接口的虚MAC地址为0000-fc00-0b01,IP地址为10.1.1.1/24,并在VSI虚接口上配置MAC地址代理,VTEP设备I下,接入VNI 10,下挂主机1,主机I的IP地址为10.1.1.10。
[0075]VTEP设备2的公网地址为2.2.2.2 ;该设备上也由VSI虚接口,该虚接口的虚MAC地址为0000-fc00-0b02,IP地址为20.1.1.1/24;并在VSI虚接口上配置MAC地址代理,VTEP设备2下,接入VNI 20,下挂主机2,主机2的IP地址为20.1.1.10。
[0076]VTEP设备I学习到主机I的ARP表项时,生成主机I的路由表项,并向MS注册主机I的EID地址和RLOC地址的映射关系(EID地址:10.1.1.10和VNI 10 ;RL0C地址:1.1.1.1和0000-fc00-0b01
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1