Traceroute hoạt động như thế nào?

Traceroute hoạt động như thế nào?

Traceroute, một công cụ dòng lệnh được nhúng trong hầu hết các hệ điều hành, đóng vai trò là chìa khóa để mở khóa các đường dẫn này, cung cấp thông tin chi tiết về hành trình phức tạp của các gói dữ liệu từ nguồn đến đích. Công cụ này không chỉ dành cho quản trị viên mạng; nó là một tài sản quý giá cho bất kỳ ai muốn chẩn đoán các sự cố mạng hoặc chỉ đơn giản là tò mò về hoạt động bên trong của Internet.

Traceroute là gì?

Traceroute là một lệnh hoặc công cụ chẩn đoán mạng dùng để theo dõi đường dẫn mà gói Giao thức Internet (IP) đi từ nguồn (máy tính của bạn) đến đích (thường là trang web hoặc máy chủ). Nó cung cấp bản đồ lộ trình chi tiết về hành trình của các gói trên mạng, hiển thị từng bước nhảy hoặc nút (như bộ định tuyến và bộ chuyển mạch) mà các gói đi qua cho đến khi chúng đến đích. Công cụ này rất hữu ích trong việc chẩn đoán các sự cố mạng, hiểu cấu trúc mạng và tối ưu hóa hiệu suất mạng.

Định nghĩa và mục đích của Traceroute

Về cốt lõi, traceroute được thiết kế để trả lời một câu hỏi đơn giản: “Dữ liệu của tôi đi theo con đường nào để đi từ đây đến đó?” Khi bạn nhập địa chỉ trang web vào trình duyệt, yêu cầu của bạn sẽ không chuyển trực tiếp đến máy chủ lưu trữ trang web đó. Thay vào đó, nó nhảy qua một loạt bộ định tuyến và mạng, mỗi bước sẽ đưa nó đến gần hơn với đích cuối cùng. Traceroute vạch ra các bước này, cung cấp địa chỉ IP của mỗi bước nhảy và thời gian để dữ liệu của bạn di chuyển từ điểm này sang điểm tiếp theo.

Mục đích chính của traceroute bao gồm:

  • Khắc phục sự cố mạng: Bằng cách hiển thị nơi các gói dừng hoặc chậm lại, traceroute giúp xác định tình trạng tắc nghẽn, cấu hình sai hoặc lỗi mạng.
  • Phân tích hiệu suất: Việc đo thời gian giữa các bước nhảy có thể chỉ ra nơi xảy ra độ trễ, giúp xác định các điểm nghẽn về hiệu suất.
  • Trực quan hóa đường dẫn: Traceroute minh họa dữ liệu đường dẫn phức tạp thường xuyên qua internet, điều này có thể hữu ích để hiểu cách các mạng được kết nối với nhau.

Sự phát triển của Traceroute: Từ UNIX đến hệ điều hành hiện đại

Nguồn gốc của traceroute có thể bắt nguồn từ hệ điều hành UNIX vào những năm 1980, thời điểm Internet vẫn còn sơ khai. Công cụ này ban đầu được thiết kế để giúp quản trị viên mạng khắc phục sự cố bằng cách xác định các điểm lỗi mạng.

Kể từ đó, traceroute đã phát triển và được điều chỉnh thành nhiều dạng khác nhau cho các hệ điều hành khác nhau, bao gồm tracert cho Windows và lệnh traceroute tiêu chuẩn cho các hệ thống giống UNIX như Linux và macOS.

Bất chấp sự phát triển của Internet và sự phát triển của các công cụ chẩn đoán mạng phức tạp hơn, traceroute vẫn là một tiện ích cơ bản. Sự liên quan lâu dài của nó là bằng chứng cho thấy sự hiểu biết về con đường mà dữ liệu của chúng ta di chuyển. Khi các mạng ngày càng phức tạp, tiện ích của traceroute trong việc chẩn đoán và giải quyết các vấn đề kết nối cũng tăng theo.

Hành trình của Traceroute từ tiện ích UNIX đến công cụ tiêu chuẩn trong các hệ điều hành hiện đại phản ánh tầm quan trọng ngày càng tăng của chẩn đoán mạng trong thế giới ngày càng kết nối của chúng ta.

Traceroute cung cấp một cửa sổ vào mạng lưới kết nối phức tạp làm nền tảng cho cuộc sống số của chúng ta, cho dù đó là để khắc phục sự cố, tối ưu hóa hiệu suất mạng hay thỏa mãn sự tò mò về hoạt động bên trong của Internet.

Traceroute không chỉ là một công cụ chẩn đoán; đó là cầu nối kết nối người dùng với những con đường vô hình của Internet. Sự phát triển của nó từ một tiện ích UNIX đơn giản thành một tiện ích chính của hệ điều hành hiện đại nhấn mạnh giá trị của nó trong việc điều hướng các mạng phức tạp tạo điều kiện thuận lợi cho thế giới kỹ thuật số của chúng ta.

Cho dù bạn là một chuyên gia về mạng hay một người dùng Internet tò mò, việc hiểu những kiến thức cơ bản về traceroute là một bước hướng tới việc làm sáng tỏ các con đường kỹ thuật số kết nối tất cả chúng ta.

Cách thức hoạt động của Traceroute: Tổng quan về kỹ thuật

Traceroute sử dụng trường TTL (Thời gian tồn tại) trong tiêu đề gói IP, xác định số bước nhảy mà gói có thể thực hiện trước khi bị loại bỏ. Dưới đây là giải thích từng bước về cách hoạt động của traceroute:

  1. Bắt đầu: Công cụ bắt đầu bằng cách gửi một loạt gói đến đích có giá trị TTL là 1. Điều này có nghĩa là các gói được thiết kế để “hết hạn” ngay khi chúng chạm tới bộ định tuyến đầu tiên trên đường dẫn.
  2. Nhận dạng Hop: Khi nhận được một gói, mỗi bộ định tuyến sẽ giảm TTL đi 1. Nếu TTL đạt 0, bộ định tuyến sẽ dừng chuyển tiếp gói và gửi lại thông báo ICMP “Đã vượt quá thời gian” tới nguồn, tiết lộ địa chỉ IP của bộ định tuyến.
  3. TTL tăng dần: Traceroute sau đó sẽ gửi một bộ gói khác, lần này có TTL là 2, để chúng đến được bộ định tuyến thứ hai trước khi hết hạn. Quá trình này lặp lại, tăng TTL lên 1 mỗi lần cho đến khi các gói đến đích hoặc đạt đến giới hạn số bước nhảy tối đa.
  4. Ghi lại thời gian phản hồi: Đối với mỗi bộ gói được gửi, traceroute ghi lại thời gian khứ hồi (RTT) – thời gian cần thiết để gói đi từ nguồn đến bộ định tuyến và quay trở lại. Thông thường, ba gói được gửi mỗi bước nhảy để cung cấp thời gian phản hồi trung bình.

Ví dụ về lệnh Traceroute

Trên hệ thống Windows, bạn có thể sử dụng tracert lệnh như vậy:

tracert example.com

Trên macOS hoặc Linux, lệnh sẽ là:

traceroute example.com

Đầu ra mẫu

Một ví dụ đơn giản về đầu ra traceroute tới example.com có thể trông như thế này:

 1  router1.local (192.168.1.1)  1.123 ms  1.456 ms  1.789 ms
 2  isp-gateway.example.net (203.0.113.1)  2.345 ms  2.678 ms  2.901 ms
 3  isp-core-router.example.net (203.0.113.2)  3.567 ms  3.890 ms  4.123 ms
 4  internet-backbone1.example.com (198.51.100.1)  10.456 ms  11.789 ms  12.345 ms
 5  datacenter-edge.example.com (198.51.100.2)  20.678 ms  21.901 ms  22.345 ms
 6  example.com (93.184.216.34)  30.123 ms  31.456 ms  32.789 ms

Trong kết quả đầu ra này, mỗi dòng đại diện cho một bước nhảy trong đường dẫn tới example.com. Các cột hiển thị số hop, tên máy chủ và địa chỉ IP của bộ định tuyến cũng như ba phép đo RTT tính bằng mili giây. Dòng cuối cùng cho biết các gói đã đến đích.

Hiểu đường dẫn của gói dữ liệu

Đường dẫn của các gói dữ liệu có thể bị ảnh hưởng bởi nhiều yếu tố khác nhau, bao gồm giao thức định tuyến, tắc nghẽn mạng và bố cục vật lý của cơ sở hạ tầng Internet. Traceroute cung cấp ảnh chụp nhanh về đường dẫn này tại một thời điểm cụ thể, có thể thay đổi khi mạng điều chỉnh các tuyến đường để đạt hiệu quả hoặc tránh sự cố.

Về bản chất, traceroute làm sáng tỏ hành trình phức tạp của dữ liệu trên internet, cung cấp những hiểu biết sâu sắc về cấu trúc và hiệu suất của mạng. Dù được sử dụng bởi các chuyên gia mạng để khắc phục sự cố và tối ưu hóa hay bởi những cá nhân tò mò để khám phá các con đường kỹ thuật số kết nối thế giới của chúng ta, traceroute vẫn là một công cụ thiết yếu trong bộ công cụ mạng.

Tầm quan trọng của Traceroute

Traceroute, một công cụ chẩn đoán được nhúng trong hầu hết các hệ điều hành, đóng một vai trò then chốt trong sự hiểu biết này. Tầm quan trọng của nó mở rộng trên một số khía cạnh của quản lý và tối ưu hóa mạng, khiến nó trở thành công cụ không thể thiếu đối với quản trị viên mạng, kỹ sư và thậm chí cả người dùng cuối đang tìm cách khắc phục sự cố kết nối.

Sử dụng chẩn đoán của Traceroute trong mạng

Traceroute chủ yếu được sử dụng để chẩn đoán các sự cố mạng. Khi không thể truy cập được một trang web hoặc dịch vụ trực tuyến hoặc khi kết nối Internet chậm hoặc không liên tục, traceroute có thể giúp xác định vấn đề nằm ở đâu. Bằng cách vạch ra đường dẫn của các gói dữ liệu để đến đích, traceroute cung cấp thông tin chi tiết từng bước về nơi xảy ra sự chậm trễ hoặc mất mát.

Ví dụ: nếu traceroute đến một trang web cụ thể cho thấy các gói đang đến mạng trung gian nhưng không vượt ra ngoài mạng đó thì vấn đề có thể nằm ở mạng đó. Thông tin này rất quan trọng đối với quản trị viên mạng, những người sau đó có thể làm việc trực tiếp với nhà điều hành mạng bị ảnh hưởng hoặc định tuyến lại lưu lượng truy cập để bỏ qua khu vực có sự cố.

Ví dụ: Chẩn đoán kết nối chậm

Hãy xem xét tình huống trong đó người dùng báo cáo kết nối chậm với dịch vụ đám mây. Quản trị viên mạng có thể chạy lệnh traceroute sau:

traceroute cloudservice.com

Đầu ra có thể cho thấy các gói đi qua một số bộ định tuyến với thời gian phản hồi hợp lý cho đến khi chúng đến một bộ định tuyến cụ thể, tại đó thời gian phản hồi tăng đáng kể, cho thấy có khả năng xảy ra tắc nghẽn hoặc sự cố tại điểm đó trong mạng.

Phân tích hiệu suất

Ngoài việc chẩn đoán vấn đề, traceroute còn được sử dụng để phân tích hiệu suất. Bằng cách kiểm tra thời gian khứ hồi (RTT) cho mỗi bước nhảy, quản trị viên có thể xác định các tắc nghẽn tiềm ẩn trong mạng. Điều này đặc biệt hữu ích trong các mạng phức tạp nơi dữ liệu đi qua nhiều bộ định tuyến và mạng trước khi đến đích.

Khả năng đo độ trễ trên từng đoạn của đường dẫn của Traceroute cho phép hiểu rõ hơn về hiệu suất mạng. Nó giúp phân biệt giữa các sự cố liên quan đến mạng cục bộ của người dùng với các sự cố bên ngoài, chẳng hạn như tắc nghẽn đường trục Internet hoặc các sự cố trong mạng của nhà cung cấp dịch vụ.

Ví dụ: Tối ưu hóa hiệu suất mạng

Một tổ chức có thể sử dụng traceroute để tối ưu hóa hiệu suất kết nối mạng của họ với các dịch vụ quan trọng. Bằng cách thường xuyên giám sát các đầu ra của traceroute, họ có thể xác định xu hướng về độ trễ mạng và làm việc với các ISP để tối ưu hóa tuyến đường hoặc thậm chí quyết định chuyển đổi nhà cung cấp để có kết nối tốt hơn.

Trực quan hóa đường dẫn

Traceroute cung cấp một bản trình bày trực quan về dữ liệu đường dẫn đi qua mạng. Hình ảnh trực quan này không chỉ là kết quả kỹ thuật mà còn là bản đồ của hành trình kỹ thuật số, cung cấp thông tin chi tiết về cách cấu trúc Internet và cách các mạng khác nhau được kết nối với nhau.

Khía cạnh này của traceroute đặc biệt làm sáng tỏ bối cảnh giáo dục, nơi sinh viên học về mạng có thể thấy ứng dụng thực tế của các giao thức định tuyến và cấu trúc thế giới thực của Internet. Nó làm sáng tỏ khái niệm trừu tượng về Internet như một “đám mây” và thay thế nó bằng một bản đồ kết nối hữu hình.

Ví dụ: Sử dụng trong giáo dục

Trong môi trường lớp học, người hướng dẫn có thể sử dụng traceroute để chỉ ra cách dữ liệu di chuyển từ mạng của trường đến trang web quốc tế. Cuộc trình diễn này có thể tiết lộ số lượng bước nhảy liên quan, tính chất quốc tế của kết nối internet và cách dữ liệu có thể đi qua nhiều nhà cung cấp dịch vụ để đến đích.

Cách thực hiện theo dõi

Hiểu được đường đi của dữ liệu trên internet là rất quan trọng để chẩn đoán các sự cố mạng, tối ưu hóa hiệu suất và hiểu rõ hơn về cấu trúc của internet. Traceroute là một công cụ mạnh mẽ cung cấp sự hiểu biết này bằng cách ánh xạ hành trình của các gói từ nguồn đến đích. Ở đây, chúng tôi đi sâu vào cách thực hiện traceroute trên các hệ điều hành khác nhau, đưa ra hướng dẫn toàn diện bao gồm các minh họa và ví dụ.

Chuẩn bị sử dụng Traceroute: Yêu cầu hệ thống

Trước khi đi sâu vào chi tiết cụ thể về việc thực hiện traceroute, điều cần thiết là phải đảm bảo rằng hệ thống của bạn đã sẵn sàng. Tin vui là traceroute không yêu cầu bất kỳ cài đặt phần mềm đặc biệt nào trên hầu hết các hệ điều hành—nó được tích hợp sẵn. Tuy nhiên, bạn nên có:

  • Kết nối internet ổn định: Để theo dõi chính xác lộ trình đến đích, thiết bị của bạn phải được kết nối với internet.
  • Truy cập terminal hoặc dấu nhắc lệnh: Các lệnh Traceroute được thực thi trong Terminal trên macOS và Linux hoặc Command Nhắc trên Windows.
  • Quyền truy cập quản trị hoặc root (tùy chọn): Mặc dù không phải lúc nào cũng cần thiết nhưng một số lệnh hoặc tùy chọn theo dõi có thể yêu cầu đặc quyền cao hơn, đặc biệt là trên các hệ thống giống UNIX.

Hướng dẫn từng bước để thực hiện theo dõi trên Windows

Người dùng Windows có thể sử dụng tracert lệnh để thực hiện traceroute. Đây là cách thực hiện:

  1. Mở dấu nhắc lệnh:
  • Trên Windows 10/11, gõ cmd trong thanh tìm kiếm menu Bắt đầu và nhấn Enter.
  • Đối với các phiên bản cũ hơn, bạn có thể cần truy cập Dấu nhắc Lệnh thông qua thư mục Phụ kiện trong menu Bắt đầu.
  1. Chạy lệnh Traceroute:
  • Trong cửa sổ Dấu nhắc Lệnh, gõ lệnh tracert <destination>, thay thế <destination> với tên miền hoặc địa chỉ IP bạn muốn theo dõi. Ví dụ:
    cmd tracert example.com
  • Nhấn Enter để thực hiện lệnh.
  1. Phân tích đầu ra:
  • Dấu nhắc lệnh sẽ hiển thị tiến trình của traceroute trong thời gian thực, hiển thị từng bước nhảy và thời gian cần thiết để các gói di chuyển qua lại.

Ví dụ đầu ra trên Windows:

Tracing route to example.com [93.184.216.34]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  router.local [192.168.1.1]
  2    10 ms     9 ms    11 ms  isp-gateway.example.net [203.0.113.1]
  3    15 ms    14 ms    16 ms  isp-core-router.example.net [203.0.113.2]
  ...

Thực hiện Traceroute trên các hệ thống giống UNIX (macOS, Linux)

Trên macOS và Linux, quy trình này tương tự nhưng sử dụng traceroute yêu cầu.

  1. Mở thiết bị đầu cuối:
  • Trên macOS, tìm Terminal trong Ứng dụng > Tiện ích.
  • Trên Linux, bạn thường có thể tìm thấy Terminal trong menu ứng dụng của mình, mặc dù vị trí chính xác có thể khác nhau tùy theo phân phối.
  1. Chạy lệnh Traceroute:
  • Kiểu traceroute <destination> trong Terminal, thay thế <destination> với tên miền mục tiêu hoặc địa chỉ IP của bạn. Ví dụ:
    bash traceroute example.com
  • Nhấn Enter để bắt đầu theo dõi.
  1. Xem lại kết quả:
  • Terminal sẽ hiển thị từng bước nhảy, tương tự như Windows, nhưng có thể bao gồm thông tin bổ sung hoặc sử dụng định dạng hơi khác.

Đầu ra ví dụ trên các hệ thống giống UNIX:

traceroute to example.com (93.184.216.34), 64 hops max, 52 byte packets
 1  router.local (192.168.1.1)  1.206 ms  0.911 ms  0.892 ms
 2  isp-gateway.example.net (203.0.113.1)  10.183 ms  9.872 ms  10.123 ms
 3  isp-core-router.example.net (203.0.113.2)  14.673 ms  15.062 ms  14.892 ms
 ...

Giải thích kết quả Traceroute

Bất kể hệ điều hành nào, việc diễn giải các kết quả theo dõi đều tuân theo các nguyên tắc giống nhau. Mỗi dòng đại diện cho một bước nhảy trong hành trình từ máy tính của bạn đến đích. Các cột hiển thị:

  • Số bước nhảy: Số thứ tự cho biết vị trí của bộ định tuyến trong đường dẫn.
  • Địa chỉ IP/tên máy chủ: Địa chỉ hoặc tên của bộ định tuyến tại bước nhảy này.
  • Thời gian khứ hồi (RTT): Thời gian cần thiết để một gói di chuyển đến bước nhảy và quay lại, thường được biểu thị bằng mili giây. Ba lần thử được thực hiện trên mỗi bước nhảy để cung cấp thời gian phản hồi trung bình.

Hiểu được những kết quả này có thể giúp xác định vị trí xảy ra tình trạng trễ hoặc mất gói, cung cấp thông tin chi tiết có giá trị để khắc phục sự cố mạng hoặc tối ưu hóa hiệu suất.

Kỹ thuật theo dõi nâng cao

Trong khi lệnh traceroute cơ bản cung cấp những hiểu biết có giá trị về các gói đường dẫn đi qua mạng, thì các kỹ thuật traceroute nâng cao có thể cung cấp những phân tích sâu hơn và thông tin chi tiết hơn, đồng thời giúp khắc phục một số hạn chế nhất định của lệnh traceroute tiêu chuẩn. Các kỹ thuật này liên quan đến việc sử dụng các tùy chọn và cờ bổ sung bằng lệnh traceroute, sử dụng các công cụ thay thế và hiểu cách diễn giải các kết quả đầu ra traceroute phức tạp.

Điều chỉnh cài đặt theo dõi để phân tích chi tiết

Người dùng nâng cao có thể sửa đổi hành vi của lệnh traceroute để phù hợp với nhu cầu chẩn đoán cụ thể hoặc bỏ qua các hạn chế mạng có thể ngăn cản việc traceroute tiêu chuẩn hoàn tất thành công. Dưới đây là một số tùy chọn và cờ được sử dụng phổ biến nhất:

Chỉ định loại gói

Theo mặc định, traceroute sử dụng các yêu cầu tiếng vang ICMP trên các hệ thống giống UNIX và các gói UDP trên Windows. Tuy nhiên, bạn có thể chỉ định loại gói sẽ sử dụng, điều này có thể hữu ích nếu các gói mặc định đang bị tường lửa lọc hoặc chặn.

  • Trên các hệ thống giống UNIX (Linux/macOS): Sử dụng -I tùy chọn gửi các gói ICMP, ít có khả năng bị chặn hơn. Ví dụ:
  traceroute -I example.com
  • Trên Windows: Các tracert lệnh vốn sử dụng ICMP nên không cần sửa đổi loại gói.

Thay đổi số cổng

Trên các hệ thống giống UNIX, theo mặc định, traceroute gửi các gói UDP đến các cổng cao, không có đặc quyền. Việc thay đổi cổng đích có thể giúp tránh việc lọc hoặc giới hạn tốc độ trên một số cổng nhất định:

traceroute -p 80 example.com

Lệnh này đặt cổng đích thành 80 (HTTP), có thể cung cấp đường dẫn rõ ràng hơn thông qua các tường lửa ưu tiên lưu lượng truy cập web.

Điều chỉnh số lượng truy vấn trên mỗi Hop

Để có được thước đo chính xác hơn về độ trễ và mất gói, bạn có thể tăng số lượng truy vấn được gửi đến mỗi bước nhảy:

traceroute -q 5 example.com

Lệnh này gửi năm truy vấn trên mỗi bước nhảy thay vì ba truy vấn mặc định, cung cấp bộ dữ liệu mạnh mẽ hơn để phân tích hiệu suất mạng.

Traceroute trên nhiều hệ điều hành khác nhau: Windows, Mac, Linux

Các hệ điều hành khác nhau triển khai traceroute theo những cách hơi khác nhau, điều này có thể ảnh hưởng đến hoạt động và đầu ra của công cụ. Ví dụ: trong khi Windows sử dụng ICMP theo mặc định thì Linux và macOS thường sử dụng các gói UDP, điều này có thể dẫn đến sự khác biệt về cách phản hồi của các bộ định tuyến dọc theo đường dẫn. Nhận thức được những khác biệt này là rất quan trọng khi diễn giải các kết quả theo dõi hoặc khi khắc phục sự cố trên các môi trường mạng khác nhau.

Mỗi hệ điều hành cung cấp các cờ và tùy chọn riêng cho traceroute, cho phép người dùng tùy chỉnh phương pháp chẩn đoán của mình:

Windows (tracert)

  • Số bước nhảy tối đa: Sử dụng -h tùy chọn để chỉ định số bước nhảy tối đa (mặc định là 30):
  tracert -h 40 example.com
  • Chỉ định thời gian chờ: Các -w tùy chọn đặt thời gian chờ tính bằng mili giây cho mỗi câu trả lời:
  tracert -w 5000 example.com

macOS/Linux (theo dõi)

  • Đặt TTL đầu tiên và cuối cùng: Với -f-m tùy chọn, bạn có thể đặt giá trị TTL đầu tiên và tối đa tương ứng, cho phép bạn bắt đầu theo dõi từ điểm giữa hoặc giới hạn khoảng cách nó đi:
  traceroute -f 5 -m 15 example.com
  • Sử dụng TCP SYN để theo dõi: Các -T tùy chọn (có sẵn trên một số hệ thống giống UNIX) sử dụng các gói TCP SYN thay vì UDP hoặc ICMP, điều này có thể hữu ích cho việc truy tìm qua các mạng chặn ICMP:
  traceroute -T -p 80 example.com

Khắc phục sự cố thường gặp về Traceroute

Traceroute là một công cụ không thể thiếu để chẩn đoán các sự cố kết nối mạng, nhưng việc giải thích kết quả đầu ra của nó đôi khi có thể gặp khó khăn. Nhiều vấn đề khác nhau có thể phát sinh trong quá trình theo dõi, mỗi vấn đề cho thấy các vấn đề tiềm ẩn khác nhau trong mạng. Hiểu cách khắc phục sự cố phổ biến này là rất quan trọng đối với quản trị viên mạng và bất kỳ ai liên quan đến việc duy trì tình trạng mạng.

Xử lý kết quả theo dõi không đầy đủ hoặc không chính xác

Kết quả không đầy đủ hoặc không chính xác có thể xảy ra vì một số lý do, bao gồm chặn tường lửa, lọc gói hoặc tắc nghẽn mạng. Đây là cách tiếp cận những vấn đề này:

Tường lửa và lọc gói

Tường lửa hoặc bộ lọc gói được định cấu hình để loại bỏ các gói ICMP hoặc các cổng UDP/TCP cụ thể có thể dẫn đến “* * *” (dấu hoa thị) ở đầu ra theo dõi, cho biết rằng không nhận được phản hồi từ bước nhảy. Điều này có thể khiến mạng có vẻ như không thể truy cập được nếu vượt quá một điểm nhất định, ngay cả khi thực tế không phải vậy.

Giải pháp: Hãy thử thay đổi loại gói hoặc cổng được sử dụng bởi traceroute. Ví dụ: nếu bạn đang sử dụng hệ thống giống UNIX và nghi ngờ các gói ICMP đang bị lọc, hãy chuyển sang TCP bằng cách sử dụng -T tùy chọn và chỉ định một cổng thường mở như 80 (HTTP) hoặc 443 (HTTPS):

traceroute -T -p 443 example.com

Tắc nghẽn mạng

Độ trễ cao hoặc mất gói được phản ánh trong kết quả theo dõi đôi khi có thể được quy cho tắc nghẽn mạng chứ không phải do lỗi trong chính mạng.

Giải pháp: Thực hiện nhiều lần theo dõi theo thời gian để xem sự cố còn tồn tại hay không. Sự tăng đột biến tạm thời về độ trễ hoặc mất gói có thể chỉ là do tắc nghẽn mạng nhất thời. Các công cụ như MTR (My Traceroute) có thể đặc biệt hữu ích ở đây, vì chúng kết hợp chức năng của traceroute với ping liên tục để cung cấp chế độ xem động hơn về đường dẫn mạng.

Hiểu và giải quyết các lỗi thường gặp trong kết quả đầu ra của Traceroute

Một số lỗi thường xuyên xuất hiện trong kết quả đầu ra của traceroute, mỗi lỗi chỉ ra các loại sự cố mạng khác nhau. Dưới đây là một số từ phổ biến và cách giải thích chúng:

Lỗi “!H”, “!N” và “!P”

Những lỗi này cho biết các điểm đến không thể truy cập được:

  • !H – Máy chủ không thể truy cập được
  • !N – Mạng không thể truy cập được
  • !P – Giao thức không thể truy cập được

Giải pháp: Những lỗi này cho thấy sự cố định tuyến hoặc tường lửa chặn các gói. Kiểm tra bảng định tuyến để tìm các mục nhập không chính xác và đảm bảo rằng không có quy tắc tường lửa nào vô tình chặn lưu lượng truy cập đến hoặc đi từ đích.

Hết giờ

Một loạt dấu hoa thị (* * *) không có bước nhảy tiếp theo biểu thị thời gian chờ, trong đó traceroute không thể nhận được phản hồi từ bước nhảy.

Giải pháp: Thời gian chờ có thể là bình thường trong một số trường hợp vì một số bộ định tuyến nhất định được định cấu hình không phản hồi các yêu cầu ICMP hoặc UDP. Tuy nhiên, nếu thời gian chờ xảy ra sớm trong traceroute hoặc kéo dài qua nhiều bước nhảy, điều đó có thể cho thấy sự cố kết nối nghiêm trọng hơn. Hãy xác minh cấu hình mạng và nếu sự cố vẫn tiếp diễn, hãy liên hệ với ISP hoặc quản trị viên của mạng trung gian để được hỗ trợ.

Thời gian chờ và ý nghĩa của chúng trong kết quả theo dõi

Thời gian chờ trong kết quả traceroute không phải lúc nào cũng là dấu hiệu của sự cố. Tuy nhiên, thời gian chờ nhất quán ở cùng một bước nhảy trên nhiều tuyến theo dõi hoặc thời gian chờ ngăn cản việc hoàn thành tuyến theo dõi cần được điều tra thêm.

Phân tích thời gian chờ liên tục

Nếu thời gian chờ vẫn tiếp tục ở một bước nhảy cụ thể nhưng các bước nhảy tiếp theo vẫn có thể truy cập được thì có khả năng bộ định tuyến tại bước nhảy đó được cấu hình để bỏ qua các yêu cầu theo dõi tuyến đường. Nếu thời gian chờ ngăn không cho traceroute đến đích, điều này có thể cho thấy khối mạng hoặc bộ định tuyến bị hỏng.

Giải pháp: Đối với thời gian chờ liên tục, đặc biệt là các thời gian chặn hoàn thành theo dõi, hãy thử sử dụng các tùy chọn theo dõi thay thế như thay đổi loại gói hoặc cổng như đã đề cập trước đó. Nếu sự cố không thể được giải quyết nội bộ, việc liên hệ với nhà cung cấp mạng hoặc quản trị viên của bước nhảy có vấn đề có thể là cần thiết.

Đọc và giải thích kết quả Traceroute

Traceroute là một công cụ chẩn đoán mạnh mẽ giúp ánh xạ hành trình của các gói từ nguồn đến đích trên mạng. Mặc dù việc thực hiện traceroute tương đối đơn giản nhưng việc diễn giải kết quả của nó có thể phức tạp, đặc biệt khi đầu ra bao gồm độ trễ, thời gian chờ hoặc lỗi không mong muốn. Hiểu cách đọc và diễn giải những kết quả này là rất quan trọng để chẩn đoán sự cố mạng, tối ưu hóa hiệu suất và hiểu rõ hơn về cấu trúc mạng.

Hiểu từng dòng đầu ra của Traceroute

Đầu ra traceroute điển hình hiển thị danh sách các bước nhảy (bộ định tuyến hoặc bộ chuyển mạch) mà các gói đi qua trên đường đến đích. Mỗi dòng tương ứng với một bước nhảy và cung cấp thông tin cụ thể về đường đi của các gói. Dưới đây là bảng phân tích thông tin được trình bày trong mỗi dòng:

  • Số bước nhảy: Cột đầu tiên ở đầu ra cho biết số thứ tự của bước nhảy. Nó bắt đầu từ 1 và tăng dần lên một cho mỗi bộ định tuyến mà gói tin đi qua.
  • Địa chỉ IP/Tên máy chủ: Phần này hiển thị địa chỉ IP của bộ định tuyến ở bước nhảy hiện tại. Đôi khi, nếu tra cứu DNS ngược thành công, tên máy chủ của bộ định tuyến sẽ được hiển thị thay vì hoặc bên cạnh địa chỉ IP.
  • Thời gian khứ hồi (RTT): Thông thường, ba giá trị RTT được hiển thị bằng mili giây (ms), biểu thị thời gian cần thiết để một gói di chuyển từ nguồn đến bước nhảy và quay lại. Các giá trị này có thể thay đổi do tắc nghẽn mạng, thay đổi định tuyến hoặc tải trên bộ định tuyến.

Đầu ra theo dõi mẫu:

 1  router.local (192.168.1.1)  1.206 ms  0.911 ms  0.892 ms
 2  isp-gateway.example.net (203.0.113.1)  10.183 ms  9.872 ms  10.123 ms
 3  isp-core-router.example.net (203.0.113.2)  14.673 ms  15.062 ms  14.892 ms
 ...

Các mẫu phổ biến trong kết quả Traceroute và ý nghĩa của chúng

Đầu ra của Traceroute có thể tiết lộ nhiều mẫu khác nhau, mỗi mẫu biểu thị các khía cạnh khác nhau của hiệu suất hoặc cấu hình mạng:

Tăng độ trễ hướng tới đích

Giá trị RTT tăng dần khi các gói đến gần đích hơn là điều bình thường, phản ánh khoảng cách và số lượng bước nhảy ngày càng tăng. Tuy nhiên, độ trễ tăng đột ngột tại một bước nhảy cụ thể có thể cho thấy tắc nghẽn hoặc sự cố ở bước nhảy đó hoặc với kết nối của nó với bước nhảy tiếp theo.

Độ trễ cao khi bắt đầu bước nhảy

Giá trị độ trễ cao trong vài bước nhảy đầu tiên, đặc biệt là trong mạng cục bộ hoặc ISP, gợi ý các sự cố gần nguồn. Điều này có thể là do tắc nghẽn mạng cục bộ, cấu hình sai hoặc sự cố với kết nối của ISP với mạng Internet rộng hơn.

Hết thời gian chờ ở bước bắt đầu

Thỉnh thoảng hết thời gian chờ (được biểu thị bằng dấu hoa thị) khi bắt đầu theo dõi có thể không nhất thiết chỉ ra sự cố vì một số bộ định tuyến được định cấu hình không phản hồi các yêu cầu ICMP vì lý do bảo mật hoặc hiệu suất. Tuy nhiên, thời gian chờ nhất quán ngăn cản việc hiển thị các bước nhảy tiếp theo cần được điều tra.

Hết thời gian ở cuối báo cáo

Hết thời gian chờ ở cuối lộ trình theo dõi, đặc biệt nếu các bước nhảy trước đó có độ trễ bình thường, có thể cho biết rằng máy chủ đích hoặc mạng trực tiếp của nó đang chặn các yêu cầu ICMP hoặc không thể truy cập được do sự cố mạng.

Hướng dẫn chi tiết để chạy Traceroute trên các hệ điều hành khác nhau

Mặc dù nguyên tắc cơ bản của việc diễn giải kết quả traceroute là giống nhau trên các hệ điều hành, nhưng các lệnh và tùy chọn cụ thể sẵn có có thể khác nhau. Dưới đây là bản tóm tắt nhanh về cách thực hiện theo dõi trên các nền tảng khác nhau:

Các cửa sổ:

Sử dụng tracert lệnh trong Dấu nhắc Lệnh:

tracert example.com

macOS và Linux:

Sử dụng traceroute lệnh trong Terminal. Trên macOS, bạn có thể cần cài đặt traceroute bằng Homebrew (brew install traceroute) nếu nó không có sẵn theo mặc định:

traceroute example.com

Đối với cả hai nền tảng, hãy cân nhắc sử dụng các tùy chọn như -I để sử dụng các gói ICMP hoặc -T để sử dụng các gói TCP SYN cho traceroute, đặc biệt nếu các gói UDP mặc định bị lọc hoặc bị chặn.

Tích hợp Traceroute với các công cụ chẩn đoán khác

Mặc dù traceroute là một công cụ mạnh mẽ để ánh xạ các gói đường dẫn đi qua mạng nhưng việc tích hợp nó với các công cụ chẩn đoán khác có thể cung cấp cái nhìn toàn diện hơn về tình trạng, hiệu suất và các vấn đề của mạng. Cách tiếp cận toàn diện này để chẩn đoán mạng có thể giúp xác định, chẩn đoán và giải quyết các sự cố mạng phức tạp một cách hiệu quả hơn.

Vai trò của Ping trong Chẩn đoán Mạng

Ping là một trong những công cụ đơn giản nhưng hiệu quả nhất để kiểm tra hiệu suất và kết nối mạng. Nó hoạt động bằng cách gửi các gói yêu cầu tiếng vang ICMP đến máy chủ đích và lắng nghe các gói phản hồi tiếng vang. Thời gian khứ hồi (RTT) của các gói này được đo để đánh giá độ trễ giữa nguồn và đích. Ping cũng cung cấp thông tin mất gói, cung cấp thông tin chuyên sâu về độ tin cậy của mạng.

Cách thực hiện kiểm tra Ping trên các hệ điều hành khác nhau

  • Các cửa sổ: Mở Dấu nhắc Lệnh và sử dụng ping yêu cầu:
  ping example.com
  • macOS/Linux: Mở Terminal và sử dụng tương tự ping yêu cầu:
  ping example.com

Giải thích kết quả kiểm tra Ping

Kết quả kiểm tra Ping bao gồm một số số liệu chính:

  • Giá trị RTT: Cho biết độ trễ của mạng. Giá trị RTT cao có thể gợi ý tắc nghẽn mạng hoặc khoảng cách xa.
  • Mất gói: Được biểu thị dưới dạng phần trăm, việc mất gói cho biết độ tin cậy của kết nối. Tỷ lệ mất gói cao có thể dẫn đến mất ổn định mạng và các vấn đề về hiệu suất.

Việc tích hợp kết quả ping với dữ liệu theo dõi có thể giúp xác định vị trí bắt đầu xảy ra độ trễ trên đường dẫn hoặc tình trạng mất gói, cung cấp manh mối có giá trị để khắc phục sự cố.

Kết hợp Traceroute và Ping để phân tích mạng toàn diện

Trong khi traceroute hiển thị đường dẫn và xác định từng bước nhảy, ping sẽ kiểm tra khả năng kết nối và hiệu suất trực tiếp tới mục tiêu. Bằng cách kết hợp các công cụ này, bạn có thể có được bức tranh rõ ràng hơn về cả đường dẫn mạng và hiệu suất từ đầu đến cuối.

Sử dụng MTR để phân tích liên tục

MTR (My Traceroute) là một công cụ chẩn đoán mạng mạnh mẽ kết hợp chức năng của traceroute và ping vào một giao diện duy nhất. Nó liên tục gửi các gói đến mục tiêu, cập nhật số liệu thống kê theo thời gian thực về mỗi bước nhảy dọc theo đường dẫn. Phân tích liên tục này có thể phát hiện các vấn đề không liên tục có thể không rõ ràng trong một ảnh chụp nhanh do traceroute hoặc ping cung cấp.

Chạy MTR

  • Linux: MTR có thể được cài đặt sẵn hoặc có thể được cài đặt thông qua trình quản lý gói phân phối của bạn. Để chạy MTR, chỉ cần gõ:
  mtr example.com
  • hệ điều hành Mac: MTR có thể được cài đặt bằng Homebrew:
  brew install mtr
  mtr example.com
  • Các cửa sổ: Mặc dù MTR không có sẵn trên Windows nhưng có thể sử dụng phiên bản của bên thứ ba hoặc các công cụ tương tự.

Giải thích kết quả MTR

MTR hiển thị đầu ra động với mỗi bước nhảy đến đích, bao gồm RTT trung bình, tốt nhất và tệ nhất, cùng với tình trạng mất gói. Dữ liệu này giúp xác định không chỉ đường đi mà còn cả số liệu hiệu suất cho từng đoạn của tuyến đường theo thời gian.

Chẩn đoán nâng cao với PathPing

PathPing là một công cụ khác kết hợp các yếu tố ping và traceroute, có sẵn trên Windows. Nó gửi nhiều gói đến mỗi bước nhảy trong một khoảng thời gian, cung cấp cái nhìn chi tiết về hiệu suất mạng tại mỗi điểm.

Đường dẫn chạyPing

Trong Dấu nhắc Lệnh, gõ:

pathping example.com

Phân tích đầu ra PathPing

PathPing trước tiên hiển thị tuyến đường (như traceroute) và sau đó theo dõi số liệu thống kê ping cho mỗi bước nhảy. Việc này có thể mất vài phút nhưng cung cấp cái nhìn toàn diện về vị trí các gói có thể bị trì hoãn hoặc bị mất.

Các lựa chọn thay thế và cải tiến của Traceroute

Mặc dù traceroute là một công cụ cơ bản để chẩn đoán mạng, một số lựa chọn thay thế và cải tiến cung cấp các tính năng bổ sung, độ chính xác được cải thiện hoặc các phương pháp khác nhau để theo dõi đường dẫn các gói đi qua mạng. Những công cụ này có thể cung cấp thông tin chuyên sâu hơn về hiệu suất mạng, cấu trúc liên kết và các vấn đề, khiến chúng trở thành những bổ sung có giá trị cho bộ công cụ chẩn đoán mạng.

Ngoài Traceroute cơ bản: Các công cụ như MTR, Tracepath và Paris Traceroute

MTR (Lộ trình của tôi)

MTR kết hợp chức năng của traceroute và ping, cung cấp chế độ xem động, thời gian thực về tuyến đường giữa nguồn và đích. Nó liên tục gửi các gói đến từng bước nhảy trên đường dẫn, cung cấp số liệu thống kê cập nhật về độ trễ và mất gói tại mỗi điểm.

Đặc trưng:

  • Cập nhật theo thời gian thực
  • Kết hợp chức năng ping và traceroute
  • Hiển thị mất gói và độ trễ cho mỗi bước nhảy

Ví dụ sử dụng trên Linux:

mtr example.com

Giải thích đầu ra MTR:
Đầu ra của MTR bao gồm số bước nhảy, địa chỉ IP, tỷ lệ mất gói và độ trễ trung bình cho mỗi bước nhảy. Cập nhật liên tục có thể giúp xác định các sự cố mạng không liên tục có thể không rõ ràng trong một lần kiểm tra theo dõi hoặc ping.

Đường dẫn dấu vết

Tracepath tương tự như traceroute nhưng không yêu cầu quyền root để chạy. Nó đặc biệt hữu ích trên các hệ thống mà người dùng không có quyền thực thi traceroute với các gói ICMP.

Đặc trưng:

  • Không cần quyền root
  • Tự động điều chỉnh kích thước gói
  • Xác định MTU (Đơn vị truyền tối đa) dọc theo đường dẫn

Ví dụ sử dụng trên Linux:

tracepath example.com

Giải thích đầu ra Tracepath:
Tracepath cung cấp đầu ra đơn giản hơn traceroute, tập trung vào đường dẫn và MTU. Nó đặc biệt hữu ích để xác định các vấn đề MTU có thể gây ra sự phân mảnh hoặc mất gói.

tuyến đường Paris

Paris Traceroute là phiên bản nâng cao của traceroute được thiết kế để giải quyết những điểm không chính xác do đường dẫn cân bằng tải gây ra. Traceroute truyền thống có thể nhận được phản hồi từ nhiều đường dẫn, dẫn đến kết quả đầu ra khó hiểu hoặc sai lệch. Paris Traceroute đảm bảo rằng tất cả các gói đều đi theo cùng một đường dẫn, cung cấp sự trình bày chính xác hơn về tuyến đường.

Đặc trưng:

  • Thỏa thuận với các mạng cân bằng tải
  • Đảm bảo các gói đi theo cùng một đường dẫn
  • Cung cấp cái nhìn rõ ràng hơn về đường dẫn mạng

Cách sử dụng ví dụ:
Paris Traceroute có thể cần được cài đặt riêng và cách sử dụng nó có thể thay đổi tùy theo cài đặt. Kiểm tra tài liệu dành riêng cho phiên bản của bạn để biết hướng dẫn sử dụng chi tiết.

Phiên dịch đầu ra Paris Traceroute:
Đầu ra tương tự như traceroute truyền thống nhưng tránh được sự không nhất quán thường thấy trong các đường dẫn cân bằng tải, mang lại bức tranh rõ ràng hơn về các gói tuyến đường đi.

IPv6 Traceroute: Truy tìm các tuyến đường trong mạng hiện đại

Khi internet chuyển đổi nhiều hơn sang IPv6, việc hiểu cách thực hiện theo dõi trong mạng IPv6 ngày càng trở nên quan trọng. Hầu hết các công cụ theo dõi đều hỗ trợ IPv6 với các cờ hoặc phiên bản cụ thể.

Ví dụ sử dụng Traceroute trên Linux cho IPv6:

traceroute -6 example.com

Giải thích đầu ra theo dõi IPv6:
Định dạng đầu ra tương tự như định tuyến theo dõi IPv4, hiển thị địa chỉ IPv6 của mỗi bước nhảy cùng với các phép đo độ trễ. Hiểu các tuyến IPv6 là rất quan trọng để chẩn đoán các sự cố kết nối trong các mạng hiện đại sử dụng IPv6.

Kiểm tra Traceroute trực tuyến và ứng dụng di động để phân tích Traceroute

Một số công cụ trực tuyến và ứng dụng di động cung cấp chức năng theo dõi mà không cần công cụ dòng lệnh. Chúng có thể đặc biệt hữu ích để kiểm tra nhanh hoặc cho người dùng không thoải mái với giao diện dòng lệnh.

Công cụ trực tuyến:

  • Các trang web như ping.euwhatismyip.com cung cấp các công cụ theo dõi trực tuyến có thể được sử dụng từ trình duyệt web.

Ứng dụng di động:

  • Các ứng dụng như Fing (có sẵn cho iOS và Android) cung cấp traceroute trong số các tính năng chẩn đoán mạng khác.

Những lợi ích:

  • Giao diện thân thiện với người dùng
  • Không cần kiến thức về dòng lệnh
  • Khả năng tiếp cận từ mọi nơi

Tài nguyên bổ sung

Đối với những người muốn tìm hiểu sâu hơn về traceroute và chẩn đoán mạng, có rất nhiều tài nguyên sẵn có. Dưới đây là một số khuyến nghị để nâng cao kiến thức và kỹ năng của bạn:

Sách và ấn phẩm

  • “Minh họa TCP/IP, Tập 1: Các giao thức” của W. Richard Stevens: Cuốn sách này cung cấp cái nhìn sâu sắc về các giao thức TCP/IP, bao gồm các nguyên tắc cơ bản của các công cụ như traceroute.
  • “Công cụ khắc phục sự cố mạng” của Joseph D. Sloan: Hướng dẫn toàn diện về các công cụ khắc phục sự cố mạng khác nhau, bao gồm cả traceroute và cách sử dụng chúng một cách hiệu quả.

Các khóa học và hướng dẫn trực tuyến

  • Học viện mạng Cisco (NetAcad): Cung cấp các khóa học về nguyên tắc cơ bản về mạng, bao gồm các mô-đun về chẩn đoán và khắc phục sự cố mạng.
  • Coursera và Udemy: Cả hai nền tảng đều có các khóa học về quản trị mạng và xử lý sự cố bao gồm việc sử dụng traceroute và các công cụ liên quan.

Trang web và công cụ trực tuyến

  • Công cụ của Trung tâm Điều phối Mạng RIPE (RIPE NCC): Cung cấp một bộ công cụ trực tuyến để phân tích mạng, bao gồm cả traceroute từ nhiều địa điểm khác nhau trên khắp thế giới.
  • Công cụ CAIDA: Trung tâm Phân tích Dữ liệu Internet Ứng dụng (CAIDA) cung cấp các công cụ và tài nguyên để đo lường và phân tích mạng, bao gồm các công cụ dựa trên định tuyến.

Diễn đàn và cộng đồng

  • Kỹ thuật mạng trao đổi ngăn xếp: Cộng đồng Hỏi đáp dành cho các chuyên gia mạng, nơi bạn có thể đặt câu hỏi và chia sẻ kiến thức về theo dõi và chẩn đoán mạng.
  • Reddit r/mạng: Một subreddit dành riêng cho kết nối mạng, nơi những người đam mê và chuyên gia thảo luận về các công cụ, công nghệ và kỹ thuật khắc phục sự cố.

Phần Mềm và Các Ứng Dụng

  • Wireshark: Mặc dù không phải là một công cụ theo dõi tuyến đường nhưng Wireshark là một công cụ phân tích giao thức mạng mạnh mẽ có thể bổ sung cho chẩn đoán theo dõi tuyến đường bằng cách cung cấp thông tin chi tiết về lưu lượng truy cập mạng.
  • GNS3: Cung cấp trình mô phỏng mạng có thể được sử dụng để mô phỏng các mạng phức tạp và thực hành với traceroute và các công cụ chẩn đoán khác trong môi trường được kiểm soát.

Việc khám phá traceroute và các khía cạnh khác nhau của nó thể hiện giá trị không thể thiếu của nó trong bộ công cụ của bất kỳ ai chịu trách nhiệm quản lý hoặc khắc phục sự cố mạng. Khi các mạng kỹ thuật số tiếp tục phát triển về độ phức tạp và quy mô, các kỹ năng chẩn đoán và tối ưu hóa hiệu suất mạng ngày càng trở nên quan trọng. Bằng cách tận dụng các tài nguyên và công cụ được thảo luận, các cá nhân có thể nâng cao khả năng của mình, đảm bảo mạng hoạt động trơn tru và hiệu quả cho tất cả người dùng.