°³¿ä
Van Jacobson¿¡ ÀÇÇØ °³¹ß
host¿¡¼ ´Ù¸¥ host·ÎÀÇ datagramÀÇ È帧(route)À» Ç¥½Ã.
ICMP¿Í IP header³»ÀÇ TTL(time to live)¸¦ ÀÌ¿ë.
traceroute¿¡ »ç¿ëµÇ´Â ICMP´Â type 11ÀÇ Time Exceeded Message, type 3ÀÇ Port Unreachable Message.
¸ñÀûÁö±îÁö ã¾Æ°¡´Â °æ·Î¸¦ ÆľÇÇÒ ¼ö ÀÖÀ½. ±×·¯³ª ±Íȯ°æ·Î¸¦ ¾Ë·ÁÁÖ´Â °ÍÀº ¾Æ´Ô.
Win95/98/NT¿¡¼´Â tracert¸¦ ÀÌ¿ë. Cisco router³ª Linux¿¡¼´Â traceroute¸¦ ÀÌ¿ë.
TRACERT ¸í·É¾î ±¸¹®
tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
Option¼³¸í
-d hostnameÀ» Ç¥½ÃÇÏÁö ¾Ê°í ip address¸¸ Ç¥½Ã
-h maximum_hops : ´ë»ó È£½ºÆ®±îÁö °Ë»öÇÒ ¼ö ÀÖ´Â ÃÖ´ë È©ÀÇ ¼ö
-j host-list : Loose source route along host-list
-w timeout : wait tumeout millisecounf for each reply
µ¿ÀÛ¿ø¸®
1.1.1.1¿¡¼ ¸ñÀûÁö 10.10.10.10¿¡ ´ëÇØ TTL=1ÀÎ ICMP echo request¸¦ »ý¼º/Àü´Þ
ù¹ø° IP³×Æ®¿÷Àåºñ°¡ TTLÀ» 1À» °¨¼Ò½ÃÅ°°í TTL=0ÀÌ µÇ¹Ç·Î TTLÀÌ ¸ðÀÚ¶ó ´õ ÀÌ»ó packetÀ» Àü´ÞÇÒ ¼ö
¾ø´Ù´Â ICMP time exceed¸¦ 1.1.1.1¿¡°Ô Àü´Þ
1.1.1.1¿¡¼´Â ÀÌ ICMP time exceed¸¦ º¸°í ¸ñÀûÁö±îÁö °¡´Â °æ·Î»óÀÇ Ã¹¹ø° Àåºñ ip address¿Í delay¸¦
¾Ë¾Æ³¿.
1.1.1.1¿¡¼ TTL=2ÀÎ ICMP echo request¸¦ ´øÁü. ¸ñÀûÁö±îÁö °¡´Â °æ·Î»óÀÇ µÎ¹ø° Àåºñ°¡ ICMP time
exceed¸¦ ¹ß»ý½ÃÅ°°í 1.1.1.1¿¡¼´Â ÀÌ°ÍÀ¸·Î µÎ¹ø° Àåºñ±îÁöÀÇ delay¸¦ ¾Ë¾Æ³¿.
ÀÌ°ÍÀÌ ¸ñÀûÁö±îÁö °è¼ÓµÊ
ºÐ¼®¹æ¹ý
Á¾Á¾ ¸ñÀûÁö Áß°£°æ·Î¿¡ ÀÖ´Â Àåºñ¿¡¼ timeout Çö»ó(º°Ç¥ *°¡ ³ªÅ¸³ª´Â Çö»ó)ÀÌ ¹ß»ýÇϴµ¥ ÀÌ°ÍÀÌ source¿Í
destination°£ÀÇ ³×Æ®¿÷»óŸ¦ Á¤È®È÷ ¾Ë·ÁÁÖ´Â °ÍÀº ¾Æ´Ô.
¸î¸î IP³×Æ®¿÷Àåºñ¿¡¼´Â ICMP packetÀÌ ¾Æ´Ñ ´Ù¸¥ ÀϹÝÀûÀÎ packet¿¡ º¸´Ù ¸¹Àº ½Ã°£À» ÇÒ¾ÖÇϵµ·Ï ¼³°èµÈ
°æ¿ì°¡ Àִµ¥ ÇØ´ç IP³×Æ®¿÷Àåºñ°¡ ¸Å¿ì ¹Ù»Ü°æ¿ì¿¡´Â TTL=0ÀÎ packet¿¡ ´ëÇؼ ICMP time exceedµîÀ» »ý¼º
/Àü´ÞÇÏÁö ¾Ê´Â °æ¿ì°¡ ¸¹À½.
´Ù¸¥ °æ¿ì´Â Áß°£°æ·Î¿¡ ÀÖ´Â IP³×Æ®¿÷Àåºñ°¡ ¾Æ¿¹ ICMP echo reply ȤÀº ICMP time exceed¸¦ ¹ß»ýÇÏÁö ¾Ê´Â
°æ¿ìÀε¥ ÁÖ·Î ÀÌ·¯ÇÑ ÀåºñµéÀº Firewall ÀÎ °æ¿ì°¡ ¸¹À½. ±×·¯³ª FirewallÀ̶ó°í Çؼ ICMP echo reply, ICMP
time exceed¸¦ »ý¼ºÇÏÁö ¾Ê´Â °ÍÀº ¾Æ´Ï¸ç, °ü¸®ÀÚÀÇ ¼³Á¤¿¡ µû¶ó Á¿ìµÊ.
ÀÌ·¯ÇÑ ÀÌÀ¯·Î traceroute ¼öÇà½Ã Áß°£°æ·Î»óÀÇ timeout Çö»ó¿¡ ´ëÇؼ´Â ¹«½ÃÇصµ ÁÁÀ¸¸ç, ÃÖÁ¾¸ñÀûÁö¿Í
pingÀÇ »óÅ°¡ ÁÁÀºÁö¸¦ ÆľÇÇÏ´Â °ÍÀÌ º¸´Ù Áß¿äÇÔ
Traceroute Program Operation
Intermediate ¶ó¿ìÅÍ¿¡ Ưº°ÇÑ optionÀÌ ¿äÇÏÁö ¾ÊÀ¸¸ç( IP RR°æ¿ì ¸ðµç ¶ó¿ìÅÍ¿¡ µ¿À۵Ǵ °ÍÀº ¾Æ´Ï¸ç, ¾î¶² path¿¡¼µµ »ç¿ë ºÒ°¡)
¾î´À ƯÁ¤ÇÑ server application ¾øÀÌ ¿øÇÏ´Â ¸ñÀûÁö¿¡ UDP¸ðµâÀÌ µ¿ÀÛÇÏ°í ÀÖÀ¸¸é µÈ´Ù.
ICMP + TTL( IP header ) ¸¦ »ç¿ë
TTL
¢¹¼Û½Å½Ã ƯÁ¤ÇÑ °ªÀ¸·Î ÃʱâÈ (±Ç°í : 64 )
¢¹Datagram¸¦ ´Ù·ç´Â °¢ ¶ó¿ìÅÍ°¡ datagramÀ» ó¸®ÇÏ´Â1Ãʳª ¼öÃʸ¸Å TTL °¨¼Ò
¢¹´ëºÎºÐÀÇ ¶ó¿ìÅÍ°¡ 1ÃÊ À̳»·Î datagramÀ» ó¸®Çϱ⠶§¹®¿¡ TTLÀº HOP Counter·Î ÀÌ¿ëµÇ¸ç, °¢ ¶ó¿ìÅ͸¶´Ù
1¾¿ °¨¼Ò.
¢¹¸ñÀû : ¶ó¿ìÆà º¯È¯ µµÁß ¹ß»ýÇÒ ¼ö ÀÖ´Â ¹«ÇÑ loop»óÅ·Îdatagram Àü¼ÛÀÌ ³¡³ª¹ö¸®´Â °ÍÀ» ¹æÁö.
TTLÀÌ “0” ¶Ç´Â “1”ÀÎ datagramÀ» ¼ö½ÅÇÑ ¶ó¿ìÅÍ´Â ÀÌ datagramÀ» forward ÇÏ´Â ´ë½Å(¸ñÀûÁö È£½ºÆ®°æ¿ì´Â ÀÌ
datagramÀ» applicationÀ¸·Î Àü´ÞÇÑ´Ù), datagram¸¦ Æó±â½ÃÅ°°í´Â ¼Û½Å È£½ºÆ®¿¡ ICMP “time exceeded”
message¸¦ µÇµ¹·Á º¸³½´Ù.)
ÀÌ ICMP message¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â IP datagram¿£ ÇØ´ç ¶ó¿ìÅÍÀÇ IP ÁÖ¼Ò°¡ Æ÷ÇԵǾî Àִµ¥, Traceroute´Â
À̸¦ ÀÌ¿ëÇÏ¿© route¸¦ ÃßÀûÇÑ´Ù
µ¿ÀÛ¼ø¼
¨ç TTL=1ÀÎ DatagramÀ» ¸ñÀûÁö È£½ºÆ®·Î ¼Û½ÅÇϸé
¨è ù¹ø° ¶ó¿ìÅÍ°¡ TTL=0À¸·Î °¨¼Ò½ÃÅ°°í, ¸ñÀûÁö È£½ºÆ®°¡ ¾Æ´Ò °æ¿ìdatagram¸¦ Æó±âÇÏ°í´Â ICMP time
exceeded message¸¦ µÇµ¹·Á º¸³½´Ù. ¸ñÀûÁöÀÏ °æ¿ì´Â datagram¸¦ Æó±âÇÏÁö ¾ÊÀ¸¸ç, ICMP time exceeded
message´Â µÇµ¹·Á º¸³½´Ù.(¼Û½Å È£½ºÆ®´Â À̸¦ ÅëÇØ ¸ñÀûÁö È£½ºÆ®±îÁöÀÇ routeÁß Ã¹¹ø° ¶ó¿ìÅÍÀÓÀ» ÀÎÁö)
¨é TTL=2 ÀÎ datagram¸¦ µÎ¹ø° ¶ó¿ìÅÍ¿¡°Ô Àü¼Û
¨ê ¸ñÀûÁö È£½ºÆ®°¡ ¾Æ´Ò°æ¿ì ¨è¿Í µ¿ÀÏÇÏ°Ô µ¿ÀÛ
¨ë ¸ñÀûÁö È£½ºÆ®±îÁö ´Ù´Þ¸¦ ¶§±îÁö TTL¸¦ Áõ°¡½ÃÅ°¸ç route¸¦ ÃßÀû
¾ðÁ¦ ¸ñÀûÁö¿¡ µµÂøÇß´ÂÁö ¾î¶»°Ô ¾Ë ¼ö ÀÖ³ª?
¢¹Traceroute´Â UDP datagram¸¦ ¸ñÀûÁö È£½ºÆ®¿¡ ¼Û½ÅÇϸç,
¢¹À̶§ ¸ñÀûÁö UDP port number´Â ¸ñÀûÁö È£½ºÆ®ÀÇ application¿¡ »ç¿ëÇÏÁö ¾ÊÀ» ¸¸ÇÑ 30,000ÀÌ»óÀÇ ¹øÈ£¸¦
¼±ÅÃÇÑ´Ù.
¢¹ÀÌ´Â ¸ñÀûÁö È£½ºÆ®ÀÇ UDP¸ðµâ¿¡ ÀÌ datagramÀÌ µµÂøÇÒ ¶§ ICMP “port unreacheable error¸¦ ¹ß»ýÄÉ Çϸç,
ÀÌ·Î½á ¼Û½ÅÁö È£½ºÆ®´Â ¸ñÀûÁö¿¡ µµ´ÞÇßÀ½À» ¾Ë°ÔµÈ´Ù.
|