
ver (4bits)
IP Protocol의 version을 명시한다. (IPv4, IPv6)
head length (4bits)
Head가 가변 길이의 옵션을 포함하기 때문에 이 네 비트로 실제 페이로드가 시작되는 곳을 결정한다.
type of service (8bits)
서로 다른 유형(실시간 Datagram vs 비실시간 트래픽)의 IP Datagram을 구별한다.
length (16bits)
IP Datagram의 전체 길이를 의미한다.
16-bit id, flags (3bits), fragment offset (13bits)
Fragmentation과 reassembly에 이용하기 위해 존재한다.
(cf. IPv6는 fragment를 허용하지 않는다.)
time to live(TTL)
네트워크에서 Datagram이 무한히 순환하지 않도록 한다.
라우터를 지날때 마다 하나씩 감소하며, 값이 0이 되었을때도 목적지에 도착하지 못하면 폐기한다.
upper layer protocol
일반적으로 목적에서 도달했을때만 사용된다.
목적지의 전송 계층의 프로토콜을 명시한다.
header checksum
라우터가 수신한 IP Datagram의 비트 오류를 탐지한다.
32bits source/destination IP Address (IPv4)
출발지와 목적지의 IP 주소를 의미한다.
Network Link(Link Layer)들은 전송할 수 있는 최대의 fragment 크기(MTU, Maximum Transmission Unit)을 가지고 있으며, Link의 종류마다 다르다.
만약 IP Datagram의 크기가 MTU보다 크다면 잘라야 한다(Fragmentation).
잘린 Datagram들은 하나의 Datagram으로 합쳐져야 하는데(reassemble) 이 과정은 오직 목적지에서만 행해진다.
(∵ 라우터가 재결합하면 프로토콜이 복잡하게 만들고 라우터 성능이 떨어지게 된다.)

개요
IP 주소는 32bits로 구성된 host와 router의888 interface의 식별자이다.

Interface란?
Host/router와 physical link사이의 연결을 의미한다.
-> Router는 여러개의 interface를 가지고 있다.
Subnet

IP주소의 subnet part가 같은 device interface들의 집합을 의미한다.
Router를 통하지 않고 직접 통신을 할 수 있다.
IP 주소는 Subnet part와 Host part로 나뉜다.


DHCP
Host(end-system)이 IP 주소를 할당 받는 방법

NAT (네트워크 주소 변환)
NAT는 IP 패킷의 TCP/UDP 포트 숫자와 출발지 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다.
NAT를 이용하면 IP가 필요한 기기마다 공용 IP를 할당할 필요가 없어 IP 주소를 절약할 수 있다.
공용 IP
공인이 된 IP를 뜻(전세계에서 유일)하며. 전세계적으로 ICANN이라는 기관이 국가별로 사용할 IP 대역을 관리하고 우리 나라는 인터넷 진흥원(KISA)에서 우리나라 내에서 사용할 주소를 관리한다.
사설 IP
네트워크 안에서 사용되는 주소.( 내부적으로 사용되는 고유한 주소 )로 사설 IP는 하나의 네트워크 안에서 유일하며, 사설 IP는 이름에서 보듯이 인터넷상에서 확인할 수 없고, 내부 네트워크에서만 사용 가능한 IP를 말한다.
| IP class 구분 | IP 범위 |
|---|---|
| A | 10.0.0.0/8 |
| B | 172.16.0.0/12 |
| C | 192.168.0.0/16 |

서버의 10.0.0.1은 사설 IP 주소이기 때문에 외부 클라이언트가 알지 못한다. (외부 클라이언트는 138.76.29.7인 공용 IP 주소만 알고 있다) 따라서 외부 클라이언트가 서버에 접속할 수 없다.ICMP(인터넷 제어 메시지 프로토콜)는 호스토와 라우터가 서로 간의 네트워크 계층 정보(ex. 오류보고)를 주고 받기 위해 사용된다.

