IPv4 대 IPv6, 알기 쉽게
IPv4 대 IPv6: 두 개의 주소 체계, 하나의 인터넷
인터넷을 가로지르는 모든 패킷은 두 가지 형식 중 하나로 기록된 출발지 주소와 목적지 주소를 담고 있습니다. 1981년에 표준화된 IPv4는 32비트 주소를 사용합니다. 그 후속인 IPv6는 128비트를 사용합니다. IPv4 대 IPv6라는 물음은 사실상 경쟁 관계가 아닙니다. 두 프로토콜은 대부분의 현대 네트워크에서 나란히 작동하기 때문입니다. 다만 로그를 읽거나, 조회를 실행하거나, 하나의 주소가 무엇을 알려줄 수 있고 무엇을 알려줄 수 없는지 이해하려는 사람에게는 그 차이가 중요합니다.
표기법: 점으로 구분된 십진수와 16진수 그룹
IPv4 주소는 0부터 255 사이의 십진수 네 개를 점으로 구분한 것으로, 8.8.8.8과 같은 익숙한 점으로 구분된 십진수 표기(dotted quad) 형태입니다(이 주소는 예시 추적에서 살펴볼 수 있습니다). 4바이트로, 약 43억 개의 값이 가능합니다.
IPv6는 128비트를 16진수 네 자리씩 여덟 개의 그룹으로 나누고 콜론으로 구분하여 표기합니다: 2001:0db8:0000:0000:0000:0000:0000:0001. 이렇게 긴 주소는 다루기 번거롭기 때문에, 이 표기법은 두 가지 축약을 허용합니다. 각 그룹의 선행 0은 생략할 수 있으며, 연속된 0으로만 이루어진 그룹의 구간을 단 하나에 한하여 이중 콜론으로 압축할 수 있습니다. 위 주소는 2001:db8::1로 압축됩니다. 이 압축에 대한 표준 규칙은 RFC 5952에 규정되어 있으며, 이를 따르는 것이 중요합니다. 그렇지 않으면 같은 주소가 수십 가지 방식으로 표기될 수 있어 로그 검색과 차단 목록에 큰 혼란을 일으키기 때문입니다.
고갈 이야기
IPv4의 43억 개 주소는 1981년에는 무한한 것처럼 보였습니다. 그러나 그렇지 않았습니다. IANA는 2011년에 지역 인터넷 등록기관에 마지막 남은 무료 블록을 배분했고, 2019년에 자체 주소 풀 고갈을 선언한 RIPE NCC를 포함한 등록기관들은 이제 반환되거나 회수된 공간에서만 IPv4를 할당합니다. 중고 주소 블록을 거래하는 시장이 존재하며, 주소당 가격은 이 프로토콜의 설계자들을 당혹스럽게 했을 수준입니다.
IPv6는 이런 일이 다시는 일어나지 않도록 설계되었습니다. 그 주소 공간은 2^128개의 값, 즉 약 340언데실리언이라는 39자리 숫자를 담고 있습니다. 이 설계는 의도적으로 낭비적입니다. 일반적인 가정용 회선은 IPv4 인터넷 전체를 제곱한 것보다 많은 주소를 담고 있는 /64 접두사를 할당받습니다. 그 취지는 주소 부족이 다시는 네트워크 구축 방식을 좌우해서는 안 된다는 것입니다.
NAT와 CGNAT: 생명 유지 장치에 의존하는 IPv4
고갈에도 불구하고 IPv4가 여전히 작동하는 이유는 네트워크 주소 변환(Network Address Translation) 덕분입니다. 여러분의 가정용 라우터는 하나의 공인 IPv4 주소를 보유하고 그 뒤에 있는 모든 기기를 위해 변환을 수행하는데, 이 때문에 노트북의 192.168.x.x 주소는 결코 공용 인터넷에 나타나지 않고 오직 라우터의 주소만 나타납니다. 이것이 바로 내 IP 확인이 보고하는 값입니다.
이제 많은 통신 사업자는 두 번째 계층을 추가합니다. 바로 통신사급 NAT(Carrier-Grade NAT)로, 수백 또는 수천 명의 가입자가 단일 공인 IPv4 주소를 공유합니다. CGNAT은 주소가 계속 유통되도록 유지하지만, 식별자로서 IPv4 주소가 갖는 의미를 훼손합니다. 하나의 CGNAT 주소에서 나오는 트래픽은 서로 무관한 수천 가구를 대표할 수 있으며, 그중 어느 개인도 주소만으로는 특정될 수 없습니다. 이는 IP 위치 정보가 개인을 식별할 수 없는 여러 이유 중 하나이며, 이 점은 누군가 내 IP로 내 주소를 찾을 수 있을까?에서 깊이 있게 다룹니다.
듀얼 스택의 현실
전환 계획은 결코 특정한 전환의 날을 정한 적이 없었습니다. 그것은 공존이었습니다. 대부분의 현대 기기는 듀얼 스택(dual-stack)으로 작동하여 IPv4와 IPv6 주소를 동시에 가지며, 목적지가 IPv6를 제공하면 IPv6를 우선합니다. 전 세계 IPv6 도입률은 이제 주요 서비스로 향하는 트래픽의 3분의 1을 훌쩍 넘지만, 그 분포는 고르지 않습니다. 모바일 통신사와 대형 소비자 ISP에서는 강하고, 오래된 기업 네트워크에서는 약합니다. 실질적으로 이는 동일한 연결이 특정 세션이 어떤 프로토콜을 협상했는지에 따라 여러분의 로그에 완전히 다른 두 개의 주소로 나타날 수 있음을 의미합니다.
위치 정보와 추적에서 달라지는 점
네트워크 포렌식 관점에서 두 프로토콜은 서로 다르게 성숙해 왔습니다. IPv4 공간은 40년 동안 할당되고, 거래되고, 관찰되어 왔기에 DB-IP와 같은 위치 정보 데이터베이스는 대부분의 블록에 대해 깊고 잘 뒷받침된 증거를 갖추고 있습니다. IPv6 블록은 더 새롭고 훨씬 성기어서(ISP에 대한 단 하나의 /32 할당이 IPv4 인터넷 전체를 압도합니다) 위치 증거가 더 빈약하고 신뢰도 등급이 더 낮으며, 특히 국가 단위 아래에서 그렇습니다. 어느 프로토콜에서든 추적은 대략적인 지역을 산출할 뿐 결코 정확한 지점을 짚어내지 못합니다. 솔직한 수치는 IP 위치 정보가 얼마나 정확한지를 참고하십시오.
IPv6는 클라이언트 동작도 바꿉니다. RFC 8981에 정의된 프라이버시 확장은 주소의 인터페이스 식별자 절반을 주기적으로 교체하므로, /64 접두사는 그대로 유지되더라도 기기의 전체 128비트 주소는 매일 혹은 연결마다 바뀝니다. 추적에 있어 접두사는 안정적인 신호이고, 하위 비트는 설계상 잡음입니다. 라우팅 맥락은 어느 프로토콜에서든 변하지 않습니다. 주소를 알리는 자율 시스템은 여전히 어떤 사업자가 트래픽을 전달하는지 알려주며, ASN 조회는 두 프로토콜 모두에서 동일하게 작동합니다.
| 속성 | IPv4 | IPv6 |
|---|---|---|
| 주소 길이 | 32비트 | 128비트 |
| 표기법 | 점으로 구분된 십진수: 203.0.113.7 | :: 압축을 적용한 16진수 그룹: 2001:db8::7 |
| 주소 공간 | 약 43억 개 | 약 340언데실리언 개(2^128) |
| 가용성 | 고갈됨; 2차 시장에서 거래됨 | 사실상 무제한 |
| 주소 공유 | NAT와 CGNAT이 일반적 | 전역적으로 고유한 주소; NAT 불필요 |
| 위치 정보 증거 | 수십 년간의 데이터; 국가 하위 단위 신뢰도가 더 높음 | 더 새롭고 성긴 블록; 국가 하위 단위 신뢰도가 더 낮음 |
| 주소 안정성 | 사이트당 하나의 주소, 대체로 오래 유지됨 | 안정적인 /64 접두사; 프라이버시를 위해 인터페이스 비트가 교체됨 |
버전 번호가 바꾸지 못하는 한 가지가 있습니다. 어느 프로토콜의 주소든 사람이 아니라 네트워크 인프라의 위치를 알려준다는 점입니다. 추적은 확률적인 지역과 사업자를 각각 신뢰도 등급과 함께 산출할 뿐, 개인을 식별하는 것은 아무것도 산출하지 않습니다. 각 프로토콜이 여러분 자신의 연결에 대해 실제로 무엇을 드러내는지 확인하려면, 추적을 실행하고 그 결과 자료를 비교해 보십시오.