本视频来自ON.Lab负责Web UI相关工作的Simon hunt的讲解,主要介绍了ONOS软件Intent配置和动态集群功能。

【双语频道】ONOS:Intent配置和动态集群功能演示_JAVA


先来一段简短的自我介绍,马上进入正题。

【双语频道】ONOS:Intent配置和动态集群功能演示_JAVA_02


And what I'm showing you is just a couple of features of the ONOS software

接下来我将向大家演示ONOS软件的一些功能


So the first feature that I want to show you is the concept of intents

首先给大家演示的是意图这个概念


So we have a topology of view here, which is projected onto the map of the British Isles

这是一个投射到不列颠群岛地图的拓扑视图


We are just really running a Mininet emulation of 12 switches and 12 hosts,

我们用Mininet模拟了12台交换机和12台主机


Ah…so if I were to get host number 4 down in Plymouth here to try and connect to host number 6, ah… I'm gonna say host 4 ping host 6

现在我们尝试用位于普利茅斯的主机4来连接主机6,也就是说用主机4 ping主机6


【双语频道】ONOS:Intent配置和动态集群功能演示_JAVA_03


And so where actually we have no connectivity here, because we need to program the switches

由于它们之间缺乏连通性,我们需要先对交换机进行编程


So what I'm going to do is ah… in the UI I'm going to select host 4 in Plymouth

我们首先在这个界面上选择位于普利茅斯的主机4


And then shift-click to select second host here in Brighton and so I have selected two hosts

然后按住Shift键点击位于布赖顿的另一台主机。现在我们已经选定了两台主机


【双语频道】ONOS:Intent配置和动态集群功能演示_JAVA_04

And now I'm going to set up an intent and so that tells ONOS that it needs to provide connectivity.

接下来我会创建一个意图,目的是让ONOS提供一个连接


And you'll see now hopefully the ping is running, because we are able to send packets between these two

现在大家可以看到主机4成功ping通了主机6,我们可以在这两台主机之间发送数据包


So what I'm gonna do now is just stop the pinging, but the intent is still there

接下来我要停止ping操作,但之前创建的意图仍然存在


So we still have that connectivity programmed into the system

系统中仍然保留了该连通性


Ah…What I'm going to do is create a catastrophic event in London, basically taking that switch down

现在我在伦敦模拟一个灾难事件,让此处的交换机停止运行


So if I were to type in the Mininet command, switch, S1, stop, that's basically gonna take that switch out

具体操作是输入Mininet命令:switch s1 stop,这样就可以关闭该交换机


And what you see is ah… the ONOS has detected that they can no longer route through London,

现在大家看到,ONOS已检测到无法再通过位于伦敦的交换机进行通信


So it provided an alternative path, so that the connectivity between Plymouth and Brighton has not been affected

所以它提供了一条备用路径,这样就不会影响布赖顿和普利茅斯之间的连通性


Ah… we can bring that switch back, so if I were to just start that switch up

我们也可以重新恢复该交换机。现在我们启动这个交换机


Now you'll notice that the path does not change back, and the reason for that is it's very disruptive to change your path

可以看到当前路径没有变化,因为改变路径是极具破坏性的


【双语频道】ONOS:Intent配置和动态集群功能演示_JAVA_05


Ah…we had to change it in the failure case, but in the positive case

在故障情形下,我们不得不变更路径;但在非故障情形下


Where the switch came back, we had to be more deliberate about when we switch the path back

交换机恢复后,我们应该更加慎重地考虑恢复先前路径的时机


And so, you know we might have an application that is running and doing a global optimization at an opportune time

可能有应用正在运行,要在恰当的时机进行全局优化


So that's the first little demo that I wanted to show you

这是我想展示给大家的第一部分内容


And then if I find my mouse, ah…the other part that I want to show you is that

我的鼠标去哪了…我想展示的另外一部分内容是


【双语频道】ONOS:Intent配置和动态集群功能演示_JAVA_06


We have just introduced the concept of dynamic clustering, so in old versions of ONOS

刚才我们介绍了动态集群,在老版本的ONOS中


The cluster has been statically configured which means that

集群是静态配置的,也就是说


If we want to add a fourth or fifth node to the cluster,

如果我们要向集群中添加第4或第5个节点


We have to take the cluster down, reconfigure it and then bring the cluster up

我们必须先把集群置Down,重新配置,然后再让集群Up


And of course at that point you lose your control plane of your network

当然这样做的话,你会暂时失去对网络的控制


So what we've done now is we…ah…written some code to basically allow us to bring a new cluster node into the cluster and bring it online without taking the cluster down.

所以我们现在的做法是,通过编写一些代码在集群中添加一个新节点并让新节点上线,从而避免把集群置Down


So, the first thing that I'm going to do is essentially…ah…change the meta data about the cluster to bring in that new switch

我们首先要做的是变更集群的元数据,添加一个新节点


And so by doing that here…ah…what we've basically done is we brought a new switch into the cluster membership

这样我们就向集群添加了一个新的成员节点


But it still hasn't got the software running on it yet,

但其上运行的软件还未就位


So the next thing that we need to do is…ah…to basically…ah…bring that cluster node up

接下来我们需要做的是,启动该集群节点


【双语频道】ONOS:Intent配置和动态集群功能演示_JAVA_07


This is just shorthand for getting the code in store on this Linux box and then bringing the ONOS process up and then it will start talking to the other switches

这是一个简便的操作,从Linux box获取代码,启动ONOS进程,然后这个节点就可以与交换机通信了


So you see now it's now online, but we've got mastership of 4, 4, 4 and 0 at this point

现在我们看到,该节点已上线,此时这4个集群节点管理的交换机数量分别是4、4、4、0


But we have a background application that is monitoring the distribution of switches to cluster nodes, and you should actually detect that

我们有一个后台应用来监控交换机相对于集群节点的分布,大家应该已经发现了这一点


Now you can see that we have 3, 3, 3 and 3 and the fourth node is now actually mastering 3 of the 12 switches in our topology

现在这4个节点管理的交换机数量变成了3、3、3、3,第4个节点管理当前拓扑图中12台交换机中的3台


【双语频道】ONOS:Intent配置和动态集群功能演示_JAVA_08


And so the final part of this demo is what happens if ONOS goes down?

本次演示的最后我们来看下其中一个ONOS节点下线后会发生什么


And as you can see we have the 3, 3, 3 and 3, ah…

现在这4个ONOS节点每个节点都管理3台交换机


So if I do the reverse here, which is basically to uninstall the online software from this node

如果我反过来操作,即卸载此节点的在线软件


You'll see it go offline and you'll see the other nodes in the cluster pick up mastership of the switches that did the control

可以看到此节点下线,集群中的其他节点接管了下线节点管理的交换机


So it's gone down and you can see we have 3, 5, and 4, so it's not balanced, but they did immediately take control of the switches and then…ah…ah…that load balancing application noticed the discrepancy and has ah… reconfigured the ONOS node to have 444, ok,

该节点下线后,剩余的3个节点管理的交换机数量分别是3、5、4。尽管负载不均衡,但接管却是立即生效的。负载均衡应用感知到负载差异后,会重新配置ONOS节点,这样就又恢复到了4、4、4的关系,好了


And finally I'm going to take the, ah… change the configuration of the cluster to remove this from the cluster membership

最后我们来变更集群的配置,将这个节点从集群中删除


And so by doing that we've now taken that out of the cluster

现在我们已删除了此节点


And we are back to the original 3 and so that really was the demonstration that I want to give you.

系统又回到了原来3个ONOS节点的配置。这就是今天我想向大家展示的全部内容


Thanks very much!

谢谢大家!


下面给大家带来完整视频内容,希望你能和SDNLAB双语君在技术学习的过程中一起提升英语能力。

https://v.qq.com/x/page/y0305iai4rs.html