IPv6란?

IP의 버전 6. 주소를 128비트로 넓히고, 2001:db8::1처럼 16비트씩 8개로 구분한 16진수로 쓴다. 헤더는 40바이트의 고정 길이로 단순해졌으며, 도중의 라우터는 패킷을 분할하지 않는다. IPv4와는 호환성이 없으므로, 둘을 동시에 동작시키는 듀얼 스택이나 변환 방식으로 이행을 진행한다.

일본어 명칭: IPv6

IPv6은(는) 네트워크 설계와 운용, 네트워크 기초 등 2개 분야의 연습 문제 9개에 나와요.

분야: 네트워크 기초

주소 표기법과 종류

128비트 주소를 16비트씩 8개로 나누고, 각각을 4자리 16진수로 만들어 콜론으로 잇습니다. 각 구분의 앞쪽 0은 생략할 수 있고, 0이 이어지는 구분은 '::'로 1곳만 묶을 수 있으므로 2001:0db8:0000:0000:0000:0000:0000:0001은 2001:db8::1이 됩니다. 일반적으로 상위 64비트가 네트워크를 나타내는 프리픽스, 하위 64비트가 인터페이스 ID이며, 1개의 LAN에는 /64를 할당합니다. 종류에는 인터넷에서 쓰는 글로벌 유니캐스트, 같은 링크 안에서만 쓰이고 각 인터페이스에 반드시 있는 링크 로컬(fe80::/10), 조직 안에서 쓰는 유니크 로컬(fc00::/7), 멀티캐스트(ff00::/8)가 있으며, 브로드캐스트는 없습니다.

IPv4에서 바뀐 주요 사항

헤더는 40바이트의 고정 길이가 되었고, 옵션은 '다음 헤더' 필드로 잇는 확장 헤더로 옮겨졌습니다. 헤더 체크섬은 없애고, 오류 검출은 링크 계층과 상위 계층에 맡깁니다. 패킷 분할은 출발지만 하며, 도중의 라우터는 너무 큰 패킷을 버리고 ICMPv6로 알리고, 출발지는 경로 MTU 탐색으로 크기를 맞춥니다. 링크의 MTU는 최소 1280바이트입니다. ARP 대신 ICMPv6의 이웃 탐색(NDP)으로 MAC 주소를 알아내고, 라우터 광고(RA)로부터 단말이 스스로 주소를 만드는 자동 설정(SLAAC)도 쓸 수 있습니다.

IPv4와의 공존

IPv6와 IPv4는 헤더 형식이 달라 그대로는 통신할 수 없습니다. 그래서 1대의 기기에서 둘을 동작시키는 듀얼 스택, IPv6 패킷을 IPv4 패킷에 넣어 운반하는(또는 그 반대의) 터널, NAT64와 DNS64처럼 IPv6 주소만 가진 단말이 IPv4 서버에 닿을 수 있게 변환하는 방식을 조합합니다. 주소가 충분하므로 주소를 절약하기 위한 NAT는 필요 없어지지만, 외부로부터의 통신을 막는 방화벽은 여전히 필요합니다. 단말이 쓰는 인터페이스 ID를 일시적인 무작위 값으로 하여 추적되기 어렵게 하는 방식(임시 주소)도 있습니다.

도전해 보기: IPv6 관련 문제

IPv6 주소 2001:0db8:0000:0000:0000:0000:0000:0001을 생략 규칙에 따라 올바르게 줄여 쓴 것은?

  1. A2001:db8:1
  2. B2001:db8::1
  3. C2001:db8::0::1
정답과 해설 보기

정답: B. 2001:db8::1

IPv6 주소는 128비트로, 16비트씩 8개 그룹으로 나누고 각 그룹을 4자리 16진수로 씁니다(IPv4는 32비트입니다). 생략 규칙은 두 가지로, 각 그룹의 앞쪽 0은 생략할 수 있다는 것(0db8→db8, 0001→1)과, 0만으로 된 그룹이 연속되는 부분을 한 곳만 '::'로 바꿀 수 있다는 것입니다. 이 예에서는 3번째부터 7번째까지 0인 그룹 5개를 묶어 2001:db8::1이 됩니다. '::'를 두 곳에 쓰면 각각이 몇 그룹 분량의 0인지 정해지지 않으므로 쓸 수 없습니다. '2001:db8:1'은 그룹이 3개뿐이고 0인 그룹을 생략했음을 나타내는 '::'가 없어 다른 주소로 읽히므로 올바르지 않습니다.

IPv6에서 같은 링크 안에서만 쓰이며, IPv6를 쓰는 인터페이스에는 반드시 자동으로 설정되는 링크 로컬 주소의 범위는?

  1. A2001:db8::/32
  2. Bff00::/8
  3. Cfe80::/10
정답과 해설 보기

정답: C. fe80::/10

링크 로컬 주소는 fe80::/10 범위이며, 라우터를 넘어 전달되지 않고 같은 링크 안의 통신에만 쓰입니다. 이웃 탐색(NDP)이나 라우터 광고를 주고받는 데 등에 쓰이며, 단말의 기본 게이트웨이도 보통 라우터의 링크 로컬 주소가 됩니다. 2001:db8::/32는 설명이나 자료의 예에 쓰기 위해 예약된 범위(문서용 주소)입니다. ff00::/8은 멀티캐스트 주소이며, IPv6에서는 브로드캐스트 대신 멀티캐스트가 쓰입니다.

자주 묻는 질문

IPv6 주소는 몇 개나 있나요?

2의 128제곱으로, 약 3.4×10^38개입니다. IPv4의 2의 32제곱(약 43억 개)과 비교해 자릿수가 다를 만큼 많으며, 1개의 LAN에 할당하는 /64 하나만으로도 2의 64제곱 개의 주소가 있습니다.

IPv4 단말과 IPv6 단말은 직접 통신할 수 있나요?

할 수 없습니다. 헤더 형식이 다르기 때문입니다. 두 주소를 모두 가진 듀얼 스택 기기끼리라면 IPv4나 IPv6 중 하나로 통신하고, IPv6 주소만 가진 단말이 IPv4 서버에 닿으려면 NAT64 같은 변환이 필요합니다.

IPv6 주소의 '::'는 무엇을 나타내나요?

0인 구분이 이어지는 부분을 생략했다는 표시입니다. 1개의 주소에서 1곳만 쓸 수 있습니다. 2곳에서 쓰면 각각 몇 개의 0을 생략했는지 알 수 없게 되기 때문입니다.

해설 속 IPv6

IPv6이(가) 나오는 문제 (9)

  1. IPv6 주소 2001:0db8:0000:0000:0000:0000:0000:0001을 생략 규칙에 따라 올바르게 줄여 쓴 것은?
  2. IPv6에서 같은 링크 안에서만 쓰이며, IPv6를 쓰는 인터페이스에는 반드시 자동으로 설정되는 링크 로컬 주소의 범위는?
  3. IPv6의 SLAAC(상태 비저장 주소 자동 설정)에서 단말이 글로벌 유니캐스트 주소를 만드는 방법으로 올바른 것은?
  4. IPv6로만 동작하는 두 거점을 IPv4로만 동작하는 네트워크를 통해 연결하고, 거점 사이를 IPv6 패킷 그대로 통신시키고 싶다. 사용할 방법으로 적절한 것은?
  5. ARP의 역할로 올바른 것은?
  6. IPv4 헤더의 TTL(Time To Live)의 역할로 올바른 것은?
  7. 어떤 도메인 앞으로 온 전자 메일을 받는 메일 서버를 지정하는 DNS 리소스 레코드는?
  8. 거점 간 VPN 터널을 통해 먼 곳의 웹 서버와 통신하고 있다. TCP 연결은 확립되고 작은 페이지는 표시되지만, 큰 파일의 다운로드만 도중에 멈춰 버린다. 터널 안의 MTU는 1400바이트이며, 서버는 1500바이트의 패킷을 분할 금지(DF 비트를 1)로 하여 보내고 있다. 또한 서버 앞단의 방화벽은 ICMP를 모두 버리는 설정으로 되어 있다. 원인으로 가장 적절한 것은?
  9. QoS 제어에서 쓰이는 IP 헤더의 DSCP에 대한 설명으로 올바른 것은?

이 용어가 포함된 비교

관련 용어

IPv4 라우터(Router) 패킷(Packet) DNS(도메인 네임 시스템) 기본 게이트웨이(Default Gateway) MAC 주소(MAC Address) IP(인터넷 프로토콜) ICMP SLAAC(상태 비저장 주소 자동 설정) ARP(주소 결정 프로토콜)

용어집으로 돌아가기