IP(Internet Protocol)는 인터넷에서 패킷의 주소 지정과 라우팅을 담당하는 핵심 프로토콜입니다.
네트워크 상의 모든 장치는 고유한 IP 주소를 가집니다. IP는 이 주소를 이용해 패킷이 출발지에서 목적지까지 여러 라우터를 거쳐 전달될 수 있게 합니다.
32비트를 8비트씩 4개로 나누어 십진수로 표기합니다.
192.168.1.100
인터넷 폭발적 성장으로 43억 개 주소가 부족해졌습니다. NAT(Network Address Translation)로 임시 해결하였으나 근본 해결책으로 IPv6가 등장하였습니다.
128비트를 16비트씩 8개 그룹으로 나누어 16진수로 표기합니다.
2001:0db8:85a3:0000:0000:8a2e:0370:7334
약 340간(10의 38승) 개 주소를 제공하여 주소 고갈 문제를 해결합니다.
IP는 패킷을 전송하기 전에 연결을 수립하지 않습니다. 각 패킷은 독립적으로 최적 경로를 통해 전달됩니다.
패킷 손실, 순서 뒤바뀜, 중복 전달이 발생할 수 있습니다. 신뢰성은 상위 계층인 TCP가 보완합니다.
| 주소 | 용도 |
|---|---|
| 127.0.0.1 | 루프백(자기 자신) |
| 192.168.x.x | 사설 네트워크 |
| 10.x.x.x | 사설 네트워크 |
| 172.16.x.x ~ 172.31.x.x | 사설 네트워크 |
| 255.255.255.255 | 브로드캐스트 |
IP 헤더에는 출발지 주소, 목적지 주소, TTL(Time To Live), 프로토콜 번호 등이 포함됩니다. TTL은 패킷이 라우터를 거칠 때마다 1씩 감소하며, 0이 되면 패킷이 폐기됩니다. 이를 통해 무한 순환 패킷을 방지합니다.