컴퓨터망 8) Unicast routing protocol

zh025700·2022년 6월 29일
0

컴퓨터네트워크

목록 보기
8/26

컴퓨터망

8. Unicasting

유니캐스트는 하나의 sender와 하나의 receiver 사이의 통신을 의미하며, 일대일 통신을 의미한다
이 장에서는 라우터가 유니캐스트 통신을 지원하기 위해 라우팅 테이블을 만드는 방법에 대해 논의한다
즉 라우팅 프로토콜에 대해 논의한다
우리는 인터넷이 라우팅 정보의 교환을 효율적으로 처리하기 위해 autonomous 시스템으로 알려진 영역으로 어떻게 나뉘는지 보여준다
그런 다음 시스템 내에서 사용되는 두 가지 주요 라우팅 프로토콜과 시스템 간의 라우팅 정보 교환에 사용되는 한 가지 라우팅 프로토콜을 설명한다

Introduction

인터넷은 라우터로 연결된 네트워크의 조합이다
데이터그램이 source에서 destination으로 갈 때, 데이터그램은 아마도 destination 네트워크에 연결된 라우터에 도달할 때까지 많은 라우터를 통과할 것이다

  • 오늘날 인터넷은 동적 라우팅 테이블을 가진다
    • 변경이 있으면 테이블이 갱신된다
      • 더 나은 경로가 있으면
      • 경로가 없어지면
  • 라우팅 프로토콜은 동적 라우팅을 위해 만들어졌다
    • table을 업데이트할때 사용되는 규약이다

Intra and InterDomain routing

오늘날 인터넷은 너무 커서 하나의 라우팅 프로토콜이 모든 라우터의 라우팅 테이블을 업데이트하는 작업을 처리할 수 없다
이러한 이유로 인터넷은 autonomous 시스템으로 나뉜다
자율 시스템(AS)은 단일 관리의 권한 아래 네트워크와 라우터의 그룹이다
자율 시스템 내부의 라우팅을 intra domain 라우팅이라고 한다
자율 시스템 간의 라우팅을 inter domain 라우팅이라고 한다.

RIP

  • 라우터간 벡터 거리

  • 벨만 포드 이용

  • 내부 라우팅

OSPF

  • 링크의 상태
  • 다익스트라 이용
  • 내부 라우팅

BGP

  • 경로 벡터
  • 외부 라우팅

Distance vector routing

모든 라우터와 네트워크가 있는 AS를 그래프로 본다
라우터는 일반적으로 두 노드를 연결하는 링크에 의해 노드와 네트워크로 표현될 수 있지만 다른 표현도 가능하다
Bellman-Ford 알고리즘을 사용하여 노드 간의 거리가 주어진 그래프에서 노드 간의 최단 경로를 찾는다

bellman ford 알고리즘

  • 각 노드 간의 비용을 알면 알고리즘을 사용하여 두 노드 간의 최단 경로를 찾을 수 있다

  • 노드 i의 모든 이웃이 노드 j까지의 최단 거리를 알고 있다면 노드 i와 각 이웃 사이의 거리를 노드 j에 대한 이웃의 최단 거리에 더하여 노드 i와 j 사이의 최단 거리를 찾을 수 있다는 사실에 기초한다

EX

그림은 AS에 대한 초기 라우팅 테이블을 보여준다
이 그림은 모든 라우팅 테이블이 동시에 작성되었음을 의미하지는 않는다
각 라우터는 부팅될 때 자체 라우팅 테이블을 만든다

이제 라우터 A가 인접 라우터인 라우터 B, D 및 C에 4개의 레코드를 보낸다고 가정한다
그림은 이러한 레코드를 수신할 때 B의 라우팅 테이블의 변경 사항을 보여준다
다른 이웃들의 라우팅 테이블에서의 변화를 연습으로 남겨두었다.

  • 서로 서로 정보를 교환한다
    • 더 좋은 정보가 있다면 테이블을 갱신한다
    • 그렇지 않다면 유지한다

위 과정을 거친 라우터들의 최종 라우팅 테이블이다

RIP

  • 시스템 내에서 사용되는 intra domain 라우팅 프로토콜
    • 거리 벡터 라우팅에 기반한 매우 간단한 프로토콜
  1. 시스템에서 우리는 노드로 설명되었던 라우터와 네트워크(링크)를 다루고 있다.
  2. 라우팅 테이블의 대상은 네트워크이며, 이는 첫 번째 열이 네트워크 주소를 정의함을 의미
  3. RIP가 사용하는 비용은 매우 간단, 거리는 대상에 도달하기 위해 사용해야 하는 링크(네트워크)의 수로 정의, 이러한 이유로 RIP의 비용을 홉 카운트라고 한다
  4. infinity는 16으로 정의되며, 이는 RIP를 사용하는 시스템의 모든 경로가 15개 이상의 홉을 가질 수 없다는 것을 의미
  5. 다음 노드 열은 패킷이 대상에 destination하기 위해 전송될 라우터의 주소를 정의

RIP는 UDP를 사용하고 520번 포트번호를 사용

Link state routing

링크 상태 라우팅은 거리 벡터 라우팅과는 다르다
링크 상태 라우팅에서 도메인의 각 노드가 도메인의 전체 토폴로지(노드와 링크 목록, 유형, 비용(메트릭), 링크 상태(업 또는 다운)를 포함하는 연결 방법)를 가지고 있다면 노드는 다이크스트라 알고리즘을 사용하여 라우팅 테이블을 만들 수 있다

  • 각 노드의 상태를 돌아가면서 다익스트라를 통해 최단거리를 뽑아낸다

OSPF

OSPF(Open Shortest Path First) 프로토콜은 link state 라우팅을 기반으로 하는 intra domain 라우팅 프로토콜이다
도메인은 autonomous 시스템이다

  • OSPF는 라우팅을 효율적이게 하기 위해 autonomous시스템을 area으로 나눈다

    • area는 autonomous 시스템에 포함된 네트워크, 호스트 및 라우터의 모음
    • autonomous 시스템은 많은 다른 영역으로 나눌 수 있다
    • area 내의 모든 네트워크가 연결되어 있어야 한다
  • area 내부의 라우터는 해당 area에 라우팅 정보를 제공

  • area의 경계에서 area border 라우터라고 하는 특수 라우터는 area에 대한 정보를 요약하고 다른 area로 보냄

  • 시스템 내부의 area 중에는 백본이라고 불리는 특별한 영역이 있다

    • 시스템 내부의 모든 area는 백본에 연결되어야 한다.
    • 즉, 백본은 주요 area, 다른 area는 2차적 area로 기능한다
      • 그러나 이것은 area 내의 라우터가 서로 연결될 수 없다는 것을 의미하지는 않음
    • 백본 내부의 라우터를 백본 라우터라고 한다
      • 백본 라우터는 area border 라우터일 수도

  • ospf에서 connection은 link라고 불린다
  • 4가지 유형이 있다

Point to Point link

  • 사이에 다른 호스트나 라우터 없이 두 개의 라우터를 연결한다
    • 두개의 라우터를 연결하는 것이 목적

transient link

  • 여러 라우터가 연결된 네트워크
    • 데이터는 라우터를 통해 들어가고 라우터를 통해 나갈 수 있다
    • 두 개 이상의 라우터가 있는 모든 LAN 및 일부 WAN은 이 유형
    • 각 라우터는 많은 이웃을 가진다

stub link

  • 하나의 라우터에만 연결된 네트워크
    • 데이터 패킷은 이 단일 라우터를 통해 네트워크에 들어오고 동일한 라우터를 통해 네트워크에서 나옴

OSPF의 그래픽적 표현 및 예시

그림은 7개의 네트워크와 6개의 라우터를 가진 작은 AS를 보여준다
두 개의 네트워크는 point to point 네트워크다
transient 및 stub 네트워크에 N1 및 N2와 같은 기호를 사용한다
point to point 네트워크에는 ID를 할당할 필요가 없다
그림에는 OSPF에서 볼 수 있는 AS의 그래픽 표현도 나와 있다
라우터에 컬러 노드를 사용하고 네트워크에 음영 노드를 사용했다
그러나 OSPF는 두 가지를 모두 노드로 본다
3개의 stub 네트워크가 있다

OSPF 패킷의 유형

  • OSPF는 다양한 유형의 패킷을 사용

    • 가장 중요한 것은 link state update 자체에도 여러 종류가 있다는 것이다.

OSPF 패킷은 IP 데이터그램으로 캡슐화된다

  • OSPF 패킷은 오류 제어를 위한 메커니즘이 포함되어 있어 상위 프로토콜이 필요하지 않다

Path vector routing

거리 벡터와 링크 상태 라우팅은 둘 다 내부 라우팅 프로토콜이다
이들은 시스템 내에서 도메인 내 또는 AS 내로 사용될 수 있지만 시스템 간에는 사용할 수 없다
이러한 라우팅 프로토콜은 운영 영역이 커지면 다루기 어려워진다
거리 벡터 라우팅은 운영 영역에 홉이 몇 개 이상 있을 경우 불안정할 수 있다
링크 상태 라우팅은 라우팅 테이블을 계산하기 위해 엄청난 양의 리소스가 필요

경로 벡터 라우팅은 도메인 간 또는 AS 간 라우팅에 유용하다는 것이 증명된 외부 라우팅 프로토콜이다
거리 벡터 라우팅에서, 라우터는 상응하는 비용(홉 수)으로 동일한 AS에서 도달할 수 있는 네트워크 목록을 가지고 있다
경로 벡터 라우팅에서, 라우터는 각 네트워크에 도달하기 위해 경로(통과할 AS 목록)로 도달할 수 있는 네트워크 목록을 가지고 있다
즉, 거리 벡터 라우팅의 작동 도메인은 단일 AS이며 경로 벡터 라우팅의 작동 도메인은 전체 인터넷이다
거리 벡터 라우팅은 각 네트워크까지의 거리를 알려주고, 경로 벡터 라우팅은 경로를 알려준다.

Reachability

각 AS는 해당 AS의 각 네트워크에 대한 도달 가능성 정보를 수집하는 적어도 하나의 경로 벡터 라우팅이 있어야 한다
AS는 자신의 영역에 있는 기존 네트워크 목록을 가질 필요가 있다
위 그림은 3개의 AS를 보여준다
각 외부 라우터는 AS에서 도달할 수 있는 네트워크를 보여주는 목록이 있다

Routing Table

AS가 서로 reachability 목록을 공유하는 경우 각 라우터에 대한 경로 벡터 라우팅 테이블을 만들 수 있다
앞선 그림에서, AS1의 라우터 R1은 그것의 도달 가능성 목록을 라우터 R2로 보낼 수 있다
라우터 R2는 도달 가능성 목록을 결합한 후 R1과 R3 모두에 결과를 전송할 수 있다 라우터 R3은 도달 가능성 목록을 R2로 전송하여 라우팅 테이블을 개선하는 등의 작업을 수행할 수 있다
현재 그림은 세 개의 라우터가 모두 라우팅 테이블을 업데이트한 후 각 라우터의 라우팅 테이블이다
라우터 R1은 패킷이 네트워크 201.2.2.0/24에 도착하면 이 네트워크가 AS1(홈)에 있다는 것을 알고 있지만, 패킷이 네트워크 130.14.0.0/16에 도착하면 패킷은 대상 네트워크에 도달하기 위해 AS1에서 AS2로 이동해야 한다
반면에, 라우터 R2가 네트워크 22.0.0.8로 향하는 패킷을 받는다면, 라우터는 목적지에 도달하기 위해 AS2에서 AS3로 이동해야 한다는 것을 알고 있다

Aggregation

경로 벡터 라우팅 프로토콜은 일반적으로 address aggregation을 지원한다
이것은 경로 벡터 라우팅 테이블을 더 단순하게 만들고 라우터 간의 교환을 더 빠르게 하는 데 도움이 된다
예를 들어, 그림의 경로 벡터 라우팅 테이블을 집계하여 더 짧은 라우팅 테이블을 만들 수 있습니다
범위는 또한 해당 AS에 없을 수 있는 블록을 포함할 수 있다
예를 들어, 201.2.0.0/22 범위에는 AS1의 어떤 네트워크의 네트워크 주소도 아닌 201.2.0.3/24 범위도 포함된다
그러나 이 네트워크가 일부 다른 AS에 존재하는 경우 결국 라우팅 테이블의 일부가 된다
longest path routing에 따르면, 이 네트워크 주소는 201.2.0.0/22보다 높고 먼저 검색되어 정확한 라우팅이 이루어진다

BGP

BGP(Border Gateway Protocol)는 경로 벡터 라우팅을 사용하는 도메인 간 라우팅 프로토콜이다
4가지 버전을 거쳤다

External and Internal BGP

BGP는 외부 BGP(E-BGP)와 내부 BGP(I-BGP)의 두 가지 유형이 있다
E-BGP 세션은 두 개의 서로 다른 자율 시스템에 속하는 두 개의 노드 간에 정보를 교환하는 데 사용
반면, I-BGP 세션은 자율 시스템 내의 두 라우터 간에 라우팅 정보를 교환하는 데 사용

AS1과 AS2 사이에 설정된 세션은 E-BGP 세션
두 개의 라우터는 인터넷에서 네트워크에 대해 알고 있는 정보를 교환한다
그러나 이 두 라우터는 자율 시스템의 다른 라우터로부터 정보를 수집해야 한다
작업은 I-BGP 세션을 사용하여 수행

패킷 유형

BGP는 classless 어드레싱과 CIDR(classless 도메인 라우팅)을 지원한다

캡슐화

BGP는 TCP를 사용하고 179 포트번호를 사용

  • error,flow 제어가 필요 없다
profile
정리

0개의 댓글