네트워크에서 장치들이 서로 통신할 수 있도록 서로를 식별하는 주소 체계.
종류로는 IPv4와 IPv6가 있다.

주소 지정
패킷 스위칭
데이터를 고정된 크기의 작은 단위(패킷)로 나누어 전송하는 방식. src에서 쪼개고, dest에서 재조립한다.
라우팅
패킷이 최적의 경로를 따라 목적지로 도달하도록 경로를 결정
32bit, 4개의 8비트(octet)로 나누며, 각 옥텟은 10진수로 표현된다.
범위에 따라 A,B,C,D(Multicast용),E(연구용)으로 나뉜다.
공인 IP(Public IP)
인터넷에서 직접 사용되는 IP주소, 이는 전 세계에서 유일하다.
사설 IP(Private IP)
내부 네트워크에서 사용한다.
서브넷 마스크(Subnet Mask)
Network부분과 host 부분을 구분하는데 사용된다.
NAT(Network Address Translation)
하나의 public ip를 다양한 호스트가 공유할 수 있도록 한다. 또한 이를 통해 내,외부 네트워크를 구분하여 보안을 강화할 수 있다.
서브넷팅(Subnetting)
IP 주소를 작은 네트워크로 나누어 IP 낭비를 방지하고 네트워크 관리를 효율화 하는 기술
주소 부족
보안 문제
Ipv4는 자체적인 보안 기능이 부족하다. IPSec과 같은 보안 프로토콜이 있지만 이는 옵션이다. IPSec을 모든 장치가 지원하진 않으며, 설정이 어렵고 성능저하를 야기한다.
비효율적인 라우팅
private IP를 이용한 NAT 같은 기술을 사용하여 변환과정에 더 많은 리소스를 필요로 한다.
IPv4에 비해 헤더가 단순화되고 주소 영역이 대폭 확장된 계층적 프로토콜 (+ 보안 기능이 기본 내장 되어 있다.)
헤더 사이즈 및 구성 : IPv6 헤더는 기본 헤더(40bytes)와 확장 헤더가 있다.
필드 별 설명

Version (4bits)
Traffic class 또는 priority (8bits)
IPv4의 tos와 유사, 패킷 마다 다른 요구사항 구분을 위함
Flow Label (20bits)
IP를 연결지향적 프로토콜로 사용할 수 있게 함
Payload length (16bits)
Next header (8bits)
기본 헤더 다음에 위치할 확장 헤더의 종류 표시
Hop limit (8bits)
IPv4의 TTL과 같은 역할
Source address (128bits)
Destination address (128bits)
IPv6 주소는 128bits, 16비트씩 8부분으로 나누고 16진수로 표기한다.
각 부분은 콜론(:)으로 구분한다.
특정 장치 하나와 1:1 통신하는데 사용됨

| 8비트(프리픽스) | 40비트(랜덤 값) | 16비트(서브넷 ID) | 64비트(인터페이스 ID) |
여러 장치로 동시에 데이터 전송하는 방식
| 8비트(프리픽스) | 4비트(플래그) | 4비트(스코프) | 112비트(그룹 ID) |
ex) ff00::db7:4322:a231:67c
ff02::1 → 링크(local)에 연결된 모든 장치 (IPv4의 브로드캐스트에 해당)
ff02::2 → 링크에 연결된 모든 라우터
ff05::1 → 사이트(site) 내 모든 장치
사용예시 : 스트리밍 서비스, 라우터 프로토콜
여러 장치에 같은 ip 주소를 할당하고, 가장 가까운 장치로 데이터를 전송하는 방식
사용예시 : DNS서버, CDN

Dual Stack (귀찮음. 엥간해선 잘 안 쓸 예정)
V4,v6가 동시에 운영 / 모든 ip 할당 위치에 ipv4와 ipv6를 둘 다 설정해주는 것
Tunneling
물리적인 회선이 아닌, 가상의 연결 회선을 통해서 연결
**논리적인 topology가 물리적인 topology와 다름***
Translation (NAT64기술)
Ipv4에선 ipv6에 헤더를 추가해서 보내고, ipv6구간에선 다시 원래대로 통신.
하지만, segment 즉 많은 데이터들에 헤더를 넣었다가 뺐다가 하면 장비에 부화가 많이 걸림.
라우터로부터 네트워크 prefix를 받아 장치가 EUI-64 (Extended Unique Indentifier-64) 방식을 기반으로 mac주소를 통해 스스로 ip주소를 구성하는 방식
+) 해당 방식으로 만들어진 ip주소의 interface id는 중간 부분에 fffe가 삽입되어 있다.
DHCPv6 서버가 클라이언트에게 동적으로 ip주소를 할당하는 방식. SLAAC과 함께 사용되거나 보완적으로 사용된다.
2-1. statelss DHCPv6
SLAAC을 통해서 GUA생성
DNS 주소와 도메인 이름을 DHCP에서 수령
2-2. stateful DHCPv6
GUA, DNS 서버 주소, 도메인 이름 및 기타 필요한 정보를 DHCP에서 수령

