【OpenFlow】交换机收到Packet Out报文之后是转发整个报文还是封装在其中的数据包


比如控制器讲LLDP包封装在Packet Out 报文里然后发送给交换机,交换机是将LLDP 包转发还是转发整个Packet Out 报文呢?
已邀请:

wzd_0116 - 未来网络 Zebra Decoder

赞同来自: o(︶︿︶)o SDNLAB hhhhhhh


@o(︶︿︶)o :

1.控制器应该获取Port List,向根据OFPPS_LIVE = True、OFPPS_LINK_DOWN = False、OFPPS_BLOCKED = False过滤后的Port List 发送
2. 是包含你说的3个,分别对应为OFPPS_LINK_DOWN、 OFPPS_BLOCKED 、OFPPS_LIVE如下图:
(刚抓包看了下OF13 feature_reply是不包含 port 信息的,是在OFPT_MULTIPART_REPLY消息中)

port.png

(1)Port Down就是端口Down,比较好理解。
(2) Link Down 的话就是物理Link Down 了,有可能Port是Up的。
(3)block就是该状态的端口不能转发数据报。

Eric_Hu - SDNer

赞同来自: o(︶︿︶)o


LLDP数据包

wzd_0116 - 未来网络 Zebra Decoder

赞同来自: SDNLAB


1.Packet Out 消息是控制器发给SDN交换机,包含:Data、Action、In port等重要字段,SDN交换机收到Packet Out消息后,会按照Action里面的指令去操作Data(如从指定端口转发、丢弃)。
2. 链路探测时,控制器组装Packet Out消息,消息中包含LLDP探测包(Data部分),通过feature_request得到的SDN交换机端口信息,Action中指定相应的端口(Action部分),发送给SDN交换机,SDN 交换机按照Packet Out的Action指令处理Data部分,也就是转发LLDP探测包。相邻的SDN 交换机收到LLDP报文上报控制器完成link的探测。

wzd_0116 - 未来网络 Zebra Decoder

赞同来自: o(︶︿︶)o


@o(︶︿︶)o :
898762-d04eb5684040f309.png


feature_reply 时,是包含Port List 。每个Port 有长度为48byte信息,包含port name、 port number、hw_addr、 port state、supported、peer、advertised 等信息

要回复问题请先登录注册