首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

OpenDaylight与Mininet应用实战之三层转发机制四

1 自定义创建SDN网络拓扑 在验证中我用Mininet创建了如下的网络拓扑结构,1台ODL控制器(0.1版本),2台交换机,每台交换机分别连接2台主机,即共4台主机,这些主机分别属于2个不同的网段,交换机与控制器之间采用...生成拓扑后,OpenDaylight连接至Mininet作为交换机的控制器控制主机通信。...2.1 通信结果显示 在mininet>终端使用xterm h1 h2 h3 h4命令,显示4个主机的界面,在4个主机中对其他三个主机进行ping操作,同时使用Wireshark抓包,4个主机间都能ping...ODL上配置了网关地址10.0.0.254,它以自己的MAC地址回应ARP消息,并指示SW5交换机ARP响应发送到与h1相的端口。...SW6不知如何处理,ARP封装在OF协议中发送到ODL控制器。ODL控制器接到这个ARP响应,同时得到h4的位置是处于SW6的某个端口。

1.7K60

基于Linux Network Namespace的Mininet架构分析

主机上合适的路由规则可以网络数据包和特定container相关的网络设备关联。...veth pair是用于不同Network namespace间进行通信的方式,veth pair一个Network namespace数据发往另一个Network namespace的veth。...由于每个主机都有各自独立的网络命名空间,我们就可以进行个性化的网络配置和网络程序部署。由于命名空间的虚拟技术没有提供类似于虚拟机的持久化能力,所以在Mininet关闭时不能保存所有的配置。...在如下的示例中,两个虚拟主机H1和H2接到交换机S1,通过Bash来模拟H1和H2,交换机S1运行在Linux内核运行的root namespace。...交换机S1有两个端口s1-eth0和s1-eth1,通过veth pair与对应的主机接口相连,这样H1和H2就可以通过S1进行通信。

1.8K60
您找到你想要的搜索结果了吗?
是的
没有找到

OpenDaylight与Mininet应用实战之OpenFlow协议分析

当交换机收到数据包后查找流表无匹配项时,数据包封装在packet_in消息发给controller,由controller通过packet_out消息下发决策,使发送和接收数据包的两主机间进行通信。...查看网络: 在Mininet中通过操作网络命令,可以查看OVS间及OVS与主机间的连接关系,也可以查看Mininet是否远程连接控制器。 例如,通过nodes命令可以查看网络中所有的节点。 ?...通过下面的dump命令可以看出,交换机通过远程方式连接到控制器,且能看到控制器的IP和PORT。 ?...在Mininet中pingall一下,交换机下面的两台主机h1、h2应能互相通信,如果不能通信,请检查交换机是否与ODL正确连接。 ? 查看交换机通信流表: ?...消息下发决策,使发送和接收数据包的两主机间进行通信。

1.3K50

Ubuntu16.04源码安装Mininet

,它支持 OpenFlow、OpenvSwith 等各种协议,Mininet 也可以模拟一个完整的网络主机、链接和交换机在同一台计算机上且有助于互动开发、测试和演示,尤其是那些使用 OpenFlow 和...Mininet提供python API,简单易用 Mininet是开源项目,源代码在这里:https://github.com/mininet 安装Mininet 获取源码 git clone git...://github.com/mininet/mininet 进入目录 cd mininet 完整安装 ....终端主机接到机架顶部交换机,这些交换机形成树的叶子(edges);一个或多个核心交换机形成根;一个或多个聚合交换机层形成树的中间。在基本树形拓扑中,每个交换机(除了核心交换机)都有一个单亲交换机。...您将假定每个级别,即 core, aggregation, edge and host,由具有可配置扇出值(k)的单层交换机/主机组成,看起来像: ?

66031

基于Mininet的MAC地址学习实验

当B和C接到这个数据时,首先检查目的地址,发现不是发给我的,那么就丢弃这个帧。...当D接到这个帧时,发现这是发给自己的,然后D便会发给A数据,这个时候交换机在D的接口又学习到了D的MAC地址 , 这个时候交换机学习到了两条MAC地址。...3 实验任务 本实验通过Mininet模拟二层交换机和两个主机,通过两个主机通信来了解交换机MAC地址学习过程。 本实验Mininet拓扑如下: ?...5 因为此时交换机s1和交换机s2是两个SDN交换机,而在启动mininet时我们没有指定任何控制器,交换机中没有流表的存在,无法进行转发操作。此时主机h1和主机h2是无法进行通信的。...# ovs-vsctl del-fail-mode s1 # ovs-vsctl del-fail-mode s2 6 输入screen –r切换至mininet窗口,执行两台主机ping操作。

1.5K50

第五章 Mininet常用命令参数介绍

mn 观察,可以知道,已经进入了这个自带的网络,网络中有1个交换机和2个主机,且在打开这个网络之后,进入了  mininet>  这个命令模式 然后输入相关命令查看网络状态,如下图所示: 查看可用节点...此处,我们mininet命令参数分为三大类: (1)用于创建网络拓扑结构的命令参数; (2)用于查看现有(或创建好的)网络拓扑中的各个节点(设备)的网络状态(ip地址、连通性等信息); (3)用于修改当前网络拓扑...语法如下: mn --custom file.py --topo mytopo 具体使用请看下一篇:mininet自定义网络拓扑结构 (2)--switch  定义网络拓扑要使用的交换机,后面可以接的参数有...下面举例说明: 在mininet自带的网络拓扑的基础上,我们想添加一个主机h3,并且让它和s1之间连通,且可以和其他两个主机h1和h2互相ping通。...#为主机h3和交换机s1之间添加一条链路 py s1.attach('s1-eth3')                             #为交换机s1添加一个借口用于与h3相 py h3.cmd

1.7K10

刚重装的win7系统不能上网(深度系统安装步骤)

支持数千台主机的网络结构 Miniet 实现与工作流程 Mininet 的安装方式比较简单通过 Git 源码和自带的安装脚本方式即可安装在 Linux 系统中,这里我采用了默认安装所有 Mininet...mininet> h1 python -m SimpleHTTPServer 80 & #在主机 h1 开启 Web 服务 mininet> h2 wget -O - h1...系统上,实现两主机互连测试。...TCP 测试 iperfudp 两个节点之间用指定款单 udp 进行测试 noecho 运行交互窗口,关闭回应 pingpair 两个主机互 ping help 列出命令文档,查看命令帮助: help...从而,您可能会发现它有用 Mininet接到一个现有的控制器已经运行在其他地方,例如在某个地方上运行您的 LAN 或 VM 上。

87920

OpenDaylight与Mininet应用实战之OpenFlow1.0协议分析二

此命令通过Mininet模拟创建一个含有两个交换机(Open vSwitch,以下简写为OVS)和两个主机的网络拓扑,其中192.168.5.203为ODL的IP,6633为ODL的默认端口,网络拓扑如下图所示...2 查看网络 在Mininet中通过操作网络命令,可以查看OVS间及OVS与主机间的连接关系,也可以查看Mininet是否远程连接控制器。 例如,通过nodes命令可以查看网络中所有的节点。 ?...通过下面的dump命令可以看出,交换机通过远程方式连接到控制器,且能看到控制器的IP和PORT。 ?...3.6 packet_in、packet_out消息 在这部分流程中,当交换机收到数据包后查找流表无匹配项时,数据包封装在packet_in消息发给controller,由controller通过packet_out...消息下发决策,使发送和接收数据包的两主机间进行通信。

1.4K80

宜信架构实践|SDN网络IPv6组播机制支持实时视频业务海量用户扩展

在 SDN 网络的实践方面,OFELIA、Internet2、FIRE和 GENI等科研组织在真实环境中部署了 SDN 网络。...ONOS的内核是由很多遵循同一架构设计的子系统组成的,核心层在设计上遵循“针对接口编程,不针对具体实现编程”的面向对象设计原则,子系统提供的服务功能抽象成接口,呈现给顶层的应用和底层的协议插件。...五、实验结果 数据平面用Mininet模拟器模拟6台交换机,MininetMininet模拟器中通过xterm命令开启三个主机是一个能够创建包含虚拟主机、交换机、控制器和链路的网络平台仿真器,Mininet...主机运行的是标准的Linux网络软件,Mininet的虚拟主机、交换机、链路和控制器是由软件创建,使之看起来像一个完整的网络。...在Mininet模拟器中通过xterm命令开启三个主机,给组播发送端配置的IPv6地址为fc00::1/64,两个订阅者配置的IPv6地址为fc00::2/64和fc00::3/4。

2.1K30

ovs小tag实现OpenStack大网络

下面首先使用mininet仿真软件创建一个最简单的拓扑,然后设置端口tag来实现vlan。...Mininet创建简单拓扑 mininet是SDN学习中用来创建各种拓扑的仿真软件,能够使用最小的消耗完成主机,交换机,控制器的模拟。使用mn命令创建两个主机接到一个交换机中的拓扑。 ?...两个主机接到交换机的两个端口,分别是s1-eth2,s1-eth2。所有的端口默认其实都是有tag的,tag为0,但不会显示在这里。 ?...打开h1 mininet 仿真器可以打开任何一个模拟出来的设备,可以新开的端口看做一个虚拟机。 ? 主机h1这时还不能和主机h2通信,因为ovs交换机中没有任何流表。 ?...主机1能够ping通主机2 ? 查看mac地址自学习表,可以看到这个时候交换机的端口,特别是VALN都是0。 ? 设置tag号 tag是在端口上设置的,使用命令tag号打在端口上。

1.6K11

OpenDaylight与Mininet应用实战之流表操作

我们已安装相关环境的虚拟机中启动ODL和MininetMininet创建一个默认树形拓扑并选择Mininet的控制器指定为ODL,进行基本的添加、删除流表操作,使网络实现网络通信和不通信。...在Mininet中pingall一下,交换机下面的两台主机h1、h2应能互相通信,如果不能通信,请检查交换机是否与ODL正确连接。 ? 此时再查看交换机s1中流表应多出两条控制器下发的流表: ?...增加这条流表以后,Mininet中h1和h2主机之间无法通信了。 ? 再删除一条流规则:如删除条件字段中包含in_port=2的所有流表,如下图所示,含有in_port=2的所有流表被删除了。...因为之前添加的丢弃2号端口包的流表已被删除,这时Mininet中h1和h2主机又可以正常通信了。 ? ? 查看流表后,之前删除的流表不存在,主机间能够互通。...在此基础上可以进行比如改写源和目地主机的ip和mac地址、对数据包泛洪、回环等操作,用户可以根据需求通过修改流表来自主地控制转发行为,这本身也是SDN的初衷之一,也使得我们控制网络更加的便捷、灵活、多样

1.4K90

第五届SDN大赛初赛部分试题解题思路:基于ONOS的路径反转实现

待30s结束流表会被清空,此时新的数据包包在进入第一个交换机时会再次packet_in给controller,此时利用上述中选定不同的路径数据包转发,可以实现30s的动态反转。...其中map用于存储的键是,值为对应的路径标签1-3中的其中一个,表示当前源主机到目的主机应该选择的路径。...2.4 具体验证操作 本文所述只涉及到后台设计,前端展示实现还请自行实现,可以使用log.info路径打印在后台显示查看,代码中均已注释 开启ONOS,默认会有fwd的app开启,此时需要关闭此app...Mininet脚本连接到控制器中,如下图7中所示: Mininet一侧进行ping操作并且在前端获取显示路径结果(也可以直接在onos后台用log.info命令打印路径输出在控制台查看),其结果显示如图...图7 Mininet脚本连接控制器 ? 图8 第一次路径探测结果 ? 图9 第二次路径探测结果 ?

1.1K30

SDN开发笔记(二):SDN控制器的使用

鉴于网上对于sdn开发相关的资料较少又乱的现状,从这篇文章开始,我陆续分享我在sdn开发过程中的经验,我的sdn项目开发是基于opendaylight的release-lithium-sr3版本,该版本相对稳定...二、mininet的使用 1、mininet的安装 我选择的是直接git下载,执行以下步骤mininet安装 #git clone git://github.com/mininet/mininet...用于发现主机节点,odl-restconfig-all用于访问北向接口。...6、刷下web页面,可以看到一台交换机,此时在mininet中输入pingall,web页面就可看到两台主机与一台交换机。 ?...192.168.65.129:8181/restconf/operational/opendaylight-inventory:nodes/node/openflow:1 这个链接用于查看在odl上的交换机与主机节点信息

1.4K100

Mininet搭建多控制器拓扑

随着SDN研究的发展,多控制器协作成为未来的研究方向,所以使用Mininet构建多控制器网络拓扑也成为一种需求。本篇讲述如何使用Mininet搭建多控制器网络拓扑。 ?...本篇针对这两种理解,介绍如何搭建多控制器的Mininet拓扑。 面向交换机的多控制器网络拓扑 对于一个交换机而言,可以连接多个控制器,其实现方式非常简单, 在Mininet的源码中已经实现。...之后调用self.cmd函数启动连接,连接到控制器。 start函数在UserSwitch和OVSSwitch等交换机类中均有对应实现。所以,只需在启动交换机时,传入对应的控制器列表即可。...面向控制器的多控制器网络拓扑 面向控制器的多控制器网络拓扑定义了多个交换机,并使其分别连接到不同的控制器,从而完成拓扑搭建。...该脚本可以启动7个窗口,分别在不同的端口上启动7个ryu控制器,从而使得7个网络的交换机可以连接到对应的网络。

2.7K61

SDNLAB技术分享(十八):如何使用SDNLAB实验平台

1.3.实验和云主机 进入实验页面可以看见有两种实验类型:SDN实验和Mininet实验,刚刚接触实验平台容易分不清这两者的区别,下面我们就详细介绍一下SDN实验和Mininet实验,以及云主机实验。...相较于Mininet实验,SDN实验就像是把Mininet仿真的拓扑网络具体化,拓扑中每个主机、交换机、控制器都有独立的虚拟机,可以分别登录操作。 创建SDN实验的方法如下所示。...4、拓扑创建好后,鼠标悬停在某个设备上,可以查看到设备的基本属性。如果默认属性满足需求就可以直接进入下一步,如果设备属性不满足需求则按照下述方法进行配置。...1.3.2 mininet实验 一些想研究Mininet的用户可以使用Mininet实验,Mininet提供多种控制器,用户可以使用Mininet命令仿真各种各样的网络拓扑。...1.3.3 云主机 一些简单的实验只需要一个虚拟机,云主机就可以很好的满足用户的需求,而且云主机之间可以通信,为后续实验预留可拓展的空间。 1、在云主机页面点击“+”,会弹出云主机创建页面。 ?

1.4K50
领券