본문 바로가기
CS

라우팅

by wwns 2023. 10. 12.
반응형

라우팅(Routing)

  • 패킷에 포함된 주소 등의 상세 정보를 이용하여 목적지까지 데이터 또는 메시지를 체계적으로 다른 네트워크에 전달하는 경로 선택 (Path Determination) 그리고 스위칭 (Switching)하는 과정을 의미한다
  • 여러 네트워크들의 연결을 담당하는 라우터 장비가 데이터의 목적지가 어딩니지 확인하여 빠르고 정확한 길을 찾아 전달해 주는 것
    • 목적지에 대한 정보를 가지고 이웃 라우터들과 정보를 교환하는 프로토콜을 라우팅 프로토콜이라고 한다

라우팅에는 정적인 경로 설정과 동적인 경로 설정 방식이 있다

 

라우팅을 위해 필요한 정보?

  • 출발지와 목적지의 네트워크 정보
    • 목적지가 있는 네트워크의 정보를 모른다면 경로 설정이나 네트워크 상태를 알 수 없으므로 전달, 오류 반환이 어려움
  • 목적지로 가는 모든 경로
    • 출발지와 목적지 사이의 모든 경로를 알아야 최적 경로를 찾을 수 있음
  • 최적 경로
    • 데이터 전달을 위해 모든 경로를 사용할 필요가 없기에 최적 경로 하나를 선택할 수 있어야 하며 이 경로를 포워딩 테이블이라고 함
  • 네트워크 상태
    • 라우팅은 네트워크 상태를 모니터링하고 업데이트해야 하며 상태 정보는 가용성, 대역폭, 지연 시간 등을 포함
    • 네트워크 상태를 최신화하는 테이블을 라우팅 테이블이라고 함

https://en.wikipedia.org/wiki/Routing_table#Forwarding_table

Gateway(다음 라우터)에 도달하기 위해서 Interface(각 라우터에서 네트워크와 물리적 연결되어 있으며 패킷을 라우터로 전달하는 역할)로 가면 된다, Metric은 비용을 의미


라우팅과 포워딩

 

라우팅 알고리즘으로 얻은 라우팅 정보를 정리해둔 테이블을 라우팅 테이블이라고 한다

라우팅 테이블을 참고하여 패킷을 next hop과 연결된 링크(인터페이스)로 내보내는 동작을 포워딩이라고 한다

 

 

현대의 복잡한 네트워크 구조에서는 라우팅 테이블과 포워딩 테이블을 분리하여 관리하며 포워딩 테이블은 라우팅 테이블의 데이터를 가지고 최적의 경로를 저장한다

 

이는 네트워크 규모와 복잡성, 성능, 관리 용이성 등을 향상하기 위한 것으로 볼 수 있으며 왜 분리를 하면 이런 이점이 있을까?

 

  • 성능 최적화:
    • 라우터가 라우팅 결정을 내리는 과정은 복잡하고 CPU 및 메모리 자원을 사용합니다
    • 분리를 통해 라우팅 결정을 한 번 수행한 후 이를 포워딩 테이블에 저장하여 패킷 전달 과정을 간소화하고 빠르게 만듭니다
  • 확장성:
    • 라우팅 테이블과 포워딩 테이블을 분리함으로써, 라우터의 라우팅 역할과 패킷 전달 역할을 더 효과적으로 분산시킬 수 있습니다
  • 네트워크 관리 및 유지보수:
    • 라우팅 테이블은 네트워크 관리자가 라우팅 정보를 설정하고 업데이트하는 곳
    • 포워딩 테이블은 이 정보를 실제 패킷 전달에 사용하며 분리를 통해 네트워크 관리자는 라우팅 테이블을 중앙 집중화된 방식으로 관리하고 복잡성을 줄일 수 있으며, 라우터의 포워딩 역할은 상대적으로 단순화됨
  • 신속한 대응:
    • 네트워크 상황이 빠르게 변할 때, 라우터는 라우팅 테이블을 업데이트하여 변경된 조건에 대응할 수 있습니다. 포워딩 테이블은 이 업데이트된 정보를 기반으로 패킷을 전달합니다. 이를 통해 네트워크가 신속하게 대응할 수 있습니다.
  • 효율성:
    • 라우팅 테이블은 주로 라우팅 정보를 가지고 있으므로, 패킷 전달을 위한 최적 경로를 결정
    • 포워딩 테이블은 이 최적 경로를 기반으로 패킷을 전달합니다. 라우팅과 포워딩을 분리함으로써 네트워크 작업을 효율화하고 관리하기 쉽게 만듦

정적 경로 설정 (Static Routing Protocol)

 

관리자가 직접  네트워크에 대한 경로 정보를 지정하여 라우팅

장점

  • 직접 관리: 관리자가 직접 경로 정보를 설정하므로 네트워크 동작에 대한 높은 수준의 제어를 제공합니다. 이를 통해 관리자는 트래픽이 어떻게 전달되는지를 정확하게 제어할 수 있습니다.
  • 성능: 정적 경로는 라우터가 자체적으로 경로를 계산할 필요가 없으므로 동적 라우팅 프로토콜에 비해 더 빠른 응답 시간을 제공합니다.
  • 간단함: 정적 경로 설정은 간단하며, 네트워크 환경이 상대적으로 안정적이며 네트워크 변화가 적을 때 적합합니다.

단점

  • 확장성: 네트워크가 커지고 네트워크 변경이 빈번하게 발생할 때 정적 경로 설정은 확장성이 떨어집니다. 각 변경에 대해 관리자가 수동으로 경로를 수정해야 하므로 네트워크 확장이나 변경 관리가 복잡해집니다.
  • 유지보수 비용: 수동으로 경로를 유지보수해야 하므로 운영 및 유지보수 비용이 상대적으로 높을 수 있습니다.
  • 오류와 실수: 관리자가 경로 정보를 수동으로 설정하므로 인간 오류의 가능성이 높고, 잘못된 경로 설정이 네트워크 문제를 유발할 수 있습니다.
  • 시간 지연: 네트워크 변화에 대한 적응이 느리며, 장애 복구가 더 오래 걸릴 수 있습니다.

동적 경로 설정 (Dynamic Routing Protocol)

 

동적인 라우팅으로 대규모 네트워크에 사용하며 인접한 라우터간에 동일한 라우팅 프로토콜을 설정하여 라우터 간 변경된 네트워크에 대한 정보를 자동으로 교환하여 라우팅 하게 하는 방법

 

장점

  • 자동 업데이트: 라우터 간에 라우팅 정보를 자동으로 교환하므로 네트워크 구성 변경 시 라우팅 테이블이 자동으로 업데이트됩니다. 이는 네트워크 관리자가 네트워크 변경을 수동으로 반영하지 않아도 되는 편리함을 제공합니다.
  • 능동적 대처: 네트워크 상태나 구성이 변경되면 동적 라우팅 프로토콜은 새로운 정보를 고려하여 최적 경로를 계산하므로 네트워크 상황에 더 능동적으로 대처할 수 있습니다.
  • 자동 설정: 라우팅 테이블을 자동으로 작성하므로 네트워크 관리자는 초기 설정만 하면 됩니다. 이는 네트워크 관리의 복잡성을 줄이고 운영을 간소화합니다.

단점

  • 메모리 사용량: 동적 라우팅 프로토콜을 사용하는 경우 라우터는 라우팅 정보를 저장하고 처리하기 위한 메모리를 필요로 합니다. 정적 경로 설정에 비해 메모리 사용량이 많을 수 있습니다.
  • 복잡성: 동적 라우팅 프로토콜의 구성 및 유지 관리는 정적 경로 설정보다 복잡할 수 있습니다. 이로 인해 초기 설정과 유지 관리가 조금 더 복잡해질 수 있습니다.
  • 대역폭 사용량: 동적 라우팅 프로토콜은 주기적으로 라우팅 정보를 교환하므로 라우터 간의 대역폭을 사용합니다. 대규모 네트워크에서 이 추가 대역폭 사용량을 고려해야 합니다.

동적 라우팅 프로토콜

 

동적 경로 설정은 라우터 간에 동일한 라우팅 프로토콜을 구성하여 라우팅 정보를 교환하는 방식이라면 어떤 라우팅 프로토콜들이 있으며 어떤 상황에서 적합한 지 생각해 보자

라우터로 상호 접속이 되어있는 여러 개의 네트워크 집합. 도메인 혹은 자율시스템(Autonomous System, AS)이라고 함

같은 도메인 내에 존재하는 라우터는 도메인 내부 라우터, 도메인 외부에 존재하는 라우터는 도메인 외부 라우터

IGP(Internal Gateway Protocol)와 EGP(Exterior Gateway Protocol)

  • 도메인 내부 경로 설정에 대한 프로토콜이 ISP
    • 단일 시스템의 네트워크에서 경로 제어 정보 등을 전달하는 데 사용되는 프로토콜로 RIP(Routing Information Protocol), IGRP(Interior Gateway Routing Protocol), OSPF(Open Shortest Path First), ISIS(Intermediate System to Intermediate System) 등이 이에 해당\
  • EGP는 초기 인터넷에서 사용된 프로토콜로 AS 간(다른 도메인 사이)의 라우팅 정보 교환을 위한 것
    • 거리 벡터 라우팅 프로토콜로 작동, 경계 라우터 간에 라우팅 정보를 주기적으로 교환하고 최단 경로를 찾는데 거리 벡터 방식 사용
    • 간단한 라우팅을 처리하고 관리하는 데 사용, 고급 기능과 정책이 제한
  • 현대 네트워크는 BGP(Border Gateway Protocol)을 사용
    • 경로 벡터 라우팅 프로토콜로 작동하여 더  복잡한 경로 선택과 정책 기반 라우팅을 지원

 

거리 벡터와 경로 벡터?

 

  1. 거리 벡터 (Distance Vector):
    • 거리 벡터 라우팅 알고리즘은 라우터가 이웃 라우터로부터 거리 정보(일반적으로 호프 수)를 주기적으로 수신하여 네트워크의 라우팅 테이블을 유지합니다.
    • 가장 유명한 거리 벡터 라우팅 프로토콜 중 하나는 RIP (Routing Information Protocol)입니다. 이 프로토콜은 라우터 간에 호프 수를 교환하고 최단 경로를 찾기 위해 다익스트라 알고리즘을 사용합니다.
  2. 경로 벡터 (Path Vector):
    • 경로 벡터 라우팅 알고리즘은 라우터가 경로 정보를 이웃 라우터에게 전달합니다. 이 정보에는 경로를 이루는 각 라우터의 식별자가 포함됩니다.
    • BGP(Border Gateway Protocol)는 가장 유명한 경로 벡터 라우팅 프로토콜 중 하나입니다. BGP는 경로 벡터를 사용하여 경로 정보를 공유하고 라우팅 결정을 내리는 데 벨만-포드 알고리즘을 사용합니다.
  • 거리 벡터를 사용하면 다익스트라 알고리즘을 적용하여 최단 거리를 계산하는데, 이는 루프 탐지를 하는데 시간이 오래 걸려 복잡한 네트워크에서는 문제가 될 수 있다
    • 거리에 의존하기에 Looping 경로가 존재한다면 이를 판단하는 게 늦다
  • 경로 벡터를 사용하면 벨만-포드 알고리즘을 사용하기 때문에 루프 탐지가 빨라 복잡한 네트워크에서 빠르게 작동할 수 있다
    • 경로로 판단하기 때문에 Looping 탐지가 빠르다

따라서 내부 네트워크에서 hop 수만 고려하여 라우팅을 수행하는 것이 효과적이기에 RIP, IGRP와 같은 동적 라우팅 프로토콜은 거리벡터를 사용하며 경로 벡터는 복잡한 대규모 네트워크에서 외부 경계 라우팅에 사용되는데 AS 경로 정보만 사용하기 때문에 경로를 선택 및 제어가 가능하여 트래픽을 조절하거나 관리할 수 있기 때문이다


Distance Vector vs Link State

 

최적 경로를 선택하는 방식에 있어서 거리 벡터와 연결 상태 정보를 이용하는 두 가지 방식이 있다

  • Link State: 네트워크에 대한 정보(Topology, path)를 저장
  • Distance Vector: 네트워크의 거리 값에 대한 정보만 가짐

Distance Vector 기반 프로토콜

 

거리 벡터에 저장되는 정보

  • 목적지 네트워크 주소
  • 거리(Hop Count)
  • 다음 홉(Next Hop)
  • + 라우터 간 주기적인 업데이트

최적 경로 선택?

  • 라우팅 테이블에 저장된 다수의 경로 중 거리를 기준으로 최적 경로를 결정
  • 주기적인 라우팅 테이블 업데이트에 의존하므로 변경에 대한 반영이 느리다

 

RIP (Routing Information Protocol):

  • 초기에 Xerox Network System(XNS) 프로토콜에서 시작되었으며, 후에 UNIX 및 TCP/IP와 결합
  • 라우팅 테이블은 데이터그램 패킷을 통하여 모든 라우터에 브로드캐스팅, 송 수신자 간의 거리는 패킷이 경유하는 라우터의 개수로 hop 수로 표시
  • 라우팅 테이블은 hop 수를 기반으로 하며, 최대 16 hop까지만 지원
  • 주로 소규모 네트워크에서 사용되며, 네트워크 변화에 능동적으로 대응하기 어려움

IGRP (Interior Gateway Routing Protocol)

  • Cisco에서 개발한 프로토콜로, 독립적인 네트워크에서 사용하기 위해 설계
  • 라우팅 결정은 회선의 전송 능력, 전송 지연 시간, 회선의 사용률, 신뢰성, MTU(Maximum Transmission Unit: 최대 전송 단위)를 바탕으로 한다
  • 복수의 경로에서 로드 밸런싱을 지원하며, 크고 복잡한 네트워크를 위해 개발

Link State Protocol

  • Link State Algorithm은 Distance Vector Algorithm의 한계를 극복하기 위해 개발됨
  • 네트워크의 전체 위상 정보(Topology)를 데이터베이스 형태로 유지하고 SPF(Shortest Path First) 알고리즘을 사용하여 라우팅 테이블을 작성
  • 네트워크상 변화가 생겼을 때만 라우팅 정보를 발송
    • 라우팅 정보 트래픽이 훨씬 적다
    • 위상 정보 유지 비용, 계층적 구조로 인한 복잡성이 증가
  • 대표적인 알고리즘 OSPF

OSPF (Open Shortest Path First):

  • IETF에서 개발한 프로토콜로 Link State Protocol을 사용하며 SPF 알고리즘을 사용
  • 네트워크의 변화에 신속하게 대응하기 위한 정보 전파와 최단 경로 결정을 지원
  • 라우터 간에 라우팅 정보를 인접 라우터와 공유하며, 라우팅 정보 트래픽이 적다
    • 라우팅 정보를 인접 라우터에 모두 전송하는 flooding 방식을 사용하므로 전체 네트워크 상의 라우터에서 동일하게 유지됨
    • 변화 발생에 관한 정보가 RIP에 비하여 빨리 전파됨

Hybrid Protocol

  • Distance Vector Protocol과 Link State Protocol 방식의 장점을 결합한 프로토콜
  • EIGRP (Enhanced Interior Gateway Routing Protocol)은 Cisco에서 개발한 하이브리드 프로토콜로, IGRP를 기반으로 한 개방형 라우팅 프로토콜이다

 


References

https://hyeophyeop.tistory.com/69#--%EB%-D%BC%EC%-A%B-%ED%-C%--

https://butter-shower.tistory.com/21

 

라우팅이란 (정적 경로 설정과 동적 경로 설정, IGP와 EGP, Distance Vector와 Link State에 관해서)

라우팅(Routing)이란 Internetwork를 통하여 근원지에서 목적지로 데이터가 전달될 수 있도록 하는 기능을 말한다. 수많은 경로 중 하나를 선택하여 이동하는 것을 라우팅이라고 생각하면 될 듯. 라우

butter-shower.tistory.com

https://annajin.tistory.com/71

 

[Network] 라우팅(Routing)

https://www.stevenjlee.net/2020/06/14/이해하기-라우팅-routing-그리고-라우팅-프로토콜-routing-protocol-l3/ [이해하기] 네트워크 라우팅 (Network Routing), 그리고 라우팅 프로토콜 (Routing Protocol) - L3 Network | STEV 네

annajin.tistory.com

https://blog.naver.com/seungj1031/221012340470

 

[네트워크] 라우팅 프로토콜 (RIP, OSPF, BGP)

1. Router  라우터는 Path Determination(경로결정) 과 Switching(스위칭)을 주로 하는 장비이다....

blog.naver.com

 

반응형

'CS' 카테고리의 다른 글

OS - System Structure & Program Execution  (0) 2023.10.15
운영체제란?  (0) 2023.10.15
TCP/IP 4계층  (0) 2023.09.29
쿠키와 세션  (0) 2023.09.28
HTTP와 HTTP 메서드  (0) 2023.09.26