VxLAN实验 -- 相同网段的网络通信

目的

  • 基于VxLAN,实现同一网段下,跨主机节点的网络通信

实验环境

  • 三台虚拟机192.168.1.59/24 、 192.168.1.183/24 、192.168.1.192/24

相关脚本

创建一个VxLAN的环境 net.sh


#!/bin/sh



brctl addbr br-zou

ip link add zouveth0 type veth peer name zouveth1

brctl addif br-zou zouveth0

ip link add vxlan-10 type vxlan id 10 group 239.1.1.1 local 192.168.1.59 dev eth1 dstport 8472

brctl addif br-zou vxlan-10



ip link set dev zouveth0 up

ip link set dev br-zou up

ip link set dev vxlan-10 up





ip netns add zou

ip link set zouveth1 netns zou

ip netns exec zou ip link set dev zouveth1 up

ip netns exec zou ip link set dev lo up

ip netns exec zou ip addr add 10.1.0.1/24 dev zouveth1

删除环境 del.sh


#!/bin/sh

ip link set br-zou down

ip link del br-zou

ip link del vxlan-10

ip netns del zou

网络效果拓扑

  1. vxlan的网络基于eth0接口,基于239.1.1.1的组播地址,端口号为8472
  2. 新建了一个namesapce zou
  3. 在namespace中配置了对应的IP地址

IP - MAC

node IP MAC
VM1 10.1.0.1/24 4e:2f:ec:f8:d4:9f
VM2 10.1.0.2/24 26:bd:ea:f7:40:41

VM1:

VM2:

实验

使用VM1 VM2进行测试

刚开始 arp 地址表、转发表都为空

VM1:

VM2:

在VM1上 ip netns exec zou ping 10.1.0.2

  • ① ARP Request/Reply报文, 获取10.1.0.2的mac地址。报文特点:ARP request报文目标地址为广播地址,ARP Reply报文目标地址为单播
  • ② 经过vxlan封装的 ARP Request/Reply 报文。 报文特点:ARP request报文为组播报文,ARP Reply报文为单播报文。 vxlan会将广播请求,封装成组播进行发送,同时会更新 vxlan对应的转发表
  • ③ 原始的ICMP Request/ Reply报文
  • ④ 经过 vxlan封装的ICMP Request/ Reply报文

  • 通过前面ARP 报文的交互过程,在本机的转发表中会更新一条记录

  • vxlan-10 上的报文,如果目标mac地址是 26:bd:ea:f7:40:41的,都会封装成VxLAN报文,且目标IP地址为192.168.1.183
  • vxlan-10 上的报文,如果目标mac地址不在转发表中,就会发送组播报文

你可能感兴趣的:(networks)