소개
이 문서에서는 도메인 간 MPLS 활용 사례에서 SR의 가능한 애플리케이션을 포함하여 LDP 기반 트래픽에 SR 혜택을 제공하는 데 부분 SR 구축을 사용하는 방법에 대해 설명합니다.
전제 조건
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- 지원 세그먼트 라우팅
- NCS5500, ASR9000
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
배경 정보
이 문서에서는 SR과 SR을 지원하는 라우터 및 SR을 지원하지 않는 라우터 조합이 동일한 네트워크 내에서 더 정확하게 동일한 라우팅 도메인에 공존하는 경우 LDP와 상호 작용하는 메커니즘에 대해 설명합니다.
노드에서 작동하는 MCC(Multicast Control Plane Client)는 노드의 MPLS 데이터 평면에 설치하는 수신 레이블이 고유하게 할당되었는지, 세그먼트 라우팅은 레이블 할당에 SRGB(Segment Routing Global Block)를 사용합니다.SRGB를 사용하면 SR이 다른 MCC와 공존할 수 있습니다.
팁:이 정보는 Inter-AS Option C를 사용하는 MPLS SR 및 MPLS LDP용 Inter-AS 솔루션을 사용하는 데 도움이 됩니다.
문제
RFC 4364에 정의된 Inter-AS 옵션 C를 사용하여 SR MPLS 컨트롤 플레인을 사용하는 이기종 환경에서 SR 구축이 MPLS LDP 컨트롤 플레인과 상호 운용됩니다.
이 문서에서는 MPLS LDP 및 SR MPLS를 사용하는 통신 사업자 네트워크가 AS 간 옵션 C를 사용하여 가상 사설 네트워크를 제공하는 방법에 대해 설명합니다.
솔루션
AS 간 옵션 C에 대한 간략한 개요:
Inter-AS Option C는 RFC 4364에서 다루는 멀티 AS 백본을 상호 연결하기 위한 세 번째 옵션입니다.지금까지 세 가지 옵션 중 가장 확장성이 뛰어난 옵션이며 이 설계를 제대로 적용하기 위해 반드시 알아야 하는 고유한 적용 가능성 시나리오가 있습니다.
옵션 C는 확장 가능하므로 적합한 옵션입니다.ASBR은 VPN 경로를 전달하지 않으며, PE의 자체 AS 내에서 레이블이 지정된 IPv4 경로의 배포만 처리합니다.
확장성을 개선하기 위해 하나의 MP-EBGP VPNv4 세션이 PE 또는 RR 간에 모든 VPN 경로(외부 경로)를 전송합니다.RR을 사용하여 외부 경로를 교환하는 경우 VPNv4 경로의 next-hop을 유지해야 합니다.
ASBR은 EBGP를 사용하여 AS(내부 경로) 간에 내부 PE 라우팅 정보를 교환합니다. 이러한 내부 경로는 PE 또는 RR 간에 다중 hop MP-EBGP 세션을 통해 광고되는 외부 경로의 BGP next-hop에 해당합니다.ASBR에서 광고하는 내부 경로는 PE 간에 MP-EBGP 세션을 설정하는 데 사용할 수 있으며 인그레스(ingress)에서 이그레스(egress) PE로 LSP 설정을 허용합니다.
옵션 C는 확장성 측면에서 매우 좋은 솔루션이며 동일한 SP Multi-AS 네트워크를 사용하는 방법입니다.
세그먼트 라우팅에 대한 간략한 개요:
SR(Segment Routing)은 소스 라우팅 및 터널링 패러다임을 활용합니다.노드는 SR 헤더를 사용하여 패킷을 미리 대기시켜 세그먼트라는 제어 명령 집합을 통해 패킷을 전송합니다.세그먼트는 모든 명령, 토폴로지 또는 서비스 기반 항목을 나타낼 수 있습니다.SR은 SR 도메인의 인그레스 노드에서만 흐름별 상태를 유지하는 동시에 토폴로지 경로 및 서비스 체인을 통해 플로우를 시행할 수 있습니다.세그먼트 라우팅 아키텍처는 포워딩 플레인에 약간의 변경 사항을 적용하여 MPLS 데이터 플레인에 직접 적용할 수 있습니다.기존 링크 상태 라우팅 프로토콜에 대한 부 확장이 필요합니다.세그먼트 라우팅은 새로운 유형의 라우팅 확장 헤더를 사용하여 IPv6에도 적용할 수 있습니다.
세그먼트는 MPLS 레이블로 인코딩됩니다.정렬된 세그먼트 목록은 레이블 스택으로 인코딩됩니다.처리할 세그먼트가 스택의 상단에 있습니다.세그먼트가 완료되면 관련 레이블이 스택에서 팝업됩니다. 세그먼트 라우팅 MPLS 데이터 플레인 작업은 기존 MPLS 전달에 따라 푸시, 스왑 및 팝업입니다.다음 세그먼트 유형은 세그먼트 공정순서에 정의되어 있습니다.
- 접두사 세그먼트
- 인접성 세그먼트
- BGP 피어링 세그먼트
- BGP 접두사 세그먼트
SR 글로벌 블록
SRGB(Segment Routing Global Block)는 LSD에서 세그먼트 라우팅에 대해 유지되는 레이블 값의 범위입니다.SRGB 레이블 값은 SR 지원 노드에 SID(prefix segment identifier)로 할당되며 도메인 전체에서 글로벌 중요도를 갖습니다.
- SR 레이블 범위는 16,000 미만으로 시작할 수 없습니다. 기본 SR 전역 블록은 다음과 같습니다.16,000~24,000명.
- 에 정의된 라우터 기능 TLV의 "SR-Capabilities Sub-TLV"가 주소군에 특정하지 않기 때문에 SRGB 구성은 주소군에 한정되지 않습니다.
- CLI에서 기본 SRGB를 확장 또는 이동할 경우 다시 로드가 필요하지만 새 범위에 레이블이 있는 클라이언트가 있는 경우에만 다시 로드해도 됩니다.
- SRGB를 구성하기 전에 관리자는 Segment-Routing에 대해 구성 중인 레이블 기반의 일부가 사용 가능하고 다른 MPLS LSD 클라이언트에서 사용 중이 아닌지 확인해야 합니다.
SR 매핑 서버
매핑 서버는 알려진 접두사의 일부 또는 전체에 대해 접두사 SID를 중앙에서 할당합니다.라우터는 매핑 서버, 매핑 클라이언트 또는 둘 다의 역할을 할 수 있어야 합니다.
- 매핑 서버는 컨트롤 플레인 메커니즘이며, 해당 위치는 BGP 경로 리플렉터와 비교됩니다.
- 사용자가 일부 또는 모든 접두사에 대해 prefix-SID를 지정하도록 겹치지 않는 SID 매핑 항목을 구성할 수 있습니다.
- ISIS는 'SID/Label Binding TLV'에서 로컬 SID 매핑 정책을 알립니다.
- 매핑 서버는 복원력이 있어야 하며 이중화를 제공해야 합니다.
매핑 서버의 주요 기능은 다음과 같습니다.
- IGP에서 다른 비 SR 지원 노드 접두사-SID 매핑을 대신하여 SID에 접두사-SID 매핑 알림 매핑 이 매핑 서버에서 구성됩니다.
- SR 지원 노드가 (비 SR 지원) LDP 노드와 상호 작용하도록 지원, SR/LDP 상호 작용에 매핑 서버 필요
매핑 클라이언트
- 원격 SID 매핑 항목을 만들기 위해 원격으로 수신된 SID/레이블 바인딩 TLV를 수신 및 구문 분석합니다.원격으로 학습된 로컬 구성 매핑 엔트리를 사용하여 비중첩 일관성 있는 활성 매핑 정책을 구성합니다.
- IGP 인스턴스는 활성 매핑 정책을 사용하여 일부 또는 모든 접두사의 접두사-SID를 계산합니다.
이 섹션에서는 SR 지원 네트워크 피어링/비 SR 지원 네트워크로 연결 및 제공 공급자 네트워크 간의 L3 VPN(Virtual Private Network) 서비스를 이해하고 구성하는 데 도움이 됩니다.이 섹션에서는 RFC "4364" 및 사용 사례에 정의된 옵션 C를 구성하는 방법을 배웁니다.
토폴로지 - AS 간 옵션 C(경로 리플렉터 포함)

토폴로지 다이어그램의 간략한 개요
토폴로지 다이어그램의 맨 위에 Route-reflector, Provider Edge 라우터, Customer Edge 라우터로 구성된 SR 지원 네트워크가 있습니다.
고객 에지 라우터 CE1 및 CE2에는 각각 VRF A와 VRF B가 있습니다.이는 AS 65002에 속합니다.
토폴로지 다이어그램의 하단에는 Route-reflector, Provider Edge 라우터, 고객 에지 라우터로 구성된 LDP 지원 네트워크가 있습니다.
고객 에지 라우터 CE3 및 CE4에는 각각 VRF A와 VRF B가 있습니다.이는 AS65001에 속합니다.
SR 및 LDP의 끝에 있는 VRF A 및 VRF B는 서로 통신해야 합니다.
IP 주소 지정 스키마
호스트 이름 |
IP 주소 |
RR-01 |
10.0.0.1 |
RR-02 |
10.0.0.2 |
PE1 |
10.0.0.3 |
PE2 |
10.0.0.4 |
CE1 |
10.0.0.5 |
CE2 |
10.0.0.6 |
RR-03 |
10.0.1.1 |
RR-04 |
10.0.1.2 |
PE5 |
10.0.1.3 |
PE6 |
10.0.1.4 |
CE3 |
10.0.1.5 |
CE4 |
10.0.1.6 |
구성
디바이스의 컨피그레이션에 대해 설명합니다.
RR-1
segment-routing mpls
!
mapping-server
!
prefix-sid-map
address-family ipv4
10.0.0.1/32 index 200 range 10
exit-address-family
!
!
interface Loopback0
description Loopback0
ip address 10.0.0.1 255.255.255.255
ip router isis 65002
!
!
router isis 65002
net xx.xxxx.xxxx.xxxx.xx
metric-style wide
segment-routing mpls
segment-routing prefix-sid-map advertise-local
!
router bgp 65002
bgp router-id 10.0.0.1
neighbor 10.0.0.3 remote-as 65002
neighbor 10.0.0.3 description rr client
neighbor 10.0.0.3 update-source Loopback0
neighbor 10.0.0.4 remote-as 65002
neighbor 10.0.0.4 description rr client
neighbor 10.0.0.4 update-source Loopback0
neighbor 10.0.0.2 remote-as 65002
neighbor 10.0.0.2 description iBGP peer
neighbor 10.0.0.2 update-source Loopback0
neighbor 10.0.1.1 remote-as 65001
neighbor 10.0.1.1 ebgp-multihop 255
neighbor 10.0.1.1 update-source Loopback0
neighbor 10.0.1.2 remote-as 65001
neighbor 10.0.1.2 ebgp-multihop 255
neighbor 10.0.1.2 update-source Loopback0
!
address-family ipv4
neighbor 10.0.0.3 activate
neighbor 10.0.0.3 route-reflector-client
neighbor 10.0.0.4 activate
neighbor 10.0.0.4 route-reflector-client
neighbor 10.0.0.2 activate
neighbor 10.0.1.1 activate
neighbor 10.0.1.2 activate
exit-address-family
!
address-family vpnv4
neighbor 10.0.0.3 activate
neighbor 10.0.0.3 send-community extended
neighbor 10.0.0.3 route-reflector-client
neighbor 10.0.0.4 activate
neighbor 10.0.0.4 send-community extended
neighbor 10.0.0.4 route-reflector-client
neighbor 10.0.0.2 activate
neighbor 10.0.0.2 send-community extended
neighbor 10.0.1.1 activate
neighbor 10.0.1.1 send-community both
neighbor 10.0.1.1 next-hop-unchanged
neighbor 10.0.1.2 activate
neighbor 10.0.1.2 send-community both
neighbor 10.0.1.2 next-hop-unchanged
exit-address-family
!
RR-2
segment-routing mpls
!
mapping-server
!
prefix-sid-map
address-family ipv4
10.0.0.2/32 index 200 range 10
exit-address-family
!
!
interface Loopback0
description Loopback0
ip address 10.0.0.2 255.255.255.255
ip router isis 65002
!
!
router isis 65002
net xx.xxxx.xxxx.xxxx.xx
metric-style wide
segment-routing mpls
segment-routing prefix-sid-map advertise-local
!
router bgp 65002
bgp router-id 10.0.0.2
neighbor 10.0.0.3 remote-as 65002
neighbor 10.0.0.3 description rr client
neighbor 10.0.0.3 update-source Loopback0
neighbor 10.0.0.4 remote-as 65002
neighbor 10.0.0.4 description rr client
neighbor 10.0.0.4 update-source Loopback0
neighbor 10.0.0.1 remote-as 65002
neighbor 10.0.0.1 description iBGP peer
neighbor 10.0.0.1 update-source Loopback0
neighbor 10.0.1.1 remote-as 65001
neighbor 10.0.1.1 ebgp-multihop 255
neighbor 10.0.1.1 update-source Loopback0
neighbor 10.0.1.2 remote-as 65001
neighbor 10.0.1.2 ebgp-multihop 255
neighbor 10.0.1.2 update-source Loopback0
!
address-family ipv4
neighbor 10.0.0.3 activate
neighbor 10.0.0.3 route-reflector-client
neighbor 10.0.0.4 activate
neighbor 10.0.0.4 route-reflector-client
neighbor 10.0.0.1 activate
neighbor 10.0.1.1 activate
neighbor 10.0.1.2 activate
exit-address-family
!
address-family vpnv4
neighbor 10.0.0.3 activate
neighbor 10.0.0.3 send-community extended
neighbor 10.0.0.3 route-reflector-client
neighbor 10.0.0.4 activate
neighbor 10.0.0.4 send-community extended
neighbor 10.0.0.4 route-reflector-client
neighbor 10.0.0.1 activate
neighbor 10.0.0.1 send-community extended
neighbor 10.0.1.1 activate
neighbor 10.0.1.1 send-community both
neighbor 10.0.1.1 next-hop-unchanged
neighbor 10.0.1.2 activate
neighbor 10.0.1.2 send-community both
neighbor 10.0.1.2 next-hop-unchanged
exit-address-family
!
PE-1
interface Loopback0
description Loopback0
ip address 10.0.0.3 255.255.255.255
ip router isis 65002
!
vrf A # Define VRF A
address-family ipv4 unicast
import route-target
65000:1
!
export route-target
65000:1
!
!
vrf B # Define VRF B
address-family ipv4 unicast
import route-target
65000:2
!
export route-target
65000:2
!
!
router isis 65002 # ISIS Level 2
is-type level-2-only
net xx.xxxx.xxxx.xxxx.xx
address-family ipv4 unicast
metric-style wide
advertise link attributes
mpls traffic-eng level-2-only
mpls traffic-eng router-id Loopback0
router-id Loopback0
segment-routing mpls sr-prefer
!
router bgp 65002 # BGP
bgp router-id 10.0.0.3
neighbor-group RR
remote-as 65002
update-source Loopback0
address-family vpnv4 unicast
!
!
neighbor 10.0.0.1
use neighbor-group RR
!
neighbor 10.0.0.2
use neighbor-group RR
vrf A
rd 65000:1
address-family ipv4 unicast
redistribute connected
allocate-label all
!
neighbor 10.0.0.5 # IP address of CE1
remote-as 61001
ebgp-multihop 255
update-source Loopback100
address-family ipv4 unicast
!
vrf B
rd 65000:2
address-family ipv4 unicast
redistribute connected
allocate-label all
!
neighbor 10.0.0.6 # IP address of CE2
remote-as 61001
ebgp-multihop 255
update-source Loopback101
address-family ipv4 unicast
!
interface GigabitEthernet1 # Link to CE-01
vrf A
ipv4 address x.x.x.x 255.255.255.0
!
interface GigabitEthernet2 # Link to CE-02
vrf B
ipv4 address x.x.x.x 255.255.255.0
!
segment-routing
global-block 16000 23999
!
RR-3
interface Loopback0
description Loopback0
ip address 10.0.1.1 255.255.255.255
ip router isis 65001
!
!
router isis 65001
net xx.xxxx.xxxx.xxxx.xx
metric-style wide
segment-routing mpls
segment-routing prefix-sid-map advertise-local
!
router bgp 65001
bgp router-id 10.0.1.1
neighbor 10.0.1.3 remote-as 65001
neighbor 10.0.1.3 description rr client
neighbor 10.0.1.3 update-source Loopback0
neighbor 10.0.1.4 remote-as 65001
neighbor 10.0.1.4 description rr client
neighbor 10.0.1.4 update-source Loopback0
neighbor 10.0.1.2 remote-as 65001
neighbor 10.0.1.2 description iBGP peer
neighbor 10.0.1.2 update-source Loopback0
neighbor 10.0.0.1 remote-as 65002
neighbor 10.0.0.1 ebgp-multihop 255
neighbor 10.0.0.1 update-source Loopback0
neighbor 10.0.0.2 remote-as 65002
neighbor 10.0.0.2 ebgp-multihop 255
neighbor 10.0.0.2 update-source Loopback0
!
address-family ipv4
neighbor 10.0.1.3 activate
neighbor 10.0.1.3 route-reflector-client
neighbor 10.0.1.4 activate
neighbor 10.0.1.4 route-reflector-client
neighbor 10.0.1.2 activate
neighbor 10.0.0.1 activate
neighbor 10.0.0.2 activate
exit-address-family
!
address-family vpnv4
neighbor 10.0.1.3 activate
neighbor 10.0.1.3 send-community extended
neighbor 10.0.1.3 route-reflector-client
neighbor 10.0.1.4 activate
neighbor 10.0.1.4 send-community extended
neighbor 10.0.1.4 route-reflector-client
neighbor 10.0.1.2 activate
neighbor 10.0.1.2 send-community extended
neighbor 10.0.0.1 activate
neighbor 10.0.0.1 send-community both
neighbor 10.0.0.1 next-hop-unchanged
neighbor 10.0.0.2 activate
neighbor 10.0.0.2 send-community both
neighbor 10.0.0.2 next-hop-unchanged
exit-address-family
!
RR-4
interface Loopback0
description Loopback0
ip address 10.0.1.2 255.255.255.255
ip router isis 65001
!
!
router isis 65001
net xx.xxxx.xxxx.xxxx.xx
metric-style wide
segment-routing mpls
segment-routing prefix-sid-map advertise-local
!
router bgp 65001
bgp router-id 10.0.1.2
neighbor 10.0.1.3 remote-as 65001
neighbor 10.0.1.3 description rr client
neighbor 10.0.1.3 update-source Loopback0
neighbor 10.0.1.4 remote-as 65001
neighbor 10.0.1.4 description rr client
neighbor 10.0.1.4 update-source Loopback0
neighbor 10.0.1.1 remote-as 65001
neighbor 10.0.1.1 description iBGP peer
neighbor 10.0.1.1 update-source Loopback0
neighbor 10.0.0.1 remote-as 65002
neighbor 10.0.0.1 ebgp-multihop 255
neighbor 10.0.0.1 update-source Loopback0
neighbor 10.0.0.2 remote-as 65002
neighbor 10.0.0.2 ebgp-multihop 255
neighbor 10.0.0.2 update-source Loopback0
!
address-family ipv4
neighbor 10.0.1.3 activate
neighbor 10.0.1.3 route-reflector-client
neighbor 10.0.1.4 activate
neighbor 10.0.1.4 route-reflector-client
neighbor 10.0.1.1 activate
neighbor 10.0.0.1 activate
neighbor 10.0.0.2 activate
exit-address-family
!
address-family vpnv4
neighbor 10.0.1.3 activate
neighbor 10.0.1.3 send-community extended
neighbor 10.0.1.3 route-reflector-client
neighbor 10.0.1.4 activate
neighbor 10.0.1.4 send-community extended
neighbor 10.0.1.4 route-reflector-client
neighbor 10.0.1.1 activate
neighbor 10.0.1.1 send-community extended
neighbor 10.0.0.1 activate
neighbor 10.0.0.1 send-community both
neighbor 10.0.0.1 next-hop-unchanged
neighbor 10.0.0.2 activate
neighbor 10.0.0.2 send-community both
neighbor 10.0.0.2 next-hop-unchanged
exit-address-family
!
PE-6
interface Loopback0
description Loopback0
ip address 10.0.1.3 255.255.255.255
ip router isis 65001
!
vrf A # Define VRF A
address-family ipv4 unicast
import route-target
65000:1
!
export route-target
65000:1
!
vrf B # Define VRF B
address-family ipv4 unicast
import route-target
65000:2
!
export route-target
65000:2
!
router isis 65001
is-type level-2-only
net xx.xxxx.xxxx.xxxx.xx
address-family ipv4 unicast
metric-style wide
advertise link attributes
mpls traffic-eng level-2-only
mpls traffic-eng router-id Loopback0
router-id Loopback0
segment-routing mpls sr-prefer
!
router bgp 65001
bgp router-id 10.0.1.3
neighbor-group RR
remote-as 65002
update-source Loopback0
address-family vpnv4 unicast
!
!
neighbor 10.0.1.1
use neighbor-group RR
!
neighbor 10.0.1.2
use neighbor-group RR
vrf A
rd 65000:1
address-family ipv4 unicast
redistribute connected
allocate-label all
!
neighbor 10.0.1.5 # IP address of CE3
remote-as 61001
ebgp-multihop 255
update-source Loopback100
address-family ipv4 unicast
!
vrf B
rd 65000:2
address-family ipv4 unicast
redistribute connected
allocate-label all
!
neighbor 10.0.1.6 # IP address of CE4
remote-as 61001
ebgp-multihop 255
update-source Loopback101
address-family ipv4 unicast
!
interface GigabitEthernet1 # Link to CE3
vrf A
ipv4 address x.x.x.x 255.255.255.0
!
interface GigabitEthernet2 # Link to CE4
vrf B
ipv4 address x.x.x.x 255.255.255.0
!
관련 정보