sdn

2019 SDN上机第6次作业

纵然是瞬间 提交于 2019-12-26 05:36:49
一、使用Python脚本完成拓扑搭建,并连接ryu控制器。 二。使用Ryu的REST API下发流表实现和第2次实验同样的VLAN curl -X POST -d '{ "dpid": 1, "priority":1, "match":{ "in_port":2 }, "actions":[ { "type": "PUSH_VLAN", "ethertype": 33024 }, { "type": "SET_FIELD", "field": "vlan_vid", "value": 4096 }, { "type": "OUTPUT", "port": 1 } ] }' http://127.0.0.1:8080/stats/flowentry/add curl -X POST -d '{ "dpid": 1, "priority":1, "match":{ "in_port":3 }, "actions":[ { "type": "PUSH_VLAN", "ethertype": 33024 }, { "type": "SET_FIELD", "field": "vlan_vid", "value": 4097 }, { "type": "OUTPUT", "port": 1 } ] }' http://127.0.0.1:8080/stats/flowentry/add

Scapy with Mininet

风格不统一 提交于 2019-12-26 05:04:22
问题 How can I run a scapy script inside mininet to generate custom packets? I know I could generate traffic using iperf ,netperf etc.But I need to customize the packets and then use them in mininet. Thanks, Regards, Sushmita 回答1: You can generate trafic from hosts. You can run cli commands using xterm. I think that using dpkg-name -v you can see what version is emulated by host. So, you can customize ping or whatever you want from the emulated host! Here you can see how to run commands in hosts

Scapy with Mininet

为君一笑 提交于 2019-12-26 05:04:09
问题 How can I run a scapy script inside mininet to generate custom packets? I know I could generate traffic using iperf ,netperf etc.But I need to customize the packets and then use them in mininet. Thanks, Regards, Sushmita 回答1: You can generate trafic from hosts. You can run cli commands using xterm. I think that using dpkg-name -v you can see what version is emulated by host. So, you can customize ping or whatever you want from the emulated host! Here you can see how to run commands in hosts

搞不懂SDN?那是因为你没看这个小故事…

天涯浪子 提交于 2019-12-25 19:59:10
这是一个关于“傻大妞”的故事...... 很久很久以前,有一个村子,名叫“通信童心村”。 村里的每一户,都有一个男人和一个女人。 每一户,都以搬砖为生。 从不同的地方,搬到不同的地方。 他们怎么办呢?很简单,男人负责搬,女人负责告诉男人往哪搬。。。 每个家庭,都服从村委会的指挥。 村委会根据砖厂老板的需求,跑去告诉每家每户该怎么搬。。。 最开始,大家搬砖搬得挺开心的,一切都很顺利。 可是,砖头越来越多,村子规模大了,村户也多了。 每次搬砖计划有变动,村委会都要挨家挨户通知,实在太累了。 而且,因为村委会不能及时通知到位,影响了搬砖效率,砖厂老板们也很不开心。 于是,村委会请来了一个名叫“傻大妞(SDN)”的姑娘。 这个傻大妞说: 于是,傻大妞把每个家庭的女人们都赶回了娘家。。。 然后,傻大妞告诉每个家庭的男人们,以后只能说普通话(以前每家每户男人女人都说的是自己的方言),而且,只需要听她和她团队的。。。 男人们只听傻大妞的 傻大妞还告诉村委会,搬砖方案直接告诉她的团队就行。 于是,全新的搬砖方法开始运作了。。。 因为傻大妞全面接管了男人们。。。 所以村委会省事了很多。。。命令直接传达给傻大妞。。。 效率得到提升,砖厂老板们更开心了,想往哪搬,就往哪搬。。。 故事愉快滴结束了。。。 不过,好像也不是每个人都那么愉快。。。 被fired(解雇)掉的女人们▼ (我是分割线) 好了。。

Opendaylight BORON packet handling ( Hydrogen's IListenDataPacket class)

和自甴很熟 提交于 2019-12-25 08:49:23
问题 What API to use to handle packets that arrive at the ODL Controller? In the Hydrogen version, I could implement the IListenDataPacket class, and it did the job. I searched the documentation for quite a while, but I cant figure it out. 回答1: Since Beryllium IListenDataPacket is replaced with PacketProcessingListener as part of moving towards MDSAL from ADSAL Create listener by extending PacketProcsessingListener. and register this listener. If you need to send packets from controller to OVS,

How to add DLUX to new OpenDayLight application?

元气小坏坏 提交于 2019-12-25 02:29:32
问题 DLUX is dropped from upstream releases, so I have to compile DLUX and add back to my application. Firstly, I need to download & compile DLUX (odl-dlux-core, odl-dluxapps-*): git clone -b stable/oxygen https://github.com/opendaylight/dlux.git mvn clean install Then create new ODL application: mvn archetype:generate -DarchetypeGroupId=org.opendaylight.archetypes -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeCatalog=remote -DarchetypeVersion=1.1.0-SNAPSHOT mvn clean install .

云计算带来的网络技术新趋势的发展历程?

前提是你 提交于 2019-12-24 05:35:09
云计算是一种IT资源的使用模式,通过网络以按需、易扩展的方式获得所需的硬件、平台、软件及服务资源。 在近期召开的“第九届中国云计算标准和应用大会”上,工信部表示,我国企业上云空间巨大,云计算会迎来新一轮更为广阔的蓬勃发展机遇期。 我国云计算产业近年来保持强劲发展态势,年均增速超过30%,是全球增速最快的市场之一,未来提升空间巨大。 经过十几年的发展,云计算已经形成了较为完善的生态系统,那么云计算技术还会带来什么新领域?云即网络,云技术新领域意味着网络技术新趋势是什么? SDN(软件定义网络)和NFV(网络功能虚拟化)是近年来兴起的网络技术新趋势。 SDN是一种新兴的基于软件的网络架构及技术,其重点在于南向接口的标准化,即SDN控制平台软件与各种网络设备的对接;但伴随混合云的兴起,SDN的重点转移到对北向接口的支撑,即对各种混合云业务和应用负载提供灵活的网络支撑。 三种广泛的SDN架构定义 1)ONF SDN架构 ONF提出的SDN典型架构分为三层,由上到下为应用层,包括各种不同业务和应用;控制层,主要负责处理数据平面资源的编排、维护和网络拓扑等,基础设施层,负责数据处理、转发和状态收集等。 SDN架构 ONF SDN架构更多的是从网络资源用户角度出发,通过对网络的抽象推动更快速的业务创新。 2)ETSI NFV架构 由于现有网络存在缺陷以及软件技术对网络的巨大影响

2019 SDN上机第1次作业

谁说胖子不能爱 提交于 2019-12-24 02:53:53
1.安装轻量级网络仿真工具Mininet 使用github上的Mininet源安装,使用命令依次为: git clone https://github.com/mininet/mininet.git cd mininet/util ./install.sh 如下图: 2.用字符命令搭建如下拓扑,要求写出命令 创建第一个拓扑命令如下 sudo mn --topo=linear,3 运行结果如下图 创建第二个拓扑命令如下 sudo mn --topo tree,depth=2,fanout=3 运行结果如下图 3.利用可视化工具搭建如下拓扑,并要求支持OpenFlow 1.0 1.1 1.2 1.3,设置h1(10.0.0.10)、h2(10.0.0.11)、h3(10.0.0.12),拓扑搭建完成后使用命令验证主机ip,查看拓扑端口连接情况。 利用可视化工具创建拓扑如下 设置支持openFlow 1.0 1.1 1.2 1.3,打开edit的Preferences,勾选如下open vSwitch的四个选项 分别设置h1、h2、h3的ip,命令行出现如下代码 点击Run执行结果如下 使用net命令查看拓扑 分别使用 h1 ifconfig h2 ifconfig h3 ifconfig 三个命令查看拓扑端口连接情况,结果如下图 4. 利用Python脚本完成如下图所示的一个Fat

2019 SDN上机第1次作业

我们两清 提交于 2019-12-24 00:25:06
1. 安装轻量级网络仿真工具Mininet Ubuntu源内安装,命令为: sudo apt-get install mininet 2. 用字符命令搭建拓扑, 搭建线型拓扑: sudo mn --topo linear,4 查看net信息 输入命令net 查看所有节点连通性 输入命令pingall 搭建树形拓扑: sudo mn --topo tree,depth=3,fanout=2 查看net信息 输入命令net 查看所有节点连通性 输入命令pingall 3.利用可视化工具搭建如下拓扑,并要求支持OpenFlow 1.0 1.1 1.2 1.3,设置h1(10.0.0.10)、h2(10.0.0.11)、h3(10.0.0.12),拓扑搭建完成后使用命令验证主机ip,查看拓扑端口连接情况。 打开可视化工具: 搭建拓扑: 设置三个主机的IP地址: 运行我的拓扑 输入net查看网络: 使用xterm语句验证主机ip,查看拓扑端口连接情况: 利用Python脚本完成如下图所示的一个Fat-tree型的拓扑(交换机和主机名需与图中一致,即s1~s6,h1~h8,并且链路正确,请给出Mininet相关截图) Python脚本代码: #!/usr/bin/python from mininet.topo import Topo from mininet.net import

2019 SDN上机第2次作业

寵の児 提交于 2019-12-23 17:50:03
1. 利用mininet创建如下拓扑,要求拓扑支持OpenFlow 1.3协议,主机名、交换机名以及端口对应正确,请给出拓扑Mininet执行结果,展示端口连接情况 使用python脚本设计拓扑,代码如下 from mininet.topo import Topo class MyTopo(Topo): def __init__(self): # initilaize topology Topo.__init__(self) # add hosts and switches host1 = self.addHost('h1') host2 = self.addHost('h2') host3 = self.addHost('h3') host4 = self.addHost('h4') host5 = self.addHost('h5') host6 = self.addHost('h6') switch1 = self.addSwitch('s1') switch2 = self.addSwitch('s2') # add links self.addLink(host1, switch1, 1, 1) self.addLink(host2, switch1, 1, 2) self.addLink(host3, switch1, 1, 3) self.addLink(host4,