Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

네트워킹에서 세그먼트 라우팅 및 소스 패킷 라우팅이란 무엇입니까?

세그먼트 라우팅 네트워크에서 디바이스는 패킷이 전달되거나 처리될 수 있는 방법을 나타내는 일련의 명령을 생성합니다. 이러한 지침을 세그먼트라고 합니다. 세그먼트를 함께 쌓아 운영자는 두 장치 사이에 정확한 경로를 만들 수 있습니다. 이를 통해 BGP-free 코어, 트래픽 엔지니어링(TE), 백업 경로, 멀티도메인 경로, 멀티토폴로지 네트워킹과 같은 기능을 사용할 수 있습니다. 데이터 플레인에서 세그먼트는 MPLS 레이블 또는 IPv6 주소를 사용하여 나타낼 수 있습니다.

사전 필수 지식

독자가 일반적인 IP 라우팅 및 MPLS 레이블 스위칭 원리를 이해하고 IS-IS 또는 OSPF에 대한 강력한 실무 지식을 가지고 있다고 가정합니다. 이러한 개념은 기술 문서의 다른 리소스에서 다루었습니다.

세그먼트 라우팅(SR)은 패킷이 토폴로지를 통해 전달되거나 처리될 수 있는 방법을 나타내는 일련의 지침을 생성하는 방법입니다. 이러한 지침을 세그먼트라고 합니다. 그런 다음 이러한 명령을 패킷에 기록하여 전송 디바이스가 의도한 대로 패킷을 전달하고 처리하도록 할 수 있습니다. 여러 세그먼트를 함께 스택하여 두 디바이스 간의 엔드 투 엔드 경로를 정의할 수 있습니다.

세그먼트는 IS-IS, OSPF 및 BGP와 같은 라우팅 프로토콜 내에서 직접 보급됩니다. 즉, 네트워크 전체에 이러한 세그먼트를 보급하기 위해 추가 프로토콜을 실행할 필요가 없습니다. 이 섹션에서는 세그먼트의 개념을 정의합니다. 또한 이 섹션에서는 세그먼트가 보급되는 방법과 세그먼트를 사용하여 네트워크에서 정확한 경로를 생성하는 방법도 다룹니다. 또한 MPLS 레이블을 사용하거나 SRv6 주소라고 하는 특수 IPv6 주소를 사용하여 이러한 세그먼트가 데이터 플레인에서 어떻게 표현될 수 있는지 자세히 살펴봅니다. 이러한 옵션을 각각 SR-MPLS 및 SRv6이라고 합니다.

세그먼트로 표시되는 지침의 예

세그먼트는 하나의 단일 명령을 나타내는 구문에 지정된 이름입니다. 이는 포워딩과 관련된 지침일 수도 있고, 수신 라우터에서 패킷이 로컬로 처리되는 방법과 관련된 지침일 수도 있습니다. 세그먼트 라우팅에서 이러한 지침은 네트워크 전체(예: IS-IS 수준 또는 OSPF 영역)에 보급됩니다. 그 결과 SR 지원 디바이스는 이러한 명령을 함께 쌓아 네트워크를 통해 임의의 원격 디바이스로 가는 정확한 경로를 생성할 수 있습니다.

다음은 세그먼트가 나타낼 수 있는 지침의 몇 가지 예입니다.

  • 내부 게이트웨이 프로토콜(IGP) 최단 경로를 통해 특정 원격 라우터에 패킷을 전달합니다.

  • 전송 라우터에 패킷을 다음 홉 이웃으로 직접 전송하여 특정 로컬 인터페이스에서 보내도록 지시합니다.

  • AS(Autonomous System) 경계 라우터에 BGP 최적 경로 결정을 무시하여 특정 외부 BGP(EBGP) 피어로 패킷을 전송하도록 지시합니다.

  • 둘 이상의 전송 라우터 또는 엔드포인트 라우터 간에 패킷을 로드 밸런싱합니다.

  • 여러 잠재적 출구 지점 중 가장 가까운 경계 라우터로 패킷을 보냅니다.

  • 전송 라우터에 패킷을 특정 트래픽 엔지니어링(TE) 터널로 리디렉션하도록 지시합니다.

  • 기본 토폴로지 내에서 더 작은 제한된 토폴로지를 정의한 다음 해당 제한된 토폴로지 내에서 최단 경로로 패킷을 전달합니다.

  • 패킷에 푸시된 모든 세그먼트 명령을 제거한 다음, 특정 레이어 2 또는 레이어 3 포워딩 테이블에서 패킷 자체를 처리합니다.

세그먼트는 기존 라우팅 프로토콜 내에서 보급됩니다

SR 네트워크에서 각 디바이스는 패킷을 전달하거나 처리할 수 있는 방법을 나타내는 다양한 세그먼트를 생성합니다. 그런 다음 이러한 세그먼트의 대부분은 동일한 OSPF 영역 또는 IS-IS 수준 또는 BGP 피어 간과 같은 동일한 라우팅 도메인 내의 다른 모든 라우터에 보급됩니다.

세그먼트 라우팅은 전용 프로토콜을 사용하는 대신 프로토콜 확장을 통해 IS-IS, OSPF 및 BGP에서 직접 세그먼트를 보급합니다. 세그먼트 라우팅을 위해 새로운 프로토콜을 활성화할 필요가 없습니다. 이미 사용하고 있는 프로토콜에 의존하기만 하면 됩니다.

그 결과 라우팅 도메인의 모든 SR 지원 디바이스는 네트워크의 다른 모든 SR 지원 노드에서 보급된 모든 세그먼트 명령에 대한 완전한 가시성을 갖게 됩니다. 즉, 모든 디바이스는 다른 모든 디바이스가 수신할 수 있는 모든 보급된 세그먼트에 대해 학습합니다.

그림 1 은 이 아이디어를 보여주고 SR-MPLS 네트워크에서 세그먼트가 어떻게 생겼는지에 대한 개략적인 예를 보여줍니다. 개념은 SRv6에서도 비슷합니다.

그림 1: 각 라우터는 토폴로지 정보를 포함하는 최단 경로 우선(OSPF) LSA 또는 IS-IS TLV를 생성합니다. 또한 이 개체는 세그먼트 명령 정보를 보급합니다. Each router generates an OSPF LSA or IS-IS TLV containing their topology information. This object also advertises segment instruction information.We recommend that you shorten the figure title. You can add additional information to the paragraph describing the image. Suggested figure titles styled in title case: 1. Router-Generated OSPF LSA or IS-IS TLV Containing Segment Instructions. 2. OSPF LSA or IS-IS TLV, Showing Router Topology and Segment Instructions. 3. Router Topology and Segment Instructions Within OSPF LSA or IS-IS TLV.

그림 1 은 R1에서 R10까지 번호가 매겨진 10개 라우터의 토폴로지를 보여줍니다. 링크 상태 네트워크에서 모든 라우터는 네트워크에서 해당 위치를 설명하는 개체를 생성합니다. OSPF는 이 개체를 LSA(link-state advertisement)라고 부르는 반면, IS-IS는 이를 LSP(link-state protocol data unit)라고 부릅니다. 두 경우 모두 SR은 이 LSA 또는 LSP에 추가 정보를 추가할 수 있습니다.

예를 들어, 그림 1에서 R5는 R4 및 R10에 인접 관계를 갖는다고 발표했습니다. 세그먼트 라우팅은 LSA 또는 LSP에서 R5가 세그먼트 라우팅을 사용하여 세그먼트 식별자(SID)라는 숫자와 함께 이러한 이웃에 트래픽을 직접 전송할 수 있다는 세그먼트 명령으로 태그를 지정할 수 있습니다. SR-MPLS에서는 이를 인접 세그먼트라고 합니다. SRv6의 동등한 구문을 End.X SID라고 합니다.

R5는 또한 R5가 IGP 최단 경로로 전송된 트래픽을 수락할 의향이 있음을 나타내는 명령으로 자체 루프백 IPv4 주소 접두사에 태그를 지정했습니다. SR-MPLS에서는 이를 노드 세그먼트라고 합니다.

LSA 또는 LSP는 라우팅 도메인 전체에 걸쳐 플러딩됩니다. 이는 OSPF 영역 또는 IS-IS 수준의 모든 라우터가 이러한 프로토콜을 사용하여 보급된 모든 단일 세그먼트에 대해 학습한다는 것을 의미합니다. SR 지원 라우터는 이 세그먼트 정보를 사용하여 하나 이상의 세그먼트 명령을 패킷에 직접 스택하여 패킷이 특정 원격 라우터로 이동해야 하는 경로와 패킷 처리 방식에 대한 정보를 나타낼 수 있습니다.

세그먼트를 결합하여 네트워크에서 정확한 경로 생성

모든 라우터가 생성한 지침을 나타내는 다양한 세그먼트를 발표한 후, 네트워크의 모든 라우터는 이러한 세그먼트를 함께 결합하여 원하는 경로를 생성할 수 있습니다. 여기에는 세그먼트 스택을 생성하는 작업이 포함될 수도 있고, 대상 라우터에 대한 하나의 최단 경로 세그먼트를 사용하는 것만큼 간단할 수도 있습니다.

세그먼트 라우팅은 모든 세그먼트 명령이 이미 기존 라우팅 프로토콜에 의해 보급 및 학습되었기 때문에 경로를 적극적으로 신호하거나 요청할 필요 없이 이를 달성합니다. 모든 라우터는 필요한 경로를 계산하고 해당 경로와 관련된 필수 세그먼트를 추출한 다음 해당 지침을 데이터 플레인의 패킷에 추가할 수 있습니다.

그림 2 는 이러한 세그먼트를 함께 결합할 수 있는 방법에 대한 사람이 읽을 수 있는 예를 보여줍니다.

그림 2: 세그먼트 라우팅은 토폴로지를 통해 트래픽을 전송하기 위한 지침을 빌드합니다. Segment routing builds instructions to send traffic over the topology.Suggested rephrases for figure title: 1. Segment Routing Instructions for Traffic Flow 2. Traffic Direction Using Segment Routing 3. Segment Routing: Traffic Path Assembly

그림은 R1에서 시작하여 R7로 패킷을 보내는 일련의 세 가지 명령을 보여줍니다. 첫 번째 세그먼트는 R4에 대한 최단 경로를 따릅니다. 두 번째 세그먼트는 R4에서 R9로 직접 이동합니다. 최종 명령은 R7에 대한 최단 경로를 사용합니다.

R4는 처음 두 세그먼트를 생성하고 광고했습니다. R7은 세 번째 세그먼트를 생성했습니다. 그러면 네트워크의 모든 라우터가 이러한 세그먼트를 활용하여 토폴로지 전반에 걸쳐 정확한 경로를 생성할 수 있습니다.

세그먼트 스택을 사용할 필요가 없습니다. 예를 들어 트래픽이 원격 디바이스에 대한 최단 경로를 따르는 것이 유일한 요구 사항이라면 패킷에는 하나의 세그먼트만 필요합니다. 이것은 그림 3에 나와 있으며, 여기서 R1과 R5 사이의 최단 경로를 설명하는 데 단 하나의 세그먼트만 필요합니다.

그림 3: 두 디바이스 간의 최단 경로를 설명하는 데는 단 하나의 세그먼트만 필요합니다. Only one segment is required to describe the shortest path between any two devices.Suggested figure title: One Segment for Shortest Path

이는 패킷이 대상 경계 라우터에 대한 IGP 최단 경로를 따라가는 트래픽 엔지니어링 없이 기존의 BGP-free 코어 설계를 가능하게 하기에 충분합니다.

MPLS 또는 IPv6을 사용하여 데이터 플레인에서 세그먼트 표시

데이터 플레인에서 세그먼트는 MPLS 레이블 또는 IPv6 주소를 사용하여 나타낼 수 있습니다. 이러한 메서드를 각각 SR-MPLS 및 SRv6이라고 합니다.

그림 4 는 데이터 플레인에서 각 프로토콜이 어떻게 보이는지에 대한 개략적인 개요를 보여줍니다. SR-MPLS는 하나의 MPLS 레이블을 사용하여 단일 세그먼트를 나타내는 반면, SRv6는 단일 IPv6 주소 내에서 하나 이상의 세그먼트를 인코딩할 수 있습니다. 전체 경로를 설명하기 위해 여러 IPv6 주소가 필요한 경우 이러한 주소는 SRH(세그먼트 라우팅 헤더)라고 하는 IPv6 확장 헤더 내에 저장됩니다.

그림 4: 트래픽 엔지니어링 경로를 생성하기 위한 SR-MPLS 및 클래식 SRv6 세그먼트 스택 생성에 대한 개략적인 비교. A high-level comparison of creating a stack of SR-MPLS and classic SRv6 segments to create a traffic-engineered path.Suggested rephrase to shorten caption: SR-MPLS Versus SRv6: Traffic-Engineered Path Creation

그림 4 는 각 데이터 플레인 프로토콜의 세그먼트 스택을 보여줍니다. 그러나 패킷이 원격 디바이스에 대한 최단 경로를 따라가기만 하면 되는 경우에는 세그먼트 스택을 사용할 필요가 없습니다. 대신 이 명령은 단일 MPLS 레이블 또는 IPv6 주소 내에서 인코딩될 수 있습니다.

SR-MPLS와 SRv6은 모두 세그먼트 식별자(SID)라는 숫자 구조를 사용합니다. SID는 데이터 플레인에서 사용해야 하는 MPLS 레이블 또는 IPv6 주소를 전달하는 데 사용됩니다. SID 값은 보급되는 세그먼트 유형에 따라 다양한 방식으로 사용됩니다.

예를 들어, SR-MPLS에서 SID 값은 때때로 라우터가 해당 세그먼트에 대해 수신할 것으로 예상하는 정확한 MPLS 레이블입니다. 그러나 다른 세그먼트 유형은 SID 값을 미리 할당된 MPLS 레이블 집합과 결합할 수 있는 인덱스로 사용하여 라우터가 세그먼트에 대해 수신할 것으로 예상하는 올바른 MPLS 레이블을 계산합니다.

반면 SRv6 구축에서는 네트워크의 각 개별 라우터에 IPv6 주소의 전체 고유 서브넷을 할당하는 경향이 있습니다. 그런 다음 라우터는 이 더 큰 접두사에서 개별 세그먼트를 할당합니다. 세그먼트와 접두사는 모두 네트워크 주변에 보급되어 모든 라우터가 최소한 해당 세그먼트를 향해 미터법상 최단 경로를 따를 수 있습니다.

IS-IS와 OSPF는 모두 동일한 유형의 세그먼트를 생성하고 보급하며, 둘 다 동일한 방식으로 세그먼트 ID 값을 사용합니다. 그러나 각 프로토콜에는 이 정보를 보급하는 고유한 방법이 있습니다.

SR-MPLS 및 SRv6을 개별적으로 자세히 살펴보는 문서와 이러한 데이터 플레인 프로토콜을 지원하는 IS-IS 및 최단 경로 우선(OSPF) 구성, SR-MPLS 및 SRv6에서 제공하는 고유한 세그먼트 유형을 참조하십시오. 이 자세한 문서를 읽기 전에 독자는 먼저 아래 섹션에 언급된 문서를 읽고 일반적인 세그먼트 라우팅에 대한 폭넓은 이해를 얻는 것이 좋습니다.