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 흐름
- 호스트가 네트워크에 연결됨
- 호스트가 RS 메시지를 멀티캐스트로 전송 (ff02::2 주소 사용)
- 라우터가 RA 메시지로 응답
- 호스트는 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 |