이 글은 보초님 깃허브 레포를 참고해서 공부한 글입니다
IP(Internet Protocol address) 는 컴퓨터 네트워크에서 장치들이 서로를 인식하고 통신을 하기 위해서 사용하는 고유한 주소이다.
IP 주소는 크게 IPv4, IPv6 로 2가지 버전으로 나뉜다.
32 비트 주소 체계를 사용하며, 2^32 개의 주소를 표현할 수 있다.
8비트 단위로 점을 찍어 4개로 구분해서 표현하며, 8비트를 10 진수로 표현해서 말한다.
인터넷의 급속한 성장으로 이 주소들만으로 부족하기 때문에 NAT, 서브네팅 여러개의 부수적인 기술이 생겨났다.
IPv4 의 수소 고갈 문제를 해결하기 위해 등장하였다.
128 비트 주소 체계를 사용하며, 2^128 개의 주소를 표현할 수 있다.
16비트 8개로 구분하고 16비트는 16진수로 변환되어 콜론(:) 으로 구분하여 표시한다.
IPv4 | IPv6 | |
---|---|---|
무엇인가 | 인터넷 프로토콜 버전 4 | 인터넷 프로토콜 버전 6 |
주소 크기 | 32비트, 2^32개의 IP 주소 | 128비트, 2^128개의 IP 주소 |
명명 표준 | 숫자형 IP 주소, 마침표로 구분된 세 자리 숫자의 4개 묶음 ex) 197.0.0.1 | 영숫자 주소, 콜론으로 구분된 4자리 16진수의 8개 묶음 ex) 2600:1400:d:5a3::3bd4 |
주소 변환 필요 여부 | Network Address Translation(NAT) 을 통해 변환 | 필요 없음 |
패킷 주소 지정 | 유니캐스트, 브로드캐스트, 멀티 캐스트 | 유니캐스트, 멀티캐스트, 애니캐스트 |
주소 구성 | 수동 및 DHCP 구성 | Stateless Address Autoconfiguration(SLAAC)을 사용한 디바이스의 자동 구성, DHCPv6 는 상태 저장 연결에서도 지원됨 |
헤더 크기 | 20바이트 ~ 60바이트 | 고정, 40바이트 |
헤더 체크섬 | O | X |
공인 IP(public IP) 와 사설 IP(private IP) 로 나누고 중간 NAT 라는 기술을 통해 해결한다.
NAT 는 사설 네트워크에서 사용되는 사설 IP 주소를 인터넷에 연결된 단일 공용 IP 주소로 변환합니다. 이를 통해 여러 기기가 하나의 공용 IP 주소를 공유하여 인터넷에 접속할 수 있게 하여, 공용 IP 주소의 사용을 최소화합니다.
IPv4 와 IPv6 는 서로 호환되지 않는 프로토콜이다. 기본적으로는 직접 통신할 수 없다.
그러나 두 프로토콜 간의 통신을 가능하게 하는 여러 가지 전환 기술이 있다.
IP 자체는 송신자로부터 수신자까지 데이터가 정확하게 전송되는 것을 완전히 보장하지 않는다.
IP는 인터넷 계층의 핵심 프로토콜로, 데이터를 패킷으로 분할하고 이를 수신자에게 전달하는 역할을 한다. 그러나 IP는 비연결형 프로토콜이며, 패킷의 순서 보장, 무결성 검증, 재전송 등을 직접 처리하지 않는다.
IPv4 에서는 TTL(Time to live), IPv6 에서는 홉 제한(Hop limit) 라고 한다.
데이터 패킷이 네트워크 상에서 살아남을 수 있는 시간 또는 거쳐갈 수 있는 최대 홉 수를 나타낸다.
MAC(Media Access Control Address) 는 네트워크 인터페이스 카드(NIC) 에 고유하게 할당된 물리적 주소이다.
MAC 주소는 48비트 또는 64비트 길이며 16진수로 표현된다. 일반적으로 공장에서 제조 시점에 네트워크 장비에 할당되며, 기기의 생산자를 식별하는 부분과 고유 식별 번호로 구성된다.
IP 주소는 소프트웨어적으로 할당된 논리적 주소, 변경 가능
MAC 주소는 하드웨어 고유하게 할당된 물리적 주소, 일반적으로 변경 X