Chức năng Trace route

Dạo gần đây mình đang có task liên quan đến MPLS Ping/Trace Route nên phải đọc lại chút về IP Trace Route, nhân tiện note lại đây một số ý chính để sau có quên thì có chỗ đọc lại 🙂

Ping và Trace route là các phương thức troubleshoot ở mức Layer 3. Nếu như ping giúp kiểm tra tình trạng kết nối end-to-end thì trace route giúp chúng ta tìm ra 1 điểm cụ thể trên route đến đích gặp sự cố.

Khi gõ lệnh trace từ thiết bị mạng đến 1 địa chỉ cụ thể (target IP), thiết bị này sẽ gửi gói tin UDP với trường destination-IP = target-IP. Destination port được sử dụng cho trace route là 33434 – 33464 (Với dải port này đảm bảo chưa được sử dụng bới bất kỳ application nào trên thiết bị ở đầu xa – target machine => UDP Port này đang đóng).

Với gói tin đầu tiên gửi ra, thiết bị mạng sẽ đánh dấu trường TTL = 1 và UDP port = 33434 (hoặc cũng có thể là 1 port nào đó trong dải port trên). Mỗi gói tin sau đó được gửi ra, thiết bị mạng lại tăng cặp giá trị kia lên 1 đơn vị (TTL = 2, port = 33435 cho gói trace số 2…).

Mỗi node mạng trên path đến target-IP sẽ chuyển tiếp gói trace theo nguyên tắc của mạng IP. Nó sẽ check TTL, nếu = 0 thì discard gói tin và gửi trả về nguồn (src-IP) bản tin ICMP Error với nội dung thông báo “TTL Exprired”. Khi nhận được thông báo này, thiết bị mạng có thể lấy được các thông tin sau:

  • IP address của transit node.
  • hop-count đến transit node (dựa vào UDP port).

=> Với mỗi gói tin trace (có TTL tăng dần), thiết bị mạng sẽ có được thông tin từ từng node trên đường đến target-IP.

Khi thiết bị ở đầu xa (target-IP) nhận được đúng gói UDP gửi đến cho mình, nó sẽ kiểm tra UDP Port. Tuy nhiên, như đã nói ở trên, với việc sử dụng des-Port nằm trong dải >30000 thì không có ứng dụng nào bật port này cả => Thiết bị target sẽ gửi trả bản tin ICMP Port Unreachable Message để thông báo port này chưa được mở. Dựa vào bản tin gửi trả về là ICMP Port Unreachable, thiết bị mạng của chúng ta sẽ biết được rằng “Ah, đây chính là thằng đích cuối cùng”, và nó sẽ không gửi bản tin trace nữa.

Ok, trên đây là tổng quan hoạt động của trace route. Khá đơn giản nhưng rất hữu hiệu! Và yếu tố quan trọng cần nhớ là việc gửi liên tiếp các gói tin UDP với TTL = 1 và tăng dần ở những lần gửi sau.

Chúc vui vẻ!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s