Giải thích Traceroute dễ hiểu và demo lỗi hiện dấu *

Giả sử tôi có mô hình đã cấu hình thông từ PC đến R4 bên phải (10.3.4.4)

Join nhóm support quản trị mạng cho người mới bit.ly/lab-network

Ping thử OK:

Trace thử cũng OK:

>> Khi PC trace đến R4, thì PC chạy windows sẽ gửi 3 gói ICMP với tham số TTL=1 , nghĩa là chỉ đi được 1 hop; tới R1 là “hết sức”. Do là khi R1 bắt được gói đó, nó sẽ giảm TTL đi 1, tức là gói tin sẽ có TTL=0, không đi được đâu nữa. (Linux sẽ dùng UDP khi trace)

>> Sau đó R1 báo lại cho PC, gói này chỉ đi được đến tôi thôi, chưa đủ đến đích 10.3.4.4. (Gói này là ICMP time-exceed)

Sau khi R1 trả lời về cho PC thì màn hình trace hiện IP R1 như dưới

>> PC gửi tiếp gói ICMP với TTL=2

>> Cứ như vậy PC gửi tiếp TTL=3 rồi TTL=4 để đến được đích thì thôi.

Vậy khi traceroute mà hiện dấu * và “Request time out” thay vì các IP ,thì nguyên nhân do PC không nhận được gói time-exceed trả về.

Ví dụ ta dùng ACL trên R2 để chặn ICMP time-exceed của R3 khi R3 trả lời PC

R2:

access-list 100 deny   icmp host 10.2.3.3 any time-exceeded

access-list 100 permit ip any any

int e0/1

ip access-group 100 in

Kết quả:

Ở đây ta thấy khi PC đợi không thấy có phản hồi của R3, thì nó vẫn tiếp tục tăng TTL thành 4 và gửi gói tin mới, đi xa tiếp (đến được đích R4, rồi R4 phản hồi lại)

DONE

Bài viết cùng danh mục