IP - L3

00SNU3K·2021년 8월 6일
0
  • IPv4

    • 32비트 길이의 식별자. 0.0.0.0 ~ 255.255.255.255
  • IPv6

    • 128비트 길이의 차세대 인터넷 프로토콜 주소.
  • 비연결형 서비스를 제공. ‘헤더’ CheckSum만 제공.

  • 패킷을 분할/병합하는 기능을 수행, 상위 계층에서 패킷 분실 오류 복구해야함


IP Datagram Header Format

▶Version (4 비트)

IPv4 : 0100 IPv6 : 0110

TCP/IP 제품은 IPv4를 사용한다.

▶IHL, Header Length (4 비트)

IP 헤드의 길이를 ‘4바이트’ 단위로 나타낸다. 대부분의 IP 헤더의 길이는 20바이트이므로 필드값은 거의 항상 5이다. (5*4byte = 20byte)

▶Type of Service (8 비트)

서비스의 우선순위를 제공. 음성 -> 영상 -> Text//IPv4에는 사용X?

76543210
IP 우선 순위지연 최소화처리량 최대화신뢰성 최대화비용최소화0이여야함

▶Total Length (16 비트)

전체 IP 패킷(헤더+데이터)의 길이를 ‘바이트’ 단위로 나타낸다.

▶Identification (16 비트)

분열이 발생한 경우, 조각을 재결합하기 위한 필드로 패킷을 식별하는 번호로 동일한 데이터그램에 속하면 일련번호를 공유한다.

▶IP Flag (3 비트)

패킷이 Fragment되어 있는지 아닌지 단서 제공하는 역할

첫 번째 비트는 항상 0 : 예약되어 있는 비트

두 번째 비트는 D : Do not fragment
IP 라우터에 의해 분열되는 여부를 나타냄
0 - 분열 가능, 1 - 분열 방지

세 번째 비트는 M : More fragment

원래 데이터의 분열된 조각이 더 있는지 판단

0 – 마지막 조각, 1 – 조각이 더 있음

▶Fragment Offset

패킷 재조립시 분할된 패킷간의 순서에 대한 정보.

전체 데이터에서 분할된 패킷의 상대 위치를 8byte 단위로 나타낸다.

정의된 값에 8을 곱한 값이 패킷의 삽입 위치가 된다.

▶Time To Live, TTL (8 비트)

패킷이 경유할 수 있는 최대 Hop 수를 나타냄. 라우터를 통과하면 –1, 0이 되면 패킷은 폐기. 이때 송신측으로 ICMP 메시지가 전달됨.
TTL값은 OS마다 다름(윈도우 : 128, 리눅스 : 64, 기타 OS : 255)

목적지가 아무리 멀어도 보통 값이 30이면 도달할수 있다. (패킷의 무한루프 방지)

▶Protocol (8 비트)

IP Datagram의 몸체에 저장된 상위 계층 프로토콜을 나타냄.
ICMP : 0x01, TCP : 0x06, UDP : 0x11

▶Header Checksum

IP패킷의 헤더가 정상적인지 검사하는데 사용. 라우터마다 검사하기 때문에 속도가 느림. 목적지 호스트는 체크섬을 확인하여 결과가 다르다면 패킷을 버린다.

▶Source IP Address & Destination IP Address (각각 32 비트)

▶Option

특별히 처리 옵션이 추가로 들어갈 수 있는 필드. IHL은 4byte 단위로 헤더를 표현하기 때문에 4byte로 나뉘어질수 있도록 Padding으로 처리

profile
네트워크 전문가를 꿈꾸며

0개의 댓글