CN_1_5_Traceroute



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