Opencontrail-Tungsten Fabric---VXLAN封装VM在同一网段通讯
发布日期:2022-02-12 16:06:59 浏览次数:10 分类:技术文章

本文共 1477 字,大约阅读时间需要 4 分钟。

通过 Orchestrator在Server上部署一个VM或者Docker:

1.首先给 VM/Docker POD分配IP地址,DNS 等等信息。在vRouter上创建 VRF/VSI, RT/RD等信息,上送回传到Contrail控制器。vRouter之间不需要协议通讯,vRouter仅仅跟Contrail 控制器进行控制平面的通信。

2.生成L3VPN/EVPN转发表,控制器知道现存的多个vRouter可能要跟新创建的vRouter共享相同的VRF/VSI,并且需要互相通讯,就通过XMPP来下发转发表信息(BGP NLRI内嵌到XMPP消息里)到另一台服务器上vRouter。vRouter之间仅仅建立转发平面的动态隧道。这样Server之间的M/Dockers 就可以通讯了。

3.控制器通过BGP/Netconf来通知GW Router来自动发布VM/Docker的IP prefix。这样Openstack/vCenter创建的VM/Docker就可以被外界来使用了。

 

 

For the overlay, OpenContrail uses MPLS L3VPNs and MPLS EVPNs in order to address both l3 overlay and l2 overlay.

For the control plane each controller acts as a BGP Route Reflector using the BGP and the XMPP protocols. BGP is used between the controllers and the physical routers. XMPP is used between the controllers and the vRouters. 

For the data plane, OpenContrail supports GRE/VXLAN/UDP for the tunneling. 

safchain_blogpost_728_image1

 

packet journey:

Initiating a ping between vm1 and vm2

根据vm1的网卡找到对应的ItfReq

docker exec -it kolla_toolbox bash

. /var/lib/kolla/config_files/admin-openrc.sh

VM1 port: 10a33065-aeb8-4003-a18d-3cc691dc57df,找到接口,

然后进入其vrf,

由于是同一网段,所以查看l2index表项:(如果不同网段,查看ucindex (Unicast) 栏),

进入l2index表:(rt --dump 3 --family bridge) 其中有一条广播地址条目,是用来解析arp的,此处略过arp过程(ff:ff:ff:ff:ff:ff):

上表可以看出报文以vxlan封装发往10.10.1.40(vhost0)

vm1所在host上:sudo tcpdump -n -i eth0 dst 10.10.1.40

在另一端10.10.1.40:

go to host: 10.10.1.40

找到VxLanReq?vxlan_id=9999(vxlan --dump 9999)

下一跳为114:找到NhListReq=114

进入其对应的vrf:

查看L2index:找到VM2对应的mac:

NhListReq=97:

报文接口VM2的网卡,完毕.

 

 

转载地址:https://blog.csdn.net/wellsmith/article/details/90547782 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:OpenVswitch
下一篇:git常用命令及用法

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年03月20日 17时38分26秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章