Điều quan trọng nhất cần nhớ là tuyến đường không tĩnh . Theo thiết kế, các tuyến đường trên internet công cộng luôn thay đổi. Đôi khi các tuyến đường thay đổi do cân bằng tải; đôi khi chúng thay đổi vì một nút đi xuống; đôi khi chúng thay đổi bởi vì các bộ định tuyến quyết định ngẫu nhiên theo nghĩa đen để thay đổi các quy tắc định tuyến (chỉ để làm mọi thứ rung chuyển).
Từ góc nhìn của người dùng cuối không có quyền truy cập cấp Quản trị viên hệ thống đến mọi bộ định tuyến trung gian và trung tâm internet duy nhất giữa nguồn gốc và đích của gói, bạn phải coi nó giống như Nguyên tắc không chắc chắn của Heisenberg.
Những điều cần cân nhắc:
Dựa trên "đích" IP được khai báo trong gói của bạn, các bộ định tuyến trung gian có thể quyết định định tuyến bạn khác . Do đó, nếu một traceroute là một nỗ lực để ánh xạ tuần tự các bộ định tuyến giữa nguồn và đích, thì một traceroute có thể bị loại bỏ khỏi khóa học bằng cách các tuyến có các đường khác nhau tùy thuộc vào nút nào bạn đang cố gắng tiếp cận.
Không phải tất cả các bộ định tuyến sẽ lắng nghe các ping ICMP hoặc UDP. Họ có thể chọn âm thầm bỏ qua lưu lượng này và chỉ thả nó tại NIC (thường là để giúp chống lại DDoS). Điều này có thể làm nản lòng nỗ lực của bạn để lập bản đồ một tuyến đường.
Ngay cả khi bạn ánh xạ thành công tuyến đường và tất cả các nút trung gian trả lời ping của bạn và không cố gắng thực hiện với nỗ lực ánh xạ của bạn, tuyến đường có thể thay đổi cho các gói tiếp theo bạn gửi bằng giao thức "thực" (hoặc ngay cả khi bạn thử một traceroute lần thứ hai).
QoS có thể khiến các mạng hoạt động bình thường định tuyến lưu lượng khác nhau. Chẳng hạn, VoIP hoặc phát trực tuyến video có thể đi theo một con đường, trong khi duyệt web thông thường có thể đi theo một con đường khác.
Các kiểu lưu lượng có thể làm cho định tuyến khác nhau. Chẳng hạn, ngay cả khi không xem xét QoS, bạn có thể nhận được một đường dẫn khác cho FTP so với bạn nhận được cho SSH. Các nút trung gian có thể tập thể dục bất cứ quyết định nào .
Về lý thuyết, các bộ định tuyến trung gian cũng có thể, nếu họ muốn, biến nỗ lực theo dõi của bạn thành một chu kỳ vô hạn: nút A trỏ đến nút B, nút B trỏ đến nút C và nút C quay lại nút A. Không có gì dừng lại các bộ định tuyến thực hiện điều này (tôi không chắc tại sao họ lại chọn, nhưng đó là khả năng) cho các gói được phát hiện là "traceroutes" (ping ICMP hoặc UDP). Nó có thể làm điều này để cố gắng giảm bớt nỗ lực của bạn, hoặc vì bất kỳ lý do nào khác.
Thuật toán Khám phá Đa năng rất hữu ích, nhưng nó không thể khắc phục những hạn chế về mặt lý thuyết này.
Về cơ bản, để xác định đường dẫn, bạn phải gửi một hoặc nhiều gói. Các gói đó có thể được định tuyến theo bất kỳ cách nào mà các nút trung gian thấy phù hợp. Nhưng ngay khi bạn gửi một gói khác, hoàn toàn không có gì ngăn cản các bộ định tuyến thay đổi đường dẫn. Đây là một dạng tương tự mạng của Nguyên lý bất định Heisenberg.
Đường dẫn là không lâu và tạm thời . Bạn không nên dựa vào thông tin nhận được từ một traceroute cho bất kỳ điều gì quan trọng, ngoại trừ để chẩn đoán sự cố kết nối trên mạng nơi bạn đã có kiến thức sâu về cấu trúc liên kết (ví dụ trên mạng LAN công ty phức tạp) và có thể kiểm soát hành vi của các nút tham gia. Nếu bất kỳ nút nào trong số các nút tham gia không phải là "của bạn" (nếu bạn không thể đăng nhập vào chúng bằng các đặc quyền của quản trị viên hệ thống), thì kết quả của traceroute là tùy ý.
Mặt khác, nếu tất cả các nút tham gia là của bạn, bạn có thể, với tư cách là quản trị viên, kiểm soát hành vi chính xác của từng nút. Chẳng hạn, bạn có thể kích hoạt ICMP và thiết lập tĩnh tuyến đường (tuyến đường không thay đổi). Sau đó, bạn có thể tự tin rằng traceroute của bạn là chính xác. Nhưng nếu bạn đặt một bộ cân bằng tải ở giữa, thì bạn sẽ phải nhận thức được hành vi của bộ cân bằng tải và cách nó có thể chuyển tuyến khá nhiều khi cần thiết (mặc dù nó thường không ngẫu nhiên và thường không cố gắng lừa dối bạn về mục đích).