博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SDN期末作业——负载均衡
阅读量:5158 次
发布时间:2019-06-13

本文共 2312 字,大约阅读时间需要 7 分钟。

期末作业

1.负载均衡程序

2.演示视频

3.小组分工

小组:incredible five

构建拓扑:俞鋆

编写程序:陈绍纬、周龙荣

程序调试和视频录制:陈辉、林德望

4.个人工作

我是我们小组的组长,在期末作业中我主要负责任务分配,进度监督和构建拓扑,在做期末作业的过程中我们小组聚在一起开了两次会议,第一次确定要做的内容并分工,第二次将自己的部分和别人的对接。对于我负责的拓扑图的构建,我是用Python脚本生成的,我模仿了mininet的custom里的topo-2sw-2host.py文件的写法构建下图的拓扑。

1011927-20180125081325225-1441217219.png

每个主机和交换机对应的端口号我们都在第一次会议上确定了,这样对接起来更加容易。

1011927-20180125172023537-1882319340.png

代码:

from mininet.topo import Topoclass MyTopo( Topo ):    def __init__( self ):        # Initialize topology        Topo.__init__( self )        # Add hosts and switches        h1 = self.addHost( 'h1' )        h2 = self.addHost( 'h2' )        h3 = self.addHost( 'h3' )        h4 = self.addHost( 'h4' )        s1 = self.addSwitch( 's1' )        s2 = self.addSwitch( 's2' )        s3 = self.addSwitch( 's3' )        s4 = self.addSwitch( 's4' )        # Add links        self.addLink( s1, h1, 1, 0 )        self.addLink( s1, s2, 2, 1 )        self.addLink( s1, s3, 3, 1 )        self.addLink( s1, s4, 4, 1 )        self.addLink( s2, s4, 2, 2 )        self.addLink( s3, s4, 2, 3 )        self.addLink( s4, h2, 4, 0 )        self.addLink( s4, h3, 5, 0 )        self.addLink( s4, h4, 6, 0 )topos = { 'mytopo': ( lambda: MyTopo() ) }

主要是使用mininet的模块编写代码,用addSwitch、addHost和addLink函数添加交换机、主机和链路,addLink后面的两个int参数代表着对应设备的端口相连起来了,不加的话按生成的先后顺序增加。

执行程序的命令(需要先打开远程控制器):

sudo mn --custom scene2.py --topo mytopo --controller=remote --switch ovsk,protocols=OpenFlow13

执行结果:

1011927-20180125173451584-480453022.png

课程总结

上学期在选这门课的时候,我想的是能快点把学分修满,之后课就会少一点,那时候对课程一点也不了解,以为选修应该会是很轻松的。这学期我见识到的选修课和我之前想象的完全不同,每周都有作业,要写博客,再加上本来课就不少,一开始感觉很累,但当做完期末作业之后,回顾这门课,还是收获颇多的。

关于SDN

软件定义网络(SDN)是一种新型网络架构。它利用OpenFlow协议将路由器的控制平面从数据平面中分离,改以软件方式实现。该架构可使网络管理员在不更动硬件设备的前提下,以中央控制方式用程序重新规划网络,为控制网络流量提供了新方案,也为核心网络和应用创新提供了良好平台。

关于控制器

  • Ryu控制器

Ryu是日本NTT公司开发的模块化的控制器。Ryu因其架构清晰,支持OpenFlow全部版本,有社区的Plug-in集成到OpenStack,性能良好和文档齐全等优点获得了许多SDN研究者的关注。

  • Floodlight控制器

FloodLight,以其企业级别的优秀性能,开发效率更高的Java语言,模块化的设计等优点得到了喜欢Java语言的SDN研究者的青睐。

  • OpenDaylight控制器

OpenDaylight是Linux Foundation和多家网络巨头如Cisco、Juniper和Broadcom等公司一起创立的开源项目。OpenDaylight不仅仅是一个SDN控制器,它更是一个庞大的开源项目,其中包含许多子项目,而Controller只是其中的一个子项目。OpenDaylight支持多种南向协议,包括OpenFlow(支持1.0和1.3版本)、Netconf和OVSDB等,是一个广义的SDN控制平台,而不是OpenFlow系的狭义SDN控制器。

  • ONOS控制器

ONOS由On.Lab开发,是一款采用Java语言编写,采用OSGi架构,同样分布式的控制平台产品。其目标是打造一个开放的SDN网络操作系统,市场定位在运行商级别网络市场。ONOS底层模块直接借用FloodLight优秀的模块如Switch模块,不使用YANG语言建模,最新版本使用Raft作为分布式框架。

关于实践

转载于:https://www.cnblogs.com/yujohn/p/8343123.html

你可能感兴趣的文章
批处理/DOS命令删除文件夹下某类型的文件
查看>>
模板 - 数学 - 矩阵快速幂
查看>>
优秀的持久层框架Mybatis,连接数据库快人一步
查看>>
PAT L2-016 愿天下有情人都是失散多年的兄妹
查看>>
抛弃IIS,利用FastCGI让Asp.net与Nginx在一起
查看>>
C. Tanya and Toys_模拟
查看>>
IIS7 如何设置读取、脚本和可执行文件的执行权限
查看>>
今日早上出来还是阴天
查看>>
听说本周五要进行一个小测试,公司对员工的考核
查看>>
查询删除的表的信息
查看>>
oracle 配置 ACL 使用数据库发送WebServic请求时需要
查看>>
每日冲刺报告——Day2(Java-Team)
查看>>
ffplay.exe操作方式
查看>>
TestNG
查看>>
[算法]复杂链表的复制
查看>>
【LeetCode】437. Path Sum III
查看>>
求最近点对算法分析 closest pair algorithm
查看>>
移动端点击输入框,弹出键盘,底部被顶起问题(vue)
查看>>
[数据]全拼-简体字对照表
查看>>
CentOS+Subversion
查看>>