1 引言

积跬步以至千里,积怠情以至深渊。

在本人博客SDN(一)中已经详细介绍了如何将TP-LINK TL-MR3420路由器刷成OpenFlow交换机,该无线路由器已具备支持SDN功能。本文将继续介绍并记录近期开展SDN实验的总结,本文主要介绍对OpenFlow交换机进行的相关配置,包括局域网端口配置、VLAN划分、无线端口配置、OpenFlow协议配置等。

2 配置须知

2.1 路由器接口介绍

官网给出了路由器设备内部构造图,介绍了基本接口。常见的无线路由器一般都有一个WAN口,也就是连接到外部网络的接口,其余2-4个口为LAN口,用来连接普通局域网,内部有一个网络交换机芯片,专门处理LAN接口之间的信息交换。通常无线路由的WAN口和LAN之间的路由工作模式一般都采用NAT方式。

这里简单介绍什么是NAT,NAT为私有网络服务,该网络中的主机使用私有IP地址,当私有网络内部的主机与外部Internet通信时,网关路由器负责将私有IP地址转换为全球IP地址,以便取得通信。

要了解交换机接口相关信息,需要使用到swconfig配置命令,使用该命令查看TL-MR3420接口信息如下图所示,eth0一共有5个接口,Port 0为CPU所用,当前状态为up开启状态;其余四个接口用于连接外部设备,为有线接口Port1~Port4。其中由于正在连接测试,Port1状态为up开启状态,其余三个接口为down未连接状态。

2.2 待配置文件介绍

要配置的文件有三个,分别是network,openflow,以及wireless,它们都位于路由器的/etc/config目录下。openflow文件初始都一样,wireless基本也大同小异,这两个文件非常容易配置(若需要用OpenFlow管理无线网络的话,还需要配置/etc/config/wireless)。比较困难的是network文件,不同路由器之间可能差别比较大。

network文件

network文件内容如下图所示,其中各个部分表示为:

  • 7表示创建一个vlan,option vlan ‘1’和option ports ‘0 1 2 3 4’
    这两句,是说创建的vlan编号为1,路由器的端口0、1、2、3、4这个vlan中;
  • 3中的option ifname ‘eth0’ 即是说,当前eth0网卡下的几个端口处于同一个vlan配置的属性,所以目前每一个端口1、2、3、4任意一个接口接上网线都可以访问内网192.168.1.1。可用eth0.X表示vlanX,即端口X;
  • 4中的option ifname ‘eth1’是说4这一部分配置的是wan的属性。

openflow文件

这个文件相较于network简单多了,其中dpid就是一个编号,在网络中只有一个openflow路由器时不用修改;ofports即是需要用openflow功能管理的vlan;ofctl是SDN控制器的相关信息;mode是openflow协议的工作方式,有inband模式和outoband模式,在inband模式下,控制器与openflow交换机连接的网口既可以有控制流量,又可以有数据流量。而outoband模式下,控制器与openflow交换机连接的网口只能有控制流量。

wireless文件

修改/etc/config/wireless,将option disable 1为关闭路由器无线功能,option disable 0为开启路由器无线功能

3 MR3420对应文件配置

3.1 /etc/config/network文件

config interface 用来配置局域网端口。eth0.1用来连接内网,也可以用来连接控制器,只要设置控制器IP地址与网关;其余端口用于连接主机。

config interface 'loopback'option ifname 'lo'option proto 'static'option ipaddr '127.0.0.1'option netmask '255.0.0.0'config globals 'globals'option ula_prefix 'fd84:aa1a:857d::/48'config interface 'lan'option ifname 'eth0.1'option force_link '1'option type 'bridge'option proto 'static'option ipaddr '192.168.1.1'option netmask '255.255.255.0'option ip6assign '60'config interface 'wan'                option ifname 'eth1'        option proto 'dhcp'                    config interface 'wan6'             option ifname 'eth1'                   option proto 'dhcpv6'         config interface                option ifname 'eth0.2'        option proto 'static'       config interface                      option ifname 'eth0.3'      option proto 'static'      config interface                option ifname 'eth0.4'        option proto 'static' config switch                                  option name 'switch0'         option reset '1'                       option enable_vlan '1'  config switch_vlan                  option device 'switch0' option vlan '1'               option vid '1'              option ports '0t 1'        config switch_vlan              option device 'switch0'       option vlan '2'       option vid '2'         option ports '0t 2'config switch_vlan                  option device 'switch0' option vlan '3'               option vid '3'              option ports '0t 3'        config switch_vlan              option device 'switch0'       option vlan '4'        option vid '4'         option ports '0t 4'

config switch_vlan为配置局域网Vlan端口。Vlan划分的端口中0t代表MR3420型号的cpu,不同路由之间不同,可以用swconfig命令查看,拔掉所有的端口后仍然显示连接的就是cpu端口。

划分完后,重启网络,然后再次查看eth0信息,看是否划分正确。

/etc/init.d/network restart

3.2 /etc/config/wireless文件

把wifi-iface里的option network lan这行去掉就行,这样连接wifi时就不会与eth0,1(lan接口)处于同一个子网,用在转发层而不是控制层。wifi-device的名字原本为radio0,有些型号的路由器这里必须为wlan0否则无法用OpenFlow管理wifi。

config wifi-device  wlan0option type     mac80211option channel  11option hwmode   11goption path     'pci0000:00/0000:00:00.0'option htmode   HT20# REMOVE THIS LINE TO ENABLE WIFI:option disabled 0config wifi-ifaceoption device   wlan0option mode     apoption ssid     MR3420_OpenWRToption encryption none

3.3 /etc/config/openflow文件

要修改两个地方,第一个是ofctl选项里要填上控制器正确的ip地址,可以用网线连接主机和端口1,在linux主机上用ifconfig命令来查看分配到的ip地址。第二个是ofports选项,填上所有用作openflow交换机端口。

config 'ofswitch'option 'dp' 'dp0'option 'dpid' '000000000001'option 'ofports' 'wlan0 eth0.2 eth0.3 eth0.4 eth1'option 'ofctl' 'tcp:192.168.1.10:6633'option 'mode'  'outofband'

4 测试

4.1 RYU控制器验证

在Ubuntu上使用RYU控制器进行验证,若运行控制器后没有出错,则证明已连接上控制器。首先随机选择一个控制器的脚本进行运行

ryu-manager simple_switch_13.py

运行成功后,显示结果如下

接着,需要开启OpenFlow功能,但开启时时需要运行/etc/functions.sh文件,而/etc下没有该文件,所以要将/lib/functions.sh复制到/etc下,运行如下命令:

cp /lib/functions.sh /etc

重启路由器后,通过以下命令开和关闭openflow功能

/etc/init.d/openflow start
/etc/init.d/openflow stop

开启路由器的OpenFlow功能后,显示结果如下图,已成功连接上控制器,证明配置成功,接下来即可验证控制器的各种功能了。祝好运!

4.2 POX控制器验证

POX控制器当前仅支持到OpenFlow1.0版本,而我们的OpenFlow交换机为1.3版本。为验证POX控制器的不适用,进行实验结果如下图所示。

4.3 其他验证

除了使用TL-MR3420型号的OpenFlow交换机进行实验外,本文还进行了一些其他机器的实验,和以上内容没有太大关联。
RYU控制器与OpenFlow1.0版本的路由器:

SDN(二) 对TP-LINK TL-MR3420型号的OpenFlow交换机进行配置相关推荐

  1. TP LINK TL SG3452 CONSOLE 超级终端查管理IP命令

    参考命令手册:https://service.tp-link.com.cn/download/20191/TL-SG3452P%20V1.0%E5%91%BD%E4%BB%A4%E8%A1%8C%E6 ...

  2. 小白 uBuntu20.04 2 安装TP Link TL-WDN5200 无线网卡驱动 亲测有效

    小白 uBuntu20.04 2 安装TP Link TL-WDN5200 无线网卡驱动 首先我先说一下,其实网上很多都是有用的,只是安装步骤不是很详细罢了,我这个只做参考,希望能帮到你. 我朋友问我 ...

  3. 【路由器】TP Link TL-WR702N 迷你路由器为何无法进入管理后台

    TL-WR702N是TP Link在很多年前发布的一个迷你型的便携路由器,最近要搬家,我从箱子底翻出了这个小乖乖,年代有些久远,当初的账户密码全都忘到了九霄云外,无奈之下reset重新设置,但是却遇到 ...

  4. TP Link WN726N ubuntu18安装成功

    TP Link 的无线网卡确实在Ubuntu上不好使用, 这个大哥亲测了无数坑:https://blog.csdn.net/zhanghm1995/article/details/105334832 ...

  5. html link 怎么设置密码,TP-Link 无线路由器设置密码方法_设置tp link路由器的无线密码方法图解...

    下面介绍TP-Link无线路由器如何设置无线接入密码,如果您的tp link无线路由器还没有设置好上网连接的话请参考 1.登录路由器的设置界面. 打开网页浏览器,在浏览器的地址栏中输入路由器的IP地址 ...

  6. 神州云服务平台(型号:DCC-CRL1000)基本配置教学视频

    教学视频只提供网络搭建与应用技能大赛第二部分基本配置部分视频,仅供大家学习使用. 2021年全国职业院校网络搭建及应用第二部分基本配置视频 由于在线播放视频有点模糊,所以给大家提供清晰的教学视频下载链 ...

  7. 实验二十四、OSPF 在NBMA 环境中点到点的配置

    实验二十四.OSPF 在NBMA 环境中点到点的配置 一. 实验目的 1. 掌握NBMA 环境中点到点的配置 2. 理解NBMA 环境中点到点网络类型的意义 二. 应用环境 在帧中继的网络中,OSPF ...

  8. 使用O2OA二次开发搭建企业办公平台(二)平台部署篇:端口冲突和服务器端口配置

    本博客为O2OA系列教程.O2OA使用手册,教程目录和各章节天梯将在连载完后更新. 使用O2OA二次开发搭建企业办公平台(一)平台部署篇:平台下载和部署 使用O2OA二次开发搭建企业办公平台(二)平台 ...

  9. 二、读取编码器数值实现电机测速—1 、配置串口通信;

    读取编码器数值实现电机测速 电机系列 二.读取编码器数值实现电机测速 1 .配置串口通信: usart.h usart.c main.c 2 .配置编码器: 电机系列 二.读取编码器数值实现电机测速 ...

最新文章

  1. Java并发编程73道面试题及答案——稳了
  2. php树莓派养鱼,树莓派学习11: 将树莓派变成一个Web服务器
  3. 循环神经网络的数据预处理
  4. 医疗大数据处理流程_我们需要数据来大规模改善医疗流程
  5. Windows API-GDI入门基础知识详解(1)
  6. “21天好习惯“第一期-2
  7. 共享计算机扫描,windows系统下怎么共享扫描仪?
  8. Android音频系统学习二:Android音频框架
  9. 怎样用计算机算一条线的斜率,直线的斜率
  10. VMware下安装虚拟机windows server 2016
  11. Python:实现gnome sortt侏儒排序算法(附完整源码)
  12. 人工智能-自然语言处理(2)
  13. 【数据安全案例】案例汇总
  14. 小米装linux系统教程视频,小米手机 连接在Ubuntu 下调试
  15. viper4android io错误,golang常用库之配置文件解析库-viper使用详解
  16. 栅格矩阵转换成邻接矩阵G2D函数
  17. Kafka vs AMQ技术比对
  18. 数字图像处理:第十四章 图象压缩
  19. 游戏辅助教程-地址篇 CE找地址技巧 找不可见数据和可见数据技巧 教程详解 常见搜索技巧列举 CE搜索入门教程详解
  20. Mac苹果本之终端命令符操作

热门文章

  1. 第五人格玩家专业术语必知 玩家最爱人物top榜新鲜出炉!
  2. 使用EasyCAT快速开发EtherCAT从站
  3. 6张图告诉你, 区块链的未来在哪里
  4. Android使用饺子播放器播放服务器端的视频
  5. java汉字加密解密
  6. Greenplum6.x搭建_环境配置
  7. 如何做好商业画册设计
  8. 接口测试如何准备测试数据
  9. 弘辽科技:店铺没有流量如何用直通车带动自然流量。
  10. 2021年烟花爆竹经营单位安全管理人员试题及答案及烟花爆竹经营单位安全管理人员复审模拟考试