Document 7588676

Download Report

Transcript Document 7588676

ICMP
(Internet Control Message Protocol)
SE_LAB
이중영
목 차






ICMP의 개요
계층별 프로토콜에서의 ICMP
ICMP 캡슐화
ICMP Message Format
ICMP 서비스 (ICMP Message Type)
ICMP 문제점 및 해결책
2016년 5월 24일
2
ICMP의 개요 (Cont)

ICMP
호스트 서버와 인터넷 게이트웨이 사이에서 메시
지를 제어하고 에러를 알려주는 프로토콜
RFC 792에 정의
IP 네트워크 라우팅에 대해 IP프로토콜이 사용되
는 반면에 ICMP는 IP를 대신하여 오류와 제어 메
시지를 보고함
Ping 명령어로 인터넷 접속을 테스트함
2016년 5월 24일
3
ICMP의 개요 (Cont)

ICMP 오류 탐지
라우터가 원 근원지에게 오류를 보고하는 방법





IP 데이터그램에 관한 ICMP 오류 메시지는 데이터
그램 작성자에게 보내짐
출발지 A에서 목적지 B로 보낸 데이터 그램이 라우
터 R1, R2, R3경로를 거쳐가는 상황에서 오류
데이터그램의 IP헤더는 원본 출발지 IP 주소와 최
종 목적지 IP 주소만을 소유함
에러에 따른 ICMP메시지를 출발지에 보내어 확인
그림2
2016년 5월 24일
4
목적지
2016년 5월 24일
출발지
5
ICMP의 개요 (Cont)
ICMP가 오류 메시지를 만들지 않는 경우





ICMP 에러 메시지
IP 브로드캐스트 주소나 IP 멀티캐스트 주소로 가
는 데이터그램
링크 계층의 브로드캐스트로서 송신되는 데이터그
램
단편화된 것 중 처음 부분이 아닌 데이터그램
송신지 주소가 단일 호스트로 지정되어 있지 않은
데이터그램(즉, 제로 주소, 루프백 주소, 브로드캐
스트 주소, 멀티캐스트 주소)
2016년 5월 24일
6
계층별 프로토콜에서의 ICMP

계층별 프로토콜에서의 ICMP
ICMP는 OSI 7계층에서 네트워크 계층으로 IP계
층 또는 상위계층 프로토콜(TCP,UDP)에 의해서
이용
ICMP는 3계층인 네트워크 계층
2016년 5월 24일
7
계층별 프로토콜에서의 ICMP (Cont)
사용자 프로세스
사용자 프로세스
사용자 프로세스
TCP
ICMP
ARP
사용자 프로세스
응용 계층
전송 계층
UDP
IP
IGMP
네트워크
계층
하드웨어 인터페이스
RARP
링크 계층
전송매체
2016년 5월 24일
8
계층별 프로토콜에서의 ICMP (Cont)
응용(Application)계층


TCP/IP 프로토콜을 이용하는 서비스로서 대부분의
시스템에서 제공하는 여러기능
FTP,SMTP,TELNET,HTTP
전송(Transport)계층


두 호스트 간에 종단 간 연결을 맺고 데이터를 전달
할 수 있는 기능
TCP:접속형 전송 서비스 , UDT:비 접속형 전송
2016년 5월 24일
9
계층별 프로토콜에서의 ICMP (Cont)
네트워크(Network)계층


네트워크 상의 패킷 이동의 제어 즉, 패킷을 교환하
는 경로 선택
ICMP, IP, IGMP
링크(Link)계층


패킷을 전달하는 물리적 인터페이스와 관련된 하드
웨어를 제어
ARP, RARP
2016년 5월 24일
10
ICMP 캡슐화

ICMP캡슐화
ICMP 메시지는 인터넷과 라우터를 거쳐서 운반되
어야 하므로 IP에 의해 캡슐화 됨
ICMP 메시지는 IP 데이터그램으로 전송
ICMP 헤더
IP 헤더
ICMP 데이터
IP 데이터
제 3계층
제 3계층
IP 데이터 그램
Data Link 계층
헤더
2016년 5월 24일
Data Link 계층 프레임 데이터
제 2계층
11
ICMP 캡슐화 (Cont)
ICMP를 운반하는데 사용되는 IP헤더
버전
4
헤더 길이
(32비트 워드)
IP 옵션을 사용하는 경우를 제외하고는 대개 5로 설정
TOS
0(우선권:루턴,보통 지연시간, 보통 처리시간, 보통 신뢰도
총길이
ICMP 메시지의 크기에따라 다름
식별
이전에 보내진 데이터그램에 따라 다름
활동 시간
구현에 따라 다름, 데이터그램이 목적지에 도달할 만큼 충분해야함
프로토콜
1(ICMP 메시지를 나타냄)
첵섬
실제 데이터에 달려있음
출발지 IP
ICMP 메시지를 구성하는 라우터 또는 호스트의 IP주소
목적지 IP
ICMP가 보내질 대상 라우터나 호스트의 IP주소
2016년 5월 24일
12
ICMP Header Format

ICMP Header Format
특정 ICMP 메시지를 나타내는 유형(Type) 필드는
15개의 서로 다른 값을 갖고 있음
ICMP 메시지의 몇가지 유형은 특정 상태를 나타
내기 위해 서로 다른 값을 갖는 코드(Code) 필드
를 사용함
검사합(Checksum) 필드는 ICMP 전체 메시지를
대상으로 함
ICMP 메시지가 조회(query) 메시지 인지, 에러
(error) 메시지 인지 구분
2016년 5월 24일
13
ICMP Header Format (Cont)
0
78
Type
15 16
Code
31
Checksum
Message Dependant
Information
8-bit 정수형 메시지 Type 필드: 메시지를 나타냄
8-bit Code 필드 : 메시지 타입에 대한 추가적인 정보
16-bit Checksum 필드
대부분의 ICMP메세지에서는 사용되어 지지 않고, 추가적인 확장
을 위하여 reserved되어 있고 보내어질 때 ‘0’이어야 한다.
2016년 5월 24일
14
ICMP 서비스

ICMP 서비스
ICMP는 다양한 오류 메시지, 정보 및 진단 서비스
를 제공함



반향 : IP 노드의 신뢰성을 결정하기 위한 진단도구
로 사용
목적지 미도달 : 목적지 IP 노드에 도달하지 않았다
는 것을 나타내기 위해 사용
출발지 억제 : 출발지 집중 문제를 나타내기 위해
사용
2016년 5월 24일
15
ICMP 서비스 (Cont)






재지정 : 대체 경로를 알리기 위해 라우터에 사용
시간초과 : IP 헤더 TTL 필드 값의 만료를 나타내기
위해 사용
매개변수 문제 : IP 데이터그램의 문제를 나타내기
위해 사용
타임 스탬프 : 인터넷에서 시간을 재기 위해 사용
주소 마스크 : 네트워크의 서브넷 마스크 정보를 입
수하기 위해 사용
그림 ICMP 메시지 형태
2016년 5월 24일
16
2016년 5월 24일
17
ICMP 서비스 (Cont)

ICMP Message Type
ICMP Type 0과 8 – 반향/Ping


가장 널리 사용되는 ICMP 메시지
Ping 유틸리티는 IP 노드가 ‘살아 있고’ 도달할 수
있는지 여부를 검사하기 위해 사용됨
ICMP Type 3 – 목적지 미도달


데이터그램을 목적지에 전달하기 위해 사용되는 라
우터 사슬의 마지막 라우터가 탐지되어 실패의 원
인을 송신자에게 제공
Code 필드는 목적지에 도달하지 못한 이유 에 대
한 추가 정보를 제공
2016년 5월 24일
18
ICMP 서비스 (Cont)
ICMP Type 4 – 출발지 억제


라우터의 집중으로 인해 출발지 억제 메시지를 사
용하여 속도가 떨어졌다는 사실을 전달
라우터들이 수신 데이터그램의 범람을 막기위해 흐
름제어를 구현(버퍼의 넘침을 막음)
ICMP Type 5 – 재지정


라우터를 이용하여 네트워크의 경로 설정에 관한
최적의 정보 또는 최적에 가까운 정보를 찾음
호스트는 최소한의 경로 설정 정보를 갖도록 프로
그램 됨
2016년 5월 24일
19
2016년 5월 24일
20
ICMP 서비스 (Cont)
ICMP Type 11 - 시간초과


TTL필드의 원래 설정값이 너무 낮을때 발생
데이터 그램이 횡단해야 하는 원형 또는 너무 긴 루
프가 있을 때 발생
ICMP Type 13,14 – 타임 스템프 요청, 타임 스템
프 응답



ICMP Type 13과14 메시지는 원격 IP 노드로 부터
시간을 알아보기 위해 사용
타임 스템프는 송신자가 전송을 하기 전에 메시지
를 마지막 처리한 시간을 간직하고 있음
수신 타임 스템프는 메시지를 수신한 시간을 간직
2016년 5월 24일
21
2016년 5월 24일
22
2016년 5월 24일
23
ICMP 문제점

ICMP 문제점
Unreachable Type 의 보안 문제
Redirect의 보안 문제

대응책
ICMP가 전체 연결에 영향을 미치지 않게 특정 연
결에만 적용되도록 함
2016년 5월 24일
24