주니퍼 블로그
, Juniper Distinguished Eng
주니퍼 블로그
세그먼트 라우팅의 부흥
Aug 13, 2019

인터넷은 원래 가장 저렴한 경로로 베스트에포트(Best-effort)연결을 제공하도록 설계되었습니다비교적 소수의 사이트만 인터넷에 연결되었으며, 해당 사이트 내에서도 이용규정(Acceptable Use Policy, AUP)에 부합되는 애플리케이션만 연결이 가능했습니다.

 

오늘날 수십억의 기업, 가정, 기기들이 인터넷에 연결되어 있습니다. 주요 애플리케이션으로는 원격의료, 교통제어, 금융거래 등이 있습니다이메일과 같이 손실, 지연, 지연 변동(Latency Variation)에 영향을 받지 않는 애플리케이션들이 있는 반면에 게임처럼 민감한 애플리케이션들도 있습니다.

 

오늘날 인터넷 환경에서 많은 애플리케이션이 저렴한 경로를 통한 베스트에포트 연결 이상의 품질을 요구합니다. 이러한 애플리케이션들이 보편적이기 때문에 네트워크 오퍼레이터는 트래픽 엔지니어링과 FRR(Fast Reroute) 같은 고급 서비스를 대규모로 제공해야 합니다이러한 고급 서비스를 광범위하게 제공하기 위해서는 무엇보다 네트워크 복잡성을 줄여야만 합니다.

 

세그먼트 라우팅(Segment Routing, SR)은 혁신적인 방식으로 트래픽 스티어링(Traffic Steering)을 지원합니다세그먼트 라우팅은 트래픽 엔지니어링과 FRR 같은 오래된 문제에 적용할 수 있습니다세그먼트 라우팅을 여기에 적용하면 라우팅 프로토콜, 네트워크 설계, 네트워크 운영을 단순화할 수 있습니다.

 

많은 네트워크 장비 벤더들이 상호운용이 가능한 세그먼트 라우팅 구현을 제공합니다.  하지만 주니퍼 네트웍스와 업계 전반에서 세그먼트 라우팅 혁신이 계속되고 있습니다.  이 블로그 시리즈는 세그먼트 라우팅의 부흥에 대해 소개하고자 합니다.

 

최근의 세그먼트 라우팅 혁신을 이해하기 위해서는 먼저 세그먼트 라우팅의 기초를 알아야 합니다. 따라서 이 블로그 시리즈에서는 세그먼트 라우팅의 기본 원칙을 되짚어 보도록 하겠습니다. 세그먼트 라우팅 기본 원칙에 대한 설명에서 구현과 실험에서 얻은 통찰과 초기 사양에 대한 검토를 다룰 것입니다.

 

이 블로그 시리즈에서 살펴볼 또 다른 내용은 세그먼트 라우팅 구축과 운영에 대한 베스트 프랙티스입니다.  마지막으로 격차와 새로운 요구사항, 그리고 최근의 세그먼트 라우팅 혁신에 대해 알아보도록 하겠습니다.

 

그럼 먼저 SR 도메인과 SR 경로에 대해 살펴보겠습니다.

 

SR 도메인

SR 도메인(SR domain) SR 프로토콜에 관여하는 노드 모음입니다.  SR 도메인 내에서 노드는 ingress/transit/egress절차를 실행할 수 있습니다그림 1은 네트워크에서 소스 노드가 패킷을 목적지 노드로 전송하는 것을 나타냅니다소스 노드와 목적지 노드는 SR 도메인 외부에 있지만 경로는 SR 도메인을 통과합니다.

 

1Capture1.PNG

 

그림 1: SR 도메인

 

패킷이 SR ingress 노드에 도달하면 ingress 노드는 패킷에 정책을 적용합니다정책에는 제약 조건과 액션이 포함됩니다패킷이 조건에 부합되면SR ingress 노드가 해당 패킷을 SR 터널에 캡슐화합니다.  SR 터널은 egress 노드까지 SR 경로를 통과합니다.

 

SR 경로는 최소 링크 대역폭, 최대 경로 지연 등 얼마든지 많은 조건을 지원할 수 있습니다. SR 경로는 egress 노드까지 최소 비용 경로를 따라갈 수도 있고 제약 조건으로 인해 다른 경로를 따라갈 수도 있습니다

 

대부분의 경우 소스 노드와SR ingress 노드는 각각 독립된 하드웨어 플랫폼에 위치합니다예를 들어SR ingress 노드가 라우터라면 소스 노드는 노트북이 될 수 있습니다그러나 항상 그런 것은 아닙니다경우에 따라 소스 노드가 가상 시스템이 되고 SR ingress 노드가 하이퍼 바이저가 될 수도 있습니다둘 다 동일한 하드웨어 플랫폼에 위치할 수 있습니다.

 

마찬가지로 SR egress 노드와 목적지 노드는 각각 독립된 하드웨어 플랫폼에 위치합니다그러나 동일한 단일 플랫폼에 위치할 수도 있습니다.

 

흔하지는 않지만 소스 노드가 SR 도메인 내에 위치하는 구성도 있습니다이 경우 소스 노드는 SR ingress 절차를 실행하기 때문에 SR ingress 노드이기도 합니다. 마찬가지로 목적지 노드가 SR 도메인 내부에 위치할 수도 있습니다이 경우 목적지 노드는 SR egress 절차를 실행하므로 SR egress 노드가 됩니다.

 

SR 경로

SR 경로는 SR ingress 노드를 SR egress 노드에 연결하는 세그먼트 순서 목록입니다.  SR 경로는 ingress에서 egress까지 최소 비용 경로를 따라갈 수도 있고 다른 경로를 따라갈 수도 있습니다.

 

여러 SR 경로가 단일 세그먼트를 공유할 수 있습니다그림 2는 경로 A Ingress A Egress Z에 연결하고, 경로 B Ingress B를 동일한 Egress Z 노드에 연결하는 예를 보여줍니다두 경로 모두 세그먼트 3을 통과합니다.

1Capture2.PNG

그림 2: 동일한 세그먼트를 공유하는 SR 경로들

SR ingress 노드는 패킷을 SR 터널에 캡슐화할 때 연관 세그먼트 목록을 터널 헤더에 인코딩합니다그런 다음 패킷을 다운스트림으로 포워딩합니다.  transit노드는 터널 헤더를 처리하여 패킷을 현 세그먼트에서 다음 세그먼트로 전달합니다.

 

SR ingress 노드가 터널 헤더에 경로 정보를 인코딩하므로 transit 노드에서 지원 경로와 관련된 정보를 유지할 필요가 없습니다.   transit 노드는 터널 헤더를 처리하여 현재 세그먼트에서 다음 세그먼트로 패킷을 전달합니다.

 

이것이 SR의 주요 이점입니다.  transit 노드는 경로 정보를 유지할 필요가 없기 때문에 정보를 유지 관리하는 데 따른 오버헤드가 제거됩니다. 라우팅 프로토콜이 단순화되고 확장성이 향상되며 네트워크 운영이 용이해집니다.

 

경로 정보를 패킷 안에 인코딩하고 transit 노드에서 제거하는 엔지니어링 트레이드오프로 인해 몇 가지 새로운 문제가 발생하지만, 충분히 감수할 만큼 득이 더 많습니다.   이러한 엔지니어링 트레이드오프에 대해서는 다음 편에서 살펴보도록 하겠습니다.

 

다음 편

이 블로그 시리즈의 다음 편에서는 세그먼트와 세그먼트 유형의 정의에 대해 설명하도록 하겠습니다.

0 포인트