[CISCO 보안 아카데미 1기 Part.2] 17일차 정리(MPLS)

Jin_Hahha·2024년 9월 19일
0
post-thumbnail

MPLS

Traditional IP Routing

  • 라우팅 프로토콜은 3계층 라우팅 정보 이용
    • 패킷 헤더, 로컬 라우팅 테이블 기반으로 포워딩 결정

MPLS

  • MPLS는 라우팅 개념이 아니라 스위칭 개념
  • IP payload에 상관없이 Label 정보만을 통해 데이터 전송
  • IP payload가 없는 데이터도 캡슐화 가능
  • 라우팅 프로토콜과 다르게 Label 기반으로 통신
    • 경로 결정에 다른 프로토콜 사용 가능
    • 다른 서비스를 제공하기 위해 다른 payload 사용 가능
    • MPLS는 사용된 라우팅 프로토콜에 관계없이 LFIB Table을 기반으로 특정 네트워크로 가려면 어느 인터페이스를 통해 데이터를 전송해야 하는지만 결정
  • 위의 특징들로 인해 더 빠른 데이터 전달 가능

특징

  • IP Routing 기능 보완
  • Label 기반으로 패킷이 스위칭됨
    • Label은 목적지 IP 네트워크와 상응됨
    • Label은 Routing Table의 영향을 받음
  • MPLS 영역의 Edge 라우터에서 Routing Lookup 수행
  • MPLS Label이라고 하는 추가적인 헤더는 MPLS 스위칭으로 추가되고 사용됨
  • Direct Connected가 아니면 Untagged로 동작
  • FIB 기반으로 포워딩 될 때는 Label이 제거되어야 함(POP)
    • Direct Connected 상태의 라우터에게 특정 주소 범위를 POP label로 홍보

용어

  • LSR 라우터 (Label Switching Router)
    • LSR은 Label 기반의 패킷 포워딩과 Label 변환을 담당
      • 경로의 마지막 LSR은 Label을 제거하고 IP Packet을 전송
  • Edge LSR
    • IP 패킷 라벨링
    • MPLS 영역으로 전송
    • 해당 라우터에서 label 제거(POP) 발생
  • LSP(Label Switching Path)
    • 목적지로 도달하기 위한 Label 시퀀스를 LSP라고 함
    • MPLS가 labeling 프로토콜을 통해 사전에 만든 스위칭 경로

MPLS 구조: Control Plane

  • 라우팅 테이블에 내려간 Best Path를 확인하고, 해당 경로에 Label 부여
  • 이웃한 장비와 Label 정보 교환

MPLS 구조: Data Plane

  • 목적지 주소 기반 or Label 기반으로 정보를 전달하는 역할
  • LFIB 또는 FIB를 기반으로 최적 인터페이스를 통해 패킷 전달
  • FIB(Forwarding Information Base)는 목적지 주소, 송신 IP, next-hop IP, MAC 주소를 포함하는 테이블
  • LFIB(Label Forwarding Information Base)는 Label 값과 모든 Network prefix에 대한 송신 인터페이스 정보 포함
    • Label 정보를 통해 최적 송신 인터페이스로 정보 전달

Forwarding 구조

  • FIB는 next-hop label이 활성화된 패킷에 라벨링을 하거나 label이 없는 IP packet을 전달하기 위해 사용됨
    • 주로 Edge LSR에서 참고
  • LFIB는 label이 있는 Packet을 전달하기 위해 사용
    • 받은 라벨은 next-hop 라벨에 의해 전환됨
    • 시작 label 25였으면, 다음 라우터에서 해당 패킷의 label은 34로 변경

MPLS 형태 예시

  • MPLS 라우터는 기능적으로 control plane과 data plane으로 나누어짐
  • Control Plane에서 라우팅 프로토콜 관련 동작 담당
  • Data Plane에서 Label 관련 동작 담당
  • Data Plane이 Control Plane의 영향을 받는다고 볼 수 있나
    • 정답, Control Plane에서 라우팅 프로토콜을 통해 최적 경로를 탐색하여 라우팅 테이블을 완성해야만 각 경로에 대한 Label 설정을 마치고 MPLS를 실행할 수 있기 때문

MPLS Label

  • MPLS는 L2와 L3 사이에 삽입되는 32-bit label 헤더 사용
    • 20-bit의 label
    • 3-bit의 experimental 영역
      • QoS 사용 시 참조
    • 1-bit의 bottom-of-stack 표시
    • 8-bit의 TTL 영역
      • Loop 방지

MPLS Basic Example

  • 중앙에 있는 장비는 FIB Table 참조 X

MPLS Label Stack (PBR=Source Routing)

  • 일반적으로 패킷에는 하나의 Label이 할당되지만, label stack 안에 있는 label들에 대해서는 다중 label 지원
  • MPLS VPNs(two labels)
    • 맨 위의 label은 밖으로 이어지는 라우터를 지정
    • second label은 VPN 정의
  • MPLS TE(two or more labels)
    • 맨 위의 label은 traffic engineering 터널의 끝 지점 지정
    • second label은 목적지를 지정
  • MPLS TE와 결합된 MPLS VPNs(three or more labels)
  • VPN Label, 고객 (BGP) 정보
  • LDP Label, next hop에 대한 정보
  • 각 장비가 처리할 수 있는 Label의 수는 단 하나

MPLS Unicast Routing

  • FEC, Forwarding Equivalance Class
    • Forwarding 조건이 동일한 Group

MPLS Multicast Routing

  • 멀티캐스팅 통신을 할 수 있는 다양한 방법이 있음

Layer 2 MPLS VPN

  • 가상의 회선으로 연결되어 있다는 설정
  • 이더넷으로 연결되어 있는 경우, L2 헤더까지 붙여서 Label 생성

MPLS Traffic Engineering

  • RSVP는 TE 터널 구축과 label 홍보할 때 사용
  • Resource Reservation Protocol, 네트워크 상에서 자원을 예약할 수 있도록 설계된 프로토콜

Label Distribution Protocol

개념

  • Forwarding 결정을 위해 MPLS는 label 영역 이용
  • label이 지역적으로 중요하지만, 도달 가능한 모든 peer로 광고되어야 함
    • Option 1은 존재하는 IP 라우팅 프로토콜 내의 파라미터를 포함
    • Option 2는 label을 교환하기 위한 새로운 프로토콜 생성
  • Option 2가 주로 사용되어 왔음
    • label을 옮기기 위한 정의된 IP 라우팅 프로토콜이 너무 많기 때문
  • 새로운 프로토콜은 Label Distribution Protocol, LDP라고 함

LDP Neighbor Session Establishment

  • LDP는 두 단계로 세션 구성
    • 모든 MPLS 활성화 인터페이스로 Hello 메시지가 주기적으로 전송됨
    • MPLS 활성화 라우터는 hello 메시지의 근원지 라우터와 세션을 형성하기 위해 전송받은 hello 메시지에 대해 응답함
  • LDP link hello 메시지는 "특정 서브넷의 모든 라우터"로 전송되도록 multicast 주소를 사용하는 UDP 패킷
  • 세션 형성에는 TCP가 사용됨
  • TCP와 UDP는 well-known LDP 포트 번호 646 사용

  • 6-byte LDP identifier(TLV)는 라우터(첫 4 bytes)와 label 공간(마지막 2 bytes)을 정의
  • LDP 세션을 위해 사용하는 source 주소는 hello 메시지에 전송 주소 TLV를 추가함으로써 설정될 수 있음

LDP Neighbor Discovery

  • 두 neighbor 사이의 LDP 세션은 더 높은 IP 주소의 라우터부터 형성됨

LDP Session Negotiation

  • TCP 세션이 형성되고 난 후, Peer 사이에 초기화 메시지 전송
  • 세션은 첫 keepalive를 받은 후에 label mapping을 교환할 준비를 마침

포워딩 구조

  • FIB는 두 방법으로 형성됨
    • 라우팅 프로토콜로 채워진 라우팅 테이블
    • LDP로 인해 FIB에 추가된 MPLS label
  • LFIB는 LDP를 통해 채워짐
  • LDP는 홍보와 MPLS 라우터 사이의 MPLS label 재분배 담당

Label-Switched Path

  • LSP는 정확한 FEC의 label된 패킷을 전송하는 일련의 LSR 과정
    • MPLS unicast IP 포워딩은 IP 라우팅 츠로토콜의 결과를 기반으로 구성
    • LDP는 LSP에서 개별 segment의 경우에만 label 홍보
  • LSP는 방향성이 없음
    • 돌아오는 트래픽은 다른 LSP를 사용

Label Allocation and Distribution

  • MPLS 네트워크에서 Label 할당과 분배는 다음과 같은 과정을 거침
    1. IP 라우팅 프로토콜이 IP 라우팅 테이블 구성
    2. 각 LSR은 IP 라우팅 테이블의 모든 목적지에 독립적으로 label 할당
    3. LSR은 다른 모든 LSR로 그들의 할당된 label 공지
    4. 모든 LSR은 수신한 label 정보를 기반으로 그들만의 LIB, LFIB, FIB 데이터 구조를 구축

Label Allocation

  • 각 라우터는 라우팅 테이블에서 각 네트워크에 label을 생성
    • label은 local significant를 지님
    • label 할당은 비동기식
  • LDP는 라우팅 프로토콜 기반으로, 경로 탐색과 루프 회피 목적을 지님
  • MPLS의 외부 영역에서 시작된 네트워크는 edge LSR에 어떠한 label도 할당하지 않음
    • 대신 POP label을 홍보

Label Advertisement

  • next hop으로부터 label을 수신한 라우터는 FIB에 label 정보 저장

  • 라우터는 비록 neighbor가 목적지를 향한 next hop이 아니더라도 neighbor로부터 label 정보를 저장

  • MPLS의 외부 영역에서 시작된 네트워크는 edge LSR에 어떠한 label도 할당하지 않음
    • 대신 POP label을 홍보

Packet Propagation

  • PHP는 Router D에서 하나의 LFIB look up을 제거함으로써 MPLS 수행을 최적화

Packet Propagation without PHP

Label Control

  • Label Advertisement Control

    • 확장성과 보안적 이유로 사용
    • LDP는 local label advertisement에서 Outbound 필터링을 수행하기 위해 구성
    • LDP Outbound라고도 함
  • Label Acceptance Control

    • 보안적 이유, 메모리 보존을 위해 사용
    • 지정된 peer의 prefix 집합에 대해 label binding acceptance 구성
    • LDP inbound label 필터링으로도 불림

Impact of IP Aggregation on LSPs

LAB

  • MPLS 설정
    • MPLS 설정을 활성화할 인터페이스로 들어가서
    mpls ip

MPLS TTL

  • MPLS 통신 중, IP TTL과 Label TTL이 따로 카운트 됨
  • Edge LSR에서 IP TTL이 감소되고, 그 외에 경로 중앙에 위치한 LSR에서는 Label LSR이 감소됨

Label Switching MTU

  • 시스코 장비의 MTU값은 타 벤더 장비와 다르게 정확한 수치인 <Ethernet 1518 bytes>, <PPP 1508 bytes>가 아닌 L2 헤더를 제외한 값인 1500 bytes로 기본 설정되어 있음
  • 추가 헤더 때문에 Label Switching은 최대 MTU 크기를 늘림
  • WAN 인터페이스에서 인터페이스 MTU는 자동으로 증가됨
  • IP fragmentation을 막기 위해 LAN 인터페이스에서 label-switching MTU가 증가될 수 있음

0개의 댓글