我想在交换机上运行OpenFlow.
我对尚不支持OpenFlow的交换机拥有root权限.
如何使此交换机支持OpenFlow,然后从盒子外部控制流量?
基本上我想开始尝试使用OpenFlow.我从哪里开始?
我正在尝试使用带有 RYU SDN 控制器的 tcp 源端口将 TCP 流重定向到特定服务器。这是我的拓扑(第一步很简单):
host -- ovs1 -- ovs2 -- server
Run Code Online (Sandbox Code Playgroud)
ovs1的匹配规则:
match = parse.OFPMatch(in_port=port,eth_type=0x0800, ipv4_dst=server_ip, tcp_src=tcp_pkt.src_port)
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
EventOFPErrorMsg received.
version=0x4, msg_type=0x1, msg_len=0x4c, xid=0x370bf1bf
`-- msg_type: OFPT_ERROR(1)
OFPErrorMsg(type=0x4, code=0x9, data=b'\x04\x0e\x00\x70\x37\x0b\xf1\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x28\x80\x00\x00\x04\x00\x00\x00\x01\x80\x00\x0a\x02')
|-- type: OFPET_BAD_MATCH(4)
|-- code: OFPBMC_BAD_PREREQ(9)
`-- data: version=0x4, msg_type=0xe, msg_len=0x70, xid=0x370bf1bf
`-- msg_type: OFPT_FLOW_MOD(14)
Run Code Online (Sandbox Code Playgroud)
关键是,如果我删除 tcp_src 选项,一切正常,这就是为什么我认为问题与我传递端口的方式有关。
有任何想法吗?
提前致谢!
我是 openflow 协议的新手。我认为,有 5 个版本的 openflow 协议可用(1.1 到 1.5)。有人可以帮助我理解或提供一个总结这些版本之间差异的链接吗?
谢谢
我很困惑下列条款之间:OpenFlow,Open vSwitch,和Mininet。我想了解他们之间的关系。请问,有人可以提供何时以及如何使用它们中的每一个吗?
谢谢你。