[Network] CH10. Network Layer

chxxrin·2022년 6월 23일
0

컴퓨터네트워크

목록 보기
11/15

Network Layer

  • 네트워크 계층은 송신 호스트에서 수신 호스트로 세그먼트를 전송합니다.
  • 송신 측에서는 세그먼트를 데이터그램으로 캡슐화합니다.
  • 수신 측에서는 세그먼트를 전송 계층으로 전달합니다.
  • 네트워크 계층 프로토콜은 모든 호스트와 라우터에 존재합니다.
  • 라우터는 통과하는 모든 IP 데이터그램의 헤더 필드를 검사합니다.

네트워크 계층의 주요 기능은 다음과 같습니다:

  1. 포워딩(Forwarding): 라우터의 입력에서 적절한 라우터 출력으로 패킷을 전달합니다. 이는 데이터 평면(data plane)에 해당합니다. 포워딩은 단일 교환소를 통과하는 과정으로 비유할 수 있습니다.
  2. 라우팅(Routing): 소스에서 목적지까지 패킷이 이동하는 경로를 결정합니다. 이는 여행 계획을 수립하는 것과 유사한 과정으로 비유할 수 있습니다. 라우팅은 제어 평면(control plane)에 해당합니다.

네트워크 계층의 데이터 평면(Data Plane)

  • 각 라우터에서 수행되는 로컬 기능
  • 데이터 평면은 라우터의 입력으로 도착한 데이터그램이 어떻게 라우터의 출력 포트로 전달되는지를 결정하는 역할을 합니다. → 포워딩 기능(Forwarding function) 포워딩 기능은 라우터의 입력 포트에서 도착한 패킷의 헤더 정보를 확인하고, 라우팅 테이블이나 다른 전달 규칙에 따라 패킷을 적절한 출력 포트로 전송합니다. 포워딩 기능은 매우 빠르게 동작해야 하며, 일반적으로 라우팅 테이블에 기반하여 패킷을 전달합니다. 데이터 평면은 데이터그램의 전송 경로를 결정하고, 패킷을 목적지로 효율적으로 전달하는 역할을 담당합니다. 데이터 평면은 네트워크의 실제 데이터 전달에 집중하며, 여러 라우터에서 병렬로 동작하여 전체 네트워크에서 패킷의 전송을 처리합니다. 이를 통해 데이터는 출발지에서 목적지로 안정적이고 신속하게 전송될 수 있습니다.

네트워크 계층의 제어 평면(Control Plane)

  • 네트워크 전체적인 로직을 담당합니다.
  • 제어 평면은 소스 호스트에서 목적지 호스트까지의 엔드 투 엔드 경로 상에서 데이터그램이 라우터 사이를 어떻게 라우팅하는지 결정합니다.
  • 제어 평면은 일반적으로 두 가지 방식으로 구현됩니다:
  1. 전통적인 라우팅 알고리즘: 라우터에 구현되어 있는 전통적인 라우팅 알고리즘을 사용합니다. 이 알고리즘은 네트워크의 토폴로지 정보와 네트워크 상태를 기반으로 경로를 계산하고 라우터들에게 라우팅 테이블을 제공합니다. 이러한 알고리즘은 네트워크의 동적 변화에 따라 경로를 업데이트하고 최적의 경로를 유지합니다.
  2. 소프트웨어 정의 네트워킹 (SDN): (원격) 서버에 구현되는 소프트웨어 정의 네트워킹은 컨트롤러가 라우터들에게 경로 정보를 제공합니다. 이 방식에서는 네트워크의 전체적인 제어가 중앙 집중화되어 관리됩니다. 컨트롤러는 네트워크 토폴로지를 파악하고 경로 결정을 수행하며, 라우터들은 컨트롤러의 지시에 따라 패킷을 전달합니다.

→ 제어 평면은 네트워크의 상태를 모니터링하고 경로 계산을 수행하여 데이터그램이 소스 호스트에서 목적지 호스트로 안정적으로 전달되도록 합니다. 이를 통해 네트워크의 효율성, 신뢰성 및 성능을 향상시킬 수 있습니다.

개별 라우터 제어 평면(Per-Router Control Plane)

  • 각 라우터에 있는 개별적인 라우팅 알고리즘 구성 요소들이 제어 평면에서 상호 작용하는 것을 말합니다.

논리적으로 중앙 집중화된 제어 평면(Logically Centralized Control Plane)

  • 일반적으로 원격지에 위치한 별도의 컨트롤러가 로컬 제어 에이전트(Control Agent, CA)들과 상호 작용하는 방식입니다.

중앙 집중화된 제어 평면에서는 네트워크의 제어 기능이 중앙 컨트롤러로 집중화되어 있습니다. 이 컨트롤러는 네트워크 전체의 상태를 모니터링하고, 경로 결정 및 라우팅 정보를 관리하며, 제어 에이전트들에게 명령을 내립니다.

로컬 제어 에이전트(Control Agent)는 각 라우터에 존재하며, 중앙 컨트롤러와의 통신을 담당합니다. 이들은 라우터의 동작을 감시하고 상태 정보를 수집하여 중앙 컨트롤러에 보고합니다. 중앙 컨트롤러는 수신한 정보를 기반으로 네트워크 상태를 분석하고 경로 계산을 수행하여 로컬 제어 에이전트에게 전달합니다.

논리적으로 중앙 집중화된 제어 평면은 네트워크 관리의 중앙 집중화와 유연성을 제공합니다. 중앙 컨트롤러를 통해 네트워크의 전반적인 상태를 관리하고 제어할 수 있으며, 빠른 대응과 네트워크 최적화를 위한 결정을 수행할 수 있습니다. 또한, 중앙 컨트롤러의 유연성은 네트워크 구조의 변경과 새로운 기능의 추가를 용이하게 합니다.

라우팅(Routing)

  • 패킷이 전달되는 경로를 결정하는 과정을 말합니다. 이는 라우터들이 전달 테이블을 구성하는 방법을 포함합니다.
  • 라우팅은 패킷이 출발지에서 목적지로 전송될 때 어떤 경로를 따라야 하는지 결정합니다. 이를 위해 라우터들은 네트워크의 토폴로지 정보라우팅 알고리즘을 사용하여 가장 적합한 경로를 계산합니다. 각 라우터는 자신의 인접한 라우터들과 통신하여 네트워크 상태를 교환하고, 이 정보를 기반으로 경로 결정을 수행합니다.
  • 라우팅은 라우터들이 전달 테이블을 구성하는 방법도 포함합니다. 전달 테이블은 목적지 IP 주소를 기반으로 패킷을 어느 인터페이스로 전송할지 결정하는 정보를 포함하고 있습니다. 이 정보를 토대로 라우터는 패킷을 올바른 출력 포트로 전달하여 목적지에 도달시킵니다.

라우팅은 네트워크의 효율성과 신뢰성에 영향을 미칩니다. 올바른 라우팅 알고리즘과 경로 선택은 네트워크의 혼잡을 방지하고 패킷 전송 지연을 최소화하여 최적의 성능을 제공합니다.

  • 패킷을 A에서 F로 전달하는 과정은 다음과 같습니다:
  1. Router α에서는 패킷이 입력 포트로 도착하면 패킷을 분석하여 목적지 주소를 확인합니다. 목적지가 F로 설정되어 있다면, 라우터 α는 출력 포트 1로 패킷을 전달합니다.
  2. Router β는 패킷이 입력 포트로 도착하면 패킷을 분석하여 목적지 주소를 확인합니다. 목적지가 F로 설정되어 있다면, 라우터 β는 출력 포트 2로 패킷을 전달합니다.
  3. Router δ에서는 패킷이 입력 포트로 도착하면 패킷을 분석하여 목적지 주소를 확인합니다. 목적지가 F로 설정되어 있다면, 라우터 δ는 출력 포트 3로 패킷을 전달합니다.

이렇게 세 개의 라우터를 거쳐 패킷은 A에서 F로 전달되게 됩니다. 각 라우터는 패킷을 적절한 출력 포트로 전송하여 최종적으로 목적지에 도달하도록 합니다.

  • Switch α가 패킷을 목적지 F에 도달하기 위해 출력 포트 1을 통해 전달해야 함을 어떻게 알게 되는지에 대해 설명드리겠습니다.

Switch α는 패킷이 도착하면 목적지 주소를 확인하기 위해 패킷을 분석합니다. 이때, 스위치는 전달 테이블(forwarding table)을 참조합니다. 전달 테이블은 스위치에서 유지하는 데이터 구조로서, 목적지 주소를 해당하는 출력 포트로 매핑하는 정보를 포함하고 있습니다.

패킷이 스위치 α에 도착하면, 스위치는 패킷의 목적지 주소를 확인합니다. 그리고 전달 테이블을 조회하여 해당 목적지 주소에 대한 항목을 찾습니다. 이 경우, 목적지 F에 대한 전달 테이블 항목은 패킷을 출력 포트 1로 보내야 함을 지정합니다.

전달 테이블 항목을 기반으로, 스위치 α는 패킷을 출력 포트 1로 전송하여 올바른 경로를 따라 목적지 F에 도달하도록 보장합니다. 전달 테이블은 일반적으로 네트워크 관리자에 의해 수동으로 설정되거나, 네트워크 내의 스위치 및 라우터 간에 라우팅 정보를 교환하는 동적 라우팅 프로토콜을 통해 자동으로 구성될 수 있습니다.

Intra-domain와 Inter-domain은 네트워크에서 라우팅 도메인 간의 관계를 설명하는 데 사용되는 용어입니다.

Intra-domain(도메인 내)

  • 하나의 도메인(또는 자치 시스템) 내에서 라우팅이 이루어지는 것을 의미합니다.
  • 도메인은 동일한 관리 및 관리 정책을 공유하는 네트워크의 집합으로 구성됩니다.
  • 예를 들어, 한 기업이나 조직의 내부 네트워크는 하나의 도메인으로 간주될 수 있습니다. Intra-domain 라우팅은 도메인 내에서 효율적인 패킷 전달을 위해 내부 라우팅 프로토콜(예: OSPF, RIP 등)을 사용하여 구성됩니다. 도메인 내부에서는 라우터들이 서로의 라우팅 정보를 교환하고 경로를 결정하여 패킷을 전달합니다.

Inter-domain(도메인 간)

  • 여러 도메인 간의 라우팅을 의미합니다.
  • 서로 다른 도메인 간의 트래픽 전달을 관리하기 위해 외부 라우팅 프로토콜(예: BGP)을 사용합니다. 인터넷은 여러 개의 도메인으로 구성되어 있으며, 각 도메인은 자체적인 관리와 정책을 갖고 있습니다.
  • 각 도메인이 다른 도메인들과의 연결을 관리하고, 경로 선택 및 교환을 수행하여 효율적인 패킷 전달을 달성합니다.

Intra-domain(내부 라우팅)도메인 내에서 라우팅이 이루어지는 것을 의미하며, Inter-domain(외부라우팅)여러 도메인 간의 라우팅을 의미합니다. Intra-domain은 도메인 내의 내부 라우팅을 다루고, Inter-domain은 다른 도메인 간의 외부 라우팅을 다룹니다.

Autonomous System 자치 시스템 (AS)

  • 인터넷: 네트워크의 네트워크
  • 자치 시스템: 통합된 라우팅 정책을 갖고 있는 큰 네트워크 또는 네트워크 그룹
  • ISP(인터넷 서비스 제공자) 또는 조직에 의해 제어됨
  • 각 AS는 고유한 ASN (AS 번호)를 갖음
  • 세계에는 100,424 개의 AS가 있음 (2021년 4월 기준
  • 한국에는 1,036 개의 AS가 있음

AS는 자치 시스템을 나타내는 용어로, 대규모의 네트워크나 네트워크 그룹을 의미합니다. AS는 독자적으로 라우팅 정책을 수립하며, ISP나 조직에 의해 제어됩니다. 각 AS는 고유한 AS 번호를 할당받아 식별됩니다. AS는 인터넷을 구성하는 다양한 네트워크의 집합이며, 각 AS는 자체적으로 라우팅 결정을 내리고 경로 교환을 수행합니다.

전 세계적으로는 100,424개의 AS가 있으며, 이 숫자는 지속적으로 변동될 수 있습니다. 한국에는 1,036개의 AS가 있으며, 이는 국내의 네트워크 구성과 인터넷 연결을 담당하는 다양한 ISP 및 조직을 의미합니다. AS는 인터넷의 기본 구성 요소로서 다양한 네트워크 간의 연결과 통신을 가능하게 합니다.

도메인 내(Intra-AS) 라우팅

  • 동일한 AS(자치 시스템) 내의 호스트와 라우터 간의 라우팅 ("네트워크" 내)
  • AS 내의 모든 라우터는 동일한 도메인 내 라우팅 프로토콜을 실행해야 함
  • 서로 다른 AS의 라우터는 서로 다른 도메인 내 라우팅 프로토콜을 실행할 수 있음
  • gateway router : 자체 AS의 가장자리에 위치하며, 다른 AS의 라우터와의 링크를 가지고 있음

도메인 간(Inter-AS) 라우팅

  • AS 간의 라우팅
  • gate way는 intra-AS, inter-AS 모두 수행

Routing Algorithms & Protocols

Distance Vector Routing 거리 벡터 라우팅

  • 각 목적지마다 다음 노드를 기록함
  • 이웃과 테이블을 교환하고 교환된 정보를 사용하여 내 테이블을 업데이트함
  • 라우팅 테이블에는 각 목적지에 대해 "거리 벡터"가 저장됩니다.
  • (목적지, 거리, 다음 노드) -> 거리 벡터

이제 노드들은 직접 연결된 이웃과 테이블을 교환합니다.

  • 각 노드는 자신의 라우팅 테이블을 모든 직접 이웃에게 전송합니다.

노드 D는 노드 E에게 자신의 테이블을 전송합니다.

  • 전송되는 정보: (목적지, 거리)
  • 다음 노드는 전송하는 노드 자신이어야 합니다.

노드 E는 D로부터 테이블을 받으면 자신의 라우팅 테이블을 업데이트합니다.

  • E는 C로의 경로를 알지 못했지만, 이제 D를 통해 C에 도달할 수 있고 거리는 4임을 알게 됩니다.
  • 2 (E → D) + 2 (D → C)

노드 B는 노드 A에게 자신의 테이블을 전송합니다.

A는 자신의 라우팅 테이블을 업데이트합니다.

  • A는 B를 통해 C에 도달할 수 있고 거리는 8임을 알게 됩니다.

노드 E는 노드 A에게 자신의 테이블을 전송합니다.

노드 A는 자신의 테이블을 업데이트합니다.

  • E에서 C까지의 거리가 4이므로 E는 거리 5로 C에 도달할 수 있습니다.
  • 이제 노드 A는 거리 8로 C에 대한 경로를 알게 됩니다.
  • 현재 경로가 더 짧거나 동일한 경우에는 업데이트되지 않습니다.

모든 노드들은 테이블을 교환합니다.

  • 내 테이블을 모든 이웃에게 전송합니다.
  • 내 테이블이 업데이트되면 다시 테이블을 전송합니다.
  • 또한, 노드들은 주기적으로 자신의 테이블을 전송합니다.
    • 노드 상태나 링크 거리가 변경되었을 수 있습니다.
    • 모든 교환이 완료된 후...

노드들은 주기적으로 직접 이웃들과 라우팅 테이블을 교환합니다.

  • 네트워크에 변경이 있으면 라우팅 테이블이 변경 내용을 적용하기 위해 업데이트됩니다.
  • 각 경로 정보에는 타이머가 있습니다. 일정 기간 동안 경로가 업데이트되지 않으면 해당 경로는 무효화됩니다.
  • A가 B를 통해 C로의 경로를 가지고 있다고 가정해보겠습니다. A가 B로부터 주기적인 업데이트를 받지 않으면 일정 시간이 지난 후 C로의 경로가 제거됩니다.

Count-to-infinity problem

  • Count-to-infinity 문제는 거리 벡터 라우팅에서 발생하는 문제입니다.
  • 다음과 같은 네트워크를 고려해봅시다. 라우팅 테이블이 최종화된 후에 A와 B 사이의 링크가 끊어진다고 가정해봅시다.

B는 A에 도달하는 경로를 알지 못합니다. C는 자신의 라우팅 테이블을 B에게 보냅니다.

C는 결국 A로의 직접 경로로 경로를 변경할 것입니다. 그러나 C가 경로를 변경하는 데에는 시간이 오래 걸릴 수 있습니다. 이러한 경로 수렴 지연은 카운트 투 인피니티(count-to-infinity) 문제로 알려져 있습니다.

이 기간 동안 네트워크 내에서는 경로 정보가 지나치게 교환됩니다. 각 라우터는 라우팅 테이블을 업데이트하고 이를 이웃에게 전송하여 경로 정보를 교환합니다. 이는 네트워크 자원의 낭비를 초래합니다.

카운트 투 인피니티 문제와 경로 정보의 지나친 교환은 거리 벡터 라우팅 알고리즘의 고유한 한계입니다. 이러한 문제를 완화하기 위해 링크 상태 라우팅이나 하이브리드 라우팅과 같은 다른 라우팅 프로토콜이 개발되었습니다. 이러한 프로토콜은 빠른 경로 수렴과 불필요한 경로 업데이트를 최소화하기 위한 효율적인 메커니즘을 사용하여 네트워크 자원에 미치는 영향을 줄입니다.

문제의 원인:

  • B가 C로부터 경로 정보를 받을 때, B는 해당 경로가 자신을 통과하는지 알 수 없습니다.
  • 이 문제는 거리 벡터가 경로 전체가 아닌 다음 노드만을 기록하기 때문에 발생합니다.

문제 해결을 위한 방법:

  • Split Horizon: 이 방법은 라우터가 자신이 학습한 경로를 동일한 인터페이스를 통해 전달하지 않는 것입니다. 즉, B는 A로 가는 경로 정보를 C에게 전송하지 않습니다. 이를 통해 라우팅 루프를 방지할 수 있습니다.
  • Split Horizon with Poison Reverse: Split Horizon의 확장으로, B가 C에게 자신을 경유하는 경로 정보를 동일한 인터페이스를 통해 전송하는 것입니다. 그러나 경로의 비용을 무한(infinite)으로 설정하여 B가 자신을 통해 A로 가는 경로를 더 이상 사용하지 않도록만듭니다.
  • Path Vector Routing: 이 방법은 거리 벡터 라우팅과 달리 경로에 대한 전체 정보를 유지합니다. 각 노드는 경로에 대한 정보를 라우팅 테이블에 저장하여 루트 루프와 같은 문제를 방지합니다.

이러한 솔루션들은 거리 벡터 라우팅의 한계를 극복하고 라우팅 루프를 예방하며, 불필요한 경로 정보 교환을 줄일 수 있습니다. 이러한 기법들은 안정적이고 효율적인 라우팅을 위해 다양한 네트워크 환경에서 사용됩니다.

Split Horizon:

  • C가 라우팅 테이블을 B에게 전송할 때, B를 통과하는 경로를 포함하지 않습니다.
  • 즉, C는 A로 가는 경로를 B에게 전송하지 않습니다. 이를 통해 라우팅 루프를 방지할 수 있습니다.

Split Horizon with Poison Reverse:

  • C가 라우팅 테이블을 B에게 전송할 때, B를 통과하는 경로를 포함합니다. 그러나 해당 경로의 거리를 무한(infinity)으로 설정합니다.
  • 이는 C가 B를 통해 A로 가는 경로를 더 이상 사용하지 않도록 만듭니다. 다른 노드들은 이 무한 거리 정보를 받고 해당 경로를 사용하지 않도록합니다.

Splithorizon와 Splithorizon with Poison Reverse는 라우팅 루프를 방지하기 위한 기법으로 사용됩니다. 이러한 방법을 통해 라우터들은 잘못된 경로로 패킷을 전달하는 것을 방지하고, 효율적이고 안정적인 라우팅을 달성할 수 있습니다.

스플릿 호라이즌 with 포이즌 리버스는 3 홉 루프를 피하는 데 한계가 있습니다. 3개의 라우터(A, B, C)를 포함한 루프가 있는 경우, 스플릿 호라이즌 with 포이즌 리버스만으로는 루프를 완전히 제거할 수 없습니다.

다음은 이 한계를 설명하는 예시입니다:

  1. A가 자신의 라우팅 테이블을 B에게 보내고, C를 통과하는 경로를 무한 거리로 설정하여 포함시킵니다 (포이즌 리버스).
  2. B는 A로부터의 라우팅 테이블을 받아 자신의 테이블을 업데이트합니다.
  3. B는 자신의 라우팅 테이블을 C에게 보내며, A를 통과하는 경로를 무한 거리로 설정하여 포함시킵니다 (포이즌 리버스).
  4. C는 B로부터의 라우팅 테이블을 받아 자신의 테이블을 업데이트합니다.
  5. 이제 C는 자신의 라우팅 테이블을 A에게 보내며, B를 통과하는 경로를 무한 거리로 설정하여 포함시킵니다 (포이즌 리버스).

이 시점에서 라우팅 테이블은 업데이트되었고, A, B, C 간에 테이블이 교환되었습니다. 그러나 3개의 라우터(A, B, C)를 포함한 루프는 여전히 존재합니다. 이는 포이즌 리버스 방법만으로는 이 경우에 루프를 완전히 방지할 수 없기 때문입니다.

스플릿 호라이즌 with 포이즌 리버스의 3 홉 루프를 피하는 한계를 극복하기 위해서는 다른 라우팅 프로토콜과 기술, 예를 들어 패스 벡터 라우팅 등을 사용할 수 있습니다.

Path Vector Routing

  • 경로의 전체 경로(다음 노드뿐만 아니라)를 기록하는 방식입니다.
  • 이를 통해 루프를 효과적으로 감지할 수 있습니다. 패스 벡터 라우팅에서는 경로 테이블을 수신하는 즉시 루프를 감지할 수 있습니다.

패스 벡터 라우팅은 주로 경계 게이트웨이 프로토콜인 BGP(Border Gateway Protocol)에서 사용됩니다. BGP는 인터넷의 경계 라우터 간에 경로 정보를 교환하고 인터넷의 AS(자치 시스템) 간의 라우팅을 관리하는 데 사용됩니다. 패스 벡터 라우팅은 각 AS에서 경로 정보를 전달하면서 경로에 대한 전체 정보를 유지하므로, 루프를 효과적으로 탐지하고 방지할 수 있습니다.

하나의 널리 사용되는 거리 벡터 라우팅 기반의 라우팅 프로토콜은 RIP(Routing Information Protocol)입니다.

RIP

  • 라우터가 주기적으로 라우팅 정보를 광고하는 거리 벡터 프로토콜로서 사용됩니다.
  • RIP는 주기적인 광고 메시지를 통해 라우팅 테이블 정보를 전달합니다. 일반적으로 매 30초마다 또는 라우팅 테이블이 업데이트되는 경우광고 메시지가 전송됩니다. 이를 통해 네트워크의 라우팅 정보를 주기적으로 갱신하고 이웃 라우터에 변경 사항을 알릴 수 있습니다. RIP는 작은 규모의 네트워크에서 사용되며, 라우팅 테이블의 크기와 관련된 몇 가지 제한이 있을 수 있습니다.

Link State Routing → Dijkstra algorithm 최단 경로 계산

  • 링크 상태 정보를 네트워크의 모든 노드에게 전송하는 방식을 사용합니다.
  • 각 노드는 Link state Packet(LSP) 이라고 불리는 정보를 생성하여 네트워크의 모든 노드에게 전송합니다. 링크 상태 패킷에는 발신자의 ID, 발신자의 직접 이웃에 대한 (ID, 거리) 정보, 그리고 시퀀스 번호(최신 정보인지 확인하기 위함)가 포함됩니다.

한 노드가 다른 노드로부터 링크 상태 패킷을 받으면, 다익스트라 알고리즘을 사용하여 최단 경로를 계산합니다. 이를 통해 각 노드는 네트워크의 다른 노드까지의 최단 경로를 파악할 수 있습니다.

링크 상태 라우팅은 매우 정확하고 최적화된 경로 선택을 제공합니다. 그러나 링크 상태 정보를 유지하기 위해 많은 양의 네트워크 리소스가 필요하며, 네트워크 규모가 큰 경우에는 처리 및 저장 공간의 부담이 있을 수 있습니다.

Dijkstra 알고리즘

  • 그래프의 간선 가중치(거리)가 주어졌을 때 한 노드에서 다른 모든 노드까지의 최단 경로를 찾는 알고리즘입니다.
  • 알고리즘의 입력은 간선 가중치(거리)를 포함한 그래프입니다. 출력은 한 노드에서 모든 다른 노드까지의 최단 경로입니다.

Dijkstra 알고리즘은 다음과 같은 단계로 동작합니다:

  1. 시작 노드를 선택하고 해당 노드까지의 거리를 0으로 설정하고, 다른 모든 노드까지의 거리를 무한대로 초기화합니다.
  2. 시작 노드로부터 직접 이웃한 노드까지의 거리를 계산하고, 현재까지의 최단 거리로 갱신합니다.
  3. 방문하지 않은 노드 중에서 현재까지의 최단 거리가 가장 작은 노드를 선택합니다.
  4. 선택한 노드를 방문 처리하고, 해당 노드를 경유하여 다른 노드로 가는 거리를 갱신합니다.
  5. 모든 노드를 방문할 때까지 3-4단계를 반복합니다.

이렇게 수행하면 시작 노드로부터 다른 모든 노드까지의 최단 경로를 구할 수 있습니다. Dijkstra 알고리즘은 그리디 알고리즘으로 분류되며, 이해하기 쉽고 효율적인 최단 경로 탐색 방법 중 하나입니다.

  • 초기에 C 집합에는 출발지 노드가 포함됩니다. 그리고 N-1번의 반복을 수행합니다.
  • 반복마다 다음의 과정을 수행합니다:
    • C에 포함되지 않은 노드 M 중 출발지 노드로부터 가장 가까운 노드를 선택합니다.
    • 선택된 노드 M을 C에 포함시킵니다.

이렇게 반복을 진행하면 출발지 노드로부터 가장 가까운 노드를 하나씩 선택하여 C 집합에 포함시키는 과정이 N-1번 반복됩니다. 이를 통해 출발지 노드로부터 모든 노드까지의 최단 경로를 찾을 수 있습니다.

Link-state Routing

  • 각 노드가 Dijkstra 알고리즘을 사용하여 목적지까지의 최단 경로를 찾습니다.
  • 각 노드는 수신한 Link State 패킷을 기반으로 네트워크 그래프를 구성하고, 이 그래프를 사용하여 Dijkstra 알고리즘을 실행합니다. Dijkstra 알고리즘은 출발지 노드로부터 각 노드까지의 최단 경로를 계산하고, 해당 경로를 노드의 라우팅 테이블에 저장합니다.
  • 이렇게 각 노드가 Dijkstra 알고리즘을 실행하여 최단 경로를 계산하면, 전체 네트워크에서 각 목적지까지의 최단 경로가 모든 노드의 라우팅 테이블에 반영됩니다. 이를 통해 각 노드는 최적의 경로를 선택하여 데이터를 전송할 수 있게 됩니다.

Link-state packet forwarding

  • 네트워크의 모든 노드에게 LSP를 전송하는 것을 의미합니다. 이는 모든 노드에게 정보를 전달하기 위해 네트워크 전체에 패킷을 홍수시키는 것과 대조됩니다.

Link-state 라우팅에서는 각 노드가 자신의 링크 상태 정보를 LSP로 패킷화하여 모든 노드에게 전송합니다. 이는 네트워크의 모든 노드에게 노드의 연결 상태, 거리 및 기타 라우팅 정보를 알려주는 것입니다. 각 노드는 이러한 LSP를 수신하고 이를 사용하여 그래프를 구성하고 최단 경로를 계산합니다. 그런 다음, 노드는 이 최단 경로를 사용하여 패킷을 전달하고 다른 노드에게 LSP를 전송합니다.

Link-state 패킷 전달네트워크의 모든 노드에게 전체 정보를 공유하므로 라우팅 테이블의 동기화와 일관성을 보장합니다. 하지만 패킷의 홍수로 인해 네트워크 대역폭을 낭비할 수 있습니다. 따라서 효율적인 네트워크 동작을 위해 Link-state 라우팅에서는 패킷 전달을 제어하는 추가적인 메커니즘을 사용하기도 합니다.

홍수(Flooding)

  • 특정 노드가 자신의 정보(LSP)를 네트워크의 모든 이웃에게 전파하는 메커니즘입니다. 이는 노드가 자신의 상태나 라우팅 정보를 모든 이웃에게 전송함으로써 정보의 전파를 보장합니다.

예를 들어, 노드 A가 자신의 Link-state 패킷(LSP)을 모든 이웃에게 전송합니다. 그리고 이웃인 노드 B는 A의 LSP를 수신하게 됩니다. B는 A의 LSP의 시퀀스 번호를 확인하고, 이 정보가 가장 최신인 경우 B는 자신의 라우팅 테이블을 업데이트하고 A를 제외한 모든 이웃에게 LSP를 다시 전송합니다. 그러나 A의 LSP가 최신 정보가 아닌 경우 B는 해당 LSP를 폐기합니다.

홍수는 네트워크의 모든 노드에 대한 정보 전파를 보장하지만, 이는 네트워크 대역폭을 낭비할 수 있습니다. 따라서 라우팅 프로토콜에서는 홍수를 사용하기 전에 제어 메커니즘을 도입하여 효율적인 정보 전달을 보장합니다.

OSPF(Open Shortest Path First)

  • 링크 상태 라우팅을 기반으로 하는 라우팅 프로토콜입니다.
  • 네트워크의 모든 라우터가 링크 상태 광고(LSA) 패킷을 주기적으로 또는 변경이 있을 때 전송함으로써 라우팅 정보를 교환합니다.

OSPF는 네트워크의 라우터들이 링크의 가중치 또는 거리 정보를 포함한 LSA 패킷을 생성하여 전파합니다. 각 라우터는 이러한 LSA 패킷을 사용하여 Dijkstra 알고리즘을 실행하여 최단 경로를 계산합니다. 그리고 각 라우터는 자체의 라우팅 테이블을 업데이트하여 최적의 경로를 결정합니다.

OSPF는 네트워크의 상태 변경이나 링크 장애가 발생할 때마다 LSA 패킷을 업데이트하여 네트워크의 다른 라우터에게 즉시 전달합니다. 이를 통해 네트워크의 모든 라우터가 최신의 라우팅 정보를 유지하고, 장애 복구와 같은 변화에 신속하게 대응할 수 있습니다.

OSPF는 대규모 네트워크에서 널리 사용되며, 계층적인 디자인과 다양한 영역을 통해 효율적인 라우팅을 제공합니다. 또한, OSPF는 인터넷 프로토콜(IP) 기반의 네트워크에서 내부 경로 프로토콜로서 널리 채택되고 있습니다.

Summary

링크 상태 라우팅(link state routing)

  • 이웃 노드와의 거리 정보를 교환하는 것을 중심으로 하는 라우팅 방식입니다.
  • 정보 교환에 사용되는 프로토콜로는 OSPF(Open Shortest Path First)이 주로 사용됩니다.
  • 각 노드가 이웃 노드와의 거리 정보를 포함한 링크 상태 정보를 교환합니다. 이 정보는 네트워크의 모든 노드에게 전송됩니다. 이를 통해 각 노드는 다익스트라 알고리즘을 사용하여 최단 경로를 계산하고, 자체의 라우팅 테이블을 업데이트하여 최적의 경로를 결정합니다. 이러한 정보 교환과 경로 계산은 OSPF 프로토콜을 통해 이루어집니다.

거리 벡터 라우팅(distance vector routing)

  • 목적지까지의 거리 정보를 목적지와의 거리를 기록하는 형태로 교환합니다.
  • 이 정보는 직접 연결된 이웃 노드에게 전송됩니다.
  • RIP(Routing Information Protocol) 프로토콜이 일반적으로 사용됩니다.

링크 상태 라우팅과 거리 벡터 라우팅은 정보 교환 방식, 전송 대상, 사용되는 프로토콜 등에서 차이가 있습니다. OSPF복잡한 네트워크 환경에서 사용되며, 링크 상태 정보를 전체 네트워크에 전파하여 최적의 경로를 계산합니다. 반면에 RIP작은 규모의 네트워크에서 사용되며, 거리 벡터 정보를 직접 연결된 이웃 노드에게 전송하여 경로를 결정합니다.

Border Gateway Protocols (BGP)

플랫 네트워크(Flat Networks)와 계층적 네트워크(Hierarchical Networks)는 네트워크 구조의 두 가지 주요 접근 방식입니다.

플랫 네트워크(Flat network)

  • 계층 구조를 갖지 않고
  • 모든 노드가 동등한 수준으로 연결되어 있는 구조
  • 작은 규모에서는 간단하고 직접적인 연결을 제공할 수 있지만, 확장성이 부족합니다. 네트워크 규모가 커질수록 노드 수가 증가하면서 관리와 라우팅 복잡성이 증가하게 됩니다.

계층적 네트워크(Hierarchical network)

  • 네트워크를 여러 개의 "영역"으로 나눈 구조
  • 각 영역은 계층적으로 구성되어 있으며, 상위 계층은 하위 계층에 대한 연결과 서비스를 제공합니다. 이러한 구조는 확장성과 관리 용이성을 제공하여 대규모 네트워크에서 효율적인 운영이 가능하게 합니다. 계층적 구조는 네트워크 트래픽을 분산시키고, 라우팅을 단순화하여 전체 네트워크의 성능을 향상시킵니다.
  • 인터넷계층적 구조를 가지고 있습니다. 인터넷은 다수의 인터넷 서비스 제공업체(ISP)와 라우터들이 계층적으로 구성되어 있으며, 트래픽은 계층적으로 전달되고 관리되고 있습니다. 이러한 구조는 전 세계적인 확장성과 효율성을 제공하여 인터넷의 성공적인 운영을 가능하게 합니다.

Flat

  • 계층적 X
  • 확장성 부족

Hierarchical

  • 네트워크를 여러 개의 영역으로 나눔
  • 확장성 있음

자율 시스템 (Autonomous System, AS)

  • 동일한 라우팅 정책을 가진 네트워크의 집합을 말합니다
  • 자율 시스템은 Single routing protocolSingle administrative control를 갖습니다. 이는 하나의 조직이나 인터넷 서비스 제공 업체(ISP)가 자체적으로 관리하는 네트워크 영역을 의미합니다.

자율 시스템은 라우팅 프로토콜을 사용하여 내부 네트워크 간의 라우팅을 수행하고, 외부 자율 시스템과의 인터넷 연결을 위해 외부 라우팅 프로토콜을 사용합니다. 자율 시스템은 일정한 관리 및 정책을 가지고 있으며, 자율 시스템 내에서 동일한 라우팅 결정 규칙을 적용합니다. 이를 통해 자율 시스템은 자체적인 라우팅 정책을 유지하고, 다른 자율 시스템과의 통신을 조율하여 인터넷 전체의 효율적인 동작을 보장합니다.

자율 시스템은 전 세계적으로 고유한 자율 시스템 번호(AS 번호)를 갖습니다. 이 번호는 자율 시스템을 고유하게 식별하고, 라우팅 프로토콜에서 사용되어 다른 자율 시스템과의 연결과 경로 선택에 활용됩니다. AS 번호는 인터넷 전체에서 관리되며, 인터넷 등록 기관에 의해 할당됩니다.

계층적 구조

  • 자율 시스템(AS) 간의 구성을 나타내는 개념입니다.
  • 이 구조는 AS를 계층별로 분류하고, 각 계층에서 다른 AS와의 관계를 정의하는 데 사용됩니다.
  1. 계층(Tiers):
    • Tier 1 AS(global reachability): 글로벌 수준의 연결성을 갖는 자율 시스템입니다. Tier 1 AS는 다른 모든 AS와 직접적으로 연결되어 인터넷에서 글로벌한 경로를 제공합니다.
    • Tier 2 AS(regional/country): 지역 또는 국가적인 범위를 갖는 자율 시스템입니다. Tier 2 AS는 Tier 1 AS와 연결되어 글로벌 라우팅에 참여하며, 지역 또는 국가적인 인터넷 서비스를 제공합니다.
    • Tier 3 AS(local): 지역적인 범위를 갖는 자율 시스템입니다. Tier 3 AS는 주로 로컬 또는 지역적인 연결성을 제공하며, Tier 1 또는 Tier 2 AS와 연결되어 인터넷에 접근합니다.
  2. AS 관계:
    • 제공자/고객(provider/customer) 관계: 한 AS가 다른 AS에 대해 인터넷 연결성을 제공하는 경우, 이는 제공자/고객 관계로 정의됩니다. 제공자 AS는 네트워크 서비스를 제공하고 고객 AS는 해당 서비스를 받습니다.
    • 피어(peers) 관계: 두 AS가 상호간에 서로의 트래픽을 교환하고 경로를 공유하는 경우, 이는 피어 관계로 정의됩니다. 이러한 관계는 상호 협력적이며, 트래픽 교환 및 경로 선택에서 상호 이익을 고려합니다.

계층적 구조와 AS 관계는 인터넷의 구조와 동작에 중요한 역할을 합니다. 이를 통해 효율적인 경로 선택과 네트워크의 확장성을 보장하며, 전 세계적인 인터넷 연결성을 지원합니다.

Business Model 비즈니스 모델

  • customer이 provider에게 서비스 비용을 지불하는 방식으로 이루어집니다.
  • 서비스 제공자는 AS 고객에게 네트워크 서비스를 제공하고, 이를 위해 고객은 비용을 지불합니다.
  • 피어 간에는 상호 협력(mutual cooperation) 관계가 형성됩니다. 이는 두 AS 간에 트래픽 교환과 경로 공유를 의미합니다. 피어 간의 협력은 상호 이익을 고려하여 이루어지며, 서로간의 연결성을 향상시키고 트래픽을 효율적으로 전달하는 데 도움을 줍니다.
  • 다중 홈링(Multi-homing)이라는 개념도 존재합니다. AS는 다중 제공자를 가질 수 있으며, 이를 통해 여러 제공자와의 연결을 유지함으로써 네트워크의 안정성과 가용성을 향상시킬 수 있습니다. 다중 홈링은 단일 제공자에 의존하지 않고, 다양한 경로를 통해 트래픽을 전달하는 데 도움이 됩니다.

이러한 비즈니스 모델과 다중 홈링은 AS가 경제적인 관점에서 네트워크 서비스를 제공하고 연결성을 유지하는 데 중요한 역할을 합니다.

Intra-domain(inside a single AS)

  • RIP(Distance Vector)
  • OSPF(Link State)

단일 AS(자율 시스템) 내에서의 내부 도메인 라우팅은 RIP(거리 벡터)와 OSPF(링크 상태)를 사용할 수 있습니다. RIP는 목적지까지의 거리를 기반으로 라우팅 정보를 교환하는 거리 벡터 라우팅 프로토콜입니다. 반면 OSPF는 AS 내의 라우터 간에 링크 상태 정보를 교환합니다.

  • RIP/OSPF 확장성이 좋지 않음
    • Count-to-infinity problem(RIP) - 라우팅 루프
    • Routing information flooded to all nodes(OSPF) - 과도한 오버헤드

그러나 RIP와 OSPF는 대규모 네트워크나 인터 도메인 라우팅 시나리오에서는 확장성이 좋지 않을 수 있습니다. RIP는 count-to-infinity 문제로 인해 잘못된 라우팅 정보로 인해 라우팅 루프가 발생할 수 있습니다. OSPF는 네트워크의 모든 노드에 라우팅 정보를 홍수시킴으로써 과도한 오버헤드를 야기할 수 있습니다.

인터 도메인 라우팅(Inter domain routing)

  • 다른 라우팅 방식이 필요합니다.
  • 경계 게이트웨이 프로토콜(BGP, Border Gateway Protocol)은 인터 도메인 라우팅을 위해 일반적으로 사용됩니다.
  • BGP는 AS간에 라우팅 정보를 교환하고 정책과 경로 속성을 기반으로 라우팅 결정을 내릴 수 있도록 합니다. BGP는 다중 연결, 정책 기반 라우팅, 경로 선택 등 인터 도메인 라우팅의 복잡성을 처리하기 위해 설계되었습니다.

요약하자면, RIP와 OSPF는 단일 AS 내에서의 내부 도메인 라우팅에 적합하지만, 인터 도메인 라우팅에는 BGP가 선호되는 라우팅 프로토콜로서 필요한 확장성과 유연성을 제공합니다.

RIP/OSPF → single AS

BGP → inter-domain

BGP(Border Gateway Protocol)

  • 경계 라우터(border routers)간의 라우팅을 담당하는 프로토콜입니다.
  • AS(자율 시스템) 간의 라우팅 정보 교환을 위해 사용됩니다. Border Routers는 다른 AS와의 연결을 갖는 라우터입니다.
  • BGP에는 두 가지 주요 구성 요소가 있습니다.
  1. eBGP(external BGP)서로 다른 도메인의 경계 라우터 간의 라우팅을 담당합니다. 이를 통해 서로 다른 AS 간의 경로 정보 교환이 가능해집니다.
  2. iBGP(internal BGP)동일한 도메인 내의 경계 라우터 간의 라우팅을 담당합니다. iBGP는 도메인 내부의 라우터 간에 라우팅 정보를 공유하고 라우팅 루프를 방지하기 위해 사용됩니다.

BGP는 정책 기반 라우팅을 지원하여 AS의 관리자가 라우팅 결정에 영향을 줄 수 있습니다. AS 간에는 여러 경로가 있을 수 있으며, BGP는 경로 속성과 정책을 기반으로 최적의 경로를 선택합니다.

요약하면, BGP는 AS 간의 라우팅을 담당하는 프로토콜로서 eBGP는 서로 다른 도메인 간의 라우팅을, iBGP는 동일한 도메인 내의 라우터 간의 라우팅을 처리합니다. BGP는 AS 간의 라우팅 결정에 유연성과 정책 기반 제어를 제공하여 인터넷의 전체적인 경로 선택과 라우팅 관리를 가능하게 합니다.

BGP Routing

  • 경로 벡터 라우팅(Path vector routing)의 한 형태로, 경로 벡터를 사용하여 경로 정보를 교환합니다.
  • BGP 라우팅은 AS 간의 라우팅을 관리하기 위해 사용되며, 각 AS는 자체적으로 BGP 라우팅 테이블을 유지합니다.

BGP routers(또는 BGP speakers)

  • 다른 BGP 라우터에게 route advertisement를 전송합니다. 이 과정은 거리 벡터 라우팅과 유사합니다.
  • BGP 라우터는 자신이 가지고 있는 경로 정보를 다른 BGP 라우터에게 광고하여 AS 간의 경로 선택을 수행합니다.

BGP 라우터는 주기적으로 혹은 경로 변경이 있을 때마다 경로 광고를 수행합니다. 경로 광고는 BGP 메시지 형식으로 전송되며, 각 경로 광고에는 목적지 네트워크, AS 경로, 경로 속성 등의 정보가 포함될 수 있습니다.

경로 광고를 통해 BGP 라우터는 자신이 알고 있는 경로 정보를 인접한 BGP 라우터에게 전달하여 네트워크 간의 경로 선택을 동기화합니다. 이를 통해 AS 간의 경로가 전파되고 최적 경로가 선택되며, 인터넷의 라우팅 테이블이 유지되고 업데이트될 수 있습니다.

BGP 라우팅은 AS 간의 네트워크 경로를 관리하는 데 중요한 역할을 하며, 대규모 네트워크에서 사용되는 핵심 프로토콜입니다. 경로 광고를 통해 BGP 라우터는 다른 AS와의 연결을 설정하고 최적 경로를 선택하는 데에 필요한 정보를 교환합니다.

경로 정보를 사용하여 루프(Loop)를 감지할 수 있습니다. BGP는 Path-Vector 라우팅 프로토콜이므로 경로 정보에는 AS 경로가 포함됩니다. AS 경로는 경로를 이루는 AS들의 시퀀스로 구성되어 있습니다.

BGP 라우터는 경로를 수신할 때, 이전에 수신한 경로와 비교하여 루프를 감지합니다. AS 경로 정보를 사용하여 경로가 자기 자신을 거치는 루프를 형성하는지 여부를 확인할 수 있습니다. 일반적으로, 경로에 자기 자신의 AS 번호가 포함되어 있는 경우 루프로 간주하고 해당 경로를 폐기합니다.

BGP는 루프를 감지하고 방지하기 위해 다양한 메커니즘을 사용합니다. 예를 들어, AS 경로에 이미 수신한 AS 번호가 포함된 경우, 루프로 간주하여 해당 경로를 폐기하거나 경로 선택에서 우선순위를 낮추는 등의 조치를 취할 수 있습니다.

이러한 루프 감지 기능을 통해 BGP는 안정적이고 루프 없는 경로 선택을 수행하며, 인터넷의 전체적인 라우팅 안정성을 유지합니다.

iBGP (Internal BGP)는 eBGP와 동일한 프로토콜입니다.

  • iBGP는 eBGP로부터 학습한 경로를 iBGP 이웃에게 알릴 수 있습니다. e→i (O)
  • 하지만 iBGP 이웃으로부터 학습한 경로는 다시 다른 iBGP 이웃에게 알릴 수 없습니다. i→i (x)
  • 이는 루프를 피하기 위한 조치입니다. AS 경로 정보는 AS 내부에서 전달되지 않으므로, iBGP 이웃으로부터 학습한 경로를 다른 iBGP 이웃에게 전달하지 않는 것입니다.
  • 하나의 AS 내에 있는 모든 iBGP 라우터는 완전히 연결되어 있어야 합니다. 이것은 iBGP 라우터 간에 모든 경로 정보를 공유하기 위해 필요한 조건입니다. 모든 iBGP 라우터가 연결되어 있으면, AS 내의 경로 선택과 배포에 관련된 정보를 적절하게 공유할 수 있습니다.

이렇게 iBGP를 사용하면 AS 내부에서 라우팅 정보를 효율적으로 교환하고, 루프를 방지하며, AS 경로 정보의 전달을 관리할 수 있습니다.

iBGP (Internal BGP)는 다음과 같은 특징을 가지고 있습니다.

  • R3은 R4에게 R1 및 R2의 경로를 알릴 수 있습니다.
  • R3은 R1 및 R2에게 R4의 경로를 알릴 수 있습니다.
  • R3은 R1으로부터 R2의 경로를 알릴 수 없습니다. (i→i (x))
    • R2는 R1로부터 직접 경로를 받아야 합니다. (R3를 통한 경로 수신이 아닌)
    • iBGP 라우터는 완전히 연결되어 있어야 합니다.

위의 예시에서 R3은 R1 및 R2로부터 경로를 받고, R4에게는 R1 및 R2의 경로를 알릴 수 있습니다. 그러나 R3은 R1에서 R2의 경로를 받아올 수 없습니다. 이는 iBGP 라우터들이 완전히 연결되어 있어야 한다는 제약 때문입니다.

따라서 R2는 R1로부터 직접 경로를 받아야 하며, R3를 통한 경로 수신은 허용되지 않습니다. iBGP 라우터들은 서로 모두 연결되어 있어야 경로 정보를 적절하게 교환하고 관리할 수 있습니다.

BGP에서는 최단 경로가 항상 최적의 경로가 되는 것은 아닙니다. 이는 경로 선택에 정책(policy)이 개입되기 때문입니다. 경로 선택은 주로 다음과 같은 정책을 기반으로 합니다:`

  1. 고객 우선 (Customer > Peer > Provider): 자신의 고객에 대한 트래픽을 우선으로 처리합니다. 즉, 고객과의 계약에 따라 트래픽을 우선적으로 전달합니다. 고객은 트랜지트 트래픽을 수락하지 않으며, 자신의 고객에게만 트래픽을 전달합니다.
  2. 트랜지트 트래픽 정책 (Transit Traffic): 트랜지트 트래픽은 자신의 고객이 아닌 트래픽을 의미합니다. 프로바이더(Provider)는 트랜지트 트래픽을 수락하여 다른 AS로 전달합니다. 그러나 고객 및 피어(Customers and Peers)는 트랜지트 트래픽을 수락하지 않습니다.

경로 선택에는 위와 같은 정책 외에도 다른 정책들이 적용될 수 있습니다. 각 AS는 자체적인 정책을 설정하여 트래픽을 제어하고, 이를 기반으로 경로 선택을 수행합니다.

경로 광고는 다음과 같은 링크 유형에 따라 다른 방식으로 이루어집니다:

  1. 고객 링크 (To customer link): 고객과의 연결에 대해 모든 경로를 광고합니다. 즉, 자신의 고객에게 서비스하는 모든 경로를 다른 AS에게 광고합니다. 이는 고객이 자체적으로 선택할 수 있는 다양한 경로를 제공하기 위한 것입니다.
  2. 프로바이더 링크 (To provider link): 프로바이더와의 연결에 대해서는 고객 경로만을 광고합니다. 다시 말해, 자신의 고객들에게 서비스하는 경로들만 다른 AS에게 알려줍니다. 이는 프로바이더에 대한 비용을 최소화하기 위한 것입니다.
  3. 피어 링크 (To peer link): 피어와의 연결에 대해서도 고객 경로만을 광고합니다. 피어에게는 자신의 고객들에게 서비스하는 경로들만 알려주게 됩니다. 이는 피어 간의 상호 운영에 중점을 두기 위한 것입니다.

이와 같은 광고 정책은 AS의 비즈니스 요구사항과 운영 정책에 따라 결정되며, 경로 선택과 트래픽 제어를 위한 중요한 요소입니다.

→ Customer link : all routes

→ Provider link : customers only

→ Peer link : customers only

로컬 우선순위(Local Preference)

  • 다중 연결된 AS(Multi-homed AS)에서 여러 프로바이더를 가지고 있는 경우 사용되는 개념입니다.
  • 이 경우, AS는 어떤 프로바이더를 사용할지에 대한 우선순위를 설정할 수 있습니다.
  • 로컬 우선순위 값이 높을수록 해당 프로바이더를 선호하게 됩니다.

Multi-Exit Discriminator (MED)

MED가 작은게 선택됨

AS201이 AS200으로부터 오는 트래픽을 A 대신 B로 유도하고자 할 때 사용되는 개념입니다.

  • AS201은 B를 통한 경로를 선호하기 때문에 MED 값을 작게 설정하여 A보다 우선시하려고 합니다.
  • MED 값이 작을수록 우선순위가 높아지며, 경로 선택 과정에서 작은 MED 값을 가진 경로가 선택됩니다.

MED는 주로 다중 연결된 AS에서 경로 선택에 영향을 미치는 데 사용됩니다. 다중 연결된 AS에서는 트래픽을 어떤 경로를 통해 전달할지 결정해야 합니다. AS201은 AS200으로부터 오는 트래픽을 B로 유도하기 위해 B와의 연결에 대해 작은 MED 값을 설정하여 B를 선호하는 경로를 선택하도록 합니다. 이렇게 함으로써 AS201은 트래픽을 원하는 방향으로 유도하고 효과적으로 네트워크 트래픽을 관리할 수 있습니다.

MED 값은 AS에서 설정되며, 경로 선택에서 사용됩니다. 작은 MED 값을 가진 경로가 더 높은 우선순위를 갖게 됩니다. 그러나 MED 값은 다른 AS에 의해 해석되므로, AS간에 동일한 의미로 해석되지 않을 수 있습니다. 따라서 MED는 AS 간의 협의에 따라 적절하게 사용되어야 합니다.

0개의 댓글