4.4. 플랫 프로바이더 네트워크 패킷 흐름은 어떻게 작동합니까?
이 섹션에서는 플랫 프로바이더 네트워크 구성이 있는 인스턴스와의 트래픽 흐름 방법을 자세히 설명합니다.
플랫 공급자 네트워크에서 나가는 트래픽 흐름
다음 다이어그램에서는 인스턴스를 벗어나고 외부 네트워크에 직접 도착하는 트래픽의 패킷 흐름을 설명합니다. br-ex
외부 브리지를 구성한 후 실제 인터페이스를 브리지에 추가하고 Compute 노드에 인스턴스를 생성합니다. 결과적으로 생성된 인터페이스 및 브리지 구성은 다음 다이어그램의 구성과 비슷합니다( iptables_hybrid
방화벽 드라이버를 사용하는 경우).
-
패킷은 인스턴스의
eth0
인터페이스를 종료하고 linux bridgeqbr-xx에 도달합니다
. -
bridge
qbr-xx
는 veth 쌍qvb
에 연결됩니다. 이는 브리지가 보안 그룹에서 정의한 인바운드/아웃바운드 방화벽 규칙을 적용하는 데 사용되기 때문입니다.-xx <-> qvo-xxx를 사용하여 br-
int -
qvb-xx
인터페이스는qbr-xx
Linux 브리지에 연결되고qvoxx
는br-int
Open vSwitch(OVS) 브리지에 연결됩니다.
'qbr-xx'Linux 브리지의 구성 예:
brctl show
# brctl show
qbr269d4d73-e7 8000.061943266ebb no qvb269d4d73-e7
tap269d4d73-e7
br-int의
구성 :qvo-
xx
포트 qvo-xx
는 flat 프로바이더 네트워크와 연결된 내부 VLAN 태그로 태그가 지정됩니다. 이 예에서 VLAN 태그는 5
입니다. 패킷이 qvo-xx
에 도달하면 VLAN 태그가 패킷 헤더에 추가됩니다.
그런 다음 patch-peer int
OVS 브리지로 이동합니다.
-br-ex <-> phy-br-ex를 사용하여 패킷이 br
-ex
br-int
의 patch-peer 구성 예 :
br-ex
의 patch-peer 구성 예 :
이 패킷이 br
에 도달하면 -ex의 phy-br
-exbr-ex
내부의 OVS 흐름이 VLAN 태그를 제거하고 실제 인터페이스로 전달합니다.
다음 예에서 출력에는 phy-br-ex
의 포트 번호가 2
가 표시되어 있습니다.
다음 출력은 VLAN 태그가 5
(dl_vlan=5
)인 phy-br-ex
(in_port=2
)에 도착하는 모든 패킷을 보여줍니다. 또한 br-ex의 OVS 흐름은 VLAN 태그를 제거하고 패킷을 실제 인터페이스로 전달합니다.
ovs-ofctl dump-flows br-ex
# ovs-ofctl dump-flows br-ex
NXST_FLOW reply (xid=0x4):
cookie=0x0, duration=4703.491s, table=0, n_packets=3620, n_bytes=333744, idle_age=0, priority=1 actions=NORMAL
cookie=0x0, duration=3890.038s, table=0, n_packets=13, n_bytes=1714, idle_age=3764, priority=4,in_port=2,dl_vlan=5 actions=strip_vlan,NORMAL
cookie=0x0, duration=4702.644s, table=0, n_packets=10650, n_bytes=447632, idle_age=0, priority=2,in_port=2 actions=drop
실제 인터페이스가 또 다른 VLAN 태그 지정된 인터페이스인 경우 실제 인터페이스는 패킷에 태그를 추가합니다.
플랫 공급자 네트워크에서 들어오는 트래픽 흐름
이 섹션에는 인스턴스의 인터페이스에 도달할 때까지 외부 네트워크에서 들어오는 트래픽 흐름에 대한 정보가 포함되어 있습니다.
-
들어오는 트래픽은 물리적 노드의
eth1
에 도달합니다. -
패킷은
br-ex
브리지에 전달됩니다. -
패킷은 patch-peer
phy
-br-ex <--> int-br-ex를 통해 br-int
로 이동합니다.
다음 예에서 int-br-ex
는 포트 번호 15
를 사용합니다. 15(int-br-ex)
가 포함된 항목을 참조하십시오.
br-int에서 트래픽 흐름 관찰
패킷이
int-br-ex
에 도달하면br-int
브리지 내의 OVS 흐름 규칙이 패킷을 수정하여 내부 VLAN 태그5
를 추가합니다.actions=mod_vlan_vid:5
에 대한 항목을 참조하십시오.Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
두 번째 규칙은 VLAN 태그(vlan_tci=0x0000)가 없는 int-br-ex(in_port=15)에 도착하는 패킷을 관리합니다. 이 규칙은 VLAN 태그 5를 패킷(
actions=mod_vlan_vid:5,NORMAL
)에 추가하고qvoxxx
로 전달합니다. -
qvoXXX
는 VLAN 태그를 제거한 후 패킷을 수락하고qvbxx
로 전달합니다. - 그런 다음 패킷이 인스턴스에 도달합니다.
VLAN 태그 5는 플랫 프로바이더 네트워크가 있는 테스트 컴퓨팅 노드에서 사용된 VLAN의 예입니다. 이 값은 neutron-openvswitch-agent
에서 자동으로 할당했습니다. 이 값은 자체 플랫 프로바이더 네트워크에 따라 다를 수 있으며, 별도의 두 컴퓨팅 노드의 동일한 네트워크에 따라 다를 수 있습니다.