SDN期末作业博客

一、项目描述

A P4-based Network Load Balancing Application

基于P4的网络负载均衡项目

二、个人分工

The Controller :

  • Acquire the counter value of switches per second
  • Calculate the processing rate of switch
  • Runtime traffic scheduling

三、代码演示及过程描述

if __name__ == '__main__':
    time_interval = args.interval
    try:
        while True: 
		main()
		sleep(time_interval)
    except KeyboardInterrupt:
        print 'User Interrupted'
        try:
            sys.exit(0)
        except SystemExit:
            os._exit(0)
  • 每隔一段时间获取并计算底层交换机负载情况
  • 动态进行路径调整
  • 重复上述过程直至用户中断

例如:

(1) Inspect paths
path1: 1-2-3-h5
path2: 1-2-3-h4
path3: 1-2-4-h3
path4: 1-2-4-h2
path5: 1-5-3-h5
path6: 1-5-3-h4
path7: 1-5-4-h3
path8: 1-5-4-h2

(2) Read Counter per sec
cnt1: 20
cnt2: 50 —> warning!
cnt3: 20
cnt4: 0

(3) Calculate new path
path1: 1-2-3-h5 —> path5: 1-5-3-h5

四、课程感想

计算机的各个领域是相互贯通的,要联系学习,增强自主学习能力和查阅资料能力、动手能力。

  • 了解了
    什么是 SDN ,SDN 的基本思想、特点
    有哪些控制器,控制层和数据层的通信标准协议
    分布式控制器的几种扩展方式
    ODL设计的三个层次
    SDN 的应用领域
    openflow多级流表机制的优点
    ryu控制器
    onos控制器
    opendaylight控制器

  • 接触了
    SDNLAB 等几个优质的学习网站
    网络相关知识

  • 学会了
    安装mininet
    用字符命令生成拓扑并测试连通性
    用可视化界面生成拓扑并测试连通性
    用Python脚本生成Fat-tree型的拓扑
    安装floodlight
    生成拓扑并连接控制器floodlight,利用控制器floodlight查看图形拓扑
    利用字符界面下发流表,通过测试联通性,来验证openflow的hardtime机制
    利用OVS命令下发流表,实现VLAN功能
    利用OVS命令查看流表
    Wireshark抓包验证
    借助Postman通过ODL的北向接口下发流表,再利用ODL北向接口查看已下发的流表
    利用ODL下发组表、流表,实现建议负载均衡
    利用Wireshark验证负载均衡的实现

posted @ 2018-01-23 17:02  HKSun  阅读(575)  评论(0编辑  收藏  举报