network 이론/basic network

IPv4 Header

byeong07 2016. 8. 7. 11:46

 

 

- Version(4bit)
 : IP의 버전 정보. 
  Ox4일 경우 IPv4를 의미한다.

- Header Length(4bit)
 : IP 헤더의 길이.
  필드의 값이 5이면 헤더 길이가 20 byte이다.(최대 20byte)

- Type of Service(8bit)
: 패킷의 우선순위 결정

- Total Length(16bit)
: DATA까지 포함된 길이를 정의한다.

- Identification(16bit)
: 송신측에서 만드는 Data packet에 대한 Unique Value이다.
  즉 이 값이 같은 값끼리 다시 합쳐서 패킷을 만든다.
  IP Duplication을 검사하는 값으로 사용된다.
- IP Duplication의 key
  : Source IP Address + Destination IP Address + Identification

- Flags (3bit)
  : 패킷의 분열된 상태를 알려준다.
    bit 0 : 항상 0으로 예약
    bit 1 : 0 -> 분열 가능, 1 -> 분열 불가능
    bit 2 : 0 -> 마지막 패킷, 1 -> 분열된 패킷

- Fragment offset (13bit)
  : 분열된 패킷의 삽입될 위치를 정의한다.
    정의된 값에 8을 곱한 위치가 삽입 위치이다.

- Frags + Fragment Offset
- Fragment의 이유 : 패킷이 Route 되는 network 간의 MTU가 현재 패킷보다 작을 경우
                                Fragment하여 패킷을 전송한다.
                                Fragment는 보내는 송신측이 아닌 Network Route 간의 
                                Switch 단에서 발생한다.

- Frags는 Don't Fragment(DF), More Fragment (MF)를 설정한다.
- Offset 값을 이용해 재조립시 위치를 결정한다.

* TTL [Time to Live] (8bit)
   : 홉의 개수를 정의한다.
     홉은 라우터와 라우터 사이를 가르킨다.
     홉의 개수가 0이 되면 패킷은 폐지된다.

- Protocol (8bit)
  :  상위 프로토콜을 정의한다.
     따로 정리

- Header Checksum (16bit)
 : IP HEADER의 무결성을 검사
   Checksum 패킷의 손실을 확인할 수 있는 비교 값
   필요없을 경우 0으로 처리하여 패킷 처리를 빠르게 한다.

- Source IP address (32bit)
  : 근원지의 IP 주소를 정의한다.

- Destination IP address (32bit)
  : 목적지의 IP 주소를 정의한다.

- Options (variable)
  : 선택적으로 붙는다.
    만일 32bit로 안채워지면 padding이 붙는다.

- DATA : 실제 데이터

위에 Protocol 필드는 상위 프로토콜의 종류를 정의하기 때문에 패킷 스니핑을 할 때 많이 사용된다. 

- Protocol value
* ICMP : 1
* IGMP : 2
* IP : 4
* TCP : 6
* IGRP : 9
* UDP : 17

나머지는 위 ip header 그림을 참조하면 되겠습니다.

'network 이론 > basic network' 카테고리의 다른 글

DNS(Domain name System)  (0) 2016.08.31
ARP  (0) 2016.08.07
OSI 7 Layer  (0) 2016.08.07
UDP Header  (0) 2016.08.07
TCP Header  (0) 2016.08.07