kkamagi's story

IT, 정보보안, 포렌식, 일상 공유

Network

IP Header Format

까마기 2014. 9. 22. 22:18
반응형

 

<IP Header Format>

 

1. Version

 

2. IHL (IP Header Length )

가변길이이다기본길이는 20 Byte이며 60 Byte 까지이다.

IP 헤더의 길이는 반드시 지정되어야 하며 이 필드의 값는 Option이 없는 경우 기본적으로 5 이다.

 

필드 값이 5보다 작다 : 잘못된 헤더의 길이

필드 값이 5이다 : 기본 헤더의 길이 ( 5X4 = 20 Byte )

필드 값이 5보다 크다 : IP 헤더에 Option 필드가 있다.

오후 9:53 2013-07-04

* Wireshark IP 헤더를 보면 Ethernet 헤더 끝 부분에 0800 다음에 45 ( 01000101 ) 부터 IP Header 의 시작이다.

 

IP Option은 항상 32비트로 끝나야 한다최소 20->24->28>-32비트 ,무조건 4바이트단위로 커진다.

Option은 0 Byte ~ 40 Byte 이며 항상 4의 배수이다.

 

 

2. TOS ( Type of Service )

 

* TOS - 패킷의 우선순위비트와 TOS 비트의 두가지 방법으로 QOS( Quality of Service ) 한다.

모든 네트워크 장비들은 TOS 처리능력을 갖추고 있지 않고 있기 때문에 이 필드들을 무시하지만 TOS 서비스 유형 비트의 DTRC 의 반영 유무에 따라 라우터에 세팅 할 수도 있다세팅을 하지 않으면 라우터는 이 값들을 변경하지 않고 다음 라우터에게 넘긴다.

 

데이터의 우선순위 >

Binary Value                Field Meaning

111                            National network control

110                            Internetwork control

101                            CRTIC / ECP

100                            Flash override

011                            Flash

010                            Immediate

001                            Priority                      

000                            Routine

 

여기에 있는 숫자(000-111)가 높을 수록 긴급 데이터로서 빨리 처리하라 라는 의미이다.

 

< TOS 서비스 유형 비트>

(1) Delay bit ( 지연 비트 ) : 1 이면 최소한의 지연으로 데이터 전송 요청

 

(2) Throughput bit ( 처리량 비트 ) : 1 이면 IP 라우터는 가장 처리량이 큰 경로를 따라 데이터그램을 전송

 

(3) Reliability bit ( 신뢰성 비트 ): 1로 설정되고 경로상의 모든 라우터들이 이 기능을 지원할 때만 손실 없는 전송 보장

 

(4) Cost bit ( 비용 비트 ) : 데이터가 최소의 금전적인 비용으로 목적지에 도달할 수 있도록 해준다. (Cost가 싼 쪽으로 가게되있다속도가 빠르면 cost 낮다)

 

 

** DS (Differentiated Services : 차등 서비스

모든 라우터는 이 DS를 이해하지 못하고 장비를 업그레이드 해야 이해한다.

 ECN capable =1 -> 나를 혼잡한 경로로 보내지 말아주세요라는 의미

 Congestion experienced =1

 

 

3. Total Length

IP Header + IP Payload 를 포함하는 IP 데이터그램의 전체 크기

Ex ) Total Length = IP Header + Payload ( ICMP Header + ICMP Payload )

           1500 Byte 일때 = IP Header * 3 = 60 Byte a Fragmentation 한 패킷 3개를 합쳐서 .

           여기에  ICMP 8 Byte 까지 더하면 68 Byte

IP 패킷의 최대크기는 65535 바이트이다. (이 필드가 16bits -> 2 16 -> 65535 Byte )

 

->3계층에서 모든 데이터는 65535보다 클때는 다 짤린다는 것이다.

계층 헤더인 Ethernet v2f를 사용하기 때문에 Ethernet v2  MTU ( Maximum Transmission Unit ) 1500(0x05DC)Byte를 넘을 수 없다 MTU 때문에 1500 Byte 보다 큰 데이터 전송시 데이터를 분할하여 보내게 된다이것을 단편화 ( Fragmentation ) 이라고 한다.

 

** 데이터의 크기

Total Length – ( IP Header + ICMP Header )

데이터의 크기를 알 수 있다, ping 명령어 사용 시 반송 ( Echo )되는 데이터도 알 수가 있다. ICMP echo reply 를 이용하는 ping의 경우에는 IP Payload에 실리는 ICMP 패킷의 헤더길이가 8 Byte 이기 때문이다

 

 

 

4. Identification – Packet의 순서를 나타내는 번호이다. id의 순서대로 Packet의 순서를 조합

 

5. IP Flags

X – 0 으로 값을 고정하고 사용하지 않는다. -a Reserved , 0

D (don't Fragment)  - set  -> 0 ( 분열 )  , Do Fragment

                        - not set -> 1 ( 분열 X )  , Don’t Fragment

M (More Fragment)  : 더 이상 분열쪼갤 수가 없다.

Fragment - 조각이란 의미 ex) 디스크조각모음

  

 

6. Fragment Offset ( 32 bit ) : 패킷이 분열되고 나서 다시 재 조립되었을 때의 시작 위치.

0         1500        3000       4500       5000

1

2

3

4

M=1         M=1       M = 1      M = 0

OFF=0     OFF=1500   OFF=3000   OFF=4500

TL=1500   TL=1500     TL=1500     TL=500

 

분열이 일어난 게 아니면 Offset 은 항상 0 이다.

표 안의 1,2,3,4 는 단순히 ID를 의미

 

 

7. TTL(Time To Live) : 0~255의 값을 가진다패킷이 라우터를 넘어 목적지 까지 가기까지 살아있을 수 있는 시간, IP packet이 목적지까지 가기 위한 차비이 값은 출발지에 있는 운영체제에 따라 결정된다. (Windows : 128, linux : 64 )

네트워크 장비의 설정 이상으로 Looping 발생--> 패킷이 갈 곳이 없으면 블랙홀 처럼 계속 돌고 돌다가 소멸하며이것이 쌓이고 쌓이다 보면 네트워크 장비가 죽는다그렇기 때문에 TTL 을 다 쓰면 스스로 소멸 되게끔 한 것이다.

운영체제마다 차비, TTL 값이 다 다르다. -> 보안적인 관점에서 보면 운영체제의 TTL , 곧 운영체제를 알 수가 있다는 것이다.

전세계 어딜가든 라우터 30개를 넘을 수 없고 일반적으로 20개 정도 이다. 30개가 넘었다는 것은 Loop가 발생했다는 의미이다.

 

8. Protocol – 자신의 패킷의 Payload에 가지고 있는 프로토콜의 TYPE이 들어간다. Ex) 4계층에서 어떤 프로토콜을 쓰고 있느냐 하는 것-> TCP 아니면 UDP

< Protocol >

1 ICMP 17 UDP 57 SKIP

2 IGMP 47 GRE 88 EIGRP

6 TCP 50 ESP 89 OSPF

9 IGRP 51 AH 115 L2TP

 

9. Header Checksum

 - 2계층 프레임의 packet구조에서 Footer라고도 불리운다.  2계층을 제외하고는 footerHeader에 포함되지 않는다.  왜 헤더가 끝나지 않았는데 계산을 하느냐면은 IP는 도중에 바뀔 수 있기 때문에.

- Header 부분만 Checksum하며 Payload 부분은 고려하지 않는다.

 

10.  Source Address - 32bit (4 Byte)

11. Destination Address – 32bit (4 Byte)

반응형

'Network' 카테고리의 다른 글

L2, L3, L4 스위치 정의 및 개념 정리  (0) 2014.09.22
IP class와 Subneting 네트워크 기초  (0) 2014.09.22
전용선(Leased Line) 네트워크 기초  (0) 2014.09.22
OSI 7 Layer (OSI 7 계층 정리)  (0) 2014.09.22
OSI 7 Layer  (0) 2014.09.22