본문 바로가기
네트워크/기초 학습

Day 7: IPv6 주소 체계

by CBROJIN 2025. 8. 6.

1. 학습 요약표

학습 내용 설명
IPv6 도입 배경 주소 공간 확대, IPv4 한계 극복, ICMPv6 기능 포함
주요 기능 종단 간 보안, 헤더 단순화, SLAAC, 멀티캐스트, NAT 제거
IPv6 주소 표현 16비트 Hextet 구성, 압축 표기법 (::), RFC 5952 표준 준수
Unicast 주소 LLA, ULA, GUA 유형별 구분 및 용도 정의
Multicast 주소 ff00::/8 대역, All-nodes, All-routers, Solicited-node 주소
SLAAC/EUI-64 DHCP 없이 주소 자동 생성, MAC 기반 인터페이스 ID
 

2. 이론 설명

(1) IPv6 도입 배경

  • IPv6는 IPv4의 후속으로, 128비트 주소 체계를 기반으로 함 → 약 340언데실리언 개 주소 가능
  • 단순한 주소 확장 이상으로 다양한 IPv4 한계를 기술적으로 해결함
  • ICMPv6는 주소 해석 및 자동 설정 기능을 포함하며, IPv4의 ICMP보다 기능 확장됨
  • IPv4 주소 고갈 현상은 특히 아시아, 아프리카 지역에서 심각
  • IPv6는 이를 대비하여 RFC 2460을 통해 정의됨

(2) IPv6 기술적 개선 사항

  • IPv4 사용자들의 자연스러운 전환을 고려한 설계

주요 기능:

  • 종단 간 보안 (End-to-End Security)
  • QoS(서비스 품질) 지원
  • 전 세계 고유 주소 제공 (Global Uniqueness)
  • 단순화된 헤더 구조로 패킷 처리 속도 향상
  • 효율적인 라우팅 지원 (Prefix 집계, 멀티호밍, 번호 재정의 등)
  • RIP, OSPF, IS-IS, mBGP 등 기존 프로토콜과 호환
  • SLAAC을 통한 자동 주소 설정, 다양한 멀티캐스트 주소 지원

(3) NAT와 IPv6의 역할 변화

IPv4에서는 사설 IP + NAT 조합으로 주소 부족 문제를 회피했으나:

  • P2P 통신 어려움
  • 지연 증가, 포트 매핑 복잡성 초래

IPv6는 공인 주소가 풍부하므로 NAT 불필요 → 직접 통신 가능

  • 새로운 응용 프로토콜 등장 가능

(4) IPv6 보급 현황

  • 모바일 장치 증가로 IPv6 수요 폭증 → 통신사가 IPv6 도입 주도
  • 미국 주요 통신사 2곳: IPv6 트래픽 90% 이상
  • 콘텐츠 제공자: 유튜브, 페이스북, 넷플릭스 등 IPv6 대응 완료
  • 글로벌 기업(Microsoft, Facebook 등)은 내부망 IPv6-only 전환 진행

2018년 기준 IPv6 보급률:

  • Comcast: 65% 이상
  • British Sky Broadcasting: 86% 이상

(5) IPv6 주소 표현 형식

16비트 단위(Hextet) × 8개 블록, 콜론(:)으로 구분 → x:x:x:x:x:x:x:x

예시 주소:

  • 전체 표기: 2001:0db8:0000:1111:0000:0000:0000:0200
  • 앞자리 0 생략: 2001:db8:0:1111:0:0:0:200
  • 연속된 0 축약: 2001:db8:0:1111::200
  • 옥텟은 8비트, 헥스텟은 16비트
  • ::은 단 한 번만 사용 가능하며 가장 긴 연속된 0을 대체함
  • RFC 5952 기준으로 16진수 알파벳 대소문자 구분 없음

(6) IPv6 주소 유형

주소 유형 기본 형식 압축 형식
Unicast 2001:0:0:0:db8:800:200c:417a 2001::db8:800:200c:417a
Multicast ff01:0:0:0:0:0:0:101 ff01::101
Loopback 0:0:0:0:0:0:0:1 ::1
Unspecified 0:0:0:0:0:0:0:0 ::

(7) Unspecified Address

형식: :: (128비트 전체 0)

주소 설정 전 초기 상태에서 사용됨

  • 예: 부팅 직후 주소 미설정 시 출발지 주소로 사용됨

(8) IPv6 Prefix 및 Prefix Length

  • 형식: 주소/길이 (예: 2001:db8:8086:6502::/32)
  • 의미: 앞에서부터 몇 비트가 네트워크 식별자인지를 지정
  • 라우팅 및 주소 할당의 기준이 되는 필수 정보
 

3. IPv6 Unicast 주소

주소 종류 Prefix 인터넷 라우팅 용도 자동 생성 여부
LLA fe80::/10 X 링크 내 통신, 라우터 인터페이스 자동 생성
ULA fd00::/8 X 조직 내부 통신, 사설 네트워크 수동 생성 권장
GUA 2000::/3 O 외부 통신, 글로벌 서비스 SLAAC 또는 수동
LLA (Link-Local Address) fe80::/10 같은 링크 내에서만 통신 가능한 주소 장비 간 이웃 탐색, 라우팅 프로토콜 인터페이스 주소
ULA (Unique Local Address) fc00::/7 (실제로는 fd00::/8 사용) 조직 내부 전용, 인터넷 라우팅 불가 사내 통신, VPN 등 사설 네트워크 구성
GUA (Global Unicast Address) 2000::/3 전 세계 라우팅 가능, 공인 IPv6 주소 외부 인터넷 통신, 클라우드 장비 등

(1) LLA (Link-Local Address)

  • 주소 범위: fe80::/10
  • 자동 생성되며 라우터 없이 동일 링크 내 장비 간 통신
  • 라우팅 불가, 인터페이스 단위 범위
  • 사용 예시: 이웃 탐색(ND), SLAAC, 라우터 간 인터페이스 주소

(2) ULA (Unique Local Address)

  • 주소 범위: fc00::/7, 실사용은 fd00::/8
  • RFC 4193에 정의된 사설 주소
  • 조직 내부 통신, VPN 구성, MPLS 백본 등에 사용
  • 고유한 Global ID를 사용해 충돌 방지

(3) GUA (Global Unicast Address)

  • 주소 범위: 2000::/3
  • 인터넷에서 유일한 공인 주소
  • ISP 또는 SLAAC 방식으로 부여됨
  • 사용 예시: 외부 서비스용 웹서버, 클라우드 장비, 외부 라우터 인터페이스 등
 

4. IPv6 Multicast 주소

  • IPv4의 브로드캐스트 제거 → Multicast로 대체
  • Multicast 주소는 항상 ff00::/8로 시작하며 목적지 주소로만 사용 가능

(1) 멀티캐스트 특징

  • 하나의 패킷으로 다수 수신자에게 전송 가능
  • 대역폭 절감
  • Neighbor Discovery, DHCPv6 등 핵심 기능에서 사용됨

(2) 주요 멀티캐스트 주소 유형

주소 설명
ff02::1 All-nodes: 모든 IPv6 장비 자동 가입 (IPv4의 브로드캐스트 유사)
ff02::2 All-routers: IPv6 라우터 전용 그룹

(3) Solicited-node Multicast 주소

IPv6에서 장비의 MAC 주소를 알아내기 위해 사용하는 특별한 멀티캐스트 주소입니다.

이 주소는 ICMPv6 Neighbor Solicitation(NS) 메시지를 보낼 때 목적지 주소로 사용됩니다.

  • 형식: ff02::1:ffXX:XXXX (인터페이스 ID의 마지막 24비트 사용)
  • 각 장비마다 고유하며, NIC에서 MAC 주소와 매핑
  • 목적지 MAC 확인만으로 IPv6 상위 계층 전달 여부 결정
  • 트래픽 감소 및 성능 최적화에 기여

# NS 전송을 위한 MAC 주소 매핑 과정

내가 fe80::abcd:1234라는 IPv6 주소를 가진 장비의 MAC 주소를 모른다고 가정.

이 장비에게 NS 메시지를 보내기 위해:

  • IPv6 주소의 하위 24비트(cd:12:34)를 추출
  • Solicited-node 주소: ff02::1:ffcd:1234
  • Ethernet MAC 주소: 33:33:ff:cd:12:34

 

이 MAC 주소는 내가 NS를 보내기 위해 직접 계산해서 사용.

  • OS나 네트워크 스택(TCP/IP)이 내부에서 자동으로 해줌
  • arp처럼 미리 테이블에 있는 게 아니라, 필요한 순간에 계산함

# 그럼 이런 주소를 “모두 미리 저장해놓느냐?”

아니다. 네트워크 성능, 메모리 효율을 위해 "필요한 대상에 대해서만" 계산.

  • 내가 어떤 IPv6 주소에게 NS를 보내야 할 때만
  • 그때 그 주소를 기준으로 Solicited-node multicast 주소를 만들고
  • 거기서 MAC 주소를 파생시켜 33:33:ff... 형태로 바꿔서 전송

 

5. IPv6 주소 자동 할당 방식

(1) SLAAC (Stateless Address Autoconfiguration)

  • DHCP 서버 없이 라우터의 RA 메시지를 통해 주소 자동 생성
  • 'Stateless': DHCP처럼 상태 정보 저장하지 않음

동작 순서:

1. 중복 주소 탐지(DAD) 수행

2. RS 메시지에 대한 RA 수신

3. 호스트는 프리픽스를 기반으로 인터페이스 ID 생성 → 전체 주소 완성

4. 인터페이스 ID는 EUI-64 또는 무작위 방식(Random ID) 사용

RS(Router Solicitation) 메시지란?

  • ICMPv6 메시지 유형 중 하나로, 네트워크에 처음 연결된 호스트가 "이 네트워크에 라우터 있나요?"라고 묻는 역할을 합니다.
  • 라우터는 이에 응답하여 RA 메시지를 보내고, 호스트는 그 정보를 바탕으로 자신의 IPv6 주소를 자동 설정하거나 라우팅 정보를 구성합니다.

RS → RA 흐름

  1. 호스트가 네트워크에 연결됨
  2. 호스트가 RS 메시지를 멀티캐스트로 전송 (ff02::2 주소 사용)
  3. 라우터가 RA 메시지로 응답
  4. 호스트는 RA 메시지의 Prefix 정보 등을 바탕으로 SLAAC 방식으로 주소 생성

RA(Router Advertisement) 메시지란?

RA 메시지는 ICMPv6 프로토콜을 통해 전송되며, 다음과 같은 정보를 포함합니다:

  • Prefix 정보: 호스트가 자신의 IPv6 주소를 자동 생성할 때 사용할 네트워크 프리픽스
  • 라우터의 존재 여부: 기본 게이트웨이로 사용할 수 있는 라우터인지 여부
  • 주소 자동 설정 방식: SLAAC 사용 여부, DHCPv6 필요 여부 등
  • MTU 값: 네트워크의 최대 전송 단위

(2) EUI-64 방식(Extended Unique Identifier – 64-bit)

  • 48비트 MAC 주소 → 64비트 인터페이스 ID 변환

변환 예시:

  • MAC: 00:1A:2B:3C:4D:5E
  • 나누기: 001A2B, 3C4D5E
  • 중간 삽입: 001A2BFFFE3C4D5E
  • 비트 반전: 001A → 021A (U/L 비트)
  • 최종 인터페이스 ID: 021A:2BFF:FE3C:4D5E
  • 최종 주소: 2001:db8:abcd:0000:021A:2BFF:FE3C:4D5E

(3) 최신 보안 동향

  • MAC 기반 EUI-64는 하드웨어 노출 위험 존재
  • RFC 4941: Privacy Extension → 무작위 인터페이스 ID 생성
  • RFC 7217: Prefix 내에서 고정된 무작위 ID 생성
  • 최신 OS (Linux, Windows, macOS 등)는 무작위 방식 기본 적용

IPv6 네트워크에 새로운 장비가 추가될 때의 전체 흐름

시나리오 환경

  • 라우터: IPv6 라우터 존재 (프리픽스: 2001:db8:abcd::/64)
  • 네트워크: 동일한 LAN (로컬 링크)
  • 신규 장비: PC1이 네트워크에 연결됨

전체 과정 요약

① 물리적 링크 연결
② 링크로컬 주소(fe80::/10) 생성
③ DAD (중복 확인)
④ RA(Router Advertisement) 수신
⑤ SLAAC로 글로벌 IPv6 주소 자동 생성
⑥ Neighbor Discovery 준비 완료 → 통신 가능

1. 링크 연결

  • 장비가 물리적으로 이더넷이나 Wi-Fi로 LAN에 연결됨
  • NIC가 링크 업 상태로 전환됨
 

2. 링크로컬 주소 자동 생성

주소 범위: fe80::/10

방식:

  • EUI-64 (MAC 기반 주소 생성)
  • 또는 무작위 인터페이스 ID 생성 (Privacy 향상)

예: fe80::211:22ff:fe33:4455

 

3. DAD (Duplicate Address Detection)

자신이 만든 링크로컬 주소가 중복되는지 확인

Neighbor Solicitation(NS) 메시지 전송

  • 목적지: ff02::1:ff33:4455 (Solicited-node Multicast)
  • 아무도 응답하지 않으면 주소 사용 확정
 

4. RA(Router Advertisement) 수신

라우터는 ff02::1 (All-nodes Multicast)로 주기적 RA 전송

포함 정보:

  • 프리픽스 정보: 2001:db8:abcd::/64
  • 기본 게이트웨이 (링크로컬 주소)
  • SLAAC 허용 여부, DNS 정보 등
 

5. SLAAC로 글로벌 주소 생성

  • 받은 Prefix + 인터페이스 ID 조합
  • 예: 2001:db8:abcd::211:22ff:fe33:4455
  • 글로벌 주소도 DAD 수행
 

6. Neighbor Discovery 준비

  • 이후 통신 시 NS/NA를 통해 MAC 주소 알아냄
  • NS는 Solicited-node multicast 주소로 전송
  • MAC ↔ IP 매핑이 완성되면 통신 가능

NS (Neighbor Solicitation)

  • 목적: 특정 IPv6 주소를 가진 장비의 MAC 주소를 알아내기 위해 전송
  • 전송 대상: Solicited-node multicast 주소 (예: ff02::1:ffXX:XXXX)
  • 예시 상황: 내가 2001:db8::1에게 패킷을 보내고 싶을 때, 그 MAC 주소를 모르면 먼저 NS 메시지를 보냄

NA (Neighbor Advertisement)

  • 목적: NS 메시지에 대한 응답으로 자신의 MAC 주소를 알려줌
  • 전송 대상: NS를 보낸 장비의 IPv6 주소
  • 내용: “내 MAC 주소는 이거야!” 라고 알려주는 메시지
 

장비가 얻게 되는 정보들

주소 종류 용도 예시
링크로컬 주소 이웃 간 통신, 라우터 접근 fe80::211:22ff:fe33:4455
글로벌 IPv6 주소 외부 통신 2001:db8:abcd::211:22ff:fe33:4455
Solicited-node Multicast NS 전송용 ff02::1:ff33:4455
멀티캐스트 MAC 주소 NIC 수신 필터링용 33:33:ff:33:44:55

'네트워크 > 기초 학습' 카테고리의 다른 글

Day 9: 네트워크 프로토콜들  (3) 2025.08.08
Day 8: VLAN, Trunk, 802.1Q 태깅  (1) 2025.08.07
Day 6: ARP, MAC, Ethernet 프레임 구조  (2) 2025.08.02
Day 5: HTTPS & SSL  (2) 2025.08.01
Day 4: 서브넷팅 & IP 설계  (2) 2025.07.30