ping6.net
기초

IPv6 주소 유형: 전역, 링크 로컬, 멀티캐스트 설명

다양한 유형의 IPv6 주소를 알아보세요: 인터넷용 전역 유니캐스트, LAN용 링크 로컬, 그룹용 멀티캐스트 등.

ping6.net2024년 1월 20일7 min read
IPv6주소 유형유니캐스트멀티캐스트링크 로컬애니캐스트

IPv6 주소는 패킷을 전달하는 방법에서 IPv4와 다르게 작동합니다. 네트워크 문제를 디버깅하거나 시스템을 설계할 때 이러한 차이점을 이해하는 것이 중요합니다.

TL;DR - 빠른 요약

핵심 포인트:

  • IPv6는 유니캐스트(일대일), 멀티캐스트(일대다), 애니캐스트(일대최근접)를 사용합니다 — 브로드캐스트 없음
  • 전역 유니캐스트(2xxx/3xxx)는 인터넷용, 링크 로컬(fe80::)은 로컬 세그먼트용, ULA(fd00::)는 개인 네트워크용
  • 멀티캐스트(ffxx::)가 브로드캐스트를 대체합니다. solicited-node 멀티캐스트는 이웃 발견을 효율적으로 만듭니다
  • 링크 로컬 주소는 fe80::1%eth0처럼 인터페이스를 지정하는 Zone ID가 필요합니다

바로가기: 전역 유니캐스트 | 멀티캐스트 | 빠른 참조

세 가지 전달 방법#

IPv6는 세 가지 기본 전달 모델을 사용합니다:

  • 유니캐스트: 한 송신자에서 한 수신자로. 특정 호스트와 통신하는 표준 방법입니다.
  • 멀티캐스트: 한 송신자에서 여러 수신자로. 그룹 통신에 효율적입니다.
  • 애니캐스트: 한 송신자에서 그룹에서 가장 가까운 수신자로. 로드 밸런싱 및 중복성에 사용됩니다.

IPv6에는 브로드캐스트 없음

IPv6는 브로드캐스트를 완전히 제거했습니다. IPv4가 모든 호스트에 브로드캐스트하는 곳(네트워크를 범람시키는 ARP 요청처럼)에서 IPv6는 대상 멀티캐스트를 사용합니다. 이렇게 하면 불필요한 트래픽이 줄어들고 네트워크 효율성이 향상됩니다.

유니캐스트 주소#

모든 유니캐스트 주소는 정확히 하나의 네트워크 인터페이스를 식별합니다. 해당 주소로 패킷을 보내면 정확히 한 호스트가 수신합니다.

전역 유니캐스트 주소 (2000::/3)#

인터넷 전체에서 라우팅 가능한 공용 IPv6 주소입니다. 주소가 2 또는 3으로 시작하면 전역 유니캐스트 주소입니다.

2001:0db8:85a3:0000:0000:8a2e:0370:7334
│         │         │              │
│         │         │              └─ 인터페이스 ID (64비트)
│         │         └──────────────── 서브넷 ID (16비트)
│         └────────────────────────── 사이트 접두사 (48비트)
└──────────────────────────────────── 전역 라우팅 접두사

일반적인 구조는 /48 할당을 다음과 같이 분할합니다:

비트구성 요소목적
0-47전역 라우팅 접두사ISP 또는 RIR의 할당
48-63서브넷 ID사이트당 65,536개 서브넷
64-127인터페이스 IDMAC 주소에서 생성되거나 무작위화됨

실제 공급자는 일반적으로 사이트에 /48, 소규모 비즈니스에 /56 또는 주거 사용자에게 /64를 할당합니다. 각 /64 서브넷에는 18퀸틸리온 개의 주소가 포함되어 있으므로 /64 경계에서 서브넷을 분할합니다.

문서 주소

접두사 2001:db8::/32는 문서 및 예시 전용으로 존재합니다. 프로덕션에서 이러한 주소를 사용하지 마세요. RFC의 모든 예시가 2001:db8를 사용하는 이유가 있습니다. 실제 네트워크와 충돌하지 않습니다.

링크 로컬 주소 (fe80::/10)#

모든 IPv6 인터페이스는 IPv6를 활성화하면 자동으로 링크 로컬 주소를 생성합니다. 이러한 주소는 로컬 네트워크 세그먼트에서만 작동하며 라우팅되지 않습니다.

fe80::1
fe80::a1b2:c3d4:e5f6:7890

링크 로컬 주소는 IPv6가 작동하는 데 필수적입니다. 이웃 발견, 라우터 요청 및 기타 핵심 프로토콜에 필요합니다. 인터페이스에 전역 주소가 없을 수 있지만 항상 링크 로컬 주소가 있습니다.

Zone ID: 인터페이스 지정#

fe80::1은 모든 인터페이스에 존재할 수 있으므로 의미하는 인터페이스를 지정해야 합니다:

ping6 fe80::1%eth0      # Linux
ping6 fe80::1%en0       # macOS
ping fe80::1%12         # Windows (인터페이스 인덱스 사용)

% 기호 앞에 Zone ID가 옵니다. Linux 및 macOS에서는 인터페이스 이름을 사용합니다. Windows에서는 netsh interface ipv6 show interface의 인터페이스 인덱스를 사용합니다.

고유 로컬 주소 (fc00::/7)#

IPv6 버전의 RFC 1918 개인 주소로 생각하세요. 전역적으로 라우팅할 수 없으므로 내부 네트워크에 적합합니다.

실제로는 fc00::/8 범위가 구현되지 않은 중앙 할당이 필요하기 때문에 fd00::/8 주소를 볼 수 있습니다. 40비트 전역 ID를 무작위로 생성합니다:

fd 3a:c7b1:29f4 :0001:0000:0000:0000:0001
│  └──────────┘  │    └──────────────────┘
│       │        │             │
│       │        │             └─ 인터페이스 ID (64비트)
│       │        └─────────────── 서브넷 ID (16비트)
│       └──────────────────────── 무작위 전역 ID (40비트)
└──────────────────────────────── ULA 접두사 (fd = 로컬 할당)

40비트 식별자를 무작위로 생성하면 나중에 두 네트워크가 병합되는 경우 충돌 위험이 최소화됩니다. 모든 곳에서 fd00::1을 사용하지 마세요.


특수 주소#

두 주소는 고유한 목적이 있습니다:

루프백 (::1): 자신에게 패킷을 보냅니다. 127.0.0.1의 IPv6 동등물입니다. ::1로의 트래픽은 호스트를 떠나지 않습니다.

미지정 (::): 주소가 없음을 나타냅니다. 호스트는 DHCPv6 중이거나 주소를 구성하지 않은 경우 소스 주소로 ::를 사용합니다. ::로 패킷을 보낼 수 없습니다.


멀티캐스트 주소 (ff00::/8)#

ff로 시작하는 모든 주소는 멀티캐스트입니다. 패킷은 해당 멀티캐스트 그룹에 가입한 모든 인터페이스로 이동합니다.

주소 구조#

ff 0 2 : 0000:0000:0000:0000:0001
│  │ │   └──────────────────────┘
│  │ │              │
│  │ │              └─ 그룹 ID (112비트)
│  │ └──────────────── 범위 (4비트)
│  └─────────────────── 플래그 (4비트)
└────────────────────── 멀티캐스트 접두사

범위 필드는 멀티캐스트 패킷이 얼마나 멀리 이동하는지 결정합니다:

범위범위
인터페이스 로컬1이 인터페이스만
링크 로컬2로컬 네트워크 세그먼트
관리 로컬4관리 경계
사이트 로컬5조직 사이트
조직 로컬8조직의 여러 사이트
전역e전체 인터넷

필수 멀티캐스트 그룹#

여러 멀티캐스트 주소가 중요한 기능을 수행합니다:

주소목적
ff02::1링크의 모든 노드 (IPv4 브로드캐스트 대체)
ff02::2링크의 모든 라우터
ff02::5모든 OSPF 라우터
ff02::6모든 OSPF 지정 라우터
ff02::9모든 RIP 라우터
ff02::1:2모든 DHCPv6 서버/릴레이
ff02::fbmDNSv6 (멀티캐스트 DNS)

Solicited-Node 멀티캐스트#

이 메커니즘은 이웃 발견을 효율적으로 만듭니다. 모든 호스트에게 "누가 이 IP를 가지고 있습니까?"라고 묻는 대신(ARP처럼), IPv6는 작은 멀티캐스트 그룹에 묻습니다.

모든 유니캐스트 주소는 자동으로 해당하는 solicited-node 멀티캐스트 주소를 생성합니다:

유니캐스트:        2001:db8:1234:5678::abcd:ef12:3456
                                      └────┬─────┘

                                     (마지막 24비트)

Solicited-Node: ff02::1:ff12:3456 ────────┘

호스트가 2001:db8:1234:5678::abcd:ef12:3456을 해결해야 할 때 ff02::1:ff12:3456으로 Neighbor Solicitation을 보냅니다. 12:3456으로 끝나는 주소를 가진 호스트만 요청을 처리합니다. 이렇게 하면 모든 호스트에 브로드캐스트하는 것에 비해 멀티캐스트 오버헤드가 크게 줄어듭니다.


애니캐스트 주소#

애니캐스트 주소는 유니캐스트 주소와 동일하게 보입니다. 특수 접두사가 없습니다. 차이점은 구성입니다. 여러 인터페이스에 동일한 주소를 할당하고 라우팅이 토폴로지적으로 가장 가까운 것으로 패킷을 전달합니다.

일반적인 사용 사례#

DNS 루트 서버: 모든 13개 루트 서버 문자(a.root-servers.net부터 m.root-servers.net까지)는 애니캐스트를 사용합니다. 동일한 IP 주소가 전 세계 수백 개 위치에 존재합니다. 쿼리는 가장 가까운 루트 서버에 도달합니다.

CDN 엣지 서버: 콘텐츠 전송 네트워크는 애니캐스트를 사용하여 사용자를 근처 캐시 서버로 라우팅합니다. 동일한 주소, 다른 지리적 위치입니다.

6to4 릴레이 라우터: 192.88.99.1(IPv4) 및 2002:c058:6301::(IPv6) 주소는 6to4 릴레이의 애니캐스트 주소입니다.

서브넷-라우터 애니캐스트#

모든 서브넷에는 인터페이스 식별자가 0으로 설정된 예약된 애니캐스트 주소가 자동으로 있습니다:

서브넷:         2001:db8:1234:5678::/64
서브넷-라우터:  2001:db8:1234:5678::

해당 서브넷의 라우터는 이 주소에 응답해야 합니다. 실제로는 거의 사용되지 않습니다.


빠른 참조: 주소 유형 식별#

처음 몇 문자를 보고 IPv6 주소를 식별합니다:

시작유형범위
::1루프백호스트 로컬
::미지정해당 없음
fe80:링크 로컬 유니캐스트링크 로컬
fc00: 또는 fd00:고유 로컬 유니캐스트개인
ff00: ~ ffff:멀티캐스트다양함 (두 번째 자리 확인)
2... 또는 3...전역 유니캐스트인터넷

나머지는 예약되었거나 아직 할당되지 않았습니다.

주소 확인#

시스템에 구성된 주소를 확인합니다:

Linux:

ip -6 addr show

macOS:

ifconfig | grep inet6

Windows:

netsh interface ipv6 show addresses

일반적으로 다음을 볼 수 있습니다:

  • 인터페이스당 하나씩 여러 링크 로컬 주소(fe80::)
  • IPv6 연결이 있는 경우 하나 이상의 전역 유니캐스트 주소
  • 루프백 인터페이스의 루프백 주소 ::1
  • 여러 멀티캐스트 그룹 멤버십(일반적으로 기본적으로 표시되지 않음)

멀티캐스트 테스트#

로컬 링크의 모든 노드에 ICMPv6 에코 요청을 보냅니다:

# eth0를 인터페이스 이름으로 바꾸세요
ping6 ff02::1%eth0

해당 네트워크 세그먼트의 모든 IPv6 지원 장치에서 응답을 받습니다. 이것은 발견에 유용하지만 대규모 네트워크에서는 시끄러울 수 있습니다.

라우터가 있는지 확인합니다:

ping6 ff02::2%eth0

라우터만 응답해야 합니다.

주소 유형 검증

IPv6 검증기를 사용하여 모든 주소를 확인하세요. 주소를 입력하면 유형, 범위 및 유효한지 즉시 확인할 수 있습니다. 구성 문제 해결 시 유용합니다.


실질적인 영향#

다양한 주소 유형은 네트워크를 설계하고 문제를 해결하는 방법에 영향을 미칩니다:

보안 정책: 방화벽에서 전역 유니캐스트를 필터링하되 링크 로컬은 이웃 발견을 위해 통과해야 합니다. fe80::/10을 차단하면 IPv6가 완전히 중단됩니다.

애플리케이션 바인딩: ::에 바인딩하는 서버는 모든 주소에서 수신 대기합니다(IPv4의 0.0.0.0처럼). ::1에 바인딩하면 localhost만으로 제한됩니다.

라우팅 테이블: 링크 로컬 주소가 라우팅 테이블에서 next-hop으로 나타나며 이것은 IPv4에 익숙한 사람들을 혼란스럽게 합니다. 이것은 정상입니다. 라우터는 변경되지 않으므로 안정성을 위해 링크 로컬 주소를 사용합니다.

DNS: 공용 DNS에서는 전역 유니캐스트 주소만 게시하세요. 공용 DNS 영역에 링크 로컬 또는 고유 로컬 주소를 게시하지 마세요.

이러한 주소 유형을 이해하는 것은 학문적이지 않습니다. 방화벽을 구성하고, 연결을 디버깅하며, 실제로 작동하는 네트워크를 설계하는 데 필요합니다.

관련 기사#

직접 해보세요

IPv6 검증기를 사용하여 모든 주소를 확인하세요. 주소를 입력하면 유형, 범위 및 유효성이 즉시 표시됩니다.