ahffkdy13.log
로그인
ahffkdy13.log
로그인
[CISCO 보안 아카데미 1기 Part.2] 17일차 정리(MPLS)
Jin_Hahha
·
2024년 9월 19일
팔로우
0
0
CISCO 보안 아카데미 1기
목록 보기
47/54
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 사용
LDP link hello message
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 할당과 분배는 다음과 같은 과정을 거침
IP 라우팅 프로토콜이 IP 라우팅 테이블 구성
각 LSR은 IP 라우팅 테이블의 모든 목적지에 독립적으로 label 할당
LSR은 다른 모든 LSR로 그들의 할당된 label 공지
모든 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가 증가될 수 있음
Jin_Hahha
팔로우
이전 포스트
[CISCO 보안 아카데미 1기 Part.2] 16일차 정리(BGP 문제)
다음 포스트
[CISCO 보안 아카데미 1기 Part.2] 18일차 정리(MPLS VPN)
0개의 댓글
댓글 작성