이 페이지에서
BGP 멀티홉 세션
EBGP 멀티홉 이해
BGP는 다양한 AS(Autonomous System) 내 라우터 간에 라우팅 정보를 교환하는 데 사용되는 외부 게이트웨이 프로토콜(EGP)입니다. 다음은 라우터 간에 EBGP 멀티홉을 설정하는 두 가지 방법입니다.
외부 BGP(EBGP) 피어가 서로 직접 연결되어 있지 않은 경우 서로 연결하려면 하나 이상의 비 BGP 라우터를 교차해야 합니다.
다중 홉 EBGP를 구성하면 피어가 다른 라우터를 통과하여 피어 관계를 형성하고 업데이트 메시지를 교환할 수 있습니다. 이러한 유형의 구성은 일반적으로 주니퍼 네트웍스 라우팅 디바이스가 두 EBGP 피어의 직접 연결을 허용하지 않는 타사 라우터와 EBGP를 실행해야 할 때 사용됩니다. EBGP 멀티홉은 직접 연결되지 않은 두 EBGP 피어 간의 인접 연결을 활성화합니다.
EBGP 연결의 기본 동작은 피어의 물리적 인터페이스 주소를 사용하여 단일 물리적 홉을 통해 피어링하는 것입니다. 경우에 따라 이 기본 1홉 물리적 피어링 EBGP 동작을 변경하는 것이 유리합니다. 이러한 경우 중 하나는 여러 물리적 링크가 EBGP 피어가 될 두 라우터를 연결하는 경우입니다. 이 경우 포인트 투 포인트 링크 중 하나가 실패하더라도 대체 링크에 대한 도달 가능성은 여전히 존재합니다.
그림 1에서 라우터 R1은 AS 1에 속하고 라우터 R2는 AS 2에 속합니다. 라우터 간의 두 물리적 링크는 로드 밸런싱에 사용됩니다. EBGP 다중 홉 피어링은 하나의 물리적 링크에서도 작동합니다.
다음 구성 예는 이러한 여러 물리적 링크에서 단일 BGP 피어링 세션을 설정하는 데 도움이 됩니다.
각 라우터는 원격 라우터의 루프백 주소를 사용하여 피어링 세션을 설정해야 합니다. BGP 패킷의
local-address
피어 주소 헤더 정보를 변경하는 문을 사용하여 이 세션을 구성할 수 있습니다.multihop
문을 사용하여 이웃의 물리적 주소의 기본 사용을 변경합니다. 또한 BGP 패킷에 TTL(Time-to-Live) 값을 지정하여 패킷이 전파되는 정도를 제어할 수도 있습니다. TTL 값 1을 사용하여 네트워크의 다른 백도어 링크에서 세션이 설정될 수 없도록 합니다.주:멀티홉이 구성되면 Junos OS는 기본적으로 TTL 값을 64로 설정합니다.
TTL 값 1은 직접 연결된 인접 라우터의 루프백 주소에 대한 EBGP 세션을 활성화하기에 충분합니다.
각 라우터에는 원격 라우터의 루프백 주소에 대한 IP 라우팅 기능이 있어야 합니다. 이 기능은 종종 정적 경로를 사용하여 루프백 주소를 인터페이스 물리적 주소에 매핑함으로써 달성됩니다.
[edit protocols bgp group ext-peers] type external; local-address 192.168.3.4; neighbor 172.16.128.1 { multihop ttl 1; }
[edit routing-options] static { route 172.16.128.1 next-hop (10.10.1.1 | 10.10.2.1); }
참조
예: EBGP 멀티홉 세션 구성
이 예는 로컬 라우터에서 두 개 이상의 홉 떨어진 외부 BGP(EBGP) 피어를 구성하는 방법을 보여줍니다. 이러한 유형의 세션을 멀티홉 BGP 세션이라고 합니다.
요구 사항
이 예제를 구성하기 전에 디바이스 초기화 이외의 특별한 구성은 필요하지 않습니다.
개요
다중 홉 EBGP 세션을 활성화하기 위한 구성에는 두 EBGP 피어 간의 연결이 필요합니다. 이 예에서는 정적 경로를 사용하여 디바이스 간의 연결을 제공합니다.
물리적 주소가 일반적으로 문에 neighbor
사용되는 직접 연결된 EBGP 세션과 달리, 간접 연결된 피어의 루프백 인터페이스 주소를 지정하여 멀티홉 EBGP에 루프백 인터페이스 주소를 사용해야 합니다. 이러한 방식으로 EBGP 다중 홉은 내부 BGP(IBGP)와 유사합니다.
마지막으로 문을 추가해야 multihop
합니다. 선택적으로 문을 사용하여 최대 TTL(Time-to-Live) 값을 설정할 수 있습니다 ttl
. TTL은 BGP 패킷의 IP 헤더로 전달됩니다. TTL 값을 지정하지 않으면 시스템의 기본 최대 TTL 값이 사용됩니다. 다중 홉 EBGP 세션의 경우 기본 TTL 값은 64입니다. 또 다른 옵션은 문을 포함하여 경로 보급에 대한 BGP 다음 홉 값을 유지하는 것입니다 no-nexthop-change
.
그림 2 은(는) 일반적인 EBGP 멀티홉 네트워크를 보여줍니다.
디바이스 C와 디바이스 E에는 설정된 EBGP 세션이 있습니다. 디바이스 D는 BGP 지원 디바이스가 아닙니다. 모든 디바이스는 정적 경로를 통해 연결됩니다.
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit]
계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.
디바이스 C
set interfaces fe-1/2/0 unit 9 description to-D set interfaces fe-1/2/0 unit 9 family inet address 10.10.10.9/30 set interfaces lo0 unit 3 family inet address 192.168.40.4/32 set protocols bgp group external-peers type external set protocols bgp group external-peers multihop ttl 2 set protocols bgp group external-peers local-address 192.168.40.4 set protocols bgp group external-peers export send-static set protocols bgp group external-peers peer-as 18 set protocols bgp group external-peers neighbor 192.168.6.7 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options static route 10.10.10.14/32 next-hop 10.10.10.10 set routing-options static route 192.168.6.7/32 next-hop 10.10.10.10 set routing-options router-id 192.168.40.4 set routing-options autonomous-system 17
디바이스 D
set interfaces fe-1/2/0 unit 10 description to-C set interfaces fe-1/2/0 unit 10 family inet address 10.10.10.10/30 set interfaces fe-1/2/1 unit 13 description to-E set interfaces fe-1/2/1 unit 13 family inet address 10.10.10.13/30 set interfaces lo0 unit 4 family inet address 192.168.6.6/32 set routing-options static route 192.168.40.4/32 next-hop 10.10.10.9 set routing-options static route 192.168.6.7/32 next-hop 10.10.10.14 set routing-options router-id 192.168.6.6
디바이스 E
set interfaces fe-1/2/0 unit 14 description to-D set interfaces fe-1/2/0 unit 14 family inet address 10.10.10.14/30 set interfaces lo0 unit 5 family inet address 192.168.6.7/32 set protocols bgp group external-peers multihop ttl 2 set protocols bgp group external-peers local-address 192.168.6.7 set protocols bgp group external-peers export send-static set protocols bgp group external-peers peer-as 17 set protocols bgp group external-peers neighbor 192.168.40.4 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options static route 10.10.10.8/30 next-hop 10.10.10.13 set routing-options static route 192.168.40.4/32 next-hop 10.10.10.13 set routing-options router-id 192.168.6.7 set routing-options autonomous-system 18
디바이스 C
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서의 CLI 편집기 사용을 참조하십시오.
디바이스 C 구성:
직접 연결된 디바이스(to-D)에 대한 인터페이스를 구성하고 루프백 인터페이스를 구성합니다.
[edit interfaces fe-1/2/0 unit 9] user@C# set description to-D user@C# set family inet address 10.10.10.9/30 [edit interfaces lo0 unit 3] user@C# set family inet address 192.168.40.4/32
디바이스 E와의 EBGP 세션을 구성합니다.
명령문은
neighbor
디바이스 E의 루프백 인터페이스를 가리킵니다.[edit protocols bgp group external-peers] user@C# set type external user@C# set local-address 192.168.40.4 user@C# set export send-static user@C# set peer-as 18 user@C# set neighbor 192.168.6.7
디바이스 C와 디바이스 E가 EBGP 피어가 될 수 있도록 multihop 문을 구성합니다.
피어가 서로 두 홉 떨어져 있기 때문에 이 예제에서는 문을 사용합니다
ttl 2
.[edit protocols bgp group external-peers] user@C# set multihop ttl 2
정적 경로를 사용하여 디바이스 E에 대한 연결을 구성합니다.
루프백 인터페이스 주소와 물리적 인터페이스의 주소 모두에 대한 경로를 구성해야 합니다.
[edit routing-options] user@C# set static route 10.10.10.14/32 next-hop 10.10.10.10 user@C# set static route 192.168.6.7/32 next-hop 10.10.10.10
로컬 라우터 ID 및 AS(Autonomous System) 번호를 구성합니다.
[edit routing-options] user@C# set router-id 192.168.40.4 user@C# set autonomous-system 17
직접 경로를 수용하는 정책을 구성합니다.
이 시나리오의 다른 유용한 옵션은 OSPF 또는 로컬 경로를 통해 학습된 경로를 수용하는 것일 수 있습니다.
[edit policy-options policy-statement send-static term 1] user@C# set from protocol static user@C# set then accept
결과
구성 모드에서 show interfaces
, show protocols
, show policy-options
및 show routing-options
명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@C# show interfaces fe-1/2/0 { unit 9 { description to-D; family inet { address 10.10.10.9/30; } } } lo0 { unit 3 { family inet { address 192.168.40.4/32; } } }
user@C# show protocols bgp { group external-peers { type external; multihop { ttl 2; } local-address 192.168.40.4; export send-static; peer-as 18; neighbor 192.168.6.7; } }
user@C# show policy-options policy-statement send-static { term 1 { from protocol static; then accept; } }
user@C# show routing-options static { route 10.10.10.14/32 next-hop 10.10.10.10; route 192.168.6.7/32 next-hop 10.10.10.10; } router-id 192.168.40.4; autonomous-system 17;
디바이스 구성을 마쳤으면 구성 모드에서 commit
을(를) 입력합니다. 토폴로지의 모든 BGP 세션에 대해 이 단계를 반복합니다.
디바이스 D 구성
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서의 CLI 편집기 사용을 참조하십시오.
디바이스 D 구성:
CLI를 디바이스 D로 설정합니다.
user@host> set cli logical-system D
직접 연결된 디바이스에 대한 인터페이스를 구성하고 루프백 인터페이스를 구성합니다.
[edit interfaces fe-1/2/0 unit 10] user@D# set description to-C user@D# set family inet address 10.10.10.10/30 [edit interfaces fe-1/2/1 unit 13] user@D# set description to-E user@D# set family inet address 10.10.10.13/30 [edit interfaces lo0 unit 4] user@D# set family inet address 192.168.6.6/32
루프백 인터페이스 주소에 대한 정적 경로를 사용하여 다른 디바이스에 대한 연결을 구성합니다.
디바이스 D에서는 디바이스 D가 디바이스 C와 디바이스 E에 직접 연결되어 있으므로 물리적 주소에 대한 고정 경로가 필요하지 않습니다.
[edit routing-options] user@D# set static route 192.168.40.4/32 next-hop 10.10.10.9 user@D# set static route 192.168.6.7/32 next-hop 10.10.10.14
로컬 라우터 ID를 구성합니다.
[edit routing-options] user@D# set router-id 192.168.6.6
결과
구성 모드에서 show interfaces
및 show routing-options
명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@D# show interfaces fe-1/2/0 { unit 10 { description to-C; family inet { address 10.10.10.10/30; } } } fe-1/2/1 { unit 13 { description to-E; family inet { address 10.10.10.13/30; } } } lo0 { unit 4 { family inet { address 192.168.6.6/32; } } }
user@D# show protocols
user@D# show routing-options static { route 192.168.40.4/32 next-hop 10.10.10.9; route 192.168.6.7/32 next-hop 10.10.10.14; } router-id 192.168.6.6;
디바이스 구성을 마쳤으면 구성 모드에서 commit
을(를) 입력합니다. 토폴로지의 모든 BGP 세션에 대해 이 단계를 반복합니다.
디바이스 E 구성
단계별 절차
다음 예는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서의 CLI 편집기 사용을 참조하십시오.
디바이스 E 구성:
CLI를 디바이스 E로 설정합니다.
user@host> set cli logical-system E
직접 연결된 디바이스(to-D)에 대한 인터페이스를 구성하고 루프백 인터페이스를 구성합니다.
[edit interfaces fe-1/2/0 unit 14] user@E# set description to-D user@E# set family inet address 10.10.10.14/30 [edit interfaces lo0 unit 5] user@E# set family inet address 192.168.6.7/32
디바이스 E와의 EBGP 세션을 구성합니다.
명령문은
neighbor
디바이스 C의 루프백 인터페이스를 가리킵니다.[edit protocols bgp group external-peers] user@E# set local-address 192.168.6.7 user@E# set export send-static user@E# set peer-as 17 user@E# set neighbor 192.168.40.4
디바이스 C와 디바이스 E가
multihop
EBGP 피어가 될 수 있도록 문을 구성합니다.피어가 서로 두 홉 떨어져 있기 때문에 이 예제에서는 문을 사용합니다
ttl 2
.[edit protocols bgp group external-peers] user@E# set multihop ttl 2
정적 경로를 사용하여 디바이스 E에 대한 연결을 구성합니다.
루프백 인터페이스 주소와 물리적 인터페이스의 주소 모두에 대한 경로를 구성해야 합니다.
[edit routing-options] user@E# set static route 10.10.10.8/30 next-hop 10.10.10.13 user@E# set static route 192.168.40.4/32 next-hop 10.10.10.13
로컬 라우터 ID 및 AS(Autonomous System) 번호를 구성합니다.
[edit routing-options] user@E# set router-id 192.168.6.7 user@E# set autonomous-system 18
직접 경로를 수용하는 정책을 구성합니다.
이 시나리오의 다른 유용한 옵션은 OSPF 또는 로컬 경로를 통해 학습된 경로를 수용하는 것일 수 있습니다.
[edit policy-options policy-statement send-static term 1] user@E# set from protocol static user@E# set then accept
결과
구성 모드에서 show interfaces
, show protocols
, show policy-options
및 show routing-options
명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@E# show interfaces fe-1/2/0 { unit 14 { description to-D; family inet { address 10.10.10.14/30; } } } lo0 { unit 5 { family inet { address 192.168.6.7/32; } } }
user@E# show protocols bgp { group external-peers { multihop { ttl 2; } local-address 192.168.6.7; export send-static; peer-as 17; neighbor 192.168.40.4; } }
user@E# show policy-options policy-statement send-static { term 1 { from protocol static; then accept; } }
user@E# show routing-options static { route 10.10.10.8/30 next-hop 10.10.10.13; route 192.168.40.4/32 next-hop 10.10.10.13; } router-id 192.168.6.7; autonomous-system 18;
디바이스 구성을 마쳤으면 구성 모드에서 commit
을(를) 입력합니다.
검증
구성이 올바르게 작동하고 있는지 확인합니다.
연결 확인
목적
루프백 인터페이스 주소를 핑 요청의 소스로 지정하여 디바이스 C가 디바이스 E를 ping할 수 있는지 확인합니다.
루프백 인터페이스 주소는 BGP가 사용할 소스 주소입니다.
작업
운영 모드에서 디바이스 C의 ping 10.10.10.14 source 192.168.40.4
명령을 입력하고 디바이스 E의 명령을 입력합니다 ping 10.10.10.9 source 192.168.6.7
.
user@C> ping 10.10.10.14 source 192.168.40.4 PING 10.10.10.14 (10.10.10.14): 56 data bytes 64 bytes from 10.10.10.14: icmp_seq=0 ttl=63 time=1.262 ms 64 bytes from 10.10.10.14: icmp_seq=1 ttl=63 time=1.202 ms ^C --- 10.10.10.14 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.202/1.232/1.262/0.030 ms
user@E> ping 10.10.10.9 source 192.168.6.7 PING 10.10.10.9 (10.10.10.9): 56 data bytes 64 bytes from 10.10.10.9: icmp_seq=0 ttl=63 time=1.255 ms 64 bytes from 10.10.10.9: icmp_seq=1 ttl=63 time=1.158 ms ^C --- 10.10.10.9 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.158/1.206/1.255/0.049 ms
의미
ping이 작동하면 고정 경로가 작동하는 것입니다.
BGP 세션 설정 확인
목적
BGP 세션이 작동 중인지 확인합니다.
작업
운영 모드에서 show bgp summary
명령을 입력합니다.
user@C> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 2 0 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 192.168.6.7 18 147 147 0 1 1:04:27 0/2/2/0 0/0/0/0
user@E> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 2 0 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 192.168.40.4 17 202 202 0 1 1:02:18 0/2/2/0 0/0/0/0
의미
출력은 두 디바이스 모두 각각 하나의 피어가 있음을 보여줍니다. 다운된 피어가 없습니다.
보급된 경로 보기
목적
경로가 BGP에 의해 보급되고 있는지 확인합니다.
작업
운영 모드에서 show route advertising-protocol bgp neighbor
명령을 입력합니다.
user@E> show route advertising-protocol bgp 192.168.6.7 inet.0: 5 destinations, 7 routes (5 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 10.10.10.14/32 Self I * 192.168.6.7/32 Self I
user@C> show route advertising-protocol bgp 192.168.40.4 inet.0: 5 destinations, 7 routes (5 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 10.10.10.8/30 Self I * 192.168.40.4/32 Self I
의미
send-static
라우팅 정책은 라우팅 테이블에서 BGP로 정적 경로를 내보내고 있습니다. BGP 피어 세션이 설정되었기 때문에 BGP는 피어 간에 이러한 경로를 보급합니다.