Skip to content

필사 모드: [컴퓨터 네트워크] 14. 인터넷 라우팅: OSPF와 BGP

한국어
0%
정확도 0%
💡 왼쪽 원문을 읽으면서 오른쪽에 따라 써보세요. Tab 키로 힌트를 받을 수 있습니다.
원문 렌더가 준비되기 전까지 텍스트 가이드로 표시합니다.

인터넷 라우팅: OSPF와 BGP

실제 인터넷은 수십억 개의 장비로 구성된 거대한 네트워크입니다. 단일 라우팅 알고리즘으로 전체 인터넷의 경로를 계산하는 것은 확장성과 관리 측면에서 불가능합니다.

이 글에서는 인터넷이 **자율 시스템(AS)** 단위로 계층적 라우팅을 수행하는 방식, AS 내부 라우팅 프로토콜인 **RIP**와 **OSPF**, 그리고 AS 간 라우팅 프로토콜인 **BGP**를 살펴봅니다.

1. 계층적 라우팅의 필요성

1.1 확장성 문제

모든 라우터가 전체 인터넷의 토폴로지를 저장하고 계산한다면:

- **저장 공간**: 수십억 개의 목적지에 대한 포워딩 테이블

- **계산 비용**: 전체 토폴로지에 대한 라우팅 알고리즘 실행

- **메시지 오버헤드**: 링크 상태 업데이트가 전 세계로 전파

1.2 관리 자율성

각 조직(ISP, 기업, 대학)은 자신의 네트워크 내부 라우팅을 독립적으로 관리하고자 합니다. 사용하는 라우팅 알고리즘, 정책, 장비를 자유롭게 선택할 수 있어야 합니다.

계층적 라우팅 구조

====================

[AS 1: KT] [AS 2: SKT] [AS 3: Google]

+-----------+ +-----------+ +-----------+

| R1---R2 | | R5---R6 | | R8---R9 |

| | | |<----->| | | |<----->| | | |

| R3---R4 | | R7 | | R10--R11 |

+-----------+ +-----------+ +-----------+

AS 내부: OSPF, RIP 등 (intra-AS routing)

AS 간: BGP (inter-AS routing)

2. 자율 시스템 (Autonomous System)

2.1 AS의 정의

자율 시스템(AS)은 동일한 라우팅 정책 하에 관리되는 라우터들의 그룹입니다. 각 AS는 고유한 AS 번호(ASN)를 가집니다.

AS 유형

=========

1. Stub AS: 하나의 다른 AS와만 연결 (기업, 대학)

[외부] <---> [Stub AS]

2. Multihomed AS: 여러 AS와 연결되지만 트래픽 통과 불가

[AS A] <---> [Multihomed AS] <---> [AS B]

3. Transit AS: 트래픽이 통과할 수 있는 AS (ISP)

[AS A] <---> [Transit AS] <---> [AS B]

통과 허용

2.2 게이트웨이 라우터

게이트웨이 라우터(Gateway Router)는 다른 AS에 속한 라우터와 직접 연결된 라우터입니다. AS 내부 라우팅과 AS 간 라우팅 모두를 수행합니다.

3. RIP (Routing Information Protocol)

3.1 기본 특성

RIP는 Distance-Vector 알고리즘을 기반으로 하는 AS 내부 라우팅 프로토콜입니다.

RIP 특성

=========

- 알고리즘: Distance-Vector (벨만-포드)

- 메트릭: 홉 수 (hop count), 최대 15홉

- 업데이트 주기: 30초마다 이웃에게 거리 벡터 전송

- 타임아웃: 180초 동안 업데이트 없으면 경로 무효화

- 전송 방식: UDP 포트 520

- 적합 범위: 소규모 네트워크 (15홉 제한)

3.2 RIP의 한계

- 최대 15홉으로 대규모 네트워크에 부적합

- 수렴이 느림 (count-to-infinity 가능)

- 홉 수만 메트릭으로 사용하여 대역폭 차이를 반영 못함

4. OSPF (Open Shortest Path First)

4.1 기본 특성

OSPF는 Link-State 알고리즘을 기반으로 하는 AS 내부 라우팅 프로토콜입니다. RIP의 한계를 극복하기 위해 설계되었습니다.

OSPF 특성

==========

- 알고리즘: Link-State (다익스트라)

- 메트릭: 대역폭, 지연 등 관리자가 설정 가능

- 업데이트: 변경 시 즉시 (또는 30분 주기)

- 전송 방식: IP 직접 (프로토콜 번호 89)

- 인증: MD5 인증 지원

- 적합 범위: 대규모 네트워크

4.2 OSPF의 주요 장점

**보안**: OSPF 메시지는 인증될 수 있어서, 신뢰할 수 있는 라우터만 라우팅에 참여합니다.

**다중 경로 (Equal-Cost Multipath)**: 같은 비용의 경로가 여러 개 있으면 트래픽을 분산시킬 수 있습니다.

**계층적 구조**: 하나의 AS를 여러 영역(Area)으로 나눌 수 있습니다.

OSPF 계층적 구조

==================

[백본 영역 (Area 0)]

/ | \

[영역 1] [영역 2] [영역 3]

+------+ +------+ +------+

|R1 R2| |R4 R5| |R7 R8|

| R3 | | R6 | | R9 |

+------+ +------+ +------+

- 백본 영역 (Area 0): 모든 영역을 연결하는 중심 영역

- 영역 경계 라우터 (ABR): 두 영역에 걸쳐 있는 라우터

- AS 경계 라우터 (ASBR): 다른 AS와 연결된 라우터

4.3 OSPF 영역 라우팅

OSPF 영역 간 라우팅

=====================

영역 1의 R1에서 영역 3의 R9로 패킷 전송:

R1 (영역 1)

|

| 영역 1 내부 OSPF 라우팅

v

ABR1 (영역 1 / 백본 경계)

|

| 백본(Area 0) OSPF 라우팅

v

ABR3 (백본 / 영역 3 경계)

|

| 영역 3 내부 OSPF 라우팅

v

R9 (영역 3)

각 영역 내부: 상세 토폴로지 정보 교환

영역 간: 요약된 거리 정보만 교환

5. BGP (Border Gateway Protocol)

5.1 BGP의 역할

BGP는 인터넷에서 AS 간 라우팅을 담당하는 유일한 프로토콜입니다. 인터넷의 모든 AS를 서로 연결하는 "인터넷의 접착제" 역할을 합니다.

BGP의 두 가지 형태

====================

1. eBGP (External BGP): 서로 다른 AS의 라우터 간

AS1의 게이트웨이 <---eBGP---> AS2의 게이트웨이

2. iBGP (Internal BGP): 같은 AS 내부의 라우터 간

AS1의 게이트웨이 <---iBGP---> AS1의 내부 라우터

eBGP: AS 간 경로 정보 교환

iBGP: 학습한 경로 정보를 AS 내부에 전파

5.2 BGP 경로와 속성

BGP에서 경로는 목적지 프리픽스와 경로 속성(Path Attributes)의 조합입니다.

BGP 경로 광고 예시

====================

AS2가 AS1에게 광고:

프리픽스: 138.16.64.0/24

AS-PATH: AS3 AS2

NEXT-HOP: 201.44.13.1

주요 경로 속성:

- AS-PATH: 경로가 통과하는 AS 목록

예: AS3 AS2 --> AS2를 거쳐 AS3에 도달

- NEXT-HOP: 다음 AS로 향하는 게이트웨이 라우터의 IP 주소

- LOCAL-PREF: AS 내부에서 경로 선호도 (높을수록 선호)

- MED: 다른 AS에게 선호 경로를 알리는 값 (낮을수록 선호)

5.3 BGP 경로 선택 알고리즘

여러 경로가 존재할 때 BGP는 다음 순서로 최선의 경로를 선택합니다.

BGP 경로 선택 우선순위

========================

1. LOCAL-PREF 가장 높은 경로 (정책 기반)

2. AS-PATH 가장 짧은 경로

3. NEXT-HOP에 가장 가까운 경로 (Hot-Potato 라우팅)

4. BGP 식별자가 가장 작은 경로

예시:

경로 A: LOCAL-PREF=200, AS-PATH=[AS2, AS5], NEXT-HOP=R1

경로 B: LOCAL-PREF=100, AS-PATH=[AS3], NEXT-HOP=R2

--> 경로 A 선택 (LOCAL-PREF가 더 높음)

5.4 Hot-Potato 라우팅

Hot-Potato 라우팅은 패킷을 가능한 빨리 자신의 AS 밖으로 보내는 전략입니다. AS 내부 비용만 고려하여 가장 가까운 게이트웨이를 선택합니다.

Hot-Potato 라우팅

==================

AS1 내부:

iBGP iBGP

[R1] <-------> [R2] <-------> [R3]

| | |

| 내부비용 2 | 내부비용 5 | 내부비용 3

| | |

[GW1] [GW2] [GW3]

|eBGP |eBGP |eBGP

v v v

[AS2] [AS3] [AS2]

R2가 AS2의 프리픽스에 도달하려면:

- GW1 경유: 내부비용 2 (R2->R1->GW1)

- GW3 경유: 내부비용 3 (R2->R3->GW3)

--> GW1 선택 (Hot-Potato: 가장 가까운 출구)

6. BGP 라우팅 정책

6.1 고객-제공자-피어 관계

AS 간 관계

============

[Tier-1 ISP A] <--피어링--> [Tier-1 ISP B]

/ \ / \

제공자 제공자 제공자 제공자

/ \ / \

[고객 AS1] [고객 AS2] [고객 AS3] [고객 AS4]

- 고객은 제공자에게 비용을 지불하고 트래픽 전달을 받음

- 피어는 서로의 고객 트래픽을 무료로 교환

- 제공자는 고객의 경로를 다른 곳에 광고

6.2 라우팅 정책 규칙

BGP 정책 규칙

===============

AS X의 입장에서:

1. 고객으로부터 받은 경로: 모든 곳에 광고 (수익 발생)

2. 피어로부터 받은 경로: 고객에게만 광고 (피어나 제공자에게는 광고하지 않음)

3. 제공자로부터 받은 경로: 고객에게만 광고 (피어나 다른 제공자에게는 광고하지 않음)

원칙: 트래픽이 자신을 통과하면 비용이 발생하므로,

수익이 되는 고객 트래픽만 적극적으로 중계

7. OSPF와 BGP의 상호작용

실제 라우터에서는 OSPF와 BGP가 함께 동작합니다.

OSPF와 BGP 상호작용

=====================

AS 내부:

- OSPF가 AS 내부 라우터 간 최단 경로 계산

- 각 라우터는 AS 내부의 모든 목적지에 대한 경로를 알고 있음

AS 간:

- eBGP로 외부 AS의 프리픽스 정보를 학습

- iBGP로 학습한 정보를 AS 내부에 전파

- NEXT-HOP까지의 경로는 OSPF가 제공

포워딩 테이블 구성:

목적지 프리픽스 | 다음 홉 | 출처

----------------+-------------+-------

10.1.0.0/16 | 192.168.1.2 | OSPF

172.16.0.0/12 | 192.168.1.5 | OSPF

8.8.8.0/24 | 10.0.0.1 | BGP

0.0.0.0/0 | 10.0.0.1 | BGP

8. 정리

| 개념 | 핵심 내용 |

| ------------- | ------------------------------------------- |

| 계층적 라우팅 | AS 단위로 내부/외부 라우팅 분리 |

| RIP | DV 기반, 홉 수 메트릭, 최대 15홉, 소규모 |

| OSPF | LS 기반, 유연한 메트릭, 영역 계층화, 대규모 |

| eBGP | AS 간 경로 정보 교환 |

| iBGP | AS 내부로 외부 경로 정보 전파 |

| AS-PATH | BGP 경로가 통과하는 AS 목록 |

| Hot-Potato | 가장 가까운 출구로 트래픽을 보내는 전략 |

| LOCAL-PREF | BGP 경로 선택의 최우선 기준 (정책 반영) |

다음 글에서는 네트워크 스택의 한 계층 아래인 링크 계층의 오류 검출과 다중 접속 프로토콜을 살펴보겠습니다.

참고 자료

- James F. Kurose, Keith W. Ross, "Computer Networking: A Top-Down Approach", 6th Edition, Chapter 4

- RFC 2328 - OSPF Version 2

- RFC 4271 - A Border Gateway Protocol 4 (BGP-4)

- RFC 2453 - RIP Version 2

현재 단락 (1/182)

실제 인터넷은 수십억 개의 장비로 구성된 거대한 네트워크입니다. 단일 라우팅 알고리즘으로 전체 인터넷의 경로를 계산하는 것은 확장성과 관리 측면에서 불가능합니다.

작성 글자: 0원문 글자: 4,676작성 단락: 0/182