Bạn có biết lệnh traceroute hoặc "tracert" trong Windows không? Đó là một công cụ cho phép bạn xem đường dẫn mà kết nối của bạn thực hiện khi đến một đích cụ thể. Trong khi nó rất thú vị để xem nơi các gói tin của bạn đi khi kết nối với một trang web, sử dụng chính của nó là để xem nơi dọc theo các gói tin đường dẫn đang bị mất.

Traceroute là gì?

Trước khi chúng ta nhảy vào cách traceroute có thể được sử dụng, chúng ta hãy nói về những gì traceroute để bắt đầu với. Khi truy tìm một tuyến đường, bạn đang theo dõi đường dẫn mà gói tin nhận và xem nơi nó kết thúc. Nếu bạn đã từng đặt hàng một bưu kiện với theo dõi có sẵn, bạn đã có thể theo dõi (với sự phấn khích!) Con đường gói đã đến cửa của bạn. Traceroute là một quá trình tương tự, ngoại trừ chúng tôi không thể đặt một thiết bị theo dõi trên một gói dữ liệu. Chúng ta cần phải sáng tạo hơn một chút để theo dõi các gói dữ liệu.

Nếu một gói hết hạn trong khi bị giữ bởi một bộ định tuyến, router sẽ gọi lại nơi gói tin đến để nói rằng gói tin đã hết hạn. Trong khi chúng tôi không thể xem một gói tin đi xung quanh một mạng trực tiếp giống như một bưu kiện được theo dõi, chúng tôi có thể gửi các gói hết hạn trên mỗi bộ định tuyến khi nó đến. Các bộ định tuyến gửi lại một thông báo lỗi và chúng tôi có thể phân tích các vị trí đang báo cáo một gói dữ liệu đã chết. Sau đó, chúng ta có thể sử dụng điều này để ước tính nơi gói tin đang diễn ra.

Để làm điều này, chúng ta sử dụng một thuộc tính của các gói được gọi là TTL. TTL có nghĩa là "Thời gian sống", và nó quyết định có bao nhiêu bộ định tuyến một gói có thể đến trước khi nó hết hạn. Khi một bộ định tuyến xử lý một gói, nó sẽ giảm TTL trước khi truyền nó đi. Nếu TTL đạt 0, gói hết hạn và bộ định tuyến báo cáo hết hạn. Trong một traceroute, một gói với TTL của 1 được gửi đi. Điều này được xử lý bởi router đầu tiên và ngay lập tức hết hạn. Bộ định tuyến gửi lại lỗi của nó và traceroute ghi lại vị trí của nó. Traceroute sau đó gửi một gói TTL 2 mà làm cho nó qua router đầu tiên nhưng hết hạn vào thứ hai. Sau đó, một gói với TTL của 3 được gửi, và như vậy.

Một ví dụ về Traceroute trong hành động

Chúng ta hãy xem một ví dụ về những gì xảy ra trong một traceroute.

Máy tính gửi gói tin tại TTL 1 -> Router A giảm 1, thành 0 -> TTL là 0, vì vậy gói tin chết -> Router A báo cáo vị trí của nó

Máy tính gửi gói tin tại TTL 2 -> Router A giảm 1, thành 1 -> Gửi tới Router B -> Router B giảm 1, thành 0 -> TTL là 0, vì vậy gói tin chết -> Router B báo cáo vị trí của nó

Máy tính gửi gói tin tại TTL 3 -> Router A giảm 1, thành 2 -> Gửi đến Router B -> Router B giảm 1, thành 1 -> Gửi đến Server -> Server gửi lại xác nhận kết nối .

Bạn có thể thấy rằng chúng tôi đã xây dựng một ý tưởng về nơi gói của chúng tôi đang đi từ này. Khi traceroute nhận được một lỗi từ đích, nó sẽ dừng traceroute, và bạn có thể phân tích nơi gói tin đã đi. Rất hữu dụng!

Làm thế nào để thực hiện một Traceroute

Vì vậy, chúng ta hãy đi trước và xem làm thế nào để làm một traceroute. Đầu tiên, đưa lên cửa sổ lệnh của bạn. Điều này có thể được thực hiện bằng cách nhấp vào Bắt đầu, sau đó nhập cmd trong tìm kiếm, sau đó nhấn Enter. Bạn cũng có thể mở cửa sổ lệnh bằng cách nhấn phím Windows + R, sau đó gõ cmd trong cửa sổ mới.

Ở đây, nhập tracert rồi đến đích, hoặc là URL hoặc IP (www.twitter.com hoặc 104.244.42.1). Bấm phím Enter. Traceroute sẽ bắt đầu ghi kết nối tới đích mà bạn đã đặt. Ngồi lại và xem nó đi!

Làm thế nào để sử dụng Traceroute để chẩn đoán vấn đề

Bây giờ chúng ta biết những gì traceroute không, chúng ta có thể sử dụng nó để khám phá nơi kết nối đang được giảm xuống. Hãy tưởng tượng nếu chúng ta gửi các gói tin với TTL tăng lên, nhưng khi chúng ta đến một mức TTL cụ thể, chúng ta sẽ không nhận được bất kỳ thông báo lỗi nào từ router tiếp theo. Điều này có nghĩa là router tiếp theo không nhận được gói tin nào. Máy tính sẽ đợi router nói chuyện với nó; nếu nó không nhận được một lỗi, nó sẽ báo cáo với một " Yêu cầu hết giờ.

Điều này hữu ích như thế nào?

Khi một kết nối chết, bạn có thể sử dụng traceroute để xem nơi dọc theo tuyến đường nó chết. Nếu các gói không làm cho nó ra khỏi router của bạn trước khi hết thời gian, có gì đó không ổn với router của bạn. Nếu gói tin được ra khỏi router của bạn thành công nhưng chết ở đâu đó trong trao đổi, nó có thể là một vấn đề ISP.

Khi bạn gặp sự cố khi kết nối với trang web, bạn có thể thông báo cho traceroute để kiểm tra kết nối. Nếu bạn không nhận được lỗi từ bộ định tuyến hoặc trao đổi của bạn, nhưng thời gian chờ xảy ra sau đó trong chuỗi, có thể đó không phải là bộ định tuyến hoặc ISP của bạn do lỗi.

Một điều bạn nên lưu ý khi sử dụng traceroute - gói không phải luôn luôn đi cùng một tuyến đường mỗi khi họ đi đến một trang web cụ thể. Hãy chắc chắn để giữ cho rằng trong tâm trí khi thực hiện một traceroute và cố gắng để rút ra bằng chứng kết luận từ nó.

Phần kết luận

Trong khi một công cụ thú vị để xem nơi các gói tin của bạn đi, traceroute cũng có thể được sử dụng để xem nơi họ đang bị lỗi. Bây giờ bạn đã biết cách traceroute hoạt động như thế nào, bạn có thể sử dụng nó để chẩn đoán tốt hơn khi kết nối các gói đang bị mất và vấn đề có thể nằm ở đâu. Chúc may mắn với chẩn đoán của bạn!