IPv4/ICMP 프로토콜

썹스·2022년 8월 28일
0

네트워크

목록 보기
8/11

1. IPv4 프로토콜

네트워크상에서 컴퓨터 주소를 식별하기 위해 사용하는 고유 번호이다.

1-1. IPv4 프로토콜이 하는 일

IPv4 프로토콜은 네트워크상에서 데이터를 교환하기 위한 프로토콜이다.

데이터가 정확하게 전달될 것을 보장하지 않는다. 또한 중복된 패킷을 전달하거나 패킷의 순서를 잘못 전달할 가능성도 있다.

데이터의 정확하고 순차적인 전달은 그보다 상위 플토콜인 TCP에서 보장한다.

1-2. IPv4 프로토콜의 구조

VER: 인터넷 프로토콜의 버전을 의미한다. (ver: IPv4, IPv6...) 일반적으로 4가 들어간다.

HLEN: 헤더의 길이이다. 헤더의 길이는 최소 20바이트부터 최대 60바이트의 크기를 가지기 때문에 16진수를 표현할 수 있는 4비트를 가지고 있으며, 60바이트까지 표현하기 위해서 4를 곱한다.

Type of Service: 현재는 사용하지 않는다.

Total length: 헤더와 페이로드를 포함한 전체 데이터의 크기를 의미한다.

Identification: IP 데이터를 구분하기 위해서 쓴다.

Flags: 데이터 뒤에 패킷이 더 있는지 알려준다.

Fragment offset: 단편화된 데이터 그램의 순서를 나타낸다.

Time to live: 패킷이 3계층 장비를 최대 몇 번 거쳐서까지 살아남을 것인지를 나타내는 필드이다.

Protocol: IP 데이터 그램의 데이터(페이로드)에 담겨 있는 상위 계층의 프로토콜 타입을 알려준다.

Header checksum: Header 필드의 오류를 검출하는 필드이다.

Source IP address: 패킷을 보낸 노드의 IP 주소가 담긴다. (출발지 IP 주소)

Destination Address: 패킷을 받는 노드의 IP 주소가 담긴다. (목적지 IP 주소)

1-3. IPv4의 조각화

큰 IP 패킷들이 적은 MTU(Maximum Transmission Unit)를 갖는 링크를 통하여 전송되려면 여러 개의 작은 패킷으로 쪼개어/조각화 하여 전송해야 한다.

즉, 목적지까지 패킷을 전달하는 과정에 통과하는 라우터마다 전송에 적합한 프레임으로 변환이 필요하다.


2. ICMP 프로토콜

IP 패킷을 처리할 때 발생하는 문제를 알려주는 프로토콜이다.

2-1. ICMP 프로토콜이 하는 일

ICMP(Internet Control Message Protocol, 인터넷 제어 메시지 프로토콜) 프로토콜은 네트워크 컴퓨터 위에서 돌아가는 OS에서 오류 메시지를 전송받는데 주로 쓰이며, 프로토콜 구조의 Type과 Code를 통해 오류 메시지를 전송 받는다.

즉, 특정 대상과 내가 통신이 잘 되는지 확인하는 프로토콜이다.

2-2. ICMP 프로토콜 구조

Type: ICMP 메시지의 유형(용도)을 정의하는 필드이다.
여러 종류의 타임이 있지만 중요하게 사용하는 타입은 아래와 같다.

  • 0: Echo reply (메시지 응답)
  • 8: Echo requset (메시지의 요청)
  • 3: Destination unreachable (도달 불가 에러)
  • 11: Time exceeded (TTL이 초과한 경우)

Code: Type의 세부 내용이 담겨있는 필드이다.

Checksum: ICMP 메시지에 오류가 있는지 검사하는 필드이다.



Reference

따라하면서 배우는 IT_네트워크 기초(개정판)

profile
응애 나 코린이(비트코인X 코딩O)

0개의 댓글