예: MX 시리즈 라우터의 오버레이 핑 및 오버레이 트레이스라우트(Traceroute)를 사용하여 VXLAN 오버레이 네트워크 문제 해결
VXLAN(Virtual Extensible LAN) 오버레이 네트워크에서 기존 ping 및 traceroute 명령은 기본 물리적 네트워크에서 가상 터널 엔드포인트(VTEP) 역할을 하는 두 주니퍼 네트웍스 디바이스 간의 기본 연결을 확인할 수 있습니다. 그러나 두 VTEP 사이에는 중개 디바이스를 통과하는 여러 경로가 있을 수 있으며 ping 및 traceroute 패킷은 해당 대상에 성공적으로 도달할 수 있는 반면, 데이터 패킷이 일반적으로 목적지에 도달하도록 전달되는 다른 경로에는 연결 문제가 있습니다.
MX 시리즈 라우터용 Junos OS 릴리스 16.2에 매개 변수 및 기타 옵션이 도입 overlay 됨에 따라 및 traceroute 명령을 사용하여 ping VXLAN 문제를 해결할 수 있습니다.
핑 및 트레이스라우트 메커니즘이 VXLAN에서 작동하려면 OAM(Operations, Administration, and Management) 패킷이라고도 하는 핑 및 트레이스라우트 패킷을 VXLAN 세그먼트를 통해 전달된 데이터 패킷과 동일한 VXLAN 헤더(외부 헤더)로 캡슐화해야 하며, 연결 문제가 발생할 수 있습니다. 연결 문제가 발생하면 오버레이 OAM 패킷에 데이터 패킷과 동일한 문제가 발생합니다.
이 예는 VTEP에서 오버레이 핑 및 트레이스라우트를 사용하여 VXLAN에서 다음을 확인하는 방법을 보여줍니다.
시나리오 1 - 특정 VXLAN이 다른 VTEP에 구성되어 있는지 확인합니다.
시나리오 2 - 특정 엔드포인트의 MAC 주소가 원격 VXLAN 원격 VTEP의 VXLAN과 연결되어 있는지 확인합니다.
시나리오 3 - 송신 엔드포인트와 수신 엔드포인트 간의 특정 데이터 흐름에 문제가 없는지 확인합니다.
및 traceroute overlay 명령을 실행할 ping overlay 때, 명령을 발행하는 소스 VTEP 및 핑 패킷을 수신하는 대상 VTEP는 오버레이 핑 및 트레이스라우트를 지원하는 주니퍼 네트웍스 디바이스여야 합니다.
요구 사항
이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.
응용 프로그램이 직접 실행되는 물리적 서버 3개.
Junos OS 릴리스 16.2 이상 소프트웨어를 실행하는 MX 시리즈 라우터 2개. 이 라우터는 VTEP의 역할을 합니다.
주니퍼 네트웍스 라우터 또는 다른 벤더에서 제공한 라우터일 수 있는 레이어 3 라우터 2개
및 traceroute overlay 명령을 실행 ping overlay 하기 전에 특정 시나리오에 사용되는 각 매개 변수(예: IP 주소 또는 MAC 주소)에 필요한 정보를 수집합니다. 표 1을 참조하여 각 시나리오에 사용되는 매개 변수를 판별하십시오.
개요 및 토폴로지
그림 1의 VXLAN 토폴로지에는 애플리케이션이 직접 실행되는 물리적 서버 A, B, C가 포함됩니다. 물리적 서버 A와 B의 애플리케이션은 물리적 서버 C의 애플리케이션과 통신해야 합니다. 이러한 서버는 동일한 서브넷에 있으므로 애플리케이션 간의 통신은 레이어 2 수준에서 이루어지며, VXLAN 캡슐화 또는 터널을 사용하여 레이어 3 네트워크를 통해 데이터 패킷을 전송합니다.
문제 해결
이 토폴로지에는 VTEP 역할을 하는 두 개의 MX 시리즈 라우터가 있습니다. VTEP1은 물리적 서버 A와 B를 위해 VXLAN 터널을 시작하고 종료하며, VTEP2는 물리적 서버 C에 대해 동일한 작업을 수행합니다. VTEP1과 VTEP2는 VXLAN 100에 있습니다.
물리적 서버 A에서 전송된 데이터 패킷은 일반적으로 물리적 서버 C에 도달하기 위해 IP 주소가 192.0.2.30인 레이어 3 라우터로 라우팅됩니다.
이 VXLAN 토폴로지에서는 물리적 서버 A와 C 사이에 통신 문제가 발생합니다. 이 데이터 플로우의 문제를 해결하려면 VTEP1(소스 VTEP 또는 tunnel-src)에서 및 traceroute overlay 명령을 시작하고 ping overlay VTEP2를 대상 VTEP 또는 tunnel-dst로 지정할 수 있습니다.
및 traceroute overlay 명령에는 ping overlay 여러 매개 변수가 포함됩니다. 표 1 은 목적을 설명하고 세 가지 시나리오에서 사용되는 각 매개 변수에 대한 값을 제공합니다.
표 1 에는 사용 가능한 ping overlay 모든 및 traceroute overlay 매개변수가 포함되어 있지 않습니다. 이 예제에서는 이러한 생략된 매개 변수의 기본값을 사용합니다.
|
묘사 |
매개 변수가 적용되는 시나리오 |
값 |
|---|---|---|---|
|
문제 해결 중인 터널 유형을 식별합니다. |
모두 |
가상 확장형 LAN(VXLAN) |
|
이 예에서 사용된 VXLAN의 VXLAN 네트워크 식별자(VNI). |
모두 |
100 |
|
오버레이 ping 또는 트레이스라우트를 시작하는 VTEP1의 IP 주소입니다. |
모두 |
192.0.2.10 |
|
오버레이 핑 또는 트레이스라우트 패킷을 수신하는 VTEP2의 IP 주소. |
모두 |
192.0.2.20 |
|
대상 엔드포인트인 물리적 서버 C의 MAC 주소입니다. |
시나리오 2 및 3 |
00:00:5E:00:53:cc |
|
VTEP1이 보내는 오버레이 ping 요청 수입니다.
메모:
count 매개 변수는 오버레이 traceroute에 적용되지 않습니다. |
모두 |
5 |
|
소스 엔드포인트인 물리적 서버 A의 MAC 주소입니다. |
시나리오 3 |
00:00:5E:00:53:aa |
|
대상 엔드포인트인 물리적 서버 C의 MAC 주소입니다.
메모:
시나리오 3에 대해 이 매개변수를 지정할 때 MAC 주소는 매개변수에 지정된 |
시나리오 3 |
00:00:5E:00:53:cc |
|
물리적 서버 A의 IP 주소입니다. |
시나리오 3 |
198.51.100.1 |
|
물리적 서버 C의 IP 주소입니다. |
시나리오 3 |
198.51.100.3 |
|
데이터 흐름에 사용되는 프로토콜의 값입니다. |
시나리오 3 |
17 |
|
외부 TCP/UDP 원본 포트의 값입니다. |
시나리오 3 |
4456 |
|
외부 UDP 대상 포트의 값입니다. |
시나리오 3 |
4540 |
표 1 에는 시나리오 3에 사용되는 여러 해시 매개 변수가 포함되어 있습니다. 이러한 각 매개 변수에 대해 문제를 해결할 데이터 흐름과 연결된 값을 지정해야 합니다. 지정한 값에 따라 시스템은 오버레이 핑 및 트레이스라우트 패킷의 VXLAN UDP 헤더에 포함된 VXLAN UDP 헤더 소스 포트 해시를 계산합니다. VXLAN UDP 헤더에 계산된 해시를 포함하면 오버레이 핑 및 트레이스라우트 패킷이 문제 해결 중인 플로우의 데이터 패킷을 에뮬레이션할 수 있습니다.
해시 매개 변수를 사용할 때는 각 매개 변수에 대한 값을 지정하는 것이 좋습니다. 이렇게 하면 오버레이 핑 및 트레이스라우트 프로세스가 성공하고 각 명령어의 출력이 정확해집니다. 하나 이상의 해시 매개 변수에 대한 값을 지정하지 않으면 시스템은 잘못된 해시 값을 포함할 수 있는 OAM 요청을 전송하고 경고 메시지를 생성합니다.
구성
확인
이 섹션에는 다음과 같은 확인 작업이 포함됩니다.
시나리오-1: VTEP2에서 VXLAN 100이 구성되었는지 확인
목적
VNI가 100인 VXLAN이 VTEP2에 구성되었는지 확인합니다. 오버레이 ping 또는 traceroute를 사용하여 이 확인을 수행할 수 있습니다.
행동
오버레이 핑
VTEP1에서 오버레이 ping을 시작합니다:
user@switch> ping overlay tunnel-type vxlan vni 100 tunnel-src 192.0.2.10 tunnel-dst 192.0.2.20 count 5
ping-overlay protocol vxlan
vni 100
tunnel src ip 192.0.2.10
tunnel dst ip 192.0.2.20
mac address 00:00:00:00:00:00
count 5
ttl 255
WARNING: following hash-parameters are missing -
hash computation may not succeed
end-host smac
end-host dmac
end-host src ip
end-host dst ip
end-host protocol
end-host l4-src-port
end-host l4-dst-port
Request for seq 1, to 192.0.2.20, at 09-24 22:03:16 PDT.033 msecs
Response for seq 1, from 192.0.2.20, at 09-24 22:03:16 PDT.036 msecs, rtt 10 msecs
Overlay-segment not present at RVTEP 192.0.2.20
Request for seq 2, to 192.0.2.20, at 09-24 22:03:16 PDT.044 msecs
Response for seq 2, from 192.0.2.20, at 09-24 22:03:16 PDT.046 msecs, rtt 10 msecs
Overlay-segment not present at RVTEP 192.0.2.20
Request for seq 3, to 192.0.2.20, at 09-24 22:03:16 PDT.054 msecs
Response for seq 3, from 192.0.2.20, at 09-24 22:03:16 PDT.057 msecs, rtt 10 msecs
Overlay-segment not present at RVTEP 192.0.2.20
Request for seq 4, to 192.0.2.20, at 09-24 22:03:16 PDT.065 msecs
Response for seq 4, from 192.0.2.20, at 09-24 22:03:16 PDT.069 msecs, rtt 10 msecs
Overlay-segment not present at RVTEP 192.0.2.20
Request for seq 5, to 192.0.2.20, at 09-24 22:03:16 PDT.076 msecs
Response for seq 5, from 192.0.2.20, at 09-24 22:03:16 PDT.079 msecs, rtt 10 msecs
Overlay-segment not present at RVTEP 192.0.2.20
오버레이 트레이스라우트
VTEP1에서 오버레이 트레이스라우트를 시작합니다.
user@switch> traceroute overlay tunnel-type vxlan vni 100 tunnel-src 192.0.2.10 tunnel-dst 192.0.2.20
traceroute-overlay protocol vxlan
vni 100
tunnel src ip 192.0.2.10
tunnel dst ip 192.0.2.20
mac address 00:00:00:00:00:00
ttl 255
WARNING: following hash-parameters are missing -
hash computation may not succeed
end-host smac
end-host dmac
end-host src ip
end-host dst ip
end-host protocol
end-host l4-src-port
end-host l4-dst-port
ttl Address Sender Timestamp Receiver Timestamp Response Time
1 10.1.0.2 09-25 00:51:10 PDT.599 msecs * 10 msecs
2 192.0.2.20 09-25 00:51:10 PDT.621 msecs 09-25 00:51:10 PDT.635 msecs 21 msecs
Overlay-segment not present at RVTEP 192.0.2.20
의미
샘플 오버레이 ping 출력은 다음을 나타냅니다.
VTEP1은 VTEP2에 5개의 ping 요청을 보냈고, VTEP2는 각 요청에 응답했습니다.
VTEP2는 VNI 100이 구성되지 않았음을 나타내고(
Overlay-segment not present at RVTEP 192.0.2.20), 이 정보를 VTEP1에 대한 응답에 포함시켰습니다.
샘플 오버레이 traceroute 출력은 다음을 나타냅니다.
TTL(Time-to-Live) 값이 1홉인 오버레이 트레이스라우트 패킷을 수신하면 레이어 3 라우터는 VTEP1에 응답합니다.
TTL 값이 2홉인 오버레이 트레이스라우트 패킷을 수신하면 VTEP2는 VTEP1에 응답합니다.
VTEP2는 VNI 100이 구성되지 않았음을 나타내고(오버레이 세그먼트가 RVTEP 192.0.2.20에 없음) VTEP1에 대한 응답에 이 정보를 포함시켰습니다.
오버레이 트레이스라우트 출력의 수신자 타임스탬프 열에 있는 별표(*)는 오버레이 트레이스라우트 패킷을 수신한 레이어 3 라우터가 주니퍼 네트웍스 디바이스가 아니거나 오버레이 트레이스라우트를 지원하지 않는 주니퍼 네트웍스 디바이스임을 나타냅니다.
오버레이 핑 및 트레이스라우트의 출력이 모두 VXLAN 100이 존재하지 않음을 나타낸다는 점을 감안할 때, VTEP2에서 이 구성을 확인합니다. VTEP2에서 VNI 100을 구성해야 하는 경우 계층 수준에서 vni 구성 문을 [edit vlans vlan-id vxlan] 사용하고 명령을 다시 실행하거나 ping overlay 또는 traceroute overlay 명령을 실행하여 VXLAN 100이 인식되는지 확인합니다.
시나리오 2: 대상 엔드포인트의 MAC 주소가 VTEP2에 있는지 확인
목적
대상 엔드포인트인 물리적 서버 C의 MAC 주소(00:00:5E:00:53:cc)가 VTEP2의 포워딩 테이블에 있는지 확인합니다. 오버레이 ping 또는 traceroute를 사용하여 이 확인을 수행할 수 있습니다.
행동
오버레이 핑
VTEP1에서 오버레이 ping을 시작합니다:
user@switch> ping overlay tunnel-type vxlan vni 100 tunnel-src 192.0.2.10 tunnel-dst 192.0.2.20 mac 00:00:5E:00:53:cc count 5
ping-overlay protocol vxlan
vni 100
tunnel src ip 192.0.2.10
tunnel dst ip 192.0.2.20
mac address 00:00:5E:00:53:cc
count 5
ttl 255
WARNING: following hash-parameters are missing -
hash computation may not succeed
end-host smac
end-host dmac
end-host src ip
end-host dst ip
end-host protocol
end-host l4-src-port
end-host l4-dst-port
Request for seq 1, to 192.0.2.20, at 09-24 23:53:54 PDT.089 msecs
Response for seq 1, from 192.0.2.20, at 09-24 23:53:54 PDT.089 msecs, rtt 6 msecs
Overlay-segment present at RVTEP 192.0.2.20
End-System Not Present
Request for seq 2, to 192.0.2.20, at 09-24 23:53:54 PDT.096 msecs
Response for seq 2, from 192.0.2.20, at 09-24 23:53:54 PDT.100 msecs, rtt 10 msecs
Overlay-segment present at RVTEP 192.0.2.20
End-System Not Present
Request for seq 3, to 192.0.2.20, at 09-24 23:53:54 PDT.107 msecs
Response for seq 3, from 192.0.2.20, at 09-24 23:53:54 PDT.111 msecs, rtt 10 msecs
Overlay-segment present at RVTEP 192.0.2.20
End-System Not Present
Request for seq 4, to 192.0.2.20, at 09-24 23:53:54 PDT.118 msecs
Response for seq 4, from 192.0.2.20, at 09-24 23:53:54 PDT.122 msecs, rtt 11 msecs
Overlay-segment present at RVTEP 192.0.2.20
End-System Not Present
Request for seq 5, to 192.0.2.20, at 09-24 23:53:54 PDT.129 msecs
Response for seq 5, from 192.0.2.20, at 09-24 23:53:54 PDT.133 msecs, rtt 10 msecs
Overlay-segment present at RVTEP 192.0.2.20
End-System Not Present
오버레이 트레이스라우트
VTEP1에서 오버레이 트레이스라우트를 시작합니다.
user@switch> traceroute overlay tunnel-type vxlan vni 100 tunnel-src 192.0.2.10 tunnel-dst 192.0.2.20 mac 00:00:5E:00:53:cc
traceroute-overlay protocol vxlan
vni 100
tunnel src ip 192.0.2.10
tunnel dst ip 192.0.2.20
mac address 00:00:5E:00:53:cc
ttl 255
WARNING: following hash-parameters are missing -
hash computation may not succeed
end-host smac
end-host dmac
end-host src ip
end-host dst ip
end-host protocol
end-host l4-src-port
end-host l4-dst-port
ttl Address Sender Timestamp Receiver Timestamp Response Time
1 10.1.0.1 09-25 00:56:17 PDT.663 msecs * 10 msecs
2 192.0.2.20 09-25 00:56:17 PDT.684 msecs 09-25 00:56:17 PDT.689 msecs 11 msecs
Overlay-segment present at RVTEP 192.0.2.20
End-System not Present
의미
샘플 오버레이 ping 출력은 다음을 나타냅니다.
VTEP1은 VTEP2에 5개의 ping 요청을 보냈고, VTEP2는 각 요청에 응답했습니다.
VTEP2는 100의 VNI가 구성되었지만(
Overlay-segment present at RVTEP 192.0.2.20), 물리적 서버 C의 MAC 주소는 포워딩 테이블(End-System Not Present)에 없음을 확인했습니다. VTEP2는 VTEP1에 대한 응답에 이 정보를 포함했습니다.
샘플 오버레이 traceroute 출력은 다음을 나타냅니다.
TTL 값이 1홉인 오버레이 트레이스라우트 패킷을 수신하면 레이어 3 라우터가 VTEP1에 응답합니다.
TTL 값이 2홉인 오버레이 트레이스라우트 패킷을 수신하면 VTEP2는 VTEP1에 응답합니다.
VTEP2는 100의 VNI가 구성되고(
Overlay-segment present at RVTEP 192.0.2.20) 물리적 서버 C의 MAC 주소가 포워딩 테이블(End-System Present)에 있음을 확인했습니다. VTEP2는 VTEP1에 대한 응답에 이 정보를 포함했습니다.
오버레이 트레이스라우트 출력의 수신자 타임스탬프 열에 있는 별표(*)는 오버레이 트레이스라우트 패킷을 수신한 레이어 3 라우터가 주니퍼 네트웍스 디바이스가 아니거나 오버레이 트레이스라우트를 지원하지 않는 주니퍼 네트웍스 디바이스임을 나타냅니다.
오버레이 핑 및 트레이스라우트의 출력이 모두 물리적 서버 C의 MAC 주소를 VTEP2에서 알 수 없음을 나타낸다는 점을 감안할 때, 이 MAC 주소가 VTEP2의 포워딩 테이블에 없는 이유를 확인하기 위해 추가로 조사해야 합니다.
시나리오 3: 데이터 흐름 확인
목적
물리적 서버 A에서 물리적 서버 C로의 데이터 흐름을 방해할 수 있는 문제가 없는지 확인합니다. 이 플로우를 지원하는 네트워킹 디바이스에는 VTEP1, IP 주소가 192.0.2.30인 레이어 3 라우터 및 VTEP2가 포함됩니다( 그림 1 참조).
처음에는 오버레이 ping을 사용하고 오버레이 ping 결과가 문제를 나타내는 경우 오버레이 traceroute를 사용하여 경로에서 문제가 있는 디바이스를 확인합니다.
오버레이 핑과 트레이스라우트 모두에서 해시 매개 변수를 사용하여 이 데이터 플로우의 디바이스에 대한 정보를 지정하면 시스템이 오버레이 핑 및 트레이스라우트 패킷의 VXLAN UDP 헤더에 포함된 VXLAN UDP 헤더 소스 포트 해시를 계산할 수 있습니다. VXLAN UDP 헤더에 포함된 계산된 해시를 사용하면 오버레이 핑 및 트레이스라우트 패킷이 이 플로우의 데이터 패킷을 에뮬레이션할 수 있으며, 이를 통해 보다 정확한 핑 및 트레이스라우트 결과를 생성할 수 있습니다.
행동
오버레이 핑
VTEP1에서 오버레이 ping을 시작합니다:
user@switch> ping overlay tunnel-type vxlan vni 100 tunnel-src 192.0.2.10 tunnel-dst 192.0.2.20 mac 00:00:5E:00:53:cc count 5 hash-source-mac 00:00:5E:00:53:aa hash-destination-mac 00:00:5E:00:53:cc hash-source-address 198.51.100.1 hash-destination-address 198.51.100.3 hash-protocol 17 hash-source-port 4456 hash-destination-port 4540
ping-overlay protocol vxlan
vni 100
tunnel src ip 192.0.2.10
tunnel dst ip 192.0.2.20
mac address 00:00:5E:00:53:cc
count 5
ttl 255
hash-parameters:
input-ifd-idx 653
end-host smac 00:00:5E:00:53:aa
end-host dmac 00:00:5E:00:53:cc
end-host src ip 198.51.100.1
end-host dst ip 198.51.100.3
end-host protocol 17
end-host l4-src-port 4456
end-host l4-dst-port 4540end-host vlan 150
Request for seq 1, to 192.0.2.20, at 09-24 19:15:33 PDT.352 msecs
Request for seq 2, to 192.0.2.20, at 09-24 19:15:33 PDT.363 msecs
Request for seq 3, to 192.0.2.20, at 09-24 19:15:33 PDT.374 msecs
Request for seq 4, to 192.0.2.20, at 09-24 19:15:33 PDT.385 msecs
Request for seq 5, to 192.0.2.20, at 09-24 19:15:33 PDT.396 msecs
오버레이 트레이스라우트
필요한 경우 VTEP1에서 오버레이 트레이스라우트를 시작합니다.
user@switch> traceroute overlay tunnel-type vxlan vni 100 tunnel-src 192.0.2.10 tunnel-dst 192.0.2.20 mac 00:00:5E:00:53:cc hash-source-mac 00:00:5E:00:53:aa hash-destination-mac 00:00:5E:00:53:cc hash-source-address 198.51.100.1 hash-destination-address 198.51.100.3 hash-protocol 17 hash-source-port 4456 hash-destination-port 4540
traceroute-overlay protocol vxlan
vni 100
tunnel src ip 192.0.2.10
tunnel dst ip 192.0.2.20
mac address 00:00:5E:00:53:cc
ttl 255
hash-parameters:
input-ifd-idx 653
end-host smac 00:00:5E:00:53:aa
end-host dmac 00:00:5E:00:53:cc
end-host src ip 198.51.100.1
end-host dst ip 198.51.100.3
end-host protocol 17
end-host l4-src-port 4456
end-host l4-dst-port 4540
ttl Address Sender Timestamp Receiver Timestamp Response Time
1 10.1.0.1 09-25 00:56:17 PDT.663 msecs * 10 msecs
의미
샘플 오버레이 ping 출력은 VTEP1이 VTEP2에 5개의 ping 요청을 보냈지만 VTEP2가 어떤 요청에도 응답하지 않았음을 나타냅니다. VTEP2의 응답 부족은 VTEP1과 레이어 3 라우터 사이의 경로 또는 레이어 3 라우터와 VTEP2 사이의 경로를 따라 연결 문제가 존재함을 나타냅니다.
문제가 발생한 경로를 추가로 해결하기 위해 오버레이 traceroute가 사용됩니다. 샘플 오버레이 traceroute 출력은 다음을 나타냅니다.
TTL 값이 1홉인 오버레이 트레이스라우트 패킷을 수신하면 레이어 3 라우터는 VTEP1에 응답하며, 이는 VTEP1과 레이어 3 라우터 간의 경로가 작동 중임을 나타냅니다.
VTEP2는 오버레이 트레이스라우트 패킷에 응답하지 않으며, 이는 레이어 3 라우터와 VTEP2 간의 경로가 다운되었을 수 있음을 나타냅니다.
오버레이 트레이스라우트 출력의 수신자 타임스탬프 열에 있는 별표(*)는 오버레이 트레이스라우트 패킷을 수신한 레이어 3 라우터가 주니퍼 네트웍스 디바이스가 아니거나 오버레이 트레이스라우트를 지원하지 않는 주니퍼 네트웍스 디바이스임을 나타냅니다.
오버레이 트레이스라우트 출력이 레이어 3 라우터와 VTEP2 사이에 연결 문제가 있음을 나타낸다는 점을 감안할 때, 이 경로 세그먼트를 추가로 조사하여 문제의 원인을 파악해야 합니다.