ความแตกต่างระหว่างโฮสต์ที่ไม่ตอบสนอง (*) และโฮสต์ที่ไม่สามารถเข้าถึงได้ (! H) ในเอาต์พุต traceroute


15

เมื่อใช้ traceroutes บางกระโดดกลับ * ซึ่งเท่าที่ฉันรู้หมายความว่าโฮสต์ไม่ตอบสนองต่อคำขอ ICMP echo และบางกระโดดอื่น ๆ (ส่วนใหญ่เป็นครั้งสุดท้าย) กลับมา! Hซึ่งตามหน้าคนหมายความว่าโฮสต์ไม่สามารถเข้าถึงได้ . สิ่งที่ไม่สามารถเข้าถึงได้หมายถึง? ที่นั่นไม่มีเส้นทางที่รู้จักไปยังที่อยู่นั้น?

คำตอบ:


4

ข้อแตกต่างง่ายๆคือสำหรับโฮสต์ที่เข้าถึงไม่ได้เราเตอร์ hop สุดท้ายจะส่งคืนการตอบกลับที่ไม่สามารถเข้าถึงปลายทาง ICMP ได้

เราเตอร์ส่วนใหญ่จะประมวลผล ACL หรือขีด จำกัด อัตรา แต่การสร้างการตอบกลับ ICMP ต้องการทรัพยากร CPU ดังนั้นจึงเป็นเรื่องธรรมดาที่จะไม่สร้างพวกเขา


16

คำตอบของ YLearn นั้นถูกต้อง แต่สิ่งสำคัญคือต้องรู้รายละเอียดเพิ่มเติม

  • * หมายความว่าเครื่องของคุณไม่ได้รับการตอบกลับ
  • !Hหมายความว่าเครื่องของคุณได้รับข้อความ ICMP "โฮสต์ปลายทางไม่สามารถเข้าถึงได้" จากโฮสต์ที่ระบุในtracerouteเอาต์พุต
  • ไม่ค่อยtracerouteสามารถบ่งบอกถึงข้อความที่ไม่สามารถเข้าถึงได้เช่น!Nหรือ!P(เครือข่ายหรือโปรโตคอล) เป็นต้น

โดยปกติเครื่องจะส่ง "ปลายทางโฮสต์ที่ติดต่อไม่ได้" เมื่อไม่สามารถส่งแพ็กเก็ต IP ไปยังเครือข่ายได้ สิ่งนี้อาจเกิดขึ้นเมื่อ:

  • ไม่มีเส้นทางไปยังปลายทาง
  • ที่อยู่ IP hop ถัดไปหรือที่อยู่ IP สุดท้ายไม่สามารถแก้ไขเป็นที่อยู่ L2 (ไม่มีการตอบกลับ ARP สำหรับที่อยู่ IP)

ตามที่ YLearn เขียนเราเตอร์สามารถกำหนดค่าให้ไม่ส่งข้อความ ICMP แต่คุณสามารถรับ*แทน!Hเมื่อคำขอของคุณถูกส่งไปอย่างเงียบ ๆ โดยนโยบาย ACL หรือไฟร์วอลล์ ในนโยบายความปลอดภัยการปล่อยเสียงเงียบเป็นเรื่องปกติ tracerouteลดลงที่เกิดจากนโยบายการรักษาความปลอดภัยขึ้นอยู่กับชนิดของการส่งข้อความไปด้วย Unix แบบดั้งเดิมtracerouteโดยค่าเริ่มต้นส่งแพ็กเก็ต UDP ไปยังพอร์ต "ผิดปกติ" เช่น 33434 แต่สามารถใช้วิธีอื่นได้เช่นกัน Windows tracertส่งคำขอ ICMP echo


2
แสดงรายละเอียดข้อความ ICMP ได้ดี นอกจากนี้ไฟล์ PDF ที่ดีเกี่ยวกับการแก้ไขปัญหา traceroute nanog.org/meetings/nanog45/presentations/Sunday/ …
Bruno R
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.