[Network] Routing Protocol

Song-YunMin·2021년 2월 7일
2

Network

목록 보기
3/9

Routing Protocol

인터넷이란 여러네트워크로 구성되어 있고 그 네트워크는 여러개의 네트워크 장비로 이루어져 있습니다.

라우팅은 여기에서 송신지에서 목적지로 가는 여러개의 경로중에 어느 하나를 선택하는 것이 라우팅입니다. 실제적으론 통신장치나 송신측이나 라우팅 테이블에 의해서 일어납니다.

라우팅 테이블에는 목적지로 가려면 여기로 가면좋다. 얘 한테 보내라 라는게 표시가 되어있습니다. 결국에는 라우팅 프로토콜은 라우팅 테이블은 만드는 것이 주요 임무이고, 라우팅에서는 라우팅 테이블을 보는것이 핵심적인 일입니다.

라우팅 프로토콜은 내부 게이트웨이 프로토콜과 외부 게이트웨이 프로토콜로 나뉩니다.

내부 게이트웨이 프로토콜과 외부게이트웨이 프로토콜은 AS(Autonomous System)으로 구분됩니다. 이 AS내부냐, AS간이냐가 내부 인지 외부인지 기준이 됩니다.

내부 게이트웨이 프로토콜에는 IS-IS, OSPF, IGRP, EIGRP, RIP 등이 이에 속합니다.

외부 게이트웨이 프로토콜에는 IBGP가 이에 속합니다.

자율 시스템

같은 회사의 있는 라우터들로 예를 들어보면 라우팅 테이블들을 만드는 것인데, 라우팅 테이블을 만들땐 라우팅 정보를 수집합니다. 라우팅 정보를 수집을 할때 인터넷에 있는 모든 라우터들로부터 정보를 수집하지 않습니다.

거꾸로 얘기하면 다른회사 다른 네트워크에 대한 장비들과 교환을 할까? 당연히 그렇지 않습니다. 회사 내에 있는, 기관 내에 있는 통신장비들 끼리만 라우팅 정보를 주고받아서 라우팅 테이블을 만들어야 합니다.

그래서 어떤 부분까지, 영역까지 라우팅 정보를 주고 받을것이냐 정하게 되는데 이것을 바로 AS라고 합니다.

자율 시스템 특징
통신 장치들과 네트워크의 전체 집합체. 즉 AS는 하나의 기관 내부를 나타내는 것으로 네트워크와 라우터의 집합으로 구성됩니다.
인터넷은 여러 기관의 네트워크로 구성되며, 각 기관은 하나의 AS로 볼 수 있습니다.

IGP (내부 게이트웨이 프로토콜)은 같은 AS 내부에서 라우팅 정보를 주고 받을때 사용되는 프로토콜이며,

BGP (외부 게이트웨이 프로토콜) 다른 회사, 다른 기관 등의 AS간에 라우팅 정보를 주고 받을떄 사용되는 프로토콜입니다.

라우팅 입장에서 보게 되면, 인터넷은 여러 개의 AS들이 서로 연결 되어 있는 집합체입니며, AS는 라우팅 정보를 주고받을 수 있는 영역입니다.

자율 시스템의 특징중에 하나는, 각 AS는 하나 또는 여러 개의 라우팅 프로토콜을 사용할 수 있습니다. 하지만 AS간에는 하나의 라우팅 프로토콜만 사용할 수 있습니다.

Intradomain (AS 내에서)

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

Interdomain (AS 간에)

  • Path Vactor Algorithm (BGP)

Distance Vector Routing

거리 벡터 라우팅에서 두 노드 사이의 최소 비용 경로의 최소 거리를 갖는 경로이며, 경로를 계산하기 위해 Bellman-ford Algorithm을 사용 합니다.

Distance Vector Routing을 사용하는 실제 라우팅 프로토콜들은 BRIPv1/v2, IGRP(Interior Gatewat Routing Protocol)이 있으며, BGP(Border Gateway Protocol)도 거리 벡터 라우팅과 개념 상 유사

알고리즘의 동작

  • 전체 AS에 대한 정보를 공유한다.
  • 이웃 라우터하고만 공유한다.
  • 주기적으로 공유한다.

A라는 라우터는 네트워크 1, 2, 3 이 연결되어 있습니다. A와 연결되어 있는 라우터는 B, F, E라우터한테 주기적으로 보내줍니다. 즉, 내가 알고있는 전체 네트워크에 대한 정보를 이웃하고 있는 라우터에게 보내줍니다.

그러면 인접 라우터는 보내준 라우터로부터 연결되어있는 네트워크의 정보를 받고 인접 라우터가 가지고 있던 정보와 합쳐서 새로운 라우팅 테이블을 만들 수 있습니다.

초기값은 A라는 라우터를 보면, A라는 장치가 가지고 있는 라우팅 테이블입니다.

총 엔트리는 3개가 존재하고, 목적지와 비용이 명시되어 있습니다. 이 라우팅 테이블은 이웃하는 모든 노드에게 보내집니다.

Table Update

  • A가 B로부터 라우팅 테이블을 받으면, 그 정보를 사용하여 테이블을 업데이트 합니다.
  • B의 라우팅 표는 패킷이 네트워크 1과 4로 이동하는 방법을 보여줍니다.
  • B는 A 라우터의 이웃으로, A에서 B까지의 패킷은 한 홉으로 도달할 수 있습니다. 따라서, 1은 B의 표에 제시된 모든 비용에 추가되며, 총액은 특정 네트워크에 도달하기 위한 비용이 될 것입니다.

조정 후 A는 이 테이블을 자체 테이블과 결합하여 결합 테이블을 만듭니다.

결합된 표는 일부 중복 데이터를 포함할 수 있습니다. 위 그림에서 라우터 A의 결합 테이블은 중복 데이터를 포함하고 있으므로 비용이 가장 낮은 데이터만 보관합니다.

라우팅 테이블을 생성하는 프로세스는 모든 라우터에 대해 계속 반복됩니다. 모든 라우터는 이웃으로부터 정보를 받고 라우팅 테이블을 업데이트 합니다.

![https://s3-us-west-2.amazonaws.com/secure.notion-static.com/306ab79f-![](https://velog.velcdn.com/images%2Fsms8377%2Fpost%2Fa6be1a61-4acd-477a-b8f6-1a6ca221fd57%2Fimage.png)

Routing Information Protocol

거리 벡터 라우팅 방법을 사용하며 라우팅 테이블에서 목적지는 일반적으로 네트워크가 되는프로토콜, 사용되는 매트릭은 홉수로 합니다. 도달 불가는한 경우 메트릭의 값을 16으로 정해놓습니다. 이웃 노드는 라우터의 주소가 됩니다.

RIP 프로토콜을 사용하여 테이블을 만들 수 있으며 Distance Vevtor Routing 방법을 사용합니다.

링크 상태 라우팅에서는 모든 노드가 전체 네트워크에 대한 구성도를 만들어서 경로를 구합니다.

각 노드는 다른 모든 노도로의 최단 경로를 구합니다. 각 노드는 Dijkstra's 최단 경로 알고리즘을 사용하여 라우팅 테이블을 구축합니다.

이 알고리즘을 실제로 사용하는 프로토콜은 Open Shortest Path Fist(OSPF) 이 있습니다.

위 그림을 보면 각각의 라우터들이 구성도를 모두 그립니다. 구성도를 모두 다 그린 다음에 거기서 최단경로를 구하는 방법으로 진행됩니다.

구성도를 구하는 방법은 각 노드의 부분 정보를 모아서 전체 네트워크의 구성도를 구할 수 있습니다.

인접 노드와 관련된 정보를 전체 라우터한테 전부 다 공유합니다. 변화가 발생하면 다시 정보를 공유하는 방식으로 동작됩니다.

위 테이블을 '링크 상태 테이블' 이라고 합니다. 이 링크 상태 테이블을 가지고 전체 구성도를 그릴 수 있습니다.

Path Vector Routing (BGP)

이 방법은 AS간에 사용되는 라우팅 프로토콜로 현재 사용되는 버전은 BGP4입니다.

목적지 네트워크, 이웃 라우터, 경로로 구성된 테이블을 사용합니다. 경로속성에는 모든 경로가 명시되어 있습니다.

BGP의 특징

  • EGP 또는 Interdomain Routing Protocol이라고도 합니다.
  • 인터넷을 AS간 연결 경로로 이루어진 방향성 그래프의 집단으로 볼 수 있습니다,
    • BGP는 인터넷을 각각 유일한 AS번호를 갖는 AS들이 임의로 연결된 AS 집합으로 그래프를 그리고 있다고 가정
  • 발전된 형태의 Distance Vector Routing Protocol 입니다.
    • 'Path Vector Routing Protocol 이라고도 불림
  • 끝 없이 순환되는 문제점이 없도록 방지합니다.
    • 즉, BGP는 Looping-Free하는 라우팅을 보장하며, 순환을 피할 수 있도록 목적지까지 가는 경로 정보를 제공
profile
고독한 서버 개발 3년차

0개의 댓글