목차

소개

사전 요구 사항

사용되는 구성 요소

구성

R1 구성

R4 구성

R5:맵 확인자 구성

R7:MAP-Server 구성

문제 해결

xTR- R1에서 디버그

Map-Resolver 패킷 흐름

Map-Server 패킷 흐름

xTR2-R4 패킷 흐름

패킷 캡처

소개

Cisco Locator/ID Separation Protocol(LISP)은 두 개의 새 네임스페이스를 만들어 현재 IP 주소 의미 체계를 변경합니다.전역 라우팅 시스템을 구성하는 장치(주로 라우터)에 할당된 엔드 호스트 및 RLOC(Routing Locator)에 할당된 EID(Endpoint Identifiers)입니다.

라우터에 전체 인터넷 라우팅 테이블이 있는 경우 메모리 및 프로세스 사용률이 필요하며 LISP를 통해 메모리 사용률을 줄일 수 있습니다.

사전 요구 사항

Cisco에서는 LISP에 대한 기본적인 지식을 보유하고 있는 것이 좋습니다.

사용되는 구성 요소

이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

구성

네트워크 다이어그램

다음 이미지는 문서의 나머지 부분에 대한 샘플 토폴로지로 사용됩니다.

xTR = LISP 라우터는 트래픽 흐름 방향에 따라 ITR 또는 ETR일 수 있습니다.트래픽이 LISP 라우터에서 나가는 경우 해당 플로우의 ITR이 되고 수신 엔드 LISP 라우터는 해당 라우터의 ETR이 됩니다.

ITR = 인그레스 터널 라우터

ETR = 이그레스 터널 라우터

MR(Map Resolver) = Map-Resolver는 LISP 사이트 ITR이 EID-RLOC 매핑을 확인할 때 LISP Map-Request 쿼리를 보내는 LISP 인프라 장치입니다.R5는 이 기사의 MR이다.

MS(Map Server) = Map-Server는 LISP 사이트 ETR이 EID 접두사를 사용하여 등록하는 LISP 인프라 디바이스입니다.맵 서버는 등록된 EID 접두사에 대한 집계를 LISP 매핑 시스템에 알립니다.모든 LISP 사이트는 LISP 매핑 시스템을 사용하여 EID-RLOC 매핑을 확인합니다.R7은 이 기사의 MS입니다.

EID(Endpoint Identifier) 주소:EID 주소는 엔드포인트를 식별하는 IP 주소 및 접두사로 구성됩니다.EID-to-RLOC 매핑을 확인하여 LISP 사이트 전체에서 EID 연결성을 달성할 수 있습니다.

RLOC(Route Locator) 주소:RLOC 주소는 IP 네트워크에서 다른 라우터를 식별하는 IP 주소 및 접두사로 구성됩니다.RLOC 공간 내의 연결성은 기존 라우팅 방법을 통해 실현됩니다.

ALT(대체 논리 토폴로지): 맵 확인자와 맵 서버를 연결하는 링크는 이 다이어그램에서 R6을 통과하는 ALT이며 이 두 개의 컨트롤 플레인 통신에만 사용됩니다.이 링크는 xTR 간의 실제 트래픽 흐름에 사용되지 않습니다.

alt-vrf: 이 VRF(Virtual Routing and Forwarding)는 ALT(대체 논리적 토폴로지)를 통해 직접 IPv4 엔드포인트 ID-RLOC(identifier-to-routing locator) 매핑에 대한 맵 요청을 보낼 때 LISP(Locator/ID Separation Protocol)가 사용해야 하는 IPv4 주소군을 지원하는 VRF 인스턴스를 구성하는 데 데 사용됩니다.

R1 구성

!

router lisp

database-mapping 172.16.1.1/32 10.1.12.1 priority 5 weight 100 ------> EID Mapping with RLOC

ipv4 itr map-resolver 192.168.5.5

ipv4 itr

ipv4 etr map-server 192.168.7.7 key cisco ---> ETR will send the map-register message to map server for EID

ipv4 etr

exit

!

R4 구성

!

router lisp

database-mapping 172.16.4.4/32 10.1.34.4 priority 5 weight 100 ------> EID Mapping with RLOC

ipv4 itr map-resolver 192.168.5.5

ipv4 itr

ipv4 etr map-server 192.168.7.7 key cisco ---> ETR will send the map-register message to map server for EID

ipv4 etr

exit

!

R5:맵 확인자 구성

Map-Resolved에서 vrf를 alt-vrf로 정의해야 합니다. 이 값은 MR와 MS 간의 MPBGP 피어링을 형성하는 데 사용되며, xTR에 의해 MS에 등록된 원격 사이트의 EID를 공유하는 데 사용됩니다.

!

vrf definition lisp

rd 100:1

!

address-family ipv4

route-target export 100:1

route-target import 100:1

exit-address-family

!

!

interface Tunnel1

vrf forwarding lisp

ip address 10.1.45.4 255.255.255.0

tunnel source Ethernet0/1

tunnel destination 10.1.67.7

!

!

router lisp

ipv4 map-resolver

ipv4 alt-vrf lisp >>> This command defines "lisp" as the alt-vrf.

exit

!

router bgp 65000

!

address-family ipv4 vrf lisp

neighbor 10.1.45.5 remote-as 65000

neighbor 10.1.45.5 activate

exit-address-family

!

R7:MAP-Server 구성

MR과 마찬가지로 MS에서도 alt-vrf를 구성해야 합니다.

!

router lisp

site 1

authentication-key cisco

eid-prefix 172.16.4.4/32 accept-more-specifics

exit

!

site 2

authentication-key cisco

eid-prefix 172.16.1.1/32 accept-more-specifics

exit

!

ipv4 map-server

ipv4 alt-vrf lisp            >>>>>>> ALT VRF is lisp

exit

!

vrf definition lisp

rd 100:1

!

address-family ipv4

route-target export 100:1

route-target import 100:1

exit-address-family

!

!

interface Tunnel1

vrf forwarding lisp

ip address 10.1.45.5 255.255.255.0

tunnel source Ethernet0/0

tunnel destination 10.1.56.5

!

router bgp 65000

!

address-family ipv4 vrf lisp

redistribute lisp

neighbor 10.1.45.4 remote-as 65000

neighbor 10.1.45.4 activate

exit-address-family

!

end

다음을 확인합니다.

LISP 통신을 트리거하려면 다음 조건 중 하나를 충족해야 합니다.

1. 기본 경로는 xTR에서 null 0으로 가리켜야 합니다.

2. 원격 xTR의 EID에 대한 특정 경로는 xTR에 없어야 합니다.

다음은 작동 순서입니다.

1. 두 ETR은 EID 및 RLOC 주소를 위해 맵 서버에 map-register 메시지를 보내야 합니다.

2. ITR에서 ETR로 Ping이 수행되면(예: 172.16.1.1~172.16.4.4) ITR 172.16.1.1은 map-resolver 172.16.5.5에 map-request 메시지를 전송하고 map-resolver는 ALT 토폴로지를 통해 map-server에 요청을 전달합니다.

3. MS가 MR로부터 요청을 수신하면 동일한 맵 요청을 원격 ETR로 전달합니다.

4. ETR이 맵 요청을 수신하면 RLOC 주소로 ITR에 직접 회신합니다.

R1_XTR#sh ip route 172.16.4.4 -----> R4's EID

% Subnet not in table

R1_XTR#sh ip route 0.0.0.0

Routing entry for 0.0.0.0/0, supernet

Known via "static", distance 1, metric 0 (connected), candidate default path

Routing Descriptor Blocks:

* directly connected, via Null0

Route metric is 0, traffic share count is 1

위에 표시된 것처럼 R4의 EID로 라우팅합니다.17.16.4.4이(가) 라우팅 테이블에 없습니다.대신 null0을 가리키는 기본 경로가 정적으로 구성되었습니다. 필요한 트리거 조건이 충족되면 17.16.4.4에 대한 ping이 LISP 캡슐화를 트리거합니다.

R1_XTR#ping 172.16.4.4 source lo1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 172.16.4.4, timeout is 2 seconds:

Packet sent with a source address of 172.16.1.1

..!!!

Success rate is 60 percent (3/5), round-trip min/avg/max = 1/4/7 ms

R1_XTR#

위 ping이 작동하려면 LISP 통신을 통해 R4가 대상 xTR에 대한 정보를 R1로 전송했습니다.

R1_XTR#sh ip lisp map-cache

LISP IPv4 Mapping Cache for EID-table default (IID 0), 2 entries

0.0.0.0/0, uptime: 06:10:24, expires: never, via static send map-request

Negative cache entry, action: send-map-request

172.16.4.4/32, uptime: 05:55:27, expires: 18:04:32, via map-reply, complete

Locator    Uptime    State      Pri/Wgt

10.1.34.4  05:55:27  up           1/100

문제 해결

다음은 LISP 패킷 흐름을 확인하는 데 사용되는 디버그 출력 및 패킷 캡처입니다.다음 debug 명령을 사용하여 정보를 캡처했습니다."debug lisp control-plane all"

참고:debug 명령은 상당한 양의 데이터를 생성하며 제어 환경에서 실행해야 합니다.

xTR- R1에서 디버그

아래 디버그 메시지에서 R1은 MS에 EID를 등록하고 MS는 승인합니다.마찬가지로 R4는 MS에 EID를 등록합니다.

*Oct 16 12:46:09.398: LISP-0: IPv4 Map Server IID 0 192.168.7.7, Sending map-register (src_rloc 10.1.15.1) nonce 0xBEB73F0C-0xFE3EBC4E.

*Oct 16 12:46:09.403: LISP: Processing received Map-Notify message from 192.168.7.7 to 10.1.15.1

이제 R1에서 R4의 EID로 ping이 시작되며, R1의 EID에서 소싱되고 R1은 즉시 MR에게 Map-Request 패킷을 전송합니다.

R1_XTR#ping 172.16.4.4 source 172.16.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 172.16.4.4, timeout is 2 seconds:

Packet sent with a source address of 172.16.1.1

*Oct 16 12:46:23.380: LISP: Send map request type remote EID prefix

*Oct 16 12:46:23.380: LISP: Send map request for EID prefix IID 0 172.16.4.4/32

*Oct 16 12:46:23.380: LISP-0: Remote EID IID 0 prefix 172.16.4.4/32, Send map request (1) (sources: <signal>, state: incomplete, rlocs: 0).

*Oct 16 12:46:23.380: LISP-0: AF IPv4, Sending map-request from 10.1.12.1 to 172.16.4.4 for EID 172.16.4.4/32, ITR-RLOCs 1, nonce 0x99255979-0x30A1BAC1 (encap src 10.1.15.1, dst 192.168.5.5).

패킷 수신시 MR은 MS에 연락하여 이 EID에 등록된 xTR을 식별하고 R4에 Map-Request 메시지를 전달합니다. 그 답례로 R4는 RLOC를 사용하여 R1에 Map-Reply를 다시 보냅니다.

*Oct 16 12:46:23.389: LISP: Processing received Map-Reply message from 10.1.34.4 to 10.1.12.1

*Oct 16 12:46:23.389: LISP: Received map reply nonce 0x99255979-0x30A1BAC1, records 1

*Oct 16 12:46:23.389: LISP: Processing Map-Reply mapping record for IID 0 172.16.4.4/32, ttl 1440, action none, authoritative, 1 locator

10.1.34.4 pri/wei=1/100 LpR

*Oct 16 12:46:23.389: LISP-0: Map Request IID 0 prefix 172.16.4.4/32 remote EID prefix[LL], Received reply with rtt 9ms.

*Oct 16 12:46:23.389: LISP: Processing mapping information for EID prefix IID 0 172.16.4.4/32

Map-Resolver 패킷 흐름

아래 그림과 같이 MR은 먼저 R1에서 Map-request 메시지를 받아 172.16.4.4에 대한 RLOC를 확인합니다. 그런 다음 MS에서 학습된 EID에 일치하는 항목이 있는지 BGP lisp vrf 테이블을 확인하고 일치하는 항목을 찾으면 MR은 맵 요청을 MS로 전달합니다.

LISP_Resolver#show ip bgp vpnv4 vrf lisp

BGP table version is 3, local router ID is 192.168.5.5

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

Origin codes: i - IGP, e - EGP, ? - incomplete

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 100:1 (default for vrf lisp)

*>i 172.16.1.1/32    10.1.45.5                1    100      0 ?

*>i 172.16.4.4/32    10.1.45.5                1    100      0 ?

*Oct 16 12:46:23.384: LISP: Processing received Map-Request message from 10.1.12.1 to 172.16.4.4

*Oct 16 12:46:23.384: LISP: Received map request for IID 0 172.16.4.4/32, source_eid IID 0 172.16.1.1, ITR-RLOCs: 10.1.12.1, records 1, nonce 0x99255979-0x30A1BAC1

*Oct 16 12:46:23.384: LISP-0: AF IID 0 IPv4, Forwarding map request to 172.16.4.4 on the ALT.

참고:로그 메시지에서 map-request가 BGP 테이블의 next-hop 항목에 따라 MS로 전달되고 172.16.4.4은 경우에도 실제로 전송됩니다.

Map-Server 패킷 흐름

MS에서 실행되는 디버그는 R1 및 R4에서 수신되는 맵 등록 메시지를 먼저 표시하여 각 ETR을 등록합니다.

*Oct 16 12:46:09.398: LISP: Processing Map-Register mapping record for IID 0 172.16.1.1/32, ttl 1440, action none, authoritative, 1 locator

10.1.12.1 pri/wei=5/100 LpR

*Oct 16 12:46:09.398: LISP-0: MS registration IID 0 prefix 172.16.1.1/32 10.1.15.1 site 2, Updating.

*Oct 16 12:46:41.445: LISP: Processing Map-Register mapping record for IID 0 172.16.4.4/32, ttl 1440, action none, authoritative, 1 locator

10.1.34.4 pri/wei=1/100 LpR

*Oct 16 12:46:41.445: LISP-0: MS registration IID 0 prefix 172.16.4.4/32 10.1.47.4 site 1, Updating.

이제 두 xTR 모두 EID를 성공적으로 등록했습니다.

R7#show lisp site detail

LISP Site Registration Information

Site name: 1

Allowed configured locators: any

Allowed EID-prefixes:

EID-prefix: 172.16.4.4/32

First registered:     05:02:48    Routing table tag:    0

Origin:               Configuration, accepting more specifics

Merge active:         No

Proxy reply:          No

TTL:                  1d00h

State:                complete

Registration errors:

Authentication failures:   0

Allowed locators mismatch: 0

ETR 10.1.47.4, last registered 00:00:21, no proxy-reply, map-notify

TTL 1d00h, no merge, hash-function sha1, nonce 0x56D89121-0xC39C2892

state complete, no security-capability

xTR-ID 0xF7DE6C93-0x06F8DDA4-0x7D6400B1-0x19EC9669

site-ID unspecified

Locator    Local  State      Pri/Wgt

10.1.34.4  yes    up           1/100

Site name: 2

Allowed configured locators: any

Allowed EID-prefixes:

EID-prefix: 172.16.1.1/32

First registered:     05:02:46

Routing table tag:    0

Origin:               Configuration, accepting more specifics

Merge active:         No

Proxy reply:          No

TTL:                  1d00h

State:                complete

Registration errors:

Authentication failures:   0

Allowed locators mismatch: 0

ETR 10.1.15.1, last registered 00:00:50, no proxy-reply, map-notify

TTL 1d00h, no merge, hash-function sha1, nonce 0xBEB73F0C-0xFE3EBC4E

state complete, no security-capability

xTR-ID 0xCF7E1300-0x302FF91A-0x1C2D0499-0x8A105258

site-ID unspecified

Locator    Local  State      Pri/Wgt

10.1.12.1  yes    up           5/100

R1에서 Ping을 수행하고 MR이 Map-request 메시지를 MS로 전송하면 MS에서 다음 로그를 볼 수 있습니다.

*Oct 16 12:46:23.388: LISP: Processing received Map-Request message from 10.1.12.1 to 172.16.4.4

*Oct 16 12:46:23.388: LISP: Received map request for IID 0 172.16.4.4/32, source_eid IID 0 172.16.1.1, ITR-RLOCs: 10.1.12.1, records 1, nonce 0x99255979-0x30A1BAC1

*Oct 16 12:46:23.388: LISP-0: MS EID IID 0 prefix 172.16.4.4/32 site 1, Forwarding map request to ETR RLOC 10.1.34.4.

xTR2-R4 패킷 흐름

R4에서 다음 이벤트가 발생합니다.

1. R4는 R7(예: MS)에서 LISP 캡슐화된 메시지를 수신합니다.

2. 패킷은 역캡슐화되며 R1이 R5 i.MS로 이전에 전송한 것과 동일한 맵 요청인 것으로 확인되며 나중에 MR에서 MS로 전달되었습니다.

3. 그런 다음 R4는 R1에 직접 Map-Reply 메시지를 보냅니다.

*Oct 16 13:32:40.700: LISP: Processing received Encap-Control message from 10.1.47.7 to 10.1.34.4

*Oct 16 13:32:40.702: LISP: Processing received Map-Request message from 10.1.12.1 to 172.16.4.4

*Oct 16 13:32:40.702: LISP: Received map request for IID 0 172.16.4.4/32, source_eid IID 0 172.16.1.1, ITR-RLOCs: 10.1.12.1, records 1, nonce 0x188823A0-0xAFF029C8

*Oct 16 13:32:40.702: LISP: Processing map request record for EID prefix IID 0 172.16.4.4/32

*Oct 16 13:32:40.702: LISP-0: Sending map-reply from 10.1.34.4 to 10.1.12.1.

패킷 캡처

MR

아래 패킷 캡처는 R4용 R1에서 오는 맵 요청입니다.

Internet Protocol Version 4, Src: 10.1.15.1 (10.1.15.1), Dst: 192.168.5.5 (192.168.5.5)

Version: 4

Header Length: 20 bytes

Differentiated Services Field: 0xc0 (DSCP 0x30: Class Selector 6; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))

Total Length: 120

Identification: 0x1446 (5190)

Flags: 0x00

Fragment offset: 0

Time to live: 31

Protocol: UDP (17)

Header checksum: 0xa7c0 [validation disabled]

Source: 10.1.15.1 (10.1.15.1)

Destination: 192.168.5.5 (192.168.5.5)

[Source GeoIP: Unknown]

[Destination GeoIP: Unknown]

User Datagram Protocol, Src Port: 4342 (4342), Dst Port: 4342 (4342)

Locator/ID Separation Protocol

Internet Protocol Version 4, Src: 10.1.12.1 (10.1.12.1), Dst: 172.16.4.4 (172.16.4.4)

Version: 4

Header Length: 20 bytes

Differentiated Services Field: 0xc0 (DSCP 0x30: Class Selector 6; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))

Total Length: 88

Identification: 0x1445 (5189)

Flags: 0x00

Fragment offset: 0

Time to live: 32

Protocol: UDP (17)

Header checksum: 0xbf7a [validation disabled]

Source: 10.1.12.1 (10.1.12.1)

Destination: 172.16.4.4 (172.16.4.4)

[Source GeoIP: Unknown]

[Destination GeoIP: Unknown]

User Datagram Protocol, Src Port: 4342 (4342), Dst Port: 4342 (4342)

Locator/ID Separation Protocol

MS

맵 등록 패킷은 아래에서 캡처됩니다.

Internet Protocol Version 4, Src: 10.1.47.4 (10.1.47.4), Dst: 192.168.7.7 (192.168.7.7)

User Datagram Protocol, Src Port: 4342 (4342), Dst Port: 4342 (4342)

Locator/ID Separation Protocol

0011 .... .... .... .... .... = Type: Map-Register (3)

.... 0... .... .... .... .... = P bit (Proxy-Map-Reply): Not set

.... .0.. .... .... .... .... = S bit (LISP-SEC capable): Not set

.... ..1. .... .... .... .... = I bit (xTR-ID present): Set

.... ...0 .... .... .... .... = R bit (Built for an RTR): Not set

.... .... 0000 0000 0000 000. = Reserved bits: 0x000000

.... .... .... .... .... ...1 = M bit (Want-Map-Notify): Set

Record Count: 1

Nonce: 0x56d89121c39c2892

Key ID: 0x0001

Authentication Data Length: 20

Authentication Data&colon; ce8f37f14c76d49e52717d1c5407e638e2733015

Mapping Record 1, EID Prefix: 172.16.4.4/32, TTL: 1440, Action: No-Action, Authoritative

Record TTL: 1440

Locator Count: 1

EID Mask Length: 32

000. .... .... .... = Action: No-Action (0)

...1 .... .... .... = Authoritative bit: Set

.... .000 0000 0000 = Reserved: 0x0000

0000 .... .... .... = Reserved: 0x0000

.... 0000 0000 0000 = Mapping Version: 0

EID Prefix AFI: IPv4 (1)

EID Prefix: 172.16.4.4 (172.16.4.4)

Locator Record 1, Local RLOC: 10.1.34.4, Reachable, Priority/Weight: 1/100, Multicast Priority/Weight: 255/0

xTR-ID: f7de6c9306f8dda47d6400b119ec9669

Site-ID: 0000000000000000

R1에서

R4에서 수신되는 R1에 캡처된 맵 회신 메시지

Internet Protocol Version 4, Src: 10.1.34.4 (10.1.34.4), Dst: 10.1.12.1 (10.1.12.1)

User Datagram Protocol, Src Port: 4342 (4342), Dst Port: 4342 (4342)

Locator/ID Separation Protocol

0010 .... .... .... .... .... = Type: Map-Reply (2)

.... 0... .... .... .... .... = P bit (Probe): Not set

.... .0.. .... .... .... .... = E bit (Echo-Nonce locator reachability algorithm enabled): Not set

.... ..0. .... .... .... .... = S bit (LISP-SEC capable): Not set

.... ...0 0000 0000 0000 0000 = Reserved bits: 0x000000

Record Count: 1

Nonce: 0xe9ee73f07b0cb7d6

Mapping Record 1, EID Prefix: 172.16.4.4/32, TTL: 1440, Action: No-Action, Authoritative

Record TTL: 1440

Locator Count: 1

EID Mask Length: 32

000. .... .... .... = Action: No-Action (0)

...1 .... .... .... = Authoritative bit: Set

.... .000 0000 0000 = Reserved: 0x0000

0000 .... .... .... = Reserved: 0x0000

.... 0000 0000 0000 = Mapping Version: 0

EID Prefix AFI: IPv4 (1)

EID Prefix: 172.16.4.4 (172.16.4.4)

Locator Record 1, Local RLOC: 10.1.34.4, Reachable, Priority/Weight: 1/100, Multicast Priority/Weight: 255/0