作业链接

期末作业

1.负载均衡程序

代码

2.演示视频

地址

3.小组分工

小组:incredible five

构建拓扑:俞鋆

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

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

4.个人工作

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

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

代码:

from mininet.topo import Topoclass MyTopo( Topo ):def __init__( self ):# Initialize topologyTopo.__init__( self )# Add hosts and switchesh1 = 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 linksself.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

执行结果:

课程总结

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

关于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作为分布式框架。

关于实践

mininet的使用

Floodlight的使用

ovs下发流表

odl的使用

下发流表实现简单负载均衡

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

SDN期末作业——负载均衡相关推荐

  1. 干货:一种基于SDN的服务器负载均衡方案

    网络已经成为许多商业的支撑脊柱,世界网络中每天都有新的设备加入,致使网络规模巨大化.众多的网络设备不仅意味着需要投入更多的资源,且使网络结构越加复杂化,管理难度增大且易错.为了避免网络管理错误的发生, ...

  2. SDN期末作业-通过SDN的应用实现负载均衡

    负载均衡程序 1.程序链接:https://github.com/424baopu/software/tree/master/LoadBalance 2.场景 topo: 场景描述: 服务器host ...

  3. 《SDN期末作业——实现负载均衡》

    队名:取个队名真难 一.网络拓扑(场景二) 二.负载均衡程序 1.建立拓扑的代码 拓扑 2.下发组表流表的代码 下发组表流表 三.演示视频 1.目的 服务器h2,h3,h4上各自有不同的服务,h1是客 ...

  4. sdn网络搭建以及负载均衡

                                              SDN网络搭建 1.准备工作 1)虚拟机vmware(注意版本,高版本的系统克隆之后,在低版本上不兼容) 2)Ubu ...

  5. 论文阅读三:基于改进人工蜂群算法的SDN负载均衡策略研究

    名词解释: Artificial Bee Colony Algorithm, ABC:人工蜂群算法 Load balancing algorithm based on improved artific ...

  6. 简单的基于交换机迁移的SDN控制器负载均衡实验

    简单的基于交换机迁移的SDN控制器负载均衡实验 本人首次接触SDN,了解了下SDN的定义后,针对这个实验,首先通过查询文献,大概了解这个实验的环境搭建方案. 对于SDN控制器使用较多的有:OpenDa ...

  7. 面试90%都会翻车的高可用+高并发+负载均衡架构设计 !

    很多人面试的时候被问到一个让人特别手足无措的问题: 你的系统如何支撑高并发? 对于一个公司而言,"为什么要高可用" 关于负载均衡架构设计你了解多少? 大多数同学被问到这个问题压根儿 ...

  8. 什么是集群?什么又是负载均衡?你说得清楚吗?

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者 | 阿苍老师 来源 | www.cnblogs.com/nu ...

  9. inux 下查看服务器负载均衡

    linux 下查看服务器负载均衡 uptime 20:57:21 up  9:18,  1 user,  load average: 0.73, 0.66, 0.50 #显示当前用户数,以及最近1 分 ...

最新文章

  1. Python单元测试去哪儿了?
  2. Java设计模式之代理模式(Proxy)
  3. 思维题 UVA 10881 Piotr's Ants
  4. LockSupport的源码实现原理以及应用
  5. C++ vector使用的一些注意事项
  6. VC6中编译器/zm问题
  7. Python基础教程(第3版)PDF
  8. Python编程题汇总(附答案)
  9. CVE-2022-21999 Windows Print Spooler(打印服务)特权提升漏洞
  10. 【并联机构工作空间分析系列1】 多个圆/圆环求交 得到重叠部分边界 Matlab程序
  11. url 转码 java_HttpClient请求URL字符集转码问题解决方法
  12. 从AdventureWorks学习数据库建模——国际化
  13. 计算机网络之网络应用--Email应用
  14. 云计算对电子商务的应用优势
  15. 王姨劝我学HarmonyOS鸿蒙2.0系列教程之一环境搭建跑起来模拟器!
  16. c语言程序设计试题汇编第三版勘误,c语言程序设计基础教程----勘误记录.pdf
  17. powerbi使用说明_PowerBI动态报告嵌入到PPT中,这个方法推荐给你
  18. [华语][张国荣][16CD][1978-1987][APE+CUE][3.94G][115][sqhhj0622#HD2PT]
  19. 金蝶财务软件服务器文件是什么,金蝶财务软件 远程服务器
  20. bi管理驾驶舱平台哪个好?

热门文章

  1. python引入模块教程_python进阶教程之模块(module)介绍
  2. 做web前端的小伙伴注意了,未来这些发展方向可以试试!
  3. C - 师--链表的结点插入
  4. inspect python模块_Python inspect模块:仅限关键字参数
  5. feign直接走熔断_SpringCloud基于OpenFeign实现服务熔断降级
  6. mysql like html_mysql - MySQL RLIKE查找,然后替换打开和关闭HTML标记之间的所有字符 - 堆栈内存溢出...
  7. STM32不同型号单片机keil工程移植说明
  8. 海思3559AV100上运行自己训练的yolov3
  9. Qt4.7中 默认的构造函数
  10. LVS + Keepalived 高可用群集