1) Routing table 구성방법


Routing : 라우팅은 어떤 네트워크 안에서 통신 데이터를 보낼 경로를 선택하는 과정입니다. 라우팅은 전화 통신망, 전자 정보 통신망(인터넷 같은) 그리고 교통망 등 여러 종류의 네트워크에서 사용됩니다. 하나의 컴퓨터로 자신이 속하지 않은 네트워크에 속한 컴퓨터와 통신을 할 때 발생된 패킷을 목적지까지 전절해 주는 과정이라고도 할 수 있습니다이를 정적 라우팅과 동적 라우팅으로 나눌 수 있습니다.

 

1 - 정적 라우팅(Static Routing)

: 네트워크 관리자가 패킷의 경로를 임의로 결정하여 수동으로 구성하는 라우팅 방식으로, 정적 라우팅은 네트워크 환경 변화와는 무관하게 항상 같은 경로로만 패킷의 라우팅 경로를 설정 및 유지합니다.

 

장점

1. 정적 경로가 간단하고 경로를 네트워크 관리자의 의도대로 정밀하게 제어할 수 있습니다.

2. 라우터 경로정보를 주고 받을 필요가 없어 효율이 높습니다.

3. 정적 경로 예측 및 소규모 네트워크에서 이해하기 쉽습니다.

 

단점

1. 경로를 설정하고 유지하는 데에 시간이 많이 걸리게 됩니다.

2. 적절한 경로 구현을 위해 전체 네트워크에 대한 완전한 지식이 요구됩니다.

3. 네트워크 규모가 커지면 설정 및 관리가 어렵습니다.

 

2 - 동적 라우팅(Dynamic Routing)

: 인접한 라우터들 사이에서 라우팅 프로토콜을 이용하여 네트워크 정보를 상호 교환하며 라우팅 테이블을 상시 자동적으로 생성하고 유지하는 라우팅 방식입니다.


장점

1. 네트워크가 추가되거나 삭제되어도 관리자의 설정을 유지하기 위한 작업이 적게 됩니다.

2. 네트워크 환경이 수시로 변경되는 복잡한 환경, 대규모의 네트워크에서 사용할 수 있습니다.

3. 경로의 특성에 대한 정보를 주고 받아 상황에 따라 다른 경로를 선택할 수 있습니다.

 

단점

1. CPU 사이클, 메모리, 링크 대역폭 등과 같은 라우터 자원들이 사용됩니다.

2. 불필요한 정보까지 라우터가 가지게 되어 데이터 전송 속도가 느려집니다.

 

Routing Table(라우팅 테이블)은 컴퓨터 네트워크에서 목적지 주소를 목적지에 도달하기 위한 네트워크 노선으로 변환시키는 목적으로 사용되며, 라우팅 프로토콜의 가장 중요한 목적이 바로 이러한 라우팅 테이블의 구성입니다.

 

- 가장 단순한 모델인 hop-by-hop 라우팅 방식에서, 각 라우터의 라우팅 테이블은 모든 목적지 정보에 대해 해당 목적지에 도달하기 위해서 거쳐야 할 다음 라우터의 정보를 가지고 있습니다. 라우팅 테이블이 일관적이라고 가정하면, 패킷을 받은 다음, 라우팅 테이블을 검사해서 다음 라우터를 찾은 뒤, 해당 라우터로 패킷을 넘겨주는 이러한 단순한 알고리즘만으로 네트워크상의 어느 곳으로라도 데이터를 전송할 수 있게 됩니다. 하지만 실제로는, hop-by-hop 라우팅 방식은 MPLS와 같은 계층적 아키텍처에 밀려나서 급격히 사라지는 추세입니다. 계층적 아키텍처에서는 한번의 테이블 검사로 몇 번의 전달과정을 대체할 수 있으며, 이는 테이블 검사시간을 감소시키며 따라서 네트워크의 성능을 증가시키게 됩니다.


2) Distant Vector Routing 알고리즘

라우터는 목적지 까지의 모든 경로를 자신의 라우팅 테이블 안에 저장하는 것이 아니라 목적지까지의 거리(홉 카운트 등)와 그 목적지까지 어떤 인접 라우터를 거쳐서 가야하는 만을 저장하게 됩니다. 인접 라우터들과 주기적으로 라우팅 테이블을 교환해서 자신의 정보에 변화가 생기지 않았는지를 확인하고 관리합니다.

 

장점

1. 한 라우터가 모든 라우팅 정보를 가지고 있을 필요가 없기 때문에 라우팅 테이블을 줄일 수 있어서 메모리를 절약할 수 있습니다.

2. 라우팅의 구성자체가 간단하며, 여러 곳에서 표준으로 사용되고 있습니다.

 

단점

1. 라우팅 테이블에 아무런 변화가 없더라도 정해진 시간마다 한 번씩 꼭 라우팅 테이블의 업데이트가 일어나기 때문에 트래픽을 쓸데없이 낭비하게 됩니다.

2. 라우팅 테이블에 변화가 생길 경우 이 변화를 모든 라우터가 알 때까지 걸리는 시간이 느리다는 단점이 있습니다.

 

-> 커다란 네트워크에는 적용하지 않고 다만 작은 규모의 네트워크에 적용할 경우에는 구성의 편리와 메모리의 절약 등의 장점을 살릴 수 있습니다.

 

라우팅 테이블의 변화가 생기면 이웃 라우터와 '전달->전달->전달' 이와 같은 방식으로 일어나기 때문에 라우팅 테이블의 변화를 알아채는 데 걸리는 시간이 길게 됩니다.

 

3) Link State Routing 알고리즘의 원리 및 특성

: 한 라우터가 목적지까지의 모든 경로 정보를 다 알고 있는 것입니다.

topology 데이터베이스를 가지고 라우터는 SPF(Shortest Path First)라는 알고리즘을 계산합니다.

 

SPF(Shortest Path First): 어디로 가야 가장 빨리갈 수 있는가를 계산. 이 계산 결과를 가지고 라우터는 SPF트리를 만들게 됩니다.

(*SPF트리 : 출발지에서 목적지까지를 마치 나뭇가지처럼 펼쳐놓은 다음 가장 빠른 경로를 찾아가는 방식)

 

장점 

1. 링크 스테이트 알고리즘은 한 라우터에서 목적지까지의 모든 경로는 알고있기 때문에 중간에 링크의 변화가 생겨도 이를 알아내느데 걸리는 시간이 짧습니다.

2. 이웃 라우터들과 라우팅 테이블을 교환하는 과정에서도 모든 라우팅 테이블을 교환하는 디스턴트 벡터방식과는 달리 라우팅 테이블의 교환이 자주 발생하지 않고, 또 교환이 일어나는 경우에도 테이블에 변화가 있는 것만을 교환하기 때문에 트래픽 발생을 줄여줄 수 있습니다.

단점

1. 모든 라우팅 정보를 관리해야 하기 때문에 메모리를 많이 소모하게 됩니다.

2. SPF게산 등 여러 가지 계산을 해야하기 때문에 라우터 CPU가 일을 많이 해야합니다.

 

커다란 네트워크에 설치되는 고용량 라우터에 적용하는 것이 바람직하며, OSPF(Open Shortest Path First)인 대표적인 라우팅 프로토콜이 있습니다.

 

4) RIP(Routing Information Protocol)

: 거리벡터 알고리즘에 기초하여 개발된 라우팅 프로토콜

- IGP(Interior Gateway Protocol)

- 소규모 또는 교육용 등 비교적 간단한 네트워크에 주로 사용됨

 

특징 거리벡터 라우팅 프로토콜.

 

1 - Routing Metric(라우팅 메트릭) 으로 Hop Count (홉 수)만 사용

- 경로비용을 단지 홉 수로 만 판단

  속도나 거리 지연 등을 고려하지 않아 최적의 경로 산정에 비효율적

 

2 - 최대 홉 수의 제한

- 최대 15 홉 수(16은 무한대)로 제한

  (hop)수는 라우터를 통과할 때 마다 1 씩 증가하게 됨

 

  UDP 세그먼트에 캡슐화되어 사용

- RIP 메세지 송수신용 UDP 포트

. RIPv1,RIPv2 : UDP 포트번호 520

. RIPng : UDP 포트번호 521

 

3 - Classful Routing 수행

- Subnetwork 정보가 아닌 Class 형태의 라우팅 정보 만을 전달함으로써 라우팅 정

보 전달량이 많음

. , RIPv2 는 라우팅 업데이트 정보에 서브넷 마스크 정보를 포함하여 VLSM 지원

 

4 - 주기적인 라우팅 업데이트 -> 라우팅 광고 참조

- 30초 마다 RIP 응답메세지(RIP 패킷)를 브로드캐스팅

. 이때의 목적지 IP 주소를 255.255.255.255로하여 브로드캐스트 주소를 사용

- 상대에게서 수신된 네트워크 정보를 제외한 모든 네트워크 정보를 상대에게 알려줌

. 수신 라우터는 자신의 라우팅 테이블을 재 작성하도록 함

.. 수신 라우터는 네트워크 경로 항목에서 더 짧은 홉 수를 수신 받았을 때만 해당 라우팅 경로 항목을 교체함

 

5 - Slow Convergence (늦은 수렴성)

- 라우터들끼리 주기적으로(30초 간격) 경로 업데이트를 하며 경로 재계산함에 따라

. 몇 개 라우터 만 지나도 수분 이상 걸림

 

6 - 라우팅 트래픽 부하

- 전체 경로를 담은 라우팅 테이블을 주기적으로 보로드캐스트함에 따라

. network에 이에따른 traffic 부하를 줌

 

7 - 라우팅 루프

- 전 라우터들 사이에 동기화를 시켜주지 않으면 패킷의 경로가 부적절하게될 수 있음

- 30초 마다 업데이트되는 까닭에 다운(Down) 등의 나쁜 소식이 늦게 전달되어

잘못된 경로로 무한 루프(Infinite Loop)를 도는 사태 발생

 

8 - Count-to-Infinity Problem

- 느린 수렴 시간 때문에, 나쁜 경로를 다른 라우터에게 전하면 그 라우터는 더 느리게

더 나쁜 정보로써 다른 라우터에게 전하게되면서 결국 무한(16) 홉 수로 가는 현상

 

5) OSPF(Open Shortest Path First)

: 최단 경로 우선 프로토콜(Open Shortest Path First, OSPF)은 인터넷 프로토콜(IP) 네트워크를 위한 링크 스테이트 라우팅 프로토콜입니다. 링크 스테이트 라우팅 알고리즘을 사용하며, 하나의 자율 시스템(AS)에서 동작하면서 내부 라우팅 프로토콜의 그룹에 도달합니다.

 

특징

1 - 네트웍을 Area 로 구분하여 이것을 계층구조로 구성함으로써 많은 Routing Information의 교환으로 인한 라우터의 성능 저하를 예방하고 대역을 절약

2 - VLSM을 지원하므로 IP Address를 효과적으로 할당하여 활용

3 - Aggregation된 형태로 Routing Information을 전달할 수 있어 라우터의 메모리 절약 및 성능 향상, 그리고 대역을 절약

4 - Metric으로 Bandwidth를 이용하므로 IGRP와 마찬가지로 Hop Count에 의한 제한을 받지 않음

5 - Routing Information 전달시 IP Multicast 방법을 이용

6 - Routing Information 교환시 Authentication 을 지원

 

 

6) BGP (Border Gateway Protocol)

자치시스템(AS) 상호 간에 적용되는 라우팅 프로토콜(Inter-Domain Routing Protocol)

- 독립적으로 운용되는 대규모 네트워크 간에 주로 사용되는 라우팅 프로토콜

 

특징

: AS 상호 간의 라우팅 정보 교환을 위한 라우팅 프로토콜

- EGP(Exterior Gateway Protocol) 또는 Interdomain Routing Protocol 라고 함

 , 물리적인 라우터 간에 라우팅하는 관점이 아니라, AS 간에 라우팅이 이루어짐

 

1 - 인터넷을 AS 간 연결 경로(Path)로 이루어진 방향성 그래프의 집단으로 봄

- BGP는 인터넷을 각각 유일한 AS 번호를 갖는 AS들이 임의로 연결된 AS 집합으로 그래프를 그리고 있다고 가정 (AS 간에 Mesh Type 구성)

 

2 - 발전된 형태의 Distance Vector Routing Protocol (거리벡터 라우팅프로토콜)

- `Path Vector Routing Protocol (경로 벡터 라우팅프로토콜이라고도 불림.

(여기서, AS 경로(AS Path)는 목적지 네트워크(AS)까지 거쳐야하는 Path를 나타냄)

- BGP는 최적/최단의 경로를 찾는 라우팅 정보라기 보다는, 도달 가능성(network reachability)을 알리는 프로토콜


3 - 끝없이 순환되는 문제점이 없도록 함

- , BGPLooping-free 하는 라우팅을 보장하며, 순환을 피할 수 있도록 목적지까지 가는 경로 정보를 제공

 

4 - 신뢰할 만한 TCP 연결에 의해 라우팅 정보를 교환

- 라우팅 정보는 BGP 라우터간에 포트번호 179번을 통하여 TCP에 의해 신뢰성있게 전달

 

5 - 라우팅 정보의 점진적 부분 갱신 (Incremental, Partial, Triggered Update)

- BGP는 주기적으로 정보를 갱신하지 않고, 단지 변화가 있을때 만, 이웃 라우터에게 갱신 정보를 Advertising.

(처음 BGP Session을 맺을때만 전체 라우팅 정보 필요, 이후 변화된 것만 필요)

 

- 한편, 순간적 Flapping 방지를 위해 일정시간 대기

(AS 내부 iBGP 간에 5, AS 외부 eBGP 간에 30초 대기 후에 라우팅 업데이트 수행)

 

- 만일, 네트워크 변화가 전혀 없으면 주고받는 정보가 없게되므로, 이를 위해 자신이 살아있음을 알리는 BGP 킵얼라이브메세지를 60초 마다 교환

 

6 - 최상의 경로 선택을 위해 다양하고 풍부한 Routing Metric 사용 (Path Attribute)

- 우선순위가 있는 각 Metric을 차례대로 참조하여 최상의 경로를 선택

 

7 - 클래스 없는 주소체계 지원

- CIDR(Classless InterDomain Routing) 지원

- BGP는 각 주소 정보에 덧붙여 Prefix의 길이도 함께 전달 -> NLRI

 

8 - 정책 기반의 라우팅 프로토콜 (Policy-based Routing)

- BGP는 상대 영역의 라우팅 정책을 침범하지 않고도, 자신의 라우팅 정책을 구현 가능

(서로 경쟁적인 AS 간에 자신의 피해 예방을 위해 최소한의 정보 공유 등 정치적 이유,보안 등에 의해 각 경로에 대해 선택적으로 버리거나 무시하거나또는 정책적인 가중치 부여가 가능)

 

BGP 메시지 포맷


 

7) IS-IS(Intermediate System to Intermediate System)

IS-IStwo-level 계층의 Link-state technology를 기반으로 하는 라우팅 프로토콜이며, ISOConnectionless Network Protocol(CLNP)을 위한 라우팅 프로토콜입니다.

처음 IS-ISDigital Equipment Corporation에서 DECnet Phase V을 위해 개발한 프로토콜이었으나 ISO에서 표준으로 제정한 것입니다. ISOIS-IS를 표준으로 만들 때, Internet Architecture Board (IAB)에서는 OSPF를 만들고 있었습니다. TCP/IP1980년대와 1990년대에 OSI를 대신하여 대중적으로 많이 사용한 프로토콜이였으나, 결국에는 OSI로 대체될 것이라고 예상하였고, 이 예상에 대비하기 위해 IS-IS를 확장하여 Integrate IS-IS(또는 Dual IS-IS)를 제안하였습니다. Integrated IS-IS의 목적은 CLNPIP를 라우팅할 수 있는 능력을 가지는 하나의 라우팅 프로토콜을 제공하는 것입니다. Integrated IS-ISCLNS 환경, IP 환경, 그리고 CLNS/IP 혼합 환경에서 사용할 수 있도록 설계되었습니다.

 

특징

- Shortest-path tree를 계산하는 Dijkstra-based SPF로부터 링크 state database를 유지합니다.

- Adjacency들을 형성하고 유지하기 위해 Hello 패킷들을 사용합니다.

- Two-level hierarchical topology를 형성하기 위해 area들을 사용합니다.

- 두 area사이의 address summarization을 제공할 수 있습니다.

- Classless 프로토콜입니다.

- Broadcast 네트워크를 대표하는 designated 라우터를 선출하게 됩니다.

- Authentication 기능을 가집니다.


WRITTEN BY
SiriusJ

,