รู้จักคำสั่ง traceroute หรือ "tracert" ใน Windows ไหม? เป็นเครื่องมือที่ให้เห็นเส้นทางที่ connection ใช้เมื่อไปยังปลายทางเฉพาะ แม่น่าสนใจที่จะดูว่า packets ของคุณไปที่ไหนเมื่อเชื่อมต่อเว็บไซต์ แต่การใช้งานหลักคือ ดูว่า packets ถูกสูญหายที่ไหนในเส้นทาง
Traceroute คืออะไร
ก่อนจะไปดูวิธีใช้ traceroute มาพูดถึงว่ามันทำอะไรก่อน เมื่อ trace route คุณกำลัง monitor เส้นทางที่ packet ใช้และดูว่ามันจบที่ไหน หากเคยสั่งพัสดุพร้อม tracking คุณน่าจะดู (อย่างตื่นเต้น!) เส้นทางที่พัสดุไปถึงประตูบ้าน Traceroute เป็นกระบวนการคล้ายกัน แต่เราไม่สามารถติด tracking device บน packet ได้ เราต้องคิดวิธี track data packets
หาก packet หมดอายุขณะถูกเก็บโดย router จะ callback ไปที่มาของ packet ว่าหมดอายุ แม้เราจะดู packet ไปรอบ network โดยตรงเหมือนพัสดุที่ track ไม่ได้ เราสามารถส่ง packet ที่หมดอายุบน router แต่ละตัวเมื่อมาถึง Router ส่ง error message กลับ และเราสามารถวิเคราะห์ locations ที่รายงาน packet ตาย จากนั้นประมาณการได้ว่า packet กำลังไปไหน
ทำได้ด้วย property ของ packets ที่เรียกว่า TTL TTL คือ "Time To Live" กำหนดว่า packet ผ่าน router กี่ตัวก่อนหมดอายุ เมื่อ router จัดการ packet จะ decrement TTL ลง 1 ก่อนส่งต่อ หาก TTL ถึง 0 packet หมดอายุ และ router รายงานการหมดอายุ ระหว่าง traceroute ส่ง packet TTL 1 ออกไป ถูกจัดการโดย router แรก และหมดอายุทันที Router ส่ง error กลับ traceroute log location มัน traceroute ส่ง packet TTL 2 ผ่าน router แรก แต่หมดอายุบน router ที่สอง แล้วส่ง TTL 3 ต่อไป
ตัวอย่าง Traceroute ในการทำงาน
มาดูตัวอย่างสิ่งที่เกิดขึ้นระหว่าง traceroute
Computer ส่ง packet TTL 1 → Router A ลดลง 1 เหลือ 0 → TTL เป็น 0 packet ตาย → Router A รายงาน location
Computer ส่ง packet TTL 2 → Router A ลดลง 1 เหลือ 1 → ส่ง Router B → Router B ลดลง 1 เหลือ 0 → TTL เป็น 0 packet ตาย → Router B รายงาน location
Computer ส่ง packet TTL 3 → Router A ลดลง 1 เหลือ 2 → ส่ง Router B → Router B ลดลง 1 เหลือ 1 → ส่ง Server → Server ส่งยืนยันการเชื่อมต่อ

เห็นได้ว่าเรากำลังสร้างความเข้าใจว่า packet ไปไหน จากข้อมูลนี้ เมื่อ traceroute ได้ error จากปลายทาง จะหยุด traceroute และคุณวิเคราะห์ได้ว่า packet ไปที่ไหน มีประโยชน์มาก!
วิธีทำ Traceroute
มาดูวิธีทำ traceroute เปิด command window คลิก Start พิมพ์ cmd ในค้นหา กด Enter หรือ กด Windows Key+R พิมพ์ cmd ในหน้าต่างใหม่

ที่นี่ พิมพ์ tracert ตามด้วยปลายทาง เป็น URL หรือ IP (www.twitter.com หรือ 104.244.42.1) กด Enter traceroute จะเริ่ม log การเชื่อมต่อไปปลายทางที่ตั้ง นั่งดูได้เลย!

วิธีใช้ Traceroute วินิจฉัยปัญหา
ตอนนี้รู้ว่า traceroute ทำอะไร ใช้ค้นหาว่า connection ถูก drop ที่ไหน ทưởng像เราส่ง packet TTL เพิ่มขึ้น แต่เมื่อถึง TTL ระดับหนึ่ง ไม่ได้รับ error messages จาก router ถัดไปเลย น่าจะหมายความว่า router ถัดไปไม่ได้รับ packet เลย คอมพิวเตอร์จะรอ router ตอบ ถ้าไม่ได้รับ error จะรายงาน "Request Timed Out"

นี่มีประโยชน์อย่างไร?
ตอน connection ตาย ใช้ traceroute ดูว่ามันตายที่ไหนในเส้นทาง หาก packets ไม่ออกจาก router ของคุณก่อน timeout มีบางอย่างผิดกับ router ของคุณ หาก packet ออกจาก router สำเร็จแต่ตายที่ exchange น่าจะเป็นปัญหา ISP
ตอนติดต่อเว็บไซต์มีปัญหา สั่ง traceroute เช็ค connection หากได้ zero errors จาก router หรือ exchange ของคุณ แต่ timeout เกิดขึ้นภายหลังใน chain อาจไม่ใช่ router หรือ ISP ของคุณที่ผิด
สิ่งหนึ่งควรจำเวลาใช้ traceroute - packets ไม่ได้ใช้เส้นทางเดียวกันทุกครั้งที่ไปเว็บไซต์เฉพาะ ใส่ใจเรื่องนี้ตอนทำ traceroute และพยายามสรุปข้อสรุป
สรุป
แม้เป็นเครื่องมือสนุกสำหรับดูว่า packets ไปไหน traceroute ยังใช้ดูได้ว่ามัน fault ที่ไหน ตอนนี้คุณรู้ traceroute ทำงานยังไง ใช้ได้ดีขึ้นในการวินิจฉัยว่า packets ถูกสูญหายที่ไหน และปัญหาอาจอยู่ที่ไหน โชคดีกับการวินิจฉัย!