티스토리 뷰

MPLS (Multiprotocol Label Switching)




정의



ip 주소 대신 MPLS 라벨을 참조하여 패킷을 전송 하는 기술 (빠르다)


IP 헤더 참조하지 않고 바로 레이블 참조하여 처리하므로 빠르다는 의미


라벨의 위치는 Layer2 - Layer3 사이 (Layer 2.5 라고도 불려지는듯)





주요 용도



MPLS VPN 구성과 MPLS TE (Traffic Engineering)에 사용됨

 




MPLS VPN 특징



사전에 설정된 경로간에만 트래픽 전송 허용 (다른 사용자와 트래픽이 완전 분리)

: 전용선이라고 봐도 무방할듯 하다


MPLS 망은 인터넷과 분리된 망이며 인터넷과 MPLS 망의 혼합사용도 가능


" 외부 --> MPLS 내부 / MPLS 내부 --> 외부 "  간 함부로 통신할 수 없음 "


MPLS VPN 자체적으로 인증이나 암호화 기능이 없음

 : 더 안전한 보안을 위해 ISEC VPN과 함께 사용하는 경우도 있다고 함




MPLS TE 특징



특정한 트래픽에 대해서 대역폭 보장 (Qos)

 : 서비스에 대한 중요도를 선택하여 우선처리할수 있는걸로 판단됨


IGP가 사용하지 않는 링크까지 사용할 수 있다 (네트워크 자원 최대한 활용)


트래픽이 적은쪽으로 라우팅 가능  (혼합발생 최소화)


망 장애 대처 (FastReroute)




MPLS 장점


 

MPLS 사업자는 대규모 VPN을 보다 쉽게 구성 가능하다 

 : PC나 각 노드에 VPN 장비나 클라이언트 프로그램이 필요없다


내부와 외부 네트워크 완전 분리 (보다 안전한 망 구성 가능)

 ex) 일반 VPN의 경우 일반 사용자 트래픽과 VPN 사용자 패킷이 같은 장비를 통과한다


어플리케이션 없이 네트워크를 통해 터널링 생성 가능 (LSP에 VPN 식별자 매핑됨)


SLA, QoS, Cos 같은 서비스 품질 보장이 가능하다 (높은 신뢰성과 보안 수준 가능)


CoS (Class of Service) : 트래픽을 종류별로 정리해서 전송해주는 품질보장 서비스


Layer2 스위칭으로 빠른 속도로 패킷 처리

 : 원래는 Layer3 기반의 아이피로 패킷처리 되는 Layer3 까지 패킷을 보고 라우터나

스위치가 패킷을 처리하지만 MPLS는 Layer3에 앞서 레이블을 먼저 보고 처리를 하므로

L3 - L3 간(대역간) 에 속도와 비교했을때 더 빠르다는 의미인듯 하다




IPSEC 및 이하 VPN 과의 차이점 (DDOS 공격 가능성 여부?)



IPSEC VPN에서는 VPN 패킷과 사용자 패킷이 공존한다?


MPLS VPN에는 VPN패킷과 사용자들의 패킷이 공존하지 않는다? (네트워크의 분리)



기업내에서 불특정 다수가 아닌 직원과 지정된 사용자만 이용하는 경우 일반 VPN 보다


MPLS VPN 이 네트워크 구조상 (물리적) 더 안전하다는 의미로 판단됨





인터넷과 MPLS VPN 통신은 어떻게 구분되는가?


 

일반적으로 게이트웨이로 인터넷망으로 사용되며 특정 경로에 대해서는 MPLS 망을 사용


IP 패킷이 MPLS 장비를 거쳐가면 LABEL 을 첨부시킴시키고 MPLS 장비에서 일반망

으로 패킷이 이동할대는 LABEL을 제거한다


외부 인터넷망에서 MPLS 접근 

: MPLS 안에 네트워크 장비에 IPSEC VPN을 셋팅해서 외부에서 접근할수도 있다고 함





국내 MPLS 서비스



MPLS 는 ISP 신청시 별도 구축된 네트워크망을 이용하며 END 사용자끼리 연결은 


같은 ISP 업체의 MPLS 서비스를 이용해야 함

 


각 지역마다 ISP의 MPLS 라우터가 존재하며  서비스는 이더넷 포트형태로 지원


ISP가 이미 MPLS망은 다 구축해놓은 상태이며 이용자는 회선만 붙여 사용하는 형태



MPLS 장비를 구입만 한다고 해서 사용불가하며 END 끼리 ISP 를 통하여 엮여야 함


보안을 위한 네트워크 사설망 구성 가격은 아래와 같은 비싼 순서라고들 함


1. 전용선 


2. MPLS VPN


3. IPSEC VPN 





MPLS에서 사용되는 용어 정리



LSR (Label switch router)

MPLS 가 동작하는 라우터나 스위치 장비이며 MPLS 패킷을 수신하면 라벨을 참조하여 

패킷을 스위칭한다


PE (Provider Edge) 라우터 (=?=LER)

고객 라우터와 직접 연결되는 MPLS 라우터


P (Provider) 라우터

고객 라우처와 직접 연결되지 않는 MPLS 라우터


CE (Customer edge) 라우터

MPLS 망과 직접 연결되는 고객사 라우터

CE 라우터는 MPLS 관련 설정이 없다 (CE 라우터는 자신이 MPLS 망과 접속되어 있는지 

모르며 일반 네트워크와 접속시와 설정이 동일하다)


라벨바인딩 (label binding)

FEC 별로 라벨을 부여하는것




MPLS  헤더


L2, L3 헤더 사이에 4바이트 (32비트) 길이 MPLS 헤더 추가



헤더 요소



EXP (experimental): Qos 값 표시

BoS (bottom of stack) : 1 마지막 라벨 / 0 다음 라벨이 있음

TTL (Time to live) IP 헤더의 목적과 동일

 



FEC (Forwarding equivalence class)



동일한 MPLS 경로로 이용하여 전송되는 패킷의 그룹

 - 동일한 라벨값이 부여되는 경우

 - 어떤 FEC에 소속되는지 결정은 패킷을 처음 수신한 MPLS 라우터 (ingress, 입력 LSR) 

 




동일한 FEC에 소속되는 경우



목적지 네트워크가 동일할 경우

동일한 그룹에 소속된 멀티캐스트 패킷

BGP 넥스트 홉 IP 주소가 동일한 패킷




LSR 들은 독자적으로 FEC별 라벨을 부여하고 인접 LSR 에 알려줌


라벨은 인접한 두 LSR 사이에만 의미가 있음 

패킷이 목적지까지 전송되는 동안 최상위 라벨값은 계속 변경



라벨바인딩 정보를 알려주려면 아래 프로토콜이 필요함



TDP (tag distribution protocol) : 시스코에서 사용되는 라벨 바인딩 전송 프로토콜 

LDP (label distribution protocol) : 최근에는 시스코에서 포함되어 있다고 함

RSVP (resource reservation protocol)

BGP  




MPLS VPN에는 LDP 또는 TDP가 라우터 ID별 라벨값을 전송


이후 PE 라우터간에는 BGP를 이용하여 목적지 네트워크별 라벨값을 교환


MPLS TE 에서는 RSVP를 이용하여 라벨 바인딩 정보 교환




라벨바인딩의 종류



local binding : LSR은 라우팅 테이블에 있는 각각 IGP 네트워크별로 하나씩 라벨값을 부여


remote binding : LSR들은 자신의 로컬 바인딩을 인접 라우터에게 광고, 인접 LSR에게 광고 받은것





LSR 라벨 바인딩 처리


 

LSR은 로컬바인딩과 리모트바인딩을 LIB (label information base) 라는 데이터베이스에 저장


LSR은 특정 FEC에 대해 유일한 라벨값을 부여할수도 있고 인터페이스별로 유일한 라벨값을 부여할수도 있음


장비당 라벨 부여 방식을 사용할때에는 목적지 네트워크당 하나의 로컬바인딩을 가짐


인터페이스별 라벨 부여 방식을 사용하면 인터페이스별 목적지 네트워크별로 하나의 로컬 바인딩을 가짐


인접 LSR이 다수개 존재하면 목적지 네트워크당 다수개의 리모트 바인딩을 가짐


동일 목적지 네트워크당 다수개의 리모트 바인딩을 가져도 그 중 하나만 사용됨


LSR 에서 목적지로 가는 넥스트롭은 일반 라우터와 마찬가지고 라우팅 테이블에 의해 결정됨


LSR은 LIB와 라우팅 테이블을 이용하여 로컬바인딩과 리모트 바인딩에서 사용되는 라벨을 

결정한 다음 LFIB에 저장함


즉 인접 LSR들로 부터 수신한 모든 바인딩 정보를 LIB에 저장하고 이중에서 최적 경로상의 

로컬/리모트 라벨값의 쌍을 LFIB에 저장한다.


OSPF와 비교한다면 LIB는 링크 상태 데이터 베이스이고 LFIB는 라우팅 테이블에 해당


라벨값이 부여된 패킷을 전송할때는 항상 LFIB가 참조됨




MPLS 모드


라벨 바인딩 분배방식 (MPLS가 동작하는 모드)


MPLS가 라벨바인딩을 분배하는 방식은 DoD 와 UD가 있음



DoD (downstream-on-demand) 방식



 각 LSR 들이 넥스트 홉 라우터 (다운스트림 라우터) 에게 특정 FEC에 대한 바인딩을 요청하여 부여 받음

각 LSR 들은 특정 FEC에 대해서 넥스트홉 라우터로부터 오직 하나만의 바인딩을 수신한다





UD (unsolicated downstream)


 

각 LSR들이 독자적으로  FEC 당 라벨을 부여하고 이 바인딩을 인접 LSR에게 광고한다



시스코 IOS는 대부분 UD 방식의 라벨 바인딩 분배 방식 사용 

LC-ATM 인터페이스는 DoD 방식 사용



라벨 저장 모드 (인접 LSR로 부터 수신한 라벨 바인딩 정보를 저장하는 방식)



LLR (liberal label retention) 

모든 이웃에게 수신한 바인딩 정보를 모두 LIB에 저장 저장을 위한 메모리 사용은 증가하나 라우팅 정보가 변화되었을때 신속하게 대처 가능


CLR (conservative label retention) 
최적 경로상의 넥스트홉 LSR에서 수신한 바인딩 정보만 저장


시스코 IOS 는 대부분 LLR 방식 사용 

LC-ATM 인터페이스는 CLR 방식 이용



로컬 바인딩 생성 방식



독립적인 LSP 제어 모드 (independent LSP control mode)


 

각 LSR이 FEC를 인식하면 바로 로컬 바인딩 생성 이것은 라우팅 테이블에 특정 네트워크가 인스톨 되면 바로 로컬 바인딩이 생성됨


단점은 종단 장비간에 LSP가 완성되기전에 라벨 스위칭이 일어날수 있음 --> 패킷이 원하는대로 전송되지 않을수 있음




순차적인 LSP 제어 모드 (ordered LSP control mode)



특정 LSR이 특정 FEC에 대한 출력 (egress) LSR이거나, 넥스트홉 LSR로 부터 라벨 바인딩 정보를 수신했을때만 해당 FEC에 대한 로컬 바인딩을 생성

 


시스코 ISO 독립적인 LSP 제어모드 사용

LC-ATM 인터페이스는 순차적인 LSP 제어모드 사용

IOS는 LFIB에 없는 라벨값을 가진 패킷을 수신하면 해당 패킷을 폐기함



참고자료 및 사이트



https://wiki.openstack.org/wiki/Neutron/VPNaaS

https://wiki.openstack.org/wiki/Neutron/MPLSVPNaaS

http://cafe.naver.com/analysisman/352

http://sahngoh.tistory.com/32

http://www.ktword.co.kr/abbr_view.php?id=319&m_temp1=2508&nav=2

http://arisu1000.tistory.com/27744

http://www.onemetric.com.au/IT-Services/Virtual-Private-Network

http://www.netmanias.com/ko/?m=view&id=blog&stext=mpls&no=5462


네이버 까페 네트워크 전문가 따라잡기

http://cafe.naver.com/neteg


피터 전  "최신 MPLS" 참고





댓글
댓글쓰기 폼