sdn

2019 SDN大作业

☆樱花仙子☆ 提交于 2020-01-07 06:18:04
视频链接 建议把清晰度调到最高 队名 不想取名 本组成员 学号 姓名 031702422 朱宏(组长) 031702419 姚彬锟 031702420 张庆焰 031702425 吴永铭 041602630 张周伟 负载均衡代码如下 # -*- coding: utf-8 -*- import httplib2 import time import json class OdlUtil: url = '' def __init__(self, host, port): self.url = 'http://' + host + ':' + str(port) def install_flow(self, container_name='default',username="admin", password="admin"): http = httplib2.Http() http.add_credentials(username, password) headers = {'Accept': 'application/json'} flow_name = 'flow_' + str(int(time.time()*1000)) #s3流表 #在检测h4发包的时候s3的1口流量空闲时发的流表 h4_to_s3_1 ='{"flow": [{"id": "0","match": {

2019 SDN大作业

拟墨画扇 提交于 2020-01-07 03:59:03
视频链接 建议把清晰度调到最高 队名 不想取名 本组成员 学号 姓名 031702422 朱宏(组长) 031702419 姚彬锟 031702420 张庆焰 031702425 吴永铭 041602630 张周伟 负载均衡代码如下 # -*- coding: utf-8 -*- import httplib2 import time import json class OdlUtil: url = '' def __init__(self, host, port): self.url = 'http://' + host + ':' + str(port) def install_flow(self, container_name='default',username="admin", password="admin"): http = httplib2.Http() http.add_credentials(username, password) headers = {'Accept': 'application/json'} flow_name = 'flow_' + str(int(time.time()*1000)) #s3流表 #在检测h4发包的时候s3的1口流量空闲时发的流表 h4_to_s3_1 ='{"flow": [{"id": "0","match": {

2019 SDN大作业

不想你离开。 提交于 2020-01-06 19:51:43
2019 SDN大作业:负载均衡 1.小组成员 031702526 周华 031702514 严喜 031702533 吕瑞峰 031702542 林小棠 2.拓扑搭建 拓扑图 拓扑脚本: from mininet.topo import Topo class MyTopo( Topo ): "Simple topology example." def __init__( self ): "Create custom topo." # Initialize topology Topo.__init__( self ) # add hosts and switches host1 = self.addHost( 'h1' ) host2 = self.addHost( 'h2' ) host3 = self.addHost( 'h3' ) switch1 = self.addSwitch( 's1' ) switch2 = self.addSwitch( 's2' ) switch3 = self.addSwitch( 's3' ) # add links self.addLink(host1,switch1) self.addLink(switch1,switch2) self.addLink(switch1,switch3) self.addLink(switch2,host2)

2019 SDN大作业

走远了吗. 提交于 2020-01-06 10:04:04
2019 SDN大作业--数据中心类型网络拓扑的搭建与连接 贡献比例 学号 比例 031702345 28% 031702311 18% 031702428 18% 031702309 18% 131700101 18% 实验概述 使用两个互为备份的中心交换机 连接两两互为备份的共计四个交换机 下接四组各连有两台主机的交换机 作为数据中心类型网络拓扑的一个小型实现 上、中、下层均可以扩展来实现对更多网络主机的支持 实现在网络中心区域防止单个设备故障所引发的网络中断 实验拓扑 实验拓扑图如下 建立实验网络 建立流程如下 1.先打开OpenDayLigtht作为remote控制器,否则先运行mininet则不能连接到控制器 2.运行mininet建立拓扑结构,运行代码如 sudo mn --custom datacenter.py --topo mytopo --controller=remote,ip=127.0.0.1,port=6633 --switch ovsk,protocols=OpenFlow13 3.打开 http://127.0.0.1:8181/index.html#/topology 来查看拓扑 4.在mininet中输入net来获取网络接口信息,作为下发流表的依据 mininet的拓扑结构的Python代码如下: #!/usr/bin/python

开源网络风云变幻,看各家爱恨情仇

☆樱花仙子☆ 提交于 2020-01-02 02:43:18
近日,美国对中国企业的限制动作不断: 5月15日,美国将华为公司及其附属公司列入出口管制“实体名单”。 随后美国谷歌公司宣布将停止提供安卓(Andriod)系统的技术支持与服务,而安卓系统一直是世界知名的开源项目。 进一步人们又发现美国开源代码托管平台GitHub与美国非盈利公司Apache基金会均有明确声明受美国出口管制约束。 在上述列举的事件中,我们注意到了一个词——开源。 开源的主要要素包括:开源基金会、开源许可证、开源项目和开源代码托管平台等。当前这些组织、项目都在美国,几乎所有开源许可证和代码托管平台也都由美国的学术界和工业界主导。在中美贸易战背景下开源项目有何风险,美国对开源的出口管制约束对我们有怎样的影响?中国开放指令生态(RISC-V)联盟(英文缩写为 CRVA)发布权威报告《开源项目风险分析与对策建议》,给出了对“开源自立”的细致调研和建议。 在网络领域也有很多开源组织(如Linux Foundation)和开源项目,美国政府是否会试图禁止或干涉中国企业使用开源项目?小编还没仔细研究(读者感兴趣可以看一下《开源项目风险分析与对策建议》), 但是我们可以先看看网络领域都有哪些开源组织和项目,知己知彼,才能未雨绸缪,百战不殆。 令人眼花缭乱的网络开源门派 Linux Foundation Linux基金会成立于2000年,是一个中立的非营利性组织,由开放源码发展实验室

计算机网络(11)

倾然丶 夕夏残阳落幕 提交于 2019-12-29 18:43:00
软件定义网络与网络功能虚拟化概述 Software-Defined Networking,SDN(软件定义网络) (1),什么是SDN? SDN字面意思是软件定义网络,其试图摆脱硬件对网络架构的限制,这样便可以像升级、安装软件一样对网络进行修改,便于更多的APP(应用程序)能够快速部署到网络上。 如果把现有的网络看成手机,那SDN的目标就是做出一个网络界的Android系统,可以在手机上安装升级,同时还能安装更多更强大的手机APP。 过去30年里,IP网络一直是全分布式的,战功卓著,解决了各种客户需求,今天SDN是为了未来更好更快的实现用户需求。并不是有什么需求通过传统方法不能做到,只是SDN做得更快、更好、更简单。 SDN的本质是网络软件化,提升网络可编程能力,是一次网络架构的重构,而不是一种新特性、新功能。SDN将比原来网络架构更好、更快、更简单的实现各种功能特性。 (2), Network Function Virtualization, NFV(网络功能虚拟化) NFV即网络功能虚拟化(Network Functions Virtualization),将许多类型的网络设备(如servers,switches和storage等)构建为一个Data Center Network,通过借用IT的虚拟化技术虚拟化形成VM(虚拟机,Virtual Machine)

SDN 网络系统之 Mininet 与 API 详解

混江龙づ霸主 提交于 2019-12-28 13:41:48
SDN 网络系统之 Mininet 与 API 详解 来源 https://www.ibm.com/developerworks/cn/cloud/library/1404_luojun_sdnmininet/ 更多资料 1. Mininet: http://mininet.org/ 2. Mininet wiki: https://github.com/mininet/mininet/wiki SDN 与 Mininet 概述 SDN 全名为(Software Defined Network)即软件定义网络,是现互联网中一种新型的网络创新架构,其核心技术 OpenFlow 通过网络设备控制面与数据面分离开来,从而实现网络流量的灵活控制,为网络及应用提供了良好的平台。而 Mininet 是一个轻量级软件定义网络和测试平台;它采用轻量级的虚拟化技术使一个单一的系统看起来像一个完整的网络运行想过的内核系统和用户代码,也可简单理解为 SDN 网络系统中的一种基于进程虚拟化平台,它支持 OpenFlow、OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用 OpenFlow 和 SDN 技术;同时也可将此进程虚拟化的平台下代码迁移到真实的环境中。 Mininet 实现的特性 支持

2019 SDN上机第6次作业

吃可爱长大的小学妹 提交于 2019-12-28 01:05:56
1.实验拓扑 实验拓扑 使用Python脚本完成拓扑搭建,并连接ryu控制器 代码如下 from mininet.topo import Topo class Mytopo(Topo): def __init__(self): Topo.__init__(self) s=[] for i in range(2): sw = self.addSwitch('s{}'.format(i+1)) s.append(sw) self.addLink(s[0],s[1]) count=1 for two in s: for i in range(3): host = self.addHost('h{}'.format(count)) self.addLink(two,host) count += 1 topos = {'mytopo': (lambda:Mytopo())} 拓扑搭建成功 使用pingall命令测试连通性 输入命令连接ryu控制器 ryu-manager ofctl_rest.py 输入net,查看各主机与交换机之间的端口情况,方便确定之后脚本中匹配项的值 2.使用Ryu的REST API下发流表实现和第2次实验同样的VLAN s1脚本 #端口号1发来数据 curl -X POST -d '{ "dpid": 1, "priority":1, "match":{ "in

2019 SDN上机第4次作业

非 Y 不嫁゛ 提交于 2019-12-27 18:49:23
1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本)以及features安装 在做这次作业之前安装好了,没有截图emm 2. 用 Python脚本 搭建如下拓扑,连接OpenDayLight控制器 使用如下py文件创建拓扑。 #!/usr/bin/python from mininet.topo import Topo class MyTopo(Topo): def __init__(self): Topo.__init__(self) sw=self.addSwitch("s1") count=1; for i in range(3): h = self.addHost("h{}".format(count)) self.addLink(sw, h) count += 1 topos = {"mytopo": (lambda : MyTopo()) } 运行该拓扑,并将其连接至本地ODL控制器。6633指的是默认交换机端口。 进行pingall操作后控制器检测到主机,成功显示预期的拓扑图。 3. 在控制器提供的WEB UI中下发流表使h2 20s内ping不通h3,20s后恢复 下发流表项id为12的流表,hardtime设置为20 h1 ping h3中断20s 4. 借助Postman通过OpenDayLight的北向接口下发流表

SDN第一次上机作业

筅森魡賤 提交于 2019-12-26 18:48:31
SDN第一次上机作业 1.安装mininet (1). 参考链接1 (2). 参考链接2 我主要是参考这个博客来做的 (3). 如果ubantu没有安装git,需要安装git apt install git 获取源码 git clone git://github.com/mininet/mininet 获取源码树并安装Mininet cat INSTALL 切换到mininet文件下 cd mininet 完整安装命令 ./util/install.sh -a 2.用字符命令生成拓扑,并测试连通性,截图 参考链接: http://www.sdnlab.com/15077.html sudo mn --topo tree,fanout=3,depth=2 3.用可视化界面生成拓扑,并测试连通性,截图 参考链接: http://www.sdnlab.com/15096.html sudo ./mininet/mininet/examples/miniedit.py 注意sudo 4.用Python脚本生成一个Fat-tree型的拓扑,截图 参考链接: http://www.sdnlab.com/15128.html #!/usr/bin/python # """Custom topology example Adding the 'topos' dict with a key