요약
Campus Network
- 많은 사용자가 연결되는 네트워크
- 회사 , 학교 등….
- 확장성 , 편의성 , 고가용성 고려한 토폴로지 설계 필요
- 3 Tier
- 계층적
- Campus Network 환경에서 많은 비중을 차지하는 상/하 트래픽을 처리 하기 위해 최적화
- Scale up 구조
- Access Layer : End Device 연결 , MAC 통신
- Distribute Layer : Access Layer 통합 , 넉넉한 Bandwidth , L2 또는 L3
- Core Layer : Distribute Layer 통합 , High Spec 장비 , L3
- 네트워크 크기에 따라 Distribute , Core 결합
- Traffic 종류
- 동일한 네트워크 통신 : Access-Layer , Distribute-Layer 통신
- 서로 다른 네트워크 통신 : Distribute-Layer , Core-Layer 통신
- 외부 통신 : Core-Layer 통신
- 고가용성을 위해 장비 이중화 , 링크 이중화 필수
Data Center Network
- 과거에는 3 Tier 사용 했으나 기술의 발전으로 이에 적합한 2 Tier 사용
- 2 Tier
- Spine-Leaf
- 서버가상화 및 Cloud 서비스 , MSA등의 도입으로 Data Center 환경에서 많은 비중을 차지하는 좌/우 트래픽을 처리하기 위해 최적화
- 모든 Spine은 모든 Leaf 와 연결 (interlink 없음)
- 모든 Leaf는 End-device 와 연결
- Spine과 Leaf 연결 구간은 High Performance ECMP (Equal Cost Multi Path) 구성 (주로 40G , 80G , 100G OSPF 구성)
- 목적지가 동일한 Leaf에 연결된 경우를 제외 하고 모든 트래픽이 같은 Cost를 갖음 (1Spine - 1Leaf)
- Scale out 구조 로 Network 성능은 Spine 담당 , 서비스 확장은 Leaf 담당
- VxLAN
- VxLAN의 x는 Extensible의 약자로 Virtual Extensible Local Area Network (=확장된 VLAN)
- Cloud 관련 기술의 발전으로 대규모 L2 Domain 필요
- Spine-Leaf로 구성된 Fabric을 거대한 논리적 Switch로 운영
- 기존 Vlan 기술로는 L3를 넘어서는 L2 통신 불가능
- Underlay L3 환경에서 L2 확장 필요
- 기존 2Tier 환경을 Underlay로 사용하고 Overlay 기술로 VxLAN 사용 (=Tunneling)
- VxLAN Header
- 50 Byte Overhead 발생
- Jumbo Frame 권장
Spine-Leaf
서버 / 네트워크 가상화
서버 가상화는 웹 호스팅 서비스를 제공하고 IT 인프라의 기존 리소스를 효과적으로 활용하기 위한 비용 효율적인 방법이다. 서버를 가상화하지 않으면 서버는 처리 능력의 일부밖에 사용하지 못한다.
워크로드가 네트워크 서버의 일부에만 분산되어 서버는 유휴 상태가 되고, 데이터 센터는 활용도가 낮은 서버로 인해 포화 상태가 되어 리소스와 전력이 낭비
패브릭 네트워크
패브릭네트워크는기존 데이터센터 네트워크에 비해, 단일패브릭으로 구성되어있어 확장 및 관리가 매우 용이하며, 물리적 장비 단위의 서비스 구분을 하지않기 때문에 TCO에도 매우 유리한 아키텍쳐다.
Three-layer hierarchical architecture
- 10년이 넘도록 3가지 계층을 사용
- Core
- Distribution (aggregation)
- Access
- Access 레이어와 Distribution 레이어 사이에는 L2와 STP를 사용해 BLK 존재
- 항상 Backup 링크 존재
- 운영을 위해 모든 링크 사용은 불가
vPC
- STP의 제한을 극복하기 위해 2010년 vPC 도입
- Access 레이어와 Distribution 레이어 사이에 Active – Active 업링크 제공
- 활용 가능한 모든 대역폭 사용
L2 Topology
- 가상화 덕분에 컴퓨팅, 네트워킹 및 스토리지 리소스를 가상 리소스로 사용
- 자원 사용을 위해 대규모 L2 도메인이 필요한 경우가 많아 짐
- 네트워크 전체에 걸친 대규모 L2 도메인을 통해 유연한 리소스 사용 가능
- 가상화 이전에는 단일 Pod의 물리 서버가 사용 됐으나, 가상화에서는 여러 Pod의 하이퍼바이저가 사용
- Pod1의 하이퍼바이저에서 실행되는 가상 시스템은 다운 타임 없이 Pod2의 하이퍼바이저로 이동 가능 (vMotion)
- vMotion은 L2 연결 필요
- Pod 리소스 분산의 부작용은 East-West 트래픽 증가 발생
L3 Topology
- 또 다른 옵션은 어디서나 routing 사용
- Layer3 토폴로지의 장점은 STP 없는 환경을 구성
- 서로 다른 Pod 간에 L2 연결이 필요한 경우 필요에 따라 VxLAN 오버레이 네트워크 사용
Spine and Leaf Architecture (Clos)
- Three-tier 아키텍처의 한계 극복을 위해 개발
- Ease-West 트래픽이 많이 발생하는 데이터센터 내에 높은 대역폭 , 낮은 레이턴시 그리고 BLK 없는 연결을 제공
- 모든 엔드 디바이스가 항상 최대 2홉 내 통신
- 송신 / 수신 사이에는 1 Spine , 1 Leaf 만 존재
- 유일한 예외는 목적지가 같은 Leaf에 연결된 경우
- 각 Leaf 스위치는 모든 Spine 스위치에 연결
- 각 Leaf 스위치는 서버 등의 엔드 디바이스와 연결
- 각 Spine 스위치는 백본 역할
- Leaf 스위치에서 Spine 스위치로 Traffic 전달은 Hash에 의해 Random 으로 Traffic이 모든 Spine간 분산
- Spine 스위치 장애 발생 시 데이터 센터의 퍼포먼스 약간 저하 발생
Conclusion
- 우리는 10년 이상 Three-tier 계층 아키텍처를 사용해 왔고, 현재는 대부분의 데이터 센터에 최적의 옵션이 아님
- STP가1개의 링크를 제외한 모든 링크를 차단
- vPC는 STP의 이 제한을 어떻게든 해결하지만 vPC는 2개의 Active 업링크만 사용 가능
- 가상화로 인해 East-West 트래픽의 증가
- 일부 가상화 솔루션에는 대규모 L2 도메인이 필요
- East-West 트래픽은 어떤 Access Layer에서 다른 Access Layer로 전송하려면 Distribution Layer를 통과하여 Core Layer 도달하고, 다른 Distribution Layer 를 통해 전달 이로 인해 지연과 지연이 증가
- Spine-Leaf 아키텍처에는 Spine과 Leaf이라는 두 개의 레이어가 있고, 주로 East-West 트래픽 흐름을 가진 데이터 센터에 적합
- 각 리프 스위치는 모든 Spine 스위치에 연결
- 모든 엔드 디바이스는 최대 2홉 밖에 떨어져 있지 않고, 이러한 이유로 딜레이와 레이턴시 감소
Hint
가상화된 환경에서 대규모의 가상 네트워크를 구축하기 위한 터널링 프로토콜이다. 기본적으로 VXLAN은 기존의 VLAN(Virtual LAN)을 확장하여 보다 유연하고 확장 가능한 가상 네트워크를 지원한다.
가령, 데이터 센터에서는 여러 대의 서버가 가상화된 환경에서 동작하는데, 이들 서버가 네트워크를 통해 데이터를 주고 받아야 합니다. 이런 환경에서 VXLAN은 논리적인 가상 네트워크를 구성하여 서버들 간의 통신을 원활하게 돕습니다.
패브릭 아키텍쳐 구현
VXLAN 패브릭 아키텍쳐는 기존 Underlay 기술을 그대로 적용하여 사용이 가능하고, Underlay 기반 위에 VXLAN 기반의 Overlay 아키텍쳐를 구현하는 방식을 사용한다.
따라서 기술이 검증되어 있으며, 효율적인 데이터센터 내의 이동성과 가용성을 보장 받을 수 있다.
Vxlan / EVPN
VxLAN Fundamental
VxLAN은 다른말로 MAC in UDP/IP Protocol 이라 불리기도 한다..
특징
- VxLAN의 X는 eXtensible 의 약자 ( L2 Network 의 확장 )
- VxLAN은 L2 세그먼트 ID 필드를 24비트로 확장 ( 최대 1,600만 )
- Multicast 기반 BUM Traffic 처리 ( Multicast Routing 필수 )
- VxLAN 은 MAC in UDP encapsulation 사용 ( UDP destination port 4789 )
- 50Byte Overhead 발생 ( Jumbo Frame 권고 )
- Cisco / VMWare에 의해 IETF에 VXLAN으로 표준 Draft
VNI(24bit)
- VXLAN Overlay Network에 대한 식별자
- VM은 서로 다른 VXLAN Overlay Networks 간에는 통신 불가
- 1600만개의 Segment 생성 가능
Src Port(16bit)
- UDP Source Port는 내부 Packet의 Filed로 Hash하여 계산
Dest Port(16bit)
- UDP 4789 사용
Src IP(32bit)
- VTEP의 Source IP
Dest IP(32bit)
- Destination의 VTEP의 IP
- BUM Traffic은 Multicast Group 사용
Dest MAC(48bit)
- Destination의 VTEP의 MAC
VxLAN 사용하는 이유는?
VXLAN 는 네트워크에 확장성(Scalability), IP 이동성(Mobility), 유연성(Flexibility) 을 제공한다.
DC Network 에서 발생할 수 있는 문제는 뭐가 있을까?
- 가상화 환경에서의 유연한 대응의 한계
- 가상화 상태에서의 VLAN 숫자의 한계
- 고정적인 VLAN Trunk 환경에서 VM 이동성의 한계
VxLAN Evolution
기존 1세대 VxLAN (Flood & Learn) 에는 심각한 한계가 있다.
- No Support for Routing
- VNI 간 라우팅을 하려면 외부 라우터 필요
- Hairpin Traffic 발생 Hairpin 트래픽은 패킷이 원래 네트워크 장비를 떠난 후, 다른 장비를 거쳐 다시 같은 장비로 돌아오는 현상입니다
- VTEPs are not Authenticated
- VTEPs 인증 불가
- Rogue VTEP에 대응 불가
해결책
이러한 한계를 해결하기 위해 2세대 VXLAN 기술이 도입되었다.
대표적인 예로 EVPN (Ethernet VPN) 기반 VXLAN이 있다.
- EVPN-VXLAN: EVPN은 BGP (Border Gateway Protocol)를 사용하여 VNI 간 라우팅을 지원하며, 중앙 집중식 제어를 통해 효율적으로 학습한다. EVPN은 L2와 L3 서비스를 모두 지원하므로, VNI 간 라우팅 문제를 해결할 수 있다.
- VTEP 인증: EVPN-VXLAN은 VTEP 간의 인증과 암호화를 지원하여, Rogue VTEP 문제를 해결하고 네트워크 보안을 강화할 수 있다.
이런 기술들을 통해 VXLAN의 초기 한계를 극복하고, 보다 안전하고 효율적인 네트워크 환경을 구축할 수 있다.
Host Advertisement
VTEP (VXLAN Tunnel Endpoint) 간의 호스트 정보를 전파하는 메커니즘을 의미한다.
이 방법을 통해 각 VTEP는 네트워크 내의 다른 VTEP에게 호스트 MAC 주소와 IP 주소 정보를 알릴 수 있다. 이는 네트워크에서 효율적이고 확장 가능한 호스트 학습을 가능하게 하며, 네트워크 성능을 최적화하는 데 도움이 된다.
Host Advertisement의 주요 기능
- 중앙집중식 호스트 학습:
- EVPN을 사용하면 각 VTEP는 자신이 학습한 호스트 정보를 BGP (Border Gateway Protocol)을 통해 다른 VTEP에 광고합니다. 이를 통해 모든 VTEP는 네트워크 전체의 호스트 정보를 갖게 됩니다.
- 확장성:
- 중앙집중식 학습을 통해 호스트 정보를 관리하면 네트워크의 확장성이 향상됩니다. 각 VTEP가 직접 모든 호스트 정보를 학습할 필요가 없으므로, 네트워크가 확장됨에 따라 학습 부담이 분산됩니다.
- 효율적인 트래픽 관리:
- 호스트 정보를 광고하여 네트워크 전체에 공유하면, 트래픽을 최적의 경로로 전달할 수 있습니다. 이는 특히 대규모 데이터센터 네트워크에서 중요합니다.
ARP Suppression
ARP Suppression은 VXLAN 네트워크에서 ARP (Address Resolution Protocol) 트래픽을 줄이기 위한 기술입니다. ARP 트래픽은 네트워크 대역폭을 소비하고, 대규모 네트워크에서는 성능에 부정적인 영향을 미칠 수 있습니다. VXLAN에서 ARP Suppression을 사용하면, ARP 요청을 네트워크 전체에 브로드캐스트하는 대신, 중앙집중식 데이터베이스를 통해 ARP 요청을 처리하여 트래픽을 줄일 수 있습니다.
ARP Suppression의 작동 방식
- ARP 요청 처리:
- VXLAN 환경에서 장치가 ARP 요청을 보내면, 이 요청은 일반적으로 네트워크 전체에 브로드캐스트됩니다.
- ARP Suppression을 사용하면, VTEP(VXLAN Tunnel Endpoint)이 ARP 요청을 캡처하고 이를 네트워크의 다른 VTEP에 전달하지 않고 로컬 데이터베이스에서 해결하려고 시도합니다.
- 중앙집중식 데이터베이스 사용:
- VTEP는 ARP 요청을 캡처한 후, 자신이 관리하는 FDB(Forwarding Database) 또는 ARP 테이블에서 해당 IP 주소에 대한 MAC 주소를 검색합니다.
- 만약 해당 정보가 데이터베이스에 있으면, VTEP는 ARP 요청을 브로드캐스트하지 않고 로컬에서 ARP 응답을 생성하여 요청한 장치에 반환합니다.
- ARP 학습 및 업데이트:
- VTEP는 VXLAN 트래픽을 통해 ARP 정보를 학습하고 이를 데이터베이스에 저장합니다.
- 새로운 ARP 정보를 학습할 때마다 데이터베이스를 업데이트하여 최신 상태를 유지합니다.
Anycast Gateway
Anycast Gateway는 데이터센터 네트워크에서 고가용성과 최적의 경로 선택을 제공하는 기술입니다. 특히, VXLAN 환경에서 Anycast Gateway는 중요한 역할을 합니다. Anycast Gateway는 동일한 IP 주소를 여러 장비에 할당하여 클라이언트가 가장 가까운(최적의) 게이트웨이로 트래픽을 전송할 수 있도록 합니다.
Anycast Gateway의 특징과 장점
- 고가용성:
- Anycast Gateway는 여러 네트워크 장비에 동일한 게이트웨이 IP를 설정합니다. 이는 게이트웨이 장비 중 하나가 다운되더라도, 다른 게이트웨이가 트래픽을 계속 처리할 수 있게 하여 네트워크의 고가용성을 보장합니다.
- 최적의 경로 선택:
- 클라이언트는 동일한 게이트웨이 IP를 사용하더라도, 실제로는 가장 가까운(최적의) 게이트웨이와 통신합니다. 이는 네트워크 성능을 최적화하고 지연 시간을 줄입니다.
- 단순화된 구성:
- 네트워크 관리자는 각 서브넷마다 하나의 게이트웨이 IP만 관리하면 되므로, 관리가 단순해집니다.
Asymmetric IRB
Asymmetric IRB (Integrated Routing and Bridging)는 VXLAN (Virtual Extensible LAN) 환경에서 서로 다른 서브넷 간의 통신을 용이하게 하는 라우팅 메커니즘입니다. 이 방식은 트래픽의 송수신 처리 방식이 비대칭적이라는 특징이 있습니다.
Asymmetric IRB의 주요 개념
- 비대칭 트래픽 흐름:
- Asymmetric IRB에서는 트래픽이 진입(VTEP)과 이탈(VTEP)할 때 라우팅이 이루어지지만, 트래픽 처리는 비대칭적으로 이루어집니다. 즉, 진입 VTEP에서는 라우팅을 수행하고, 이탈 VTEP에서는 로컬 서브넷 내에서 트래픽을 브리지합니다.
- 진입 VTEP에서 라우팅:
- 소스 호스트에서 패킷이 전송되면 진입 VTEP에 도달합니다. 진입 VTEP는 패킷의 목적지 IP 주소를 확인하고, 해당 서브넷에 맞는 VXLAN 네트워크 식별자(VNI)를 결정하여 VXLAN 헤더로 패킷을 캡슐화합니다.
- 이탈 VTEP에서 브리징:
- 캡슐화된 패킷은 VXLAN 패브릭을 통해 이탈 VTEP로 전달됩니다. 이탈 VTEP는 VXLAN 헤더를 디캡슐화하고, 로컬 서브넷 내의 적절한 목적지 호스트로 패킷을 브리지합니다.