การตีความ TTL ในผลลัพธ์ ping


11

ฉันทำงานให้กับผู้ให้บริการ VoIP และฉันกำลังทำงานกับลูกค้าที่มีการเชื่อมต่ออินเทอร์เน็ตเคเบิลที่ทำให้ฉันต้องวนซ้ำ

เขามีบล็อกเดียวซึ่งเราจะทำเป็นว่า 70.141.15.0/29 โดยมีเกตเวย์ที่. 1 และเราเตอร์ที่. 2 และ. 3 เราเตอร์ทั้งสองเชื่อมต่อกับเคเบิลโมเด็มซึ่งเป็นความรู้ที่ดีที่สุดของเราตั้งค่าให้ผู้ให้บริการเคเบิลนึกว่า "โหมดบริดจ์" คืออะไร

ฉันกำลังกระตุกเราเตอร์เหล่านี้พร้อมกันจากกล่องเดียวกันซึ่งเป็นระบบ linux ที่เชื่อมต่อกับไฟเบอร์จาก (อาจ) ระดับ (3) ดังนั้นไม่มีความจำเป็นที่จะบอกว่าไม่มีใครบนโลกนี้ที่รู้ว่ามีกี่โหนดที่อยู่ระหว่างที่นี่และที่นั่น แต่ตรวจสอบผลลัพธ์ ping

ถึงเราเตอร์แรก:

64 bytes from 70.141.15.2: icmp_seq=2637 ttl=47 time=45.0 ms
64 bytes from 70.141.15.2: icmp_seq=2638 ttl=47 time=39.2 ms
64 bytes from 70.141.15.2: icmp_seq=2639 ttl=47 time=37.3 ms
64 bytes from 70.141.15.2: icmp_seq=2640 ttl=47 time=46.1 ms
64 bytes from 70.141.15.2: icmp_seq=2641 ttl=47 time=45.8 ms
64 bytes from 70.141.15.2: icmp_seq=2642 ttl=47 time=46.5 ms
64 bytes from 70.141.15.2: icmp_seq=2643 ttl=47 time=40.9 ms

จากวินาที:

64 bytes from 70.141.15.3: icmp_seq=631 ttl=239 time=54.7 ms
64 bytes from 70.141.15.3: icmp_seq=637 ttl=239 time=40.5 ms
64 bytes from 70.141.15.3: icmp_seq=638 ttl=239 time=40.3 ms
64 bytes from 70.141.15.3: icmp_seq=639 ttl=239 time=38.4 ms
64 bytes from 70.141.15.3: icmp_seq=640 ttl=239 time=44.9 ms
64 bytes from 70.141.15.3: icmp_seq=641 ttl=239 time=38.4 ms
64 bytes from 70.141.15.3: icmp_seq=642 ttl=239 time=38.8 ms

ตรวจสอบค่า TTL มันสมเหตุสมผลหรือไม่ อุปกรณ์เหล่านี้อยู่ติดกันโดยตรงเสียบเข้ากับโมเด็มนั้นผ่านพอร์ตสวิตช์แยก เราจะมีฮ็อปเพิ่มขึ้นเกือบ 200 วิธี จากการกระตุกเว็บไซต์อื่น ๆ ฉันได้รับความประทับใจว่า TTL ไม่ได้ดำเนินการตามที่ฉันคิด ฉันสงสัยว่ามี 200 ฮ็อประหว่างฉันกับ 4.2.2.2 หรือ woot.com แต่ฉันยังได้ผลลัพธ์ TTL ต่ำกว่า 50 รายการจากทั้งสองอย่าง

หนึ่งในเราเตอร์เหล่านี้ (อันที่มี TTL สูงกว่า) มาจาก Fortinet ในขณะที่อีกตัวหนึ่งเป็นอุปกรณ์ที่ใช้ Linux เอง ฉันค่อนข้างแน่ใจว่า Forti มีเครือข่ายที่ใช้งานในบ้านในขณะที่กล่อง Linux ใช้สิ่งที่มาพร้อมกับแหล่งที่มาของฮาร์ดแวร์ที่ดาวน์โหลดมา เป็นไปได้หรือไม่ที่ ICMP echo ถูกนำไปใช้ในรูปแบบที่แปลกประหลาดกับสิ่งเหล่านี้และจงใจส่งคำตอบทั้งหมดด้วย TTL ที่ 50?

ฉันยังสังเกตเห็นว่าหนึ่งในเว็บไซต์เดียวที่ฉันสามารถค้นหาได้ว่าการตอบกลับด้วย TTL ที่ดูมีเหตุผลคือ slashdot และฉันสามารถจินตนาการได้ว่าเซิร์ฟเวอร์และเราเตอร์ของพวกเขาอาจจะน้อยกว่า "สิ่งที่เราพบในโรงรถ" กว่าเว็บไซต์ทั่วไป การเรียงลำดับทำให้ฉันรู้สึกว่าฉันอาจจะอยู่ในเส้นทางที่ถูกต้องด้วยการคาดคะเนครั้งสุดท้าย

ในการสรุป: TTL บน ping มีความหมายว่าอะไรเชื่อถือได้หรือไม่?


3
ฉันอ่านบางที่ Windows XP และ Windows 7 ตั้งค่า TTL เป็น 128 และสำหรับระบบ Linux โดยทั่วไปพวกเขามี TTL 64 ไม่สมบูรณ์แบบ แต่มีประโยชน์มากที่จะรู้บางครั้ง
ฌอน

คำตอบ:


22

ดังนั้นไม่มีความจำเป็นที่จะบอกว่าไม่มีใครบนโลกนี้ที่รู้ว่ามีกี่โหนดที่อยู่ระหว่างที่นี่และที่นั่น

ฉันรู้ว่ามีกี่โหนด มี 16 เหตุผลที่คุณได้รับการตอบสนองที่แตกต่างกันเป็นเพราะระบบปฏิบัติการที่แตกต่างกันใช้ค่าเริ่มต้นที่แตกต่างกันสำหรับ TTL อุปกรณ์บางอย่างใช้ 255 ในขณะที่อุปกรณ์อื่นใช้ 63 ดังนั้นหนึ่งในอุปกรณ์ที่คุณส่ง Ping จะตอบกลับโดยตั้งค่า TTL เป็น 255 เมื่อถึงเวลาที่คุณจะติดต่อกลับ

อุปกรณ์อื่นที่คุณ ping ตั้งค่า TTL เป็น 63 ดังนั้นเมื่อถึงมือคุณค่าคือ 47

255-239 = 63-47 = 16

หากคุณต้องการแน่ใจเกี่ยวกับจำนวนฮ็อพระหว่างคุณและเป้าหมายให้ใช้ traceroute


ขอบคุณ! ฉันกำลังตั้งสมมติฐานว่าตอนนี้ฉันรู้แล้วว่าไม่มีมูลความจริง (ที่แพ็กเก็ตการส่งคืน TTL เป็นไปในทางที่กำหนดโดยแพ็กเก็ตการร้องขอ TTL) อีกหนึ่งคำถาม: 255 และ 63 ค่าตามมาตรฐานหรือโดยพลการ นั่นคือฉันสามารถสันนิษฐานได้อย่างปลอดภัยว่าจุดเริ่มต้นชีวิตสามหลักของ TTL ที่ 255 หรือไม่?
Daniel Thompson

3
ฉันไม่คิดว่าจะมี "มาตรฐาน" เกี่ยวกับเรื่องนี้ OTOH ฉันไม่เคยเห็นระบบที่ไม่ใช่อย่างใดอย่างหนึ่ง
Ron Trunk

63 เสียงเหมือนค่าที่ผิดปกติสำหรับ TTL เริ่มต้น
JeanPierre

2

ค่า TTL ถูกกำหนดโดยเครื่องระยะไกล ตัวอย่างเช่นหากคุณ ping เครื่อง Linux ค่า TTL ที่ได้รับมาคือ 64 ขึ้นอยู่กับจำนวนเครือข่ายที่ข้ามเพื่อรับกลับมาที่คุณ TTL จะถูกหักด้วยค่า 1 ดังนั้นถ้าคุณ ping 8.8.8.8 ซึ่งเป็น Googles เนมเซิร์ฟเวอร์นั้นมีค่าเริ่มต้นเท่ากับ 128 เมื่อถึงเวลาที่คุณกลับมาถึงคุณอาจมีค่า 121 (สำหรับฉัน) นั่นหมายความว่ามันข้าม 7 เครือข่ายมาหาฉันและมันก็เป็นเครื่อง windows

ค่า TTL ทั่วไป

  • เราเตอร์ - 255
  • Windows - 128
  • Linux-Mac - 64

0

128-Windows, Linux และเราเตอร์ 64 ตัว, 60- หายากมาก, 32-Windows 95

และไม่มีใครใช้ 63 อาจเป็นไปได้ว่าเราเตอร์อีกตัวบนเส้นทางการส่งคืน


0

ลอง "Tracert [IP ADDRESS]" เพื่อดูจำนวนเส้นทางทั้งหมด

หากระบบเริ่มต้นที่ 64 TTL หากคุณใช้ TRACERT อุปกรณ์ที่อยู่ห่างออกไปหนึ่งครั้งคุณจะได้รับ TTL = 63

ฉันพยายามและนั่นคือสิ่งที่ฉันได้รับ ฉันสงสัยเสมอว่า TTL ... hmm cool 😎


สิ่งนี้ไม่ตอบคำถามที่ถาม
Teun Vink
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.