이 페이지의 내용
멀티프로토콜 BGP
멀티프로토콜 BGP 이해하기
멀티프로토콜 BGP(MP-BGP)는 BGP의 확장으로, BGP가 여러 네트워크 레이어 및 주소 패밀리에 대한 라우팅 정보를 전달할 수 있도록 합니다. MP-BGP는 유니캐스트 IP 포워딩에 사용되는 경로와 별도로 멀티캐스트 라우팅에 사용되는 유니캐스트 경로를 전송할 수 있습니다.
MP-BGP를 활성화하려면 다음과 같은 명령문을 포함하여 유니캐스트 IPv4가 아닌 주소 패밀리에 대한 NLRI(Network Layer Reachability Information)를 전송하도록 BGP를 구성합니다.family inet
family inet { (any | flow | labeled-unicast | multicast | unicast) { accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } <loops number>; prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } rib-group group-name; topology name { community { target identifier; } } } }
IPv6 주소 패밀리에 대한 NLRI를 전송하도록 MP-BGP를 활성화하려면 다음 문을 포함합니다.family inet6
family inet6 { (any | labeled-unicast | multicast | unicast) { accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } <loops number>; prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } rib-group group-name; } }
라우터에서만 IPv4 주소 패밀리에 대한 레이어 3 VPN(가상 사설망) NLRI를 전송하도록 MP-BGP를 활성화하려면 다음과 같은 명령문을 포함합니다.family inet-vpn
family inet-vpn { (any | flow | multicast | unicast) { accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } <loops number>; prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } rib-group group-name; } }
라우터에서만 IPv6 주소 패밀리에 대한 레이어 3 VPN NLRI를 전송하도록 MP-BGP를 활성화하려면 다음 문을 포함합니다.family inet6-vpn
family inet6-vpn { (any | multicast | unicast) { accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } <loops number>; prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;}} rib-group group-name; } }
라우터에서만 IPv4 주소 패밀리에 대한 멀티캐스트 VPN NLRI를 전송하도록 MP-BGP를 활성화하고 VPN 신호 전송을 활성화하려면 다음 문을 포함합니다.family inet-mvpn
family inet-mvpn {
signaling {
accepted-prefix-limit {
maximum number;
teardown <percentage> <idle-timeout (forever | minutes)>;
drop-excess <percentage>;
hide-excess <percentage>;}}
<loops number>;
prefix-limit {
maximum number;
teardown <percentage> <idle-timeout (forever | minutes)>;
drop-excess <percentage>;
hide-excess <percentage>;}}
}
}
MP-BGP가 IPv6 주소 패밀리를 위한 멀티캐스트 VPN NLRI를 전송하도록 설정하고 VPN 신호 전송을 활성화하려면 다음 문을 포함합니다.family inet6-mvpn
family inet6-mvpn {
signaling {
accepted-prefix-limit {
maximum number;
teardown <percentage> <idle-timeout (forever | minutes)>;
drop-excess <percentage>;
hide-excess <percentage>;}}
<loops number>;
prefix-limit {
maximum number;
teardown <percentage> <idle-timeout <forever | minutes>;
drop-excess <percentage>;
hide-excess <percentage>;}}
}
}
멀티프로토콜 BGP 기반 멀티캐스트 VPN에 대한 자세한 내용은 Junos OS 멀티캐스트 프로토콜 사용자 가이드를 참조하십시오.
이러한 문을 포함할 수 있는 계층 수준 목록은 해당 문에 대한 문 요약 섹션을 참조하십시오.
계층 수준에 [edit protocols bgp family] 지정된 주소 패밀리를 변경하면 라우팅 디바이스의 모든 현재 BGP 세션이 손실되었다가 재설정됩니다.
Junos OS 릴리스 9.6 이상에서는 특정 BGP 주소 패밀리에 대한 루프 값을 지정할 수 있습니다.
기본적으로 BGP 피어는 유니캐스트 포워딩 목적으로 사용되는 유니캐스트 경로만 전송합니다. BGP 피어가 멀티캐스트 경로만 전송하도록 구성하려면 옵션을 지정하십시오multicast. BGP 피어가 유니캐스트 및 멀티캐스트 경로를 모두 전달하도록 구성하려면 옵션을 지정합니다.any
MP-BGP가 구성되면 BGP는 MP-BGP 경로를 다른 라우팅 테이블에 설치합니다. 각 라우팅 테이블은 프로토콜 패밀리 또는 AFI(주소 패밀리 Indicator) 및 SAFI(Subsequent 주소 패밀리 Identifier)로 식별됩니다.
다음 목록에는 가능한 모든 AFI 및 SAFI 조합이 나와 있습니다.
AFI=1, SAFI=1, IPv4 유니캐스트
AFI=1, SAFI=2, IPv4 멀티캐스트
AFI=1, SAFI=128, L3VPN IPv4 유니캐스트
AFI=1, SAFI=129, L3VPN IPv4 멀티캐스트
AFI=2, SAFI=1, IPv6 유니캐스트
AFI=2, SAFI=2, IPv6 멀티캐스트
AFI=25, SAFI=65, BGP-VPLS/BGP-L2VPN
AFI=2, SAFI=128, L3VPN IPv6 유니캐스트
AFI=2, SAFI=129, L3VPN IPv6 멀티캐스트
AFI=1, SAFI=132, RT-제약
AFI=1, SAFI=133, 플로우 사양
AFI=1, SAFI=134, 플로우 사양
AFI=3, SAFI=128, CLNS VPN
AFI=1, SAFI=5, NG-MVPN IPv4
AFI=2, SAFI=5, NG-MVPN IPv6
AFI=1, SAFI=66, MDT-SAFI
AFI=1, SAFI=4, 레이블 IPv4
AFI=2, SAFI=4, 레이블 IPv6(6PE)
inet.2 라우팅 테이블에 설치된 경로는 SAFI를 사용하여 멀티캐스트 소스로의 경로로 식별되기 때문에 MP-BGP 피어로만 내보낼 수 있습니다. inet.0 라우팅 테이블에 설치된 경로는 표준 BGP 피어로만 내보낼 수 있습니다.
유니캐스트 트래픽을 보낼 수 없는 멀티캐스트 소스로의 경로가 있을 가능성은 거의 없기 때문에 inet.2 라우팅 테이블는 inet.0에 있는 경로의 하위 집합이어야 합니다. inet.2 라우팅 테이블에는 멀티캐스트 역방향 경로 전달 검사에 사용되는 유니캐스트 경로와 MP-BGP가 NLRI 멀티캐스트 업데이트에서 학습한 추가 연결성 정보가 저장됩니다. inet.2 라우팅 테이블은 NLRI를 로 any설정하여 MP-BGP를 구성할 때 자동으로 생성됩니다.
MP-BGP를 활성화하면 다음을 수행할 수 있습니다.
- BGP 피어 세션에서 수신되는 접두사 수 제한
- BGP 피어 세션에서 허용되는 접두사 수 제한
- BGP 라우팅 테이블 그룹 구성
- 다른 AS에 위치한 PE 라우팅 디바이스로 경로 해결
- 레이블 지정된 경로와 레이블 미지정 경로 허용
BGP 피어 세션에서 수신되는 접두사 수 제한
BGP 피어 세션에서 수신되는 접두사 수를 제한하고, 삽입된 접두사 수가 설정된 제한을 초과하면 속도 제한 메시지를 기록할 수 있습니다. 접두사 수가 제한을 초과할 때 피어링을 붕괴할 수도 있습니다.
BGP 세션에서 수신할 수 있는 접두사 수에 대한 제한을 구성하려면 다음 문을 포함합니다.prefix-limit
prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>; }
이 문을 포함할 수 있는 계층 수준 목록은 이 문에 대한 문 요약 섹션을 참조하십시오.
의 경우 maximum number1에서 4,294,967,295 사이의 값을 지정합니다. 지정된 최대 접두사 수가 초과되면 시스템 로그 메시지가 전송됩니다.
명령문을 포함 teardown 하면 최대 접두사 수가 초과되면 세션이 붕괴됩니다. 비율을 지정하면 접두사 수가 지정된 최대 제한의 비율을 초과할 때 메시지가 기록됩니다. 세션이 붕괴된 후에는 명령문을 포함하지 않는 한 짧은 시간 내에 다시 설정됩니다. idle-timeout 명령문을 포함 idle-timeout 하면 지정된 시간 동안 또는 영원히 세션이 다운된 상태를 유지할 수 있습니다. 를 지정 forever하는 경우, 명령을 내린 clear bgp neighbor 후에만 세션이 재설정됩니다. 이 drop-excess <percentage> 옵션을 포함하는 경우, 최대 접두사 수에 도달하면 초과 경로는 삭제됩니다. 백분율을 지정하는 경우, 접두사 수가 최대 수의 백분율 값을 초과할 때 경로가 기록됩니다. 이 hide-excess <percentage> 옵션을 포함하는 경우, 최대 접두사 수에 도달하면 초과 경로가 숨겨집니다. 백분율을 지정하는 경우, 접두사 수가 최대 수의 백분율 값을 초과할 때 경로가 기록됩니다. 비율을 수정하면 경로가 자동으로 재평가됩니다. 활성 경로가 지정된 백분율 아래로 떨어지면 해당 경로는 숨겨진 상태로 유지됩니다.
Junos OS 릴리스 9.2 이상에서는 BGP 피어 세션에서 허용할 수 있는 접두사 수에 대한 제한을 구성할 수도 있습니다. 자세한 내용은 BGP 피어 세션에서 허용되는 접두사 수 제한을 참조하십시오.
BGP 피어 세션에서 허용되는 접두사 수 제한
Junos OS 릴리스 9.2 및 이후 버전에서는 BGP 피어 세션에서 허용 가능한 접두사 수를 제한할 수 있습니다. 지정된 제한을 초과하면 시스템 로그 메시지가 전송됩니다. 지정된 접두사의 수에 대한 제한이 초과될 경우 BGP 세션을 재설정하도록 지정할 수도 있습니다.
BGP 피어 세션에서 허용 가능한 접두사 수에 대한 제한을 구성하려면 다음 문을 포함합니다.accepted-prefix-limit
accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop <percentage>; hide <percentage>; }
이 문을 포함할 수 있는 계층 수준 목록은 이 문에 대한 문 요약 섹션을 참조하십시오.
최대number값의 경우 1에서 4,294,967,295 사이의 값을 지정합니다.
허용되는 접두사 수가 구성된 제한을 초과할 때 BGP 피어 세션을 재설정하는 문을 포함 teardown 합니다. 또한 1 에서 100까지의 백분율 값을 포함하여 허용되는 접두사 수가 최대 제한의 해당 백분율을 초과할 때 시스템 로그 메시지를 전송하도록 할 수 있습니다. 기본적으로 재설정되는 BGP 세션은 짧은 시간 내에 다시 설정됩니다. 지정된 기간 동안 BGP 세션이 재설정되지 않도록 하는 명령문을 포함 idle-timeout 합니다. 1 분에서 2400 분까지 시간 제한 값을 구성할 수 있습니다. 명령을 실행할 때까지 BGP 세션이 다시 설정되지 않도록 하려면 영원 히 옵션을 포함합니다. clear bgp neighbor 명령문을 포함 drop-excess <percentage> 하고 비율을 지정하면 접두사 수가 비율을 초과할 때 초과된 경로는 삭제됩니다. 명령문을 포함 hide-excess <percentage> 하고 비율을 지정하면 접두사 수가 비율을 초과할 때 초과된 경로가 숨겨집니다. 비율을 수정하면 경로가 자동으로 재평가됩니다.
NSR(Nonstop Active Routing)이 활성화되고 백업 라우팅 엔진으로의 전환이 발생하면 다운된 BGP 피어가 자동으로 재시작됩니다. 명령문이 구성되더라도 idle-timeout forever 피어가 다시 시작됩니다.
또는 BGP 피어 세션에서 수신 할 수 있는(허용되는 것과 다름) 접두사 수에 대한 제한을 구성할 수 있습니다. 자세한 정보는 BGP 피어 세션에서 수신되는 접두사 수 제한을 참조하십시오.
BGP 라우팅 테이블 그룹 구성
BGP 세션은 유니캐스트 또는 멀티캐스트 NLRI를 수신하면 적절한 테이블(유니캐스트의 경우 inet.0 또는 inet6.0 , 멀티캐스트의 경우 inet.2 또는 inet6.2 )에 경로를 설치합니다. 유니캐스트 및 멀티캐스트 테이블 모두에 유니캐스트 접두사를 추가하기 위해 BGP 라우팅 테이블 그룹을 구성할 수 있습니다. 이는 멀티캐스트 NLRI 협상을 수행할 수 없는 경우에 유용합니다.
BGP 라우팅 테이블 그룹을 구성하려면 다음 문을 포함합니다.rib-group
rib-group group-name;
이 문을 포함할 수 있는 계층 수준 목록은 이 문에 대한 문 요약 섹션을 참조하십시오.
다른 AS에 위치한 PE 라우팅 디바이스로 경로 해결
경로 확인을 위해 레이블이 지정된 경로가 inet.3 라우팅 테이블에 배치되도록 허용할 수 있습니다. 그런 다음 이러한 경로는 원격 PE가 다른 AS(Autonomous System)에 걸쳐 위치하는 프로바이더 에지(PE) 라우팅 디바이스 연결에 대해 해결됩니다. PE 라우팅 디바이스가 VPN 라우팅 및 포워딩(VRF) 라우팅 인스턴스에 경로를 설치하기 위해서는 다음 홉이 inet.3 테이블 내에 저장된 경로로 해결되어야 합니다.
경로를 inet.3 라우팅 테이블로 해결하려면 다음 문을 포함합니다.resolve-vpn
resolve-vpn group-name;
이 문을 포함할 수 있는 계층 수준 목록은 이 문에 대한 문 요약 섹션을 참조하십시오.
레이블 지정된 경로와 레이블 미지정 경로 허용
레이블이 지정된 경로와 레이블이 지정되지 않은 경로 모두 단일 세션에서 교환되도록 허용할 수 있습니다. 레이블이 지정된 경로는 inet.3 또는 inet6.3 라우팅 테이블에 배치되며, 레이블이 지정된 경로와 레이블이 지정되지 않은 유니캐스트 경로 모두 라우팅 디바이스와 송수신될 수 있습니다.
레이블이 지정된 경로와 레이블이 지정되지 않은 경로 모두 교환되도록 허용하려면 다음 문을 포함합니다.rib
rib (inet.3 | inet6.3);
이 문을 포함할 수 있는 계층 수준 목록은 이 문에 대한 문 요약 섹션을 참조하십시오.
예: IPv4 전송을 통한 IPv6 BGP 경로 구성
이 예는 IPv4 인터페이스로 양쪽이 구성된 IPv4 연결을 통해 IPv6 및 IPv4 접두사를 모두 내보내는 방법을 보여줍니다.
요구 사항
이 예제를 구성하기 전에 디바이스 초기화 이외의 특별한 구성은 필요하지 않습니다.
개요
IPv6 BGP 접두사를 내보낼 때 다음 사항에 유의하십시오.
BGP는 IPv4 매핑된 IPv6 접두사를 사용하여 다음 홉 접두사를 파생합니다. 예를 들어, IPv4 다음 홉 접두사
10.19.1.1는 IPv6 다음 홉 접두사 ::ffff:10.19.1.1로 해석됩니다.참고:IPv6 BGP 접두사를 내보내기 위해 IPv4 매핑된 IPv6 다음 홉에 대한 활성 경로가 있어야 합니다.
링크 전체에 IPv6 연결이 구성되어야 합니다. 연결은 IPv6 터널 또는 듀얼 스택 구성이어야 합니다. 이 예에서는 이중 스태킹이 사용됩니다.
IPv4 매핑 IPv6 접두사를 구성할 때는 96 비트 이상의 마스크를 사용합니다.
일반 IPv6 접두사를 사용할 경우 정적 경로를 구성합니다. 이 예는 정적 경로를 사용합니다.
그림 1 은 샘플 토폴로지를 보여줍니다.
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣습니다.
디바이스 R1
set interfaces fe-1/2/0 unit 1 family inet address 192.168.10.1/24 set interfaces fe-1/2/0 unit 1 family inet6 address ::ffff:192.168.10.1/120 set interfaces lo0 unit 1 family inet address 10.10.10.1/32 set protocols bgp group ext type external set protocols bgp group ext family inet unicast set protocols bgp group ext family inet6 unicast set protocols bgp group ext export send-direct set protocols bgp group ext export send-static set protocols bgp group ext peer-as 200 set protocols bgp group ext neighbor 192.168.10.10 set policy-options policy-statement send-direct term 1 from protocol direct set policy-options policy-statement send-direct term 1 then accept 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 rib inet6.0 static route ::ffff:192.168.20.0/120 next-hop ::ffff:192.168.10.10 set routing-options static route 192.168.20.0/24 next-hop 192.168.10.10 set routing-options autonomous-system 100
디바이스 R2
set interfaces fe-1/2/0 unit 2 family inet address 192.168.10.10/24 set interfaces fe-1/2/0 unit 2 family inet6 address ::ffff:192.168.10.10/120 set interfaces fe-1/2/1 unit 3 family inet address 192.168.20.21/24 set interfaces fe-1/2/1 unit 3 family inet6 address ::ffff:192.168.20.21/120 set interfaces lo0 unit 2 family inet address 10.10.0.1/32 set protocols bgp group ext type external set protocols bgp group ext family inet unicast set protocols bgp group ext family inet6 unicast set protocols bgp group ext export send-direct set protocols bgp group ext export send-static set protocols bgp group ext neighbor 192.168.10.1 peer-as 100 set protocols bgp group ext neighbor 192.168.20.1 peer-as 300 set policy-options policy-statement send-direct term 1 from protocol direct set policy-options policy-statement send-direct term 1 then accept 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 autonomous-system 200
디바이스 R3
set interfaces fe-1/2/0 unit 4 family inet address 192.168.20.1/24 set interfaces fe-1/2/0 unit 4 family inet6 address ::ffff:192.168.20.1/120 set interfaces lo0 unit 3 family inet address 10.10.20.1/32 set protocols bgp group ext type external set protocols bgp group ext family inet unicast set protocols bgp group ext family inet6 unicast set protocols bgp group ext export send-direct set protocols bgp group ext export send-static set protocols bgp group ext peer-as 200 set protocols bgp group ext neighbor 192.168.20.21 set policy-options policy-statement send-direct term 1 from protocol direct set policy-options policy-statement send-direct term 1 then accept 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 rib inet6.0 static route ::ffff:192.168.10.0/120 next-hop ::ffff:192.168.20.21 set routing-options static route 192.168.10.0/24 next-hop 192.168.20.21 set routing-options autonomous-system 300
디바이스 R1 구성
단계별 절차
다음 예에서는 구성 계층에서 다양한 수준을 탐색해야 합니다. CLI 탐색에 대한 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
디바이스 R1 구성:
IPv4 주소와 IPv6 주소를 포함하여 인터페이스를 구성합니다.
[edit interfaces] user@R1# set fe-1/2/0 unit 1 family inet address 192.168.10.1/24 user@R1# set fe-1/2/0 unit 1 family inet6 address ::ffff:192.168.10.1/120 user@R1# set lo0 unit 1 family inet address 10.10.10.1/32
EBGP를 구성합니다.
[edit protocols bgp group ext] user@R1# set type external user@R1# set export send-direct user@R1# set export send-static user@R1# set peer-as 200 user@R1# set neighbor 192.168.10.10
-
BGP가 IPv4 유니캐스트 및 IPv6 유니캐스트 경로를 전달하도록 활성화합니다.
[edit protocols bgp group ext] user@R1# set family inet unicast user@R1# set family inet6 unicast
IPv4 유니캐스트 경로는 기본적으로 활성화됩니다. 그러나 다른 NLRI 주소 패밀리를 구성할 때는 IPv4 유니캐스트를 명시적으로 구성해야 합니다.
-
라우팅 정책 구성합니다.
[edit policy-options] user@R1# set policy-statement send-direct term 1 from protocol direct user@R1# set policy-statement send-direct term 1 then accept user@R1# set policy-statement send-static term 1 from protocol static user@R1# set policy-statement send-static term 1 then accept
일부 정적 경로를 구성합니다.
[edit routing-options] user@R1# set rib inet6.0 static route ::ffff:192.168.20.0/120 next-hop ::ffff:192.168.10.10 user@R1# set static route 192.168.20.0/24 next-hop 192.168.10.10
AS(Autonomous System) 번호를 구성합니다.
[edit routing-options] user@R1# set autonomous-system 100
결과
구성 모드에서 , show policy-options, show protocols및 show routing-options 명령을 show interfaces입력하여 구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정합니다.
user@R1# show interfaces
fe-1/2/0 {
unit 1 {
family inet {
address 192.168.10.1/24;
}
family inet6 {
address ::ffff:192.168.10.1/120;
}
}
}
lo0 {
unit 1 {
family inet {
address 10.10.10.1/32;
}
}
}
user@R1# show policy-options
policy-statement send-direct {
term 1 {
from protocol direct;
then accept;
}
}
policy-statement send-static {
term 1 {
from protocol static;
then accept;
}
}
user@R1# show protocols
bgp {
group ext {
type external;
family inet {
unicast;
}
family inet6 {
unicast;
}
export [ send-direct send-static ];
peer-as 200;
neighbor 192.168.10.10;
}
}
user@R1# show routing-options
rib inet6.0 {
static {
route ::ffff:192.168.20.0/120 next-hop ::ffff:192.168.10.10;
}
}
static {
route 192.168.20.0/24 next-hop 192.168.10.10;
}
autonomous-system 100;
디바이스 구성이 완료되면 구성 모드에서 commit 을 입력합니다. 디바이스 R2 및 디바이스 R3에서 구성을 반복하고, 필요에 따라 인터페이스 이름과 IP 주소를 변경합니다.
검증
구성이 제대로 작동하고 있는지 확인합니다.
이웃 상태 확인
목적
BGP가 IPv6 유니캐스트 경로를 전달하도록 활성화되어 있는지 확인합니다.
작업
운영 모드에서 명령을 입력합니다.show bgp neighbor
user@R2> show bgp neighbor
Peer: 192.168.10.1+179 AS 100 Local: 192.168.10.10+54226 AS 200
Type: External State: Established Flags: <Sync>
Last State: OpenConfirm Last Event: RecvKeepAlive
Last Error: None
Export: [ send-direct send-static ]
Options: <Preference AddressFamily PeerAS Refresh>
Address families configured: inet-unicast inet6-unicast
Holdtime: 90 Preference: 170
Number of flaps: 0
Peer ID: 10.10.10.1 Local ID: 10.10.0.1 Active Holdtime: 90
Keepalive Interval: 30 Peer index: 0
BFD: disabled, down
Local Interface: fe-1/2/0.2
NLRI for restart configured on peer: inet-unicast inet6-unicast
NLRI advertised by peer: inet-unicast inet6-unicast
NLRI for this session: inet-unicast inet6-unicast
Peer supports Refresh capability (2)
Stale routes from peer are kept for: 300
Peer does not support Restarter functionality
NLRI that restart is negotiated for: inet-unicast inet6-unicast
NLRI of received end-of-rib markers: inet-unicast inet6-unicast
NLRI of all end-of-rib markers sent: inet-unicast inet6-unicast
Peer supports 4 byte AS extension (peer-as 100)
Peer does not support Addpath
Table inet.0 Bit: 10000
RIB State: BGP restart is complete
Send state: in sync
Active prefixes: 1
Received prefixes: 3
Accepted prefixes: 2
Suppressed due to damping: 0
Advertised prefixes: 4
Table inet6.0 Bit: 20000
RIB State: BGP restart is complete
Send state: in sync
Active prefixes: 0
Received prefixes: 1
Accepted prefixes: 1
Suppressed due to damping: 0
Advertised prefixes: 2
Last traffic (seconds): Received 24 Sent 12 Checked 60
Input messages: Total 132 Updates 6 Refreshes 0 Octets 2700
Output messages: Total 133 Updates 3 Refreshes 0 Octets 2772
Output Queue[0]: 0
Output Queue[1]: 0
Peer: 192.168.20.1+179 AS 300 Local: 192.168.20.21+54706 AS 200
Type: External State: Established Flags: <Sync>
Last State: OpenConfirm Last Event: RecvKeepAlive
Last Error: None
Export: [ send-direct send-static ]
Options: <Preference AddressFamily PeerAS Refresh>
Address families configured: inet-unicast inet6-unicast
Holdtime: 90 Preference: 170
Number of flaps: 0
Peer ID: 10.10.20.1 Local ID: 10.10.0.1 Active Holdtime: 90
Keepalive Interval: 30 Peer index: 1
BFD: disabled, down
Local Interface: fe-1/2/1.3
NLRI for restart configured on peer: inet-unicast inet6-unicast
NLRI advertised by peer: inet-unicast inet6-unicast
NLRI for this session: inet-unicast inet6-unicast
Peer supports Refresh capability (2)
Stale routes from peer are kept for: 300
Peer does not support Restarter functionality
NLRI that restart is negotiated for: inet-unicast inet6-unicast
NLRI of received end-of-rib markers: inet-unicast inet6-unicast
NLRI of all end-of-rib markers sent: inet-unicast inet6-unicast
Peer supports 4 byte AS extension (peer-as 300)
Peer does not support Addpath
Table inet.0 Bit: 10000
RIB State: BGP restart is complete
Send state: in sync
Active prefixes: 1
Received prefixes: 3
Accepted prefixes: 2
Suppressed due to damping: 0
Advertised prefixes: 4
Table inet6.0 Bit: 20000
RIB State: BGP restart is complete
Send state: in sync
Active prefixes: 0
Received prefixes: 1
Accepted prefixes: 1
Suppressed due to damping: 0
Advertised prefixes: 2
Last traffic (seconds): Received 1 Sent 15 Checked 75
Input messages: Total 133 Updates 6 Refreshes 0 Octets 2719
Output messages: Total 131 Updates 3 Refreshes 0 Octets 2734
Output Queue[0]: 0
Output Queue[1]: 0
의미
출력에서 inet6-유니캐스트 가 다양하게 발생하는 것은 BGP가 IPv6 유니캐스트 경로를 전달할 수 있음을 보여줍니다.
라우팅 테이블 확인
목적
디바이스 R2의 inet6.0 라우팅 테이블에 BGP 경로가 있는지 확인합니다.
작업
운영 모드에서 명령을 입력합니다.show route protocol bgp inet6.0
user@R2> show route protocol bgp table inet6.0
inet6.0: 7 destinations, 10 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
::ffff:192.168.10.0/120 [BGP/170] 01:03:49, localpref 100, from 192.168.20.1
AS path: 300 I
> to ::ffff:192.168.20.21 via fe-1/2/1.3
::ffff:192.168.20.0/120 [BGP/170] 01:03:53, localpref 100, from 192.168.10.1
AS path: 100 I
> to ::ffff:192.168.10.10 via fe-1/2/0.2
BGP IPv6 세션을 통한 IPv4 경로 보급 개요
IPv6 네트워크에서 BGP는 일반적으로 BGP 피어 간의 IPv6 세션을 통해 IPv6 네트워크 레이어 연결성 정보를 보급합니다. 이전 릴리스에서 Junos OS는 inet6 유니캐스트, inet6 멀티캐스트 또는 inet6 레이블이 지정된 유니캐스트 주소 패밀리만 지원했습니다. 이 기능을 통해 모든 BGP 주소 패밀리를 교환할 수 있습니다. 코어에 IPv6가 있는 듀얼 스택 환경에서 말이죠. 이 기능을 사용하면 BGP가 IPv6 BGP 세션을 통해 IPv4 다음 홉을 사용하여 IPv4 유니캐스트 연결성을 보급할 수 있습니다.
이 기능은 IPv4가 양쪽 끝점에서 구성되는 BGP IPv6 세션 전용입니다. IBGP local-ipv4-address 또는 다중 홉 EBGP 세션에 대한 루프백 주소 또는 임의의 ipv4 주소일 수 있습니다. BGP 컨페더레이션에 속하지 않는 단일 홉 외부 BGP 스피커의 경우 구성된 로컬 IPv4 주소가 직접 연결되지 않으면 BGP 세션이 닫히고 유휴 상태로 유지되며 오류가 생성되어 명령 출력 show bgp neighbor 에 표시됩니다.
IPv6 세션을 통한 IPv4 경로 보급을 활성화하려면 다음과 같이 구성 local-ipv4-address 합니다.
[edit protocols bgp family inet unicast] local-ipv4-address local ipv4 address;
BGP에는 이미 IPv6 BGP 세션을 통해 이러한 주소 패밀리를 알릴 수 있는 기능이 있으므로 inet6 유니캐스트, inet6 멀티캐스트 또는 inet6 레이블이 지정된 유니캐스트 주소 패밀리에 대해서는 이 기능을 구성할 수 없습니다.
구성된 local-ipv4-address 값은 BGP가 자체 다음 홉으로 경로를 보급할 때만 사용됩니다. IBGP가 EBGP 피어에서 학습한 경로를 보급하거나 경로 리플렉터가 BGP 경로를 클라이언트에 보급할 때, BGP는 경로 다음 홉을 변경하지 않고 구성된 local-ipv4-address것을 무시하고 원래 IPv4 다음 홉을 사용합니다.
또한보십시오
예: IPv6 BGP 세션을 통한 IPv4 경로 보급
이 예는 IPv6 BGP 세션을 통해 IPv4 경로를 보급하는 방법을 보여줍니다. 코어에 IPv6가 있는 이중 스택 환경에서는 원격 IPv4 호스트에 도달해야 합니다. 따라서 BGP는 IPv6 소스 및 대상 주소를 사용하여 BGP 세션을 통해 BGP 피어에 IPv4 다음 홉이 있는 IPv4 경로를 보급합니다. 이 기능을 통해 BGP는 IPv6 세션을 통해 IPv4 다음 홉을 사용하여 IPv4 유니캐스트 연결성을 보급할 수 있습니다.
요구 사항
이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.
-
듀얼 스태킹 기능이 있는 라우터 3개
-
모든 디바이스에서 실행되는 Junos OS 릴리스 16.1 이상
IPv6 BGP 세션을 통한 IPv4 보급을 활성화하기 전에 다음을 확인합니다.
-
디바이스 인터페이스를 구성합니다.
-
모든 디바이스에 이중 스택을 구성합니다.
개요
릴리스 16.1부터 Junos OS를 사용하면 BGP가 IPv6 BGP 세션을 통해 IPv4 다음 홉으로 IPv4 유니캐스트 연결성을 보급할 수 있습니다. 이전 Junos OS 릴리스에서 BGP는 IPv6 BGP 세션을 통해 inet6 유니캐스트, inet6 멀티캐스트 및 inet6 레이블이 지정된 유니캐스트 주소 패밀리만 보급할 수 있었습니다. 이 기능을 통해 BGP는 IPv6 세션을 통해 모든 BGP 주소 패밀리를 교환할 수 있습니다. BGP가 IPv4 다음 홉이 있는 IPv4 경로를 IPv6 세션을 통해 BGP 피어에 보급하도록 설정할 수 있습니다. 구성된 local-ipv4-address 값은 BGP가 자체 다음 홉으로 경로를 보급할 때만 사용됩니다.
BGP에는 이미 IPv6 BGP 세션을 통해 이러한 주소 패밀리를 알릴 수 있는 기능이 있으므로 inet6 유니캐스트, inet6 멀티캐스트 또는 inet6 레이블이 지정된 유니캐스트 주소 패밀리에 대해서는 이 기능을 구성할 수 없습니다.
토폴로지
그림 2에서는 라우터 R1과 R2 간에 IPv6 외부 BGP 세션이 실행되고 있습니다. IPv6 IBGP 세션은 라우터 R2와 라우터 R3 간에 설정됩니다. IPv4 정적 경로는 R1에서 BGP에 재배포됩니다. IPv6 BGP 세션을 통해 IPv4 경로를 재배포하려면 계층 수준의 모든 라우터에서 새로운 기능이 활성화되어야 합니다.[edit protocols bgp address family]
을 통한 IPv4 경로 보급
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경하고, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣은 다음, 구성 모드에서 들어갑니다 commit .
라우터 R1
set interfaces ge-0/0/0 unit 0 description R1->R2 set interfaces ge-0/0/0 unit 0 family inet address 140.1.1.1/24 set interfaces ge-0/0/0 unit 0 family inet6 address ::140.1.1.1/126 set interfaces lo0 unit 0 family inet6 address 1::1/128 set routing-options static route 11.1.1.1/32 discard set routing-options static route 11.1.1.2/32 discard set routing-options autonomous-system 64497 set protocols bgp group ebgp-v6 type external set protocols bgp group ebgp-v6 export p1 set protocols bgp group ebgp-v6 peer-as 64496 set protocols bgp group ebgp-v6 neighbor ::140.1.1.2 description R2 set protocols bgp group ebgp-v6 neighbor ::140.1.1.2 family inet unicast local-ipv4-address 140.1.1.1 set policy-options policy-statement p1 from protocol static set policy-options policy-statement p1 then accept
라우터 R2
set interfaces ge-0/0/0 unit 0 description R2->R1 set interfaces ge-0/0/0 unit 0 family inet address 140.1.1.2/24 set interfaces ge-0/0/0 unit 0 family inet6 address ::140.1.1.2/126 set interfaces ge-0/0/1 unit 0 description R2->R3 set interfaces ge-0/0/1 unit 0 family inet address 150.1.1.1/24 set interfaces ge-0/0/1 unit 0 family inet6 address ::150.1.1.1/126 set interfaces lo0 unit 0 family inet6 address 1::2/128 set routing-options autonomous-system 64496 set protocols bgp group ibgp-v6 type internal set protocols bgp group ibgp-v6 export change-nh set protocols bgp group ibgp-v6 neighbor ::150.1.1.2 description R3 set protocols bgp group ibgp-v6 neighbor ::150.1.1.2 family inet unicast local-ipv4-address 150.1.1.1 set protocols bgp group ebgp-v6 type external set protocols bgp group ebgp-v6 peer-as 64497 set protocols bgp group ebgp-v6 neighbor ::140.1.1.1 description R1 set protocols bgp group ebgp-v6 neighbor ::140.1.1.1 family inet unicast local-ipv4-address 140.1.1.2 set policy-options policy-statement change-nh from protocol bgp set policy-options policy-statement change-nh then next-hop self set policy-options policy-statement change-nh then accept
라우터 R3
set interfaces ge-0/0/0 unit 0 description R3->R2 set interfaces ge-0/0/0 unit 0 family inet address 150.1.1.2/24 set interfaces ge-0/0/0 unit 0 family inet6 address ::150.1.1.2/126 set interfaces lo0 unit 0 family inet6 address 1::3/128 set routing-options autonomous-system 64496 set protocols bgp group ibgp-v6 type internal set protocols bgp group ibgp-v6 neighbor ::150.1.1.1 description R2 set protocols bgp group ibgp-v6 neighbor ::150.1.1.1 family inet unicast local-ipv4-address 150.1.1.2
라우터 R1 구성
단계별 절차
다음 예에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 정보는 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
라우터 R1을 구성하려면 다음을 수행합니다.
적절한 인터페이스 이름, 주소 및 기타 매개 변수를 수정한 후 다른 라우터에 이 절차를 반복합니다.
-
IPv4 및 IPv6 주소로 인터페이스를 구성합니다.
[edit interfaces] user@R1# set ge-0/0/0 unit 0 description R1->R2 user@R1# set ge-0/0/0 unit 0 family inet address 140.1.1.1/24 user@R1# set ge-0/0/0 unit 0 family inet6 address ::140.1.1.1/126
-
루프백 주소를 구성합니다.
[edit interfaces] user@R1# set lo0 unit 0 family inet6 address 1::1/128
-
보급해야 하는 IPv4 정적 경로를 구성합니다.
[edit routing-options] user@R1# set static route 11.1.1.1/32 discard user@R1# set static route 11.1.1.2/32 discard
-
BGP 호스트를 위한 AS(Autonomous System)를 구성합니다.
[edit routing-options] user@R1# set autonomous-system 64497
-
외부 에지 라우터에서 EBGP를 구성합니다.
[edit protocols] user@R1# set bgp group ebgp-v6 type external user@R1# set bgp group ebgp-v6 peer-as 64496 user@R1# set bgp group ebgp-v6 neighbor ::140.1.1.2 description R2
-
BGP IPv6 세션을 통해 IPv4 주소 140.1.1을 보급하는 기능을 활성화합니다.
[edit protocols] user@R1# set bgp group ebgp-v6 neighbor ::140.1.1.2 family inet unicast local-ipv4-address 140.1.1.1
-
모든 정적 경로를 수락하는 정책 p1을 정의합니다.
[edit policy-options] user@R1# set policy-statement p1 from protocol static user@R1# set policy-statement p1 then accept
-
EBGP 그룹 EBgp-v6에 정책 p1을 적용합니다.
[edit protocols] user@R1# set bgp group ebgp-v6 export p1
결과
구성 모드에서 , show protocols, show routing-options및 show policy-options 명령을 show interfaces입력하여 구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정합니다.
[edit]
user@R1# show interfaces
ge-0/0/0 {
unit 0 {
description R1->R2;
family inet {
address 140.1.1.1/24;
}
family inet6 {
address ::140.1.1.1/126;
}
}
lo0 {
unit 0 {
family inet {
address 1::1/128;
}
}
}
}
[edit]
user@R1# show protocols
bgp {
group ebgp-v6 {
type external;
export p1;
peer-as 64496;
neighbor ::140.1.1.2 {
description R2;
family inet {
unicast {
local-ipv4-address 140.1.1.1;
}
}
}
}
}
[edit]
user@R1# show routing-options
static {
route 11.1.1.1/32 discard;
route 11.1.1.2/32 discard;
}
autonomous-system 64497;
[edit]
user@R1# show policy-options
policy-statement p1 {
from {
protocol static;
}
then accept;
}
디바이스 구성을 완료하면 구성을 커밋합니다.
user@R1# commit
검증
구성이 제대로 작동하고 있는지 확인합니다.
BGP 세션이 작동 중인지 확인하기
목적
BGP가 구성된 인터페이스에서 실행되고 BGP 세션이 각 neighbor 주소에 대해 활성화되어 있는지 확인합니다.
작업
운영 모드의 라우터 R1에서 명령을 실행합니다 show bgp summary .
user@R1> show bgp summary
Groups: 1 Peers: 1 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
inet.0
0 0 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
::140.1.1.2 64496 4140 4158 0 0 1d 7:10:36 0/0/0/0 0/0/0/0
의미
BGP 세션이 가동되고 있으며 BGP 피어링이 설정되어 있습니다.
IPv4 주소가 보급되고 있는지 확인하기
목적
구성된 IPv4 주소가 라우터 R1에 의해 구성된 BGP neighbor에 보급되고 있는지 확인합니다.
작업
운영 모드의 라우터 R1에서 명령을 실행합니다 show route advertising-protocol bgp ::150.1.1.2 .
user@R1> show route advertising-protocol bgp ::150.1.1.2 inet.0: 48 destinations, 48 routes (48 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 11.1.1.1/32 Self 64497 64497 I * 11.1.1.2/32 Self 64497 64497 I
의미
IPv4 정적 경로는 BGP neighbor 라우터 R2에 보급되고 있습니다.
BGP neighbor 라우터 R2가 보급된 IPv4 주소를 수신하는지 확인
목적
라우터 R2가 라우터 R1이 IPv6을 통해 BGP neighbor에 보급하는 IPv4 주소를 수신하는지 확인합니다.
작업
user@R2> show route receive-protocol bgp ::140.1.1.1 inet.0: 48 destinations, 48 routes (48 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 11.1.1.1/32 140.1.1.1 64497 I * 11.1.1.2/32 140.1.1.1 64497 I iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) inet6.0: 9 destinations, 10 routes (9 active, 0 holddown, 0 hidden)
의미
라우터 R2의 라우팅 테이블에 정적 IPv4 경로가 있다는 것은 라우터 R1에서 보급된 IPv4 경로를 수신하고 있음을 나타냅니다.
IPv6 다음 홉을 사용하는 IPv4 경로를 BGP에 재배포하는 방법 이해
주로 IPv6 트래픽을 전송하는 네트워크에서는 필요할 때 IPv4 경로를 라우팅해야 합니다. 예를 들어 IPv6 전용 네트워크가 있지만 IPv4 트래픽을 라우팅하는 고객이 있는 인터넷 서비스 프로바이더가 있습니다. 이 경우, 이러한 고객을 수용하고 IPv6 네트워크를 통해 IPv4 트래픽을 전달할 필요가 있습니다. RFC 5549에 설명된 바와 같이, IPv6 다음 홉 IPv4 트래픽으로 IPv4 네트워크 레이어 연결성 정보 보급 은 고객 사내 장치(CPE) 디바이스에서 IPv4-over-IPv6 게이트웨이로 터널링됩니다. 이러한 게이트웨이는 anycast address를 통해 CPE 디바이스에 공지됩니다. 그런 다음 게이트웨이 디바이스는 원격 CPE 디바이스로 동적 IPv4-over-IPv6 터널을 만들고 IPv4 집계 경로를 보급하여 트래픽을 조정합니다.
동적 IPv4-over-IPv6 터널 기능은 Junos OS 릴리스 17.3R1에서 통합 ISSU를 지원하지 않습니다.
프로그래밍 가능한 인터페이스를 가진 경로 리플렉터(RR)는 IBGP를 통해 IPv6 주소를 다음 홉으로 하는 게이트웨이 라우터 및 호스트 경로에 연결됩니다. 이러한 RR은 IPv4/32 주소를 보급하여 터널 정보를 네트워크에 삽입합니다. 게이트웨이 라우터는 원격 고객 제공자 에지에 대한 동적 IPv4-over-IPv6 터널을 생성합니다. 또한 게이트웨이 라우터는 트래픽을 조정하기 위해 IPv4 집계 경로를 보급합니다. 그런 다음 RR은 터널 소스 경로를 ISP에 보급합니다. 또한 RR이 터널 경로를 제거하면 BGP는 경로를 철회하여 터널을 해체하고 CPE에 연결할 수 없게 됩니다. 또한 모든 집계 경로 기여자 경로가 제거되면 게이트웨이 라우터는 IPv4 집계 경로 및 IPv6 터널 소스 경로를 철회합니다. 게이트웨이 라우터는 앵커 패킷 포워딩 엔진 라인 카드가 작동 중단될 때 경로 철회를 전송하여 트래픽을 다른 게이트웨이 라우터로 리디렉션합니다.
IPv6 다음 홉을 사용하는 IPv4 경로를 지원하기 위해 다음 확장이 도입되었습니다.
BGP 다음 홉 인코딩
BGP는 IPv6 다음 홉으로 IPv4 경로를 전송하는 데 사용되는 다음 홉 인코딩 기능으로 확장됩니다. 원격 피어에서 이 기능을 사용할 수 없는 경우 BGP는 이 인코딩 기능을 기반으로 피어를 그룹화하고 협상된 NLRI(Network Layer Reachability Information) 목록에서 인코딩 기능을 사용하지 않고 BGP family를 제거합니다. Junos OS는 inet.0과 같은 하나의 확인 테이블만 허용합니다. IPv6 다음 홉을 사용하는 IPv4 BGP 경로를 허용하기 위해 BGP는 새 확인 트리를 만듭니다. 이 기능을 사용하면 Junos OS 라우팅 테이블에 여러 확인 트리를 가질 수 있습니다.
RFC 5549, IPv6 다음 홉을 사용한 IPv4 네트워크 레이어 연결성 정보 보급 외에도, RFC 5512, BGP 캡슐화 SAFI(Subsequent Address Family Identifier) 및 BGP 터널 캡슐화 속성 이 다음 홉 주소의 주소 패밀리를 결정하기 위해 도입되었습니다. 캡슐화 커뮤니티는 수신 노드가 생성해야 하는 터널 유형을 나타냅니다. BGP가 IPv6 다음 홉 주소와 V4oV6 캡슐화 커뮤니티를 포함하는 IPv4 경로를 수신하면 BGP는 IPv4-over-IPv6 동적 터널을 생성합니다. BGP가 캡슐화 커뮤니티 없이 경로를 수신하면 V4oV6 터널을 생성하지 않고 BGP 경로가 해결됩니다.
새로운 정책 작업은 dynamic-tunnel-attributes dyan-attribute 계층 수준에서 [edit policy-statement policy name term then] 사용할 수 있어 새로운 확장 캡슐화를 지원합니다.
터널 현지화
동적 터널 인프라는 더 많은 수의 터널을 지원하기 위해 터널 현지화로 향상되었습니다. 앵커가 실패할 때 트래픽을 처리할 수 있는 복원력을 제공하기 위해 터널 현지화가 필요합니다. 하나 이상의 섀시가 서로 백업하고 라우팅 프로토콜 프로세스(rpd)가 장애 지점에서 백업 섀시로 트래픽을 유도하도록 합니다. 섀시는 개별 루프백 주소 대신 이러한 집계 접두사만 네트워크에 보급합니다.
터널 핸들링
IPv4 over IPv6 터널은 터널 고정과 함께 동적 터널 인프라를 사용하여 필요한 섀시 전체 규모를 지원합니다. 터널 상태는 패킷 포워딩 엔진으로 현지화되고 다른 패킷 전달 엔진은 트래픽을 터널 앵커로 조정합니다.
터널 수신
에 있을 때 터널 수신 처리
-
IPv6 헤더 내부에 IPv4 트래픽을 캡슐화합니다.
캡슐화 전에 최대 전송 단위(MTU) 시행이 수행됩니다. 캡슐화된 패킷 크기가 터널 MTU를 초과하고 IPv4 패킷이
DF-bit설정되지 않은 경우 패킷은 단편화되고 이러한 단편은 캡슐화됩니다. -
내부 패킷 헤더에 해시 기반 트래픽 로드 밸런싱을 사용합니다.
-
트래픽을 대상 IPv6 주소로 전달합니다. IPv6 주소는 IPv6 헤더에서 가져옵니다.
터널 송신
-
IPv6 패킷 내부에 있는 IPv4 패킷의 캡슐화를 해제합니다.
-
스푸핑 차단 검사를 수행하여 IPv6, IPv4 쌍이 터널 설정에 사용된 정보와 일치하는지 확인합니다.
-
캡슐 해제된 패킷의 IPv4 헤더에서 IPv4 대상 주소를 조회하고 지정된 IPv4 주소로 패킷을 전달합니다.
터널 로드 밸런싱 및 앵커 패킷 포워딩 엔진 장애 처리
패킷 포워딩 엔진에 고정된 터널 트래픽의 null-route 필터링을 방지하려면 패킷 포워딩 엔진 오류를 신속하게 처리해야 합니다. 터널 현지화에는 BGP 보급을 사용하여 장애를 전체적으로 복구하는 작업이 포함됩니다. 터널 트래픽은 장애 지점에서 동일한 터널 상태를 포함하는 다른 백업 섀시로 우회됩니다. 트래픽 로드 밸런싱의 경우, 섀시는 각 접두사 세트에 대해 서로 다른 MED(Multiple Exit Discriminator) 값을 보급하여 터널의 1/4에 대한 트래픽만 각 섀시를 통과하도록 구성됩니다. 또한 CPE 트래픽은 각 섀시에 동일한 애니캐스트 주소 집합을 구성하고 각 섀시로 향하는 트래픽의 4분의 1만 조정함으로써 유사한 방식으로 처리됩니다.
앵커 패킷 포워딩 엔진은 터널에 대한 모든 처리를 수행하는 단일 엔터티입니다. 앵커 패킷 포워딩 엔진 선택은 정적 프로비저닝을 통해 이루어지며 패킷 포워딩 엔진 물리적 인터페이스에 연결됩니다. 패킷 전달 엔진 중 하나가 다운되면 데몬은 라인 카드에 모든 패킷 전달 엔진을 다운으로 표시하고 이 정보를 라우팅 프로토콜 프로세스 및 기타 데몬에 전달합니다. 라우팅 프로토콜 프로세스는 장애가 발생한 패킷 포워딩 엔진에 고정된 접두사와 다운된 패킷 포워딩 엔진에 할당된 IPv6 주소에 대한 BGP 철회를 보냅니다. 이러한 보급은 트래픽을 다른 백업 섀시로 다시 라우팅합니다. 장애가 발생한 패킷 포워딩 엔진이 다시 작동하면 섀시는 패킷 포워딩 엔진을 AS로 up 표시하고 라우팅 프로토콜 프로세스를 업데이트합니다. 라우팅 프로토콜 프로세스는 특정 패킷 포워딩 엔진에 고정된 터널을 라우팅 트래픽에 사용할 수 있는 피어에 대한 BGP 업데이트를 트리거합니다. 대규모 터널 구성의 경우 이 프로세스에 몇 분 정도 걸릴 수 있습니다. 따라서, 트래픽을 원래 섀시로 전환하는 동안 트래픽 손실을 최소화하도록 메커니즘이 Ack 시스템에 내장되어 있습니다.
터널 루프백 스트림 통계
동적 터널 인프라는 캡슐화 후 패킷을 루프하기 위해 패킷 포워딩 엔진의 루프백 스트림을 사용합니다. 이 루프백 스트림의 대역폭은 제한적이기 때문에 터널 루프백 스트림의 성능을 모니터링할 필요가 있습니다.
루프백 스트림의 통계를 모니터링하려면, 포워딩 속도, 드롭 패킷 속도 및 바이트 속도를 포함하여 집계된 루프백 스트림 통계를 표시하는 운영 명령을 show pfe statistics traffic detail 사용합니다.
또한보십시오
IPv6 다음 홉 주소로 IPv4 경로를 재분배하도록 BGP 구성
릴리스 17.3R1부터 Junos OS 디바이스는 IPv6 전용 네트워크를 통해 IPv4 트래픽을 전달할 수 있습니다. 일반적으로는 IPv4 트래픽을 전달할 수 없습니다. RFC 5549에 설명된 바와 같이 IPv4 트래픽은 CPE 장치에서 IPv4-over-IPv6 게이트웨이로 터널링됩니다. 이러한 게이트웨이는 anycast address를 통해 CPE 디바이스에 공지됩니다. 그런 다음 게이트웨이 디바이스는 원격 고객 구내 장비에 동적 IPv4-over-IPv6 터널을 만들고 IPv4 집계 경로를 보급하여 트래픽을 조정합니다. 프로그래밍 가능한 인터페이스가 있는 경로 리플렉터는 터널 정보를 네트워크에 주입합니다. 경로 리플렉터는 IBGP를 통해 게이트웨이 라우터에 연결되며, 게이트웨이 라우터는 IPv6 주소를 다음 홉으로 사용하여 호스트 경로의 IPv4 주소를 보급합니다.
동적 IPv4-over-IPv6 터널 기능은 Junos OS 릴리스 17.3R1에서 통합 ISSU를 지원하지 않습니다.
IPv6 다음 홉 주소로 IPv4 경로를 배포하기 위해 BGP 구성을 시작하기 전에 다음을 수행합니다.
디바이스 인터페이스를 구성합니다.
OSPF 또는 기타 IGP 프로토콜을 구성합니다.
MPLS 및 LDP를 구성합니다.
BGP를 구성합니다.
IPv6 다음 홉 주소로 IPv4 경로를 배포하도록 BGP를 구성하는 방법:
또한보십시오
레이어 2 VPN 및 VPLS 신호 전송 활성화
BGP를 활성화하여 레이어 2 VPN 및 VPLS NLRI 메시지를 전송할 수 있습니다.
VPN 및 VPLS 신호 전송을 활성화하려면 다음 문을 포함합니다.family
family { l2vpn { signaling { prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>; } } } }
이 문을 포함할 수 있는 계층 수준 목록은 이 문에 대한 문 요약 섹션을 참조하십시오.
최대 접두사 수를 구성하려면 다음 문을 포함합니다.prefix-limit
prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;}
이 문을 포함할 수 있는 계층 수준 목록은 이 문에 대한 문 요약 섹션을 참조하십시오.
최대 접두사 수를 설정할 경우, 해당 수에 도달하면 메시지가 기록됩니다. 명령문을 포함 teardown 하면 최대 접두사 수에 도달할 때 세션이 붕괴됩니다. 비율을 지정하면 접두사 수가 해당 비율에 도달할 때 메시지가 기록됩니다. 세션이 붕괴되면 곧 다시 설정됩니다. 지정된 시간 동안 또는 영원히 세션이 다운된 상태를 유지하려면 명령문을 포함 idle-timeout 합니다. 를 지정 forever하는 경우, 명령을 사용한 후에만 세션이 재설정됩니다. clear bgp neighbor 명령문을 포함 drop-excess <percentage> 하고 비율을 지정하면 접두사 수가 비율을 초과할 때 초과된 경로는 삭제됩니다. 명령문을 포함 hide-excess <percentage> 하고 비율을 지정하면 접두사 수가 비율을 초과할 때 초과된 경로가 숨겨집니다. 비율을 수정하면 경로가 자동으로 재평가됩니다.
또한보십시오
트래픽 필터링을 위한 BGP 플로우 경로 이해하기
플로우 경로는 IP 패킷에 대한 일치 조건의 집합입니다. 플로우 경로는 입력 포워딩 테이블 필터로서(암시적) 설치되며 플로우 사양 NLRI(Network Layer Reachability Information) 메시지를 사용하여 네트워크를 통해 전파되고 플로우 라우팅 테이블 instance-name.inetflow.0에 설치됩니다. 패킷은 특정 일치 조건이 충족되는 경우에만 플로우 경로를 통해 이동할 수 있습니다.
플로우 경로와 방화벽 필터는 구성 요소를 기반으로 패킷을 필터링하고 일치하는 패킷에 작업을 수행한다는 점에서 유사합니다. 플로우 경로는 방화벽 필터와 같은 트래픽 필터링 및 속도 제한 기능을 제공합니다. 또한 플로우 경로를 여러 자율 시스템에 전파할 수도 있습니다.
플로우 경로는 BGP가 플로우 사양 NLRI 메시지를 통해 전파합니다. BGP가 이러한 NLRI를 전파할 수 있도록 활성화해야 합니다.
Junos OS 릴리스 15.1부터 기존 inet-flow 및 inetvpn-flow 제품군에 대해 NSR(Nonstop Active Routing) 지원을 확장하고 draft-ietf-idr-bgp-flowspec-oid-01에 따라 BGP flowspec에 대한 경로 검증 기능을 확장하기 위해 변경 사항이 구현됩니다. 이러한 향상의 일환으로 두 개의 새로운 명령문이 도입됩니다. enforce-first-as 및 no-install을 참조하십시오.
Junos OS 릴리스 16.1부터 IPv6 지원이 BGP 플로우 사양으로 확장되어 IPv6 및 VPN-IPv6 패킷에 대한 트래픽 플로우 사양 규칙을 전파할 수 있습니다. BGP 플로우 사양은 NSR(Nonstop Active Routing) 도중 분산 서비스 거부 공격을 완화하기 위해 트래픽 필터링 규칙의 조정을 자동화합니다.
Junos OS 릴리스 16.1R1부터 BGP 플로우 사양은 트래픽 표시 extended-community 필터링 작업을 지원합니다. IPv4 트래픽의 경우, Junos OS는 통과하는 IPv4 패킷의 DSCP(DiffServ Code Point) 비트를 확장 커뮤니티의 해당 값으로 수정합니다. IPv6 패킷의 경우, Junos OS는 전송하는 IPv6 패킷 필드의 traffic class 처음 6비트를 확장 커뮤니티의 해당 값으로 수정합니다.
Junos OS 릴리스 17.1R1부터 BGP는 3세대 FPC(PTX5000의 경우 FPC3-PTX-U2 및 FPC3-PTX-U3, PTX3000의 경우 FPC3-SFF-PTX-U0 및 FPC3-SFF-PTX-U1)가 설치된 PTX 시리즈 라우터에서 플로우 사양 NLRI(Network Layer Reachability Information) 메시지를 전달할 수 있습니다. 방화벽 필터 정보를 BGP의 일부로 전파하면 AS(Autonomous System) 전반에서 서비스 거부(DOS) 공격으로부터 방화벽 필터를 동적으로 전파할 수 있습니다.
Junos OS 릴리스 17.2R1부터 BGP는 3세대 FPC가 설치된 PTX1000 라우터에서 플로우 사양 NLRI(Network Layer Reachability Information) 메시지를 전달할 수 있습니다. 방화벽 필터 정보를 BGP의 일부로 전파하면 AS(Autonomous System) 전반에서 서비스 거부(DOS) 공격으로부터 방화벽 필터를 동적으로 전파할 수 있습니다.
cRPD 릴리스 20.3R1부터 BGP 플로우 사양 NLRI를 통해 전파되는 플로우 경로 및 폴리싱 규칙은 cRPD 환경에서 Linux Netfilter 프레임워크를 통해 Linux 커널로 다운로드됩니다.
플로우 경로에 대한 일치 조건
플로우 경로에 대해 문에 작업이 then 수행되기 전에 패킷이 일치해야 하는 조건을 지정합니다. 작업이 수행되려면 문의 모든 조건이 from 일치해야 합니다. 일치 조건을 지정하는 순서는 중요하지 않습니다. 패킷이 용어의 모든 조건과 일치해야 일치가 발생하기 때문입니다.
일치 조건을 구성하려면 계층 수준에서 [edit routing-options flow] 문을 포함 match 합니다.
표 1 에는 플로우 경로 일치 조건이 설명되어 있습니다.
| 일치 조건 |
설명 |
|---|---|
|
|
IP 대상 주소 필드입니다. 모드를 위해 |
|
|
TCP 또는 UDP(User Datagram Protocol) 대상 포트 필드입니다. 동일한 용어에 및 숫자 값 대신 다음 텍스트 동의어 중 하나를 지정할 수 있습니다(포트 번호도 나열되어 있음): |
|
|
DSCP(Differentiated Services Code Point)입니다. DiffServ 프로토콜은 IP 헤더의 서비스 유형(ToS) 바이트를 사용합니다. 이 바이트의 가장 중요한 6 비트가 DSCP를 구성합니다. DSCP는 16진수 또는 10진수 형식으로 지정할 수 있습니다. |
|
|
플로우 레이블 값을 일치시킵니다. 이 필드 값의 범위는 0에서 1048575까지입니다. 이 일치 조건은 모드를 위해 |
|
|
단편화 유형 필드입니다. 키워드는 관련된 부분 유형별로 그룹화됩니다.
이 일치 조건은 모드를 위해 |
|
|
ICMP 코드 필드입니다. 이 값 또는 키워드는 보다 더 구체적인 정보를 숫자 값 대신 다음 텍스트 동의어 중 하나를 지정할 수 있습니다(필드 값도 나열되어 있음). 키워드는 ICMP 유형별로 그룹화되어 있으며 이는 다음과 관련이 있습니다.
|
|
|
ICMP 패킷 유형 필드입니다. 일반적으로 이 일치 조건을 match 문과 숫자 값 대신 다음 텍스트 동의어 중 하나를 지정할 수 있습니다(필드 값도 나열됨 |
|
|
총 IP 패킷 길이입니다. |
|
|
TCP 또는 UDP 소스 또는 대상 포트 필드입니다. 동일한 용어에서 일치 조건과 숫자 값 대신 아래에 나열된 |
|
|
IP 프로토콜 필드입니다. 숫자 값 대신 (8), 이 일치 조건은 모드를 위해 구성된 향상된 MPC가 있는 Junos 디바이스에서만 IPv6에 대해 지원됩니다 |
|
|
IP 원본 주소 필드입니다. 모드를 위해 |
|
|
TCP 또는 UDP 소스 포트 필드입니다. 동일한 용어에 및 숫자 필드 대신 아래에 나열된 |
|
|
TCP 헤더 형식입니다. |
플로우 경로에 대한 작업
패킷이 플로우 경로에 구성한 조건과 일치할 경우 수행할 작업을 지정할 수 있습니다. 작업을 구성하려면 계층 수준에서 [edit routing-options flow] 문을 포함 then 합니다.
표 2 에는 플로우 경로 작업에 대한 설명이 나와 있습니다.
| 작업 또는 작업 수정자 |
설명 |
|---|---|
| 작업 | |
|
|
패킷을 수락합니다. 이것이 기본값입니다. |
|
|
인터넷 제어 메시지 프로토콜(ICMP) 메시지를 보내지 않고 조용히 패킷을 버립니다. |
|
|
경로의 모든 커뮤니티를 지정된 커뮤니티로 대체합니다. |
| 마크 value |
이 플로우와 일치하는 트래픽에 대해 DSCP 값을 설정합니다. 0에서 63 사이의 값을 지정합니다. 이 작업은 모드를 위해 구성된 업그레이드 MPC가 있는 Junos 디바이스에서만 지원됩니다 |
|
|
평가를 위해 다음 일치 조건으로 계속 진행합니다. |
|
|
패킷이 전달되는 라우팅 인스턴스를 지정합니다. |
|
|
플로우 경로에서 대역폭을 제한합니다. 초당 비트 수(bps)로 제한을 표현합니다. Junos OS 릴리스 16.1R4부터 속도 제한 범위는 [0에서 10000000000000까지 ]입니다. |
|
|
플로우 경로에서 트래픽을 샘플링합니다. |
플로우 경로 검증
Junos OS는 검증 절차를 사용하여 검증된 플로우 라우팅 테이블에만 플로우 경로를 설치합니다. 라우팅 엔진은 플로우 라우팅 테이블에 경로를 설치하기 전에 검증을 수행합니다.
BGP NLRI(Network Layer Reachability Information) 메시지를 사용하여 수신된 플로우 경로는 플로우 기본 인스턴스 라우팅 테이블 instance.inetflow.0에 설치되기 전에 검증됩니다. 검증 절차는 draft-ietf-idr-flow-spec-09.txt, 플로우 사양 규칙의 보급에 설명되어 있습니다. BGP NLRI 메시지를 사용하여 플로우 경로에 대한 검증 프로세스를 우회하고 고유한 특정 가져오기 정책을 사용할 수 있습니다.
검증 작업을 추적하려면 계층 수준에서 [edit routing-options flow] 명령문을 포함 validation 합니다.
BGP 플로우 사양 알고리즘 버전 7 이상에 대한 지원
기본적으로 Junos OS는 BGP 플로우 사양 초안의 버전 6에 정의된 용어 순서 알고리즘을 사용합니다. Junos OS 릴리스 10.0 이상에서는 BGP 플로우 사양의 버전 7에서 처음 정의되고 RFC 5575, 플로우 사양 경로의 보급을 통해 지원되는 용어 순서 알고리즘을 준수하도록 라우터를 구성할 수 있습니다.
BGP 플로우 사양 초안의 버전 7에 처음 정의된 용어 순서 알고리즘을 사용하도록 Junos OS를 구성하는 것이 좋습니다. 또한 라우터에 구성된 모든 라우팅 인스턴스에서 동일한 용어 순서 알고리즘을 사용하도록 Junos OS를 구성하는 것이 좋습니다.
인터넷 초안 버전 7에서 처음 정의된 플로우 사양 알고리즘을 사용하도록 BGP를 구성하려면 계층 수준에서 문을 포함 standard 합니다 [edit routing-options flow term-order] .
버전 6에 정의된 용어 순서 알고리즘을 사용하도록 되돌리려면 계층 수준에서 [edit routing-options flow term-order] 문을 포함 legacy 합니다.
구성된 용어 순서는 로컬에서만 적용됩니다. 즉, 용어 순서가 원격 BGP 피어로 전송되는 플로우 경로와 함께 전파되지 않으며, 원격 BGP 피어의 용어 순서는 전적으로 자체 용어 순서 구성에 따라 결정됩니다. 따라서 원격 피어의 용어 순서 구성을 알지 못하는 경우 순서 종속 작업을 next term 구성할 때 주의해야 합니다. 로컬 next term 은 원격 피어에서 구성된 것과 next term 다를 수 있습니다.
Junos OS Evolved에서는 작업 next term 의 마지막 용어로 표시될 수 없습니다. 작업으로 지정되었지만 구성된 일치 조건이 없는 필터 용어 next term 는 지원되지 않습니다.
Junos OS 릴리스 16.1부터 특정 인터페이스에서 수신되는 트래픽에 필터를 flowspec 적용하지 않는 옵션을 사용할 수 있습니다. 이러한 특정 인터페이스에서 수신된 모든 패킷을 수락하는 필터의 flowspec 시작 부분에 새 용어가 추가됩니다. 이 새로운 용어는 플로우 사양 필터의 일부로 포워딩 테이블 필터에 첨부된 용어의 제외 목록을 생성하는 변수입니다.
특정 인터페이스에서 수신되는 트래픽에 필터가 적용되지 않도록 제외 flowspec 하려면 먼저 계층 수준에서 [edit interfaces] 패밀리 inet 필터 그룹 group-id 문을 포함하여 해당 인터페이스에서 a group-id 를 구성한 다음 계층 수준에서 [edit routing-options] 문을 포함하여 flow interface-group group-id exclude 인터페이스 그룹과 필터를 연결 flowspec 해야 합니다. 문을 사용하여 set routing-options flow interface-group group-id 라우팅 인스턴스당 하나 group-id 만 구성할 수 있습니다.
또한보십시오
예: 플로우 사양 경로를 전달하기 위한 BGP 활성화
이 예는 BGP가 플로우 사양 NLRI(Network Layer Reachability Information) 메시지를 전송하도록 허용하는 방법을 보여줍니다.
요구 사항
시작하기 전에:
디바이스 인터페이스를 구성합니다.
내부 게이트웨이 프로토콜(IGP)을 구성합니다.
BGP를 구성합니다.
라우팅 라우팅 테이블에서 BGP로 경로(예: 직접 경로 또는 IGP 경로)를 내보내는 라우팅 정책을 구성합니다.
개요
방화벽 필터 정보를 BGP의 일부로 전파하면 AS(Autonomous System) 전반에서 서비스 거부(DOS) 공격으로부터 방화벽 필터를 동적으로 전파할 수 있습니다. 플로우 경로는 플로우 사양 NLRI에 캡슐화되고 네트워크 또는 가상 프라이빗 네트워크(VPN)를 통해 전달되어 필터와 유사한 정보를 공유합니다. 플로우 경로는 패킷에 대한 결과 작업과 일치 조건의 어그리게이션입니다. 방화벽 필터와 같은 트래픽 필터링 및 속도 제한 기능을 제공합니다. 유니캐스트 플로우 경로는 기본 인스턴스, VPN 라우팅 및 포워딩(VRF) 인스턴스, 가상 라우터 인스턴스에 지원됩니다.
내보내기 및 가져오기 정책은 패밀리 inet flow 또는 패밀리 inet-vpn flow NLRI에 적용될 수 있으며, 허용 및 보급된 플로우 경로에 영향을 주며, 이는 내보내기 정책이 다른 BGP 패밀리에 적용되는 방식과 유사합니다. 유일한 차이는 플로우 정책 구성에 from rib inetflow.0 명령문이 포함되어야 한다는 점입니다. 이 명령문은 정책이 플로우 경로에 적용되도록 합니다. 정책에 OR 문 then accept 만 then reject 있고 문이 없는 from 경우 이 규칙에 예외가 발생합니다. 그런 다음 해당 정책은 IP 유니캐스트 및 IP 플로우를 포함한 모든 경로에 영향을 미칩니다.
플로우 경로 필터는 수행할 작업에 이어지는 일치하는 기준 집합과 함께 먼저 라우터에 정적으로 구성됩니다. 그런 다음, family inet unicast이 BGP 지원 디바이스와 해당 피어 간에 , family inet flow (또는 family inet-vpn flow)가 구성됩니다.
기본적으로 정적으로 구성된 플로우 경로(방화벽 필터)는 OR family inet-vpn flow NLRI를 지원하는 다른 BGP 지원 디바이스에 보급됩니다.family inet flow
수신 BGP 지원 디바이스는 방화벽 필터를 플로우 라우팅 테이블 instance-name.inetflow.0에 설치하기 전에 확인 프로세스를 수행합니다. 검증 절차는 RFC 5575, 플로우 사양 규칙의 보급에 설명되어 있습니다.
수신 BGP 활성화 디바이스는 다음 기준을 통과하는 플로우 경로를 수락합니다.
플로우 경로의 원본자가 경로에 내장된 목적지 주소에 가장 일치하는 유니캐스트 경로의 원본자와 일치합니다.
플로우 경로의 목적지 주소와 비교했을 때 더 구체적인 유니캐스트 경로가 없으며, 따라서 다른 다음 홉 AS(Autonomous System)로부터 활성 경로를 수신했습니다.
첫 번째 기준은 플로우 경로에 내장된 목적지 주소에 대해 유니캐스트 포워딩에서 사용하는 다음 홉을 통해 필터가 보급되도록 보장합니다. 예를 들어, 플로우 경로가 10.1.1.1, proto=6, port=80으로 주어진 경우, 수신 BGP 지원 디바이스는 대상 접두사 10.1.1.1/32와 일치하는 유니캐스트 라우팅 테이블에서 보다 구체적인 유니캐스트 경로를 선택합니다. 10.1/16 및 10.1.1/24를 포함하는 유니캐스트 라우팅 테이블에서 후자는 비교할 유니캐스트 경로로 선택됩니다. 활성 유니캐스트 경로 항목만 고려됩니다. 이는 최상의 유니캐스트 경로 원본자에 의해 보급되는 경우 플로우 경로가 유효하다는 개념을 따릅니다.
두 번째 기준은 주어진 주소 블록이 다른 엔터티에 할당되는 상황을 해결합니다. 집계 경로인 가장 일치하는 유니캐스트 경로로 해결되는 플로우는 다른 다음 홉 AS(Autonomous System)로 라우팅되는 보다 구체적인 경로를 적용하지 않는 경우에만 허용됩니다.
BGP NLRI 메시지를 사용하여 플로우 경로에 대한 검증 프로세스를 우회하고 고유한 특정 가져오기 정책을 사용할 수 있습니다. BGP가 플로우 사양 NLRI 메시지를 전달하는 경우, no-validate 패킷이 정책에 의해 수락된 후 계층 수준의 문 [edit protocols bgp group group-name family inet flow] 은 플로우 경로 검증 절차를 생략합니다. 내보내기 정책을 목적지 주소 및 커뮤니티, 다음 홉 및 AS 경로와 같은 경로 속성에 일치하도록 구성할 수 있습니다. 패킷이 플로우 경로에 구성한 조건과 일치할 경우 수행할 작업을 지정할 수 있습니다. 작업을 구성하려면 계층 수준에서 [edit routing-options flow] 문을 포함합니다. 플로우 사양 NLRI 유형에는 RFC 5575에 정의된 대로 목적지 접두사, 원본 접두사, 프로토콜 및 포트와 같은 구성 요소가 포함됩니다. 내보내기 정책은 플로우 사양 NLRI 내의 경로 속성 및 목적지 주소를 사용하여 인바운드 경로를 필터링할 수 있습니다. 내보내기 정책은 RFC 5575의 다른 구성 요소를 필터링할 수 없습니다.
플로우 사양은 IPv4 유니캐스트 및 VPN 유니캐스트 필터링의 가장 일반적인 애플리케이션을 처리하는 데 필요한 프로토콜 확장을 정의합니다. 동일한 메커니즘을 재사용할 수 있으며 다른 BGP 주소 패밀리(예: IPv6 유니캐스트)에 대한 주소 유사 필터링에 새로운 일치 기준이 추가됩니다.
플로우 경로가 테이블에 inetflow.0 설치된 후에는 커널의 방화벽 필터 목록에도 추가됩니다.
라우터에 한하여 플로우 사양 NLRI 메시지는 VPN에서 지원됩니다. VPN은 NLRI의 route target 확장 커뮤니티를 가져오기 정책과 비교합니다. 일치하는 항목이 있는 경우 VPN은 플로우 경로를 사용하여 패킷 트래픽을 필터링하고 속도를 제한할 수 있습니다. 수신된 플로우 경로는 플로우 라우팅 테이블instance-name.inetflow.0에 설치됩니다. 플로우 경로는 또한 VPN 네트워크 전체에 전파되고 VPN 간에 공유될 수 있습니다. 멀티프로토콜 BGP(MP-BGP)가 주소 패밀리에 대한 inet-vpn 플로우 사양 NLRI를 전송하도록 하려면 계층 수준에서 [edit protocols bgp group group-name family inet-vpn] 문을 포함 flow 합니다. VPN 플로우 경로는 기본 인스턴스에서만 지원됩니다. family inet-vpn 가 있는 VPN에 대해 구성된 플로우 경로는 자동으로 검증되지 않으므로 no-validate 문은 계층 수준에서 [edit protocols bgp group group-name family inet-vpn] 지원되지 않습니다. 플로우 경로가 단일 AS의 디바이스 간에 로컬로 구성된 경우에는 검증이 필요하지 않습니다.
가져오기 및 내보내기 정책은 또는 NLRI에 family inet flow family inet-vpn flow 적용될 수 있으며, 내보내기 및 가져오기 정책이 다른 BGP 패밀리에 적용되는 방식과 유사하게 허용되거나 보급되는 플로우 경로에 영향을 미칩니다. 유일한 차이는 플로우 정책 구성에 명령문이 포함되어야 한다는 점입니다.from rib inetflow.0 이 명령문은 정책이 플로우 경로에 적용되도록 합니다. 정책에 OR 문 then accept 만 then reject 있고 문이 없는 from 경우 이 규칙에 예외가 발생합니다. 그런 다음 해당 정책은 IP 유니캐스트 및 IP 플로우를 포함한 모든 경로에 영향을 미칩니다.
이 예제는 다음과 같은 내보내기 정책을 구성하는 방법을 보여줍니다.
경로 필터로 지정된 플로우 경로의 보급을 허용하는 정책입니다. 10.13/16 블록이 적용되는 플로우 경로만 보급됩니다. 이 정책은 유니캐스트 경로에 영향을 주지 않습니다.
모든 유니캐스트 및 플로우 경로가 인접 라우터에 보급되도록 허용하는 정책입니다.
모든 경로(유니캐스트 또는 플로우)가 인접 라우터에 보급되도록 허용하지 않는 정책입니다.
토폴로지
구성
- 정적 플로우 경로 구성
- 경로 필터로 지정된 플로우 경로 보급하기
- 모든 유니캐스트 및 플로우 경로 보급하기
- 유니캐스트 또는 플로우 경로 보급하지 않기
- 라우팅 테이블에 설치된 플로우 경로 수 제한하기
- BGP 피어링 세션에서 수신되는 접두사 수 제한
정적 플로우 경로 구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣습니다.
set routing-options flow route block-10.131.1.1 match destination 10.131.1.1/32 set routing-options flow route block-10.131.1.1 match protocol icmp set routing-options flow route block-10.131.1.1 match icmp-type echo-request set routing-options flow route block-10.131.1.1 then discard set routing-options flow term-order standard
단계별 절차
다음 예에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
BGP 피어 세션 구성:
일치 조건을 구성합니다.
[edit routing-options flow route block-10.131.1.1] user@host# set match destination 10.131.1.1/32 user@host# set match protocol icmp user@host# set match icmp-type echo-request
작업을 구성합니다.
[edit routing-options flow route block-10.131.1.1] user@host# set then discard
(권장) 플로우 사양 알고리즘의 경우, 표준 기반 기간 순서를 구성합니다.
[edit routing-options flow] user@host# set term-order standard
플로우 사양 RFC 초안 버전 6에 명시된 대로, 기본 용어 순서 알고리즘에서는 덜 구체적인 일치 조건의 용어가 항상 더 구체적인 일치 조건의 용어보다 먼저 평가됩니다. 이로 인해 더 구체적인 일치 조건이 있는 기간은 평가되지 않습니다. RFC 5575의 버전 7은 덜 구체적인 일치 조건에 앞서 더 구체적인 일치 조건이 평가되도록 알고리즘을 개정했습니다. 이전 버전과의 호환성을 위해, 신규 알고리즘이 더 적절하더라도 Junos OS에서 기본 동작은 변경되지 않습니다. 최신 알고리즘을 사용하려면 구성에 문을 포함
term-order standard합니다. 이 명령문은 Junos OS 릴리스 10.0 이상에서 지원됩니다.
결과
구성 모드에서 명령을 입력하여 구성을 확인합니다. show routing-options 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정합니다.
[edit]
user@host# show routing-options
flow {
term-order standard;
route block-10.131.1.1 {
match {
destination 10.131.1.1/32;
protocol icmp;
icmp-type echo-request;
}
then discard;
}
}
디바이스 구성이 완료되면 구성 모드에서 들어갑니다 commit .
경로 필터로 지정된 플로우 경로 보급하기
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣습니다.
set protocols bgp group core family inet unicast set protocols bgp group core family inet flow set protocols bgp group core export p1 set protocols bgp group core peer-as 65000 set protocols bgp group core neighbor 10.12.99.5 set policy-options policy-statement p1 term a from rib inetflow.0 set policy-options policy-statement p1 term a from route-filter 10.13.0.0/16 orlonger set policy-options policy-statement p1 term a then accept set policy-options policy-statement p1 term b then reject set routing-options autonomous-system 65001
단계별 절차
다음 예에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
BGP 피어 세션 구성:
BGP 그룹을 구성합니다.
[edit protocols bgp group core] user@host# set family inet unicast user@host# set family inet flow user@host# set export p1 user@host# set peer-as 65000 user@host# set neighbor 10.12.99.5
플로우 정책을 구성합니다.
[edit policy-options policy-statement p1] user@host# set term a from rib inetflow.0 user@host# set term a from route-filter 10.13.0.0/16 orlonger user@host# set term a then accept user@host# set term b then reject
로컬 AS(Autonomous System) 번호를 구성합니다.
[edit routing-options] user@host# set autonomous-system 65001
결과
구성 모드에서 , show policy-options및 show routing-options 명령을 show protocols입력하여 구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정합니다.
[edit]
user@host# show protocols
bgp {
group core {
family inet {
unicast;
flow;
}
export p1;
peer-as 65000;
neighbor 10.12.99.5;
}
}
[edit]
user@host# show policy-options
policy-statement p1 {
term a {
from {
rib inetflow.0;
route-filter 10.13.0.0/16 orlonger;
}
then accept;
}
term b {
then reject;
}
}
[edit] user@host# show routing-options autonomous-system 65001;
디바이스 구성이 완료되면 구성 모드에서 들어갑니다 commit .
모든 유니캐스트 및 플로우 경로 보급하기
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣습니다.
set protocols bgp group core family inet unicast set protocols bgp group core family inet flow set protocols bgp group core export p1 set protocols bgp group core peer-as 65000 set protocols bgp group core neighbor 10.12.99.5 set policy-options policy-statement p1 term a then accept set routing-options autonomous-system 65001
단계별 절차
다음 예에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
BGP 피어 세션 구성:
BGP 그룹을 구성합니다.
[edit protocols bgp group core] user@host# set family inet unicast user@host# set family inet flow user@host# set export p1 user@host# set peer-as 65000 user@host# set neighbor 10.12.99.5
플로우 정책을 구성합니다.
[edit policy-options policy-statement p1] user@host# set term a then accept
로컬 AS(Autonomous System) 번호를 구성합니다.
[edit routing-options] user@host# set autonomous-system 65001
결과
구성 모드에서 , show policy-options및 show routing-options 명령을 show protocols입력하여 구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정합니다.
[edit]
user@host# show protocols
bgp {
group core {
family inet {
unicast;
flow;
}
export p1;
peer-as 65000;
neighbor 10.12.99.5;
}
}
[edit]
user@host# show policy-options
policy-statement p1 {
term a {
prefix-list inetflow;
}
then accept;
}
}
[edit] user@host# show routing-options autonomous-system 65001;
디바이스 구성이 완료되면 구성 모드에서 들어갑니다 commit .
유니캐스트 또는 플로우 경로 보급하지 않기
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣습니다.
set protocols bgp group core family inet unicast set protocols bgp group core family inet flow set protocols bgp group core export p1 set protocols bgp group core peer-as 65000 set protocols bgp group core neighbor 10.12.99.5 set policy-options policy-statement p1 term a then reject set routing-options autonomous-system 65001
단계별 절차
다음 예에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
BGP 피어 세션 구성:
BGP 그룹을 구성합니다.
[edit protocols bgp group core] user@host# set family inet unicast user@host# set family inet flow user@host# set export p1 user@host# set peer-as 65000 user@host# set neighbor 10.12.99.5
플로우 정책을 구성합니다.
[edit policy-options policy-statement p1] user@host# set term a then reject
로컬 AS(Autonomous System) 번호를 구성합니다.
[edit routing-options] user@host# set autonomous-system 65001
결과
구성 모드에서 , show policy-options및 show routing-options 명령을 show protocols입력하여 구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정합니다.
[edit]
user@host# show protocols
bgp {
group core {
family inet {
unicast;
flow;
}
export p1;
peer-as 65000;
neighbor 10.12.99.5;
}
}
[edit]
user@host# show policy-options
policy-statement p1 {
term a {
then reject;
}
}
[edit] user@host# show routing-options autonomous-system 65001;
디바이스 구성이 완료되면 구성 모드에서 들어갑니다 commit .
라우팅 테이블에 설치된 플로우 경로 수 제한하기
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣습니다.
set routing-options rib inetflow.0 maximum-prefixes 1000 set routing-options rib inetflow.0 maximum-prefixes threshold 50
단계별 절차
다음 예에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
경로 제한을 적용하면 예측 불가능한 동적 경로 프로토콜 동작이 발생할 수 있습니다. 예를 들어 제한에 도달하고 경로가 거부되면, 경로 수가 제한 아래로 떨어진 이후에는 BGP가 거부된 경로의 재설치를 반드시 시도하지는 않습니다. 이 문제를 해결하기 위해 BGP 세션을 삭제해야 할 수도 있습니다.
플로우 경로를 제한하려면:
테이블에
inetflow.0설치된 접두사 수에 대한 상한선을 설정합니다.[edit routing-options rib inetflow.0] user@host# set maximum-prefixes 1000
50%의 임계값을 설정하여 500개의 경로가 설치되었을 때 시스템 로그에 경고가 기록됩니다.
[edit routing-options rib inetflow.0] user@host# set maximum-prefixes threshold 50
결과
구성 모드에서 명령을 입력하여 구성을 확인합니다. show routing-options 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정합니다.
[edit]
user@host# show routing-options
rib inetflow.0 {
maximum-prefixes 1000 threshold 50;
}
디바이스 구성이 완료되면 구성 모드에서 들어갑니다 commit .
BGP 피어링 세션에서 수신되는 접두사 수 제한
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경한 다음, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣습니다.
set protocols bgp group x1 neighbor 10.12.99.2 family inet flow prefix-limit maximum 1000 set protocols bgp group x1 neighbor 10.12.99.2 family inet flow prefix-limit teardown 50 set protocols bgp group x1 neighbor 10.12.99.2 family inet flow prefix-limit drop-excess 50 set protocols bgp group x1 neighbor 10.12.99.2 family inet flow prefix-limit hide-excess 50
, drop-excess <percentage>또는 hide-excess<percentage> 문 옵션을 한 번에 하나씩 포함teardown <percentage>할 수 있습니다.
단계별 절차
다음 예에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 정보는 Junos OS CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
특정 인접 디바이스에 대한 접두사 제한을 구성하면 어떤 피어가 얼마나 많은 플로우 경로를 보급할 수 있는지를 보다 예측 가능한 제어가 가능합니다.
접두사 수를 제한하려면:
인접 10.12.99.2에서 BGP 경로 제한을 1000개로 설정합니다.
[edit protocols bgp group x1] user@host# set neighbor 10.12.99.2 family inet flow prefix-limit maximum 1000
-
세션 또는 접두사가 제한에 도달하면 인
drop-excess <percentage>접 세션 또는 접두사가 , , 또는hide-excess<percentage>문 옵션을 수행teardown <percentage>하도록 구성합니다.[edit routing-options rib inetflow.0] user@host# set neighbor 10.12.99.2 family inet flow prefix-limit teardown 50 set neighbor 10.12.99.2 family inet flow prefix-limit drop-excess 50 set neighbor 10.12.99.2 family inet flow prefix-limit hide-excess 50
명령문을 지정
teardown <percentage>하고 비율을 지정하면 접두사 수가 해당 비율에 도달할 때 메시지가 기록됩니다. 세션이 종료된 후에는 문을 포함idle-timeout하지 않는 한 세션이 짧은 시간 내에 다시 설정됩니다.명령문을 지정
drop-excess <percentage>하고 비율을 지정하면 접두사 수가 해당 비율을 초과할 때 초과된 경로가 삭제됩니다명령문을 지정
hide-excess <percentage>하고 비율을 지정하면 접두사 수가 해당 비율을 초과할 때 초과 경로가 숨겨집니다.
결과
구성 모드에서 명령을 입력하여 구성을 확인합니다. show protocols 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정합니다.
[edit]
user@host# show protocols
bgp {
group x1 {
neighbor 10.12.99.2 {
flow {
prefix-limit {
maximum 1000;
teardown 50;
drop-excess <percentage>;
hide-excess <percentage>;
}
}
}
}
}
}
디바이스 구성이 완료되면 구성 모드에서 들어갑니다 commit .
검증
구성이 제대로 작동하고 있는지 확인합니다.
- NLRI 검증
- 경로 확인
- 플로우 검증 확인
- 방화벽 필터 확인
- 허용된 플로우 경로 수 초과 시 시스템 로깅 확인하기
- BGP 피어링 세션에서 수신된 접두사 수 초과 시 시스템 로깅 확인하기
NLRI 검증
목적
neighbor에 대해 활성화된 NLRI를 보십시오.
작업
운영 모드에서 명령을 실행합니다 show bgp neighbor 10.12.99.5 . 출력에서 찾습니다 inet-flow .
user@host> show bgp neighbor 10.12.99.5 Peer: 10.12.99.5+3792 AS 65000 Local: 10.12.99.6+179 AS 65002 Type: External State: Established Flags: <Sync> Last State: OpenConfirm Last Event: RecvKeepAlive Last Error: None Export: [ direct ] Options: <Preference HoldTime AddressFamily PeerAS Refresh> Address families configured: inet-unicast inet-multicast inet-flow Holdtime: 90 Preference: 170 Number of flaps: 1 Error: 'Cease' Sent: 0 Recv: 1 Peer ID: 10.255.71.161 Local ID: 10.255.124.107 Active Holdtime: 90 Keepalive Interval: 30 Peer index: 0 Local Interface: e1-3/0/0.0 NLRI advertised by peer: inet-unicast inet-multicast inet-flow NLRI for this session: inet-unicast inet-multicast inet-flow Peer supports Refresh capability (2) Table inet.0 Bit: 10000 RIB State: BGP restart is complete Send state: in sync Active prefixes: 2 Received prefixes: 2 Suppressed due to damping: 0 Advertised prefixes: 3 Table inet.2 Bit: 20000 RIB State: BGP restart is complete Send state: in sync Active prefixes: 0 Received prefixes: 0 Suppressed due to damping: 0 Advertised prefixes: 0 Table inetflow.0 Bit: 30000 RIB State: BGP restart is complete Send state: in sync Active prefixes: 0 Received prefixes: 0 Suppressed due to damping: 0 Advertised prefixes: 0 Last traffic (seconds): Received 29 Sent 15 Checked 15 Input messages: Total 5549 Updates 2618 Refreshes 0 Octets 416486 Output messages: Total 2943 Updates 1 Refreshes 0 Octets 55995 Output Queue[0]: 0 Output Queue[1]: 0 Output Queue[2]: 0
경로 확인
목적
플로우 경로를 보십시오. 샘플 출력에는 BGP에서 학습된 플로우 경로 및 정적으로 구성된 플로우 경로가 표시됩니다.
로컬로 구성된 플로우 경로(계층 수준에서 [edit routing-options flow] 구성)의 경우, 경로는 플로우 프로토콜에 의해 설치됩니다. 따라서, 또는 와 instance-name 같이 show route table inetflow.0 show route table instance-name.inetflow.0테이블을 지정하여 플로우 경로를 표시할 수 있습니다. 여기서 라우팅 인스턴스 이름은 입니다. 또는, 명령을 show route protocol flow 실행하여 여러 라우팅 인스턴스에 로컬 구성된 모든 플로우 경로를 표시할 수 있습니다.
플로우 경로가 로컬로 구성되지 않았지만 라우터의 BGP 피어에서 수신되는 경우, 이 플로우 경로는 BGP에 의해 라우팅 테이블에 설치됩니다. 테이블을 지정하거나 모든 BGP 경로(플로우 및 비 플로우)를 표시하는 를 실행하여 show route protocol bgp플로우 경로를 표시할 수 있습니다.
작업
운영 모드에서 명령을 실행합니다 show route table inetflow.0 .
user@host> show route table inetflow.0
inetflow.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
100.100.100.100,*,proto=1,icmp-type=8/term:1
*[BGP/170] 00:00:18, localpref 100, from 100.0.12.2
AS path: 2000 I, validation-state: unverified
Fictitious
200.200.200.200,*,proto=6,port=80/term:2
*[BGP/170] 00:00:18, localpref 100, from 100.0.12.2
AS path: 2000 I, validation-state: unverified
Fictitious
user@host> show route table inetflow.0 extensive
inetflow.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
7.7.7.7,8.8.8.8/term:1 (1 entry, 1 announced)
TSI:
KRT in dfwd;
Action(s): accept,count
*Flow Preference: 5
Next hop type: Fictitious
Address: 0x8d383a4
Next-hop reference count: 3
State: <Active>
Local AS: 65000
Age: 9:50
Task: RT Flow
Announcement bits (1): 0-Flow
AS path: I
user@host> show route hidden
inetflow.0: 2 destinations, 2 routes (0 active, 0 holddown, 2 hidden)
+ = Active Route, - = Last Active, * = Both
100.100.100.100,*,proto=1,icmp-type=8/term:N/A
[BGP ] 00:00:17, localpref 100, from 100.0.12.2
AS path: 2000 I, validation-state: unverified
Fictitious
200.200.200.200,*,proto=6,port=80/term:N/A
[BGP ] 00:00:17, localpref 100, from 100.0.12.2
AS path: 2000 I, validation-state: unverified
Fictitious
의미
플로우 경로는 방화벽 필터의 용어를 나타냅니다. 플로우 경로를 구성할 때는 일치 조건과 작업을 지정합니다. 일치 속성에서는 소스 주소, 목적지 주소 및 포트와 프로토콜과 같은 기타 한정자를 일치시킬 수 있습니다. 여러 일치 조건을 포함하는 단일 플로우 경로의 경우, 모든 일치 조건은 경로의 접두사 필드에 캡슐화됩니다. 플로우 경로에서 명령을 실행 show route 하면 경로의 접두사 필드가 모든 일치 조건과 함께 표시됩니다. 10.12.44.1,* 일치하는 조건이 match destination 10.12.44.1/32. 출력의 접두사가 *,10.12.44.1인 경우, 이는 일치 조건 match source 10.12.44.1/32이 . 일치하는 조건에 원본과 대상이 모두 포함된 경우, 별표는 주소로 대체됩니다.
용어 순서 번호는 방화벽 필터에서 평가되는 기간(플로우 경로)의 시퀀스를 나타냅니다. 이 명령은 show route extensive 각 기간(경로)에 대한 작업을 표시합니다.
플로우 검증 확인
목적
플로우 경로 정보를 표시합니다.
작업
운영 모드에서 명령을 실행합니다 show route flow validation detail .
user@host> show route flow validation detail
inet.0:
0.0.0.0/0
Internal node: best match, inconsistent
10.0.0.0/8
Internal node: no match, inconsistent
10.12.42.0/24
Internal node: no match, consistent, next-as: 65003
Active unicast route
Dependent flow destinations: 1
Origin: 10.255.124.106, Neighbor AS: 65003
10.12.42.1/32
Flow destination (1 entries, 1 match origin)
Unicast best match: 10.12.42.0/24
Flags: Consistent
10.131.0.0/16
Internal node: no match, consistent, next-as: 65001
Active unicast route
Dependent flow destinations: 5000
Origin: 10.12.99.2, Neighbor AS: 65001
10.131.0.0/19
Internal node: best match
10.131.0.0/20
Internal node: best match
10.131.0.0/21
방화벽 필터 확인
목적
커널에 설치된 방화벽 필터를 표시합니다.
작업
운영 모드에서 명령을 실행합니다 show firewall .
user@host> show firewall Filter: __default_bpdu_filter__ Filter: __flowspec_default_inet__ Counters: Name Bytes Packets 10.12.42.1,* 0 0 196.1.28/23,* 0 0 196.1.30/24,* 0 0 196.1.31/24,* 0 0 196.1.32/24,* 0 0 196.1.56/21,* 0 0 196.1.68/24,* 0 0 196.1.69/24,* 0 0 196.1.70/24,* 0 0 196.1.75/24,* 0 0 196.1.76/24,* 0 0
허용된 플로우 경로 수 초과 시 시스템 로깅 확인하기
목적
라우팅 테이블에 설치된 플로우 경로 수 제한에 설명된 대로 설치된 플로우 경로 수에 대한 제한을 구성하는 경우 임계값에 도달하면 시스템 로그 메시지를 확인합니다.
작업
운영 모드에서 명령을 실행합니다 show log <message> .
user@host> show log message Jul 12 08:19:01 host rpd[2748]: RPD_RT_MAXROUTES_WARN: Number of routes (1000) in table inetflow.0 exceeded warning threshold (50 percent of configured maximum 1000)
BGP 피어링 세션에서 수신된 접두사 수 초과 시 시스템 로깅 확인하기
목적
BGP 피어링 세션에서 수신되는 접두사 수 제한에 설명된 대로 설치된 플로우 경로 수에 대한 제한을 구성하는 경우 임계값에 도달하면 시스템 로그 메시지를 확인합니다.
작업
운영 모드에서 명령을 실행합니다 show log message .
문 옵션을 지정하는 teradown <percentage> 경우:
user@host> show log message Jul 12 08:44:47 host rpd[2748]: 10.12.99.2 (External AS 65001): Shutting down peer due to exceeding configured maximum prefix-limit(1000) for inet-flow nlri: 1001
문 옵션을 지정하는 drop-excess <percentage> 경우:
user@host> show log message Jul 27 15:26:57 R1_re rpd[32443]: BGP_DROP_PREFIX_LIMIT_EXCEEDED: 1.1.1.2 (Internal AS 1): Exceeded drop-excess maximum prefix-limit(4) for inet-unicast nlri: 5 (instance master)
문 옵션을 지정하는 hide-excess <percentage> 경우:
user@host> show log message Jul 27 15:26:57 R1_re rpd[32443]: BGP_HIDE_PREFIX_LIMIT_EXCEEDED: 1.1.1.2 (Internal AS 1): Exceeded hide-excess maximum prefix-limit(4) for inet-unicast nlri: 5 (instance master)
예: IPv6 flow 사양 경로를 전달하도록 BGP 구성
이 예에서는 트래픽 필터링을 위해 IPv6 flow 사양을 구성하는 방법을 보여 줍니다. BGP flow 사양은 서비스 거부 공격을 완화하기 위해 트래픽 필터링 규칙의 도메인 간 및 도메인 내의 조정을 자동화하는 데 사용할 수 있습니다.
요구 사항
이 예에서 사용되는 하드웨어 및 소프트웨어 구성 요소는 다음과 같습니다.
-
MX 시리즈 라우터 2개
-
Junos OS 릴리스 16.1 이상
BGP가 IPv6 flow 사양 경로를 전달하도록 활성화하기 전에:
-
디바이스 인터페이스에서 IP 주소를 구성합니다.
-
BGP를 구성합니다.
-
라우팅 라우팅 테이블에서 BGP로 경로(예: 정적 경로, 직접 경로 또는 IGP 경로)를 내보내는 라우팅 정책 정책을 구성합니다.
개요
플로우 사양은 서비스 거부 공격에 대한 보호를 제공하고 소스 근처에서 대역폭을 소비하고 중단하는 불량 트래픽을 제한합니다. 이전 Junos OS 릴리스에서는 IPv4 over BGP에 대한 플로우 사양 규칙이 네트워크 레이어 연결성 정보로 전파되었습니다. Junos OS 릴리스 16.1부터 플로우 사양 기능은 IPv6 제품군에서 지원되며 IPv6 및 IPv6 VPN에 대한 트래픽 플로우 사양 규칙을 전파할 수 있습니다.
토폴로지
그림 7은 샘플 토폴로지를 보여줍니다. 라우터 R1과 라우터 R2는 서로 다른 AS(Autonomous System)에 속합니다. IPv6 flow 사양은 라우터 R2에서 구성됩니다. 유입되는 모든 트래픽은 flow 사양 조건에 따라 필터링되며, 지정된 조치에 따라 트래픽이 다르게 처리됩니다. 이 예에서 flow 사양 조건과 일치하는 abcd::11:11:11:10/128로 향하는 모든 트래픽은 삭제됩니다. 반면, abcd::11:11:11:30/128로 향하고 flow 사양 조건과 일치하는 트래픽은 허용됩니다.
전달하도록 BGP 구성
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 변경하고, 계층 수준에서 [edit] 명령을 복사하여 CLI에 붙여 넣은 다음, 구성 모드에서 들어갑니다 commit .
라우터 R1
set interfaces ge-1/1/4 unit 0 family inet6 address abcd::13:14:2:1/120 set interfaces lo0 unit 0 family inet6 address abcd::128:220:21:197/128 set routing-options router-id 128.220.21.197 set routing-options autonomous-system 64496 set protocols bgp group ebgp type external set protocols bgp group ebgp family inet6 unicast set protocols bgp group ebgp family inet6 flow set protocols bgp group ebgp peer-as 64497 set protocols bgp group ebgp neighbor abcd::13:14:2:2
라우터 R2
set interfaces ge-1/0/0 unit 0 family inet6 address abcd::192:2:1:1/120 set interfaces ge-1/1/5 unit 0 family inet6 address abcd::13:14:2:2/120 set interfaces lo0 unit 0 family inet6 address abcd::128:220:41:229/128 set routing-options rib inet6.0 static route abcd::11:11:11:0/120 next-hop abcd::192:2:1:2 set routing-options rib inet6.0 flow route route-1 match destination abcd::11:11:11:10/128 set routing-options rib inet6.0 flow route route-1 match protocol tcp set routing-options rib inet6.0 flow route route-1 match destination-port http set routing-options rib inet6.0 flow route route-1 match source-port 65535 set routing-options rib inet6.0 flow route route-1 then discard set routing-options rib inet6.0 flow route route-2 match destination abcd::11:11:11:30/128 set routing-options rib inet6.0 flow route route-2 match icmp6-type echo-request set routing-options rib inet6.0 flow route route-2 match packet-length 100 set routing-options rib inet6.0 flow route route-2 match dscp 10 set routing-options rib inet6.0 flow route route-2 then accept set routing-options router-id 128.220.41.229 set routing-options autonomous-system 64497 set protocols bgp group ebgp type external set protocols bgp group ebgp family inet6 unicast set protocols bgp group ebgp family inet6 flow set protocols bgp group ebgp export redis set protocols bgp group ebgp peer-as 64496 set protocols bgp group ebgp neighbor abcd::13:14:2:1 set policy-options policy-statement redis from protocol static set policy-options policy-statement redis then accept
라우터 R2 구성
단계별 절차
다음 예에서는 구성 계층에서 다양한 수준의 탐색이 필요합니다. CLI 탐색에 대한 정보는 CLI 사용자 가이드의 구성 모드에서 CLI 편집기 사용을 참조하십시오.
라우터 R2를 구성하려면 다음을 수행합니다.
적절한 인터페이스 이름, 주소 및 기타 매개 변수를 수정한 후 라우터 R1에 대해 이 절차를 반복합니다.
-
IPv6 주소로 인터페이스를 구성합니다.
[edit interfaces] user@R2# set ge-1/0/0 unit 0 family inet6 address abcd::192:2:1:1/120 user@R2# set ge-1/1/5 unit 0 family inet6 address abcd::13:14:2:2/120
-
IPv6 루프백 주소를 구성합니다.
[edit interfaces] user@R2# set lo0 unit 0 family inet6 address abcd::128:220:41:229/128
-
라우터 ID 및 AS(Autonomous System) 번호를 구성합니다.
[edit routing-options] user@R2# set router-id 128.220.41.229 user@R2# set autonomous-system 64497
-
라우터 R1과 라우터 R2 간에 EBGP 피어링 세션을 구성합니다.
[edit protocols] user@R2# set bgp group ebgp type external user@R2# set bgp group ebgp family inet6 unicast user@R2# set bgp group ebgp family inet6 flow user@R2# set bgp group ebgp export redis user@R2# set bgp group ebgp peer-as 64496 user@R2# set bgp group ebgp neighbor abcd::13:14:2:1
-
정적 경로와 다음 홉을 구성합니다. 따라서 이 예에서 기능을 확인하기 위해 경로가 라우팅 테이블에 추가됩니다.
[edit routing-options] user@R2# set rib inet6.0 static route abcd::11:11:11:0/120 next-hop abcd::192:2:1:2
-
flow 사양 조건을 지정합니다.
[edit routing-options] user@R2# set rib inet6.0 flow route route-1 match destination abcd::11:11:11:10/128 user@R2# set rib inet6.0 flow route route-1 match protocol tcp user@R2# set rib inet6.0 flow route route-1 match destination-port http user@R2# set rib inet6.0 flow route route-1 match source-port 65535
-
지정된 일치 조건과 일치하는 패킷을 폐기하는 작업을 구성 discard 합니다.
[edit routing-options] user@R2# set rib inet6.0 flow route route-1 then discard
-
flow 사양 조건을 지정합니다.
[edit routing-options] user@R2# set rib inet6.0 flow route route-2 match destination abcd::11:11:11:30/128 user@R2# set rib inet6.0 flow route route-2 match icmp6-type echo-request user@R2# set rib inet6.0 flow route route-2 match packet-length 100 user@R2# set rib inet6.0 flow route route-2 match dscp 10
-
지정된 일치 조건과 일치하는 패킷을 수락하도록 작업을 구성 accept 합니다
[edit routing-options] user@R2# set rib inet6.0 flow route route-2 then accept
-
BGP가 정적 경로를 수락하도록 정책을 정의합니다.
[edit policy-options] user@R2# set policy-statement redis from protocol static user@R2# set policy-statement redis then accept
결과
구성 모드에서 , show protocols, show routing-options및 show policy-options 명령을 show interfaces입력하여 구성을 확인합니다. 출력에 의도한 구성이 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정합니다.
[edit]
user@R2# show interfaces
ge-1/0/0 {
unit 0 {
family inet6 {
address abcd::192:2:1:1/120;
}
}
}
ge-1/1/5 {
unit 0 {
family inet6 {
address abcd::13:14:2:2/120;
}
}
}
lo0 {
unit 0 {
family inet6 {
address abcd::128:220:41:229/128;
}
}
}
[edit]
user@R2# show protocols
bgp {
group ebgp {
type external;
family inet6 {
unicast;
flow;
}
export redis;
peer-as 64496;
neighbor abcd::13:14:2:1;
}
}
[edit]
user@R2# show routing-options
rib inet6.0 {
static {
route abcd::11:11:11:0/120 next-hop abcd::192:2:1:2;
}
flow {
route route-1 {
match {
destination abcd::11:11:11:10/128;
protocol tcp;
destination-port http;
source-port 65535;
}
then discard;
}
route route-2 {
match {
destination abcd::11:11:11:30/128;
icmp6-type echo-request;
packet-length 100;
dscp 10;
}
then accept;
}
}
}
router-id 128.220.41.229;
autonomous-system 64497;
[edit]
user@R2# show policy-options
policy-statement redis {
from protocol static;
then accept;
}
검증
구성이 제대로 작동하고 있는지 확인합니다.
inet6flow 테이블에서 IPv6 flow 사양 경로의 존재 확인
목적
라우터 R1과 R2의 테이블에 inet6flow 경로를 표시하고 BGP가 플로우 경로를 학습했는지 확인합니다.
작업
운영 모드의 라우터 R1에서 명령을 실행합니다 show route table inet6flow.0 extensive .
user@R1>
show route table inet6flow.0 extensive
inet6flow.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
abcd::11:11:11:10/128,*,proto=6,dstport=80,srcport=65535/term:1 (1 entry, 1 announced)
TSI:
KRT in dfwd;
Action(s): discard,count
*BGP Preference: 170/-101
Next hop type: Fictitious, Next hop index: 0
Address: 0x9b24064
Next-hop reference count: 2
State:<Active Ext>
Local AS: 64496 Peer AS: 64497
Age: 20:55
Validation State: unverified
Task: BGP_64497.abcd::13:14:2:2
Announcement bits (1): 0-Flow
AS path: 64497 I
Communities: traffic-rate:64497:0
Accepted
Validation state: Accept, Originator: abcd::13:14:2:2, Nbr AS: 64497
Via: abcd::11:11:11:0/120, Active
Localpref: 100
Router ID: 128.220.41.229
abcd::11:11:11:30/128,*,icmp6-type=128,len=100,dscp=10/term:2 (1 entry, 1 announced)
TSI:
KRT in dfwd;
Action(s): accept,count
*BGP Preference: 170/-101
Next hop type: Fictitious, Next hop index: 0
Address: 0x9b24064
Next-hop reference count: 2
State: <Active Ext>
Local AS: 64496 Peer AS: 64497
Age: 12:51
Validation State: unverified
Task: BGP_64497.abcd::13:14:2:2
Announcement bits (1): 0-Flow
AS path: 64497 I
Accepted
Validation state: Accept, Originator: abcd::13:14:2:2, Nbr AS: 64497
Via: abcd::11:11:11:0/120, Active
Localpref: 100
Router ID: 128.220.41.229
운영 모드의 라우터 R2에서 명령을 실행합니다 show route table inet6flow.0 extensive .
user@R2> show route table inet6flow.0 extensive
inet6flow.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden)
abcd::11:11:11:10/128,*,proto=6,dstport=80,srcport=65535/term:1 (1 entry, 1 announced)
TSI:
KRT in dfwd;
Action(s): discard,count
Page 0 idx 0, (group pe-v6 type External) Type 1 val 0xaec8850 (adv_entry)
Advertised metrics:
Nexthop: Self
AS path: [64497]
Communities: traffic-rate:64497:0
Path abcd::11:11:11:10/128,*,proto=6,dstport=80,srcport=65535 Vector len 4. Val: 0
*Flow Preference: 5
Next hop type: Fictitious, Next hop index: 0
Address: 0x9b24064
Next-hop reference count: 3
State: <Active>
Local AS: 64497
Age: 14:21
Validation State: unverified
Task: RT Flow
Announcement bits (2): 0-Flow 1-BGP_RT_Background
AS path: I
Communities: traffic-rate:64497:0
abcd::11:11:11:30/128,*,proto=17,port=65535/term:2 (1 entry, 1 announced)
TSI:
KRT in dfwd;
Action(s): accept,count
Page 0 idx 0, (group pe-v6 type External) Type 1 val 0xaec8930 (adv_entry)
Advertised metrics:
Nexthop: Self
AS path: [64497]
Communities:
Path abcd::11:11:11:30/128,*,proto=17,port=65535 Vector len 4. Val: 0
*Flow Preference: 5
Next hop type: Fictitious, Next hop index: 0
Address: 0x9b24064
Next-hop reference count: 3
State: <Active>
Local AS: 64497
Age: 14:21
Validation State: unverified
Task: RT Flow
Announcement bits (2): 0-Flow 1-BGP_RT_Background
AS path: I
의미
테이블에 inet6flow abcd::11:11:11:10/128 및 abcd::11:11:11:30/128 경로가 있으면 BGP가 플로우 경로를 학습했음을 확인하는 것입니다.
BGP 요약 정보 확인
목적
BGP 구성이 올바른지 확인합니다.
작업
운영 모드의 라우터 R1과 R2에서 명령을 실행 show bgp summary 합니다.
user@R1> show bgp summary
Groups: 1 Peers: 1 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
inet6.0
1 1 0 0 0 0
inet6flow.0
2 2 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
abcd::13:14:2:2 2000 58 58 0 2 19:48 Establ
inet6.0: 1/1/1/0
inet6flow.0: 2/2/2/0
user@R2> show bgp summary
Groups: 1 Peers: 1 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
inet6.0
0 0 0 0 0 0
inet6flow.0
0 0 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped...
abcd::13:14:2:1 64496 51 52 0 0 23:03 Establ
inet6.0: 0/0/0/0
inet6flow.0: 0/0/0/0
의미
테이블에 inet6.0 BGP 인접 라우터 주소가 포함되어 있고 피어링 세션이 BGP 인접 라우터와 설정되었는지 확인합니다.
플로우 검증 확인
목적
플로우 경로 정보를 표시합니다.
작업
운영 모드의 라우터 R1에서 명령을 실행합니다 show route flow validation .
user@R1> show route flow validation
inet6.0:
abcd::11:11:11:0/120
Active unicast route
Dependent flow destinations: 2
Origin: abcd::13:14:2:2, Neighbor AS: 64497
abcd::11:11:11:10/128
Flow destination (1 entries, 1 match origin, next-as)
Unicast best match: abcd::11:11:11:0/120
Flags: Consistent
abcd::11:11:11:30/128
Flow destination (1 entries, 1 match origin, next-as)
Unicast best match: abcd::11:11:11:0/120
Flags: Consistent
의미
출력은 테이블에 플로우 경로를 표시합니다.inet6.0
IPv6 경로의 플로우 사양 확인
목적
지정된 flow 사양 경로를 기반으로 삭제 및 수락된 패킷 수를 표시합니다.
작업
운영 모드의 라우터 R2에서 명령을 실행합니다 show firewall filter_flowspec_default_inet6_ .
user@R2> show firewall filter __flowspec_default_inet6__ Filter: __flowspec_default_inet6__ Counters: Name Bytes Packets abcd::11:11:11:10/128,*,proto=6,dstport=80,srcport=65535 0 0 abcd::11:11:11:30/128,*,proto=17,port=65535 6395472 88826
의미
출력은 abcd::11:11:11:10/128로 향하는 패킷이 삭제되고 abcd::11:11:11:11:30/128 경로에 대해 88826개의 패킷이 수락되었음을 나타냅니다.
IP로의 BGP 플로우 사양 리디렉션 구성
IP로의 BGP 플로우 사양 리디렉션 기능은 플로우 사양(FlowSpec) 규칙에 따라 트래픽 리디렉션을 허용하여 트래픽 엔지니어링 기능을 향상시킵니다. 이 기능은 BGP 플로우 사양 인터넷 초안: draft-ietf-idr-flowspec-redirect-ip-02.txt, IP 작업으로 리디렉션에 설명된 대로 IPv4 또는 IPv6 주소로의 리디렉션을 지원합니다. 이는 특히 서비스 프로바이더(SP) 네트워크의 디도스(DDoS) 완화와 vSCG(Virtualized Service Environments)의 정책 기반 포워딩에 유용합니다.
사용 사례
-
디도스(DDoS) 공격 완화 – 분석 및 정리를 위해 악성 트래픽을 스크러빙 센터로 리디렉션합니다.
-
정책 기반 포워딩 – 사전 정의된 규칙에 따라 트래픽 플로우를 특정 대상으로 안내함으로써 고급 트래픽 관리를 지원합니다.
토폴로지
-
그림 8: 기존 플로우
-
공격이 탐지되면 FlowSpec redirect-to-VRF 가 수신 공급자 에지(PE) 라우터에 적용됩니다.
-
더티 VRF는 트래픽을 헤드엔드 PE(HE-PE)에 연결된 스크러버로 리디렉션합니다.
-
트래픽이 정리되면 HE-PE는 이를 의도한 목적지로 전달합니다.
-
-
그림 9: 새 흐름
-
redirect-to-VRF 대신, FlowSpec redirect-to-IP 는 수신 PE의 외부 인터페이스에 적용됩니다.
-
악성 트래픽은 HE-PE로 직접 전달됩니다.
-
그런 다음 HE-PE는 redirect-to-IP 규칙에 따라 트래픽을 스크러버 로 리디렉션합니다.
-
정리된 트래픽은 전용 더티 VRF 없이 대상으로 전달됩니다.
-
대상 플랫폼
-
vMX, MX 시리즈 라우터
성능 및 확장 목표
-
이 기능은 트래픽 리디렉션을 효과적으로 관리하기 위해 이러한 FlowSpec 경로 1,000개를 지원하는 것을 목표로 합니다.
확인 명령:
show firewall filter FLOWSPEC
이 기능은 VRF 기반 세그멘테이션이 아닌 IP 기반 트래픽 처리를 통해 리디렉션 프로세스를 단순화하여 확장성 향상, 지연 시간 감소 및 효율적인 디도스(DDoS) 완화를 보장합니다.
또한보십시오
디도스(DDoS) 트래픽 필터링을 위해 IP로의 BGP 플로우 사양 작업 리디렉션 구성
Junos OS릴리스 18.4R1부터는 BGP 플로우 사양 인터넷 초안 draft-ietf-idr-flowspec-redirect-ip-02.txt, IP로의 리디렉션 작업 에서 설명된 BGP 플로우 사양이 지원됩니다. IP 작업으로 리디렉션은 확장된 BGP 커뮤니티를 사용하여 서비스 프로바이더 네트워크에서 디도스(DDoS) 완화를 위한 트래픽 필터링 옵션을 제공합니다. IP로의 레거시 플로우 사양 리디렉션은 BGP 다음 홉 속성을 사용합니다. Junos OS는 기본적으로 확장된 커뮤니티를 사용하여 IP 플로우 사양으로의 리디렉션 작업을 안내합니다. 이 기능은 vSCG(Virtual Service Control Gateway)에서 서비스 체이닝을 지원하는 데 필요합니다. IP로의 리디렉션 작업을 통해 일치하는 플로우 사양 트래픽을 전 세계의 도달 가능한 주소로 우회할 수 있습니다. 이 주소는 디도스(DDoS) 트래픽을 필터링하고 수신 디바이스에 클린 트래픽을 전송할 수 있는 필터링 디바이스에 연결할 수 있습니다.
IPv6은 레거시 redirect-to-Nexthop 인코딩 모드에서만 지원됩니다. IPv6에 대한 새로운 redirect-to-IP 인코딩 형식은 지원하지 않습니다.
트래픽을 BGP 플로우 사양 경로로 리디렉션하기 전에 다음을 수행합니다.
디바이스 인터페이스를 구성합니다.
OSPF 또는 기타 IGP 프로토콜을 구성합니다.
MPLS 및 LDP를 구성합니다.
BGP를 구성합니다.
BGP 확장 커뮤니티를 사용하여 IP로의 리디렉션 기능을 구성합니다.
다음 홉 속성을 사용하여 IP로의 레거시 플로우 사양 리디렉션 기능을 구성합니다.
BGP 확장 커뮤니티와 다음 홉 IP 주소로의 레거시 리디렉션을 함께 사용하여 IP 주소로 트래픽을 리디렉션하도록 정책을 구성할 수 없습니다.
인터넷 초안 draft-ietf-idr-flowspec-redirect-ip-00.txt, IP 다음 홉으로의 트래픽 리디렉션을 위한 BGP Flow-Spec 확장 커뮤니티 에 지정된 IP로의 레거시 플로우 사양 리디렉션을 계층 수준에 구성합니다.
[edit group bgp-group neighbor bgp neighbor family inet flow] user@host# set legacy-redirect-ip-action
다음 홉 속성과 일치하는 정책을 정의합니다.
[edit policy options] user@host#policy statement policy_name user@host#from community community-name user@host#from next-hop ip-address
예를 들어, 트래픽을 다음 홉 IP 주소 10.1.1.1로 리디렉션하는 정책 p1을 정의합니다.
[edit policy options] user@host#policy statement p1 user@host#from community redirnh user@host#from next-hop 10.1.1.1
정책을 정의하여 레거시 플로우 사양 다음 홉 속성을 IP 작업으로 리디렉션을 사용하여 BGP 커뮤니티를 설정, 추가 또는 삭제합니다.
[edit policy-options] user@host# policy-statement policy_name user@host# then community set community-name user@host# then community add community-name user@host# then community delete community-name user@host# then next-hop next-hop-address
예를 들어, 정책 p1을 정의하고 BGP 커뮤니티 redirnh을 설정, 추가 또는 삭제하여 디도스(DDoS) 공격 트래픽을 다음 홉 IP 주소 10.1.1.1로 리디렉션합니다.
[edit policy-options policy-statement p1] user@host# then community set redirnh user@host# then community add redirnh user@host# then community delete redirnh user@host# then next-hop 10.1.1.1
또한보십시오
BGP 플로우 사양을 사용하여 트래픽 전달 DSCP 작업
BGP 플로우 사양(FlowSpec) DSCP 작업을 구성하여 포워딩 클래스 및 손실 우선 순위 정보를 사용하여 네트워크를 효과적으로 전달합니다.
패킷을 포워딩하기 위한 BGP FlowSpec DSCP 작업의 이점
-
트래픽을 의도한 COS 대기열로 전달하며, 여기서 COS 정책은 트래픽에 올바르게 적용됩니다.
-
프로비저닝된 DSCP 값을 기반으로 로컬 전달 동작(예: 터널 선택)에 영향을 미칩니다.
-
네트워크의 트래픽을 효과적으로 관리하는 데 도움이 됩니다.
패킷이 라우터에 들어가면 패킷은 수신 인터페이스에 적용된 기능(예: 방화벽, COS 등)을 통과합니다. 수신 인터페이스에서 BGP FlowSpec 필터를 구성할 때, DSCP 작업에 따라 라우팅 인스턴스당 패킷에 필터가 적용됩니다. DSCP 작업은 BGP FlowSpec 필터를 통해 DSCP 코드 변경과 함께 패킷을 분류하고 다시 작성합니다. 포워딩 클래스 및 손실 우선순위 정보에 기반하여 패킷은 올바른 포워딩 대기열에 배치됩니다. 패킷은 특정 일치 조건이 충족되는 경우에만 플로우 경로를 통해 이동합니다. 일치하는 조건은 소스 및 대상 IP 주소, 소스 및 대상 포트, DSCP, 프로토콜 번호 등이 될 수 있습니다. 포워딩 클래스 및 손실 우선 순위 정보는 역방향 매핑 테이블을 통해 업데이트됩니다.
다음은 서비스 프로바이더와 엔터프라이즈 고객 네트워크 간에 설정된 BGP 세션의 토폴로지입니다.
이 토폴로지에서 BGP FlowSpec을 위해 서비스 프로바이더와 엔터프라이즈 고객 네트워크 간에 BGP 세션이 구성됩니다. BGP FlowSpec 필터는 PE1 및 PE2 라우터 모두에 적용됩니다. 이러한 라우터에 들어오는 패킷은 BGP FlowSpec 필터 및 DSCP 작업에 따라 다시 작성됩니다.
디바이스에서 BGP FlowSpec 필터를 활성화하려면 [edit forwarding-options family (inet | inet6)] 계층 수준에서 구성 문을 추가 dscp-mapping-classifier 해야 합니다.
forwarding-options {
family inet {
dscp-mapping-classifier ipv4-classifer;
}
family inet6 {
dscp-mapping-classifier ipv6-classifer;
}
}
다음 샘플 서비스 등급 구성은 DSCP 코드를 포워딩 클래스 및 손실 우선순위에 매핑합니다.
class-of-service {
classifiers {
dscp dscp1 {
forwarding-class best-effort {
loss-priority low code-points 000000;
}
}
}
}
플로우 경로 검증을 위한 정책 구성
플로우 사양을 사용하여 네트워크를 통해 피어링 포인트로 필터를 배포하면 플로우 사양 필터의 형식이 소스에서 검증됩니다. EBGP 세션을 통해 피어에 대한 신호 플로우 경로를 사용하려면 에지 라우터에서 플로우 사양 필터를 검증해야 합니다.
정책을 사용하여 플로우 경로의 이러한 추가 검증을 수행할 수 있습니다. 정책은 플로우 경로 일치 조건을 필터링하여 소스에서 삽입된 잘못된 형식, 지원되지 않거나 원하지 않는 플로우 경로의 허용을 방지할 수 있습니다. 또한 플로우 경로가 프로토콜 세션을 우발적으로 또는 악의적으로 차단하는 것을 방지할 수 있습니다.
정책을 사용하여
-
특정 플로우 사양 일치/작업 조건이 존재하는지 확인
-
유효하지 않거나 원하지 않는 일치 조건을 프로그래밍하지 않습니다.
플로우 사양 일치/작업 조건이 존재하는지 확인하는 정책 구성
특정 플로우 일치/작업 조건이 소스에서 보급되는지 확인하고 필요한 조치를 취하는 정책을 구성할 수 있습니다. 각 플로우 경로에는 일치 조건과 작업 조건이 있습니다. 일치 조건과 일치가 발생할 경우 수행할 작업을 지정하는 다음 문을 구성합니다.
set policy-options flowspec-attribute <> match condition <>
set policy-options flowspec-attribute < Flow Route action >
이러한 정책 구성은 플로우 경로에서 정확하거나 부분적인 일치를 찾고, 발견되면 정책이 플로우 경로와 일치합니다. 여러 일치 조건을 구성하는 경우, 모든 조건이 충족될 때만 일치가 발생합니다.
'반전' 일치 옵션을 사용하여 특정 일치 조건을 제외할 수 있습니다. 예를 들어; 아래 구성 문에서 정책은 'TCP 프로토콜이 없는 플로우 경로와 일치한 다음 'DSCP 값 'X'와 일치합니다. 두 일치 항목이 모두 발견되면 정책은 플로우 경로를 수락합니다.
set policy-options flowspec-attribute fl1 invert-match protocol value tcp
set policy-options flowspec-attribute fl1 match dscp value <x>
set policy-options policy-statement pl1 term 1 from flowspec-attribute fl1
set policy-options policy-statement pl1 term 1 then accept
플로우 사양 일치 속성을 확인하는 정책 구성
플로우 경로가 플로우 일치 조건의 특정 값과 일치하는지 확인하는 정책을 구성할 수 있습니다. 이를 통해 플로우 경로가 프로토콜 세션을 우발적으로 또는 악의적으로 차단하는 것을 방지할 수 있습니다.
속성의 특정 값을 지정하는 다음 문을 구성합니다.
set policy-options flowspec-attribute < match value >
IPv4에 특정한 플로우 분시화 정책 일치 속성은 IPv6 플로우 경로에 영향을 미치지 않으며 그 반대의 경우도 마찬가지입니다.
변경 내역 표
기능 지원은 사용 중인 플랫폼과 릴리스에 따라 결정됩니다. 기능 탐색기를 사용하여 플랫폼에서 기능이 지원되는지 확인합니다.
extended-community 필터링 작업을 지원합니다.