[VxLAN] VxLAN을 사용하는 이유 에 이어서 실제 VxLAN Static 구성을 정리해본다.
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 도메인처럼 동작하는 것이다.
- 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를 통해 격리된 네트워크 환경을 제공. |
'IT > ㄴ Cisco' 카테고리의 다른 글
[Nexus] vPC Simple Lab (0) | 2025.01.18 |
---|---|
[정리] Cisco vPC (Virtual Port Channel) 정리 (0) | 2025.01.18 |
[VxLAN] VxLAN을 사용하는 이유 (0) | 2025.01.16 |
[CISCO] IGMP와 PIM의 관계 (0) | 2025.01.14 |
[CISCO] IGMP (Internet Group Management Protocol) (0) | 2025.01.14 |