Computer Network: Fall 2012
Programming Assignment #2
수업 시간에 소개된 바와 같이 traceroute 프로그램은, UDP 기반인지 혹은 ICMP
기반인지에 관계없이, IP 데이터그램 헤더의 TTL 필드를 이용하여 목적지 호스트까지의 경로를
탐색하는 기능을 제공한다. 즉, UDP/ICMP probing message 에 대해 중간 라우터로부터 ICMP
TTL Expired 응답을 받으면 TTL 필드 값을 1 증가시켜 반복 시도하고, 최종 목적지에 도달하면
ICMP Echo Reply 혹은 Port Unreachable 응답 메시지를 수신하게 되어 경로 탐색이 종료된다.
아래 그림은 traceroute 프로그램의 이러한 동작 방식을 보여주고 있다.
이번 프로그래밍 과제는 TTL 필드 값을 1 부터 시작하여 순차적으로 증가시켜 나가며
경로를 탐색하는 기존의 traceroute 프로그램과는 달리 1 부터 n 까지의 TTL 값을 갖는 probe
messages 를 동시에 발생시켜 목적지까지의 경로를 병렬적으로 탐색하는 fast/parallel
traceroute 기능을 구현하는 것이다.
구현 프로그램은 다음과 같은 command line option 을 지원해야 한다. 이 option 과
traceroute 프로그램에 대한 전반적인 이해를 위해 Unix/Linux 환경에서 “traceroute” 명령어와
Windows 환경에서 “tracert” 명령어를 실습해 보면 많은 도움이 된다.
-w timeout : 응답 대기 시간을 millisecond 단위로 지정할 수 있다. (default: 10,000)
-h maxHops : 1 부터 maxHops 홉까지의 probe message 를 동시에 송출하도록 한다.
단, 이 option 이 지정되지 않을 때의
으로 한다.
-s : 결과를 source 로부터의 hop 순서대로 정렬하여 출력한다. Default 는 결과를
응답 순서대로 출력하는 것이다.
(Echo Reply) (Echo Reply) (Echo Reply)
评论0
最新资源