基于OpenDaylight以及Postman实现的VxLAN网络 | SDNLAB | 专注网络创新技术
SDN SD-WAN DPU NFV Cloud Edge Computing 5G IoT AI Network Security
基于OpenDaylight以及Postman实现的VxLAN网络

1 实验目的

熟悉Postman的使用;
熟悉如何使用OpenDaylight通过Postman下发流表,建立VxLAN隧道,实现通信。

2 实验原理

VXLAN 是Virtual eXtensible LANs 的缩写,它是对VLAN的一个扩展,是非常新的一个 tunnel 技术,在Open vSwitch中应用也非常多。Linux 内核的upstream中也刚刚加入 VXLAN的实现。相比GRE tunnel 它有着很好的扩展性,同时解决了很多其它问题。

Postman插件充当着交互方式的“桥梁”,它可以利用Chrome插件的形式把各种模拟用户HTTP请求的数据发送到服务器,以便开发人员能够及时地作出正确的响应。

3 实验任务

本实验通过OpenDaylight及Postman下发关于VxLAN的流表,实现相同网段内的设备通信。实验拓扑如下:

基于OpenDaylight以及Postman实现的VxLAN网络 图1

4 实验步骤

4.1 搭建环境

步骤1:创建虚网:1 在首页单击“创建虚网”,本次实验虚网名为“Slice5”,虚网名只能包括数字、字母和下划线。

基于OpenDaylight以及Postman实现的VxLAN网络 图2

2 单击“下一步”,选择网络拓扑,再单击“下一步”,确认虚网清单。

基于OpenDaylight以及Postman实现的VxLAN网络 图3

3 单击“创建”,成功创建虚网。

基于OpenDaylight以及Postman实现的VxLAN网络 图4

步骤2:添加控制器
1 单击虚网名(这里是“Slice5”),进入“虚网详情”页。
2 单击“控制器”部分的“Firewall REST API实验 图24”按钮,请根据实际情况选择控制器。由于启动虚网必须要创建一个控制器,此处的控制器选择不影响实验结果(这里选择的是Floodlight控制器),接着按照提示直到创建成功。

步骤3:添加网关
单击“网关”部分的"Firewall REST API实验 图24"按钮,添加网关。

步骤4:创建虚拟机
本实验需要创建三个虚拟机,这里分别取名odl、mininet1、mininet2。虚拟机odl选择OpenDaylight镜像作为控制器,虚拟机mininet1和mininet2选择Mininet镜像作为所需的Mininet(注意:odl的内存大于4G。这里odl选择了2核,6G;mininet1和mininet2选择了1核,1G)。由于实验基于OpenDaylight锂版本和Postman,所以请按照如下显示进行镜像选择:
虚拟机odl选择的镜像:

基于OpenDaylight以及Postman实现的VxLAN网络 图5

虚拟机mininet1和mininet2选择的镜像:

基于OpenDaylight以及Postman实现的VxLAN网络 图6

创建成功后的虚网详情:

基于OpenDaylight以及Postman实现的VxLAN网络 图7

步骤5:启动虚网、网关和虚拟机
1 单击页面右上角的“Firewall REST API实验 图12”按钮,启动虚网,虚网启动成功后,控制器也会启动成功。
2 单击“网关”部分的“Firewall REST API实验 图12”按钮,启动网关。
3 选择“虚拟机”部分创建好的三台虚拟机,单击“Firewall REST API实验 图12”按钮启动。

4.2 配置环境

步骤1:查看mininet1和mininet2的IP信息
mininet1:

基于OpenDaylight以及Postman实现的VxLAN网络 图8

mininet2:

基于OpenDaylight以及Postman实现的VxLAN网络 图9

步骤2:验证OvS已经启动

基于OpenDaylight以及Postman实现的VxLAN网络 图10

步骤3:分别在mininet1和mininet2上创建网桥br0(数据平面)、br1(控制平面),并且将端口eth0挂到br1上。

步骤4:在虚拟机mininet1上将eth0的IP赋给br1;给br1重新添加路由;给br0赋予IP(这里设置为40.0.0.1)

基于OpenDaylight以及Postman实现的VxLAN网络 图11.

mininet1的路由如下:

基于OpenDaylight以及Postman实现的VxLAN网络 图12

查看交换机信息:

基于OpenDaylight以及Postman实现的VxLAN网络 图13

步骤5:在虚拟机mininet2上将eth0的IP赋给br1;给br1重新添加路由;给br0赋予IP(这里设置为40.0.0.2)

基于OpenDaylight以及Postman实现的VxLAN网络 图14

mininet2的路由如下:

基于OpenDaylight以及Postman实现的VxLAN网络 图15

查看交换机信息:

基于OpenDaylight以及Postman实现的VxLAN网络 图16

4.3 验证目前的通信情况

步骤1:验证mininet1的br1和mininet2的br1是通信的

基于OpenDaylight以及Postman实现的VxLAN网络 图17

步骤2:验证mininet1的br0和mininet2的br0是不能进行通信的

基于OpenDaylight以及Postman实现的VxLAN网络 图18

4.4 进行VxLAN设置,实现同一网段的通信

步骤1:给OpenDaylight安装组件,为Postman通过ovsdb下发流表作准备

步骤2:分别在mininet1和mininet2上手动设置manager,两个网桥自动与控制器相连。

mininet1:

基于OpenDaylight以及Postman实现的VxLAN网络 图19

mininet2:

基于OpenDaylight以及Postman实现的VxLAN网络 图20

步骤3:利用Postman下发流表信息,实现VxLAN网络
1获取节点信息。
GET http://20.0.4.37:8282/ovsdb/nb/v3/node

Header Value
Authorization Basic YWRtaW46YWRtaW4=
基于OpenDaylight以及Postman实现的VxLAN网络 图21

2 获取网桥的uuid,并且找到br0的uuid,在创建VxLAN端口的时候需要用到。
GET http:// 20.0.4.37:8282/ovsdb/nb/v2/node/OVS/20.0.4.35:60079/tables/bridge/rows/

Header Value
Authorization Basic YWRtaW46YWRtaW4=
基于OpenDaylight以及Postman实现的VxLAN网络 图22

GET http:// 20.0.4.37:8282/ovsdb/nb/v2/node/OVS/20.0.4.36:51067/tables/bridge/rows/

Header Value
Authorization Basic YWRtaW46YWRtaW4=
基于OpenDaylight以及Postman实现的VxLAN网络 图23

3 创建VxLAN端口(这里名为vtep)。
POST http:// 20.0.4.37:8282/ovsdb/nb/v2/node/OVS/20.0.4.35:60079/tables/port/rows

Header Value
Content-Type application/json

Body信息看下图(注意大小写),其中uuid就是上一步中获取的br0的uuid。

基于OpenDaylight以及Postman实现的VxLAN网络 图24

POST http:// 20.0.4.37:8282/ovsdb/nb/v2/node/OVS/20.0.4.36:51067/tables/port/rows

Header Value
Content-Type application/json
基于OpenDaylight以及Postman实现的VxLAN网络 图25

4获取VxLAN端口下自动生成的名为vtep的interface的uuid,下面更新接口的时候要用到。
GET http:// 20.0.4.37:8282/ovsdb/nb/v2/node/OVS/20.0.4.35:60079/tables/interface/rows/

Header Value
Authorization Basic YWRtaW46YWRtaW4=
基于OpenDaylight以及Postman实现的VxLAN网络 图26

GET http:// 20.0.4.37:8282/ovsdb/nb/v2/node/OVS/20.0.4.36:51067/tables/interface/rows/

Header Value
Authorization Basic YWRtaW46YWRtaW4=
基于OpenDaylight以及Postman实现的VxLAN网络 图27

5 更新VxLAN接口。
PUT http://20.0.4.37:8282/ovsdb/nb/v2/node/OVS/20.0.4.35:60079/tables/interface/rows/18c5e03c-6e08-401b-b3f2-ac92658f0fc1

Header Value
Content-Type application/json
Authorization Basic YWRtaW46YWRtaW4=

Body信息请看下图。

基于OpenDaylight以及Postman实现的VxLAN网络 图28

PUT http://20.0.4.37:8282/ovsdb/nb/v2/node/OVS/20.0.4.36:51067/tables/interface/rows/386c4610-4dad-4c21-9152-1557abac2e4a

Header Value
Content-Type application/json
Authorization Basic YWRtaW46YWRtaW4=
基于OpenDaylight以及Postman实现的VxLAN网络 图29

6 分别查看mininet1和mininet2上交换机信息,VxLAN隧道已经创建好。
mininet1:

基于OpenDaylight以及Postman实现的VxLAN网络 图30

mininet2:

基于OpenDaylight以及Postman实现的VxLAN网络 图31

7 将网桥与控制器断连。

基于OpenDaylight以及Postman实现的VxLAN网络 图32

8 再次分别查看mininet1和mininet2上交换机信息。
mininet1:

基于OpenDaylight以及Postman实现的VxLAN网络 图33

mininet2:

基于OpenDaylight以及Postman实现的VxLAN网络 图34

9 验证mininet1的br0和mininet2的br0能够通信。

基于OpenDaylight以及Postman实现的VxLAN网络 图35

Wireshark抓包截图如下:

基于OpenDaylight以及Postman实现的VxLAN网络 图36

5 实验结论

本实验基于OpenDaylight,通过Postman下发流表,实现VxLAN网络进行通信。

weibo

微信公众号:搜索"SDNLAB"
或扫描上面的二维码。

Andretoto Andretoto Atatoto Atatoto Situs Toto Slot Thailand Toto Slot