失效链接处理 |
OpenStack学习系列之七:单个计算节点上的虚拟机网络通信 PDF 下载
本站整理下载:
相关截图:
主要内容:
端口【LOCAL(br-int)】是br-int 网桥的内部端口,可暂时不用理会。端口【4(patch-tun)】是br-int 网桥的固定端口,也可不用理会。 如果仔细观察剩下的5 个端口的addr 地址,那么你会惊奇的发现这5 个addr 地址实际上分成两组:5a:6c:b4:2f:86:b5 与 22:01:00:00:00:00,笔者尚不清楚为什么会是这样的,但是笔者大胆猜测这两组addr 地址至少可以用来区分vlan tag,每一个vlan tag 服务于一个网络(是网络不是子网),提供网关和dhcp 的服务。当然,这里的addr 究竟是何意,需要以后的深入研究。 2. 再来研究br-int 网桥上的vlan-tag 信息。虽然系统里面并没有虚拟机,但是网络节点上的br-int 网桥是有vlan-tag 的,因为笔者 建立了如图-2 所示的网络拓扑,且网络节点上存在命名空间。执行命令ovs-vsctl show,运行结果如下: 图-8 网络节点br-int 网桥的vlan-tag 上面的截图并不是完整的,但足以说明问题,即br-int 网桥上存在两个vlan-tag,分别是'1' 和'2'。这两个vlan-tag 分别服务于两个网 络demo-net1 与demo-net2,服务的内容当然是1.1.1 小节与1.1.2 小节描述的命名空间提供的内容。通过vlan-tag 的划分,将两个 网络的业务数据在br-int 网桥上成功实现了隔离。 可以想见,通过patch-tun 端口进入br-int 网桥的数据必然要被打上vlan-tag 的标签,以决定这个数据是送到哪个正确的命名空间, 而通过patch-tun 端口流出br-int 网桥的数据一样要打上vlan-tag 标签,这样br-tun 网桥里的流表就可以决定将这些数据送往哪个正 确的隧道(即添加隧道ID),让其发送到相应的计算节点。 3. 再来看看br-int 网桥上的流表信息,执行命令ovs-ofctl dump-flows br-int,运行结果如下所示: [root@network ~]# ovs-ofctl dump-flows br-int NXST_FLOWreply(xid=0x4): cookie=0x0, duration=152787.357s, table=0, n_packets=9219, n_bytes=672946, idle_age=65534, hard_age=65534, priority=1 actions=NORMAL cookie=0x0, duration=152787.332s, table=22, n_packets=0, n_bytes=0, idle_age=65534, hard_age=65534, priority=0 actions=drop 可以看到br-int 网桥上并没有什么值得细究的流表规则,对于actions 是NORMAL 的规则,可以看看老外是怎么描述的:Flows with an action of NORMALinstruct Open vSwitch to act as a learning switch, which meanstraffic will be forwarded out all ports until the switch learns and updatesitsFDB table, or forwarding database. The FDB table isthe equivalent of a CAM or MAC addresstable. This behavior issimilar to that of a hardware switch that floodstraffic out to all ports until it learnsthe proper path. 1.1.4、网络节点之 br-tun 网桥的初始化信息 1. 从图-1 可以知道,网桥br-tun 上只存在两个端口。执行命令ovs-ofctl show br-tun,运行结果如下图所示: 图-9 网络节点br-tun 网桥的端口信息 端口【LOCAL(br-tun)】是br-tun 网桥的内部端口,此处略过不表。端口【1(patch-int)】的编号是1,对应图-1 当中的'I' 口;端口
【2(gre-0a1d0071)】的编号是2,对应图-1 中的'H' 口。图-9 中的端口2 是GRE 的隧道端口,它与网络节点的物理网卡eth1 紧密相 联,即来自于命名空间或外部世界的发送到计算节点的数据包都要走这个隧道端口,通过网络节点的物理网卡eth1 发送出去。 2. 现在来看br-tun 网桥上的流表信息,执行命令ovs-ofctl dump-flows br-int,运行结果如下: [root@network ~]# ovs-ofctl dump-flows br-tun NXST_FLOWreply(xid=0x4): cookie=0x0, duration=157778.621s, table=0, n_packets=6, n_bytes=468, idle_age=65534, hard_age=65534, priority=0 actions=drop cookie=0x0, duration=157778.646s, table=0, n_packets=5763, n_bytes=400923, idle_age=65534, hard_age=65534, priority=1,in_port=1 actions=resubmit(,1) cookie=0x0, duration=157777.130s, table=0, n_packets=3308, n_bytes=253253, idle_age=65534, hard_age=65534, priority=1,in_port=2 actions=resubmit(,2) cookie=0x0, duration=157778.570s, table=1, n_packets=464, n_bytes=20928, idle_age=65534, hard_age=65534, priority=1,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,21) cookie=0x0, duration=157778.596s, table=1, n_packets=5299, n_bytes=379995, idle_age=65534, hard_age=65534, priority=1,dl_dst=00:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,20) cookie=0x0, duration=157778.545s, table=2, n_packets=10, n_bytes=740, idle_age=65534, hard_age=65534, priority=0 actions=drop cookie=0x0, duration=157768.864s, table=2, n_packets=3181, n_bytes=241220, idle_age=65534, hard_age=65534, priority=1,tun_id=0x2 actions=mod_vlan_vid:1,resubmit(,10) cookie=0x0, duration=149975.371s, table=2, n_packets=117, n_bytes=11293, idle_age=65534, hard_age=65534, priority=1,tun_id=0x3 actions=mod_vlan_vid:2,resubmit(,10) cookie=0x0, duration=157778.520s, table=3, n_packets=0, n_bytes=0, idle_age=65534, hard_age=65534, priority=0 actions=drop cookie=0x0, duration=157778.494s, table=10, n_packets=3298, n_bytes=252513, idle_age=65534, hard_age=65534, priority=1 actions=learn(table=20,hard_timeout=300,priority=1,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load: 0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],output:NXM_OF_IN_PORT[]),output:1 cookie=0x0, duration=157778.470s, table=20, n_packets=0, n_bytes=0, idle_age=65534, hard_age=65534, priority=0 actions=resubmit(,21) cookie=0x0, duration=157778.445s, table=21, n_packets=43, n_bytes=2710, idle_age=65534, hard_age=65534, priority=0 actions=drop cookie=0x0, duration=149975.395s, table=21, n_packets=9, n_bytes=678, idle_age=65534, hard_age=65534, dl_vlan=2 actions=strip_vlan,set_tunnel:0x3,output:2 cookie=0x0, duration=157768.890s, table=21, n_packets=412, n_bytes=17540, idle_age=65534, hard_age=65534, dl_vlan=1 actions=strip_vlan,set_tunnel:0x2,output:2
|