반응형
개인적으로 네트워크 공부를 위해 정리한 내용들입니다.
함께 공부하자는 취지로 내용을 공유합니다.
1. VXLAN (Virtual eXtention LAN) MAC 주소 학습 방법
- Remote HOST의 MAC주소를 학습하는 방법
- Multicast 기반으로 VXLAN Flood & Learn 수행하는 방법
- Unicast 기반(VXLAN with MP-BGP EVPN)으로 수행하는 방법
(1) VXLAN Flood and Learn Multicast-Based (1세대)
- Multicast를 사용하여 Remote VTEP과 HOST정보를 학습하는 것
① Multicast 사용 목적
- Broadcast, Unkown Unicast, Multicast (BUM) 트래픽 전송
- Remote VTEP 발견
- Remote-HOST MAC 주소를 학습하고 VXLAN Segment 마다 MAC to VTEP 맵핑
- Multicast를 사용하면 Layer 2 Flooding 범위를 감소 시킬 수 있음
- VNI와 Multicast를 맵핑을 통해 BUM Traffic이 발생하면 멀티캐스트 그룹으로만 트래픽을 전송
② 특징
- VXLAN에서는 VNI에 맵핑된 Multicast에 IGMP를 이용하여 특정 Multicast 그룹에 참여
- 해당 그룹에 대한 Multicast Distribution Tree는 VTEP을 기반으로 하여 Tree가 구성됨
- Multicast를 통해 Broadcast, Unkown Unicast, Multicast Traffic(BUM Traffic)이 전송되며 트래픽이 전달되는 범위는 Multicast Group으로 제한
- 서로 다른 VNI 사이 라우팅을 위해 외부 라우터 필요하며 이는 Haripin Traffic을 발생 시킴
- VTEP 사이 인증기능이 없어 보안에 문제가 발생할 가능성이 존재함(= Rogue VTEP 대응이 어려움)
③ 동작 방식
- VTEP 장비가 패킷을 받으면 Local Table을 먼저 참조 하고 없을 경우 Multicast Group으로 전달함
- Multicast Group에 속해 있는 모든 장비에게 패킷이 전달(Flooding)되고, 특정 VTEP에서 해당 패킷에 대해 회신
- 해당 과정을 통해 Remote VTEP & Remote MAC 주소를 학습하고 최종적으로는 VTEP 사이 Unicast 통신 수행
- End System A는 ARP Request 패킷을 생성하여 End System B의 MAC 주소를 요청 합니다.
- ARP Request 패킷이 VTEP#1에 도달하고 Local Table을 먼저 탐색 합니다.
- 요청한 MAC 주소를 알지 못할 경우 ARP 요청 패킷을 VXLAN으로 캡슐화하고, VNI에 맵핑 된 멀티캐스트 주소로 전송 합니다.
- Multicast RP가 해당 패킷을 수신하고 멀티캐스트 주소를 확인 후 해당 주소에 참여하고 있는 모든 VTEP에게 패킷을 전달 합니다.
- VTEP은 VXLAN 패킷을 받고 캡슐화 해제를 수행하고 원본 이더넷 프레임을 참조하여 End System A의 MAC 주소와 Remote VTEP 주소를 학습 합니다.
- 각각의 VTEP 장비들은 ARP Request 메시지를 Local Network로 전달 합니다.
- End System B가 ARP Reply 메시지를 발생 시키고 VTEP#2가 수신하고 Local Table에서 System A's MAC 주소를 찾습니다. System A's MAC 주소가 VTEP#1에 있다는 것을 확인하고 VTEP#2는 ARP Reply 메시지를 VXLAN 헤더를 추가하여 VTEP#1에게 Unicast로 전달 합니다.
- VTEP#1 장비는 수신한 패킷을 캡슐화 해제를 수행하고 ARP Reply 메시지를 End System A 에게 전달 합니다.
- MAC 주소 학습이 수행 될 때 해당 MAC과 연관이 있는 VTEP의 정보도 같이 학습이 됩니다.
- Remote VTEP이 가진 HOST 정보를 식별한 뒤에는 Unicast를 사용하여 통신을 하게 됩니다.
(2) VXLAN Flood and Learn Unicast-Based with BGP (2세대)
- BGP를 이용하여 VTEP은 자신의 정보를 BGP RR(Route-Reflector)에게 전달하고 RR은 해당 정보를 VTEP들에게 전파
① BGP 사용 목적
- BGP를 사용하여 VXLAN Control Plane 역할을 수행하며 결과적으로 불필요한 Flooding을 최소화 시킴
- BGP를 사용하여 Neighbor 관계를 생성하고, 정보 전파를 용이하게 함
② 특징
- Leaf Node에서 MP-BGP를 이용하여 호스트 / 서브넷 경로 및 외부 연결 정보를 배포
- 경로 정보를 식별하기 위해 RD (Route Distinguisher)와 RT (Route Target) 정보 활용
- RD와 RT값은 BGP Extended Community 옵션을 활용하여 전달 됨
- iBGP를 사용하며 iBGP의 제약사항 (iBGP로 받은 정보는 iBGP로 광고할 수 없음)을 극복하기 위해 Route Reflector 사용하여 확장성이 용이해짐
- VTEP의 정보를 모든 VTEP에게 전달해야 함 (Head End Replication)
- 다른 VNI간 통신을 위해 L3 Routing을 수행 시 별도의 외부 라우터 필요없음
③ 동작방식
1) VTEP들은 호스트 정보 (IP + MAC) 정보를 iBGP RR로 광고
2) BGP가 모든 호스트 정보들을 다른 VTEP 장비들에게 전파
3) VTEP장비들은 Remote Host 정보들을 습득하게 되고 Routing Table 및 Forwarding Table에 저장
2. VXLAN With BGP 환경에서의 ARP 동작 방식
- VTEP이 ARP정보를 알고 있는경우 VTEP이 ARP 요청에 응답(ARP Suppression)
- VTEP이 ARP정보를 모르는 경우 VTEP이 ARP 요청을 네트워크로 Flooding 하고 ARP 정보를 학습
(1) ARP Suppression
- ARP 패킷이 발생하면 VTEP 장비가 해당 ARP 패킷에 응답하는 기술
- ARP Suppression 기능을 통해 불필요한 Broadcast가 감소하는 효과를 얻을 수 있음
(2) ARP Flooding
1) 호스트 A가 IP_B의 물리적인 주소를 획득하기 위해 ARP 정보를 발생
2) 호스트 A가 연결된 VTEP#1는 IP_B에 대한 ARP 정보가 없기 때문에 ARP 패킷을 네트워크로 Flooding을 수행(BUM 트래픽 전달은 멀티캐스트로 수행 함)
3) 호스트 B가 ARP 패킷을 받고 VTEP#2에게 응답
4) VTEP#2는 해당 정보를 BGP RR에게 전달하고 순차적으로 모든 VTEP에게 전파
3. 정보 출처
반응형
'IT 이야기 > 공부합시다' 카테고리의 다른 글
[Network] 라우팅 프로토콜 (0) | 2023.06.28 |
---|---|
[Network] VXLAN(Virtual eXtention LAN) 기술 & 네트워크 모델 (0) | 2023.06.28 |
[Network] VXLAN(Virtual eXtention LAN) Gateway (0) | 2023.06.28 |
[Network] Overlay(오버레이) Network & Underlay(언더레이) Network (0) | 2023.06.27 |
[스토리지] 소프트웨어 정의 스토리지 (1) | 2023.06.26 |
댓글