Notice
Recent Posts
관리 메뉴

Hacking Arts

IP(Internet Protocol) 본문

Network/Protocol

IP(Internet Protocol)

Rakehell 2014. 8. 23. 02:56

<IP>

-OSI 계층중 3계층의 Network Layer의 핵심 Protocol

-TCP/UDP 모두 IP에서 제공하는 서비스

-Transport Layer로부터 세그먼트를 받아 인접한 네트워크가 요구하는 크기의 패킷으로 분할 전송

-기능

   *논리적 주소 제공

   *경로 제공

   *데이터그램 분할 및 재조립

   *단, 흐름제어나 오류제어의 기능은 없음(TCP가 생긴 이유)



-Version : 4Bit로 현재 사용하는 IP의 버전 정보로 현재는 IPv4를 사용하므로 4를 가짐


-Header Length

1)4Bit로 헤더의 전체 길이를 4Byte 단위로 표현

2)IP Datagram의 경우 헤더의 길이가 옵션 필드에 따라 달라질 수 있으므로 명시하는 항목이 존재

3)옵션이 없으면 헤더의 길이는 20Byte이므로 이 필드의 값은 5가 됨 (5 * 4 = 20Byte)

4)옵션이 있으면 최대 헤더의 길이는 15 ( 15 * 4 = 60Byte)


-Type of Service(TOS)

1)지금은 Differentiated Services(차별화 된 서비스)라고도 불림

2)데이터그램이 라우터에서 어떻게 처리되어야 하는지 정의

3)총 8bit로 구성 최초 3bit는 우선순위, 나머지 4bit는 TOS 설정용으로 사용, 나머지 1Bit는 예약

4)예를 들어 Telnet과 같은 경우는 D=1로 설정되어 최대한 지연시간을 단축 시키도록 요구

5)현재 시스템에서는 TOS, 우선순위 항목에 대해서 지원하지 않고 기본 값 사용


-Total Length(TL)

1)데이터그램의 전체 길이

2)16bit이므로 65535로 크기제한 -> Ethernet의 경우 MTU값이 1500Byte이므로 1500으로 제한됨

3)IP Header의 길이는 가변적이므로 유효한 데이터 영역부분에 대한 추출 위해 필요

4)Ethernet의 경우 IP Header를 포함한 IP 패킷의 총 길이가 46Byte보다 짧은 경우 Ethernet은 패딩 영역을 강제로 삽입

 

-Identification

1)16bit로 송신호스트가 전송한 패킷은 ID를 나타냄

2)연속된 데이터 그램을 전송할 경우 Identification의 값은 연속적으로 증가

3)IP 데이터 그램이 네트워크의 MTU 값에 의해 분할된 경우에 이를 재조립하는 과정에서 원본 데이터그램을 파악하는 정보로 사용

4)데이터그램이 단편화 될 경우 Identification 필드의 값은 모든 단편에 복사


-Flag

1)3bit로 구성

2)처음 Bit는 사용되지 않음

3)2번째 bit는 do not fragment bit로 이 값이 1이면 시스템은 데이터그램을 단편화 하지 않음

4)단편화를 해야 할 상황에서 이값이 설정되어 있으면 해당 시스템은 데이터 그램을 폐기하고 ICMP오류 메시지를 송신호스트에게 전달

5)3번째 비트는 more fragment bit로 이 값이 1이면 데이터 그램의 마지막 단편이 아니고 0이면 마지막 단편이거나 유일한 단편임을 나타냄


-Fragmentation offset

1)13bit로 구성되며 단편의 상대적 위치를 나타내며 8Byte단위로 계산됨(13bit이기 때문에 8191보다 큰값이 표현X)

2)맨 마지막 fragment를 제외한 모든 fragment는 8 Byte의 배수이어야 한다. IP datagam의 최대 크기는 65536이므로 최대 8192개의 fragment로 data를 분할할 수 있다.


-Time To Live(TTL)

1)라인 상에 체류할 수 있는 시간을 홉 카운트로 나타내는 값

2)라우터를 지날때마다 1씩 감소  (참고로 CCNA중에 이와 관련된 문제가 나오기도 했음)


-Protocol

1)8bit로 IP계층의 서비스를 상위 프로토콜을 정의

2)ICMP - 1 , IGMP - 2 , TCP - 6 , UDP - 17, OSPF - 89 등..


-Header Cheksum : 에러 확인을 위한 16bit 필드


-Source Address


-Destination Address


-Option

1)IP 옵션 항목은 20Byte의 표준 헤더에 데이터그램의 보안을 위한 기능이라던가, Record Route, Timestamp등의 정보를 담기위한 항목

2)네트워크 상태 Test, 디버깅 용동로 사용

3)잘 사용X


IP헤더에서 가장중요한부분은

일단 Flag와 Identification 그리고 Fragment offset 정도가 중요하다고 생각된다.

IP헤더는 외우는것보다 많은 패킷을 분석해보는게 중요하다고 생각된다.


ip의 경우 자신의 헤더길이를 체크 해서 MTU값에 맞게 fragment할때 자신의 헤더길이를 빼고 1480이런식으로 다음 layer에 넘겨줌

즉 자신의 헤더가 20인데 데이터가 3000이 오면 1480 1480 40 으로 쪼갠후 1500 1500 60 이런식으로 다음 layer에 넘겨줌

'Network > Protocol' 카테고리의 다른 글

IPSec(Internet Protocol Security)  (0) 2018.04.05
Wireless - 1  (0) 2014.08.23
RARP(Reverse Addres Resolution Protocol)  (0) 2014.08.23
ARP(Addres Resolution Protocol)  (0) 2014.08.23
Ethernet(Data-link layer)  (0) 2014.08.23