VXLAN 이해하기
VXLAN(가상 확장형 LAN Protocol) 기술을 통해 네트워크는 더 많은 VLAN을 지원할 수 있습니다. IEEE 802.1Q 표준에 따르면 기존 VLAN 식별자는 12비트 길이이며, 이 명명은 네트워크를 4094개의 VLAN으로 제한합니다. VXLAN 프로토콜은 더 많은 VLAN을 허용하는 더 긴 논리적 네트워크 식별자를 사용하여 이러한 한계를 극복합니다. 따라서 일반적으로 많은 가상 머신을 포함하는 클라우드와 같은 대형 네트워크에 대해 더 논리적인 네트워크 격리가 가능합니다.
VXLAN의 이점
VXLAN 기술을 사용하면 VLAN처럼 네트워크를 세그먼트화할 수 있지만 VLAN이 제공할 수 없는 이점을 제공합니다. VXLAN 사용의 가장 중요한 이점은 다음과 같습니다.
이론적으로 관리 도메인에서 최대 1,600만 개의 VXLAN을 생성할 수 있습니다(주니퍼 네트웍스 디바이스의 VLAN 4094개와는 달리).
MX 시리즈 라우터 및 EX9200 스위치는 32,000개의 VXLAN, 32,000개의 멀티캐스트 그룹 및 8,000개의 가상 터널 엔드포인트(VTEP)를 지원합니다. 즉, MX 시리즈 라우터 기반의 VXLAN은 클라우드 구축자가 다수의 테넌트를 지원하는 데 필요한 규모로 네트워크 세그먼테이션을 제공합니다.
QFX10000 시리즈 스위치는 4,000개의 VXLAN과 2,000개의 원격 VTEP를 지원합니다.
QFX5100, QFX5110, QFX5200, QFX5210 및 EX4600 스위치는 4,000개의 VXLAN, 4000개의 멀티캐스트 그룹 및 2,000개의 원격 VTEP를 지원합니다.
EX4300-48MP 스위치는 4,000개의 VXLAN을 지원합니다.
레이어 3 네트워크를 통해 트래픽을 터널링하여 별도의 레이어 2 도메인에 있는 서버 간에 가상 머신을 마이그레이션할 수 있습니다. 이 기능을 사용하면 레이어 2 경계에 의해 제한되거나 대규모 또는 지리적으로 확장된 레이어 2 도메인을 생성하도록 강요받지 않고 데이터센터 내부 또는 간에 리소스를 동적으로 할당할 수 있습니다.
VXLAN을 사용하여 레이어 3 네트워크를 통해 연결된 더 작은 레이어 2 도메인을 생성하면 스패닝 트리 프로토콜(STP)을 사용하여 토폴로지 수렴을 할 필요가 없지만 대신 레이어 3 네트워크에서 보다 강력한 라우팅 프로토콜을 사용할 수 있습니다. STP가 없으면 링크가 차단되지 않아 구매한 모든 포트에서 완전한 가치를 얻을 수 있습니다. 또한 라우팅 프로토콜을 사용하여 레이어 2 도메인을 연결하면 트래픽을 load-balance하여 사용 가능한 대역폭을 최대한 활용할 수 있습니다. 데이터센터 내부에서 또는 데이터센터 간에 자주 흐르는 east-west 트래픽 양을 감안할 때, 트래픽에 대한 네트워크 성능을 극대화하는 것이 매우 중요합니다.
비디오 데이터센터에서 오버레이 네트워크를 사용하는 이유는 무엇입니까? VXLAN 사용의 이점에 대한 간략한 개요를 제공합니다.
VXLAN의 작동 방식
VXLAN은 IP 주소를 포함하는 VXLAN 패킷에서 이더넷 프레임을 캡슐화(터널링)하여 개입 레이어 3 네트워크를 통해 레이어 2 연결을 확장할 수 있기 때문에 오버레이 기술로 설명되는 경우가 많습니다. VXLAN을 지원하는 디바이스를 가상 터널 엔드포인트(VTEP)라고 합니다. 이 디바이스는 종단 호스트 또는 네트워크 스위치 또는 라우터가 될 수 있습니다. VTEP는 VXLAN 트래픽을 캡슐화하고 VXLAN 터널을 떠날 때 해당 트래픽을 캡슐화 해제합니다. 이더넷 프레임을 캡슐화하기 위해 VTEP는 다음 필드를 포함한 여러 필드를 추가합니다.
외부 미디어 액세스 제어(MAC) 대상 주소(터널 엔드포인트 VTEP의 MAC 주소)
터널 소스 VTEP의 외부 MAC 소스 주소(MAC 주소)
외부 IP 대상 주소(터널 엔드포인트 VTEP의 IP 주소)
외부 IP 소스 주소(터널 소스 VTEP의 IP 주소)
외부 UDP 헤더
VXLAN을 고유하게 식별하는 데 사용되는 VXLAN 네트워크 식별자(VNI)라고 하는 24비트 필드를 포함하는 VXLAN 헤더. VNI는 VLAN ID와 비슷하지만 24비트만 있으면 VLAN보다 더 많은 VXLAN을 생성할 수 있습니다.
VXLAN은 원래 이더넷 프레임에 50~54바이트의 추가 헤더 정보를 추가하므로 기본 네트워크의 최대 전송 단위(MTU)를 늘리고 싶을 수 있습니다. 이 경우 무시되는 논리적 VTEP 소스 인터페이스의 MTU가 아닌 VXLAN 네트워크에 참여하는 물리적 인터페이스의 MTU를 구성합니다.
그림 1 은 VXLAN 패킷 형식을 보여줍니다.
VXLAN 구현 방법
Junos OS 다음 환경에서 VXLAN 구현을 지원합니다.
수동 VXLAN—이 환경에서 주니퍼 네트웍스 디바이스는 VTEP 역할을 하는 다운스트림 디바이스의 전송 디바이스 또는 레이어 3 네트워크를 통해 통신하는 가상 머신(VM)을 호스팅하는 다운스트림 서버에 대한 연결을 제공하는 게이트웨이 역할을 합니다. 이러한 환경에서 SDN(Software-Defined Networking) 컨트롤러는 구축되지 않습니다.
참고:QFX10000 스위치는 수동 VXLAN을 지원하지 않습니다.
OVSDB-VXLAN—이 환경에서 SDN 컨트롤러는 OVSDB(Open vSwitch Database) 관리 프로토콜을 사용하여 컨트롤러(예: VMware NSX 또는 주니퍼 네트웍스 Contrail 컨트롤러)와 OVSDB를 지원하는 주니퍼 네트웍스 디바이스가 통신할 수 있는 수단을 제공합니다.
EVPN-VXLAN — 이 환경에서 이더넷 VPN(EVPN)은 호스트(물리적 서버 및 VM)를 네트워크의 어느 위치에나 배치하고 동일한 논리적 레이어 2 오버레이 네트워크에 계속 연결할 수 있는 컨트롤 플레인 기술이며, VXLAN은 레이어 2 오버레이 네트워크에 대한 데이터 플레인을 생성합니다.
VXLAN을 사용하는 QFX5100, QFX5110, QFX5120, QFX5200, QFX5210, EX4300-48MP 및 EX4600 스위치 사용
다음 역할을 모두 수행하도록 스위치를 구성할 수 있습니다.
(EX4300-48MP를 제외한 모든 스위치) SDN 컨트롤러가 없는 환경에서 VTEP 역할을 하는 다운스트림 호스트에 대한 전송 레이어 3 스위치 역할을 합니다. 이 구성에서는 스위치에서 VXLAN 기능을 구성할 필요가 없습니다. 스위치가 VXLAN 멀티캐스트 그룹에 대한 멀티캐스트 트리를 형성할 수 있도록 IGMP 및 PIM을 구성해야 합니다. (자세한 내용은 수동 VXLAN에 PIM이 필요합니다 .)
(EX4300-48MP를 제외한 모든 스위치) SDN 컨트롤러 유무에 관계없이 동일한 데이터센터 또는 데이터센터 간 가상화 네트워크와 비바이러스화 네트워크 사이의 레이어 2 게이트웨이 역할을 합니다. 예를 들어, 스위치를 사용하여 VXLAN을 사용하는 네트워크를 VLAN을 사용하는 네트워크에 연결할 수 있습니다.
(EX4300-48MP 스위치) 캠퍼스 네트워크에서 가상화 네트워크와 비비상화 네트워크 사이의 레이어 2 게이트웨이 역할을 합니다. 예를 들어, 스위치를 사용하여 VXLAN을 사용하는 네트워크를 VLAN을 사용하는 네트워크에 연결할 수 있습니다.
(EX4300-48MP를 제외한 모든 스위치) 동일하거나 다른 데이터센터의 가상화된 네트워크 사이의 레이어 2 게이트웨이 역할을 하며 가상 머신이 해당 네트워크와 데이터센터 간에 이동(VMotion)을 할 수 있도록 합니다. 예를 들어, 두 개의 서로 다른 네트워크에서 디바이스 간 VMotion을 허용하려면 두 네트워크에서 동일한 VLAN을 생성하고 두 디바이스를 모두 해당 VLAN에 배치할 수 있습니다. VTEP 역할을 하는 이러한 디바이스에 연결된 스위치는 해당 VLAN을 동일한 VXLAN에 매핑할 수 있으며, VXLAN 트래픽은 두 네트워크 간에 라우팅될 수 있습니다.
(EVPN-VXLAN을 갖춘 QFX5110 및 QFX5120 스위치) 동일한 데이터센터에서 서로 다른 VXLAN 간에 트래픽을 라우팅하는 레이어 3 게이트웨이 역할을 합니다.
(EVPN-VXLAN을 갖춘 QFX5110 및 QFX5120 스위치) 표준 라우팅 프로토콜 또는 가상 프라이빗 LAN 서비스(VPLS) 터널을 사용하여 WAN 또는 인터넷을 통해 서로 다른 데이터센터의 서로 다른 VXLAN 간에 트래픽을 라우팅하는 레이어 3 게이트웨이 역할을 합니다.
QFX5110 또는 QFX5120 스위치가 EVPN-VXLAN 환경에서 레이어 3 VXLAN 게이트웨이가 되기를 원한다면 VLAN 간에 트래픽을 라우팅하려는 경우와 마찬가지로 VXLAN을 연결하기 위해 통합 라우팅 및 브리징(IRB) 인터페이스를 구성해야 합니다.
추가 헤더가 50~54바이트 추가되므로 더 큰 패킷을 수용하려면 VTEP에서 MTU를 늘려야 할 수도 있습니다. 예를 들어, 스위치가 1514바이트의 기본 MTU 값을 사용하고 있고 VXLAN을 통해 1500바이트 패킷을 포워딩하려면 추가 헤더로 인한 증가된 패킷 크기를 허용하기 위해 최대 전송 단위(MTU)를 늘려야 합니다.
QFX5100, QFX5110, QFX5200, QFX5210 및 EX4600 스위치에서 UDP 포트 변경
QFX5100 스위치의 Junos OS 릴리스 14.1X53-D25부터 Junos OS QFX5110 및 QFX5200 스위치의 릴리스 15.1X53-D210, QFX5210 스위치의 릴리스 18.1R1 Junos OS EX4600 스위치의 릴리스 18.2R1을 Junos OS VXLAN 트래픽의 대상 포트로 사용되는 UDP 포트를 구성할 수 있습니다. VXLAN 대상 포트를 기본 UDP 포트 4789 이외의 것으로 구성하려면 다음 문을 입력합니다.
set protocols l2-learning destination-udp-port port-number
구성하는 포트는 스위치에 구성된 모든 VXLAN에 사용됩니다.
VXLAN의 한 스위치에서 이러한 변경을 수행하는 경우, 스위치에 구성된 VXLAN을 종료하는 모든 디바이스에서 동일한 변경을 해야 합니다. 그렇게 하지 않으면 스위치에 구성된 모든 VXLAN에 대해 트래픽이 중단됩니다. UDP 포트를 변경할 때 이전에 학습한 원격 VTEP 및 원격 MAC가 손실되고 스위치가 원격 VTEP 및 원격 MAC를 다시 학습할 때까지 VXLAN 트래픽이 중단됩니다.
QFX5100, QFX5110, QFX5200, QFX5210 및 EX4600 스위치에서 전송 멀티캐스트 트래픽 제어
VTEP 역할을 하는 스위치가 브로드캐스트, 알 수 없는 유니캐스트 또는 멀티캐스트 패킷을 수신하면 패킷에 다음 작업을 수행합니다.
패킷을 캡슐화 해제하고 로컬에 연결된 호스트에 전달합니다.
그런 다음 VXLAN 캡슐화를 다시 추가하고 패킷을 VXLAN의 다른 VTEP에 보냅니다.
이러한 작업은 VXLAN 터널 주소로 사용되는 루프백 인터페이스에 의해 수행되며, 따라서 VTEP에서 사용할 수 있는 대역폭에 부정적인 영향을 미칠 수 있습니다. QFX5100 스위치용 Junos OS 릴리스 14.1X53-D30부터 QFX5110 및 QFX5200 스위치용 릴리스 15.1X53-D210을 Junos OS Junos OS QFX5210 스위치용 릴리스 18.1R1 및 EX4600 스위치용 Junos OS 릴리스 18.2R1입니다. 특정 멀티캐스트 그룹에 대한 트래픽을 원하는 VXLAN의 다른 VTEP에 연결된 멀티캐스트 수신기가 없는 경우 다음 문을 입력하여 루프백 인터페이스에서 처리 부하를 줄일 수 있습니다.
set protocols l2-learning disable-vxlan-multicast-transit vxlan-multicast-group multicast-group
이 경우 지정된 그룹에 대해 트래픽이 전달되지 않지만 다른 모든 멀티캐스트 트래픽은 전달됩니다. 멀티캐스트 트래픽을 VXLAN의 다른 VTEP로 전달하지 않으시려면 다음 문을 입력하십시오.
set protocols l2-learning disable-vxlan-multicast-transit vxlan-multicast-group all
MX 시리즈 라우터, EX9200 스위치 또는 QFX10000 스위치를 VTEP로 사용
MX 시리즈 라우터, EX9200 스위치 또는 QFX10000 스위치를 VTEP로 작동하도록 구성하고 다음 역할을 모두 수행할 수 있습니다.
동일한 데이터센터 또는 데이터센터 간 가상화 네트워크와 비비상화 네트워크 사이의 레이어 2 게이트웨이 역할을 하십시오. 예를 들어, MX 시리즈 라우터를 사용하여 VXLAN을 사용하는 네트워크를 VLAN을 사용하는 네트워크에 연결할 수 있습니다.
동일하거나 다른 데이터센터의 가상화된 네트워크 사이의 레이어 2 게이트웨이 역할을 하며 가상 머신이 해당 네트워크와 데이터센터 간에 이동(VMotion)을 할 수 있도록 합니다.
동일한 데이터센터에서 서로 다른 VXLAN 간에 트래픽을 라우팅하는 레이어 3 게이트웨이 역할을 합니다.
표준 라우팅 프로토콜 또는 가상 프라이빗 LAN 서비스(VPLS) 터널을 사용하여 WAN 또는 인터넷을 통해 서로 다른 데이터센터의 서로 다른 VXLAN 간에 트래픽을 라우팅하는 레이어 3 게이트웨이 역할을 합니다.
이 섹션에 설명된 디바이스 중 하나가 VXLAN 레이어 3 게이트웨이가 되기를 원한다면 VLAN 간에 트래픽을 라우팅하려는 경우와 마찬가지로 VXLAN을 연결하기 위해 통합 라우팅 및 브리징(IRB) 인터페이스를 구성해야 합니다.
수동 VXLAN에는 PIM 필요
컨트롤러가 있는 환경(예: VMware NSX 또는 주니퍼 네트웍스 Contrail 컨트롤러)에서는 주니퍼 네트웍스 디바이스에서 VXLAN을 프로비저닝할 수 있습니다. 컨트롤러는 또한 VTEP가 도달 가능성을 광고하고 다른 VTEP의 도달 가능성에 대해 학습하는 데 사용하는 컨트롤 플레인을 제공합니다. 컨트롤러를 사용하는 대신 주니퍼 네트웍스 디바이스에서 VXLAN을 수동으로 생성할 수도 있습니다. 이 접근 방식을 사용하는 경우 VTEP에서 PIM(Protocol Independent Multicast)을 구성하여 자체 간에 VXLAN 터널을 생성해야 합니다.
또한 주어진 VXLAN에서 각 VTEP를 동일한 멀티캐스트 그룹의 구성원으로 구성해야 합니다. (가능하면 필요하지는 않지만 각 VXLAN에 다른 멀티캐스트 그룹 주소를 할당해야 합니다. 여러 VXLAN이 동일한 멀티캐스트 그룹을 공유할 수 있습니다.) 그런 다음 VTEP는 연결된 호스트로부터 수신하는 ARP 요청을 멀티캐스트 그룹으로 전달할 수 있습니다. 그룹의 다른 VTEP는 VXLAN 정보를 캡슐화 해제하고(동일한 VXLAN의 구성원이라고 가정) ARP 요청을 연결된 호스트에 전달합니다. 대상 호스트가 ARP 요청을 수신하면 MAC 주소 응답하고 VTEP는 이 ARP 응답을 소스 VTEP로 다시 전달합니다. 이 프로세스를 통해 VTEP는 VXLAN 내 다른 VTEP의 IP 주소와 다른 VTEP에 연결된 호스트의 MAC 주소를 학습합니다.
멀티캐스트 그룹 및 트리는 VTEP 간에 브로드캐스트, 알 수 없는 유니캐스트 및 BUM(multicast) 트래픽을 전달하는 데에도 사용됩니다. 이를 통해 BUM 트래픽이 VXLAN 외부에서 불필요하게 플러드되는 것을 방지합니다.
VXLAN 터널을 통해 전달되는 멀티캐스트 트래픽은 VXLAN의 원격 VTEP로만 전송됩니다. 즉, 캡슐화 VTEP는 멀티캐스트 트리에 따라 패킷 사본을 복사하여 전송하지 않으며, 수신된 멀티캐스트 패킷만 원격 VTEP로 전달합니다. 원격 VTEP는 캡슐화된 멀티캐스트 패킷을 캡슐화 해제하고 적절한 레이어 2 인터페이스로 전달합니다.
로드 밸런싱 VXLAN 트래픽
VXLAN 터널을 형성하는 레이어 3 경로는 기본적으로 패킷당 로드 밸런싱을 사용하며, 이는 원격 VTEP에 ECMP 경로가 있는 경우 로드 밸런싱이 구현된다는 것을 의미합니다. 이는 패킷당 로드 밸런싱이 기본적으로 사용되지 않는 일반적인 라우팅 동작과 다릅니다. (일반적인 라우팅은 기본적으로 접두사별 로드 밸런싱을 사용합니다.)
UDP 헤더의 소스 포트 필드는 레이어 3 네트워크에서 VXLAN 트래픽의 ECMP 로드 밸런싱을 활성화하는 데 사용됩니다. 이 필드는 내부 패킷 필드의 해시로 설정되며, 이로 인해 ECMP가 터널(플로우)을 구별하는 데 사용할 수 있는 변수가 발생합니다.
플로우 기반 ECMP가 일반적으로 사용하는 다른 필드 중 어느 것도 VXLAN과 함께 사용하기에 적합하지 않습니다. 동일한 두 VTEP 사이의 모든 터널은 동일한 외부 소스 및 대상 IP 주소를 가지며 UDP 대상 포트는 정의에 따라 포트 4789로 설정됩니다. 따라서 이러한 필드 중 어느 것도 ECMP가 흐름을 구별할 수 있는 충분한 방법을 제공하지 못합니다.
QFX5120 스위치를 코어 대면 레이어 3 태그 및 IRB 인터페이스에서 터널 트래픽으로 활성화
이 섹션은 Junos OS 릴리스 18.4R1, 18.4R2, 18.4R2-S1~ 18.4R2-S3, 19.1R1, 19.1R2, 19.2Rx 및 19.3Rx을 실행하는 QFX5120 스위치에만 적용됩니다.
QFX5120 스위치가 코어 대면 레이어 3 태그 처리된 인터페이스 또는 IRB 인터페이스에서 트래픽 터널을 시도하면 스위치는 패킷을 삭제합니다. 이 문제를 피하기 위해 레이어 3 태그 처리된 또는 IRB 인터페이스에서 간단한 2기 필터 기반 방화벽을 구성할 수 있습니다.
QFX5120 스위치는 최대 256개의 2기 필터 기반 방화벽을 지원합니다.
예를 들어:
set interfaces et-0/0/3 unit 0 family inet filter input vxlan100 set firewall family inet filter vxlan100 term 1 from destination-address 192.168.0.1/24 then accept set firewall family inet filter vxlan100 term 2 then routing-instance route1
용어 1은 스위치의 루프백 인터페이스에 할당된 소스 VTEP IP 주소(192.168.0.1/24)로 식별되는 QFX5210 스위치를 목적지로 하는 트래픽을 일치시키고 수용합니다. 용어 1의 경우, 작업을 지정할 때 트래픽을 수락하는 대신 트래픽을 계산할 수 있습니다.
용어 2는 인터페이스 et-0/0/3으로 구성된 라우팅 인스턴스(경로 1)에 다른 모든 데이터 트래픽을 일치시키고 전달합니다.
이 예에서 인터페이스 et-0/0/3은 라우팅 인스턴스 route1에 의해 참조됩니다. 따라서 명령을 포함 set firewall family inet filter vxlan100 term 2 then routing-instance route1
해야 합니다. 이 명령이 없으면 방화벽 필터가 제대로 작동하지 않습니다.
VXLAN에서 핑 및 트레이스라우트 사용
QFX5100 및 QFX5110 스위치에서 및 명령을 사용하여 ping
매개 변수 및 traceroute
다양한 옵션을 포함하여 overlay
VXLAN 터널을 통한 트래픽 플로우 문제를 해결할 수 있습니다. 이러한 옵션을 사용하여 또는 traceroute
패킷이 ping
VXLAN 터널을 통해 데이터 패킷과 동일한 경로를 따르도록 강요합니다. 즉, 언더레이 패킷(및)이 오버레이 패킷(ping
데이터 트래픽)과 traceroute
동일한 경로를 취하게 합니다. 자세한 정보는 핑 오버레이 및 트레이스라우트 오버레이를 참조하십시오.
지원되는 VXLAN 표준
VXLAN에 대한 표준을 정의하는 RFC 및 인터넷 초안:
RFC 7348, 가상 eXtensible Local Area Network(VXLAN): 레이어 3 네트워크에서 가상화된 레이어 2 네트워크를 오버레이하기 위한 프레임워크
인터넷 초안 draft-ietf-nvo3-vxlan-gpe, VXLAN을 위한 일반 프로토콜 확장