Junos OS 라우팅 테이블 구성
Junos OS 라우팅 테이블 이해
Junos OS는 여러 라우팅 테이블을 자동으로 생성하고 유지합니다. 각 라우팅 테이블은 특정 목적으로 사용됩니다. 이렇게 자동으로 생성된 라우팅 테이블 외에도 자신만의 라우팅 테이블을 생성할 수 있습니다.
각 라우팅 테이블은 포워딩 테이블의 일부를 채웁니다. 따라서 포워딩 테이블은 라우팅 테이블을 기반으로 분할됩니다. 이렇게 하면 각 라우팅 테이블에 대한 특정 전달 동작을 수행할 수 있습니다. 예를 들어 VPN의 경우, 각 VPN 기반 라우팅 테이블은 포워딩 테이블에 고유한 VPN 관련 파티션을 갖습니다.
라우팅 소프트웨어는 유니캐스트 경로와 멀티캐스트 경로를 서로 다른 라우팅 테이블에서 유지하는 것이 일반적입니다. 또한 라우팅 정보의 전파를 관리하기 위해 별도의 라우팅 테이블을 만들어야 하는 정책 고려 사항이 있을 수도 있습니다.
라우팅 테이블 생성은 선택 사항입니다. 아무것도 생성하지 않으면 Junos OS는 다음과 같은 기본 라우팅 테이블을 사용합니다.
inet.0—IP 버전 4(IPv4) 유니캐스트 경로의 경우. 이 테이블에는 인터페이스 로컬 및 직접 경로, 정적 경로, 동적으로 학습된 경로가 저장됩니다.
inet.1—IPv4 멀티캐스트 포워딩 캐시용. 이 테이블에는 조인 상태 정보의 결과로 동적으로 생성되는 IPv4(S,G) 그룹 항목이 저장됩니다.
inet.2—SAFI(Subsequent Address Family Indicator) 2 경로의 경우, MBGP(Multiprotocol BGP)가 활성화된 경우. 이 테이블에는 멀티캐스트 RPF(Reverse Path Forwarding) 조회에 사용되는 유니캐스트 경로가 저장됩니다. 이 테이블의 경로는 특정 RPF 테이블이 필요한 DVMRP(Distance Vector Multicast Routing Protocol)에서 사용할 수 있습니다. 반대로 PIM(Protocol Independent Multicast)은 inet.0 테이블에 대해 RPF 검사를 수행할 수 있으므로 이 테이블이 필요하지 않습니다. 라우팅 정보 기반(RIB) 그룹을 사용하여 inet.0에서 inet.2로 경로를 가져오거나 멀티캐스트 라우팅 프로토콜에서 inet.2로 직접 경로를 설치할 수 있습니다.
inet.3—IPv4 MPLS의 경우. 이 테이블에는 MPLS 레이블 스위치 경로(LSP)의 송신 주소, LSP 이름 및 나가는 인터페이스 이름이 저장됩니다. 이 라우팅 테이블은 로컬 디바이스가 LSP에 대한 수신 노드인 경우에만 사용됩니다.
inet6.0—IP 버전 6(IPv6) 유니캐스트 경로의 경우. 이 테이블에는 인터페이스 로컬 및 직접 경로, 정적 경로, 동적으로 학습된 경로가 저장됩니다.
inet6.1—IPv6 멀티캐스트 포워딩 캐시용. 이 테이블에는 조인 상태 정보의 결과로 동적으로 생성되는 IPv6(S,G) 그룹 항목이 저장됩니다.
-
inet6.2 - inet6.2 테이블은 특히 PTX 라우터에서 인터페이스 경로를 위한 기본 라우팅 라우팅 테이블 그룹의 일부로서 다른 IPv6 라우팅 테이블과 함께 자주 사용됩니다.
-
inet6.3 - inet6.3 테이블은 레이블이 지정된 IPv6 경로를 저장하는 데 사용됩니다.
instance-name.inet.0 - 라우팅 인스턴스를 구성하는 경우, Junos OS는 기본 유니캐스트 라우팅 테이블 instance-name.inet.0을 생성합니다.
instance-name.inet.2—유형 VRF의 라우팅 인스턴스에서 라우팅 인스턴스 instance-name 프로토콜 BGP 제품군 inet multicast 를 구성하는 경우, Junos OS는 instance-name.inet.2 테이블을 생성합니다.
.inet.2 테이블을 만드는instance-name 또 다른 방법은 문을 사용하는
rib-group
것입니다. 예: 한 라우팅 테이블에서 다른 라우팅 테이블로 특정 경로 내보내기를 참조하십시오.메모:bgp.l3vpn.2 테이블에서 .inet.2 테이블로instance-name inet-vpn 멀티캐스트 경로를 가져오면 .inet.2 테이블이instance-name 생성되지 않습니다. 가져오기 작업은 .inet.2 테이블이instance-name 이미 있는 경우에만 작동합니다.
instance-name.inetflow.0—플로우 경로를 구성하는 경우, Junos OS는 플로우 라우팅 테이블 instance-name.inetflow.0을 생성합니다.
bgp.l2vpn.0—BGP에서 학습된 레이어 2 VPN 경로의 경우. 이 테이블에는 다른 프로바이더 에지(PE) 라우터에서 학습한 경로가 저장됩니다. 레이어 2 라우팅 정보는 대상 커뮤니티를 기반으로 레이어 2 VPN 라우팅 및 포워딩 인스턴스(VRF)에 복사됩니다.
bgp.l3vpn.0—BGP에서 학습된 레이어 3 VPN 경로의 경우. 이 테이블에는 다른 PE 라우터에서 학습한 경로가 저장됩니다. 일치하는 경로 테이블이 있을 때 이 테이블의 경로는 레이어 3 VRF로 복사됩니다.
l2circuit.0
- LDP에서 학습된 l2회로 경로의 경우. 이 테이블의 경로는 l2circuit 신호 메시지를 보내거나 받는 데 사용됩니다.mpls.0 - MPLS 레이블 스위칭 작업의 경우. 이 테이블은 로컬 디바이스가 전송 라우터일 때 사용됩니다.
iso.0—IS-IS 경로용. IS-IS(Intermediate System to Intermediate System)를 사용하여 IP 라우팅을 지원하는 경우, 이 테이블에는 로컬 디바이스의 네트워크 엔티티 타이틀(NET)만 포함됩니다.
juniper_private - Junos OS 라우팅 엔진와 PIC 하드웨어 간에 내부적으로 통신합니다.
Junos OS의 라우팅 테이블 기능
Junos OS는 라우팅 정보를 위해 두 개의 데이터베이스를 유지 관리합니다.
라우팅 테이블 - 모든 라우팅 프로토콜에서 학습한 모든 라우팅 정보를 포함합니다. (일부 벤더에서는 이런 종류의 테이블을 RIB[Routing Information Base]라고 부릅니다.)
포워딩 테이블 - 패킷을 포워딩하는 데 실제로 사용되는 경로를 포함합니다. (일부 벤더는 이러한 종류의 테이블을 FIB[Forwarding Information Base]라고 부릅니다.)
기본적으로 Junos OS는 세 개의 라우팅 테이블을 유지 관리하는데, 하나는 IP 버전 4(IPv4) 유니캐스트 경로용, 다른 하나는 멀티캐스트 경로용, 그리고 세 번째는 MPLS용입니다. 추가 라우팅 테이블을 구성할 수 있습니다.
Junos OS는 IPv4 및 IP 버전 6(IPv6) 경로에 대해 별도의 라우팅 테이블을 유지 관리합니다.
Junos OS는 라우팅 테이블에서 포워딩 테이블로 모든 활성 경로를 설치합니다. 활성 경로는 패킷을 해당 대상으로 포워딩하는 데 사용되는 경로입니다. Junos 운영체제 커널은 포워딩 테이블의 마스터 사본을 유지합니다. 패킷 포워딩을 담당하는 구성 요소인 패킷 포워딩 엔진에 포워딩 테이블을 복사합니다.
Junos 라우팅 프로토콜 프로세스는 일반적으로 선호 값이 가장 낮은 경로를 선택하여 활성 경로를 결정합니다. Junos OS는 대체 및 타이브레이커 기본 설정을 지원하며, BGP 및 MPLS를 포함한 일부 라우팅 프로토콜은 이러한 추가 기본 설정을 사용합니다.
표 1에 나와 있는 하나 이상의 속성으로 경로를 구성하여 마션 주소와 정적, 집계 및 생성된 경로를 Junos 라우팅 테이블에 추가할 수 있습니다.
묘사 |
정적인 |
집계 |
생성 |
---|---|---|---|
목적지 주소 |
X |
X |
X |
목적지까지의 기본 경로입니다 |
X |
X |
X |
대상으로 가는 다음 홉의 IP 주소 또는 인터페이스입니다 |
X |
– |
– |
다음 홉으로서의 레이블 스위칭 경로(LSP) |
X |
– |
– |
패킷을 삭제하고, 이 대상에 대한 거부 경로를 설치하고, ICMP(Internet Control Message Protocol)에 도달할 수 없는 메시지를 보냅니다 |
X |
X |
X |
패킷을 삭제하고 이 대상에 대한 거부 경로를 설치하되 ICMP 도달 불가 메시지는 보내지 않습니다 |
X |
X |
X |
로컬 라우터에서 패킷을 수신하도록 합니다 |
X |
– |
– |
메트릭 값을 경로와 연결 |
X |
X |
X |
경로 유형 |
X |
X |
X |
기본 설정 값 |
X |
X |
X |
추가 선호 값 |
X |
X |
X |
독립 선호 (qualified-next-hop 문) |
X |
– |
– |
경로와 연결할 BGP 커뮤니티 정보 |
X |
X |
X |
경로와 연결할 AS(Autonomous System) 경로 정보 |
X |
X |
X |
경로와 연결할 최단 경로 우선(OSPF) 태그 문자열 |
X |
X |
X |
포워딩 테이블에 활성 정적 경로를 설치하지 마십시오 |
X |
– |
– |
포워딩 테이블에 경로를 설치합니다 |
X |
– |
– |
포워딩 테이블에서 정적 경로를 영구적으로 유지합니다 |
X |
– |
– |
기여 AS 경로에서 가장 긴 공통 선행 시퀀스만 포함합니다 |
– |
X |
– |
특정 경로에 대한 모든 AS 번호를 포함합니다 |
– |
X |
– |
라우팅 및 포워딩 테이블에 비활성 경로를 유지합니다 |
X |
X |
X |
라우팅 및 포워딩 테이블에서 비활성 경로 제거 |
X |
X |
X |
경로와 연결할 활성 정책 |
– |
X |
X |
경로가 재보급에 적합하지 않음을 지정합니다 |
X |
– |
– |
직접 연결된 다음 홉이 아닌 접두사에 대한 경로를 지정합니다 |
X |
– |
– |
PTX 라우터의 인터페이스 경로에 대한 기본 라우팅 테이블 그룹 이해하기
PTX 시리즈 패킷 전송 라우터에서 기본 interface-route 라우팅 테이블 그룹은 기타 Junos OS 라우팅 디바이스의 그룹과 다릅니다.
PTX 시리즈 라우터는 일반적으로 IGP(Interior Gateway Protocol) 경로를 사용하여 IP를 포워딩하는 MPLS 전송 플랫폼입니다. 인터페이스 경로는 직접 연결된 로컬 경로입니다.
PTX 시리즈 라우터는 간접 넥스트 홉 해석을 강제한다는 점에서 다른 Junos OS 라우팅 디바이스와 다릅니다. PTX 시리즈 라우터는 연결된 복합 다음 홉을 생성하기 위해 간접 다음 홉을 해결해야 합니다. 이로 인해 다음 홉 유형을 사용할 수 없을 때 경로가 숨겨질 수 있습니다.
경로가 숨겨지는 것을 방지하기 위해 PTX 시리즈 플랫폼은 자동으로 inet.0의 경로를 inet.2와 inet.3으로 복사하고, inet6.0의 경로를 inet6.2와 inet6.3으로 자동 복사합니다.
PTX 시리즈 라우터의 기본 인터페이스 라우팅 테이블 구성은 다음과 같습니다.
user@host# show routing-options | display inheritance defaults ## ## 'interface-routes' was inherited from group 'junos-defaults' ## interface-routes { ## ## 'rib-group' was inherited from group 'junos-defaults' ## rib-group { ## ## 'junos-ifrg-inet0-to-inet2-and-inet3' was inherited from group 'junos-defaults' ## inet junos-ifrg-inet0-to-inet2-and-inet3; ## ## 'junos-ifrg-inet60-to-inet62-and-inet63' was inherited from group 'junos-defaults' ## inet6 junos-ifrg-inet60-to-inet62-and-inet63; } } rib-groups { ## ## 'junos-ifrg-inet0-to-inet2-and-inet3' was inherited from group 'junos-defaults' ## junos-ifrg-inet0-to-inet2-and-inet3 { ## ## 'inet.0' was inherited from group 'junos-defaults' ## 'inet.2' was inherited from group 'junos-defaults' ## 'inet.3' was inherited from group 'junos-defaults' ## import-rib [ inet.0 inet.2 inet.3 ]; } ## ## 'junos-ifrg-inet60-to-inet62-and-inet63' was inherited from group 'junos-defaults' ## junos-ifrg-inet60-to-inet62-and-inet63 { ## ## 'inet6.0' was inherited from group 'junos-defaults' ## 'inet6.2' was inherited from group 'junos-defaults' ## 'inet6.3' was inherited from group 'junos-defaults' ## import-rib [ inet6.0 inet6.2 inet6.3 ]; } }
참조
예: 라우팅 테이블 생성
이 예에서는 사용자 지정 라우팅 테이블을 만드는 방법을 보여 줍니다.
요구 사항
이 예에서는 디바이스 초기화를 제외한 특별한 구성이 필요하지 않습니다.
개요
라우팅 테이블 생성은 선택 사항입니다. 라우팅 정보의 전파를 관리하기 위해 별도의 라우팅 테이블을 만들어야 하는 정책 고려 사항이 있을 수 있습니다. 이 기능은 거의 사용되지 않지만 완전성을 위해 여기에서 보여 줍니다.
라우팅 테이블을 생성하지 않으면 Junos OS는 기본 라우팅 테이블을 사용합니다.
정적, 집계, 생성 또는 화성 경로를 기본 IPv4 유니캐스트 라우팅 테이블(inet.0)에만 추가하려는 경우, 이러한 경로는 기본적으로 inet.0에 추가되므로 라우팅 테이블을 생성할 필요가 없습니다. static, aggregate, generate 및 martians
문을 포함하여 이러한 경로를 추가할 수 있습니다.
라우팅 테이블을 명시적으로 생성하려면, 문 아래에 rib
문과 하위 문을 포함합니다rib
.
라우팅 테이블 이름 routing-table-name은(는) 프로토콜 패밀리를 포함하며, 선택적으로 마침표와 숫자가 뒤따릅니다. 프로토콜 패밀리는 IPv4 패밀리의 경우 inet , IPv6 패밀리의 경우 inet6 또는 ISO(International Standards Organization) 프로토콜 패밀리의 경우 iso 일 수 있습니다. 숫자는 라우팅 인스턴스를 나타냅니다. 첫 번째 인스턴스는 0입니다.
이 예에서는 inet.14라는 사용자 지정 IPv4 라우팅 테이블을 구성하는 방법을 보여줍니다. 이 예에서는 라우팅 테이블을 단일 고정 경로로 채우는 방법도 보여 줍니다.
EX 시리즈 스위치에서는 동적으로 학습된 경로만 하나의 라우팅 테이블 그룹에서 다른 그룹으로 가져올 수 있습니다.
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣습니다.
set routing-options rib inet.14 static route 10.2.0.0/16 discard
절차
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색 관련 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
라우팅 테이블 생성 방법:
라우팅 테이블 설정.
[edit routing-options] user@host# set rib inet.14 static route 10.2.0.0/16 discard
디바이스 구성을 완료하면 해당 구성을 커밋합니다.
[edit] user@host# commit
결과
명령을 실행하여 show routing-options
구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@host# show routing-options rib inet.14 { static { route 10.2.0.0/16 discard; } }
확인
구성이 올바르게 작동하고 있는지 확인합니다.
예: 한 라우팅 테이블에서 다른 라우팅 테이블로 특정 경로 내보내기
이 예는 동일한 라우팅 인스턴스 내에서 하나의 라우팅 테이블에서 다른 라우팅 테이블로 특정 경로를 복제하는 방법을 보여줍니다.
요구 사항
이 예를 구성하기 전에 디바이스 초기화를 제외한 특별한 구성은 필요하지 않습니다.
개요
이 예에서는 문과 rib-group
문을 사용하여 auto-export
특정 경로를 한 라우팅 테이블에서 다른 로 내보내는 목표를 달성합니다.
다음 사항을 고려하세요.
라우팅 인스턴스에서 자동 내보내기 가 구성된 경우 vrf-import 및 vrf-export 정책이 검사됩니다. 정책의 경로 대상 및 커뮤니티 정보를 기반으로 자동 내보내기 기능은 로컬 라우팅 인스턴스 inet.0 테이블 사이에서 경로 유출을 수행합니다.
.inet.0 이외의 instance테이블로 경로를 가져와야 하는 경우 문을 사용할
rib-group
수 있습니다. 자동 내보내기와 함께 RIB 그룹을 사용하기 위해 라우팅 인스턴스는 명시적인 vrf-import 및 vrf-export 정책을 지정해야 합니다. RIB 그룹에 필요한 경우 경로를 필터링하기 위한 추가 용어를 포함하도록 vrf-import 및 vrf-export 정책을 확장할 수 있습니다.
이 예에서는 액세스 내부 경로가 vpna.inet.0 라우팅 테이블에 추가됩니다. 또한 내부 액세스 경로는 vpna.inet.2 라우팅 테이블에 중복됩니다.
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 계층 수준에서 명령을 CLI [edit]
로 복사해 붙여 넣습니다.
set interfaces fe-1/3/1 vlan-tagging set interfaces fe-1/3/1 unit 0 vlan-id 512 set interfaces fe-1/3/1 unit 0 family inet address 10.168.100.3/24 set interfaces lo0 unit 0 family inet address 192.168.3.3/32 set routing-options rib-groups rib-group-vpna-access-internal import-rib vpna.inet.2 set routing-options autonomous-system 63000 set policy-options policy-statement vpna-export term a from protocol bgp set policy-options policy-statement vpna-export term a then community add vpna-comm set policy-options policy-statement vpna-export term a then accept set policy-options policy-statement vpna-export term b from protocol access-internal set policy-options policy-statement vpna-export term b then accept set policy-options policy-statement vpna-export term c then reject set policy-options policy-statement vpna-import term a from protocol bgp set policy-options policy-statement vpna-import term a from community vpna-comm set policy-options policy-statement vpna-import term a then accept set policy-options policy-statement vpna-import term b from instance vpna set policy-options policy-statement vpna-import term b from protocol access-internal set policy-options policy-statement vpna-import term b then accept set policy-options policy-statement vpna-import term c then reject set policy-options community vpna-comm members target:63000:100 set routing-instances vpna instance-type vrf set routing-instances vpna interface fe-1/3/1.1 set routing-instances vpna route-distinguisher 100:1 set routing-instances vpna vrf-import vpna-import set routing-instances vpna vrf-export vpna-export set routing-instances vpna routing-options auto-export family inet unicast rib-group rib-group-vpna-access-internal set routing-instances vpna protocols bgp group bgp-vpna type external set routing-instances vpna protocols bgp group bgp-vpna family inet multicast set routing-instances vpna protocols bgp group bgp-vpna peer-as 100 set routing-instances vpna protocols bgp group bgp-vpna neighbor 10.0.0.10
라우팅 테이블 간 특정 경로 내보내기 구성
단계별 절차
다음 예제에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. 이를 수행하는 방법에 대한 지침은 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
디바이스를 구성하려면 다음을 수행합니다.
인터페이스를 구성합니다.
[edit interfaces fe-1/3/1] user@host# set vlan-tagging user@host# set unit 0 vlan-id 512 user@host# set unit 0 family inet address 10.168.100.3/24 [edit interfaces lo0 unit 0] user@host# set family inet address 192.168.3.3/32
-
vpna.inet.0으로 가져오고 vpna.inet.0에서 내보내기 위한 특정 경로를 지정하는 라우팅 정책 구성합니다.
[edit policy-options policy-statement vpna-export] user@host# set term a from protocol bgp user@host# set term a then community add vpna-comm user@host# set term a then accept user@host# set term b from protocol access-internal user@host# set term b then accept user@host# set term c then reject [edit policy-options policy-statement vpna-import] user@host# set term a from protocol bgp user@host# set term a from community vpna-comm user@host# set term a then accept user@host# set term b from instance vpna user@host# set term b from protocol access-internal user@host# set term b then accept user@host# set term c then reject [edit policy-options] user@host# set community vpna-comm members target:63000:100
-
라우팅 인스턴스를 구성합니다.
[edit routing-instances vpna] user@host# set instance-type vrf user@host# set interface fe-1/3/1.1 user@host# set route-distinguisher 100:1 user@host# set vrf-import vpna-import user@host# set vrf-export vpna-export
vrf-import 및
vrf-export
명령문은 vpna-import 및 vpna-export 라우팅 정책을 적용하는 데 사용됩니다. RIB 그룹을 구성하고 vpna.inet.2 라우팅 테이블로 경로를 가져옵니다.
[edit routing-options] user@host# set rib-groups rib-group-vpna-access-internal import-rib vpna.inet.2
auto-export
한 라우팅 테이블에서 다른 로 경로를 내보낼 수 있도록 명령문을 구성합니다.[edit routing-options] user@host# set auto-export family inet unicast rib-group rib-group-vpna-access-internal
BGP를 구성합니다.
[edit routing-instances vpna protocols bgp group bgp-vpna] user@host# set type external user@host# set family inet multicast user@host# set peer-as 100 user@host# set neighbor 100.0.0.10
AS(Autonomous System) 번호를 구성합니다.
[edit routing-options] user@host# set autonomous-system 63000
결과
구성 모드에서 , show policy-options
, show routing-options
및 show routing-instances
명령을 입력하여 show interfaces
구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@host# show interfaces fe-1/3/1 { vlan-tagging; unit 0 { vlan-id 512; family inet { address 10.168.100.3/24; } } } lo0 { unit 0 { family inet { address 192.168.3.3/32; } } }
user@host# show policy-options policy-statement vpna-export { term a { from { protocol bgp; } then { community add vpna-comm; accept; } } term b { from protocol access-internal; then accept; } term c { then reject; } } policy-statement vpna-import { term a { from { protocol bgp; community vpna-comm; } then accept; } term b { from { instance vpna; protocol access-internal; } then accept; } term c { then reject; } } community vpna-comm members target:63000:100;
user@host# show routing-options rib-groups { rib-group-vpna-access-internal { import-rib vpna.inet.2; } } autonomous-system 63000;
user@host# show routing-instances vpna { instance-type vrf; interface fe-1/3/1.1; route-distinguisher 100:1; vrf-import vpna-import; vrf-export vpna-export; routing-options { auto-export { family inet { unicast { rib-group rib-group-vpna-access-internal; } } } } protocols { bgp { group bgp-vpna { type external; family inet { multicast; } peer-as 100; neighbor 100.0.0.10; } } } }
디바이스 구성을 마쳤으면 구성 모드에서 commit 을 입력합니다.
확인
및 show route table vpna.inet.2
명령을 실행하여 구성이 show table route vpna.inet.0
제대로 작동하고 있는지 확인합니다.