오랜만에 진행하는 포스팅입니다. ^^
이번 주제는 LISP라는 주제로 포스팅을 시작합니다.
기존에 진행하던 다른 주제들의 포스팅과 병행을 하게 되며, 저의 관심도에 따라서.. ^^;
어느정도까지 포스팅 될지는 모르겠지만
처음 접하시는 분들에게 작은 시작 지점이 되길 바랍니다. ^^.
조금 더... 정리해서 하는 마음으로 하려다가... 이번에도...
우선 포스팅 후에~ 업데이트 할 예정입니다.
LISP (Locator ID Separation Protocol)
- IP Addressing에 대해 새로운 의미를 구현하는 네트워크 아키텍처 및 프로토콜의 집합
- 현재의 IP Address 아키텍처를 'Location'과 'Identity' 라는 2가지 요소로 IP를 분리
- RFC : 6830
LISP 요소
ᆞLocation : Network Layer Locator : 어디에 해당 Network가 있는지? (Where)
ᆞIdentity : Network Layer Identifier : Network 내부에 어떤 것이 있는지? (Who)
LISP 강점
ᆞ라우팅 확장성의 개선
ᆞActive-Active 구성에서 BGP 없이 복수 구성 가능(BGP-free multihoming)
ᆞ주소체계의 전환: IPv4 상에서 IPv4, IPv4 상에서 IPv6, IPv6 상에서 IPv6, IPv6 상에서 IPv4
ᆞ인입트래픽 가공(Inbound Traffic Engineering)
ᆞ모빌리티 확보
ᆞ구성 단순화
ᆞ호스트(서버 등과 같은)의 변경이 필요 없음
LISP 용어 정의
ᆞRouting Locator (RLOC) : ETR의 IPv4 혹은 IPv6 주소로, EID-to-RLOC mapping Lookup에 대한 결과 값이다.
IP Network에서 서로 다른 라우터들을 규정하기 위한 주소 혹은 Prefix.
ᆞEndpoint ID (EID) : 실제 Host를 규정하는 주소 혹은 Prefix로, LISP name space의 일부분
LISP header의 가장 내부에 존재하는 Source/Destination 주소 필드에서 사용되는 IPv4, IPv6 주소.
ᆞEgress Tunnel Router (ETR) : LISP 터널의 Endpoint Device
LISP IP Packet의 Outer IP가 자신의 RLOC IP인 경우에만 패킷을 받게 된다.
ETR 기능은 Router 장치 뿐만 아니라, Server Host로도 LISP Tunnel의 EndPoint를 만들 수 있다.
LISP로 캡슐화 된 Packet을 디캡슐화하여, Site내의 Local EID로 전송한다..
ᆞIngress Tunnel Router (ITR) : 터널의 StartPoint Device
Site의 End-system에서 IP Packet을 수신하여 LISP으로 캡슐화한 IP Packet을 만들어,
반대편 ETR로 전송하거나, non_LISP Site로도 LISP 캡슐화 전송이 아닌 일반 전송을 역할도 함께 한다.
ᆞxTR : 일반적으로 ITR와 ETR의 역할을 동시에 수행하며, 단지 Data Flow에 따라서
ITR 혹은 ETR로 결정되기 때문에 ITR/XTR Device를 xTR이라고도 한다.
ᆞMap-Server(MS): LISP ETR들은 자신의 EID Prefix를 등록한다.
EID Prefix들은 Mapping-Server DB에 적절한 RLOC들과의 Mapping 정보를 저장 및 등록한다.
모든 LISP Site들은 LISP mappping System으로 EID-to-RLOC mapping 정보를 사용한다.
ᆞMap-Resolver(MR) : 모든 LISP ITR들은 EID-to-RLOC mapping resolving 시에 LISP Map-Request Query를 보낸다.
ᆞProxy ETR (PETR) : PETR은 LISP Site와 Non-LISP Site간의 연결에 사용되어,
ETR 처럼 동작하지만 LISP Site에서 Non-LISP Site로 전송하는 Packet을 대신 전송한다.
ᆞProxy ITR (PITR) : PITR은 LISP Site와 Non-LISP Site간의 연결에 사용되어,
ITR 처럼 동작하지만 Non-LISP Site에서 LISP Site 전송하는 Packet을 대신 전송한다.
ᆞEID (Endpoint Identifier) : Host의 IP Address, 즉 EID로 설정된 IP Address의 Prefix 구역
ᆞRLOC (Routing Locator) : Host를 위한 LISP router의 IP Address 정보인 RLOC의 정보 교환이 가능한 구역
ᆞEID-to-RLOC mapping : EID와 RLOC간의 Mapping의 분산 구조(EID=Identity ↔ RLOC=Locate)
LISP 동작방식
1. Host가 DNS Server에 Domain Query를 보내서, IP를 받음(어떤 IP) (Who is?)
2. LISP router는 LISP Mapping System에 해당 IP가 있는 Locator의 IP 주소를 받음. (Where is?)
3. LISP router에서 해당 정보를 Cache로 가지고 LISP 간의 통신
LISP Control Plane
▷ Map-Registeration Flow
1. ETR 장비에서 LISP Map 정보를 Map-Server로 등록(UDP 4342)
* ETR의 IP 주소(RLOC)를 Source로 하고, Map Server를 Destination으로 하여, UDP 4342를 통해 자신의 Local 정보를 전송
2. Map-Server에서는 전송받은 Local 정보(EID Prefix/Address)와 RLOC 주소에 대한 Mapping정보를 DB에 저장한다.
* EID Prefix / RLOC
▷ Map-Requset/Reply Flow
1. Host가 DNS 쿼리를 통해 목적지 IP 확인하고, 전송을 위해 상단장비(ITR Router)로 전송한다.
2. ITR Router에서는 해당 목적지가 LISP Destination인지 확인하고 LISP 목적지인 경우에 캡슐화 하여,
MAP Resolver로 경로를 확인 요청을 한다. (LISP Map Request : UDP 4342)
3. MAP Resolver에서 MAP Server Database에서 해당 대역에 대해서 ETR RLOC를 확인하고, ETR로 Map Request 전달
4. ETR에서 ITR로 LISP Map Reply(UDP 4342)로 LISP Map Reply를 전송한다.