[ Internet protocol ]

frame Datalink layer : 연결만 관여

packet Network layer : 라우팅, 에러 관리

 

[ # Datagram protocol ]

- connectionless service

- 각각의 패킷이 독립적임

- 패킷 송신시 경로가 그때그때마다 네트워크 상황에 따라 달라짐

 

IP packet 은 네트워크에서 순서에 무관하게 수신됨

* TCP/IP (TCP over IP): ip packet 전송은 순서를 보장하지 않지만 TCP가 위에서 순서를 맞춰줌

 

[ # IP (IPv4) ]

- unreliable, connectionless databgram protocol

- best-effort delivery service (최대한 노력하는 서비스(100%보장 없단의미))

- no error control/flow control

- error detection

- reliability 가 중요하다면 TCP와 함께 써야함

- 20~60bytes 사이 가변길이 header를 갖는다(IPv6는 40bytes 로 고정)

- 각행은 4bytes

 

 

Datagram(packet)

[ header 규격 설명 ]

# 1. VER : IP version (현재는 ver.4 사용)

# 2. HLEN : header length, 행 갯수를 의미

* header length 가 5일 경우 header 의 크기는 5*4bytes = 20bytes

 

# 3. Service : TOS(type of service), DS(Differentiated service) 와 같이 서비스 종류를 구분하는 용도

* TOS : 4비트를 DTRC로 나누어, 원하는 서비스 형태를 표현 (eg: FTP 0100(T가 제일 중요), DNS 1000(D가 제일 중요))

 

# 4. Total length : IP datagram 길이, data 크기를 파악하기 위함

 

[ Fragmentation : 단편화 ] 

네트워크마다 MTU가 다르므로 datagram 을 단편화 해야한다.

아래 #5~#7 의 Identification, Flags, fragmentation offset 은 단편화 한 IP packet 의 순서를 구분하여 도착지점의 reassembly를 가능케 한다.

* MTU (Maximum transfer unit) : 송신가능한 최대 크기

* reassembly 는 최종 도착점에서만 한다. (MTU에 맞게 단편화한 IP packet을 중간 경유지 네트워크에서 다시 합치지 않는다)

 

 

# 5. Identification : fragmentation 이후 reassemble 을 할 때 ip packet 을 구분하는 용도

# 6. Flags : fragmentation 후 마지막 패킷을 구분하기 위한 용도로 사용

Flags : 1번째 비트는 미사용, 2번째 비트는 fragmentation을 원치않을때 사용, 3번째 비트가 0인경우 마지막 패킷임을 의미

# 7. fragmentation offset : 패킷 순서표시

Identification, flag, flagmentation offset의 예

# 8. Time to live (TTL) : 라우터를 거칠 때 마다 -1, 0이 될 경우 라우터에서 discard

# 9. Protocol : ip packet을 처리 후 상위계층 어디로 보내야 하는지 구분자 역할. TCP(6)/UDP(17)/ICMP(1) 등

# 10. Headerchecksum : 헤더 에러 체크 용도

# 11. Options : 최대 40bytes.

1) no operation option : header 4bytes 크기를 맞추기 위함

2) end of option : header 4bytes 크기를 맞추기 위함

3) record route option : internet router 리스트 record 목적

4) strict source route option : 송신자가 거쳐갈 route를 지정할 경우 사용

 

# IPv6가 IPv4에 비해 갖는 장점

1. address 주소가 훨씬 많음. 128bits 크기

2. 고정 header format 및 크기(40bytes)를 가지므로 처리 용이

3. 보안

 

# Transition from IPv4 and IPv6 : IPv4 에서 IPv6 으로의 전환

1. Dual stack : IPv4, IPv6을 모두 사용, DNS 의 응답으로 IPv4/IPv6 구분

2. Tunneling : IPv6 --> IPv4 --> IPv6 와 같이 중간 라우터구간에서 IPv4 사용하는 경우 사용.

3. Header translation : IPv6 헤더를 IPv4 헤더로 변환, 반대의 상황도 마찬가지.

 

※ KOCW 성균관대학교 안성진 교수님의 컴퓨터네트워크 강의 참고

반응형

+ Recent posts