Skip to main content

Command Palette

Search for a command to run...

Efficient Network Management and Optimization: From IP QoS to MPLS Traffic Engineering

Updated
26 min read
Efficient Network Management and Optimization: From IP QoS to MPLS Traffic Engineering

Contents

1️⃣IP QoS
2️⃣IP QoS 패킷 처리 프레임워크 (IP QoS Packet Process Framework)
3️⃣QoS서비스 모델
4️⃣MPLS(Multi Protocol Label Switching)
5️⃣MPLS와 트래픽 엔지니어링(Traffic Engineering)


Summary

  1. QoS (Quality of Service): 인터넷의 다양한 서비스를 품질과 성능으로 보장하여 사용자 요구를 충족하는 기술. 주요 기능으로는 Classification(패킷 분류), Metering & Marking(허용치 준수 확인), Policing & Queueing(정책에 따른 패킷 처리), Scheduling(패킷 전송 순서 결정)이 있다.

  2. 서비스 모델:

    • 통합 서비스 모델(IntServ): 서비스 플로우별로 경로상 라우터 자원을 예약하여 사용.

    • 차등 서비스 모델(DiffServ): 서비스 그룹별로 우선순위를 설정하여 간략화된 방식으로 자원 관리.

  3. MPLS (Multi-Protocol Label Switching):

    • 목적지 기반 라우팅 대신 라벨 기반 스위칭으로 빠른 데이터 전송과 라우터 부담 감소를 제공.

    • 트래픽 엔지니어링(TE): 네트워크 자원을 효율적으로 활용하며, 경로 설정 시 네트워크 효율성을 고려하여 트래픽을 분산.

  4. 핵심 장점:

    • MPLS-TE는 라벨 기반 스위칭과 트래픽 엔지니어링을 통합하여 네트워크 안정성과 QoS 보장 강화.

    • 기존 IGP 프로토콜과 통합하여 경로 설정 최적화를 지원하며, RSVP-TE를 활용하여 라벨 및 경로 설정.

IP QoS와 MPLS의 두가지 주제에 대해 공부한다. QoS는 Quality of Service의 약자이다. 인터넷 전송속도는 빠르면 빠를수록 좋다. 하지만 빠를수록 좋은건가? 에 대한 의문이 들만하다. 비디오 시청, 대화, 문서열람등 서비스는 다양한데 서비스마다 중요하게 여겨지는 요소가 있을수있다. 이러한 것을 세부적으로 관리하고 제공할 수 있어야만 사용자의 입장에서 편리하게 인터넷을 사용할 수 있게 된다. 인터넷의 서비스 품질은 시간이 갈수록 중요한 역할을 할 것이다. 하지만 인터넷 품질을 무엇으로 정의할것인가? 어떤 기술을 이용해서 품질을 올릴 것인가? 는 어려운 주제이다. 두번째로 MPLS는 이미 한번 언급된 적이 있는데, 인터넷에서 라우팅 테이블을 검색하는 과정이 시간이 걸리고 부화가 많이 걸리는 작업인데 이것을 대체하기 위해 라벨 스위칭에 대해 배운 적이있다. 이것을 구체적으로 다룬것을 MPLS라고 한다.


IP QoS #1: 개요

💡요약: 서비스 품질(QoS, Quality of Service)란? 물건을 구매하기 위해 상점을 갔을때 상점에 제공받는 서비스에 대해 보통, 좋음, 나쁨으로 평가를하게 되는데 인터넷에서 이루어지는 서비스 품질 또한 마찬가지이다. 인터넷에서 제공받는 다양한 응용서비스의 품질이 얼마나 잘 보존되어서 서비스의 욕구를 충족시키는 지를 QoS라고한다. 서비스 플로우를 정의하고 구분하는 작업은 QoS 구현의 첫 단계이며, 서비스별 요구사항(대역폭, 지연시간, 신뢰성 등)을 충족시키는 것이 핵심 과제이다. 향후 인터넷 서비스가 더욱 정교해질수록 QoS의 중요성은 더욱 커지게 될 것이다.

✅ 데이터 흐름 분리의 필요성 (The need to separate data flows)

  • 인터넷은 많은 데이터가 동시에 흐르고 있다. 단순한 IP 패킷처럼 보이지만, 각 패킷이 처리해야 하는 서비스는 다르다.

  • 예:

    • 실시간 음성 통화 → 낮은 지연시간 필요

    • 동영상 스트리밍 → 높은 대역폭 필요

    • 메시지 전송 → 높은 신뢰성 필요

✅ 서비스 플로우(Service Flow)의 정의

  • QoS를 관리하려면 데이터 흐름을 서비스 플로우 단위로 구분해야 한다. 송신/수신 IP 주소, 포트 번호, 프로토콜 정보를 이용하여 5-tuple로 데이터를 구분한다.

  • 경우에 따라 TOS를 추가하여 6-tuple로 정의하여 더 세부적인 구분이 가능하다.

✅ 서비스 품질에 영향을 주는 요소들 (Factors affecting service quality)

  • 대역폭 (Bandwidth): 특정 서비스가 안정적으로 실행되기 위해 필요한 네트워크 용량. 예: 동영상 스트리밍 서비스는 넓은 대역폭 필요.

  • 지연시간 (Latency): 데이터가 목적지에 도달하는 데 걸리는 시간. 예: 자율주행 차량은 낮은 지연시간 필요.

  • 신뢰성 (Reliability): 데이터가 손실 없이 전달되는 비율. 예: 메시지 서비스는 높은 신뢰성이 요구됨.

  • 지터 (Jitter): 패킷 간 도달 시간의 변동. 예: VoIP 통화는 낮은 지터 필요.

✅ QoS를 제공하는 기술 (Technologies to provide QoS)

  • 2계층(Data Link Layer): 2계층을 포함하는 경우에는 2계층 헤더에서 플로우와 관계된 정보를 추출하여 사용한다. 특수 헤더(802.1p/Q Priority)를 추가하여 우선순위 설정한다.

  • MPLS: 라벨(label)을 이용해 데이터 흐름을 구분하고 효율적으로 관리한다. (MPLS Label)


IP QoS #1: 기존 IP 네트워크의 문제점(Problems with Existing IP Networks)

💡요약: 기존 IP 네트워크는 대부분의 기능을 종단 장치(End-point)에 집중하며, 네트워크 내부는 단순히 데이터를 전달하는 역할만 수행한다. 이로 인해 최선형 서비스(Best-effort)라는 한계를 가지며, 지연이나 데이터 손실이 발생할 수 있다. 인터넷 사용자의 요구가 다양해지고 멀티미디어 서비스가 증가하면서, IP QoS의 필요성이 더욱 부각되고 있다. QoS는 사용자 요구를 충족시키기 위해 데이터 흐름을 관리하고 서비스 품질을 보장하려는 기술이다. 그러나 QoS 구현은 서비스 품질의 정의와 장치 간 협력의 복잡성 때문에 어려움을 겪고 있다.

✅ 네트워크 기능의 종단 집중화 (Concentration of network functions at endpoints)

  • IP 네트워크는 대부분의 기능을 종단 장치(End-point), 즉 사용자 컴퓨터와 서버에 집중하고 있다.

  • 네트워크의 역할은 주로 "데이터를 목적지까지 얼마나 잘 전달하느냐"에 초점이 맞춰져 있다.
    (The network's role is primarily focused on "how well data is delivered to its destination.")

✅ 네트워크 내부의 단순 역할 (Simple role of the network core)

  • 네트워크 내부 장치(라우터 등)는 목적지 주소를 기반으로 패킷을 전달하는 기본적인 기능만 수행한다.

  • 이로 인해 IP 네트워크는 데이터 전달 지연, 패킷 손실 등이 발생할 수 있는 즉 요청한 서비스를 최대한 들어주지만 상황이 여의치않으면 안될 수도 있다 - 를 나타내고 있다. 서비스 품질을 보장하지는 못한다는 뜻이다. 이를 최선형(Best-effort) 서비스 특성을 가진다라고 한다.
    (This results in a "best-effort" service characteristic, where delays or packet losses can occur.)

✅ 서비스 품질(QoS) 보장 부족 (Lack of Quality of Service assurance)

  • 최선형 서비스는 요청한 서비스를 최대한 제공하려 하지만, 상황에 따라 제공하지 못할 수도 있다.

  • 결과적으로 사용자 요구를 충족하기 어렵고, 서비스 품질을 보장하지 못한다.


IP QoS #1: IP QoS의 필요성 (The Need for IP QoS)

✅ 사용자 요구의 변화 (Changing user demands)

  • 초기 인터넷은 전송 속도 향상에 초점이 맞춰져 있었다.

  • 그러나 현재는 단순 웹 서비스 외에 멀티미디어 서비스(예: 동영상 스트리밍, 화상 회의)가 증가하고 있다. 이러한 서비스는 넓은 대역폭, 낮은 지연시간, 실시간 전송을 요구한다.

✅ 서비스 품질 관리의 필요성 (Need for service quality management)

  • 사용자 요구를 정확히 파악하고 이에 맞는 서비스 품질을 제공해야 한다.
    (Identify user demands accurately and provide the appropriate quality of service.)

  • 단순히 대역폭을 넓히는 것을 넘어, 네트워크 장치와 기술이 협력하여 사용자 경험을 개선해야 한다.


IP QoS #1: QoS 구현의 어려움 (Challenges in Implementing QoS)

  • 서비스 품질 정의의 어려움: QoS를 어떤 기준으로 정의할지 의견이 다를 수 있다.
    (Defining QoS criteria can lead to differing opinions.)

  • 인터넷 장치 간 협력의 복잡성: 인터넷에 연결된 모든 장치가 어떻게 QoS를 지원할지 명확한 해법이 없다.
    (Coordinating all internet-connected devices to support QoS lacks a clear solution.)

그럼에도 불구하고 QoS의 발전을 위한 노력들이 많이 시도되고있는데 이러한 시도들에 대해 오늘 배워볼 예정이다.


2️⃣IP QoS 패킷 처리 프레임워크 (IP QoS Packet Process Framework)

💡요약: 이런 IP QoS를 제공하기위해서는 네트워크 장치들, 라우터 장치에서 패킷을 수신 후 패킷을 아래의 단계들을 통해 포워딩을 하는데 이것 뿐만아니라 IP QoS를 요구 사항에 따라 잘 처리 하기위해서 어떤식으로 패킷을 처리할 것인지 프레임워크를 잡아놓은 개념에 대해 배워본다.

아 예제는 IP QoS를 제공하기 위한 네트워크 장치의 패킷 처리 과정을 시각적으로 설명하고 있다. 네트워크 장치는 패킷을 수신한 후 Input traffic stream에서 시작해, 각 단계를 거쳐 Output traffic stream으로 전달되는데, 아래의 단계들을 통해 QoS 요구사항에 따라 패킷을 처리한다. IP QoS 처리 프레임워크는 네트워크에서 트래픽을 효율적으로 관리하고, 사용자의 서비스 품질 요구를 충족시키기 위한 핵심 메커니즘이다.

패킷 수신 (Input traffic stream) ➡️ Classification: 패킷이 속한 서비스 플로우 식별. ➡️ Metering & Marking: 서비스 플로우의 트래픽 범위를 파악하여 허용 범위 준수 여부 확인 및 필드 마킹. ➡️ Policing & Queueing: 마킹값에 따라 패킷 폐기 또는 버퍼 저장하는 기능 ➡️ Scheduling: 버퍼에 저장된 여러개의 서비스 플로우 중에서 패킷의 전송 순서 결정. ➡️ Shaping: 대역폭 초과 패킷을 잠시 지연 처리하여 대역폭을 준수하도록 하는 기능. ➡️ 패킷 전송 (Output traffic stream).


IP QoS 패킷 처리 프레임워크 #1: Classification

💡요약: IP QoS에서 Classification은 패킷 헤더 정보를 기반으로 서비스 플로우를 구분하는 작업이다. IPv4의 TOS 필드에서 시작된 IP Precedence는 상위 3비트를 사용해 패킷의 우선순위를 나타냈으며, 이를 확장한 DSCP는 상위 6비트를 활용해 더 세밀하게 우선순위와 삭제 가능성을 구분한다. 이런 기능들이 IPv6에서는 Flow Label로 정의되어있다.

✅Classification

Classification은 패킷 헤더의 필드를 읽어 패킷이 어떤 서비스 플로우(Service Flow)에 포함되는지를 구분하는 작업이다. 아래의 정보들을 이용해서 내가 수신한 패킷이 어떤 서비스 플로우에 소속 되어 있는지를 구분하고 있다.

  • 5-tuple: 송신지/목적지 IP 주소, 송신지/목적지 포트 주소, 프로토콜 정보로 구성됩니다.

  • 6-tuple: 위 정보에 추가적으로 TOS(Type of Service)를 포함합니다.

IPv6에서는 Flow Label이라는 필드를 사용해 이러한 분류를 간단히 수행할 수 있다. Flow Label을 읽으면 패킷의 서비스 플로우를 한 번에 확인 가능하다. IPv4에서는 Flow Label과 같은 기능이 없는걸까? 그것은 아니다. IP Precedence라는 기능이 사용되된다.TOS 필드만을 사용하여 패킷을 분류하고 중요도를 표기하는 방법(RFC791)이다. 현재는 흔적만 남아있고 아무도 채택해서 사용하고 있지는 않다. 어쨌든 초창기에 정의된 컨셉이라고 알고 넘어가면 되겠다. 표준넘버 RFC791만 봐도 알수 있듯이 요즘 사용되는 수천 번대의 표준 넘버와 비교 했을때 낮은 표준 번호를 가지고있다는 뜻은 그만큼 초창기 방법이라는 뜻이다.


✅ IP Precedence

  • 역할: 8비트 중에서 상위 3비트를 이용하여 중요도를 표시하고 나머지 5비트로 서비스 특징을 나타낸다. 상위 3비트는 아래 예제에서 Prec에 해당한다.
    (The top 3 bits of the TOS field in IPv4 are used to define packet importance.)

  • 중요도 정의: 숫자가 클수록 높은 우선순위를 가진다. 우선순위가 갖고 라우터가 처리하게 된다.

    • 범위: 0~7, 예) 우선순위 7의 패킷은 1보다 더 빠르게 처리된다.
  • 나머지 5비트: 서비스 특징을 정의.

    • D: Minimize delay

    • T: Maximize throughput

    • R: Maximize reliability

    • C: Minimize cost


✅ DSCP (Differentiated Services Code Points)

💡요약: TOS필드를 사용하여 패킷의 중요도를 표기하는 또 다른 방법으로DSCP(Differentiated Services Code Points)가 있다. 상위 6비트를 이용하여 중요도를 표시하고 나머지 1비트는 ECN(Explicit Congestion Notification)으로 활용 하도록 설계 하였다. ECN은 IP QoS와 관계된 것은 아니고 TCP의 혼잡정보를 전달하는데 활용하자는 개념이기 때문에 깊게 들어가진않는다. 중요한점은 상위 6비트를 이용한다는 점이다.

  • 발전된 형태: IPv4의 TOS 필드를 기반으로 상위 6비트를 사용하여 패킷의 중요도를 더 정교하게 정의한다.
    (An evolved form using the top 6 bits of the TOS field for detailed packet importance.)

  • 상위 3비트: 패킷 우선순위(Priority), IP PRec와 개념이 유사하다.

  • 다음 2비트: Drop Precedence (패킷 삭제 우선순위), 패킷을 버릴 가능성이 정도가 높은 패킷을 구분해놓은 것

    • Low(01), Medium(10), High(11)로 구분.

    • 값이 클수록 삭제 가능성이 높다는 뜻이다. 이 값들은 matering 하고 marking 과정에서 사용한다.

  • 마지막 1비트: ECN(Explicit Congestion Notification).

    • 미적으로 남겨둔 상태

✅ DSCP 코드 분류 (Differentiated Services Code Points)

💡요약: 3번째 첨부된 이미지처럼 DSCP코드 값은 총 3가지로 구분된다. 1번째는 CS, 2번째는 AF, 3번째는 EF이다. 아래로 내려갈수록 우선순위가 높게 처리됨을 확인해보자. 즉 EF가 가장 최선 순위의 코드 값이라고 생각하면 되겠다.

  1. CS (Class Selector)

    • IP Precedence와의 호환성을 위해 정의.

    • 상위 3비트는 Precedence와 동일.

  2. AF (Assured Forwarding)

    • 4개의 클래스와 각 클래스 내 3개의 Drop Precedence로 구성.

    • 예: AF11, AF12, AF13.

  3. EF (Expedited Forwarding)

    • 가장 높은 우선순위 코드.

    • 네트워크에서 즉각적인 처리가 필요할 때 사용.


✅ DSCP 코드 값

  • CS 영역: DSCP 6비트중에 상위3비트를 IP Prec하고 동일하게 맞춰주었다. 000, 001 , 010 이런식으로. 이게 IP Precedence값의 의미에서 나온 Prec부분에서 7개로 나뉘어진 부분을 의미한다.

  • AF 영역: 실제로 많이 활용하는 것은 AF이다. AF클래스에서는 총 4개의 클래스가 정의된다. 001, 010, 011, 100 이렇게 4가지이다. 각각의 클래스안에서 패킷삭제 우선 순위를 3가지로 분류하도록 정의되어있다. 이는 DSCP Field 예제에서 등장한 low, medium, high 의 컨셉을 의미한다. 어떤 패킷을 classification 했을때 그 패킷에 대해 삭제할 가능성이 높은것/낮은것 그 우선순위값들을 정의하고 있는데 사실상 그 뒤에있는 값들이 설정되는 것은 classification 에서 나오는것은아니고 뒤에서나올 matering 에 의해 이 값이 매겨진다.

  • EF 값: 101 110(십진수 46)로 가장 높은 우선순위를 가진다.


IP QoS 패킷 처리 프레임워크 #2: Matering & Marking

💡요약 :Metering & Marking은 IP 패킷 스트림(서비스 플로우)의 특성을 측정하여, 허용된 전송률을 준수하는지 판단(CIRPIR 기준)하고 결과에 따라 패킷을 마킹(Marking)하는 기능이다. 여기서 나오는 marking은 classification에서 언급된 drop precedence와 동일하다. DSCP 필드의 Drop Precedence 값을 설정하거나 변경하는 작업이며, 이를 통해 네트워크 정책(Policy)에 따라 패킷을 처리할 수 있다.

요약본에서 언급된 IP 패킷 스트림의 특성을 측정하는 기술은 총 3가지가 존재한다.

  1. RFC2697 A Single Rate Three Color Marker(srTCM)

  2. RFC2698 A Two Rate Tree Color Marker(trTCM)

  3. RFC2859 A Time Sliding Window Three Color Marker(tswTCM)

여기에서 RFC2698 A Two Rate Tree Color Marker(trTCM)에 대해서 공부해본다.


✅ trTCM(A Two Rate Three Color Marker)

💡요약: 전송율은 두개(PIR, CIR)가 정의되어있고 세개의 색깔(빨, 노, 초)로 마킹한다는 뜻인다. 이 3개의 색깔(three color marker)는 첨부된 이미지 DSCP field의 drop precedence를 의미한다.

  • 전송률 측정

    • 패킷 스트림의 전송률을 최대 전송률(PIR)보장 전송률(CIR) 기준으로 비교한다.

    • PIR: 네트워크가 허용할 수 있는 최대 전송률.

    • CIR: 네트워크가 반드시 보장해야 하는 최소 전송률.

  • Three-Color Marker (RFC2698: trTCM)

    • 세 가지 색깔(Green, Yellow, Red)로 패킷의 상태를 마킹한다.

    • 기준)

      • Green: 전송률이 CIR 이하인 경우.

      • Yellow: 전송률이 CIR 초과, PIR 이하인 경우.

      • Red: 전송률이 PIR 초과인 경우.


X축(Time)과 Y축(Rate)에서 CIR은 최소 보장 전송률, PIR은 최대 허용 전송률로 나타나며, 전송률이 각각의 범위를 넘어서면 색깔에 따라 표시된다.

  • Green: CIR 이하로 네트워크에서 보장된 전송률 → 안정적으로 전달.

  • Yellow: CIR 초과이지만 PIR 이하인 전송률 → 조건부 전송 가능.

  • Red: PIR 초과로 네트워크가 처리하기 어려운 상황 → 삭제 우선순위로 지정 가능.

결과: 네트워크 장비는 마킹된 패킷을 기반으로 설정된 정책에 따라 다르게 처리한다. 레드의 경우 삭제 우선순위라는 뜻은 라우터가 과부하 상태일 때, Red로 마킹된 패킷부터 삭제한다는 뜻이다.


IP QoS 패킷 처리 프레임워크 #4 : Policing & Queuing

💡요약: Policing & Queueing은 서비스 플로우별 정책에 따라 패킷을 폐기하거나 버퍼에 저장하는 기능이다. 라우터가 충분히 여유가 있다면 폐기는 일어나지 않지만, 처리 한계에 도달했을 때 다양한 정책에 따라 패킷 폐기가 이루어진다. 주요 폐기 메커니즘은 Tail-Drop, Random Early Detection(RED), Weighted Random Early Detection(WRED)로 나뉜다.

Tail-Drop Mechanism

  • 작동 방식: 미처 전송되지 못한 패킷들이 버퍼에 쌓여서 결국의 버퍼 용량을 초과하는 경우, 버퍼가 가득 찼을 때 초과된 패킷을 강제로 폐기하는 방식이다.

  • 특징: Marking(Green, Yellow, Red) 결과와 상관없이 버퍼 용량 초과 시 패킷을 삭제함

  • 문제점:

    • 패킷을 버리는 순간에 순식간에 폐기 처리가 된다. TCP Slow Start (패킷 손실이 발생시 혼잡 윈도우를 줄이고 전송률을 낮춘후, 느린 시작으로 패킷 전송률을 조금씩 늘리는과정)가 발생.

    • 1개의 경우엔 문제가 없지만 모든 장치에 느린시작이 발생 된다면 추후 다시 트래픽이 폭주할 가능성이 높다. 즉 여러 TCP 연결에서 동시에 혼잡 창을 줄이며 Global Synchronization 문제를 초래.

  • 비유: 강물이 댐을 넘칠 때 초과된 물을 강제로 흘려보내는 상황.


Tail-Drop Mechanism이 원인으로 지적되는 Global Synchronization은 RED로 해결가능하다


Random Early Detection (RED)

  • 작동 방식: 버퍼가 가득 차기 전에, 현재 버퍼 점유량에 따라 수신 패킷을 임의의 확률로(Randomly) 폐기하는 것이다.

  • 목적: Global Synchronization 문제 해결.

  • x축은 버퍼에 있는 패킷량을 표현하고 y축은 폐기 확률을 의미한다.

    • THmin~THmax 구간에서 패킷 폐기 확률이 선형적으로 증가.

    • THmax 도달 시 폐기 확률 100%로 설정한다. 버퍼에 있는 패킷량은 THmax를 결코 초과하지 못하게 된다. 행여나 폐기확률과 THmax의 오버플로우가 되는 부분은 Tail drop의 영역으로 넘어가게 된다.

    • 폐기 확률 Pmax로 Tail-Drop 전 패킷을 랜덤 폐기하여 과부하를 방지.

  • 비유: 댐에서 물이 넘치기 전에 미리 물을 빼는 방식. 용량 초과시 어쩔수 없이 버리는 것이 아닌 RED는 패킷이 꽉 차지도 않았는데 미리 일부러 버리는것이다.


Weighted Random Early Detection (WRED)

  • 작동 방식: 트래픽 클래스별로 RED를 다르게 적용하여 패킷의 우선순위를 반영.

  • Marking 결과에 따라 패킷 삭제 확률을 차등 적용한다. 위와 같은 방식을 통해 앞에서 이야기한 marking의 결과들이 유연하게 활용된다.

    • Red (우선삭제): 삭제 확률이 가장 높음.

    • Yellow: 삭제 확률이 중간.

    • Green (최후삭제): 삭제 확률이 가장 낮음.

  • 활용: Marking의 결과(Green, Yellow, Red)를 기반으로 네트워크 자원을 효율적으로 관리할 수 있게 된다.


✅Rate-Limiting Scheme

  • 작동 방식: 계약된 대역폭 이상의 패킷을 폐기하는 방식이다.

  • offered traffic에서 rate-limited traffic이 넘는 구간은 모두다 자른다.

    • trTCM과 같은 기술을 활용하여 Red로 표시된 패킷 폐기.

    • 초과 트래픽을 제한하여 네트워크 안정성 유지.

  • 비유: 계약된 데이터 요금제를 초과한 트래픽은 차단.


IP QoS 패킷 처리 프레임워크 #5: Scheduling & Rate-Shaping

💡요약: 내부적으로 어떤 방식을 통하던간에 내부적으로 저장된 buffer에 저장하는데 어떻게 저장할 것인지, 버퍼로부터 어떤 식으로 패킷을 끄집어서 전달할 것인지를 정의한 것을 scheduling이라고한다. 이 방식은 굉장히 많은 방식이 존재하고 새로운 방식이 제안되고 있다. 다시 정리하자면 큐(Queue)에 저장된 여러 개의 서비스 플로우 중에서 어떤 패킷을 전송할 것인가를 결정하는 절차라고 할수있다. 여러 방식 중에서 간단하게 4가지의 컨셉을 소개한다. 또한, Rate-Shaping은 초과 트래픽을 버리지 않고 버퍼링을 통해 대역폭을 조정하는 방식이다.

✅Scheduling의 주요 방식

  1. FIFO (First Input First Output)

    • 설명: 입력된 순서대로 단일 큐로 구성하여 네트워크 장비에 도착한 순서대로 전송하는 방식

    • 장점: 단순한 구조.

    • 단점: 서비스 플로우 구분이 없어 QoS 제공이 불가능.

  2. SPQ (Strict Priority Queueing)

    • 설명: 우선순위가 정해진 다수의 FIFO 큐에서 높은 우선순위 큐의 패킷을 항상 우선적으로 전송.

    • 장점: 높은 우선순위 패킷에 신속 대응. 단순하다.

    • 단점: 낮은 우선순위 트래픽은 전송되지 않을 가능성(Starvation 문제).

  3. WFQ (Weighted Fair Queueing)

    • 설명: 서비스 클래스별로 대역폭을 공평하게 나누되, 가중치를 부여하여 차별화.

    • 장점: 서비스 품질 보장이 가능.

    • 단점: 고속 네트워크에서 확장성 부족.

  4. CBQ (Class-Based Queueing)

    • 설명: 서비스 클래스별 큐를 정의하고, 각 큐별로 서비스되는 트래픽의 전송량을 조절하는 방식

    • 장점: 특정 클래스가 시스템 자원을 독점하지 못하도록 제어.

    • 단점: 복잡한 큐 관리로 인해 고속 네트워크에서 확장성 문제가 있음.


✅Rate-Shaping Scheme: 초과 트래픽을 폐기하지 않고 저장 후 전송하여 패킷 유실을 최소화하는 방식이다. 두 메커니즘은 네트워크의 안정성과 효율성을 유지하는 데 중요한 역할을 한다.

  • 작동 방식:

    • 최대 전송률을 초과한 패킷은 버퍼링하고, 이후 대역폭에 맞게 순차적으로 전송.

    • 패킷 폐기 대신 일시적으로 저장한 후 전송함으로써 패킷 유실을 최소화.

  • Rate-Limiting과의 차이점:

    • Rate-Limiting: 초과 트래픽을 즉시 폐기.

    • Rate-Shaping: 초과 트래픽을 저장(buffering) 후 전송.

  • 첨부된 이미지 설명:

    • 왼쪽: Offered traffic이 최대 전송률을 초과.

    • 오른쪽: Rate-Shaping을 통해 초과된 트래픽을 버퍼링 후 조정된 대역폭으로 전송.


✅ Scheduling과 Rate-Shaping의 관계

  • Scheduling은 패킷 전송 우선순위를 결정.

  • Rate-Shaping은 초과된 트래픽을 처리하여 네트워크 효율성을 높임.


IP QoS #6: QoS서비스 모델

💡요약: 지금까지 하나의 네트워크 장치 내부에서 수행하는 여러가지 절차에 대해 공부해보았다. 그 과정상에서 IP QoS를 지원하기위한 여러가지 매커니즘또한 공부하였다. 라우터 내부 장치를 수행하는것은 아주 중요하지만 네트워크라는 거대한 주제를 본다면 수많은 라우터들이 어떻게 연동해서 서비스 품질을 만족 시킬 것 인지가 훨씬 더 중요하고 어려운 문제이다. 네트워크 전체에서 어떤 노력을 통해 서비스 품질을 만족시킬지에 대한 내용인 "통합 서비스 모델(IntServ, Integrated Service Model)"에 관해 알아본다.

통합 서비스 모델(IntServ)은 개별 서비스 플로우에 자원을 사전 예약하여 QoS를 명확히 보장하는 강력한 모델이다. 하지만, 네트워크 장비가 모든 서비스 플로우의 상태 정보를 유지해야 하는 부담으로 인해 대규모 네트워크에서는 확장성이 부족한 단점이 있다. RSVP를 통해 자원 예약과 연결 수락을 수행하며, 소규모 네트워크나 특정 환경에서는 높은 서비스 품질을 제공할 수 있는 장점을 가지고 있다.

✅ 통합 서비스 모델(IntServ)의 개념

  • IntServ서비스 플로우 단위로 QoS를 제공하기 위한 모델로,

    • QoS 보장형비보장형 플로우로 나뉜다.

    • 각 서비스 플로우가 요구하는 자원(대역폭, 지연 등)을 라우터에게 사전에 예약하여 QoS를 보장하는 방식이다.

  • 작동 방식:

    1. 자원 예약: 시작하려는 서비스가 필요한 자원(대역폭, 지연 등)을 라우터에게 요청.

    2. 프로토콜 활용: 자원 예약 프로토콜인 RSVP(Resource Reservation Protocol)을 통해 자원을 사전에 예약하고 연결을 수락.

    3. 서비스 시작: 자원이 확보되면 해당 플로우에 대해 QoS를 보장하며 서비스를 시작.


✅ RSVP (Resource Reservation Protocol)

  • RSVP의 역할: 네트워크 장치 간에 자원을 예약하고 연결을 수락하여 서비스 품질 보장 가능 여부를 확인한다. 자원이 확보되면 예약된 자원으로 서비스를 제공하게 된다.

✅ 통합 서비스 모델(IntServ)의 특징

  1. 장점:

    • QoS 보장: 개별 서비스 플로우에 대해 명확한 자원 할당이 이루어지므로 높은 서비스 품질 제공.
  2. 단점:

    • 상태 정보 유지: 각 서비스 플로우에 대한 상태 정보를 네트워크 장비가 유지해야 하므로 규모 확장(Scalability)에 제약이 있음.

    • 네트워크 규모가 커질수록 장치 부담이 커져 전체적인 효율성이 떨어질 수 있음.


IP QoS #7: RSVP (Resource Reservation Protocol)의 작동 방식

💡설명: 통합 서비스 모델(IntServ, Integrated Service Model)에서 RSVP(Resource Reservation Protocol)는 어떻게 작동할까? 상세하게 알아볼 필요 까진 없고 대략적으로 알아보자.

✅ RSVP의 특징

  • 수신단 주도: 방향성을 갖는 수신자의 주도로 자원 예약을 요청하며, 송신자는 트래픽 특성을 명시다.

  • 상태 유지: 각 라우터는 서비스 플로우별 상태 정보를 유지해야 하므로, 네트워크 확장성에 한계가 있을 수 있다.

  • 자동 해제: 라우터에 예약된 자원은 고정되지 않으며, 일정 시간이 지나면 해제되므로 주기적인 자원예약이 필요하다.

  • PATH 메시지 (파란색 화살표): 송신자에서 시작하여 각 라우터를 거쳐 최종 수신자까지 전달된다.

  • RESV 메시지 (빨간색 화살표): 수신자가 송신자로 역방향으로 전송하며, 자원을 최종적으로 예약한다.

✅ RSVP의 주요 동작 절차

  1. 송신자의 PATH 메시지 전송

    • 송신자는 트래픽 특성(최대/최소 전송 대역폭, 지연 등)을 포함한 PATH 메시지를 수신자 방향으로 전송한다.

    • 라우터들은 PATH 메시지를 처리하며, 메시지에 포함된 트래픽 특성을 확인다.

  2. 라우터의 판단

    • PATH 메시지를 수신한 각 라우터(RtrC, RtrD 등)는 해당 자원을 제공할 수 있는지 판단하고, 결과를 라우터에 기록한다.

    • 모든 라우터가 판단을 완료한 뒤, PATH 메시지를 다음 노드로 전달한다.

  3. 수신자의 RESV 메시지 전송

    • 최종 수신자는 모든 라우터가 자원을 제공할 수 있다고 판단한 경우(하나의 라우터라도 no라고 하면 안된다), RESV 메시지를 전송하여 자원을 예약한다.

    • 이 RESV 메시지는 송신자로 다시 전달되며, 네트워크에서 해당 서비스 플로우에 대한 자원이 예약된다.

  4. 자원 할당 및 유지

    • 절차가 완료되면 각 라우터는 관련 플로우의 상태정보를 유지하고, 대역폭 및 버퍼 공간이 할당된다. 관련 플로우의 상태 정보가 라우터에 유지되게 된다.

    • 예약된 자원은 일정 시간 후 자동 해제되므로, 주기적인 자원 예약이 필요하다.


IP QoS #8: 통합 서비스 모델(IntServ)의 서비스 유형

💡요약: 통합 서비스 모델(IntServ)은 RSVP라는 프로토콜을 통해 네트워크 자원을 예약하고 서비스를 시작하게 되는데, 서비스 요구에 따라 3가지 주요 서비스 유형으로 나뉜다. 각 서비스 유형은 QoS 수준과 네트워크 자원 관리 방식이 다르다.

통합 서비스 모델은 다양한 서비스 요구를 충족하기 위해 보장형, 부하 제어형, 최선형 서비스로 구성된다. 보장형 서비스는 실시간 애플리케이션에 적합하며, 부하 제어형 서비스는 QoS를 일정 수준 제공하고, 최선형 서비스는 기본 데이터 전송에 사용된다.

✅ 보장형 서비스 (Guaranteed Service)

  • 특징: 최악의 경우에도 전송 지연 시간을 보장.

  • 적용 사례: 실시간 애플리케이션(영상 스트리밍, 화상 통화, 음성 서비스) 등.

  • 장점: 지연이 일정하게 유지되므로 민감한 데이터를 안정적으로 전송 가능.

  • 설명: 라우터는 경로 내 자원을 사전 예약하여, 지연이나 대역폭 부족을 방지.


✅ 부하 제어형 서비스 (Controlled Load Service)

  • 특징: 네트워크 트래픽을 제어하여, 트래픽이 적은 상태의 품질을 제공.

  • 적용 사례: 지연에 민감하지 않지만 일정 수준의 품질이 요구되는 서비스.

  • 장점: 네트워크 부하를 효율적으로 관리하면서 QoS를 어느 정도 보장.

  • 설명:

    • 기존 네트워크가 트래픽 부하가 적을 때의 상태를 유지하려는 방식.

    • 보장형 서비스보다는 덜 엄격한 품질 기준을 적용.


✅ 최선형 서비스 (Best-Effort Service)

  • 특징: 제약 조건이 없으며, 현재 가용 자원만 활용.
  • 적용 사례: 기본적인 데이터 전송(이메일, 웹 브라우징 등).

  • 단점: 패킷 손실, 지연, 대역폭 부족 등 서비스 품질 보장 없음.

  • 설명: IP QoS를 지원하지 않으며, 모든 패킷에 동일한 우선순위를 적용.


IP QoS #9: 차등 서비스 모델(DiffServ, Differential Service Model)

💡요약: 차등 서비스 모델(DiffServ, Differential Service Model)에 대해 알아본다. 통합 서비스 모델은 각각의 서비스가 생성될 때마다 네트워크 자원을 예약하고 할당 받은 후에 예약하기 때문에 복잡하다. 서비스 플로우의 갯수가 증가하게 되면 네트워크 장치, 즉 라우터들의 부담은 엄청나게 커질 수 밖에 없다. 차등 서비스의 모델은 서비스 플로우 단위의 세밀한 제어를 포기하고, 서비스 그룹을 정의하여 그들 간의 우선 순위를 제공하는 서비스 모델이다.

✅ 차등 서비스 모델의 주요 개념

  1. 통합 서비스 모델(IntServ)의 한계

    • IntServ는 서비스 플로우 단위로 자원을 예약하기 때문에, 서비스 플로우가 증가하면 라우터의 부담이 크게 증가.

    • 자원 예약과 상태 정보를 유지해야 하므로 확장성 부족.

  2. DiffServ의 접근 방식

    • 개별 서비스 플로우 대신 서비스 그룹(클래스)을 정의하여 그룹 간 우선순위를 제공합니다.

    • 차등 서비스 모델에서는 패킷 분류와 같은 트래픽 조절 기능이 모두 네트워크 경계에서만 수행되고, 네트워크 내부에서는 DS필드 기반의 간단한 패킷 전달 기능만 수행한다.

    • 사용자가 서비스 협약을 준수하는지의 여부는 네트워크 경계 노드에서만 감시한다.

    • 차등 서비스 모델 네트워크가 확장되어도 적용 가능하다.


4️⃣MPLS (Multi Protocol Label Switching)

MPLS(Multi Protocol Label Switching)에 대해서 공부 한다. MPLS에서 "Label Switching" 단어가 중요하다. 이전에 공부한 라우팅 케이블을 검색하는 과정을 생략하기 위해 적용한 방식이기 때문이다. 이번시간에는 MPLS의 구성과 개요, 트래픽엔지니어링(TE, Traffic Engineering)에 대해 공부할 예정이다.

MPLS 개요 (Overview of Multi Protocol Label Switching)

💡요약: MPLS는 기존 IP 네트워크에서 라우팅 테이블 검색(Longest Prefix Match, LPM) 과정을 단순화하기 위해 설계된 기술로, 레이블 기반 스위칭(Label Switching) 방식을 사용한다. 이를 통해 라우팅 프로세싱 부담을 줄이고, 속도를 향상시킨다.

✅ 라벨 기반 스위칭의 작동 방식

기존 라우팅 방식:

  • 인터넷 프로토콜에서 패킷전달을 수행하기위해 라우팅과 포워딩을 어떻게 하는지 살펴본적이있다. 거기에서 가장 핵심은 기존의 목적지 주소 기반 라우팅 방식은 LPM(Longest Prefix Match)기반의 라우팅 테이블 검색이 필요하다는 것이다.
  • IP 패킷은 목적지 주소를 기반으로 LPM을 사용해 라우팅 테이블에서 경로를 검색.

  • 문제는 이런 LPM방식으로 검색하는 것은 굉장히 시간이 많이 필요로 한다. 또한 프로세싱 측면에서 부담이 되는 작업이다.

레이블 기반 스위칭:

  • 이러한 부담이 되는 라우팅 테이블 검색과정을 단순화 시켜, 라우팅 테이블 검색이 아니라 라우팅 테이블 인덱스로(Index)가르키는 방식, 즉 교환(Switching) 방식으로 대치하여 속도를 향상시키는 대안이 마련되었다.
  • 패킷에 포함된 라벨(Label)을 읽어, 이를 스위칭 테이블(Switching Table)의 색인(Index)으로 사용하는 것이다.

  • 라벨이 이미 지정된 경로와 인터페이스를 가리키므로, 테이블 전체를 검색할 필요 없이 빠르게 패킷을 전달하게 된다.

  • 패킷이 라벨 0004를 포함한다.

  • 스위칭 테이블에서 라벨 00042번 인터페이스0012(Next Label)을 가리킨다.

  • 패킷은 2번 인터페이스로 전달되며, 다음 경로에서는 라벨이 0012로 갱신된다.

  • 라우팅 테이블 전체에 대한 검색과정이 생략되기 때문에 성능적으로 유리하고 속도 또한 굉장히 빠르게 수행될 수 있다는 장점이 존재한다.


👀 이런 레이블 기반 스위칭에서 가장 핵심은 레이블을 어떤 식으로 설정하고 네트워크 전체에서 어떻게 공유하고 그것을 기반으로 어떻게 패킷 포워딩이 최종 목적지 까지 가느냐이다. 이런 레이블을 설정하기 위해서는 "가상회선방식" 으로동작해야한다. 패킷을 만들어 내는 곳과 최종 목적지의 연결을 미리 설정하는 것이다. 즉 데이터 전달 이전에 전송 경로를 미리 설정하고, 이를 식별하는 레이블(label)을 이용하여 전송 경로로 전달하는 "연결형 서비스" 이다. 레이블일 미리 미리 설정해놓아야 하기 때문이다.


✅MPLS의 가상회선 방식

  • 가상회선 동작 방식:

    • 패킷 생성 지점에서 목적지까지의 연결 경로를 미리 설정.

    • 경로 식별을 위한 레이블(Label)을 생성하고, 데이터 전달 시 이를 사용.

  • 연결형 서비스:

    • 데이터 전송 전에 경로를 설정하여 패킷이 올바른 경로로 전달되도록 보장.

    • 인터넷 프로토콜(IP)처럼 동적인 경로 설정 대신, 정적인 연결 방식을 채택.


✅ MPLS와 기존 IP 네트워크의 차이점 (Difference between MPLS and current IP network)


MPLS의 특징

💡요약: MPLS는 레이블 기반 스위칭을 통해 기존 IP 라우팅의 한계를 극복하며, 속도와 효율성을 제공한다. 특정 MPLS 영역을 정의하여 부분적으로 네트워크에 적용 가능하며, 프로토콜 독립성QoS 지원으로 네트워크의 유연성과 확장성을 높인다. MPLS는 오늘날 고속 네트워크 환경에서 필수적인 기술로 자리 잡고 있다.

레이블 기반 포워딩(스위칭) 프로토콜 (Label-Based Forwarding Protocol)

  • 레이블 기반 포워딩 (Label-Based Forwarding):

    • MPLS는 기존의 IP 라우팅 방식 대신 레이블(Label)을 이용하여 패킷의 경로를 결정합니다.

    • 레이블 (Label)은 목적지 경로와 라우팅 정보를 간소화하여 스위칭 테이블에서 신속하게 경로를 결정할 수 있습니다.

  • 역사적 배경 (Historical Background):

    • 초기에는 다양한 회사들이 IP 스위칭 (IP Switching), 태그 스위칭 (Tag Switching) 등의 호환되지 않는 기술을 개발했습니다.

    • 이후 IETF에서 표준화 작업을 통해 MPLS 프로토콜 (MPLS Protocol)로 통합되었습니다.


프로토콜 독립성 (Protocol Independence)

MPLS는 상·하위 프로토콜 (Upper and Lower Protocols)에 대한 의존성이 적어, 다양한 프로토콜(IP, ATM, Frame Relay 등)을 쉽게 통합하고 지원할 수 있습니다.

  • 별도의 MPLS 헤더 (Header, Label Field)를 추가하여 스위칭 작업을 수행하므로, 기존 네트워크와의 호환성 유지가 가능합니다.

MPLS 영역의 정의 (Definition of MPLS Domain)

  • MPLS 영역 (MPLS Domain):

    • MPLS는 네트워크의 모든 라우터를 MPLS 기반 장치로 교체하지 않고, 특정 MPLS 영역 (MPLS Domain)을 정의하여 해당 영역 내에서만 MPLS를 적용합니다.

    • 이 영역에 들어오는 트래픽은 MPLS 헤더 (MPLS Header)가 추가되며, 헤더를 기반으로 포워딩이 수행됩니다.

  • 네트워크 외부 사용자와의 관계 (Relationship with External Network Users):

    • MPLS가 적용된 영역 외부에서는 MPLS의 존재를 알 수 없습니다.

    • 외부 사용자는 기존 IP 네트워크 (IP Network)처럼 MPLS를 통해 데이터를 주고받을 수 있습니다.


MPLS의 주요 장점 (Main Advantages of MPLS)

  1. 속도와 효율성 (Speed and Efficiency):

    • 라우팅 테이블 검색 과정 생략 (Skipping Routing Table Search)으로 빠르고 효율적입니다.
  2. 프로토콜 독립성 (Protocol Independence):

    • 다양한 상·하위 프로토콜 (Upper and Lower Protocols)과의 연동이 용이하여 유연성을 제공합니다.
  3. 부분적 적용 가능 (Partial Applicability):

    • 네트워크의 전체 장치 변경 없이, 특정 영역에만 MPLS를 적용하여 효율성을 높일 수 있습니다.
  4. QoS 지원 (QoS Support):

    • MPLS 헤더의 레이블 (Label)을 통해 서비스 품질(QoS)을 효과적으로 관리할 수 있습니다.

MPLS의 기본 용어

아래의 용어들은 MPLS 작동 원리를 이해하는 데 핵심적이다. Label, Label Binding, Label Swapping은 MPLS의 포워딩 과정을 설명하며, LSR, LER, LSP는 네트워크 내 장치 간 경로와 역할을 나타낸다. Ingress/Egress LER는 MPLS 경계에서 필수적인 동작을 수행한다.


✅ Label (라벨)

  • 3계층 주소 대신 스위칭에 이용하는 정보 (Information Used for Switching Instead of Layer 3 Addresses)

    • MPLS에서 가장 중요한 요소로, Label 기반 포워딩 (Label-Based Forwarding)을 가능하게 한다.

✅ Label Binding (라벨 바인딩)

  • 특정 데이터의 흐름과 Label을 매핑 (Mapping Specific Data Flows to Labels)

    • 특정 서비스 플로우(Service Flow)에 라벨을 연결하고, 어떤 라벨 값을 부여할지 결정하는 과정이다.

✅ Label Swapping (라벨 스와핑)

  • 유입된 데이터의 레이블과 포워딩할 데이터의 레이블을 교환 (Replacing the Incoming Label with the Outgoing Label)

    • 예: 라우터가 Label1로 패킷을 받고, Label3으로 라벨을 교환하여 전송.

✅ LSR (Label Switch Router)

  • MPLS 네트워크 내부의 일반적인 라우터 (General Router Inside the MPLS Network)

    • 라벨 스와핑(Label Swapping)을 통해 패킷을 다음 경로로 전달한다.

    • LSP 설정 시, 필요한 자원 예약 기능을 수행한다.


✅ LER (Label Edge Router)

  • MPLS 네트워크 영역의 가장자리에 위치한 라우터 (Router Located at the Edge of MPLS Network)

    • MPLS 영역 경계에 위치하며, Ingress LER(입구)에서 라벨 추가, Egress LER(출구)에서 라벨 제거를 수행한다.

✅ Ingress LER

  • MPLS 네트워크로 들어오는 패킷을 처리 (Processes Packets Entering the MPLS Network)

    • MPLS 네트워크 외부에서 수신된 패킷의 헤더를 분석하여 적합한 LSP(전달 경로)를 결정한다.

    • LSP에 따라 MPLS 헤더를 추가(라벨 삽입)한 뒤, 내부로 패킷을 전달한다.


✅ Egress LER

  • MPLS 네트워크를 떠나는 패킷을 처리 (Processes Packets Leaving the MPLS Network)

    • MPLS 네트워크 경계에 위치하며, 추가된 MPLS 헤더를 제거한다.

    • 일반 IP 라우팅을 통해 패킷을 외부 네트워크로 전달한.


✅ LSP (Label Switch Path)

  • MPLS 네트워크 내에서 정의된 전달 경로 (Predefined Path in the MPLS Network)

    • Ingress LER에서 시작하여 Egress LER까지 이어지는 경로이다.

    • 여러 패킷 플로우를 하나의 경로로 묶어 전달할 수 있다.

    • LSP 설정을 위한 프로토콜:

      • LDP (Label Distribution Protocol): 인접 라우터 간 레이블 교환을 통해 경로 설정.

      • CR-LDP (Constraint-Based LDP): 대역폭 및 기타 제약 조건 기반 경로 설정.

      • RSVP-TE (Resource Reservation Protocol-Traffic Engineering): 레이블 설정 및 자원 예약 지원.


MPLS 레이블 포맷

💡요약: MPLS는 기존 IP 헤더로만은 네트워크 동작이 부족하므로, 별도의 추가 MPLS 헤더(32비트)를 필요로 한다. Label, EXP, S, TTL필드로 구성된다.

  • IP Header와 Data는 기존의 IP그램이며, MPLS 영역에 들어오기 전 상태를 나타낸다

  • MPLS 영역에서는 MPLS Header가 추가되어 Label 기반 포워딩이 가능해진다.

✅ Label (20 bits)

  • 포워딩을 위한 레이블 정보 (Label Information for Forwarding): MPLS에서 가장 중요한 필드로, 패킷의 경로를 결정한다.

✅ EXP (3 bits, Experimental Use)

  • QoS를 제공하기 위한 필드 (Field for Providing QoS): IP 헤더의 DS 필드(Differentiated Services Field)와 유사한 역할을 수행하며, 서비스 품질(QoS)을 제어하는 데 사용된다.

✅ S (1 bit, Bottom of Stack)

  • 스택 구조의 마지막 레이블 여부를 나타냄 (Indicates if this is the Last Label in the Stack): MPLS는 여러 개의 레이블을 스택 구조로 쌓아 사용할 수 있으며, 이 필드는 해당 레이블이 마지막 레이블인지 여부를 나타낸다.

    • 예: 1 = 마지막 레이블 (Last Label), 0 = 스택 내 레이블이 더 있음 (More Labels in the Stack)

✅ TTL (8 bits, Time to Live)

  • 패킷의 생존 시간 제한 (Limits Packet's Lifetime): IP 헤더의 TTL 필드와 동일한 역할을 하며, 패킷의 순환 방지를 위해 사용된다. MPLS 영역에서도 TTL이 0이 되면 패킷이 폐기된다.

💡 레이블 분배 프로토콜

  • 레이블 교환 및 합의를 위한 프로토콜 (Protocols for Label Exchange and Agreement)

    • LSR 간 레이블과 전송 경로를 교환하고 합의하는 과정이 레이블 분배(Label Distribution)이다.

    • 최종적으로 IETF에서 RSVP-TE가 표준으로 채택되었다.

    • RSVP-TE는 기존의 RSVP 메시지에 LABEL 객체를 추가하여 라벨 값을 전달하도록 표준화되었다.

      • PATH 메시지: 경로 설정 요청.

      • RESV 메시지: 경로 설정 승인.


MPLS 구조 설명

💡요약: MPLS의 구조이다. 가운데 큰 구름이 MPLS영역이다. 바깥은 기존에 우리가 알고있는 IP network이다. 많은 LSR이 MPLS영역 많에 존재한다. 가장자리에는 LER이라는 edge router들이 존재한다. 패킷이 흐르는 방향에따라 Ingress 와 Engress가 정의되고 방향에따라 수행하는 기능은 약간의 차이가 있을 수 있다.

✅ MPLS 도메인(MPLS Domain)

  • 중앙의 큰 구름 모양이 MPLS 영역을 나타낸다.

  • 이 영역에서는 MPLS 헤더 기반의 포워딩이 이루어지며, 네트워크의 효율성과 속도를 향상시킨다.


✅LSR (Label Switch Router)

  • MPLS 도메인 내부에 위치한 라우터로, 레이블 기반 스위칭(Label Switching)을 수행한다.

  • LSR은 데이터를 포워딩할 때 라벨 정보를 읽고, 이를 스위칭 테이블을 기반으로 교환(Label Swapping)하여 전송한다.

  • Core LSR는 도메인의 중심부에 위치하며, 데이터 흐름의 핵심 경로를 담당한다.


✅ LER (Label Edge Router)

  • MPLS 영역의 가장자리에 위치하며, 네트워크 경계를 형성한다.

  • 역할에 따라 다음과 같이 구분됩니다:

    • Ingress LER:

      • MPLS 영역으로 들어오는 패킷의 IP 헤더를 분석하여 적합한 LSP(전달 경로)를 설정.

      • MPLS 헤더를 추가하고 내부로 패킷을 전달.

    • Egress LER:

      • MPLS 영역을 떠나는 패킷에서 MPLS 헤더를 제거.

      • 일반 IP 라우팅을 통해 외부 네트워크로 패킷 전달.


✅ LSP (Label Switch Path)

  • MPLS 영역 내의 전달 경로를 나타낸다.

  • Ingress LER에서 시작하여 Egress LER까지 이어지는 고정 경로로 설정된다.

  • 도식에서 주황색 선은 LSP 경로를, 녹색 선은 데이터 흐름을 나타낸다.


✅IP Network와의 연결

  • MPLS 영역 외부는 일반적인 IP 네트워크로 구성된다.

  • MPLS와 IP 네트워크 간의 데이터 흐름은 LER(Ingress/Egress)를 통해 상호작용한다.


5️⃣MPLS와 트래픽 엔지니어링(Traffic Engineering)

💡요약: MPLS 프로토콜이 도입되었을 때 가장 큰 특징은 빠른 패킷 포워딩 속도였다. 기존의 IP 네트워크는 라우팅 테이블을 검색하여 목적지까지 최단 경로를 계산했지만, MPLS는 레이블 기반 인덱싱을 통해 테이블 검색 과정을 생략하여 포워딩 속도를 획기적으로 개선했다.

MPLS는 초기 도입 시 포워딩 속도 향상이 주요 목표였지만, 트래픽 엔지니어링이라는 부수적인 장점을 통해 네트워크 자원을 효율적으로 활용하고 혼잡을 줄이는 데 기여하고 있습니다. 트래픽 엔지니어링이란 최단 경로만을 고집하지 않고, 트래픽 상태를 고려한 최적 경로를 선택함으로써 네트워크 성능과 효율성을 극대화하는 기술이다.


✅ MPLS와 트래픽 엔지니어링(Traffic Engineering)

MPLS 프로토콜이 도입되었을 때 가장 큰 특징은 빠른 패킷 포워딩 속도였다. 기존의 IP 네트워크는 라우팅 테이블을 검색하여 목적지까지 최단 경로를 계산했지만, MPLS는 레이블 기반 인덱싱을 통해 테이블 검색 과정을 생략하여 포워딩 속도를 획기적으로 개선하였다.

하지만 MPLS의 또 다른 강점으로 부각된 기능이 트래픽 엔지니어링(Traffic Engineering)입니다. 이는 초기 의도는 아니었지만, 네트워크 자원을 효율적으로 활용하고 패킷의 전달 경로를 최적화하는 데 기여하게 되었다.


✅ 트래픽 엔지니어링(Traffic Engineering)이란?

기존의 인터넷 프로토콜 기반 라우팅은 최단 경로를 기준으로 패킷을 전달한다.

  • 최단 거리 기반 라우팅:

    • 홉 수(hop count) 또는 링크 속도를 고려하여 최단 경로를 선택한다.

    • 경로는 확장성이 뛰어나지만, 특정 경로에 트래픽이 집중되어 네트워크 자원의 불균형을 초래할 수 있다.

하지만 모든 상황에서 최단 경로가 최선의 선택은 아닐 수 있다.

  • 예: 서울에서 부산으로 이동할 때, 평상시에는 최단 경로가 빠르지만, 명절처럼 교통량이 많을 때는 다소 먼 경로라도 빠르게 도착할 수 있는 길을 선택하는 것이 효율적이다.

  • 이와 유사하게, 네트워크에서도 혼잡하지 않은 경로를 선택하면 전체 성능과 효율을 높일 수 있다.


✅ 트래픽 엔지니어링의 핵심 개념

균형 있는 자원 활용:

  • 네트워크 자원을 불균형적으로 사용하는 문제를 해결한다.

  • 트래픽이 많은 경로 대신, 비교적 덜 사용되는 경로를 활용하여 네트워크 혼잡을 완화한다.

  • 최적화된 경로 선택:

    • 최단 경로가 아닌, 트래픽 상황에 따라 최적 경로를 선택한다.

    • 네트워크 대역폭의 효율성을 극대화하고, 데이터 전송 시간을 단축한다.


✅ MPLS와 트래픽 엔지니어링의 관계

MPLS는 트래픽 엔지니어링을 수행하기에 적합한 구조를 제공한다.

  • 레이블 기반 경로 설정: 레이블을 사용하여 패킷의 경로를 미리 정의할 수 있어, 네트워크 혼잡 상황에 따라 동적으로 경로를 조정할 수 있다.

  • 자원 예약 및 관리: RSVP-TE(Resource Reservation Protocol with Traffic Engineering)를 통해 네트워크 자원을 예약하고 경로를 최적화한다.


트래픽 엔지니어링 기술 개요 및 MPLS-TE

💡요약: MPLS-TE (MPLS with Traffic Engineering)는 MPLS의 라벨 설정 과정에 트래픽 엔지니어링을 추가하여, 최단 경로뿐만 아니라 네트워크 효율성을 고려한 경로를 선택하는 기술이다. 이 기술을 통해 네트워크의 자원 활용도를 극대화할 수 있게된다.

기존 라우팅 방식

  • 두 개의 서비스 플로우: 파란색 (80 Mbps), 노란색 (40 Mbps)

  • 기존의 최단 경로 방식에서는 두 서비스 플로우가 최단거리인 동일한 링크(100 Mbps)로 집중된다.

  • 링크 용량을 초과하면 트래픽이 지연되거나 손실될 수 있다.

✅ MPLS-TE 적용 방식

  • 파란색 (80 Mbps): 상단 경로 Path 1로 전달, 노란색 (40 Mbps): 하단 경로 Path 2로 전달.

  • Path 2는 최단 경로는 아니지만, 트래픽을 분산하여 결과적으로 더 빠르고 효율적인 전송이 가능해졌다.

✅ MPLS-TE의 핵심 기능

  1. 트래픽 분산: 네트워크 자원을 골고루 사용하도록 경로를 설정.

  2. QoS 향상: 트래픽의 우선순위에 따라 LSPE(라벨 스위치 패스 엔트리)를 관리하여 중요한 트래픽의 품질 보장.

  3. 프로토콜 연계: OSPF-TE, ISIS-TE와 같은 기존 IGP 프로토콜과 통합하여 필요한 정보를 공유하며, RSVP-TE를 사용해 경로를 설정.