Open vSwitch系列实验(三):Open vSwitch的VxLAN隧道网络实验
1 实验目的
该实验通过Open vSwitch构建Overlay的VxLAN网络,更直观的展现VxLAN的优势。在实验过程中,可以了解如何建立VxLAN隧道并进行配置,并实现相同网段和不同网段之间的通信。
2 实验原理
VxLAN 是 Virtual eXtensible LANs 的缩写,它是对 VLAN 的一个扩展,是非常新的一个 tunnel 技术,在Open vSwitch中应用也非常多。Linux 内核的 upstream 中也刚刚加入 VXLAN 的实现。相比 GRE tunnel 它有着很好的扩展性,同时解决了很多其它问题。
从数量上讲,它把 12 bit 的 VLAN tag 扩展成了 24 bit。从实现上讲,它是 L2 over UDP,它利用了UDP 同时也是 IPv4 的单播和多播,可以跨 L3 边界,很巧妙地解决了 GRE tunnel 和 VLAN 存在的不足,让组网变得更加灵活。
3 实验任务
基于Open vSwitch的VxLAN隧道,实现了相同和不同网段内设备的通信,启动OpenvSwitch服务,创建VxLAN隧道,本实验主要是通过在OpenvSwitch上手动命令操作设置连接VxLAN来实现相同和不同网段的通信;

因实验平台中在虚拟机中没有创建数据层面下的虚拟机,如图中的VM1、VM2,所以通过在数据层面Br0上实现不同网段通信,以达到和VM1、VM2相同和不同网段通信的目的。此实验将创建两个网桥,一个作为控制层面,如包含eth0端口的Br1;一个作为数据层面,如Br0,两台Mininet虚拟机的Br0在实验中分别属于相同和不同的网段。
首先先对Vxlan有一个了解:
https://blog.csdn.net/zhipingxi/article/details/78741942
网段的定义:
通常使用同一物理层的设备之间必然通过相同的传输介质直接相互连接,(如交叉双绞线直接连接的两台主机),但是两组其传输介质并非直接相连的网络设备,如果它们的传输介质通过工作在物理层的扩展设备如中继器和集线器等转接连接,则仍然被视为同一物理层中的设备,是一个而非两个网段。另外,工作在数据链路层或更高层的设备如网桥、交换机、路由器等等,由它们连接起来的两组设备仍然分别处于各自独立的物理层,因此是两个网段。
网桥实现两个网段的桥接功能,同时也起到重发器的作用,即延长线路距离及信号再生和转发。交换机原理上也工作在数据链路层,可实现多个网段的信息交换,网桥和交换机可以隔离两个网段,可以防止在某一个网段的数据被无条件地广播到另一网段,这是因为网桥接到数据帧后,判断接收到的数据帧目的地址是否和源地址在同一网段,是的话,就不再转发。交换机被称为多端口网桥,交换机的每个端口可以连接一个网段。 [1]
前面所讨论的学术定义是“网段”在物理层的严格定义,“网段”还有一些不严格的含义,比如指代以太网上的一个广播域,这是数据链路层上一个独立的内部相互作用区域。
4.1 预先配置好两个虚拟机
4.1.1 ifconfig
4.1.2 分别在两台机器上创建网桥
ovs-vsctl add-br br0 #数据层面 ovs-vsctl add-br br1 #控制层面
4.1.3 将ens33的IP赋予给这个网桥br1
ifconfig ens33 0 up ifconfig br1 20.0.4.196/29 up
4.1.4 给mn虚拟机的br1重新添加路由并添加端口ens33
route add default gw 20.0.4.193
ovs-vsctl add-port br1 ens33
另一台虚拟机也是如此:
ovs-vsctl add-br br0 ovs-vsctl add-br br1 ifconfig ens33 0 up ifconfig br1 20.0.4.195/29 up route add default gw 20.0.4.193 ovs-vsctl add-port br1 ens33 ovs-vsctl show
4.2 设置VxLAN实现同一网段的通信
4.2.1 给两台虚拟机上的br0配置一个IP
ifconfig br0 30.0.0.2/8 up #第一个虚拟机 ifconfig br0 30.0.0.3/8 up #第二个虚拟机
可发现两个的br1是可以ping通的:
而一号机ping二号机的br0是不通的:
4.2.2 开通Vxlan隧道
我们需要搭建一个隧道让两机的br0连接起来这样就可以ping通啦(如下:第一行是一号机第二行是二号机)
ovs-vsctl add-port br0 vx1 -- set interface vx1 type=vxlan options:remote_ip=20.0.4.195 ovs-vsctl add-port br0 vx1 -- set interface vx1 type=vxlan options:remote_ip=20.0.4.196
两机互ping:
抓包测试:
sudo tcpdump -i ens33
4.4 设置VxLAN实现不同网段的通信
重新设置两机的br0的地址:
ifconfig br0 30.0.0.1/8 up ifconfig br0 40.0.0.1/8 up
然后设置静态路由:
route add –net 40.0.0.0 netmask 255.0.0.0 gw 30.0.0.1 dev br0 route add –net 30.0.0.0 netmask 255.0.0.0 gw 40.0.0.1 dev br0
HOWEVER设置静态路由的时候出了点小问题导致无法ping通
总结:了解了对网段,网关,网桥还有Vxlan隧道的概念
Open vSwitch系列实验(三):Open vSwitch的VxLAN隧道网络实验的更多相关文章
- 20155229实验三 《Java面向对象程序设计实验三 敏捷开发与XP实践 》实验报告
实验题目 1.在IDEA中使用工具(Code->Reformate Code)把下面代码重新格式化,再研究一下Code菜单,找出一项让自己感觉最好用的功能. 2.下载搭档实验二的Complex代 ...
- [原] 利用 OVS 建立 VxLAN 虚拟网络实验
OVS 配置 VxLAN HOST A ------------------------------------------ | zh-veth0(10.1.1.1) VM A | | ---|--- ...
- 学号 20175313 《实验三 敏捷开发与XP实践》实验报告
目录 实验三 敏捷开发与XP实践 一.实验内容 二.实验步骤 四.心得体会 五.码云链接 六.参考资料 实验三 敏捷开发与XP实践 一.实验内容 (1)编码标准 在IDEA中使用工具(Code-> ...
- 20175211 《实验三 敏捷开发与XP实践》实验报告
目录 一.实验内容 二.实验步骤 四.实验过程中遇到的问题及其解决方法 五.心得体会 六.码云链接 七.结对成员链接 八.参考资料 一.实验内容 (1)编码标准 (2)Git的使用 (3)重构 (4) ...
- 20145302张薇《Java程序设计》实验三报告
20145302张薇<Java程序设计>实验三:敏捷开发与XP实践 实验内容 使用git上传代码 使用git实现代码开发实践 实现代码的重载 使用git上传代码 git init git ...
- 20165220 实验三 敏捷开发与XP实践 实验报告
实验三 敏捷开发与XP实践-1 实验要求: 实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA ...
- 2017-2018-2 20165303 实验三《Java面向对象程序设计》实验报告
实验三 敏捷开发与XP实践-1 实验要求 实验三 敏捷开发与XP实践 http://www.cnblogs.com/rocedu/p/4795776.html, Eclipse的内容替换成IDEA 参 ...
- 2018-2019-2 20175230 实验三《Java面向对象程序设计》实验报告
目录 实验三 实验三 敏捷开发与XP实践 实验内容 实验要求 实验步骤 (一) 编码标准 (二)敏捷开发与XP (三)敏捷开发与XP 实验体会 实验三 实验三 敏捷开发与XP实践 实验内容 1.XP基 ...
- 20165227 实验三《敏捷开发与XP实践》实验报告
2017-2018-4 20165227 实验三<敏捷开发与XP实践>实验报告 实验内容 1.XP基础 2.XP核心实践 3.相关工具 实验要求 1.没有Linux基础的同学建议先学习&l ...
随机推荐
- 详解html中的marquee属性
转自:https://www.jb51.net/web/531309.html 该标签不是HTML3.2的一部分,并且只支持MSIE3以后内核,所以如果你使用非IE内核浏览器(如:Netscape)可 ...
- wireshark分析https数据包解密前后的特点
wireshark分析https数据包解密前后的特点 (一)https解密前 1.协议种类:2种(1)TCP(第四层,传输层)(2)SSL/TLS(第五层,应用层,加解密)2.应用层数据所在数据包特点 ...
- nginx 高并发配置参数
一.一般来说nginx 配置文件中对优化比较有作用的为以下几项: 1. worker_processes 8; nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数 (如,2个四核的cpu ...
- Android笔记(六十九) 仿微信界面(一)
综合之前的Fragment和自定义组件的知识,实现微信界面 MainActivity.java package cn.lixyz.test; import android.app.Acti ...
- Kubernetes-Istio之Sidecar自动注入
前提: (官方提供) 1):确认使用的是Kubernetes服务器的受支持版本( 1.13.1.14.1.15):kubectl (官方提供,应该是1.13版本以上,我的是1.16版本) kubect ...
- 关于winsxs目录的处理
参考文档: 1.http://www.360doc.com/content/14/0415/12/7873863_369147503.shtml 2.http://www.360doc.com/con ...
- 调试freeradius 3.0 与microsoft AD通过LDAP认证的笔记
首先来参考文章: a.https://blog.51cto.com/liqingbiao/2146832?utm_source=oschina-app 这个主要参考了基本安装.配置.测试 b.http ...
- CentOS7安装与优化
原文地址:https://www.cnblogs.com/blsnt/p/9556946.html
- mysql 端口号被占用
开始-运行-cmd, 输入 netstat -ano, 看第一列,后面的就是端口,找到3306 ,记住对应的PID!! 然后打开任务管理器 查看 -> 选择列 -> 勾上 PID(进 ...
- c99的新功能
在ANSI的标准确立后,C语言的规范在一段时间内没有大的变动,然而C++在自己的标准化创建过程中继续发展壮大.<标准修正案一>在1994年为C语言创建了一个新标准,但是只修正了一些C89标 ...