SDN之基于Ryu控制器的自学习交换机实现

自学习交换机

 

交换机的自学习在传统网络中是一项非常重要的数据链路层功能。该功能确保转发表能够动态变化,以适应不同的流、实现相应的转发目标。

SDN中交换机的自学习与TCP/IP协议的第二层交换机工作模式类似,总的来说,我们需要对经过交换机的流安装相应的流表,达到转发的目标,主要步骤有以下几个:

1、交换机收到数据包,此时没有安装相应规则,故需要产生packet_in消息给控制器;

2、控制器对数据包进行解析,并指示交换机如何处理这个数据包(在未安装规则的情况下,交换机解析数据包的源端口,并将对该数据包进行泛洪,已确定究竟哪个端口能够到达目的MAC)

3、当数据包被目的MAC主机接收之后,返回应答消息,再次经过交换机的时候,由于源端口变为了第(1)步中的目的端口,目的端口变成了第(1)步中的源端口(即反方向发送应答数据包)所以此时交换机仍然不知道怎么做,上报控制器确定目的端口和源端口;

此时控制器发现该应答的源端口即为第1步中的目的端口,就知道了这两个端口之间的对应关系,于是下发流表。

 

代码实现

from ryu.base import app_manager
from ryu.ofproto i
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值