ICMP

MoonLight·2021년 12월 14일
0

컴퓨터 네트워크

목록 보기
10/10

2. 인터넷 제어 메시지 프로토콜(ICMP)

ICMP(Internet Control Message Protocol)

네트워크의 호스트나 라우터에서는 예상치 못한 상황이나 오류가 발생할 수도 있는데, 이렇게 라우터에서 발생한 오류를 송신측으로 전송하는데 사용하는 프로토콜이 ICMP이다.

Type, Code, Checksum => 4 Byte

IP header + IP data(=ICMP메시지)

① ICMP는 호스트와 라우터 사이에서 네트워크 계층 정보를 통신하기 위해 사용

  • 오류 보고(error reporting) : 목적지 네트워크에 도달하지 못하는 호스트, 네트워크, 포트, 프로토콜

  • echo 요청/응답 (ping에서 사용)

② IP 상위 계층

  • ICMP 메시지는 IP 데이터그램의 페이로드로 전송

③ ICMP 메시지

  • 타입과 코드필드와 에러가 발생한 IP 데이터그램의 첫 8바이트

2) Traceroute 프로그램

① 지정된 목적지 경로에 따라 출발지에서 라우터까지 지연을 측정

② 경로 상 모든 라우터 i에 대해 다음을 수행

  • 경로 상의 라우터 i에 대해 3개의 패킷을 송신

  • 라우터 i는 송신자에게 패킷을 리턴

  • 송신자는 패킷 송신과 응답 사이 시간을 측정

③ Traceroute 프로그램

  • 출발지와 목적지 사이의 라우터 이름과 주소를 추적하는 프로그램

  • ICMP 메시지 이용

Traceroute 동작

  • 출발지는 목적지에 일련의 UDP 세그먼트를 보냄

    1. 첫번째 데이터그램은 TTL=1

    2. 두번째는 TTL=2

    3. UDP 포트번호는 없음

  • n번째 데이터그램이 n번째 라우터에 도작하면

    1. 라우터는 데이터그램을 폐기

    2. 출발지에 ICMP 메시지를 보냄 (타입 11, 코드 0)

    3. 메시지에 라우터의 이름과 IP 주소가 포함됨

  • ICMP 메시지가 도착하면 출발지는 RTT를 계산

UDP segment가 dest host에 도착했는데 개가 Type, Code가 각각 3? 목적지가 ICMP 메시지인 "port unreachable"을 보냄 그럼 source는 stop

profile
hello world :)

0개의 댓글