티스토리 뷰
반응형
IPv4와 IPv6 총정리
– 단순한 버전 업이 아닌, 네트워크 철학의 변화
🔷 1. 정의 – IPv4와 IPv6는 무엇인가?
IP(Internet Protocol) 주소는 인터넷에 연결된 모든 기기에 부여되는 식별 번호입니다.
이 주소를 통해 컴퓨터, 스마트폰, 서버 등 다양한 장치들이 서로를 인식하고 통신할 수 있습니다.
- IPv4 (Internet Protocol version 4)
1981년에 도입된 인터넷 주소 체계이며, 32비트 주소를 사용합니다.
예:192.168.0.1
- IPv6 (Internet Protocol version 6)
1998년에 개발된 차세대 주소 체계로, 128비트 주소를 사용합니다.
예:2001:0db8:85a3::8a2e:0370:7334
두 프로토콜 모두 'IP 주소'를 제공한다는 점에서는 같지만,
구조, 성능, 확장성, 설계 철학은 완전히 다릅니다.
🔷 2. 왜 IPv6가 등장했는가?
IPv4가 지원할 수 있는 주소 개수는 약 43억 개입니다.
초기에는 충분했지만, 인터넷 사용자와 기기가 폭발적으로 증가한 지금은 턱없이 부족합니다.
- 한 사람이 스마트폰, 노트북, 태블릿 등 여러 기기를 사용
- IoT 기기, 자율주행차, 스마트 가전 등 주소 수요 폭증
- 클라우드 환경에서 매초 생성되는 가상 인스턴스들
이러한 상황에서 IPv4는 다음과 같은 임시 전략들로 버텨왔습니다:
- NAT(Network Address Translation): 공인 IP 하나로 여러 사설 IP를 공유
- 사설 IP 주소 대역: 공용 주소 공간 보호
- 서브넷 세분화 및 클래스리스 라우팅(CIDR)
그러나 이 방식들은 다음과 같은 문제를 야기했습니다:
- End-to-End 통신 불가
- 포트 충돌, NAT 설정 복잡성
- 보안 구성 부담 증가
IPv6는 이러한 한계를 완전히 제거한 새로운 주소 설계 철학의 결과물입니다.
🔷 3. IPv4 vs IPv6 – 작동 방식과 구조 비교
✅ 주소 형식과 표현
항목 | IPv4 | IPv6 |
---|---|---|
주소 길이 | 32비트 | 128비트 |
표현 방식 | 10진수 4블록 | 16진수 8블록 (:: 압축 가능) |
예시 주소 | 192.168.1.1 |
2001:0db8:85a3::8a2e:0370:7334 |
주소 수 | 약 43억 개 |
IPv6는 주소가 너무 길기 때문에 불필요한 0을 생략하거나 ::
로 압축할 수 있는 규칙을 갖습니다.
예: 2001:0db8:0000:0000:0000:0000:0000:0001
→ 2001:db8::1
✅ 프로토콜 내부 구조 비교
항목 | IPv4 | IPv6 |
---|---|---|
헤더 크기 | 가변 (20~60 바이트) | 고정 40 바이트 (40 octet) |
NAT 필요 여부 | 필수 (주소 부족 때문에) | 불필요 (주소가 넘쳐남) |
보안 기능 | 선택적 (IPSec 별도 설정) | 기본 내장 (IPSec 통합) |
브로드캐스트 | 지원함 | 지원 안 함 (멀티캐스트만 제공) |
주소 자동 설정 | DHCP 필요 | SLAAC, DHCPv6 모두 가능 |
📌 중요한 점:
IPv6의 기본 헤더는 언제나 40바이트 고정입니다.
"32 octet"이라는 설명은 명백한 오류입니다.
또한 IPv4는 자동 주소 설정이 자체 기능이 아니며, 반드시 DHCP라는 별도 프로토콜을 통해 구현됩니다.
반면, IPv6는 라우터 광고(RA)를 통해 자체적으로 주소를 설정(SLAAC)할 수 있도록 설계되었습니다.
🔷 4. IPv4 vs IPv6 핵심 비교 표
항목 | IPv4 | IPv6 |
---|---|---|
주소 길이 | 32비트 | 128비트 |
총 주소 수 | 약 43억 개 | |
주소 표현 | 192.168.0.1 |
2001:db8::1 |
주소 자동 설정 | DHCP 사용 | SLAAC / DHCPv6 |
NAT 필요성 | 필수 | 불필요 |
보안 기능 | 선택 사항 | 기본 내장 |
헤더 구조 | 가변 길이, 옵션 많음 | 고정 길이, 구조 단순화 |
브로드캐스트 지원 | 있음 | 없음 (멀티캐스트로 대체) |
반응형
'자격증 > 정보처리기사' 카테고리의 다른 글
나선형 모델(Spiral Model)이란? (0) | 2025.05.03 |
---|---|
쉘(Shell)이란? – 리눅스에서 명령어 치는 그곳, 그 정체는? (0) | 2025.05.03 |
DROP vs DELETE 차이점 (0) | 2025.04.30 |
소프트웨어 품질을 어떻게 평가할까? – ISO/IEC 25000 (0) | 2025.04.30 |
인터페이스 데이터 포맷 완전 정리 (0) | 2025.04.30 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 조건형성
- C
- 물류관리사
- 일문따
- K-MOOC
- 류근관
- 일본어문법무작정따라하기
- 강화학습
- 데이터분석
- 학습심리학
- 통계
- 인지부조화
- Python
- c++
- 통계학
- 회계
- 정보처리기사
- 보세사
- 열혈프로그래밍
- 행동주의
- 행동심리학
- 티스토리챌린지
- 심리학
- 백준
- 윤성우
- 파이썬
- 오블완
- 일본어
- 코딩테스트
- 물류정책기본법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
글 보관함
반응형