Network layer : Internet

- ver : IP의 버전
- head len : header의 길이. options까지가 IP header임
- src IP address : 송신자의 IP 주소
- dest IP address : 수신자의 IP 주소
IP addressing : Introduction

- IP address : 32bit, 8Byte로 이루어져 있음 ← IPv4 기준
- Ex) 223.1.1.1 = 11011111 00000001 00000001 00000001
Subnet
- 위 그림의 파란색 영역, 223.1.1. , 223.1.2. , 223.1.3. 이 각각의 subnet임
- subnet part : MSB부터 일정 비트수까지의 영역은 subnet , 223.1.1.1 / 24 → subnet을 표현하는데 사용한 비트수
- host part : subnet part를 제외한 영역은 host를 구별하기 위한 주소칸임
IP addressing : CIDR (Classless Inter Domain Routing)

- IP 주소는 a.b.c.d / x의 형태로 지정함.
- x는 subnet part를 결정하는 비트수
DHCP : Dynamic Host Configuration Protocol
- IP address를 어떻게 효과적으로 부여하는지에 대한 Protocol
- Goal : Network에 들어갈 때마다 동적으로 IP 주소를 부여받음
- DHCP overview :
- broadcasts : host가 IP 주소를 요청함
- respond : DHCP server가 ACK를 보냄
- 주소를 동적으로 할당한다면 장점 : IP address를 효과적으로 사용할 수 있음 → IP 주소의 개수는 정해져 있기 때문에 하나의 주소를 부여하고, 네트워크를 벗어날 때 IP 주소를 회수함
DHCP : example

- DHCP server는 부여하기 위한 IP address들을 가지고 있음
- host는 DHCP server에 request
- Router는 DHCP server가 있는 port로 request를 보냄
NAT : Network Address Translation

- local net에서 사용하는 주소와 local net을 벗어날 때(Router를 지나갈 때) 다른 IP 주소를 받음
- 장점 : Router 뒷편은 신경을 쓰지 않아도 됨. 관리하기 용이함
IPv6 : motivation
- IPv4의 주소는 32비트이기 때문에 고갈되고 있음
- 그래서 주소의 영역을 128비트로 확장하여 더 많은 주소를 할당할 수 있음
- 추가로 꼭 필요한 것들을 제외한 나머지 format을 삭제함으로서 훨씬 깔끔해짐

Tunneling

- 아직 전세계 모든 라우터들이 IPv6로 업그레이드 되지 않았음. IPv4와 IPv6의 공존을 위해 고안이 됨
- IPv4 Datagram내 IPv6 Datagram의 정보를 집어넣어서 처리할 수 있게 만드는 작업