Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

IS-IS 네트워크에서 SRv6 네트워크 프로그래밍을 활성화하는 방법

요약 IS-IS 프로토콜에 대한 SRv6 네트워크 프로그래밍 활성화에 대해 알아봅니다.

무엇 향후 계획

SRv6 네트워크 프로그래밍에 대한 자세한 내용은 예제: IS-IS 네트워크에서 SRv6 네트워크 프로그래밍 구성을 참조하십시오.

IS-IS 네트워크의 SRv6 네트워크 프로그래밍 이해

SRv6 네트워크 프로그래밍의 이점

SRv6 네트워크 프로그래밍은 IPv6 네트워크에서 다음과 같은 이점을 제공합니다.

  • 네트워크 프로그래밍은 패킷을 전송하기 위한 IPv6 헤더와 헤더 확장에 전적으로 의존하므로 MPLS와 같은 프로토콜이 제거됩니다. 따라서 코어 IPv6 네트워크에서 주요 하드웨어 또는 소프트웨어 업그레이드 없이 원활한 구축이 가능합니다.

  • 전송 라우터가 SRv6를 지원하지 않더라도 SRv6 수신 노드를 통해 패킷을 전송할 수 있으므로 IPv6 네트워크의 모든 노드에 세그먼트 라우팅을 구축할 필요가 없습니다.

  • Junos OS는 단일 세그먼트 식별자(SID)에서 여러 기능을 지원하며 삽입 모드와 캡슐화 모드에서 상호 운용할 수 있습니다. 이를 통해 단일 디바이스가 프로바이더(P) 라우터와 프로바이더 에지(PE) 라우터 역할을 동시에 수행할 수 있습니다.

SRv6 네트워크 프로그래밍 개요

네트워크 프로그래밍은 네트워크 프로그램을 개별 명령어로 인코딩한 다음 IPv6 패킷 헤더에 삽입하는 네트워크의 기능입니다. 네트워크 명령을 전달하는 IPv6 패킷은 패킷 처리에 사용할 수 있는 정확한 SRv6 노드에 대해 네트워크에 명시적으로 알려줍니다. 네트워크 명령은 128비트 IPv6 주소로 표시되는 SRv6 세그먼트 식별자(SID)입니다. IS-IS 프로토콜은 IPv6 패킷 헤더에서 네트워크 명령을 인코딩하여 네트워크를 통해 배포합니다. 주소 지정과 함께 네트워크 지침은 SRv6 네트워크의 각 SRv6 지원 노드에 대한 특정 작업 또는 기능을 정의합니다.

메모:

Junos OS 릴리스 20.3R1부터 MPC7E, MPC8E 및 MPC9E 라인 카드가 있는 MX 시리즈 디바이스에서 MPLS 데이터 플레인 없이 코어 IPv6 네트워크에서 세그먼트 라우팅을 구성할 수 있습니다.

이 기능은 네트워크가 IPv6이고 MPLS를 구축하지 않은 서비스 프로바이더에 유용합니다. 이러한 네트워크는 데이터 전송을 위한 IPv6 헤더 및 헤더 확장에만 의존합니다. 이 기능은 아직 세그먼트 라우팅 기능이 없는 전송 라우터를 통해 세그먼트 라우팅 트래픽을 구축해야 하는 네트워크에도 유용합니다. 이러한 네트워크에서 SRv6 네트워크 프로그래밍 기능은 MPLS를 구축하지 않고도 세그먼트 라우팅을 활용할 수 있는 유연성을 제공할 수 있습니다.

SRv6 Network Programming Overview

세그먼트 라우팅 확장 헤더(SRH)란 무엇입니까?

세그먼트 식별자는 세그먼트 라우팅 도메인의 특정 세그먼트를 나타냅니다. IPv6 네트워크에서 사용되는 SID 유형은 SRv6 세그먼트 또는 SRv6 SID라고도 하는 128비트 IPv6 주소입니다. SRv6는 세그먼트 라우팅 확장 헤더에서 MPLS 레이블 대신 이러한 IPv6 주소를 쌓습니다. 세그먼트 라우팅 확장 헤더(SRH)는 IPv6 라우팅 확장 헤더의 한 유형입니다. 일반적으로 SRH에는 SRv6 SID로 인코딩된 세그먼트 목록이 포함되어 있습니다. SRv6 SID는 다음과 같은 부분으로 구성됩니다.

  • Locator— 로케이터는 특정 SRv6 노드의 주소를 나타내는 최상위 비트로 구성된 SID의 첫 번째 부분입니다. 로케이터는 부모 노드에 대한 경로를 제공하는 네트워크 주소와 매우 유사합니다. IS-IS 프로토콜은 라우팅 테이블에 로케이터 경로를 inet6.0 설치합니다. IS-IS는 세그먼트를 상위 노드로 라우팅하며, 이후 상위 노드는 SRv6 SID의 다른 부분에 정의된 기능을 수행합니다. 이 로케이터와 연관된 알고리즘을 지정할 수도 있습니다. 네트워크 요구 사항에 따라 유연한 알고리즘을 정의할 수 있습니다.

  • Function- SID의 다른 부분은 로케이터에 의해 지정된 노드에서 로컬로 수행되는 기능을 정의합니다. 인터넷 초안 draft-ietf-spring-srv6-network-programming-07draft, SRv6 Network Programming에 이미 정의된 몇 가지 기능이 있습니다. 그러나 IS-IS에서 시그널링되는 Junos OS에서는 다음 기능을 사용할 수 있습니다. IS-IS는 inet6.0 라우팅 테이블에 이러한 기능 SID를 설치합니다.

    • End— 접두사 SID의 SRv6 인스턴스화를 위한 엔드포인트 함수입니다. SRH 제거를 위한 외부 헤더의 캡슐화 해제는 허용되지 않습니다. 따라서 끝 SID는 SID 목록의 마지막 SID가 될 수 없으며 SRH가 없는 패킷의 DA(대상 주소)가 될 수 없습니다(PSP, USP 또는 USD 플레이버와 결합되지 않는 한).

    • End.X— 엔드포인트 X 함수는 인접 SID의 SRv6 인스턴스화입니다. 레이어 3 인접 배열에 레이어 3 교차 연결이 있는 엔드포인트 함수의 변형입니다.

    PSP(Penultimate Segment Pop), USP(Ultimate Segment Pop) 또는 USD(Ultimate Segment Decapsulation)와 같은 End SID 동작을 지정할 수 있습니다.

    • PSP— 마지막 SID가 대상 주소에 기록되면 PSP 플레이버가 있는 End 및 End.X 기능이 최상위 SRH를 팝합니다. 후속 스택 SRH가 존재할 수 있지만 기능의 일부로 처리되지 않습니다.

    • USP— 다음 헤더가 SRH이고 더 이상 세그먼트가 남아 있지 않은 경우, IS-IS 프로토콜은 상단 SRH를 팝업하고, 업데이트된 대상 주소를 조회하고, 일치 테이블 항목을 기반으로 패킷을 전달합니다.

    • USD— 패킷의 다음 헤더가 41이거나 SRH이고 더 이상 세그먼트가 남아 있지 않은 경우, IS-IS는 외부 IPv6 헤더와 확장 헤더를 팝업하고 노출된 내부 IP 대상 주소를 조회한 다음 패킷을 일치하는 테이블 항목으로 전달합니다.

메모:

로케이터 및 기능의 크기는 유연하며 요구 사항에 따라 크기를 사용자 정의할 수 있습니다. 함수를 정의하기 전에 로케이터를 구성해야 합니다. 각 로케이터는 여러 끝 SID를 보급하고 끝낼 수 있습니다. 연결된 X SID입니다. 커밋 오류를 방지하기 위해 로케이터와 SID가 동일한 서브넷에 속하는지 확인합니다.

예를 들어 2001:::d b8:AC05:FF01:FF01:이 로케이터이고 A000:B000:C000:A000이 함수인 SRv6 SID를 가질 수 있습니다.

표 1: 128비트 SRv6 SID

로케이터

기능

2001::d b8:AC05:FF01:FF01

A000:B000:C000:A000

SRv6 데이터플레인을 위한 유연한 알고리즘

세그먼트 라우팅으로 구성된 코어 IPv6 도메인에서 요구 사항에 따라 다양한 매개 변수와 링크 제약 조건을 사용하여 경로를 계산하는 유연한 알고리즘을 정의할 수 있습니다. 예를 들어, IGP 메트릭을 최소화하기 위해 경로를 계산하는 유연한 알고리즘을 정의하고, 네트워크를 별도의 평면으로 분할하기 위해 트래픽 엔지니어링 메트릭을 기반으로 경로를 계산하는 다른 유연한 알고리즘을 정의할 수 있습니다. 유연한 알고리즘 로케이터를 구성하여 SRv6 도메인의 제약 기반 경로를 따라 패킷을 조정할 수 있습니다.

SRv6에 대한 유연한 알고리즘을 구성하려면 세그먼트 라우팅 트래픽 엔지니어링을 위한 IS-IS의 유연한 알고리즘을 구성하는 방법을 참조하십시오.

로케이터에 매핑된 유연한 알고리즘을 보급하려면 계층 수준에서 옵션을 [edit protocols isis segment-packet-routing srv6 locator] 포함합니다algorithm. 매핑된 유연한 알고리즘은 SRv6 로케이터 아래의 End SID 및 End-X-SID에 적용됩니다.

메모:

노드가 특정 Flexible 알고리즘에 참여하는 경우 SR MPLS 및 SRv6 노드 모두에 적용됩니다. SR MPLS 또는 SRv6에 대해 유연한 알고리즘을 특별히 정의할 수 없습니다.

수신 트래픽의 경우, Junos OS는 기본적으로 캡슐화 모드를 사용합니다. 따라서 대상에는 USD 지원 SID가 있어야 합니다. 유연한 알고리즘 경로의 다른 SRH 앵커 노드는 모든 형태가 될 수 있습니다.

삽입 모드의 전송 트래픽의 경우 유연한 알고리즘 경로의 마지막 앵커 노드에 PSP 지원 SID가 있어야 합니다. PSP 지원 SID가 없는 경우 IS-IS는 해당 앵커 노드를 통해 경로를 다운로드하지 않습니다. 이러한 경우 IS-IS는 적절한 플레이버 SID를 사용하여 다른 ECMP 경로를 다운로드합니다.

SRv6용 TI-LFA

TI-LFA(Topology Independent- Loop Free Alternate)는 컨버전스 후 경로에 정렬된 FRR(Fast Reroute) 경로를 설정합니다. SRv6 지원 노드는 단일 세그먼트를 IPv6 헤더에 삽입하거나 여러 세그먼트를 SRH에 삽입합니다. 여러 SRH는 캡슐화 오버헤드를 크게 증가시킬 수 있으며, 이는 경우에 따라 실제 패킷 페이로드보다 클 수 있습니다. 따라서 기본적으로 Junos OS는 SRH가 감소된 SRv6 터널 캡슐화를 지원합니다. PLR(Point-of-Local Repair)은 SRv6 SID가 포함된 SRH에 FRR 경로 정보를 추가합니다.

TI-LFA 백업 경로는 SRH 내부의 SRv6 SID 그룹으로 표시됩니다. 수신 라우터에서 IS-IS는 SRH를 새로운 IPv6 헤더로 캡슐화합니다. 그러나 전송 라우터에서 IS-IS는 다음과 같은 방식으로 SRH를 데이터 트래픽에 삽입합니다.

  • Insert Mode— IS-IS는 SRH를 원래 IPv6 패킷 헤더의 다음 헤더로 삽입하고 SRH의 값에 따라 다음 헤더를 수정합니다. IPv6 대상 주소는 세그먼트 목록에서 첫 번째 SID의 IPv6 주소로 대체되고 원래 IPv6 대상 주소는 목록의 마지막 세그먼트로 SRH 헤더에 전달됩니다. 전송 라우터에서 삽입 모드를 활성화하려면 계층 수준에서 명령문을 [edit protocols isis source-packet-routing srv6] 포함합니다transit-srh-insert.

  • Encap Mode— 캡슐화 모드에서는 원래 IPv6 패킷이 캡슐화되어 IPv6-in-IPv6 캡슐화 패킷의 내부 패킷으로 전송됩니다. 외부 IPv6 패킷은 세그먼트 목록과 함께 SRH를 전달합니다. 원래 IPv6 패킷은 수정되지 않은 상태로 네트워크에서 이동합니다. 기본적으로 Junos OS는 감소된 SRH에서 SRv6 터널 캡슐화를 지원합니다. 그러나 다음 터널 캡슐화 방법 중 하나를 선택할 수 있습니다.

    • Reduced SRH (default)— 감소된 SRH 모드에서 SID가 하나만 있는 경우 SRH가 추가되지 않고 마지막 SID가 IPV6 대상 주소에 복사됩니다. 감소된 SRH를 사용하여 SRH의 전체 SID 목록을 보존할 수 없습니다.

    • Non-reduced SRH— SRH에서 전체 SID 목록을 보존하려면 축소되지 않은 SRH 터널 캡슐화 모드를 구성할 수 있습니다.

      감소되지 않은 SRH를 [edit routing-options source-packet-routing srv6] 구성하려면 계층 수준에서 문을 포함합니다no-reduced-srh.

메모:

운명 공유 구성은 현재 IPv6 전용 네트워크에서 지원되지 않습니다. 또한 SRv6 TI-LFA는 백업 경로를 계산할 때 SRLG(Shared Risk Link Group)를 고려하지 않습니다. TI-LFA에 대한 자세한 내용은 IS-IS에 대한 세그먼트 라우팅을 사용한 토폴로지 독립 루프 프리 대안 이해하기를 참조하십시오.

SRv6의 마이크로 SID 지원

Junos OS 릴리스 23.4R1부터 여러 SRv6 주소를 단일 IPv6 주소(마이크로 SID)로 압축할 수 있습니다. 패킷이 여러 노드를 통과해야 하는 경우 IS-IS는 세그먼트 라우팅 헤더를 사용하여 SRv6 SID를 누적할 수 있습니다. 이러한 SID 스태킹은 대역폭 오버헤드와 세그먼트 라우팅 헤더 처리 오버헤드를 추가합니다. 마이크로 SID를 사용하면 SID 목록을 단일 대상 주소로 압축하고 대역폭 오버헤드를 줄일 수 있습니다. 6개 이상의 SRv6 SID를 포함해야 하는 경우 마이크로 SID 로케이터를 사용하도록 설정합니다. 마이크로 SID를 구성하는 경우 다른 매개 변수를 구성할 수 없습니다. 이 로케이터에서 파생된 모든 마이크로 SID의 길이는 기본 마이크로 SID 길이(16)와 동일합니다.

마이크로 SID를 구성하려면 및 [edit routing-options source-packet-routing srv6] 계층 수준에서 마이크로 sid블록 문을 [edit routing-options source-packet-routing srv6 locator] 포함합니다.

TI-LFA, 마이크로루프 방지, 플렉스 알고리즘 및 IS-IS MT에서 마이크로 SID 지원

Junos 릴리스 23.4R1부터는 TI-LFA(Topology-Independent Loop-Free Alternate), 마이크로루프 방지 및 Flex Algo(Flexible Algorithm) 경로 계산에서 SRv6 주소를 단일 IPv6 주소(마이크로 SID)로 압축하는 지원을 확장합니다. 이 릴리스부터는 마이크로 세그먼트 식별자(마이크로 SID)에 대한 알고리즘을 구성하여 새로운 확장 기능을 용이하게 할 수도 있습니다. 또한 TI-LFA, 마이크로루프 방지 및 Flex 알고리즘 계산에서 IPv6 유니캐스트 토폴로지(IS-IS MT의 일부)를 지원합니다.

flex algo가 전송 클래스 RIB(Routing Information Base)에 수신 경로를 설치할 수 있도록 하려면 계층 수준에서 문을 [edit routing-options flex-algorithm id] 구성합니다use-transport-class.

IS-IS에서 SRv6 네트워크 프로그래밍을 위해 지원되는 기능 및 지원되지 않는 기능

IS-IS 네트워크의 SRv6 네트워크 프로그래밍은 현재 다음을 지원합니다.

  • 코어 IPv6 및 듀얼 스택. IPv4 및 IPv6 전송은 이중 스택에 대해 지원됩니다.

  • IPv4 및 IPv6 페이로드.

  • 수신 라우터에서 축소 모드에서 최대 6개의 SID.

  • 전송 라우터에서 최대 7개의 SID.

IS-IS 네트워크의 SRv6 네트워크 프로그래밍은 현재 다음을 지원하지 않습니다.

  • 로케이터 접두사에 대한 애니캐스트.

  • 백업 경로를 계산할 때 SRLG(Shared Risk Link Group)

  • 세그먼트 목록이 있는 정적 SRv6 터널.

  • ICMP 및 ICMPv6 오류 처리.

  • SRv6 터널에 대한 SR-TE 정책 구성.

  • 유연한 알고리즘 로케이터에 대한 충돌 해결. 여러 노드가 서로 다른 알고리즘 값을 가진 동일한 로케이터 접두사를 공유하면 예기치 않은 라우팅 동작이 발생할 수 있습니다.

  • End-X-SID의 인터페이스 그룹입니다.

  • MPLS를 사용하지 않는 IPv6 네트워크에 대해 일반 또는 확장 관리자 그룹 구성. 이러한 기능은 [edit protocols mpls] 계층 수준에서만 구성할 수 있습니다.