2019 SDN上机第5次作业
1.浏览RYU官网学习RYU控制器的安装和RYU开发入门教程,提交你对于教程代码的理解,包括但不限于: (1)描述官方教程实现了一个什么样的交换机功能? 添加一些功能使交换机能够将接收到的数据包转发到所有端口 (2)控制器设定交换机支持什么版本的OpenFlow? OpenFlow v1.0 (3)控制器设定了交换机如何处理数据包? 处理方式: 当Ryu收到OpenFlow交换机送来的packet_in消息时调用新增方法packet_in_handler set_ev_cls的第二个参数MAIN_DISPATCHER意味着当Ryu和交换机握手过程(即hello, features request/reply, Set Config等)完毕,才会调用packet_in_handler 之后定义packet_in数据结构对象,数据路径对象datapath,OpenFlow协议和解析过程;定义交换机的动作,如何发送数据包;定义Ryu向交换机发送的packet_out内容,最后发送消息 相关解释: @set_ev_cls(ofp_event.EventOFPPacketIn, MAIN_DISPATCHER)装饰器告诉Ryu何时应调用装饰的函数 第一个参数指示应调用此函数的事件类型。每次Ryu收到packet_in消息时,都会调用此函数。 第二个参数指示开关的状态