포스트

컴퓨터 네트워크 #15


목차

  1. 인터넷 라우팅 프로토콜

자율시스템(AS : Autonomous System)

  • 단일 기관이 관리하는 라우터네트워크 집합
  • 동일한 라우팅 프로토콜을 사용해 정보를 교환하는 라우터들의 그룹으로 구성
  • 임의의 두 AS 노드 사이에 경로 존재
  • 서로 다른 AS 라면 라우팅 알고리즘과, MTU ( 최대 패킷 크기 ) , 라우팅 표 등이 다를 수 있다.
  1. IRP(interior router protocol)

    내부 라우터 프로토콜로 AS 외부에서는 구현할 필요 없음, 하나의 AS 안의 라우터간의 라우팅 정보를 교환하는데 사용한다.


  2. ERP(exterior router protocol)

    서로 다른 AS에 위치한 라우터들 사이에서 라우팅 정보를 전달하기 위해 사용하는 프로토콜.

    정보가 IRP 보다 적게 필요하다.


적은 정보가 필요한 이유

설명을 위해 AS 1번은 1-5 라우터를 AS 2번은 6-10 라우터를 가지고 있다고 가정해보자.

이 때 5번 라우터와 6번 라우터가 ERP 로 연결되어있다고 하자.

AS 1번에서 AS 2번으로 데이터그램이 전송한다고 하자.

AS 1번은 AS 2번의 모든 라우터에 대한 정보를 가질 필요 없이 AS 2번의 6번 라우터에 대한 경로만 결정하면 된다.

데이터그램을 받은 6번 라우터는 AS 2번의 라우팅 시스템을 통해 AS 2번에 속해 있는 특정 호스트에게 데이터그램을 전달한다.

라우팅에 대한 접근 방법

인터넷 라우팅 프로토콜이 라우팅 정보를 수집하고 사용하는 3가지 접근 방법을 사용하는데 다음과 같다.

이 3가지 방법은 컴퓨터 네트워크 8번 포스팅의 ARPANET 라우팅에서 더 자세히 적어놓았다.

  1. 거리벡터 라우팅

    • 이웃 노드와 정보 교환이 필요하다
    • 구성 : 링크 비용 벡터 + 다음 홉 벡터
    • 모든 라우터가 상당한 양의 정보를 전송해야 한다.
    • 모든 라우터는 반드시 거리벡터를 모든 이웃들에게 전송해야 하고, 그 벡터는 모든 네트워크들로부터 추정 경로 비용을 포함한다.
    • 링크 비용에 큰 변화나, 링크가 사용 불가능하게 되면 이 내용을 전파하는 속도가 현저히 느리다.
    • 각 노드는 이웃 노드들의 정보만 알 수 있다.


  2. 링크상태 라우팅

    • 거리벡터 라우팅의 결점을 보완하기 위해 설계되었다.
    • 라우터는 링크 비용의 집합을 거리벡터 라우팅과 다르게 모든 다른 라우터들에게 알린다.
    • 모든 라우터는 위 항목을 토대로 전체 구성을 알 수 있고, 목적지까지의 최단 경로를 알 수 있다.
    • 최단 경로 설정을 위해 다익스트라 알고리즘을 사용한다.
    • 링크 비용에 큰 변화나, 링크가 사용 불가능하게 되면 즉시 모든 라우터에게 전파한다.
    • Time stampAck신호에 관련된 내용은 8번 글 Routing 에 적어놓았다.


  3. 경로벡터 라우팅

    • 데이터그램이 특정 경로를 따라 전송될 때 중간에 거치는 AS의 목록을 가지고 있다
    • 1번 항목으로 정책적인 라우팅 수행이 가능하다.
    • 라우터가 특정 AS를 통해 경로 배정되는 것을 피할 수 있다.
    • 라우터가 성능이나 보안이 떨어지는 AS를 회피할 수 있다.

라우팅 접근 방법과 IRP/ERP

거리벡터 라우팅과 링크상태 라우팅은 IRP에서는 효과적이나 ERP에서는 그렇지 못하다.

거리벡터 라우팅의 경우 특정 경로에 있는 중간 네트워크와 중간 라우터의 상태(신분)은 알지 못한다.

ERP를 위해 거리벡터 라우팅을 사용할 경우 다음과 같은 문제점이 발생한다.

  1. AS가 서로 다른 거리 척도를 가질 경우(링크벡터 라우팅에서의 문제)

    AS 1에서는 링크 비용을 큐 길이로 설정한다고 하고, AS 2에서는 측정 지연으로 설정한다고 하자.

    그렇다면 AS 2는 AS 1의 링크 비용을 낮게 평가할 것이다.

    이 경우 AS 1으로 부터 데이터그램을 넘겨받은 AS 2는 최소 비용으로 다시 AS 1의 라우터를 선택하는 상황이 발생 할 수 있다.

    이런 경우 순환이 일어나게 된다.


  2. 경로상의 AS 들에 대한 정보 취득이 불가능(거리벡터 라우팅에서의 문제)

    AS에 따라 특정 AS를 사용하는 금지 제한이 있을 수 있는데 이에 대한 정보가 없어서 정상적인 라우팅이 불가능하다.

    AS1에서 AS10으로 데이터그램을 전송하는데 보안이 취약한 AS를 거치면 안된다 라는 제한이 있다고 하자.

    거리벡터 라우팅의 경우 AS정보를 취득할 수 없기 때문에 AS10으로 가는 경로상의 모든 AS들에 대해 보안이 취약한지 아닌지 판단할 수 없다.

경계 게이트웨이 프로토콜 (BGP : Border Gateway Protocol)

BGPTCP/IP프로토콜을 사용하는 인터넷에서 사용하기 위해 개발된 ERP 이다.

서로 다른 AS의 라우터가 라우팅 정보 교환에 협력하도록 설계 되어있다,

다른 AS의 라우터와 연결될 수 있는 라우터를 게이트웨이 라고 한다.

  1. BGP의 3가지 기능적 절차

    1. 이웃 획득(neighbor acquisition)

      서로 다른 AS의 라우터가 라우팅 정보를 교환하기 위해 수행한다.

      한 라우터가 다른 라우터에게 보내는 요청 메시지가 수락됨으로써, 이웃이 되는 두 라우터가 모두 동의했다는 판단이 들면 연결이 된다.

      TCP 연결 성립 후 두 라우터가 서로에게 열기 메시지를 보낸다.

      각 라우터가 요청을 수락 시 생존 메시지를 응답으로 보낸다.

      (열기 메시지 : 아래서 서술)

      이웃이 되는 과정에서 특정 라우터의 주소와 존재를 어떻게 아는지, 특정 라우터와 라우팅 정보 교환이 필요하다는 것을 어떻게 판단하는지에 대해서는 BGP 에서 신경쓰지 않는다.

      이는 네트워크 관리자의 능동적인 개입으로 해결된다.


    2. 이웃 도달 가능성(neighbor reachability)

      이웃인 두 라우터는 주기적으로 서로 생존메시지를 보낸다.


    3. 네트워크 도달 가능성(network reachability)

      각 라우터는 도달 가능한 네트워크와 그 네트워크로의 선호 경로 ( 최적 경로 ) 를 데이터 베이스로 유지한다.

      데이터 베이스에 변화가 생기면 라우터는 변화를 갱신해서 갱신 메시지를 BGP 를 구현하고 있는 모든 라우터에게 브로드캐스트 한다.


  2. BGP는 TCP연결에서 전송되는 메시지들을 이용하여 동작한다

    아래 그림은 BGP 메시지의 4가지 메시지 상태이다.

    Desktop View

    • Marker(표시)

      이증을 위해 예약되어 있다.

      송신자가 이 부분에 인증 매커니즘의 일부로 사용하는 값을 넣을 수 있고, 수신자로 하여금 송신자의 신분을 식별할 수 있게 한다.

    • Length(길이)

      옥텟 단위의 메시지 길이

    • Type(유형) 네 가지 유형이 존재한다 (열기/갱신/통보/생존)

    1. 열기 메시지

      • 송신자가 위치한 AS 식별
      • 라우터의 IP 주소 제공
      • 송신자가 제안한 보유 시간 포함
      • 수신자는 자신의 보유 시간과 열기 메시지의 보유 시간 중 최소값을 보유 타이머 값으로 설정한다.
      • 보유 타이머 : 각 라우터는 보유 타이머가 만료되지 않도록 지속적으로 생존 메시지를 전송해야 한다
      • 생존 메시지는 헤더로만 구성되어 있다 (c)


    2. 갱신 메시지

      다음 두 종류의 정보를 교환한다.

      1. 인터넷의 단일 경로에 관한 정보 → 수신 라우터의 데이터베이스에 반영
      2. 송신 라우터가 앞서 광고한 취소될 경로들의 목록
      • NLRI

        해당 경로를 통해서 도착할 수 있는 네트워크 식별자 목록. 각 네트워크는 전체 IP 주소의 일부분인 네트워크 식별자로 식별됨

      • 경로 속성 (Origin)

        이 정보를 IRP 가 생성한건지 ERP 가 생성한건지에 대한 정보를 나타냄

      • AS_Path

        이 경로에서 경유하는 AS 목록

      • Next_Hop

        NLRI 필드의 나열된 목적지로 갈 때 다음 홉으로 사용하는 경계 라우터의 IP 주소 ( = 다음에 갈 곳 )

      • Local_Pref

        라우터가 같은 AS에 위치한 다른 라우터에게 특정 경로에 대한 선호도를 알리기 위해 사용

      • Multi_Exit_Disc(MED)

        AS 내부의 경로에 대한 정보를 교환하기 위해 사용


    BGP구현과 BGP 라우팅 정보 교환(그림)

    Desktop View

    Desktop View

    Desktop View


  3. OSPF(개방형 최단 거리 우선 프로토콜)

    TCP/IP 네트워크에서 IRP 로 사용되는 프로토콜로 링크 상태 라우팅/다익스트라 알고리즘 을 사용해 라우팅 테이블을 구성한다.

    아래의 왼쪽 그림은 하나의AS 네트워크 상태이고 오른쪽 그림은 OSPF를 사용해 만들어진 SPF트리이다.

    Desktop View

    R6를 기준으로 한 라우팅 테이블은 다음과 같다.

    Desktop View

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.