작성일 :

인터넷은 하나의 네트워크인가

Part 1Part 2에서 RIP, OSPF 같은 IGP(Interior Gateway Protocol)를 살펴보았습니다. IGP는 하나의 조직 내부에서 사용하는 라우팅 프로토콜입니다.


그런데 인터넷은 하나의 조직이 아니라 수만 개의 독립적인 네트워크가 연결된 “네트워크의 네트워크”입니다. 각 네트워크는 저마다의 정책과 규칙을 갖고 있습니다.

  • 어떤 트래픽을 받아들일 것인가
  • 어떤 경로로 트래픽을 전송할 것인가
  • 누구와 연결을 맺을 것인가


이처럼 독립적인 네트워크들이 어떻게 협력하여 전 세계적인 통신을 가능하게 할까요?


자율 시스템: 인터넷의 기본 단위

자율 시스템(Autonomous System, AS)은 단일한 라우팅 정책 하에 운영되는 네트워크 집합을 의미합니다.


각 AS는 고유한 번호를 갖습니다. 이를 ASN(Autonomous System Number)이라 합니다. 16비트(0~65535) 또는 32비트 형식이 있습니다. IANA(Internet Assigned Numbers Authority, 인터넷 자원 관리 기관)가 지역 인터넷 레지스트리(RIR)를 통해 할당합니다.


AS 번호 예시:

  • AS15169: Google
  • AS32934: Facebook
  • AS8075: Microsoft
  • AS4766: Korea Telecom
  • AS3786: LG Uplus


AS의 특성:

  1. 단일 관리: 하나의 조직이 운영
  2. 단일 정책: 내부 전체에 일관된 라우팅 정책 적용
  3. 외부에 대한 통일된 모습: 내부 구조는 외부에 노출하지 않음


AS 내부에서는 OSPF, IS-IS 같은 IGP를 사용하지만, AS 간 통신에는 BGP(Border Gateway Protocol)를 사용합니다.


BGP: 인터넷의 접착제

BGP(Border Gateway Protocol)는 AS 간 라우팅을 담당하는 유일한 프로토콜입니다. 현재 버전은 BGP-4이며 RFC 4271로 표준화되어 있습니다.


BGP의 특성:

  • 경로 벡터(Path Vector) 프로토콜
  • TCP 포트 179 사용
  • 정책 기반 라우팅


Part 2에서 다룬 거리 벡터는 “목적지까지 거리”만 알고 있습니다. 경로 벡터는 “목적지까지 어떤 AS를 거쳐가는지” 전체 경로를 알고 있습니다.

1
2
거리 벡터: "목적지 X까지 거리 5"
경로 벡터: "목적지 X까지 AS1 → AS2 → AS3 경로로"


전체 경로(AS-PATH)를 알기 때문에 두 가지가 가능합니다.

  • 루프 탐지: 자신의 AS가 경로에 이미 포함되어 있으면 해당 경로를 거부
  • 정책 적용: 특정 AS를 경유하는 경로를 회피하거나 선호 가능

BGP의 동작

BGP 피어링

BGP는 수동으로 구성된 이웃(피어)과만 통신합니다. OSPF처럼 자동으로 이웃을 발견하는 기능이 없으므로 관리자가 명시적으로 피어 관계를 설정해야 합니다.


1
2
3
4
AS 100                    AS 200
┌──────────┐              ┌──────────┐
│ 라우터 A ├──── BGP ────┤ 라우터 B │
└──────────┘   세션       └──────────┘

라우터 A와 B는 TCP 연결을 맺고 이를 통해 BGP 메시지를 교환합니다.


BGP 메시지 유형

  1. OPEN: 세션 시작, 파라미터 협상
  2. UPDATE: 새 경로 광고(advertise, 경로 정보를 알림) 또는 기존 경로 철회
  3. KEEPALIVE: 연결 유지 확인 (기본 60초 간격)
  4. NOTIFICATION: 오류 통보, 세션 종료


iBGP vs eBGP

  • eBGP(External BGP): 서로 다른 AS 간에 사용
  • iBGP(Internal BGP): 같은 AS 내부의 BGP 라우터 간에 사용


같은 AS 내부에서도 BGP가 필요한 이유가 있습니다. IGP는 내부 경로만 다루고, 외부 AS에서 배운 경로 정보는 전달하지 못합니다. IGP는 자신만의 메트릭(비용, 홉 수)만 전달하고, BGP 속성(AS_PATH, LOCAL_PREF 등)을 담을 수 없기 때문입니다. BGP 속성이 없으면 정책 기반 경로 선택이 불가능합니다.


AS가 여러 외부 연결을 가지는 경우:

1
2
3
4
5
6
7
8
9
        AS 200              AS 300
           │                   │
      ┌────┴────┐         ┌────┴────┐
      │ 라우터 X │  iBGP  │ 라우터 Y │
      └────┬────┘ ◄────► └────┬────┘
           │     AS 100       │
           └───────┬──────────┘
                   │
              (내부 IGP)

라우터 X는 AS 200에서 배운 경로 정보를 라우터 Y에게 전달합니다. Y는 그 정보를 바탕으로 AS 300에 어떤 경로를 광고할지 결정합니다. 이 공유에 iBGP가 필요합니다.


iBGP를 사용하면 AS 내부의 모든 BGP 라우터가 서로 연결되어야 합니다. 이를 풀 메시(Full Mesh)라 합니다. 라우터가 10대면 45개(10×9÷2)의 연결이 필요합니다. 대규모 환경에서는 Route Reflector(중앙 라우터가 경로 정보를 대신 전파)나 Confederation(AS를 여러 하위 AS로 분할)으로 연결 수를 줄입니다.


BGP 경로 선택

같은 목적지로 가는 여러 경로가 있을 때, BGP는 경로 선택 알고리즘으로 하나를 선택합니다. 아래 기준들을 순서대로 비교하며, 하나의 기준에서 승자가 결정되면 선택이 완료됩니다.

1
2
3
4
5
6
7
8
9
10
1. Weight (Cisco 전용, 높을수록 선호)
2. LOCAL_PREF (높을수록 선호)
3. 로컬에서 생성된 경로 선호
4. AS_PATH 길이 (짧을수록 선호)
5. Origin 타입 (IGP > EGP > Incomplete)
6. MED (낮을수록 선호)
7. eBGP > iBGP
8. IGP 메트릭이 낮은 넥스트홉
9. 가장 오래된 경로
10. 라우터 ID가 낮은 피어


실무에서 자주 사용하는 속성:

  • LOCAL_PREF: AS 내부에서 외부로 나가는 트래픽의 선호 경로를 결정
  • AS_PATH: 거쳐가는 AS 수가 적은 경로를 선호
  • MED(Multi-Exit Discriminator): 이웃 AS에게 “이 링크로 들어오세요”라는 힌트를 제공


예시:

1
2
3
4
5
6
AS 100에서 AS 300으로 가는 두 경로:

경로 1: AS 100 → AS 200 → AS 300 (AS_PATH 길이: 2)
경로 2: AS 100 → AS 400 → AS 500 → AS 300 (AS_PATH 길이: 3)

→ 경로 1 선택 (AS_PATH가 짧음)

하지만 LOCAL_PREF가 설정되어 있다면:

1
2
3
4
경로 1: LOCAL_PREF = 100
경로 2: LOCAL_PREF = 200

→ 경로 2 선택 (LOCAL_PREF가 높음, AS_PATH는 비교하지 않음)


BGP에서는 정책적 판단이 기술적 최적 경로보다 우선합니다. IGP와의 근본적인 차이점입니다.


인터넷의 계층 구조

인터넷의 AS들은 계층적 구조를 형성합니다.

1
2
3
4
5
6
7
              Tier-1 ══════ Tier-1     (피어링: 무료)
                 ║             ║
              Tier-2 ──────Tier-2      (트랜짓: 유료)
               ╱ ╲           ╱ ╲
          Tier-3  Tier-3 Tier-3 Tier-3
            │       │       │       │
          고객    고객    고객    고객


Tier-1 ISP: 인터넷 최상위 사업자입니다. 전 세계 모든 네트워크에 도달할 수 있어 상위 ISP에게 트랜짓을 구매할 필요가 없습니다. 다른 Tier-1과는 피어링(Peering, 상호 무료 트래픽 교환)하고, 하위 ISP에게는 트랜짓(Transit, 유료 인터넷 접근)을 제공합니다. 예: AT&T, NTT, Lumen, Cogent


Tier-2 ISP: 중간 계층입니다. Tier-1에게 트랜짓을 구매하고, 다른 Tier-2와 피어링하여 비용을 절감합니다. 하위 ISP나 기업에게 트랜짓을 판매합니다. 예: 대형 지역 ISP


Tier-3 ISP: 최종 사용자와 가장 가까운 계층입니다. 트랜짓만 구매하며 피어링 관계는 거의 없습니다. 예: 소규모 지역 ISP


컨텐츠 제공자: 전통적인 ISP 계층과 별도로 존재합니다. 자체 글로벌 네트워크를 운영하고 많은 ISP와 직접 피어링합니다. 예: Google, Netflix, Meta


Peering vs Transit

앞서 살펴본 피어링과 트랜짓을 더 자세히 비교합니다.

1
2
3
4
5
피어링:  AS 100 ◄══════► AS 200  (서로의 고객 트래픽만 무료 교환)

트랜짓:  Tier-1
            ║ (비용 지불)
         Tier-2                   (인터넷 전체로의 접근 제공)


피어링의 일반적 원칙:

  • 대등한 트래픽 교환 (한쪽만 많이 보내면 손해)
  • 상호 이익 존재 (양측 모두 트랜짓 비용 절감)

단, 트래픽이 불균형하면 한쪽이 비용을 지불하는 유료 피어링(Paid Peering)도 있습니다. 대형 컨텐츠 제공자(Netflix 등)는 트래픽이 불균형해도 피어링을 맺는 경우가 많습니다. ISP 고객이 해당 콘텐츠를 원하기 때문입니다.


그렇다고 피어링이 항상 유리하지는 않습니다.

장점 비용
트랜짓 비용 절감 피어링 포인트까지 회선 구축
직접 연결로 지연시간 감소 장비 및 연결 비용
대역폭 추가 확보 피어링 협정 관리


그래서 대형 컨텐츠 제공자는 비용을 감수하고도 가능한 한 많은 ISP와 피어링합니다.


Internet Exchange Point

IX(Internet Exchange Point, 인터넷 교환 시설)는 여러 네트워크가 한 장소에서 피어링할 수 있는 시설입니다.


IX 없이 10개 네트워크가 모두 피어링하려면 45개(10×9÷2)의 개별 연결이 필요합니다. IX를 사용하면 각 네트워크가 IX에 한 번씩만 연결합니다. IX 내부의 스위치가 네트워크들을 서로 연결해 줍니다.

1
2
3
4
5
6
7
8
9
     ┌─────────────────────────┐
     │   Internet Exchange     │
     │  ┌─────────────────┐   │
     │  │     스위치      │   │
     │  └─────────────────┘   │
     │   ↑    ↑    ↑    ↑     │
     └───┼────┼────┼────┼─────┘
         │    │    │    │
       AS1  AS2  AS3  AS4


주요 IX: DE-CIX(프랑크푸르트), AMS-IX(암스테르담), LINX(런던), KINX(서울)


IX에서의 피어링은 두 가지 유형으로 나뉩니다.

  • 공개 피어링(Public Peering): IX의 공유 스위치를 통해 여러 네트워크와 연결
  • 사설 피어링(Private Peering): IX 시설 내에서 특정 네트워크와 전용 회선으로 직접 연결

BGP 보안 문제

BGP는 1989년에 설계되었습니다. 당시에는 네트워크 운영자들 간의 신뢰를 기반으로 동작했습니다. BGP는 경로 광고의 진위를 검증하지 않습니다. 누구든 “이 IP 대역은 내 것이다”라고 주장할 수 있고, 다른 라우터들은 이를 그대로 믿습니다.


BGP 하이재킹: 잘못된 경로를 광고하여 트래픽을 가로채는 공격입니다.


2008년 파키스탄 텔레콤 사건이 있었습니다. 파키스탄 정부가 YouTube 차단을 명령하자, 파키스탄 텔레콤은 국내용으로 YouTube IP 대역을 자신에게 광고했습니다. 이 광고가 실수로 전 세계에 퍼졌고, 약 2시간 동안 YouTube가 마비되었습니다.

1
2
정상:       사용자 → ISP → YouTube
하이재킹:   사용자 → ISP → 파키스탄 텔레콤 (YouTube IP를 광고)


해결책

RPKI(Resource Public Key Infrastructure): IP 대역과 AS의 소유권을 암호화 서명으로 증명합니다. “AS X만이 IP 대역 Y를 광고할 수 있다”라고 명시하여, 다른 AS가 해당 대역을 광고하면 검증 실패로 경로를 거부합니다.

1
2
3
4
ROA(Route Origin Authorization) 예시:
- IP 대역: 203.0.113.0/24
- 허가된 AS: AS 64500
→ 다른 AS가 광고하면 검증 실패

RPKI 도입은 증가하고 있지만 아직 보편화되지 않았습니다. 모든 ISP가 참여해야 완전한 효과를 볼 수 있습니다.


BGPsec: AS_PATH에 포함된 각 AS가 순차적으로 서명하여 경로 조작을 방지합니다. 계산 오버헤드가 커서 아직 널리 사용되지 않습니다.


인터넷 라우팅의 현실

인터넷 라우팅은 기술적 최적화만의 문제가 아닙니다. 경제적, 정치적, 운영적 요소가 영향을 미칩니다.


경제적 결정: 트랜짓 대신 피어링 추구, 비용 효율적 경로 선택, 트래픽 비율에 따른 협상

정치적 결정: 특정 국가 경유 회피, 국내 트래픽 국내 처리, 정부 규제에 따른 필터링

운영적 결정: 안정성 검증된 경로 선호, 장애 이력 있는 AS 회피


BGP는 “최단 경로”가 아니라 “최선의 경로”를 선택합니다. “최선”의 정의는 각 네트워크가 자율적으로 결정합니다.


마무리

이 글에서 살펴본 내용을 정리하면:

  • AS(자율 시스템): 단일 정책 하에 운영되는 네트워크 집합. 인터넷의 기본 단위
  • BGP: AS 간 라우팅을 담당하는 유일한 프로토콜. 경로 벡터 방식으로 정책 기반 라우팅 지원
  • 피어링과 트랜짓: 네트워크 간 연결의 두 가지 방식. 경제적 인센티브가 작용
  • IX: 여러 네트워크가 효율적으로 피어링할 수 있는 시설
  • BGP 보안: 신뢰 기반 설계로 인한 취약점. RPKI 등으로 보완 중


인터넷은 중앙 제어 기관 없이 동작합니다. 수만 개의 AS가 각자 자율적으로 운영되면서도 전체가 하나로 연결됩니다. 기술적 프로토콜 위에서 경제적 인센티브가 함께 작동하는 시스템입니다.


관련 글

Tags: AS, BGP, ISP, 네트워크, 인터넷

Categories: ,