KNOWLEDGE

AS / ASN / BGP 라우팅 — 인터넷의 뼈대 이해하기

인터넷은 하나의 네트워크가 아니라 87,000개가 넘는 자율 시스템(AS)이 BGP 프로토콜로 서로 연결된 것입니다. AS 번호란 무엇입니까? BGP는 어떻게 동작합니까? 경로 유출과 하이재킹은 어떻게 발생합니까?

핵심 요약

‘인터넷’은 사실 87,000개가 넘는 독립 네트워크(AS, Autonomous System)가 서로 연결된 것이며, 각 네트워크에는 고유 번호(ASN, 예: AS13335 = Cloudflare)가 있습니다. 이 AS들은 BGP로 서로 경로를 교환하며 ‘내가 도달할 수 있는 IP 블록은 이것들이다’라고 광고하고, 이를 통해 전 세계 라우팅 테이블(IPv4 프리픽스 약 100만 개, IPv6 프리픽스 약 20만 개)이 만들어집니다. 집에서 Google로 가는 패킷은 보통 4-15개의 AS를 거칩니다. 하나씩 차근차근 살펴보겠습니다.

1. AS란 무엇인가 — Autonomous System

AS(Autonomous System, 자율 시스템)는 하나의 관리 주체가 정한 라우팅 정책 아래에 있는 네트워크 또는 네트워크 그룹입니다. AS 내부에서 어떤 라우팅 프로토콜(OSPF / IS-IS)을 쓰는지는 각 AS가 알아서 정할 일이지만, AS 사이에서는 BGP를 사용해 IP 프리픽스를 공개적으로 광고합니다.

  • 대형 ISP는 그 자체로 하나의 AS입니다(China Telecom AS4134, China Unicom AS4837, China Mobile AS9808)
  • 대형 클라우드 제공업체도 하나의 AS입니다(Google AS15169, Cloudflare AS13335, AWS AS16509)
  • 대학, 정부, 대기업도 자체 AS를 보유할 수 있습니다
  • 일반 가정용 인터넷 사용자의 IP는 해당 ISP의 AS에서 나누어 받은 것으로, 최종 사용자에게는 자체 AS가 필요 없습니다

1.1 ASN은 누가 할당하는가

ASN(AS 번호)은 5개의 지역 인터넷 레지스트리(RIR)가 관리합니다:

RIR지역대표 ASN 범위
ARIN북미AS1-AS6655 + 일부
RIPE NCC유럽 / 중동AS6656-AS9215 + 일부
APNIC아시아태평양AS17676-AS18431 + 일부
LACNIC라틴아메리카AS27648-AS28671 + 일부
AFRINIC아프리카AS36864-AS37887 + 일부

ASN은 원래 16비트(0-65535, 1996년 이후 부족해지기 시작)였지만, 현재는 32비트(0-4294967295, RFC 6793)입니다. 현재 전 세계에서 실제로 사용 중인 ASN은 약 12만 개입니다.

1.2 ASN 읽는 법 — 표기 형식

AS13335 // 기존 형식(16비트)
AS393227 // 새 순수 숫자 형식(32비트)
AS6.10 // 기존 점 표기 형식(= 6×65536+10 = 393226; RFC 5396은 asplain을 권장 표기로 정함)

현재는 순수 숫자 형식만 쓰면 됩니다. ‘AS’ 접두사는 생략할 수 있지만, 붙여 쓰는 편이 더 명확합니다.

2. BGP — 인터넷의 ‘우편번호 체계’

RFC 4271에 정의된 BGP (Border Gateway Protocol)는 AS 사이에서 쓰이는 유일한 라우팅 프로토콜입니다. 각 AS는 BGP를 통해 인접 AS에 이렇게 광고합니다: “나는 이 IP 프리픽스들에 도달할 수 있고, 나를 거치면 그 너머의 이 AS들에도 도달할 수 있다.”

2.1 BGP 광고의 핵심: 프리픽스 + AS-PATH

BGP 라우팅 테이블 (RIPE RIS 발췌)
Prefix                Next Hop          AS-PATH
104.16.0.0/13    203.0.113.1   AS3356 AS13335   ← Lumen을 거쳐 Cloudflare로
104.16.0.0/13    198.51.100.5   AS6939 AS13335   ← HE.net을 거쳐 Cloudflare로
8.8.8.0/24      203.0.113.1   AS3356 AS15169   ← Google DNS로
202.106.0.0/16  198.51.100.5   AS6939 AS4847 AS4134 ← China Telecom 베이징으로

AS-PATH는 오리진 AS(프리픽스의 소유자)에서 현재 라우터까지 거쳐 온 모든 AS를 나열합니다. 오른쪽에서 왼쪽으로 읽습니다 — 가장 오른쪽 AS가 오리진이고, 가장 왼쪽 AS가 인접 AS입니다.

2.2 BGP가 최적 경로를 고르는 방법

같은 프리픽스에 경로가 여러 개 있으면 BGP는 다음 우선순위에 따라 하나를 고릅니다(요약):

  1. LOCAL_PREF: 높을수록 우선 — AS 내부의 선호도(어느 경로를 먼저 쓸지)
  2. AS-PATH가 짧을수록 우선 — 거치는 AS가 적은 경로가 선택됩니다
  3. Origin: IGP(내부) > EGP > Incomplete
  4. MED (Multi-Exit Discriminator): 낮을수록 우선 — AS 사이에 전달되는 힌트
  5. eBGP > iBGP
  6. IGP 비용: 낮을수록 우선
  7. Router ID: 낮을수록 우선 (마지막 동점 처리 기준)

참고: BGP가 반드시 가장 빠른 경로를 고르는 것은 아닙니다. AS-PATH가 짧다고 해서 물리적 지연 시간이 낮은 것은 아닙니다. AS 1개를 거치는 대륙 간 경로가 AS 3개를 거치는 같은 도시 안의 경로보다 느릴 수 있습니다.

3. Tier 1 / Tier 2 / Tier 3 — ISP 계층 구조

모든 AS는 업스트림 트랜짓 비용을 내야 하는지에 따라 세 계층으로 나뉩니다:

계층정의대표 사례
Tier 1누구에게도 비용을 내지 않음 — 피어링만으로 전 세계에 도달AT&T AS7018, Verizon AS701, Lumen/Level3 AS3356, NTT AS2914, Telia AS1299, Tata AS6453, GTT AS3257, China Telecom AS4134 (일부 정의 기준), China Unicom AS4837
Tier 2일부 Tier 1과 피어링하지만, 일부 접속에는 비용을 지불대부분의 국가 단위 ISP / 대형 클라우드 사업자 (Google AS15169, Microsoft AS8075, Cloudflare AS13335)
Tier 3다른 네트워크에 도달하려면 업스트림 사업자에게 비용을 내야 함소규모 지역 ISP / 접속 통신사

일반 가정용 브로드밴드의 패킷 경로 예시: 우리 집 → 지역 소규모 ISP (Tier 3) → 성 단위 / 도시권 네트워크 (Tier 2) → China Telecom 백본 (Tier 1) → 해외 Tier 1 → 목적지 네트워크.

4. 직접 테스트하기 — 집에서 Google까지 거치는 AS

mtr -bz 명령(BSD에서는 traceroute -A)으로 홉마다 AS 번호를 확인할 수 있습니다:

mtr -bz www.google.com (Linux)
HOST: xxx                Loss%   Snt   Last  Avg   ASN
1.  192.168.1.1                0.0%   10   0.5  0.6   (사설망, ASN 없음)
2.  61.183.x.x                 0.0%   10   3.2  3.5   AS4134  China Telecom
3.  202.97.x.x                 0.0%   10   5.1  5.4   AS4134  China Telecom 백본
4.  202.97.x.x                 0.0%   10  15.2  16.1  AS4134
5.  202.97.x.x                 0.0%   10  45.3  46.0  AS4134  국외 출구 직전 노드
6.  211.95.x.x                 0.0%   10 156.4 158.2  AS4134  국제 게이트웨이
7.  72.14.215.x                0.0%   10 158.1 159.8  AS15169 Google 네트워크
8.  142.250.x.x                0.0%   10 159.8 161.2  AS15169 Google
9.  142.250.x.x (www.google.com)  0.0%   10 160.2 162.0  AS15169

이 mtr 결과에서 다음을 알 수 있습니다:

  • 집 → China Telecom 지역망 (AS4134, 홉 2-3): < 10ms
  • China Telecom 백본 (AS4134, 홉 4-6): 5-150ms
  • 국제 게이트웨이에서 Google로 넘어가는 구간 (AS15169, 홉 7): 150ms 이상으로 급증 ← 국외 출구 지연 시간
  • Google 내부 (AS15169, 홉 8-9): < 5ms

중국의 가정용 브로드밴드에서 Google까지는 AS를 2개만 거칩니다. AS-PATH는 매우 짧지만 물리적 지연 시간은 큽니다. 이것이 바로 ‘BGP 경로 길이는 물리적 지연 시간이 아니다’라는 말의 의미입니다.

5. BGP의 두 가지 보안 악몽 — 경로 유출과 경로 하이재킹

5.1 경로 유출 (Route Leak)

어떤 AS가 업스트림에 넘기면 안 되는 경로를 실수로 업스트림이나 인접 AS에 넘겨, 전 세계 트래픽이 잘못된 경로로 흘러가게 되는 현상입니다. 대표적인 예로, 어떤 ISP가 고객의 경로를 자신의 경로로 착각해 모두에게 광고하는 경우가 있습니다.

유명한 사건: 2017년 11월 Level3 (AS3356)의 경로 유출로 Comcast, Verizon 등의 다운스트림 고객 다수가 피해를 입었습니다.

5.2 BGP 하이재킹

악의적인 AS가 자신이 소유하지 않은 IP 프리픽스를 광고하는 것입니다. 다른 AS가 이 광고를 받아들이면 트래픽이 하이재킹한 쪽으로 향하게 되어 MITM, 서비스 거부, DNS 오염 등이 가능해집니다.

대표적인 사건:

  • 2008년: 파키스탄의 PTCL이 YouTube의 프리픽스를 광고해 전 세계 YouTube 트래픽이 2시간 동안 파키스탄으로 향했습니다
  • 2018년: eNet (AS10297)이 Amazon Route 53의 DNS 프리픽스를 광고해 약 2시간 동안 MyEtherWallet 사용자 트래픽을 하이재킹했습니다
  • 2022년: 러시아의 RTCOMM이 Twitter 프리픽스를 잠시 하이재킹했습니다

5.3 방어 — RPKI로 경로에 서명

RFC 6480 시리즈에 정의된 RPKI (Resource Public Key Infrastructure)는 IP 프리픽스의 정당한 보유자가 “이 프리픽스는 이 AS에서만 시작될 수 있다”는 내용을 암호학적으로 서명할 수 있게 합니다. RPKI를 지원하는 BGP 라우터는 서명이 없거나 서명이 잘못된 경로를 버립니다.

현재 전 세계 IPv4 프리픽스의 약 절반이 RPKI 서명을 마쳤으며, 그 비율은 계속 오르고 있습니다. cleanip.io에서 IP를 조회하면 ‘AS 정보’ 카드에 RPKI 상태가 valid / invalid / not-found로 표시됩니다.

6. IP나 도메인이 속한 ASN을 조회하는 방법

6.1 cleanip.io에서 바로 조회

https://cleanip.io/8.8.8.8 또는 https://cleanip.io/AS15169에 접속하기만 하면 됩니다. 전체 ASN 정보, 등록일, IP 대역, 업스트림/다운스트림, 지리적 분포를 보여 드립니다.

6.2 cleanip.io의 BGP 시각화

/asn-graph 페이지는 모든 ASN의 BGP 토폴로지를 그려 줍니다. 오리진에서 Tier 2를 거쳐 Tier 1까지 보여 주므로 누가 누구와 피어링하는지 한눈에 알 수 있습니다.

/asn-history 페이지에서는 IP / CIDR의 과거 소유 이력을 볼 수 있습니다. 해당 CIDR 대역이 그동안 어떤 AS에 속했는지, 언제 바뀌었는지 확인할 수 있습니다.

6.3 명령줄 도구

terminal — ASN lookup
$ whois -h whois.cymru.com " -v 8.8.8.8"
AS      | IP        | BGP Prefix    | CC | Registry | Allocated  | AS Name
15169   | 8.8.8.8   | 8.8.8.0/24    | US | arin     | 1992-12-01 | GOOGLE, US

$ curl https://api.bgpview.io/ip/8.8.8.8 | jq
{
  "data": {
    "ip": "8.8.8.8",
    "prefixes": [{
      "asn": { "asn": 15169, "name": "Google LLC" },
      "prefix": "8.8.8.0/24"
    }]
  }
}

7. 자주 보는 ASN 빠른 참조

ASN이름유형
AS13335CloudflareCDN / DNS
AS15169Google클라우드 / 검색
AS16509Amazon AWS클라우드
AS8075Microsoft / Azure클라우드
AS32934Facebook (Meta)소셜
AS13414Twitter / X소셜
AS2906Netflix동영상
AS4134China TelecomISP (일부 Tier 1)
AS4837China UnicomISP
AS9808China MobileISP
AS37963알리바바 / 알리바바 클라우드클라우드
AS45102알리바바 클라우드 인터내셔널클라우드
AS132203텐센트 클라우드클라우드
AS9009M247 (주요 VPN 백본 사업자)IDC
AS62371Proton AG (ProtonVPN)VPN
AS24940Hetzner독일 VPS
AS16276OVH프랑스 VPS
AS20473Choopa (Vultr)VPS
AS14061DigitalOceanVPS

8. 일반 사용자에게도 이 지식이 중요한 이유

  • 위험 관리 시스템은 IP 평판을 매길 때 ASN을 봅니다 — 데이터센터 ASN(클라우드 / VPN 사업자)은 보통 낮은 점수를 받고, 주거용 광대역 ASN(China Telecom / China Unicom)은 더 높은 점수를 받습니다
  • 해외 트래픽용 CDN을 고를 때는 대상 사용자의 ASN과 CDN 노드 사이의 AS 거리를 확인하세요 — cleanip.io에서는 한 번의 조회로 IP가 어느 AS에 속하는지 알 수 있습니다
  • DDoS 공격을 받을 때 ASN은 출처를 추적하는 첫 번째 단서입니다 — 예: “공격 트래픽 대부분이 AS46562 Performive 데이터센터에서 발생했다”
  • VPN을 고를 때는 그 VPN이 어느 IDC의 ASN에서 운영되는지 확인하세요 — 자세한 내용은 VPN 추적 글을 참고하세요

더 읽을거리

mimetic
mimetic
mimetic