개발자공부일기
주요 라우팅 프로토콜(BGP,OSPF,RIP) 본문
주요 라우팅 프로토콜
네트워킹에서 프로토콜은 연결된 모든 컴퓨터가 데이터를 이해할 수 있도록 데이터 형식을 지정하는 표준화된 방법입니다. 라우팅 프로토콜은 네트워크 경로를 식별하거나 알리는 데 사용되는 프로토콜입니다.
다음과 같은 프로토콜은 데이터 패킷이 인터넷을 통해 길을 찾아가는 데 도움이 됩니다.
IP: 인터넷 프로토콜(IP)은 각 데이터 패킷의 원본과 대상을 지정합니다.라우터는 각 패킷의 IP 헤더를 검사하여 패킷을 보낼 위치를 식별합니다.
BGP( Border Gateway Protocol )
경로 벡터 알고리즘 (BGP) 라우팅 프로토콜은 인터넷에서 데이터를 전송하는 데 가장 적합한 네트워크 경로를 결정하는 일련의 규칙입니다. 인터넷은 표준화된 프로토콜, 디바이스 및 통신 기술을 통해 서로 연결된 수천 개의 프라이빗, 퍼블릭, 기업 및 정부 네트워크로 구성됩니다. 인터넷을 검색하면 데이터는 목적지에 도달하기 전에 여러 네트워크를 통해 이동합니다. BGP의 역할은 데이터가 이동할 수 있는 모든 경로를 살펴보고 최적의 경로를 선택하는 것입니다.
인터넷은 네트워크의 네트워크로서 자율 시스템(AS)이라 하는 수십만 개의 작은 네트워크로 나뉘어집니다. 이들 각각의 네트워크는 기본적으로 하나의 조직이 운영하는 라우터들의 큰 집합입니다.
데이터가 인터넷을 통해 소스에서 대상으로 이동함에 따라, 소스와 대상 사이에 있는 모든 자율 시스템은 데이터 패킷의 다음 위치를 결정해야 합니다. 이 결정은 지리적 위치, 네트워크 정체 및 데이터 전송 비용과 같은 여러 요인을 기준으로 합니다. BGP 라우팅은 이러한 요인을 고려하여 데이터가 소스에서 대상까지 최단 경로로 이동하도록 하는 다음 최적 자율 시스템을 결정하는 데 도움을 줍니다.
외부 BGP와 내부 BGP의 차이는 무엇일까요?
인터넷상에서 경로 교환 및 트래픽 전송은 외부 BGP(eBGP)를 이용합니다. 자율 시스템은 BGP의 내부 버전을 이용해 자체 내부 네트워크 내에서 라우팅할 수도 있는데, 이를 내부 BGP(iBGP)라고 합니다. 내부 BGP를 이용하는 것이 외부 BGP를 이용하기 위한 필요 조건이 아님에 주의해야 합니다. 자율 시스템은 내부 네트워크의 라우터를 연결하기 위해 다수의 내부 프로토콜 중에 선택할 수 있습니다.
BGP에는 Peering이라는게 있는데 두 BGP 라우터 간에 경로 정보를 교환하기 위해 설정되는 이웃 관계입니다. BGP(동적 라우팅 프로토콜)는 네트워크 간 경로를 결정하고 최적화하는 데 사용됩니다.
Peering은 네트워크 간에 효율적인 데이터 전송을 위해 사용되는 방법으로, 주로 경로 정보 교환과 트래픽 최적화를 목적으로 합니다.
아래 프로토콜은 AS 내에서 패킷을 라우팅합니다.
OSPF( Open Shortest Path First ):
링크 상태 알고리즘 (OSPF) 프로토콜은 링크 상태 기반의 동적 라우팅 프로토콜입니다. OSPF는 대규모 네트워크에서 효율적으로 경로를 계산하고, 라우터 간에 최적의 경로 정보를 교환하는 데 사용됩니다.
OSPF의 주요 특징:
- 링크 상태 라우팅 프로토콜:
각 라우터는 자신과 연결된 네트워크(링크)의 상태 정보를 공유하고, 이를 바탕으로 최단 경로를 계산합니다. - Dijkstra 알고리즘:
OSPF는 Dijkstra 알고리즘을 사용하여 최단 경로 트리를 계산합니다. 이를 통해 라우터는 네트워크 내에서 최적의 경로를 선택합니다. - 서브넷 마스크 지원:
OSPF는 서브넷 마스크를 지원하여, IP 네트워크를 더 세밀하게 나누어 라우팅할 수 있습니다. - 계층 구조:
OSPF는 Area라는 계층적 구조를 사용하여 대규모 네트워크에서 경로 정보를 효율적으로 관리합니다. 하나의 AS(자율 시스템) 내에서 여러 개의 Area를 만들 수 있습니다. - 빠른 수렴:
OSPF는 네트워크의 상태 변화(예: 링크 다운)에 빠르게 반응하며, 새로운 경로를 계산하여 빠르게 네트워크를 복구합니다. - 링크 상태 데이터베이스:
각 라우터는 Link-State Advertisement (LSA)라는 정보를 교환하여, Link-State Database (LSDB)를 유지하고 이를 바탕으로 라우팅 결정을 내립니다.
OSPF의 동작 방식:
- Hello 프로토콜:
OSPF 라우터는 Hello 패킷을 사용해 다른 OSPF 라우터와 이웃 관계를 설정합니다. - LSA 교환:
라우터는 자신이 알고 있는 네트워크 상태를 LSA로 교환하여 네트워크의 링크 상태를 모든 라우터가 공유할 수 있도록 합니다. - LSDB 업데이트:
각 라우터는 LSA를 수신하여 LSDB를 업데이트하고, 이를 기반으로 최단 경로 트리를 계산합니다. - 경로 계산:
OSPF는 Dijkstra 알고리즘을 사용해 최단 경로 트리(SPF Tree)를 만들고, 이를 통해 최적 경로를 선택하여 라우팅 테이블에 반영합니다.
RIP( Routing Information Protocol ):
RIP (Routing Information Protocol)는 거리 벡터 기반의 동적 라우팅 프로토콜로, 네트워크에서 라우터 간 경로 정보를 교환하여 데이터를 전달하는 방법을 결정합니다. RIP는 비교적 간단하고 설정이 쉬운 프로토콜로, 소규모 또는 중간 규모의 네트워크에서 주로 사용됩니다.
RIP의 주요 특징:
- 거리 벡터 프로토콜:
- RIP는 각 라우터가 자신의 라우팅 테이블을 거리 벡터로 전달합니다. 여기서 거리는 목적지까지의 "홉(hop)" 수로 측정됩니다.
- 한 홉은 라우터를 거친 한 번의 경로 이동을 의미합니다. 즉, 최단 경로를 찾을 때 홉 수가 적을수록 더 좋은 경로로 간주됩니다.
- 최대 홉 수 제한:
- RIP는 최대 15 홉(hop)까지만 경로를 허용합니다. 16홉 이상의 경로는 도달 불가로 간주됩니다. 이는 RIP의 한계점으로, 큰 네트워크에는 적합하지 않습니다.
- 주기적인 라우팅 정보 갱신:
- RIP는 주기적으로 (기본값은 30초마다) 라우팅 테이블을 인근 라우터에게 전파합니다. 이를 통해 네트워크 상태의 변화를 반영하고 경로 정보를 최신 상태로 유지합니다.
- RIP v1과 RIP v2:
- RIP v1: 클래스풀(Classful) 라우팅을 사용하며, 서브넷 마스크 정보를 전송하지 않습니다.
- RIP v2: 클래스리스(Classless) 라우팅을 사용하며, 서브넷 마스크를 포함한 경로 정보를 전송할 수 있습니다. 또한 RIP v2는 인증 기능을 제공하여 보안을 강화합니다.
- 단순하고 구현이 쉬움:
- RIP는 상대적으로 설정과 관리가 간단하여 소규모 네트워크에서 사용되지만, 네트워크가 커지면 성능상의 제한이 있을 수 있습니다.
RIP 동작 방식:
- 경로 정보 전파:
- 라우터는 주기적으로 라우팅 테이블을 인근 라우터에 전달합니다. 이 정보에는 목적지 네트워크와 그 네트워크까지의 홉 수가 포함됩니다.
- 경로 선택:
- 라우터는 인근 라우터로부터 받은 경로 정보를 기반으로 최적 경로를 선택합니다. 경로는 홉 수가 적을수록 우선시됩니다.
- 네트워크 상태 변화 반영:
- 네트워크에 변화가 생기면(예: 링크 다운) RIP는 새로운 경로를 계산하고 이를 인근 라우터에게 전달하여 네트워크의 안정성을 유지합니다.
- 수렴:
- RIP는 일정 시간이 지난 후 라우팅 테이블을 갱신하여 네트워크 상태를 최신화합니다. 이 과정에서 수렴(convergence)이라고 하며, 네트워크 변화에 따라 경로가 빠르게 업데이트됩니다.