라우팅이란?
패킷이 이동할 최적의 경로를 찾아 해당 경로로 패킷을 이동시키는 것이다.
라우터는 네트워크 계층의 핵심 기능을 담당한다.
라우팅 테이블
라우터가 관리하는 수신지까지 도달하기 위해 사용하는 표
1. 수신지 IP 정소와 서브넷 마스크 : 최종 패킷 전달 대상 의미
2. 게이트웨이 (다음 홉) : 다음으로 거쳐야할 호스트의 IP 주소나 인터페이스
3. 네트워크 인터페이스 : 패킷을 내보낼 통로
4. 매트릭 : 해당 경로로 보내기 위한 비용 (경로 중 매트릭이 낮은 경로를 선호) 매트릭은
정적 라우팅과 동적 라우팅
라우팅 테이블의 내용을 수동으로 직접 할당하는 방식을 정적라우팅이라고 한다.
그러나 수많은 라우팅 테이블을 직접 쓸 수도 없고 실수가 발생할 수 있으니 자동으로 테이블 항목을 만든다.
이로써 경로상 문제가 발생했을 때 우회할 수 있도록 자동으로 갱신되기도 한다.
의문점 : 그럼 자동으로 어떻게 테이블 항목을 만드는가?
=> 최적 경로를 찾는 라우팅 중 라우터끼리 자신의 정보를 교환하도록 하는데 이때 사용되는 프로토콜이 동적 라우팅이다.
AS
동일한 라우팅 정책으로 운용되는 라우터들의 집단 네트워크를 AS(autonomous system)라 한다. 한 회사나 한 단체가 사용하는 관리하는 라우터 집단을 AS라고 생각하면 쉽다.
라우팅 프로토콜
크게 AS 내부에서 시행되느냐 바깥에서 시행되느냐로 나뉘고, 내부는 또 IGP, EGP로 나뉜다.
외부는 대표적으로 BGP가 있고 내부는 RIP, OSPF가 있다.
'RIP'부터 알아보자.
큰 차이는 최적 경로를 선정하는 과정에서 '거리 벡터'를 사용하느냐, '링크 상태'를 사용하느냐의 차이가 있다.
이름 그대로 거리를 기반으로 최적의 경로를 찾는 라우팅 프로토콜이다. 거리는 패킷이 경유한 라우터의 수, 즉 홉의 수를 의미한다. 경유한 수를 거리로 하므로 살짝은 다르지만
여기까지 보며 약간 다익스트라 알고리즘이 생각났다. 그래서 찾아보니 벨만-포드 알고리즘을 사용하고, 구현의 편리함과 주기적인 라우팅 정보 교환에 최적화 되어 있다고 한다. 음수값이 없는데 왜 벨만-포드 알고리즘을 사용하나라고 생각했다.
답변 : CHATGPT 조사 필
OSFP는 현재 네트워크 상태를 링크 상태의 데이터베이스에 저장한다.
OSPF(Open Shortest Path First)는 벨만-포드 알고리즘이 아니라 **다익스트라 알고리즘**(최소 신장 트리 알고리즘)을 기반으로 합니다. OSPF는 다음과 같은 특징을 가지고 있습니다:
OSPF의 특징
다익스트라 알고리즘 사용
- OSPF는 각 라우터가 링크 상태 정보를 사용하여 네트워크의 최단 경로 트리를 구축합니다. 이 과정에서 다익스트라 알고리즘을 사용하여 최단 경로를 계산합니다.
- 링크 상태 프로토콜
- OSPF는 링크 상태 프로토콜로, 각 라우터가 자신의 링크 상태를 모든 다른 라우터에 전파합니다. 이를 통해 모든 라우터가 네트워크의 전체 구조를 알 수 있게 됩니다.
- 빠른 수렴
- OSPF는 네트워크 구조가 변경될 때 빠르게 수렴할 수 있습니다. 링크 상태 정보를 기반으로 하므로, 변화가 발생하면 필요한 정보만 전파하고, 라우팅 테이블을 빠르게 업데이트할 수 있습니다.
- 계층적 구조
- OSPF는 영역(Area) 개념을 도입하여 큰 네트워크를 효율적으로 관리할 수 있도록 합니다. 이를 통해 네트워크를 분할하고, 각 영역 내에서만 링크 상태 정보를 전파함으로써 전체적인 트래픽을 줄일 수 있습니다.
요약
OSPF는 벨만-포드 알고리즘이 아닌 다익스트라 알고리즘을 기반으로 하는 링크 상태 프로토콜입니다. 이는 OSPF가 더 복잡하고 대규모 네트워크에서 더 효과적으로 동작하도록 만들어줍니다.
OSPF는 대역폭을 기반으로 최적 경로를 설정한다. 대역폭이 넓을 수록 매트릭이 낮은 것으로 인식
RIP는 라우터 간 경로 정보를 주기적으로 교환하지만, OSPF는 네트워크 구성이 변경되었을 때 라우팅 테이블이 갱신된다.
정보 갱신 방식의 차이로 RIP는 벨만-포드, OSPF는 다익스트라 알고리즘을 사용하는 근거가 된다.
BGF
AS 간의 통신에서 주로 사용되는 프로토콜이다. AS 간 정보를 주고받기 위해 또 다른 AS의 BGF 라우터와 연결이 되어야한다. 이렇게 연결된 라우터를 '피어'라고 정의한다. 피어 관계로 연결하는 과정을 피어링 이라고 한다.
BGF는 최적경로 설정 과정이 일정하지 않다.
'네트워크' 카테고리의 다른 글
[혼공네] 응용계층-HTTP, 쿠키와 세션 (1) | 2024.11.19 |
---|