[Network] Network Layer (2) - IP

박주현·2024년 10월 11일

Network

목록 보기
14/16

Network Layer

IP

Kind

IPV4

32bit를 활용하여 network interface를 정의한다.
prefix의 24bit를 이용하여 Network를 정의하고 host의 8bit를 이용하여 host를 구분한다.

IPV6

16진수를 활용하여 128bit의 network 주소를 만든다.
각 자리를 ::를 이용하여 구분한다.

IP Addressing

Original Addressing

8bit의 Network part를 운용한다. 따라서 256개의 Network를 관리할 수 있다. 1개의 Network는 약 1600만 개의 host를 운용 가능하다.

Classful Addressing

Network Part를 3가지로 나누어서 class를 구분한다. Network가 사용하는 Host의 수에 따라 class를 나누어서 운용한다. class가 낮아질수록 최대 host의 수는 감소하고 Network의 수는 증가한다.

CIDR

Original Addressing에 subnet mask를 더한 형태로 운용한다. subnet mask를 이용해 network part와 host part를 구분한다. subnet mask의 숫자가 network part의 bit 수를 의미한다. 따라서 subnet mask가 클수록 가용 host의 개수가 줄어든다.

Subnets

Subnet은 같은 Network Part를 가지는 Device Network를 뜻한다. Router를 거치지 않고 서로 물리적인 접근이 가능하다.

IP Fragmentation & Reassembly

Network Link는 MTU(최대 전송 크기)를 가진다. 따라서 MTU보다 큰 Packet은 나누어서 보낼 필요가 있다. 나뉘어진 Packet들은 최종 도착지에서 다시 합쳐진다. 이를 위해 length, ID, fragflag, offset을 이용하여 Packet을 인지한다. Length를 이용하여 전체 Packet의 길이를 정의한다. fragflag와 offset을 이용하여 기다려야하는 Packet이 있는 지 확인한다.

NAT (Network Address Translation)

IP 주소는 공용 IP와 사설 IP로 나뉘어진다. 공용 IP를 통해 Router를 찾고 Router에서 해당 IP를 사설 IP로 바꾸어 Host에 Packet을 전달하게 된다. 이를 위해서는 NAT라 불리는 과정이 필요로 한다.

NAT Router

NAT Router가 IP 주소를 변환하기 위해서는 공용 IP와 사설 IP를 구분할 필요가 있다. NAT Translation Table에 공용 IP 주소와 Port 번호, 사설 IP를 짝으로 저장한다. 해당 Table을 바탕으로 Packet이 왔을 때, IP 주소를 변환한다.

DHCP

Purpose

host가 network에 참여할 때, 동적으로 IP 주소를 network server로부터 얻는 것

Process

DHCP Discover

client가 broadcast 방식으로 패킷을 전송
이 때, source IP는 0.0.0.0으로 고정된다.

DHCP Offer

server에서 client에게 IP 주소를 제안
broadcast 방식으로 패킷을 전송하기 때문에, transaction ID를 이용하여 구분한다.

DHCP Request

제안 받은 IP 주소를 사용하겠다고 Server에게 알림

DHCP Ack

Server에서 IP 주소 사용을 허가함
이 시점부터 Client의 IP 주소가 할당됨.

profile
코딩초보의 공부일기

0개의 댓글