라우팅이란?
지난 시간에 OSI 7계층과 TCP/IP 4계층을 설명했을 때 네트워크 계층에서 패킷을 목적지까지 안전하고 빠르게 전송하기 위해 경로를 찾아준다고 했습니다. 이렇게 최적의 경로를 탐색하는 것을 라우팅(Routing)이라고 합니다. 라우터(Router)라는 장치를 통해 경로 지정을 하여 라우팅을 능동적으로 처리할 수 있습니다. 이때 라우터는 목적지를 찾아갈 때 *라우팅 테이블(Routing Table)을 보고 찾아갑니다.
*라우팅 테이블(Routing Table): 네트워크에서 목적지 주소를 목적지에 도달하기 위한 네트워크 노선으로 변환시키는 목적으로 사용된다. 각 라우터의 라우팅 테이블은 모든 목적지 정보에 대해 목적지에 도달하기 위해 거쳐야 하는 다음 라우터의 정보를 갖고 있다.
라우터의 기능
1) 경로 결정
- 라우터는 목적지까지의 경로를 결정합니다. 지연, 용량 및 속도를 고려하여 목적지까지의 최적의 경로를 찾습니다.
2) 데이터 전달
- 라우터는 선택한 경로의 다음 디바이스로 데이터를 전달하여 최종 목적지까지 도달할 수 있습니다.
3) 로드 밸런싱
- 라우터는 경우에 따라 패킷의 사본을 여러 경로로 보냅니다. 이 방법을 사용하여 데이터 손실을 줄이고 이중화를 구현하고 트래픽 볼륨을 관리할 수 있습니다.
라우팅의 유형
정적 라우팅
정적 라우팅 방식은 네트워크 관리자가 정적 테이블(라우팅 테이블에 직접 추가)을 사용하여 네트워크 경로를 임의로 결정하여 수동으로 구성하는 방식입니다.
특징
- 규모가 작거나 변경될 일이 많지 않을 때 사용
- 네트워크 정보 변경 시 모든 라우터들한테 알려줘야 함
- 네트워크 규모가 커질수록 수동으로 추가해야 하는 시간도 늘어남
동적 라우팅
동적 라우팅 방식은 라우터가 라우팅 프로토콜로 경로의 현재 상태에 따라 동적으로 라우팅 테이블을 만들고 업데이트합니다.
특징
- 작업 부담이 없고, 항상 최신의 라우팅 테이블을 유지할 수 있음
- 네트워크 환경 변화를 고려
- 라우터의 부하가 큼
라우팅 프로토콜
라우팅 프로토콜은 라우터가 패킷을 식별하고 네트워크 경로를 따라 전달하기 위한 방법을 지정하는 규칙 세트입니다.
동적 라우팅은 크게 내부 라우팅(Inner Gateway Protocol)과 외부 라우팅(External Gateway Protocol)으로 나뉩니다.
AS (Autonomous System)
인터넷은 네트워크들이 라우터에 의해 연결된 복잡한 네트워크입니다. 이러한 독립적인 네트워크를 자율 시스템(AS)이라고 부릅니다.
AS 내의 라우터는 서로 동일한 라우팅 프로토콜 사용
AS 내의 네트워크와 라우터는 한 조직에 의해 관리됨
IGP (Inner Gateway Protocol)
내부 라우팅으로 같은 AS 내부의 라우팅 정보를 교환하는 프로토콜입니다. RIP, IGRP, OSPF, EIGRP가 이에 해당됩니다.
RIP (Routing Information Protocol)
- 홉 수를 기준(홉 수가 적은 경로를 선택)으로 네트워크 간의 최단 경로 결정(최대 홉 수는 15)
- 대규모 네트워크를 구현하는 데 적합하지 않기 때문에 현재는 사용되지 않는 레거시 프로토콜
- Distance Vector 기반
홉(Hop) - 영어 뜻 자체로는 건너뛰는 모습을 의미하며 네트워크에서 각 패킷이 매 노드(또는 라우터)를 건너가는 것을 비유적으로 표현한 것. 이러한 체계를 hop-by-hop 체계라고 함
홉 수(Hop count) - 거치게 되는 라우터 수
IGRP (Interior Gateway Routing Protocol)
- RIP보다 증가된 확장성(RIP에서 15개로 제한된 홉 문제를 255개로 확장)
- 다중 경로 지원
- Distance Vector 기반
OSPF (Open Shortest Path)
- 컨버전스 타임이 빠름
- 네트워크 제한이 없음(RIP에서 홉 수는 15개로 제한되었는데 OSPF는 제한 없음)
- Link-State Vector 기반
EIGRP (Enhanced Interior Gateway Routing Protocol)
- Cisco에서 제작한 Cisco 전용 라우팅 프로토콜(Cisco 전용 프로토콜로 Cisco 장비에서만 동작)
- OSPF에 비해 설정이 간단함
- IGRP가 발전된 라우팅 프로토콜
- Distance Vector + Link-State Vector 기반
컨버전스 타임(Convergence Time) - 라우터가 서로 변경된 정보를 주고받는 데 걸리는 시간으로 RIP는 30초마다 업데이트가 발생하므로 컨버전스 타임이 느리지만, OSPF는 변화가 생길 때 바로 전달하기 때문에 컨버전스 타임이 빠름
EGP (External Gateway Protocol)
외부 라우팅으로 다른 AS 간의 라우팅 정보를 교환하는 프로토콜입니다. BGP가 이에 해당됩니다.
BGP(Border Gateway Protocol)
- TCP 179번 포트를 통해 인접 라우터들과 이웃 관계 성립하고, 이웃 노드와는 유니캐스트 라우팅 업데이트를 함
- 정해진 정책에 따라 최적 라우팅 경로 수립
- Distance Vector 기반
유니캐스트 라우팅 프로토콜(Unicast Routing Protocol) - 최적의 경로를 찾아내는 프로토콜로 하나의 Sender와 하나의 Receiver 간의 통신을 의미하여 One-to-One 통신이라고 함
라우팅 알고리즘
라우팅 알고리즘은 위에서 설명한 라우팅 프로토콜을 구현하는 프로그램입니다.
Distance Vector
- 거리와 방향을 고려하여 만들어진 라우팅 알고리즘으로 거리와 방향만 고려하기 때문에 구성이 단순
- 목적지까지의 거리와 목적지까지 가기 위한 인접 라우터만 저장하므로 라우터 메모리 절약
- 인접 라우터끼리만 주기적으로 라우팅 테이블 교환하여 라우팅 테이블 관리(긴 컨버전스 타임)
- 라우팅 테이블에 아무 변화가 없더라도 주기적으로 업데이트가 일어나기 때문에 트래픽이 낭비됨
- 홉 수가 적은 소규모 네트워크에서 사용이 용이
Link-State Vector
- 각 라우터마다 목적지까지의 모든 경로 정보를 갖고 있음(메모리 소모가 큼)
- 컨버전스 타임이 짧음
- 라우팅 테이블 교환이 자주 일어나지 않음
- 교환이 일어나는 경우에도 테이블에 변화가 있는 것만 교환하기 때문에 트래픽이 절약됨
참고 자료
- https://aws.amazon.com/ko/what-is/routing/
- https://steady-coding.tistory.com/528
- https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ljsun4336&logNo=220640900881
- https://velog.io/@easycelsius/routing-EIGRP
- https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=twers&logNo=50118111297
'CS > 네트워크' 카테고리의 다른 글
[네트워크] HTTP와 HTTPS (0) | 2022.11.27 |
---|---|
[네트워크] TCP와 UDP (0) | 2022.11.07 |
[네트워크] OSI 7계층, TCP/IP 4계층 (0) | 2022.10.21 |
[네트워크] 네트워크 토폴로지(Network Topology) (0) | 2022.10.19 |