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 ...
随机推荐
- 【大数据技术能力提升_2】numpy学习
numpy学习 标签(空格分隔): numpy python 数据类型 5种类型:布尔值(bool),整数(int),无符号整数(uint).浮点(float).复数(complex) 支持的原始类型 ...
- 码云和Git使用说明
Git下载网站: https://git-scm.com/download/win 码云网站 :https://gitee.com 下载Git,并一路下一步安装. 鼠标空白处右键点击,出现两个 ...
- 将Maven项目部署云服务器流程
1.数据库分离,存入项目: 2.将分离出的数据库导入云端服务器 将sql文件上传到服务器中 进去云端数据库输入命令:source 云服务器中sql文件地址 3.设置两种配置,修改匹配: 4.mave ...
- [archlinux][tls] archlinux下使curl支持sslv3的方法
描述 在archlinux下,希望使用curl产生一条使用sslv3的https访问请求. 使用curl的如下命令: curl -k -vvv --sslv3 https://192.168.7.9: ...
- ISCC之msc4
一开始拿到题目的时候有点懵的,给个gif图片,233 常规分析,gif打开看一看,发现gif是多张图片组成,于是用fastStone Image viewer分解成九张图片 后面用PS拼起来,得到一个 ...
- 从零开始配置MacBook Pro
购买macbook, 是因为它的效率性.由于我第一次使用macbook,所以按照我开发的习惯和参照了其他人的文章进行配置我的个人mac,希望我的设置对你们也有所帮助 1.基本配置 查找我的Mac 系统 ...
- java计算两个经纬度之间的距离
/** * 计算点 是否在一个固定点的半径范围内 * @2016年10月20日 * @param a 经度1 已知 * @param b 纬度1 已知 * @param x 经度2 * @param ...
- elementui 多组件表单验证
最近在做管理后台,vue2.0基于elementui框架进行开发. elementui的api中表单验证都是单个vue文件的验证.而我的保存按钮放在了父组件了,验证对象为三个子组件我的灵机一动 想 ...
- Spring -07 -AOP [面向切面编程] - 使用注解@+ AspectJ 方式实现环绕/前/后等通知 -超简洁 --静态代理/动态代理{JDK/cglib}
1.spring 不会自动去寻找注解,必须告诉 spring 哪些包下的类中可能有注解;使用注解来取代配置文件.1.1 引入xmlns:context ,指定扫描范围 <context:comp ...
- LGOJP1941 飞扬的小鸟
题目链接 题目链接 题解 \(f[i][j]\)表示位置\((i,j)\)到达需要的最小点击数. \(f[i][j]=\min\{{f[i-1][j-kx]+k},f[i-1][j+y]\}\) \( ...