IT/ㄴ Cisco

[VxLAN] VxLAN Static 구성 Lab

TIENE 2025. 1. 16. 14:54
반응형

 

 [VxLAN] VxLAN을 사용하는 이유 에 이어서 실제 VxLAN Static 구성을 정리해본다.

 

[VxLAN] VxLAN을 사용하는 이유

3일동안의 시행착오 끝에 VxLAN 패킷을 확인할 수 있었다. EVE-NG 설치, Intel VT-X/EPT 오류 잡기, Nexus 9K 이미지 설치 및 기타 등등 시작부터 난관을 겪었다. 오로지 VxLAN 패킷을 한번 보고 싶어서, 직접

a-gyuuuu.tistory.com

 

 

1. 구성도

 

 

- 두 개의 Switch와 각각의 Switch에 Host가 존재한다.

- PC는 각기 다른 IP 대역으로 설정되어 있으며, VLAN 10이 설정된 Switch의 포트에 연결되어 있다.

- Host는 동일한 VLAN 에 소속되어 있으며, 각기 다른 IP 대역의 IP를 보유하고 있어도 통신이 가능해야한다.


- Switch는 VTEP으로 분류된다.

- VTEP는 VxLAN 캡슐화와 디캡슐화를 처리하는 장치다.

  = VxLAN Tunnel Endpoint

 

- VTEP에서 VxLAN을 처리하기 위해서는 L3 기반이 정상적으로 동작해야한다. 

- 이러한 L3 기반의 물리적인 네트워크Underlay Network라고 한다.

 

- Undarlay Network 위에 별도의 가상 네트워크를 생성하여 VxLAN을 전달할 수 있는 가상 네트워크를 구축해야한다.

- 이를 Overlay Network 라고 한다.

 

- VTEP은 가상의 네트워크를 생성하기 위해 VTEP 인터페이스를 생성 및 담당한다.

- VTEP 인터페이스는 NVE(Network Viruatlization Edge) 라고 한다. 예) Interface nve1


2. 설정방법

2.1 Underlay

 

VTEP1 (Neuxs 9K)

feature ospf
!
vlan 100
!
interface Ethernet1/1
  no switchport
  mtu 9216
  ip address 10.1.1.1/24
  ip ospf network point-to-point
  ip router ospf 1 area 0.0.0.0
  no shutdown
!
interface Ethernet1/2
  switchport access vlan 100
!
interface loopback0
  ip address 192.168.1.1/24
  ip router ospf 1 area 0.0.0.0
!
router ospf 1
  router-id 1.1.1.1
!

 

 

- OSPF 를 사용하기 위해서는 feature 명령어를 통하여 서비스를 Enable한다. (귀찮은 설정 중 하나다)

- VTEP 간의 물리 인터페이스 설정을 진행한다.

  - E1/1에 IP와 OSPF 설정을 입력한다.

  - 기존 IOS 버전과 다르게 router ospf 1 내에서 설정하지 않고, Interface 내에서 지정한다. (귀찮은 설정 중 두번째다)

  - VxLAN 헤더가 크기 때문에 MTU 사이즈를 최대로 늘린다.

- VTEP과 Host가 연결된 포트에 VLAN을 지정한다. 

- Loopback Interface를 하나 생성한 뒤, OSPF에 광고한다.

- router ospf 1로 진입하고, router-id를 지정해준다.

 

VTEP2 (Neuxs 9K)

feature ospf
!
vlan 100
!
interface Ethernet1/1
  no switchport
  mtu 9216
  ip address 10.1.1.2/24
  ip ospf network point-to-point
  ip router ospf 1 area 0.0.0.0
  no shutdown
!
interface Ethernet1/3
  switchport access vlan 100
!
interface loopback0
  ip address 192.168.2.1/24
  ip router ospf 1 area 0.0.0.0
!
router ospf 1
  router-id 2.2.2.2
!

 

- VTEP1과 IP만 다를 뿐 대동소이다.

 

결과

 

 

- Underlay Network이 정상적으로 구성되었다. 다음은 Overlay Network를 구성해본다.

 

 

 

2.2 Overlay

VTEP1 (Neuxs 9K)

feature vn-segment-vlan-based
feature nv overlay
!
vlan 100
  vn-segment 10000
!
interface nve1
  no shutdown
  source-interface loopback0
  member vni 10000
    ingress-replication protocol static
      peer-ip 192.168.2.1
!

 

- feature 명령어로 overlay 구성에 필요한 기능을 켠다.

  - VLAN과 VNI를 매핑 = vn-segment-vlan-based

  - VxLAN 기능 = nv-overlay

 

- VLAN 100에 VNI 값 10000 매핑한다.

  - VNI (VxLAN Network Identifier)

  - VXLAN 네트워크를 식별하기 위한 24비트 값.

 

* VTEP는 VNI 의 값을 기반으로 트래픽을 특정 논리(가상) 네트워크에 매핑한다. 이를 바탕으로, Overlay Network는 VNI를 통해 VLAN처럼 작동하며, 단일 L2 도메인처럼 동작하는 것이다.

VLAN 100을 VxLAN 헤더로 캡슐화 (VNI 1000)

 

 

- VTEP에 NVE Interface를 생성한다.

  - Source-Interface는 Underlay Network를 구성할 때 생성했던 Loopback Interface로 지정한다.

    - Loopback Interface는 장비가 꺼지지 않는 한, 항상 Up 상태를 유지하여 안정성을 확보한다.

  - VNI 값을 NVE Interface에 지정한다.

    - 내부에서 발생하는 BUM 트래픽을 복사하여 전달하는 방식을 수동 방식으로 지정한다.

    - BUM 트래픽에 VNI 10000을 매핑하여 송/수신하는데, 대상 Peer를 인접한 VTEP의 IP로 수동 지정한다.

    - BUM = Broadcast / Unicast / Multicast

 

 * L2 트래픽은 L3 이상으로 넘어갈 수 없기 때문에, 캡슐화하여 전달해야하고 이때 캡슐화 헤더가 VxLAN이 되는 것이다.

 

 

VTEP2 (Neuxs 9K)

feature vn-segment-vlan-based
feature nv overlay
!
vlan 100
  vn-segment 10000
!
interface nve1
  no shutdown
  source-interface loopback0
  member vni 10000
    ingress-replication protocol static
      peer-ip 192.168.1.1
!

 

- VTEP1과 IP만 다르다.

 

3. 최종 결과

 

3.1 Host 간의 통신 확인

- EVE-NG에서 제공하는 PC가 아닌 Cisco Router를 PC처럼 세팅하였다.

- 그리고, 다음과 같이 통신이 완료되었다.

 

 

3.2 VTEP에서의 상태 확인

show nve peers 

 

 

show nve interface

 

 

show nve internal platform interface detail(9K에만 해당)

 

 

 

show nve vxlan-params

 


show nve internal vni all

 

 

 

show run interface nve1

 

 

show vxlan

 

 

show vxlan interface

 

 

4. VxLAN in Wireshark

 

- 위 show nve vxlan-params 의 결과값에서 나온 것처럼 VxLAN은 Port Number 4789를 사용하고 있다.

 

필드 비트 수  설명
Flags 8 bits - VxLAN 헤어 상태표 시 (1이면 유효한 상태)
Reserved 24 bits - 현재 사용되지 않으며, 0으로 채워짐
VxLAN Network Identifier 24 bits - Overlay 네트워크 식별값 - 최대 16,777,216개 지원
Reserved 8 bits - VxLAN 헤더의 마지막 필드 값. 0으로 채워짐

 


아래는 VXLAN과 관련한 용어들을 정리한 표다. 계속 반복적으로 보고 익혀야겠다.

VNI
(VXLAN Network Identifier)
VXLAN 네트워크를 식별하는 24비트 값. Overlay 네트워크를 구분하며, 최대 16,777,216개의 논리 네트워크를 지원.
VTEP
(VXLAN Tunnel Endpoint)
VXLAN 캡슐화와 디캡슐화를 처리하는 장치. VXLAN 헤더를 추가하여 캡슐화하거나 VXLAN 헤더를 제거하여 디캡슐화.
Underlay Network VXLAN 트래픽을 전달하는 물리적 네트워크(L3 기반). OSPF, IS-IS, BGP 등을 사용하여 VTEP 간 트래픽을 라우팅.
Overlay Network VXLAN을 사용해 구성된 가상 네트워크. Underlay 위에서 VLAN처럼 작동하며, VNI를 사용해 논리적 격리를 제공.
BUM 트래픽 Broadcast, Unknown Unicast, Multicast의 약자. VXLAN 환경에서 Multicast 그룹 또는 Ingress Replication으로 전달.
Ingress Replication Multicast 없이 Static Peer를 설정하여 BUM 트래픽을 전송하는 방식. Multicast 환경을 구성하지 않을 때 사용하며, 직접 VTEP Peer를 지정.
Multicast Group BUM 트래픽을 전달하기 위한 IP Multicast 주소 그룹. VTEP가 특정 Multicast Group에 참여하여 트래픽을 공유.
Control Plane VTEP 간 MAC 주소와 IP 정보를 교환하는 방식. BGP-EVPN과 같은 프로토콜을 사용하여 정보를 전달.
Data Plane 실제 트래픽이 전달되는 경로. VXLAN 캡슐화된 데이터가 VTEP 간 전송. Multicast 또는 Ingress Replication으로 구성.
MAC Learning VTEP가 호스트의 MAC 주소를 학습하는 과정. Control Plane(BGP-EVPN) 또는 Data Plane(BUM 트래픽)을 통해 MAC 정보를 학습.
NVE (Network Virtualization Edge) VTEP 인터페이스를 관리하는 논리적 인터페이스. VXLAN 트래픽 캡슐화 및 디캡슐화를 담당. Cisco 장비에서는 interface nve1로 설정.
L3 Gateway Overlay 네트워크 간 또는 Underlay로의 L3 라우팅을 제공하는 장치. VNI 간 통신과 데이터 센터 내 여러 네트워크를 연결.
VXLAN Header VXLAN 캡슐화 패킷에 추가되는 8바이트 헤더. Flags, Reserved, VNI(VXLAN Network Identifier) 등의 정보를 포함.
BGP-EVPN VXLAN 환경에서 Control Plane 역할을 하는 프로토콜. VTEP 간 MAC/IP 정보 교환 및 VNI 기반 네트워크 확장을 지원.
Spine-Leaf Architecture 데이터센터에서 사용되는 고성능 네트워크 구조. Leaf 스위치에 VTEP가 구현되고 Spine 스위치는 L3 라우팅을 담당.
Flood and Learn VXLAN 환경에서 Control Plane 없이 BUM 트래픽으로 MAC 주소를 학습하는 방식. Static VXLAN 구성에서 사용되며, 대규모 네트워크에서는 확장성 한계가 있음.
Tenant 데이터센터 내 독립적인 가상 네트워크를 나타냄. 각 테넌트는 VNI를 통해 격리된 네트워크 환경을 제공.

 

반응형