原文:/2012/11/27/connecting-ovs-bridges-with-patch-ports/
一些理解:
- OpenSwitch可以用于创建虚拟交换机,之后可以创建虚拟端口绑定在虚拟交换机上,或者把虚拟或物理网卡绑定在虚拟交换机上。
- 通过OpenSwitch创建的虚拟交换机可以实现各种互连需求,例如物理机---物理机、虚拟机---虚拟机、物理机---虚拟机、网桥---网桥等场景下的互联。/介绍了5中场景以及实现方式。
- OpenSwitch创建的虚拟交换机可以有IP,但是虚拟端口没有IP。
- 在Openstack的网络中,不管何种方案,最终实现的通信本质上都是样建立从一个网卡与另一个网卡之间的互联,有两方面,在二层,两个网卡直连是不行的,中间有转发层,即至少有一层网桥或交换机;位于首位的两个网卡之间还有其它网卡时,就必须有多层的网桥/交换机(brige/switch),即用一根网线把两个网卡相连是不行的,而必须有中间层;在三层看,要实现IP路由,但是网卡不具备这个功能,它肯定是把数据发到网桥/交换机上,并有这个中间设备再把数据转发到另一个网卡上。
- 网桥/交换机上的是接口Port,不是网卡ethx,但是网卡可以作为port,在bond模式下,例如bond1是Port,而Interface是eth0和eth1。当网卡连接到网桥上时,实际中是一根网线将网卡的网口和网桥上的一个网口连起来了。
- 所谓一个TAP设备,就可以理解为网桥上的一个Port,VM的网口通过与网桥上的一个TAP设备互联俩接入网桥。此外,在VM上,网卡也是作为一个设备存在的。
连接在同一个网桥上的网络是相通的,例如一个物理机中的多个VM通过连接到同一个虚拟网桥上来实现互连,此外,VM通过网桥连接到公网也是这个原理。
例一:
Bridge "ovsbr2"
Port "ovsbr2"
Interface "ovsbr2"
type: internal
Port "patch2-0"
Interface "patch2-0"
type: patch
options: {peer="patch0-2"}
Bridge "ovsbr0"
Port <strong>"bond0</strong>"
Interface "eth0"
Interface "eth2"
Port "patch0-2"
Interface "patch0-2"
type: patch
options: {peer="patch2-0"}
Port "ovsbr0"
Interface "ovsbr0"
type: internal
可以看出ovsbr2和ovsbr1是联通的,ovsbr2没有物理链路,ovsbr0具有物理链路,此时当一个server连接到ovsbr2时,就通过ovsbr1获得了链接外网的通路。
例二:
如下是通过Fuel9.0安装的Openstack环境的Controller节点的OpenSwitch网络状态以及网卡信息:可以看出,只有部分网卡连接到OpenSwitch的网桥上,而OpenSwitch网桥上有很多虚拟端口(用于实现虚拟网桥互联或是VLAN),也有少数为网卡。
502294bb-9058-439e-9174-14880369bc70
Bridge br-int
fail_mode: secure
Port int-br-prv
Interface int-br-prv
type: patch
options: {peer=phy-br-prv}
Port "qr-e29e4ce4-b1"
tag: 1
Interface "qr-e29e4ce4-b1"
type: internal
Port "tap98cf34e6-e8"
tag: 1
Interface "tap98cf34e6-e8"
type: internal
Port int-br-floating
Interface int-br-floating
type: patch
options: {peer=phy-br-floating}
Port br-int
Interface br-int
type: internal
Port "qg-bfe5654d-d1"
tag: 2
Interface "qg-bfe5654d-d1"
type: internal
Bridge br-floating
<strong> Port "p_ff798dba-0"
Interface "p_ff798dba-0"
type: internal
Port br-floating
Interface br-floating
type: internal</strong>
Port phy-br-floating
Interface phy-br-floating
type: patch
options: {peer=int-br-floating}
Bridge br-prv
Port phy-br-prv
Interface phy-br-prv
type: patch
options: {peer=int-br-prv}
<strong> Port br-prv
Interface br-prv
type: internal
Port "p_eeee51a2-0"
Interface "p_eeee51a2-0"</strong>
type: internal
ovs_version: "2.4.1"
br-ex Link encap:Ethernet HWaddr 02:16:f1:b7:3e:28
inet addr:172.16.0.4 Bcast:172.16.0.255 Mask:255.255.255.0
inet6 addr: fe80::6845:e3ff:fed4:43f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:263275 errors:0 dropped:0 overruns:0 frame:0
TX packets:99184 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9756334 (9.7 MB) TX bytes:5220085 (5.2 MB)
<strong>br-floating</strong> Link encap:Ethernet HWaddr a6:68:10:21:d3:4b
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:191514 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8367990 (8.3 MB) TX bytes:270 (270.0 B)
br-fw-admin Link encap:Ethernet HWaddr 08:00:27:11:99:1b
inet addr:10.20.0.7 Bcast:10.20.0.255 Mask:255.255.255.0
inet6 addr: fe80::2858:6aff:fe9f:e1ae/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:497649 errors:0 dropped:0 overruns:0 frame:0
TX packets:873355 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:189333258 (189.3 MB) TX bytes:303474053 (303.4 MB)
br-mgmt Link encap:Ethernet HWaddr 08:00:27:11:99:1b
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::8ca1:63ff:fe47:1cb0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3857338 errors:0 dropped:0 overruns:0 frame:0
TX packets:3230442 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:730515833 (730.5 MB) TX bytes:790799261 (790.7 MB)
<strong>br-prv </strong> Link encap:Ethernet HWaddr d2:19:53:3c:55:4b
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:37161 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2158951 (2.1 MB) TX bytes:270 (270.0 B)
br-storage Link encap:Ethernet HWaddr 08:00:27:11:99:1b
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::f898:ebff:fed7:ce8f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9 errors:0 dropped:0 overruns:0 frame:0
TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:592 (592.0 B) TX bytes:900 (900.0 B)
enp0s3 Link encap:Ethernet HWaddr 08:00:27:11:99:1b
inet6 addr: fe80::a00:27ff:fe11:991b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1107839 errors:0 dropped:0 overruns:0 frame:0
TX packets:1473974 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:442304763 (442.3 MB) TX bytes:483309969 (483.3 MB)
enp0s8 Link encap:Ethernet HWaddr 08:00:27:4e:cd:da
inet6 addr: fe80::a00:27ff:fe4e:cdda/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:26696 errors:0 dropped:0 overruns:0 frame:0
TX packets:211481 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2599972 (2.5 MB) TX bytes:26968966 (26.9 MB)
enp0s3.101 Link encap:Ethernet HWaddr 08:00:27:11:99:1b
inet6 addr: fe80::a00:27ff:fe11:991b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:253052 errors:0 dropped:0 overruns:0 frame:0
TX packets:499722 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:78961980 (78.9 MB) TX bytes:69805616 (69.8 MB)
enp0s3.102 Link encap:Ethernet HWaddr 08:00:27:11:99:1b
inet6 addr: fe80::a00:27ff:fe11:991b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:592 (592.0 B) TX bytes:648 (648.0 B)
hapr-host Link encap:Ethernet HWaddr 5a:5a:f3:52:65:6b
inet addr:240.0.0.1 Bcast:0.0.0.0 Mask:255.255.255.252
inet6 addr: fe80::585a:f3ff:fe52:656b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:648 (648.0 B) TX bytes:648 (648.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:11823813 errors:0 dropped:0 overruns:0 frame:0
TX packets:11823813 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1488747954 (1.4 GB) TX bytes:1488747954 (1.4 GB)
mgmt-conntrd Link encap:Ethernet HWaddr 86:76:5f:ec:05:ac
inet6 addr: fe80::8476:5fff:feec:5ac/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:117941 errors:0 dropped:0 overruns:0 frame:0
TX packets:181116 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5793802 (5.7 MB) TX bytes:7607899 (7.6 MB)
<strong>p_eeee51a2-0</strong> Link encap:Ethernet HWaddr 3a:37:a6:c1:8f:d0
inet6 addr: fe80::3837:a6ff:fec1:8fd0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:65000 Metric:1
RX packets:1 errors:0 dropped:0 overruns:0 frame:0
TX packets:37173 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:90 (90.0 B) TX bytes:2160163 (2.1 MB)
<strong>p_ff798dba-0</strong> Link encap:Ethernet HWaddr d6:67:e9:af:88:c0
inet6 addr: fe80::d467:e9ff:feaf:88c0/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:65000 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:191515 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:342 (342.0 B) TX bytes:8368256 (8.3 MB)
v_management Link encap:Ethernet HWaddr 36:b6:98:fd:e5:fe
inet6 addr: fe80::34b6:98ff:fefd:e5fe/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3367185 errors:0 dropped:0 overruns:0 frame:0
TX packets:3181235 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:691242428 (691.2 MB) TX bytes:741617655 (741.6 MB)
v_public Link encap:Ethernet HWaddr 52:cf:26:d3:1a:b4
inet6 addr: fe80::50cf:26ff:fed3:1ab4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:121556 errors:0 dropped:0 overruns:0 frame:0
TX packets:141402 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16437906 (16.4 MB) TX bytes:6725328 (6.7 MB)
v_vrouter Link encap:Ethernet HWaddr fe:ff:d3:c7:46:c5
inet6 addr: fe80::fcff:d3ff:fec7:46c5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:120628 errors:0 dropped:0 overruns:0 frame:0
TX packets:238993 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5089089 (5.0 MB) TX bytes:10906887 (10.9 MB)
v_vrouter_pub Link encap:Ethernet HWaddr 02:16:f1:b7:3e:28
inet6 addr: fe80::16:f1ff:feb7:3e28/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:120146 errors:0 dropped:0 overruns:0 frame:0
TX packets:138215 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5054246 (5.0 MB) TX bytes:6129743 (6.1 MB)
vr-host-base Link encap:Ethernet HWaddr 12:19:8d:cc:2b:3f
inet addr:240.0.0.5 Bcast:0.0.0.0 Mask:255.255.255.252
inet6 addr: fe80::1019:8dff:fecc:2b3f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:938 errors:0 dropped:0 overruns:0 frame:0
TX packets:855 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:63370 (63.3 KB) TX bytes:61297 (61.2 KB)