소개
이 문서에서는 Cisco IOS® Software 릴리스 12.0(5)S에서 처음 사용 가능했던 BGP(Border Gateway Protocol) local-AS 기능에 대해 설명합니다.
사전 요구 사항
요구 사항
이 문서에서는 BGP 라우팅 프로토콜 및 그 작업에 대한 지식을 권장합니다. 자세한 내용은 BGP(Border Gateway Protocol) 사례 연구 검토를 참조하십시오.
사용되는 구성 요소
이 문서의 정보는 이 소프트웨어 버전으로 작성되었지만 특정 소프트웨어 및 하드웨어 버전으로 제한되지 않습니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
표기 규칙
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참조하십시오.
배경 정보
local-AS 기능을 사용하면 라우터가 원래 AS 외에도 두 번째 AS(자동 시스템)의 멤버로 보일 수 있습니다. 이 기능은 실제 eBGP 피어에만 사용할 수 있습니다. 서로 다른 연합 하위 AS의 멤버인 두 피어에 대해서는 이 기능을 사용할 수 없습니다.
local-AS 기능은 한 ISP가 다른 ISP를 인수할 때 유용한 도구입니다. 인수된 ISP의 라우터가 인수된 ISP의 AS에 원활하게 조인할 수 있기 때문입니다. 이는 인수한 ISP 고객이 기존 피어링 배열 및 컨피그레이션을 유지하는 것을 선호하는 경우 특히 유용합니다. local-AS 기능을 사용하면, 인수한 ISP의 라우터가 인수한 ISP의 AS 구성원으로 나타나면서 고객의 눈에는 원래 AS 번호를 그대로 유지할 수 있습니다. 이를 통해 원활한 전환이 가능하고, 인수한 ISP 고객의 업무 중단을 최소화할 수 있습니다.
예를 들어 네트워크 다이어그램을 참조하십시오. 그림 1에서 ISP-A는 아직 ISP-B를 구매하지 않았고 그림 2에서, ISP-A는 ISP-B를 구매했으며, ISP-B는 local-AS 기능을 사용합니다. ISP-A가 ISP-B를 구매하지만 ISP-B 고객이 컨피그레이션을 수정하지 않으려는 경우 local-AS 기능을 사용하면 ISP-B의 라우터가 ISP-A(100) AS의 멤버가 될 수 있습니다. 동시에 이러한 라우터는 고객에게 ISP-B(200) AS 번호를 유지하는 것처럼 보입니다.
그림 2에서 ISP-B는 이제 AS 100에 속하고 ISP-C(고객)는 AS 300에 속합니다. ISP-C로 피어링할 때 ISP-B는 neighbor <ISP-C> local-as 200 명령을 사용할 때 AS 200을 AS 번호로 사용합니다. ISP-B에서 ISP-C로 전송된 BGP 업데이트에서 AS_PATH 특성의 AS_SEQUENCE는 "200 100"을 포함합니다. "200"은 ISP-C에 대해 구성된 local-as 200 명령 때문에 ISP-B 앞에 추가됩니다.
일반적으로 결합된 ISP-A/B는 ISP-B의 라우터를 AS 100의 일부로 재지정합니다. ISP-C에서 ISP-B와의 eBGP 컨피그레이션을 변경할 수 없는 경우에는 어떻게 합니까? local-AS 기능 이전에 결합된 ISP-A/B는 두 개의 AS 번호를 유지해야 합니다. local-as 명령은 ISP-A/B가 ISP-C에 대해 2개의 AS로 보이는 동안 물리적으로 1개의 AS가 되도록 허용합니다.
명령 구문
이 목록은 이 문서의 컨피그레이션에서 사용하는 명령의 구문을 보여줍니다.
Local-AS는 피어 그룹의 개별 피어에 대해 사용자 지정할 수 없습니다.
Local-AS는 로컬 BGP 프로토콜 AS 번호 또는 원격 피어의 AS 번호를 가질 수 없습니다.
local-as 명령은 피어가 실제 eBGP 피어인 경우에만 유효합니다. 연합에서 서로 다른 하위 AS에 속한 두 피어에 대해서는 작동하지 않습니다.
구성
이 섹션에서는 이 문서에서 설명하는 기능을 구성하는 데 필요한 정보를 제공합니다.
네트워크 다이어그램
이 문서에서는 이러한 네트워크 설정을 사용합니다.
그림 1
그림 2
설정
이 문서에서는 다음 설정을 사용합니다.
ISP-B(AS 100, local-as 200) |
hostname ISP-B
!
interface serial 0
ip address 192.168.1.1 255.255.255.252
!
interface ethernet 0
ip address 192.168.4.1 255.255.255.0
!
router bgp 100
!--- Note the AS number 100. This is the AS number of ISP-A, which is now !--- used by all routers in ISP-B after its acquisition by ISP-A.
neighbor 192.168.1.2 remote-as 300
!--- Defines the e-BGP connection to ISP-C.
neighbor 192.168.1.2 local-as 200
!--- This command makes the remote router in ISP-C to see this !--- router as belonging to AS 200 instead of AS 100. !--- This also make this router to prepend AS 200 in !--- all updates to ISP-C.
network 192.168.4.0
!
! |
ISP-C(AS 300) |
hostname ISP-C
!
interface serial 1
ip address 192.168.1.2 255.255.255.252
!
interface ethernet 0
ip address 192.168.9.1 255.255.255.0
!
router bgp 300
neighbor 192.168.1.1 remote-as 200
!--- Defines the e-BGP connection to ISP-B.
!--- Note AS is 200 and not AS 100.
network 192.168.9.0
!
! |
다음을 확인합니다.
이 섹션에서는 컨피그레이션이 제대로 작동하는지 확인하는 데 사용할 수 있는 정보를 제공합니다.
BGP 라우팅 테이블을 확인하여 local-as 명령이 AS_PATH를 변경한 방식을 확인합니다. ISP-B는 ISP-C에서 보내고 받는 업데이트에 AS 200을 추가합니다. 또한 ISP-B는 AS 번호 100에 있습니다.
ISP-B#show ip bgp summary
BGP router identifier 192.168.4.1, local AS number 100
BGP table version is 3, main routing table version 3
2 network entries and 2 paths using 266 bytes of memory
2 BGP path attribute entries using 104 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP activity 2/6 prefixes, 2/0 paths, scan interval 15 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
192.168.1.2 4 300 29 29 3 0 0 00:25:19 1
이 출력에서 ISP-C는 ISP-B를 AS 200의 일부로 간주합니다.
ISP-C#show ip bgp summary
BGP table version is 3, main routing table version 3
2 network entries (2/6 paths) using 480 bytes of memory
2 BGP path attribute entries using 192 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
192.168.1.1 4 200 34 34 3 0 0 00:30:19 1
이 출력에서 ISP-B는 ISP-C에서 학습한 경로에 "200"을 추가합니다.
ISP-B#show ip bgp
BGP table version is 3, local router ID is 192.168.4.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.4.0 0.0.0.0 0 32768 i
*> 192.168.9.0 192.168.1.2 0 0 200 300 i
ISP-C는 AS_PATH가 "200 100"인 ISP-B의 경로를 확인합니다.
ISP-C#show ip bgp
BGP table version is 3, local router ID is 192.168.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 192.168.4.0 192.168.1.1 0 0 200 100 i
*> 192.168.9.0 0.0.0.0 0 32768 i
다음 명령은 구성된 local-as 값을 출력에 표시합니다.
ISP-B#show ip bgp neighbors 192.168.1.2
BGP neighbor is 192.168.1.2, remote AS 300, local AS 200, external link
BGP version 4, remote router ID 192.168.9.1
BGP state = Established, up for 00:22:42
Last read 00:00:42, hold time is 180, keepalive interval is 60 seconds
Neighbor capabilities:
Route refresh: advertised and received(old & new)
Address family IPv4 Unicast: advertised and received
Message statistics:
InQ depth is 0
OutQ depth is 0
Sent Rcvd
Opens: 1 1
Notifications: 0 0
Updates: 2 1
Keepalives: 25 25
Route Refresh: 0 1
Total: 28 28
Default minimum time between advertisement runs is 30 seconds
문제 해결
debug ip bgp updates 명령은 수신된 접두사를 인접 디바이스의 특성과 함께 표시합니다. 이 출력은 접두사 192.168.4.0/24이 AS PATH 200, 100과 함께 수신됨을 보여줍니다.
ISP-C#
*May 10 12:45:14.947: BGP(0): 192.168.1.1 computing updates, afi 0, neighbor version 0, table version 5, starting at 0.0.0.0
*May 10 12:45:14.947: BGP(0): 192.168.1.1 send UPDATE (format) 192.168.9.0/24, next 192.168.1.2, metric 0, path
*May 10 12:45:14.947: BGP(0): 192.168.1.1 1 updates enqueued (average=52, maximum=52)
*May 10 12:45:14.947: BGP(0): 192.168.1.1 update run completed, afi 0, ran for 0ms, neighbor version 0, start version 5, throttled to 5
*May 10 12:45:14.947: BGP: 192.168.1.1 initial update completed
*May 10 12:45:15.259: BGP(0): 192.168.1.1 rcvd UPDATE w/ attr: nexthop 192.168.1.1, origin i, metric 0, path 200 100
*May 10 12:45:15.259: BGP(0): 192.168.1.1 rcvd 192.168.4.0/24
*May 10 12:45:15.279: BGP(0): Revise route installing 192.168.4.0/24 -> 192.168.1.1 to main IP table
ISP-C#
관련 정보