【发布时间】:2014-08-26 00:19:36
【问题描述】:
总结: 我无法在使用 Opendaylight 和 Mininet 的主机之间 ping 通,希望能得到一些关于可能是什么问题的指导。
设置和我到目前为止所做的事情: 我已经被困在这两天了,似乎找不到任何关于它的东西。我有一台运行 VMware Workstation 10.0.3 的 Win7 笔记本电脑。我已经使用 Opendaylight 安装了 Ubuntu 12.04,并且运行了 Mininet 2.0。所有 NIC 均已桥接。我可以在它们之间ping通。在 Win7 上运行 Firefox、Putty 和 Xming。我可以登录 Opendaylight。
使用以下命令打开 Putty 并启动 Mininet:sudo mn --mac --controller=remote,ip=192.168.0.118,port=6633 我得到创建网络等的正常响应。Ping 失败。在 Wireshark 中,我看到 ARP 请求但没有答案。控制器现在显示开关。添加网关 10.0.0.254/8 使控制器可以看到主机,但仍然无法 ping。我仍然看到 ARP 请求,但没有答案。我按照说明删除了网关并安装了流程。没有 ping。
我已尝试从 VM 本身执行所有这些操作,跳过 Putty 和笔记本电脑,结果相同。我也尝试过使用 Ubuntu 14.04 和 Mininet 2.10。结果相同。我一直在阅读 Opendaylight wiki,显然没有其他人有这个问题。这意味着我必须缺少一些基本的东西。我就是不知道是什么。
编辑,MININET 输出: (如下要求)
mininet> s1 ovs-ofctl dump-flows s1
ovs-ofctl: 127.0.0.1 is not a bridge or a socket
mininet> s1 ovs-ofctl dump-flows "s1"
NXST_FLOW reply (xid=0x4):
mininet>
所以在控制器上创建的流还没有传递到 Mininet?
再次您好,感谢您的意见。我试着按照你的例子来信,下面是我得到的:
Last login: Thu Jul 10 13:56:17 2014
mininet@mininet-vm:~$ sudo mn --mac --controller=remote,ip=192.168.0.115,port=6633
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
*** Starting 1 switches
s1
*** Starting CLI:
mininet> pingall
*** Ping: testing ping reachability
h1 -> X
h2 -> X
*** Results: 100% dropped (0/2 received)
mininet> s1 ovs-ofctl show "s1"
OFPT_FEATURES_REPLY (xid=0x1): dpid:0000000000000001
n_tables:255, n_buffers:256
capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP
actions: OUTPUT SET_VLAN_VID SET_VLAN_PCP STRIP_VLAN SET_DL_SRC SET_DL_DST SET_NW_SRC SET_NW_DST SET_NW_TOS SET_TP_SRC SET_TP_DST ENQUEUE
1(s1-eth1): addr:a6:fc:ac:e6:ab:2a
config: 0
state: 0
current: 10GB-FD COPPER
speed: 10000 Mbps now, 100 Mbps max
2(s1-eth2): addr:2e:8a:70:b0:48:82
config: 0
state: 0
current: 10GB-FD COPPER
speed: 10000 Mbps now, 100 Mbps max
LOCAL(s1): addr:1a:74:aa:bb:5a:49
config: PORT_DOWN
state: LINK_DOWN
speed: 100 Mbps now, 100 Mbps max
OFPT_GET_CONFIG_REPLY (xid=0x3): frags=normal miss_send_len=0
mininet>
mininet>
mininet> s1 ovs-ofctl add-flow "s1" priority=1,ip,nw_dst=10.0.0.2,actions=mod_dl_dst:00:00:00:00:00:02,output=2
mininet> s1 ovs-ofctl add-flow "s1" priority=1,ip,nw_dst=10.0.0.1,actions=mod_dl_dst:00:00:00:00:00:01,output=1
mininet>
mininet>
mininet> s1 ovs-ofctl dump-flows "s1"
NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=44.765s, table=0, n_packets=0, n_bytes=0, idle_age=44, priority=1,ip,nw_dst=10.0.0.1 actions=mod_dl_dst:00:00:00:00:00:01,output:1
cookie=0x0, duration=71.05s, table=0, n_packets=0, n_bytes=0, idle_age=71, priority=1,ip,nw_dst=10.0.0.2 actions=mod_dl_dst:00:00:00:00:00:02,output:2
mininet>
mininet>
mininet> pingall
*** Ping: testing ping reachability
h1 -> X
h2 -> X
*** Results: 100% dropped (0/2 received)
mininet> h1 ping -c2 h2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
From 10.0.0.1 icmp_seq=1 Destination Host Unreachable
From 10.0.0.1 icmp_seq=2 Destination Host Unreachable
--- 10.0.0.2 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 999ms
pipe 2
mininet>
我运行了与上面列表中相同的命令,得到了相同的结果。然后我运行了您建议的命令,如下所示,这是输出。我不知道输出中列出了两个控制器,但连接的一个是正确的,具有正确的 IP 地址。
mininet>
mininet> s1 ovs-vsctl list controller
_uuid : 5c50bc34-725b-497c-86f2-e0b8eafc34f9
connection_mode : []
controller_burst_limit: []
controller_rate_limit: []
enable_async_messages: []
external_ids : {}
inactivity_probe : []
is_connected : true
local_gateway : []
local_ip : []
local_netmask : []
max_backoff : 1000
other_config : {}
role : other
status : {sec_since_connect="395", state=ACTIVE}
target : "tcp:192.168.0.115:6633"
_uuid : e5ba6cf2-dd48-4c2b-88b7-4546e90f98d0
connection_mode : []
controller_burst_limit: []
controller_rate_limit: []
enable_async_messages: []
external_ids : {}
inactivity_probe : []
is_connected : false
local_gateway : []
local_ip : []
local_netmask : []
max_backoff : 1000
other_config : {}
role : []
status : {}
target : "ptcp:6634"
mininet>
我确实在控制器上运行了 ss 命令,一切都显示为“活动”或“已解决”。
【问题讨论】:
-
有点不清楚你在问什么。我建议您编辑并添加您问题的简短摘要版本。
-
你为网桥添加流规则了吗?
-
我通过单击“添加流”按钮将流(单向)添加到“流”选项卡下的控制器。我还有其他地方需要添加它们吗?我想我对“桥”这个词有点困惑,我以为它们被称为开关。我将再次浏览文档以确保我们谈论的是同一件事。
-
我们谈论的是同一件事,因为“桥”在 OvS 的文档中随处可见,即使它是一个开关(参见常见问题解答)。 «问:我认为 Open vSwitch 是一个虚拟以太网交换机,但文档一直在谈论网桥。什么是桥? A:在网络中,术语“桥”和“交换机”是同义词。 Open vSwitch 实现了一个以太网交换机,这意味着它也是一个以太网桥。»
-
您可以编辑您的帖子并在 xterm 或 mininet CLI «s1 ovs-ofctl dump-flows "s1"» 中添加 «ovs-ofctl dump-flows s1» 的结果吗? (如果您使用默认的 mininet 网络,我认为 s1 是网桥(交换机)的名称)。
标签: ubuntu opendaylight mininet sdn