Internet Control Message Protocol (ICMP)

Slides:



Advertisements
Similar presentations
AMAN2002 를 이용한 TCP/IP 프로토콜 분석 및 네트워크 프로그래밍 www. nms4you.com 1 AMAN2002 추가 기능 실습 Chapter 13:
Advertisements

멀티미디어 서비스를 위한 IP 네트워크 순천향대학교 정보기술공학부 이 상 정
Chapter 7 ARP and RARP.
TCP/IP 통신망 특론 3장 인터넷프로토콜( IP ).
Internet Protocol Version4
Chapter 8 Authorization
15 장 무선랜 15.1 IEEE 블루투스 15.3 요약.
제 13 장 인터넷 그룹 관리 프로토콜.
컴퓨터 네트워크 Chapter 5-2 컴퓨터 네트워크.
Next Generation: IPv6 and ICMPv6
암호화 기술(SSL, IPSec) 손재성 권기읍 안복선 최준혁
22 장 프로세스간 전달 : UDP와 TCP 22.1 프로세스간 전달 22.2 사용자 데이터그램 프로토콜
TCP/IP 네트워크 제 8장 Traceroute 프로그램 정보통신연구실.
제 1장 인터네트워킹.
Dept. of Computer Engineering, Hannam Univ. Won Goo Lee
20 장 네트워크층 프로토콜 : ARP, IPv4, ICMP, IPv6, ICMPv6
Internet Group Management Protocol (IGMP)
Delivery and Routing of IP Packets
제 9 장 ICMP 목원대학교 정보통신공학과 이 명 선.
ARP TARM PROJECT 1조 신영민.
LOGO 네트워크 운용(2).
Domain Name System (DNS)
라우팅의 기술 RIP과 OSPF의 개요 및 동작과정 1조 : 박지훈, 최정연, 추태영 RIP과 OSPF의 개요 및 동작과정.
Chapter 02 네트워크에 대한 이해.
Chapter 11. Raw 소켓.
Chapter 2 OSI 모델과 TCP/IP 프로토콜.
Chapter 11 Unicast Routing Protocols.
Chapter 8 교환 (Switching).
Chapter 8 교환 (Switching).
PPP (Point-to-Point Protocol)
12 장 점 대 점 접근 : PPP 12.1 점 대 점 프로토콜 12.2 PPP 스택 12.3 요약.
S N M P (Simple Network Management System).
Chapter 05 목록화.
Network Security Footprint & Scan.
Access Control Lists Access Control List
IP.
Network Management 김대환 김태훈 김숙흔 이근민.
Network Layer: ARP, ICMP (IGMP).
제 21 장 TCP 타임아웃과 재전송.
Chapter 13 사용자 네트워크 보안.
제 21 장 TCP 타임아웃과 재전송 정보통신연구실.
3부 해킹 전 정보 획득 Chapter 6. 풋프린팅과 스캔
DHCP 박윤환 윤준호.
TCP/IP 통신망 특론 2장 Link Layer 컴퓨터 네트워크 실험실 이희규.
시스템 운영계획 통신 케이블 제작 엑세스 포인트, 스위치, 라우터 설치 및 환경구성
IP(Internet Protocol)
Chapter 15 Transmission Control Protocol (TCP).
TCP/IP 인터네트워킹 INTERNETWORKING with TCP/IP <vol
IPv 이 동 주 HONGIK UNIVERSITY.
네트워크와 소켓 프로그래밍 Chapter 01. * 학습목표 TCP/IP 프로토콜의 동작 원리를 개관 소켓의 기본 개념을 이해
Transmission Control Protocol (TCP)
User Datagram Protocol (UDP)
TCP/IP 네트워크 구조 TCP/IP 개요 TCP/IP 프로토콜 한빛미디어(주).
5장. 네트워크 계층과 라우팅 내용 네트워크 계층(Network Layer) 소개 라우팅 알고리즘 IP 프로토콜
Chapter 4 네트워크 계층 소개.
Internet Protocol Objectives Chapter 8
팀 프로젝트 [데이터통신] 김진억 성보라 문제명 박상민 이혜영.
8 네트워크 계층 프로토콜 학습 목표 IPv6의 필요성과 헤더 구조를 이해한다. 이동 IP 프로토콜의 터널링 원리를 이해한다.
Operating System Multiple Access Chatting Program using Multithread
Internet & WWW Protocols
김 형 진 전북대학교 IT응용시스템공학과 네트워크의 기본 Chapter 김 형 진 전북대학교 IT응용시스템공학과.
제 11장 User Datagram Protocol(UDP)
TCP/IP 인터네트워킹 INTERNETWORKING with TCP/IP <vol
Chapter 27 Mobile IP.
Chapter 10 Mobile IP.
Part TCP / IP 1. TCP / IP 프로토콜 2. 기본 프로토콜.
제 9 장 ICMP 9.1 메시지 유형 9.2 메시지 형식 9.3 오류 보고 9.4 질의 9.5 검사합 9.6 ICMP 설계
Information Security - Network Scanning.
IPv 이 동 주.
6. 오류 보고 체계 (ICMP) (6장. 인터넷과 IP)
Presentation transcript:

Internet Control Message Protocol (ICMP) Chapter 9 Internet Control Message Protocol (ICMP)

CONTENTS TYPES OF MESSAGES MESSAGE FORMAT ERROR REPORTING QUERY CHECKSUM ICMP PACKAGE

ICMP 프로토콜의 문제점 신뢰성이 없고 비연결형 데이터그램 전달 제공 최선의 노력 전달 서비스 오류 제어와 지원 메커니즘이 없음 오류 보고 및 오류 수정 기능이 없음 호스트와 관리 질의를 위한 메커니즘이 없다 이 문제점을 보완하기 위해 설계

네트워크 계층에서 ICMP 위치

ICMP 패킷의 캡슐화

TYPES OF MESSAGES 9.1

9.1 메시지 유형 오류 보고 메시지 : IP 패킷 처리 도중 발견된 문제를 보고 질의 메시지 : 다른 호스트로부터 특정 정보를 획득하기 위해 사용

9.1 메시지 유형 ICMP 메시지 Category Type Message Error-reporting message 3 Destination unreachable 4 Source quench 11 Time exceeded 12 Parameter problem 5 Redirection Query message 8 or 0 Echo request or reply 13 or 14 Timestamp request and reply 17 or 18 Address mask request and reply 10 or 9 Router solicitation and advertisement

MESSAGE FORMAT 9.2

9.2 메시지 형식 ICMP 메시지 일반적인 형식

ERROR REPORTING 9.3

언제나 오류 메시지를 최초의 발신지로 보고한다. 9.3 오류 보고 ICMP의 주 임무 중 하나 언제나 오류 메시지를 최초의 발신지로 보고한다.

9.3 오류 보고 오류 보고 메시지

9.3 오류 보고 Important points about ICMP error messages: 1. No ICMP error message for a datagram carrying an ICMP error message. 2. No ICMP error message for a fragmented datagram that is not the first fragment. 3. No ICMP error message for a datagram having a multicast address. 4. No ICMP error message for a datagram with a special address such as 127.0.0.0 or 0.0.0.0.

9.3 오류 보고 오류 메시지를 위한 데이터 필드 내용 처음 8 바이트 : TCP와 UDP 포트 번호와 순서 번호

9.3 오류 보고 목적지 도달 불가능(Destination Unreachable) 라우터가 데이터그램을 라우팅할 수 없거나 호스트나 데이터그램을 배달할 수 없을 때 데이터그램은 폐기되고 발신지 호스트에 목적지 도달 불가 메시지 전달 목적지 도달 불가 메시지 형식

9.3 오류 보고 코드 필드 : 데이터그램 폐기 이유 0 : 하드웨어 고장 네트워크에 도달 불가 1 : 하드웨어 고장 호스트에 도달 불가 2 : 프로토콜에 도달 불가 3 : 포트 도달 불가 . 15 : 우선 순위가 낮아서 호스트 도달 불가  책 221, 222 쪽 참조

9.3 오류 보고 코드 2와 3의 Destination-unreachable messages 는 destination host에 의해서만 생성할 수 있다. 그 밖의 destination-unreachable는 라우터에 의해서만 생성할 수 있다.

라우터는 패킷 전달(배달)을 방해하는 모든 문제점을 발견할 수 없다. IP 프로토콜에는 흐름-제어 메커니즘이 없다. 9.3 오류 보고 라우터는 패킷 전달(배달)을 방해하는 모든 문제점을 발견할 수 없다. IP 프로토콜에는 흐름-제어 메커니즘이 없다.

9.3 오류 보고 발신지 억제(source quench) 혼잡으로 인하여 데이터그램 폐기를 발신지에 알림

9.3 오류 보고 발신지 억제 메시지는 데이터 그램이 라우터나 목적지 호스트에서 혼잡으로 인하여 폐기되었음을 발신지에게 알린다. 발신지는 혼잡이 완화될 때 까지 데이터그램을 송신하는 속도를 낮추어야 한다.

혼잡으로 폐기되는 데이터그램마다 발신지 억제 메시지가 보내져야 한다. 9.3 오류 보고 혼잡으로 폐기되는 데이터그램마다 발신지 억제 메시지가 보내져야 한다.

라우터는 TTL 값이 0인 데이터그램을 받을 때마다 데이터그램을 폐기하고 원래의 발신지에게 시간-초과 메시지를 보낸다. 9.3 오류 보고 라우터는 TTL 값이 0인 데이터그램을 받을 때마다 데이터그램을 폐기하고 원래의 발신지에게 시간-초과 메시지를 보낸다.

9.3 오류 보고 최종 목적지가 정해진 시간 내에 모든 단편을 받지 못했으면 이미 수신된 단편은 폐기하고 원래의 발신지로 시간 경과 메시지를 보낸다.

9.3 오류 보고 시간 경과의 경우 코드 0은 수명 필드의 값이 0이 되었음을 알리기 위해 라우터에 의해 사용된다. 코드 1은 모든 단편이 지정된 시간 내에 도착하지 않았음을 알리기 위해 목적지 호스트에 의해 사용된다.

9.3 오류 보고 시간 경과(time exceeded) 메시지 형식 Code 0: Time to live Code 1: Fragmentation

9.3 오류 보고 매개변수 문제 메시지는 라우터나 목적지 호스트에 의해 생성 될 수 있다.

9.3 오류 보고 매개 변수 문제(parameter problem) 메시지 형식 Code 0: Main header problem Code 1: Problem in the option field

9.3 오류 보고 재지정(redirection) 데이터그램을 잘못된 라우터로 보낼때 라우팅 테이블을 갱신하기 위한 방법

9.3 오류 보고 호스트는 일반적으로 작은 라우팅 테이블로 시작하지만 점진적으로 증가되거나 갱신된다. 이러한 일을 수행하는 도구 중의 하나가 재지정 메시지 이다.

9.3 오류 보고 재지정 메시지 형식 Code 0: Network specific Code 1: Host specific Code 2: Network specific (specified service) Code 3: Host specific (specified service)

재지정 메시지는 라우터로부터 같은 네트워크에 있는 호스트로 전달된다. 9.3 오류 보고 재지정 메시지는 라우터로부터 같은 네트워크에 있는 호스트로 전달된다.

QUERY(질의) 9.4

9.4 질의 네트워크 문제 진단 질의 메시지

9.4 질의 에코 요청 메시지는 호스트나 라우터에 의해 보내질 수 있다. 에코 요청 메시지를 받은 호스트나 라우터는 에코 응답 메시지를 보낸다.

에코 요청과 에코 응답 메시지는 네트워크 관리자가 IP 프로토콜의 동작을 검사하기 위하여 사용할 수 있다. 9.4 질의 에코 요청과 에코 응답 메시지는 네트워크 관리자가 IP 프로토콜의 동작을 검사하기 위하여 사용할 수 있다.

9.4 질의 에코 요청과 에코 응답 메시지는 호스트 도달 가능성(reachability)을 검사할 수 있다. 이것은 ping 명령을 수행함으로써 이루어진다.

9.4 질의 에코 요청 및 에코 응답 메시지 Ping command can use theses messages.

9.4 질의 타임스탬프 요청과 응답 두 시스템 간에 IP 데이터그램이 오고 가는데 필요한 왕복 시간 결정 그리니치 표준시 사용 세계 표준시(Universal Time)의 자정으로 부터 시간을 ms 단위로 표현 3개의(original, receive, transmit) 32 비트 필드 사용(0~4, 294, 967, 295 사이 값)

9.4 질의 타임스탬프 요청과 응답 메시지 형식

9.4 질의 동작 과정 발신지는 타임스탬프 요청 메시지 생성 Original timestamp 필드에 출발 시간 값 삽입 나머지 두 필드는 0 목적지는 응답 메시지 생성 Original timestamp 값을 같은 필드에 복사 요청이 수신된 시점의 시간을 receive timestamp 필드에 삽입 응답 메시지가 출발하는 시간을 transmit timestamp 필드에 삽입

9.4 질의 왕복시간 계산 Sending time = value of receive timestamp - value of original timestamp Receiving time = time the packet returned - value of transmit timestamp Round-trip time = sending time + receiving time

9.4 질의 시간 동기화가 되어 있지 않더라도 타임스탬프 요청과 타임스탬프 응답 메시지는 발신지와 목적지 사이의 왕복시간을 측정하기 위해 사용될 수 있다.

9.4 질의 Given the following information: Value of original timestamp: 46 Value of receive timestamp: 59 Value of transmit timestamp: 60 Time the packet arrived: 67

9.4 질의 We can calculate: Sending time = 59 - 46 = 13 milliseconds Receiving time = 67 - 60 = 7 milliseconds Round-trip time = 13 + 7 = 20 milliseconds

정확한 편도 시간을 알 수 있다면 타임스탬프 요청과 타임스탬프 응답 메시지를 사용하여 두 장치의 시계를 동기화 시킬 수 있다. 9.4 질의 정확한 편도 시간을 알 수 있다면 타임스탬프 요청과 타임스탬프 응답 메시지를 사용하여 두 장치의 시계를 동기화 시킬 수 있다.

9.4 질의 Given the actual one-way time, Time difference = receive timestamp - (original timestamp field + one-way time duration) We have: Time difference = 59 - (46 + 10) = 3

9.4 질의 주소 마스크 요청과 응답 디스크가 없는 국이 구동될 때 필요 호스트가 LAN 상의 라우터에 요청 메시지 송신 마스크 요청과 마스크 응답 메시지 형식

9.4 질의 라우터 요청과 광고 다른 네트워크 상의 호스트에 데이터를 보낼 때 자신의 네트워크에 연결된 라우터 주소를 알고자 할 때 호스트는 라우터 요청 메시지를 브로드캐스트 하거나 멀티캐스트 라우터는 광고 메시지를 이용하여 라우팅 정보를 브로드캐스트 라우터 요청 메시지 형식

9.4 질의 라우터 광고 메시지 형식

CHECKSUM 9.5

9.5 검사합 헤더와 데이터를 포함한 전체 메시지에 대해 계산

ICMP PACKAGE 9.6

9.6 ICMP 설계

9.6 ICMP 설계 입력 모듈 IP 계층으로 부터 수신된 ICMP 패킷 처리 Receive: an ICMP packet from the IP layer 1. If(the type is any of the three request types) 1. Create a reply. 2. Send the reply. 2. If(the type is a router solicitation) 1. If(station is a router) 1. Create a router advertisement. 2. Send the advertisement.

9.6 ICMP 설계 3. If(the type is one of the three reply messages or router advertisement) 1. Extract information in the data section of the packet. 2. Deliver extracted information to the process that requested it. 4. If(the type defines a redirection) 1. Modify the routing table. 5. If(the type defines an error message other than a redirection) 1. Inform the appropriate source protocol about the situation. 6. Return.

9.6 ICMP 설계 출력 모듈 상위 계층 또는 IP 프로토콜에 의해 요청된 요청, 청원, 오류 메시지 생성 Receive: a demand 1. If(the demand defines an error message) 1. If(the demand is from IP) 1. If(the demand is forbidden) 1. Return. 2. If(the type defines a redirection message) 1. If(the station is not a router) 1. Return

9.6 ICMP 설계 3. Create the error message using the type, the code, and the IP packet. 2. If(the demand defines a request or solicitation) 1. Create a request or solicitation message. 3. Send the message. 4. Return.