Liệu một traceroute / tracert hiển thị mỗi bước nhảy, hoặc nó bỏ qua / ẩn một số chi tiết của đường dẫn?


35

Tôi hiện đang học đại học để lấy bằng cử nhân Kỹ thuật mạng, và một trong những Giáo sư của tôi đã giải thích trong lớp rằng một traceroute cho thấy, ví dụ, 15 bước nhảy thực sự là trừu tượng hóa con đường, và trong thực tế, có nhiều nút hơn. Điều này có đúng không?

Điều này mâu thuẫn với tất cả mọi thứ tôi có thể tìm thấy trên traceroute. Theo hiểu biết của tôi, traceroute hoạt động bằng cách gửi các gói ICMP (hoặc UDP) đến một đích cụ thể với chỉ số TTL từ 0 -> n cho đến khi đến đích. Các gói thăm dò được gửi hết thời gian tại mỗi vị trí trên đường đi liên tiếp, tạo ra phản hồi "vượt quá thời gian" của ICMP và cuối cùng là thông báo "cổng không thể truy cập" khi đến đích.

Tôi hiểu sự không hoàn hảo của traceroute - ví dụ: lưu lượng truy cập theo dõi có thể bị chặn bởi một số cổng nhất định hoặc TTL của gói trả lời có thể được đặt thành TTL còn lại của đầu dò, khiến nó không bao giờ quay trở lại người gửi.

Tuy nhiên, sau rất nhiều nghiên cứu, tôi không thể tìm thấy bất cứ điều gì tham chiếu traceroute là không chính xác trong trường hợp một traceroute luôn trả về cùng một đường dẫn. Tương tự như vậy, không có gì liên quan đến việc có bất kỳ bước nhảy "phụ" nào không được báo cáo bởi traceroute (trừ các bước nhảy * * * đã hết thời gian mà không có phản hồi).

Tôi sẵn sàng thảo luận và tôi thực sự thích thú khi biết câu trả lời cho vấn đề này.


1
chỉ cần rõ ràng, gói icmp / udp đầu tiên sẽ có chỉ số TTL là 1, không phải 0
mellowd

1
Điều này có thể khiến bạn quan tâm: nanog.org/meetings/nanog47/presentations/Sunday/ Kẻ
codey

Câu trả lời:


40

Một traceroute sẽ cho bạn thấy có bao nhiêu bước nhảy lớp 3 từ A đến B.

Tuy nhiên, bạn có thể trải qua hàng trăm thiết bị chuyển mạch giữa. Bạn cũng có thể đi qua 10 bộ định tuyến ISP chạy vpn lớp 2 xuất hiện dưới dạng một bước nhảy. Một mạng MPLS có thể ẩn các phần bên trong của nó hoặc hiển thị các phần bên trong của nó cho bạn. Bạn có thể có tường lửa trong suốt trên đường dẫn.

Dù bằng cách nào, Giáo sư của bạn cũng đúng khi nói rằng bạn không thể đảm bảo rằng mọi thiết bị trong đường dẫn sẽ được tính là một bước nhảy đối với bạn. Vì những điểm trên tôi đã đề cập, bạn có thể trải qua 50 thiết bị nhưng nó có thể trông giống như ba đối với bạn.

Nó không xảy ra tất cả các thời gian mặc dù. Nếu bạn thấy 15 bước nhảy thì rất có thể là 15 bước nhảy.

Đây là một ví dụ cơ bản về MPLS được thiết lập liên quan đến TTL: http://www.juniper.net/techpub/en_US/junos13.2/topics/reference/configuration-statement/no-propagate-ttl-edit-prot Protocol -mpls.html


Cảm ơn bạn! Các tình huống bạn đã chỉ ra chắc chắn cung cấp cái nhìn sâu sắc hơn về những gì traceroute có thể bị thiếu.
WilHall

1
Đừng lo lắng. Ngay cả những thứ như đường hầm GRE cũng có thể ẩn các bước nhảy bên dưới vì tiêu đề GRE có chính nó
mellowd

18

Bất kỳ thiết bị nào không làm giảm giá trị trường IP TTL sẽ không hiển thị trong đường dẫn theo dõi. Ví dụ: Tường lửa ASA của Cisco có thể được cấu hình để giảm trường IP TTL cho các gói đi qua tường lửa ( đặt giảm kết nối-ttl ). Theo mặc định, TTL không bị giảm, do đó ẩn (tốt, phần nào) tường lửa.


13

Traceroute sẽ không hiển thị cho bạn các thiết bị không làm giảm các trường TTL của một datagram IP.

Nó cũng sẽ không hiển thị các thiết bị làm giảm trường TTL và tiêu thụ gói nếu TTL đạt đến 0, nhưng bỏ qua việc thông báo cho người gửi về sự kiện này thông qua một datagram ICMP. Điều này không hoàn toàn vô hình mặc dù; bạn có thể suy ra sự tồn tại của hop bị thiếu này trong traceroute bởi vì khi giá trị TTL cao hơn tiếp theo được sử dụng, thiết bị tiếp theo trong chuỗi sẽ phản hồi và chúng tôi biết rằng có gì đó giữa thiết bị đó và thiết bị trước đó đang giảm dần, nhưng không tự thông báo . Việc sử dụng truyền thống traceroutein dấu hoa thị khi nó không nhận được phản hồi; nó sẽ in một hàng dấu sao cho loại máy chủ này.

Ngoài ra còn có khả năng từ xa rằng một số bộ định tuyến ở giữa chọn lọc thay thế các thông điệp ICMP này tùy thuộc vào địa chỉ nguồn của chúng, làm cho một số phần của đường dẫn trông vô hình mặc dù chúng tạo ra phản hồi.


Đó không phải là một khả năng xa vời, tất cả những gì nó cần là một mạng sử dụng IP riêng cho các liên kết giữa các bộ định tuyến của họ và một mạng khác đã loại bỏ tất cả các gói có IP nguồn riêng.
Peter Green
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.