sdn

2019 SDN上机第4次作业

雨燕双飞 提交于 2019-12-05 13:47:05
1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) sudo gedit ~/.bashrc 在底部添加以下语句 export JAVA_HOME=/home/w/Desktop/test4/jdk1.8.0_211 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 2. 启动并安装插件 进入OpenDayLigh的文件夹,运行./karaf (注意不能用sudo运行): 安装feature feature:install odl-restconf odl-l2switch-switch-ui odl-openflowplugin-all odl-mdsal-apidocs odl-dlux-core odl-dlux-node odl-dlux-yangui 3. 用Python脚本搭建如下拓扑,连接OpenDayLight控制器 python代码如下 from mininet.topo import Topo class MyTopo(Topo): def __init__(self): # initilaize topology Topo.__init_

2019 SDN上机第4次作业

独自空忆成欢 提交于 2019-12-05 13:36:27
1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) 2. 启动并安装插件 3. 用Python脚本搭建如下拓扑,连接OpenDayLight控制器 4. 在控制器提供的WEB UI中下发流表使h2 20s内ping不通h3,20s后恢复 效果图 5. 借助Postman通过OpenDayLight的北向接口下发流表,再利用OpenDayLight北向接口查看已下发的流表。 途中因为内存不够疯狂黑屏,多给虚拟机一点内存世界又美妙了 来源: https://www.cnblogs.com/wawu/p/11925819.html

2019 SDN上机第4次作业

自古美人都是妖i 提交于 2019-12-05 11:23:32
1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) 安装完成: 2. 启动并安装插件 3. 用Python脚本搭建如下拓扑,连接OpenDayLight控制器 py代码: from mininet.topo import Topo from mininet.net import Mininet from mininet.node import RemoteController,CPULimitedHost from mininet.link import TCLink from mininet.util import dumpNodeConnections class MyTopo( Topo ): "Simple topology example." def __init__( self ): "Create custom topo." Topo.__init__( self ) switchs = [] sw = self.addSwitch("s{}".format(1)) switchs.append(sw) for sw in switchs: for i in range(3): h = self.addHost("h{}".format(i+1)) self.addLink(sw, h) topos = { 'mytopo': (

2019 SDN上机第4次作业

坚强是说给别人听的谎言 提交于 2019-12-05 06:54:37
2019 SDN上机第4次作业 1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) 2. 启动并安装插件 3. 用Python脚本搭建如下拓扑,连接OpenDayLight控制器 代码 from mininet.topo import Topo class 4topo(Topo): def __init__(self): Topo.__init__(self) sw=self.addSwitch('s1') count=1 for i in range(3): host = self.addHost('h{}'.format(count)) self.addLink(host,sw,1,count) count = count + 1 topos = {'mytopo': (lambda:4topo())} 4. 在控制器提供的WEB UI中下发流表使h2 20s内ping不通h3,20s后恢复 5. 借助Postman通过OpenDayLight的北向接口下发流表,再利用OpenDayLight北向接口查看已下发的流表。 来源: https://www.cnblogs.com/spongebobyjh/p/11911901.html

SDN核心思想&Mininet

喜你入骨 提交于 2019-12-05 05:27:44
2.1ONF定义的SDN基本架构: 应用层:实现网络流量的灵活控制,使网络作为管道智能 控制层:网络虚拟化实现方式,核心技术OpenFlow 转发层新型创新架构,实现网络设备控制与转发分离 2与3之间通过OpenFlow协议通信 2.2核心思想 1.Decoupling:控制平面负责上层的控制决策;数据平面负责数据的交换转发(网络逻辑集中控制) 控制平面---多个分布式的控制器 2.Abstraction: 转发抽象:路由表,MPLS标签表,ACL访问控制表抽象流表 分布状态抽象:分布状态抽象成全局网络视图 实现下发控制命令;收集设备和链路状态,为上层应用提供全局网络视图 配置抽象:网络行为表达通过编程语言实现,将抽象配置映射为物理配置,利用控制器提供的API,基于控制层提供的全局网络视图 3.Programable:开放接口编程 接口: 控制平面--应用平面(北向接口):REST API ;JAVA API 控制平面--数据平面(南向接口)实现协议:OpenFlow,NETCONF,OF-Config,OVSDB 东西向接口:多控制器或控制器与外部组件之间通信 数据平面: 高性能网络数据处理框架DPDK SDN数据平面可编程:P4 2.3Mininet应用实践(SDN仿真工具) 运用mininet可视化工具创建网络拓扑结构 运用mininet交互命令创建网络拓扑结构

2019 SDN上机第4次作业

有些话、适合烂在心里 提交于 2019-12-05 05:21:57
1. 解压安装OpenDayLight控制器 Java配置 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) 2. 启动并安装插件 3. 用Python脚本搭建如下拓扑,连接OpenDayLight控制器 python代码 from mininet.topo import Topo from mininet.net import Mininet from mininet.node import RemoteController,CPULimitedHost from mininet.link import TCLink from mininet.util import dumpNodeConnections class MyTopo(Topo): def __init__(self): # initilaize topology Topo.__init__(self) s=[] for i in range(1): sw = self.addSwitch('s{}'.format(i+1)) s.append(sw) count=1 for i in range(3): host = self.addHost('h{}'.format(count)) self.addLink(s[0],host) count += 1 topos = {

2019 SDN上机第4次作业

北城余情 提交于 2019-12-05 05:05:15
1. 解压安装OpenDayLight控制器(本次实验统一使用Beryllium版本) (1)配置java环境 在终端输入如下命令: sudo gedit ~/.bashrc 在文件后面添加: export JAVA_HOME=/usr/local/java/jdk1.8.0_201 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH (2)解压安装OpenDayLight控制器 版本为:0.4.4-Beryllium-SR4 2. 启动并安装插件 (1)进入ODL的文件夹,在终端输入如下命令: ./karaf (2)安装feature,输入如下面命令: feature:install odl-restconf feature:install odl-l2switch-switch-ui feature:install odl-openflowplugin-all feature:install odl-mdsal-apidocs feature:install odl-dlux-core feature:install odl-dlux-node feature:install odl-dlux

2019 SDN上机第4次作业

拈花ヽ惹草 提交于 2019-12-05 04:16:04
2019 SDN上机第4次作业 1. 解压安装OpenDayLight控制器 下载完成后,在下在目录打开终端执行以下指令解压: tar -zxvf distribution-karaf-0.4.4-Beryllium-SR4.tar.gz 启动之前需要预先配置java环境, 参考链接 我电脑上的Ubuntu用java写过程序,已经配置好java环境,不再演示。。。 2. 启动并安装插件 (1)解压完成后进入bin文件夹 cd distribution-karaf-0.4.4-Beryllium-SR4/bin/ (2)运行karaf ./karaf (3)安装并配置 feature:install odl-restconf feature:install odl-l2switch-switch-ui feature:install odl-openflowplugin-all feature:install odl-mdsal-apidocs feature:install odl-dlux-core feature:install odl-dlux-node feature:install odl-dlux-yangui 打开浏览器在地址栏输入127.0.0.1:8181/index.html,可看到如下界面: 3. 用 Python脚本 搭建如下拓扑

SDN实验---使用git安装Mininet

断了今生、忘了曾经 提交于 2019-12-05 04:15:12
一:前提 已经正常安装了SDN环境(mininet和openswitch2.11.0和Ryu) 使用前面教程安装环境 SDN实验---使用git安装Mininet (一)测试ovs是否正常使用 1.ryu启动 2.mn启动测试 二:原始信息 三:实验开始 (一)修改源码:在vport.c和.h中添加代码 1.vport.h文件 //custom function to log info void send_msg(const char* filename,const char* info); //file operation function struct file *file_open(const char *path, int flags, int rights); void file_close(struct file *file); int file_read(struct file *file, unsigned long long offset, unsigned char *data, unsigned int size); int file_write(struct file *file, unsigned long long offset, unsigned char *data, unsigned int size); 2.vport.c文件 //custom

Kubernetes SDN

孤街醉人 提交于 2019-12-05 03:57:13
转载自:https://www.cnblogs.com/nongchaoer/p/6792756.html 首先,向大家科普下Kubernetes所选择的CNI网络接口,简单介绍下网络实现的背景。 CNI即Container Network Interface,是一套容器网络的定义规范,包括方法规范、参数规范、响应规范等等。CNI只要求在容器创建时为容器分配网络资源、删除容器时释放网络资源。CNI与调用者之间的整个交互过程如下图所示: CNI实现与外界的交互都通过进程参数和环境变量传递,也只要求输出结果符合CNI规范即可,与实现语言也没什么特殊要求。比如Calico早期版本就使用Python实现了CNI规范,为Kubernetes提供了网络实现。常见的环境变量设置如下: CNI_COMMAND:调用指定CNI动作,ADD表示增加网卡,DEL表示释放网卡 CNI_CONTAINERID:容器ID CNI_NETNS:容器网络命名空间文件位置 CNI_ARGS:额外传递的参数 CNI_IFNAME:设置的容器网卡名称,如eth0 正因如此,CNI规范实现起来非常容易扩展,除了CNI自带的Bridge、Macvlan等基本实现以外,还有大量的第三方实现可供选择,包括Calico、Romana、Flannel等常用实现。同时CNI支持多种容器运行时,包括Docker、rkt、Mesos