1. BGP란?
- BGP는 “인터넷 전체의 길 안내자”이다.
- 수많은 회사, 통신사, 기관들이 각각 자기만의 네트워크(AS)를 가지고 있다.
- 이들 간에 어떤 경로로 데이터를 주고받을지 알려주는 규칙이 BGP이다.
BGP는 인터넷이라는 퍼즐을 연결해주는 접착제 같은 존재
2. eBGP와 iBGP의 차이
| 구분 | 설명 | 누구랑 통신? |
| eBGP | 서로 다른 AS 간 연결 (외부 연결) | 이웃 AS |
| iBGP | 같은 AS 내부 라우터끼리 정보 공유 | 같은 AS 내 다른 라우터 |
- 예: 통신사 KT(AS1)와 SKT(AS2)가 연결된다면 → eBGP
- KT 내부의 라우터들이 서로 정보 공유 → iBGP
3. BGP 작동 방법
BGP 세션 (라우터 간 연결)
- 서로 BGP 피어(peer) 가 되면 TCP 연결을 만들어 놓고, 지속적으로 경로 정보(경로 = prefix + 속성)를 주고받는다.
예: “나 AS3인데, 목적지 X로 가는 길은 내가 책임진다“라고 광고함
4. BGP 경로의 구성 요소
BGP가 광고하는 경로(= route)는 단순히 “어디로 가라!”만 있는 게 아니다.
주요 속성:
- AS-PATH: 이 경로가 거쳐온 AS들의 목록
- 예: AS2 AS3 → AS3까지 AS2를 통해 감
- NEXT-HOP: 다음으로 도달해야 할 라우터 주소
경로마다 “이 길로 가면 어디를 거쳐가는지”와 “다음에 누구한테 보내야 할지”가 포함돼 있다.
5. BGP는 정책 기반으로 동작
예: B는 BAw 경로를 C에게 광고하지 않음

- B는 C, A, w 모두 고객이 아님 → 중계해줘도 돈 못 벎
- 그래서 C가 이 경로를 모르도록 일부러 숨김
- C는 대신 다른 경로(예: CAw)를 선택함
BGP는 단순히 빠른 길이 아니라, 정책적으로 허용된 길만 선택한다.
6. 경로 전파 방법
예시 시나리오:

- AS3의 3a → AS2의 2c에게 “X는 나한테 있음!” 광고 (eBGP)
- 2c → AS2 내부 라우터들에 전달 (iBGP)
- 2a → AS1의 1c에게 “X는 AS2 → AS3 경로로 감” 광고 (eBGP)
- 1c → 1a, 1b, 1d에게 “X는 나 통해 가면 됨” 전달 (iBGP)
7. 경로가 여러 개일 때

- 예: 1c는 다음 두 경로를 알게 됨
- AS2 → AS3 → X
- AS3 → X
→ BGP는 여러 기준을 통해 “최고의 경로”를 고른다.
8. BGP 경로 선택 기준 (우선순위)
- 로컬 우선순위 (Local Preference): 조직 내부 정책 기준
- AS-PATH 길이: 거치는 AS가 적을수록 좋음
- NEXT-HOP과의 거리: AS 내부에서 가까운 라우터 선호 → Hot Potato
- 기타 고려사항
핫 포테이토 라우팅: “내부 비용이 적은 쪽으로 얼른 던져버림!”
9. BGP 메시지 종류
| 메시지 | 기능 |
| OPEN | BGP 세션 시작 및 인증 |
| UPDATE | 경로 추가/삭제 정보 |
| KEEPALIVE | 아무 일 없어도 연결 유지 |
| NOTIFICATION | 오류 발생 시 연결 종료 알림 |
10. 포워딩 테이블의 구성 방법

- 라우터는 BGP로 받은 정보로 “X는 1c를 통해 가야 한다”는 걸 알게 됨
- 내부 경로(OSPF 등)로 1c에 도달하기 위한 경로를 찾고 포워딩 테이블에 저장
예:
- 1d는 “X로 가는 패킷은 인터페이스 1번(1c 방향)으로 보내!”
- 1a는 “인터페이스 2번으로 보내!”
11. 핫 포테이토 라우팅 (Hot Potato)
- 목적지까지 가는 외부 경로가 여러 개 있지만, AS 내부 경로 비용이 더 적은 쪽으로 보내는 전략
- 목적지까지의 전체 거리보다는 AS 내부에서 얼마나 빨리 외부로 내보낼 수 있느냐가 우선
12. Intra-AS와 Inter-AS 라우팅이 다른 이유
| 항목 | Intra-AS | Inter-AS |
| 운영 주체 | 한 조직 | 여러 조직 |
| 목표 | 빠른 전달, 성능 | 정책, 수익, 안정성 |
| 프로토콜 | OSPF, RIP | BGP |
| 정책 반영 | 거의 없음 | 매우 중요 |
| 확장성 문제 | 적음 | 심각함 → 계층 구조 필요 |
13. 라우팅 방식 요약
| 방식 | 설명 |
| Unicast | 한 대상에게 전송 |
| Broadcast | 모든 대상에게 전송 |
| Multicast | 특정 그룹에게만 전송 |
| Anycast | 가장 가까운 서버로 전송 |
| Geocast | 지정된 지역으로 전송 |
Google DNS (8.8.8.8)는 Anycast 방식! → 전 세계 어디서든 가까운 서버로 접속됨
정리
| 주제 | 핵심 정리 |
| BGP | 인터넷 간 경로 교환 프로토콜 |
| eBGP / iBGP | 외부/내부 라우터 간 경로 교환 방식 |
| 경로 구성 | Prefix + AS-PATH + NEXT-HOP 등 |
| 정책 라우팅 | 성능보다 정책과 수익 구조가 우선 |
| 경로 선택 | Local Preference > AS-PATH > 거리 |
| 메시지 | OPEN, UPDATE, KEEPALIVE, NOTIFICATION |
| 핫 포테이토 | 내부 비용이 낮은 경로 우선 선택 |
'CS > Network' 카테고리의 다른 글
| [네트워크] Link Layer 개요 (1) | 2025.06.08 |
|---|---|
| [네트워크] SDN (0) | 2025.06.06 |
| [네트워크] OSPF (1) | 2025.06.06 |
| [네트워크] 라우팅 알고리즘 (0) | 2025.06.06 |
| [네트워크] CIDR와 서브넷 마스크 (0) | 2025.06.06 |