Supakorn Visutthicho
ทำความเข้าใจการทำงานของ Traceroute กัน
คำสั่งที่เอาไว้ตรวจสอบการทำงานบนระบบเครือข่ายมีอยู่มากมาย ซึ่งคำสั่งพื้นฐานที่เราคุ้นเคยกันเป็นอย่างดี ที่ใช้สำหรับตรวจสอบว่าเครื่องต้นทางกับปลายทางสามารถติดต่อสื่อสารกันได้ไหม นั่นก็คือคำสั่ง Ping
Ping ก็จะเป็นคำสั่งที่ใช้ตรวจสอบการสื่อสารระหว่างเครื่องต้นทางกับปลายทางแบบ End-to-End เลย แต่เราจะไม่เห็น Hop ระหว่างทาง เมื่อเกิดปัญหาเวลาที่เราทดสอบ Ping จากเครื่องต้นทางไปยังปลายทางแล้วมันไปไม่ได้ เราก็จะไม่รู้ว่ามันหายไปที่ Hop ไหน
ดังนั้น อีกคำสั่งนึงที่จะช่วยให้เรามองเห็นเส้นทางแต่ละ Hop ระหว่างเครื่องต้นทางกับปลายทางได้ ก็คือ traceroute
Ping ก็จะเป็นคำสั่งที่ใช้ตรวจสอบการสื่อสารระหว่างเครื่องต้นทางกับปลายทางแบบ End-to-End เลย แต่เราจะไม่เห็น Hop ระหว่างทาง เมื่อเกิดปัญหาเวลาที่เราทดสอบ Ping จากเครื่องต้นทางไปยังปลายทางแล้วมันไปไม่ได้ เราก็จะไม่รู้ว่ามันหายไปที่ Hop ไหน
ดังนั้น อีกคำสั่งนึงที่จะช่วยให้เรามองเห็นเส้นทางแต่ละ Hop ระหว่างเครื่องต้นทางกับปลายทางได้ ก็คือ traceroute
Traceroute คืออะไร?
Traceroute เป็นคำสั่งที่ใช้สำหรับทดสอบการสื่อสารจากต้นทางไปยังปลายทางคล้ายกับ Ping แต่มันจะเก็บรายละเอียดระหว่างการส่งข้อมูลไปในแต่ละ Hop ตลอดเส้นทางเพิ่มขึ้นมาด้วย ทำให้เรามองเห็นว่าเส้นทางจากต้นทางไปยังปลายทางนั้นผ่าน Hop ไหนบ้าง และค่า Round Trip Time (RTT) ของแต่ละ Hop นั้นเป็นอย่างไร หรือ กรณีที่ส่งจากต้นทางไปยังปลายทางไม่ได้ เราก็จะสามารถเห็นได้ว่าไปติดที่ Hop ไหน
Traceroute เป็นคำสั่งที่ใช้สำหรับทดสอบการสื่อสารจากต้นทางไปยังปลายทางคล้ายกับ Ping แต่มันจะเก็บรายละเอียดระหว่างการส่งข้อมูลไปในแต่ละ Hop ตลอดเส้นทางเพิ่มขึ้นมาด้วย ทำให้เรามองเห็นว่าเส้นทางจากต้นทางไปยังปลายทางนั้นผ่าน Hop ไหนบ้าง และค่า Round Trip Time (RTT) ของแต่ละ Hop นั้นเป็นอย่างไร หรือ กรณีที่ส่งจากต้นทางไปยังปลายทางไม่ได้ เราก็จะสามารถเห็นได้ว่าไปติดที่ Hop ไหน
การทำงานของ Traceroute
traceroute จะใช้ค่า Time-To-Live หรือ TTL ในการทำงาน (ซึ่งเป็นค่าที่ถูกกำหนดขึ้นเพื่อใช้ป้องกันกรณีที่มี Loop ในระดับ Layer 3 เมื่อถึงค่าที่กำหนด Packet จะถูก drop ทิ้งไป) โดยเมื่อ Packet ถูกส่งผ่านไปแต่ละ Hop ค่า TTL จะลดลงไป 1 (TTL-1 เมื่อผ่าน Layer3) และเมื่อ TTL มีค่าเท่ากับศูนย์ Packet นั้นก็จะถูก Drop ไป และอุปกรณ์ตัวที่ Drop Packet ก็จะทำการส่ง ICMP Time Exceeded message กลับไปยังต้นทาง ซึ่ง Traceroute จะทำการส่งแพ็คเก็ตที่มีการกำหนดค่า TTL เพิ่มขึ้นทีละหนึ่งค่าไปเรื่อย ๆ เพื่อที่จะกำหนดขอบเขตจำนวน hop ที่ต้องการจะตรวจสอบการทำงาน เริ่มจาก hop ที่หนึ่งไปเรื่อย ๆ จนกว่าจะถึงปลายทาง
traceroute จะใช้ค่า Time-To-Live หรือ TTL ในการทำงาน (ซึ่งเป็นค่าที่ถูกกำหนดขึ้นเพื่อใช้ป้องกันกรณีที่มี Loop ในระดับ Layer 3 เมื่อถึงค่าที่กำหนด Packet จะถูก drop ทิ้งไป) โดยเมื่อ Packet ถูกส่งผ่านไปแต่ละ Hop ค่า TTL จะลดลงไป 1 (TTL-1 เมื่อผ่าน Layer3) และเมื่อ TTL มีค่าเท่ากับศูนย์ Packet นั้นก็จะถูก Drop ไป และอุปกรณ์ตัวที่ Drop Packet ก็จะทำการส่ง ICMP Time Exceeded message กลับไปยังต้นทาง ซึ่ง Traceroute จะทำการส่งแพ็คเก็ตที่มีการกำหนดค่า TTL เพิ่มขึ้นทีละหนึ่งค่าไปเรื่อย ๆ เพื่อที่จะกำหนดขอบเขตจำนวน hop ที่ต้องการจะตรวจสอบการทำงาน เริ่มจาก hop ที่หนึ่งไปเรื่อย ๆ จนกว่าจะถึงปลายทาง
Note :โดยปกติในการส่งข้อมูล Traceroute บน Unix-based OS หรือบน Cisco IOS จะใช้ UDP หมายเลขพอร์ตตั้งค่า 33434 ถึง 33534 ในการส่งข้อมูล ส่วนบน Windows OS จะใช้งาน ICMP ในการส่งข้อมูล
ในบทความนี้ก็หวังว่าจะทำให้ทุกท่านเข้าใจการทำงานของ Traceroute นะครับ แล้วพบกันใหม่ในบทความต่อไปครับ
Supakorn visutthicho (nut)
3XCCIE #43646 I CCDevP | HCSP IP-Network | VSP/VTSP - SDWAN | CompTIA Sec+/Network | Fortigate NSE 4 | PCNSE
- Now I’m a Technical Solution Specialist with 15+ years experience in providing professional network consulting, implementation service to many leader companies in Thailand.
- 12 Years experience in technical trainer to new employee and clients. Freelance trainer in Cisco technology and certification
Plantecplus Co.,Ltd (NetPrime Training)
118/28 ถนน พระรามที่ 6 แขวงพญาไท เขตพญาไท กรุงเทพมหานคร 10400
โทร. 086-785-3213
อีเมล : netprime@plantecplus.com
118/28 ถนน พระรามที่ 6 แขวงพญาไท เขตพญาไท กรุงเทพมหานคร 10400
โทร. 086-785-3213
อีเมล : netprime@plantecplus.com
Blog
Terms
Cookies
Privacy
Copyright © 2022
เว็บไซต์เพิ่งย้ายระบบและทำการปรับปรุง
คอร์สที่เป็น Virtual Classroom และ Classroom ที่มีเอกสารอบรม ยังไม่เรียบร้อยดี กำลังอัพเดทค่ะ