1.5 Traceroute
Quan sát hình vẽ sau:
Hình vẽ trên thể hiện một hệ thống gồm: hai host được kết
nối với nhau qua hệ thống mạng của ISP, trên các host có cài đặt các ứng dụng
mạng (app), các ứng dụng mạng sử dụng interface (socket API) để trao đổi thông
tin với hệ thống mạng.
Socket API sẽ định nghĩa và cung cấp cách thức để app có thể
trao đổi thông tin với hệ thống mạng, để cuối cùng, app trên máy tính này có
thể “nói chuyện” được với app trên máy tính khác.
Nhờ vào socket API, ứng dụng chỉ làm việc trực tiếp với host
(hay local host), mà không cần quan tâm tới tổ chức thực sự ở bên dưới của hệ
thống mạng. Cấu trúc của hệ thống mạng đã bị che dấu. Chúng ta không thể biết
được: gói tin đã được truyền qua bao nhiêu router trước khi dến đích? ISP là
gì? Khoảng cách giữa hai host?
Traceroute là một công cụ giúp thăm dò hệ thống mạng và quan
sát một số cấu trúc chung của mạng.
Traceroute được sử dụng rộng rãi trong việc phát hiện và
khắc phục sự cố mạng. Nó chạy được trên nhiều hệ điều hành. Trên hệ thống Unix,
Linux, có tên là traceroute; trên hệ thống Windows có tên là tracert. Tracert
được Van Jacobson phát triển vào năm 1987.
Traceroute làm việc dựa trên giao thức IP.
Quan sát hình vẽ sau:
Traceroute thực hiện dò từng chặng để tìm được đường đi của
gói tin từ Local Host tới Remote Host.
Đầu tiên, Local Host sẽ gửi một số
(thường là 3) gói tin tới Remote Host, tuy nhiên trường TTL được thiết lập giá
trị là 1, ý là: chỉ cho phép gói tin đi được một chặng (router), rồi nhận hồi
báo của chặng đầu tiên. Tiếp theo, Local Host sẽ gửi một số gói tin nữa tới
Remote Host, trường TTL được thiết lập giá trị là 2, ý là: chỉ cho phép gói tin
đi được 2 chặng (router), rồi nhận hồi báo của chặng thứ 2. Local Host sẽ thực
hiện như vậy cho tới khi nào nhận được hồi báo từ Remote Host.
Từ các thông tin hồi báo của mỗi chặng, chúng ta sẽ biết
được gói tin đã đi qua bao nhiêu router trước khi đến được đích, đó là các
router nào, thứ tự của các router.
Quan sát ví dụ sau, thực hiện tracert tới www.dlu.edu.vn
C:\>tracert
www.dlu.edu.vn
Tracing route to
www.dlu.edu.vn [203.113.164.162]
over a maximum of 30
hops:
1 4
ms 3 ms 3 ms
192.168.1.1
2 14 ms
27 ms 11 ms localhost [123.28.124.1]
3 48
ms 46 ms 46 ms
vdc.vn [123.29.2.141]
4
* * *
Request timed out.
5 56
ms 53 ms 58 ms
localhost [113.171.7.222]
6 115
ms 123 ms 124 ms
203.113.187.97
7 138
ms 133 ms 144 ms
27.68.248.141
8 37
ms 35 ms 37 ms
27.68.255.22
9 34
ms 58 ms 38 ms
27.68.244.162
10 156
ms 83 ms 71 ms
27.68.246.70
11 85
ms 84 ms 89 ms
203.113.164.162
Trace complete.
Số thứ tự ở phía trái của mỗi hàng là số chặng.
Thực tế, mỗi chặng sẽ được gửi 3 gói tin, 3 cột kết tiếp là thời
gian nhận được phản hồi tương ứng của 3 gói tin. Nếu quá thời gian nhận phản
hồi mặc định, dấu * sẽ được hiển thị.
Phía phải là tên hoặc địa chỉ IP của mỗi chặng. Thực hiện
truy vấn tên hoặc IP này trên trang web www.domaintools.com
(mục Whois Lookup) để biết thêm thông tin. Ví dụ truy vấn các địa chỉ IP ở lệnh
tracert vừa thực hiện:
1. Modem ADSL – 192.168.1.1
2. VNPT - 123.28.124.1
3. VNPT - 123.29.2.141
4. không xác định
5. VNPT - 113.171.7.222
6. Vietel - 203.113.187.97
7. Vietel - 27.68.248.141
8. Vietel - 27.68.255.22
9. Vietel - 27.68.244.162
10. Vietel - 27.68.246.70
11. www.dlu.edu.vn
– 203.113.164.162 (thuộc dải IP của
Vietel)
Tham khảo:
[1] Andrew S. Tanenbaum, David J. Wetherall, Computer Networks 5th
edition, 2011
[2] David J. Wetherall, Introduction
to Computer Networks, www.coursera.org,
2013
--------------
2013/7/29