队名:取个队名真难

一、网络拓扑

二、负载均衡程序

1.建立拓扑的代码

拓扑

2.下发组表流表的代码

下发流表

三、演示视频

1.目的

服务器h2,h3,h4上各自有不同的服务,h1是客户端。实现一个负载均衡的北向程序,当h2,h3,h4向h1传输数据时,北向应用根据链路的使用状况动态的调整路由规则。

例如:s1-s4链路带宽充足情况下应默认s4-s1的传输路径,当剩余带宽不足的情况下应动态调整路由,使链路负载达到平衡。

2.主要思路

a.通过控制s1到s2/s3/s4的优先级,在不同时间片,优先级不同。
b.优先级通过组表实现,优先级有以下三种 s2>s3=s4 / s3>s4=s2 / s4>s2=s3

3. 视频

视频

四、程序分工

1.场景思路设计及方案选定、讲解
2.Python程序代码的编写
3.视频录制

五、课程感想

1.了解了sdn的基本概念与基本思想。比如将网络设备控制面与数据面分离开来。

2.了解了mininet的使用。用图形化界面或者python代码构造拓扑结构。使用link,pingall,nets等命令。

3.了解了各类控制器的特点。如Openflow、floodlight、opendaylight、ryu控制器、onos控制器、opendaylight控制器,学会了如何使用openflow的北向接口进行应用场景的实现,利用ODL下发组表、流表,实现建议负载均衡。并且在上机实践中重点学习了floodlight和ODL的使用。还有ODL中使用Yang UI,图形界面下发流表,用ovs-ofctl来管理流表项,借助Postman通过ODL的北向接口下发流表,用字符命令生成拓扑并测试连通性等

4.了解了Wireshark抓包验证,再利用ODL北向接口查看已下发的流表,利用Wireshark验证负载均衡的实现。

5.了解了负载均衡的概念以及实现方法,在最后一次实践中与小组的其他成员一起完成负载均衡的作业。

总而言之,通过选修这门课程,学习到了许多。当然,要更加努力。

SDN期末验收的更多相关文章

  1. SDN 期末作业验收

    前言 SDN 期末作业验收我们是采用的参考场景一,我们在此场景的基础上来做负载均衡,下面是我们搭建的拓扑图 演示视频 https://pan.baidu.com/s/1htkKLPM 负载均衡程序 相 ...

  2. SDN期末作业验收

    作业链接:https://edu.cnblogs.com/campus/fzu/SoftwareDefinedNetworking2017/homework/1585 负载均衡程序 1.github链 ...

  3. SDN期末作业

    期末项目 代码仓库:传送门 视频:组长已经发送给朱老师 选题:负载均衡场景3 选题内容: 该拓扑是数据中心拓扑的一部分,其中h1是数据中心外的一台客户机,h2-h5是数据中心内的服务器,请根据该拓扑实 ...

  4. SDN期末作业——负载均衡

    作业链接 期末作业 1.负载均衡程序 代码 2.演示视频 地址 3.小组分工 小组:incredible five 构建拓扑:俞鋆 编写程序:陈绍纬.周龙荣 程序调试和视频录制:陈辉.林德望 4.个人 ...

  5. SDN期末作业博客

    一.项目描述 A P4-based Network Load Balancing Application 基于P4的网络负载均衡项目 二.个人分工 The Controller : Acquire t ...

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

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

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

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

  8. SDN期末

    一.项目描述 负载均衡程序 二.小组分工 组名:我们真的很弱 组员:李佳铭.吴森杰.张岚鑫.薛宇涛.杨凌澜 三.代码演示及过程描述 四.课程总结

  9. SDN课程作业总结

    SDN 期末作业总结 设计场景 我们采用参考场景一,实现负载均衡,拓扑图及端口示意如下: 演示视频 视频地址 关键代码 package loadBalance; import java.io.Buff ...

随机推荐

  1. API 与 SDK

    API 和SDK是软件行业的两个缩写词. API (Application Programming Interface)=应用程序编程接口 通过一套套的要求,用来管理应用程序之间的沟通.一个API相当 ...

  2. Docker的下载与安装

    一丶下载 1.win10之外的 Docker下载地址: https://www.docker.com/products/docker-toolbox 2.win10 Docker下载地址: https ...

  3. Java static和final

    java提高篇(七)-----关键字static static 在Java中并不存在全局变量的概念,但是我们可以通过static来实现一个“伪全局”的概念,在Java中static表示“全局”或者“静 ...

  4. Oracle 临时表创建及删除

    Oracle临时表 临时表分为两种 会话级别(ON COMMIT PRESERVE ROWS;) CREATE GLOBAL TEMPORARY <TABLE_NAME> ( <co ...

  5. Java 并发:Executor ExecutorService ThreadPoolExecutor

    Executor Executor仅仅是一个简单的接口,其定义如下 public interface Executor { void execute(Runnable command); } 作为一个 ...

  6. 分页插件 jquery.pagination.js

    引用 <script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script> <lin ...

  7. Python os、sys、pickle、json等模块

    1.os 所有和操作系统相关的内容都在os模块,一般用来操作文件系统 import os os.makedirs('dirname1/dirname2') # 可生成多层递归目录 os.removed ...

  8. Struts 2(二)

    一,框架的扩展名问题: ,struts2框架的默认扩展名:.action和空字符串.在框架的属性文件default.properties中进行默认配置:struts.action.extension= ...

  9. Ajax 滚动异步加载数据

    第一种情况:单个div滚动 HTML <body> <!-- search start --> <div class="search" #if($m_ ...

  10. 关于ArrayAdapter的getCount()的方法会造成空指针异常的分析

    在继承了ArrayAdapter重新getCount()的方法后,比如 public int getCount() { return 3; } 若在活动中调用setAdapter()的方法前,List ...