[네트워크] IP (Internet Protocol)

1. IP (Internet Protocol) 이란

IP (Internet Protocl) 는 네트워크 계층의 데이터 전송 프로토콜이다.

IP는 Best Effort Service이다. 흐름제어를 하지 않고 데이터 전송에만 자신이 할 수 있는 최선을 다한다. 즉, 비연결형 및 비신뢰성 프로토콜이다.

IP 주소는 네트워크에 연결된 장비들을 식별할 수 있도록 부여된 주소이다.

image

IP는 현재 v4와 v6가 사용된다.

1) IPv4

image

IPv4 Header

IPv4의 기본 헤더 길이는 20Byte 이며, option에 따라 가변적이게 된다.

Version (4bits)

IP의 버전 정보이다.

Internet Header Length (4bits)

IP헤더의 길이를 32bit 단위로 나타낸다.

Type of Service (8bits)

요구되는 서비스의 품질을 나타낸다.

Total Length (16bits)

IP 패킷의 전체 길이를 Byte 단위로 나타낸다.

ID (16bits), Flags (3bits), Fragment Offset (13bits)

데이터를 분할하고 재조립하는데 사용된다. 라우터끼리 연결된 각 링크는 MTU (Maximum Transfer Unit) 이 있으며, 패킷이 이보다 크다면 분할하여 전송하여야 한다.

ID는 패킷의 고유 번호이며, 분할된 패킷들은 같은 ID를 갖는다.

Flag의 3가지 bit가 의미하는 바는 다음과 같다

  • reserved flag : 항상 0 이다.
  • don’t fragment flag : 0 이면 조각화가 가능한 패킷이며, 1이면 조각화할 수 없는 패킷이다.
  • more fragments flag : 0 이면 조각난 패킷의 마지막이며, 1이면 뒤에 조각이 더 있다는걸 나타낸다.

Fragment Offset은 조각화된 패킷이 원래 패킷의 어느 위치에 있었는지를 나타낸다. 1bit당 8byte의 offset을 의미한다.

Time to Live (8bits)

패킷의 수명이다. 패킷이 라우터를 거칠 때마다 TTL값을 1 감소시키며, TTL이 0인 패킷을 받은 라우터는 해당 패킷을 폐기한다.

Protocol (8bits)

상위계층 (전송계층)에서 사용된 프로토콜을 의미한다.

1-ICMP, 2-IGMP, 6-TCP, 17-UDP

Header Checksum (16bits)

IP헤더의 오류를 체크하며, 매 라우터를 지날 때마다 재계산한다.

Src IP Addr, Dst IP Addr (32bits)

출발지와 목적지 IP 주소이다. “192.168.0.10” 과 같이 8bits 씩 네개의 필드로 나누어 10진수로 표기하고 마침표(.)으로 구분한다.

2) IPv6

등장 배경

IPv4는 32bit로 약 43억개의 IP할당이 가능하지만 거의 다 소진되고 있으며, 이러한 한계를 극복하기 위해 IPv6가 나왔다.

IPv6의 가장 큰 특징은 128bit 주소를 사용하여 할당 가능한 주소의 개수를 기하급수적으로 증가시켰다.

image

IPv6 Header

IPv6의 헤더는 IPv4보다 단순해졌다. IHL, ID, Flags, Frag offset, Checksum, Option 필드가 사라진 것을 확인할 수 있다. 사라진 필드들과 IPv6의 장점들은 다음과 같다.

IHL, Option

IPv6의 헤더는 Option 없이 40bytes로 고정이며, 따라서 가변적 헤더의 길이를 나타내는 IHL필드 또한 삭제되었다.

ID, Flags, Fragment Offset

IPv6를 사용하면 전송계층에서 MTU에 맞게 데이터를 분할하여 보내준다. 따라서 라우터는 이를 다시 분할하고 재조립할 이유가 없으므로 위 필드들이 삭제되었다.

Header Checksum

오류제어는 2계층과 4계층에서 이루어지므로, 굳이 3계층에서도 할 필요가 없기 때문에 삭제되었다.

패킷을 분할 및 재조립할 필요가 없으며, 체크섬을 재계산할 필요가 없어졌기 때문에 통신시 라우터를 더 빠르게 통과할 수 있다.

IPv6는 자체 보안 프로콜이 있어 보안성이 좋으며, QoS를 보장하고, 무선인터넷 지원과 같은 다양한 기능을 제공한다. 또한 별도의 DHCP 없이도 네트워크에 연결되면 IP 주소 자동 생성이 가능하다.

128bits 주소는 “ABCD:EF12:3456:7890:ABCD:EF12:3456:7890” 과 같이 16bits 씩 8개의 필드로 나누어 16진수로 표기하고 콜론(:) 으로 구분한다. 콜론으로 구분되는 필드가 0으로 시작할 경우에는 0을 생략할 수 있지만, 필드 전체가 0인 경우에는 0으로 명시한다. 8개의 필드 중에서 0000인 필드가 연속적으로 나타나는 경우에는 한번에 한하여 해당 필드들을 생략할 수 있다. 예를 들어 “11:0:0:0:55:0:0:88 “ 은 “11::55:0:0:88” 로 표기할 수 있다.

카테고리:

업데이트:

댓글남기기