네트워크/네트워크

IP(Internet Protocol)

비니화이팅 2018. 1. 15. 19:45

IP(Internet Protocol)

- IP주소에 따라 다른 네트워크 간 패킷의 전송(경로 제어)를 위한 규약이다.

- 패킷이 전송된 순서대로 도착하는 것을 보장하지 않는다.


[IP특징]

비신뢰성

- IP 데이터그램이 목적지에 성공적으로 도달한다는 것을 보장하지 않는다.


비연결형

- 전달되는 데이터그램에 대해 상태정보를 유지하지 않는다.


[IPv4 주소 체계]

비트 수

1

7

24

A Class

0

Network Address

Host Address

 

비트 수

2

14

16

B Class

0

1

Network Address

Host Address

 

비트 수

3

21

8

C Class

1

1

0

Network Address

Host Address


[사설 IP 주소 범위]

- A 클래스: 10.0.0.0 ~ 10.255.255.255

- B 클래스: 172.16.0.0 ~ 172.31.255.255

- C 클래스: 192.168.0.0 ~ 192.168.255.255


[ IP 데이터그램]

<--------------20~65536byte-------------->

<---20~60byte---->

 

Header

Payload


[IP 헤더]

VER

(4 bit)

HLEN

(4 bit)

TOS

(8 bit)

Total length (16 bit)

Identification

(16 bit)

Flags

(3 bit)

Fragmentation offset

(13 bit)

TTL

(8 bit)

Protocol

(8 bit)

Header checksum

(16 bit)

Source IP address (32 bit)

Destination IP address (32 bit)

Option (0 or 32 bit)


① VER (Version)

- IP 프로토콜의 버전이다.


② HLEN (Header Length)

- IP 헤더 길이이다.


③ TOS (Type Of Service)

- QOS(Quality Of Service : 서비스 품질)에 대한 정보를 제공한다.

우선권 필드 

(3 bit)

TOS 필드 

(4 bit)

사용 X

 (1 bit)

        


서비스

설명

0

보통

- 보통 데이터로 취급

- 대부분이 이 분류에 속함

1

비용 최소화

 - 가장 비용이 적게 드는 경로를 통해 패킷을 라우트 할것을 요구

2

신뢰성 최대화

- 가장 신뢰성 있는 네트워크를 통해 패킷을 라우트할 것을 요구 

4

처리량 최대화

 - 보통 데이터 패킷을 더 많이 처리를 하면서 라우트 할 것을 요구

8

지연 최소화

 - 보통 데이터보다 더 신속한 패킷의 라우트를 요구

- 자신의 입력 에코를 신속하게 보고싶어하는 Telent과 같은 애플리케이션 등에 유용

15

보안 최대화

 - 가장 안전한 경로를 통해 패킷을 라우트를 요구

- 실험용이므로 지원하지 않는 곳이 많음


④ Total Length

- IP 데이터그램의 전체 길이이다.(Byte)


⑤ Identification

- 단편화가 발생한 경우 조각을 다시 결합하기 위해 호스트가 전송한 데이터그램을 유일하게 식별한다.


⑥ Flags

- 단편화(Fragmentation)에 대한 정보이다.

0으로 고정

(1 bit)

May Fragment

(1 bit)

More Fragments

(1 bit)

-> May Fragment (라우터에 의해 분열되는 여부)

0 : 분열가능

1: 분열 방지

-> More Fragments (분열된 단편화된 조각이 더 있는지 여부)

0 : 마지막 조각

1: 조각이 더 있음


⑦ Fragmentation offset

- 패킷이 분할되기 전 데이터에서의 위치를 8바이트 배수로 표현한다.

ex) 4라면 원래 데이터의 32바이트에 위치하는 패킷이다.


⑧ TTL (Time To Live)

- 데이터그램이 지날 수 있는 라우터의 수이다.


⑨ Protocol

- 상위 계층의 프로토콜

value

protocol

1

ICMP

2

IGMP

6

TCP

8

EGP

17

UDP

41

IPv6

89

OSPF


⑩ Header checksum

- IP 헤더의 checksum을 저장한다.

- 라우터를 지날때마다 다시 계산을 하기 때문에 속도가 떨어진다.


⑪ Source IP address

- 발신지 IP 주소이다.


⑫ Destination IP address

- 목적지 IP 주소이다.


⑬ Option

- 보안의 목적을 위해 사용하거나 라우팅 경로를 지정하거나 시간을 기록하는 데에 사용한다.


[IP 패킷 분석 1]

- 아래는 10.10.0.3에서 192.168.0.128로 ping했을 때의 상황을 캡처한 것이다.

<10.10.0.3 호스트에서 캡처한 모습>

(1)-> ping을 하여 ttl이 128인 상태로 Echo request패킷이 날라갔고

(2)-> 이에 대한 응답으로 상대편에서 돌아올 때 라우터를 1개 거쳤기 때문에 ttl이 127이 돼서 왔다.


<192.168.0.3호스트에서 캡처한 모습>

(1)-> 상대편에서 ping을 했기 때문에 라우터를 1개 거쳐서 ttl이 127인 패킷이 캡처됐다.

(2)-> 이에 대한 응답으로 상대편에게 ttl이 128인 상태로 Echo request패킷을 보냈다.


[IP 패킷 분석 2]

- 단편화 패킷이 발생한 상황을 캡처한 것이다.


(1)->


(2)->


(3)->


(4)->


(5)->


(6)->