IP 프로토콜

연결지향 프로토콜 (Connection-oriented)

데이터를 전송하기 전에 반드시 연결 설정을 해야 함

비연결형 프로토콜 (Connectionless)

연결설정과정 없이 데이터 전송만이 존재. IP프로토콜은 비연결형 프로토콜

IP 프로토콜

비신뢰성 (unreliable), 비연결형 (connectionless) 데이터그램 프로토콜

  • best-effort (목적지까지 전송이 제대로 이루어 지도록 최선을 다하지만 보장은 하지 않음) 전달 서비스를 제공
  • 에러제어나 흐름제어가 없음
  • 에러 검출만 하고 만일 발견되면 폐기

신뢰성이 중요한 전송에서는 TCP를 함께 사용

IP 패킷 (데이터그램) 의 형태

헤더

  • VER (버전): IP프로토콜의 버전을 나타내는 것으로 IPv4와 IPv6로 나뉨
  • HLEN (헤더의 크기): 헤더의 크기를 나타내며 4바이트 단위로 나타냄. 헤더의 크기는 20~60바이트로 가변적.
  • Service: IP 패킷의 서비스 형태. 응용 서비스마다 주요하게 다루어야 할 특성을 명시. 이메일을 보내거나, 실시간으로 서비스하는 등 서비스마다 다양하게 사용되므로 지연시간, 신회성, 처리량 등 어떤 특성을 고여해야 할지 명시
  • Total length: IP 패킷 (데이터그램)을 바이트단위로 나타낸 전체 길이
  • Time to live (생존시간) : IP 데이터그램이 지나가는 최대 홉의 수. 각 라우터를 지나갈 때마다 1씩 감소. 0이 되면 라우터는 해당 데이터그램을 폐기.
  • Protocol : IP 계층 위에 존재하는 상위 프로토콜이 무엇인지 명시
  • Checksum: IP 패킷의 헤더에 대한 오류 검사를 위해 사용. 16비트 단위로 헤더를 쪼개서 1의 보수 연산을 수행. 결과 값을 보수로 만들어서 체크섬 필드에 저장
  • Source IP address & Destination IP address: 송수신 IP 주소

단편화

IP 패킷이 네트워크 계층에서 데이터 링크 계층으로 오면 서 프레임으로 변환될때, 데이터 링크층은 전달할 수 있는 메시지 길이가 정해져 있음.

  • ex) 이더넷의 경우 데이터의 크기가 최대 1500바이트.

이렇게 IP 패킷이 프레임으로 만들어 질때, 데이터링크 프로토콜에서 수용하는 최대 크기를 MTU (Maximum Transfer Unit) 이라고 함.

만약 IP패킷이 데이터링크 프로토콜보다 크면, IP패킷을 MTU사이즈로 나뉘어게 되는데 이를 단편화 라고 함.

플래그

3비트로 구성되어있으며 첫 비트는 사용하지 않음.

  • 두 번째 비트 D: 해당 패킷 단편화 금지를 의미. 1인경우 단편화 하지 말라는 의미.
  • 세 번째 비트 M: 패킷을 받았을 때, 다음 패킷 있음을 의미. 1이면 다음 패킷 있고, 마지막 패킷의 경우 값이 0.

단편화 위치 값 (Fragmentation offset)

단편화한 패킷을 전송할 때, Connectionless 방식의 경우, 패킷이 순서대로 오지 않을 수 있음. 이때 단편화 한 패킷 조각들을 하나로 합치기 위해 offset를 사용함. offset값은 첫 번째부터 시작하며 8바이트 단위로 표시.

옵션

옵션은 최대 40바이트까지 가능.

  • Record route: IP 패킷이 어떤 장치를 지나갔는지를 저장
  • Source routing: IP패킷이 어느 장치로 가라고 IP 주소를 저장및 지정
  • Loose source route: 반드시 거쳐 가야하는 장치 주소를 지정한 값
  • Timestamp: 장치를 거칠때 시간을 저장

'네트워크' 카테고리의 다른 글

DHCP와 NAT  (0) 2023.07.21
IP 주소, 서브넷, 가변길이 주소 지정  (0) 2023.07.19
Ethernet  (0) 2023.07.07
스위칭 방식, 다중 접속 프로토콜  (0) 2023.07.06
네트워크 기초 용어 ~ OSI 7계층  (0) 2023.07.05