Trong phần trước của loạt bài này, chúng tôi đã giới thiệu cho các bạn
về lệnh TRACERT, lệnh này có thể được sử dụng để chuẩn đoán các vấn đề
kết nối giữa các host nội bộ và các host trên các mạng từ xa. Trong
phần đó, chúng tôi đã giới thiệu một chút về lệnh TRACERT, chính vì vậy
trong phần này sẽ tiếp tục thảo luận bằng cách giới thiệu cho bạn cách
thông dịch các kết quả của lệnh này.
Với mục đích đó, chúng tôi đã thực hiện lệnh TRACERT
đối với miền www.espn.com. Lý do tại sao chúng tôi lại chọn tên miền cụ
thể này là vì nó là một trong những site mà chúng ta dễ biết và rằng
không khóa lưu lượng ICMP. Bạn có thể xem đầu ra của lệnh bên dưới.
Chúng tôi sẽ tham chiếu đầu ra này trong suốt phần còn lại của bài.
C:UsersAdministrator>TRACERT www.espn.com
đầu ra với tối đa 30 bước nhảy.
1 2 ms 1 ms <1 ms 147.100.100.100 2 10 ms 10 ms 9 ms 208.104.224.1 3 9 ms 9 ms 9 ms 208.104.1.13 4 9 ms 8 ms 9 ms 208.104.0.13 5 10 ms 9 ms 10 ms 208.104.0.1 6 11 ms 14 ms 10 ms 165.166.125.193 7 11 ms 10 ms 11 ms gig-1-1-3.core01.ncchrl.infoave.net [165.166.22.61] 8 31 ms 31 ms 30 ms 64.200.130.17 9 38 ms 39 ms 40 ms hrndva1wcx2-pos15-3-oc48.wcg.net [64.200.240.213] 10 31 ms 31 ms 31 ms 64.200.249.170 11 31 ms 30 ms 31 ms 4.68.110.5 12 48 ms 35 ms 35 ms vlan99.csw4.Washington1.Level3.net [4.68.17.254] 13 32 ms 31 ms 33 ms ae-92-92.ebr2.Washington1.Level3.net [4.69.134.157] 14 60 ms 53 ms 54 ms ae-2.ebr3.Chicago1.Level3.net [4.69.132.69] 15 86 ms 71 ms 70 ms ae-3.ebr2.Denver1.Level3.net [4.69.132.61] 16 137 ms 103 ms 102 ms ae-2.ebr2.Seattle1.Level3.net [4.69.132.53] 17 95 ms 95 ms 95 ms ae-23-52.car3.Seattle1.Level3.net [4.68.105.36] 18 94 ms 95 ms 95 ms WALT-DISNEY.car3.Seattle1.Level3.net [4.71.152.22] 19 * * * Request timed out. 20 97 ms 95 ms 98 ms 199.181.132.250 Trace complete.
Nếu quan sát vào đầu ra của lệnh ở trên, bạn sẽ thấy
rằng mỗi dòng đầu ra đều có một số thông tin khác nhau. Phần đầu tiên
tìm thấy bên phía trái ngoài cùng của mỗi dòng là số bước nhảy. Như
chúng tôi đã giới thiệu trong phần trước, lệnh TRACERT sẽ làm
việc bằng cách gửi một yêu cầu ping đến một host cụ thể. Ban đầu, giá
trị TTL được thiết lập bằng 1. Giá trị này để bảo đảm rằng yêu cầu sẽ
“fail” sau bước nhảy đầu tiên. Các thông tin về bước nhảy được hiện hữu
và sau đó yêu cầu ICMP được truyền phát lại, nhưng lúc này với giá trị
được thiết lập bằng 2. Quá trình này được lặp đi lặp lại, giá trị TTL
được tăng lên 1 cho tới khi đến được host đích. Bằng cách thực hiện như
vậy, lệnh TRACERT có thể báo cáo về bao nhiêu bước nhảy mà
yêu cầu đã thực hiện để đến được host từ xa. Nếu bạn quan sát vào dòng
cuối cùng trong đầu ra trên, khi đó sẽ thấy được nó bắt đầu bằng số 20.
Con số này thể hiện cho 20 bước nhảy đã được thực hiện để đến được host
đích.
Ba phần thông tin tiếp theo trên mỗi dòng hiển thị
số lượng thời gian cần để đến được router hoặc host mà mỗi dòng đó biểu
diễn. Nếu quan sát toàn bộ danh sách bạn sẽ thấy được rằng các liên kết
thời gian dần tăng trong mỗi bước nhảy. Có hai thứ mà bạn thực sự cần
biết về các liên kết thời gian được hiển thị ở đây.
Thứ nhất, đó chính là ba khoảng thời gian phân biệt
được hiển thị cho mỗi bước nhảy. Như đã được đề cập từ trước, quá trình
lần vết được dựa trên khái niệm gửi đi nhiều yêu cầu ICMP. Khi chúng ta
làm việc với lệnh ping ở trên trong loạt bài này, bạn đã thấy lệnh ping
luôn trả về 4 giá trị khác nhau để đánh giá gói tin. Khái niệm tương tự
cũng được áp dụng cho việc lần vết (trace route), ngoại trừ khoảng thời
gian của yêu cầu được đánh giá ba lần thay vì bốn.
Điều thứ hai là bạn cần biết về số lần đáp trả, dấu
hoa thị thể hiện rằng một yêu cầu đã bị time out. Điều này có thể hoặc
không thể cho chúng ta thấy được vấn đề, phụ thuộc vào cách dấu hoa thị
thể hiện như thế nào. Quan sát ở bước nhảy là 19 trong đầu ra ở trên
bạn sẽ thấy rằng tất cả ba giá trị thời gian đáp trả được hiện diện
bằng các dấu hoa thị. Khi bạn thấy ba dấu hoa thị này trong một hàng
thì điều đó có nghĩa rằng thiết bị mà lệnh đang thực hiện ping nằm
trong bước nhảy có tường lửa được cấu hình để reject các gói ICMP, điều
đó sẽ gây ra hiện tượng timeout và cột cuối cùng sẽ hiển thị từ Request
Timed Out.
Cần lưu ý rằng Trace route cũng sẽ hiển thị ba dấu
hoa thị khi không đến được thiết bị đích cần ping. Vậy đâu là sự khác
nhau giữa một site khóa các gói ICMP và một link thất bại?
Chỉ cần một chút để ý bạn sẽ thấy được rằng, một
link thất bại trông sẽ giống như những gì bạn thấy khi một router hoặc
một host khóa các yêu cầu ICMP. Khi một thất bại xảy ra thì bạn sẽ
không thể thấy thông báo lỗi xuất hiện. Trong thực tế, quá trình sẽ
chấm dứt bằng một thông báo chuẩn Trace Complete.
Có hai dấu hiệu khi một link thất bại xuất hiện. Một
dấu hiệu không nằm trong vấn đề lần vết, mọi kết quả được trả về times
out. Một dấu hiệu khác của link thất bại là TRACERT sẽ thực hiện cả 30
bước nhảy. Không điều kiện nào trong số các điều kiện trên bảo đảm rằng
một link thất bại xuất hiện ngay cả khi chúng xuất hiện cùng nhau. Cho
ví dụ, Web site được thử nghiệm (www.brienposey.com) hiện đang làm việc
tốt, và vẫn chạy lệnh TRACERT với nó, cả hai trong số triệu chứng trên
đều xuất hiện, xem phần đầu ra bên dưới:
Sử dụng lệnh TRACERT đối với www.brienposey.com [24.235.10.4]
tối đa 30 bước nhảy:
1 1 ms 1 ms <1 ms 147.100.100.100 2 8 ms 12 ms 8 ms 208.104.224.1 3 9 ms 8 ms 9 ms 208.104.1.9 4 10 ms 9 ms 8 ms 208.104.0.9 5 10 ms 12 ms 11 ms 208.104.0.5 6 12 ms 10 ms 9 ms 165.166.18.1 7 15 ms 23 ms 13 ms gig2-2-1.c01.scclma.infoave.net [165.166.22.17] 8 13 ms 12 ms 13 ms 66.192.166.9 9 31 ms 30 ms * peer-01-ge-0-0-0-1.asbn.twtelecom.net [64.129.249.10] 10 56 ms 57 ms 55 ms bb2-p6-0.ipltin.sbcglobal.net [151.164.242.59] 11 55 ms 53 ms 55 ms ded2-g8-0.ipltin.sbcglobal.net [151.164.42.159] 12 59 ms 56 ms 56 ms Winnet-1148485.cust-rtr.ameritech.net [66.73.221.254] 13 64 ms 63 ms 68 ms 216-24-2-237.ip.win.net [216.24.2.237] 14 68 ms 68 ms 64 ms fa0-0.cust-gw2.noc.win.net [216.24.30.69] 15 * * * Request timed out. 16 * * * Request timed out. 17 * * * Request timed out. 18 * * * Request timed out. 19 * * * Request timed out. 20 * * * Request timed out. 21 * * * Request timed out. 22 * * * Request timed out. 23 * * * Request timed out. 24 * * * Request timed out. 25 * * * Request timed out. 26 * * * Request timed out. 27 * * * Request timed out. 28 * * * Request timed out. 29 * * * Request timed out. 30 * * * Request timed out. Trace complete.
Nếu quan sát đầu ra giống như cách quan sát đầu ra ở
trên, bạn có thể thấy rằng link thất bại đã xuất hiện, tuy nhiên lại
không chắc hẳn như vậy. Chỉ có một cách để bảo đảm đó là chạy lệnh TRACERT
đối với nhiều trang và xem xem bạn có thấy cùng một kiểu kết quả hay
không. Hãy lưu ý rằng, số bước nhảy càng cao thì thiết bị đích mà bạn
thực hiện đến càng ở xa bạn. Một thất bại càng xa càng khó chuẩn đoán
vì các test cho các site khác có thể sử dụng các tuyến khác. Khi bạn
thực hiện test đối với nhiều site, bạn sẽ phải quan sát nhiều tuyến đã
được sử dụng để phân biệt link thất bị có xuất hiện hay không.
Thông tin cuối cùng hiển thị trên mỗi dòng là thông tin phân biệt router hoặc host đã đáp trả yêu cầu ICMP. Lệnh TRACERT
sẽ phân biệt mỗi host hoặc router bằng tên khi nào có thể, tuy nhiên
bạn sẽ không phải lúc nào cũng có được tên của các router này. Cho ví
dụ, nếu quan sát vào đầu ra ở trên, bạn sẽ thấy rằng một nửa trong số
các router được phân biệt với nhau bởi tên, trong khi đó các số khác
thì không.
Những gì bạn có thể thấy ở đây nữa là host mà bạn
đang lần vết không phải luôn sẽ được hiển thị đúng dạng tên. Cho ví dụ,
nếu quan sát vào phần bắt đầu trong đầu ra của ví dụ đầu tiên ở trên
bạn sẽ thấy được rằng chúng tôi đã nhập vào lệnh TRACERT WWW.ESPN.COM. Ngay lập tức sau khi thực hiện điều đó, lệnh TRACERT đã xử lý www.espn.com bằng địa chỉ 199.181.132.250. Nếu bạn vẫn lưu ý được điều đó cho đến cuối đầu ra thì sẽ thấy TRACERT đã đến được đích của nó nhưng lại không phân biệt đích bằng tên.
Hành vi này không hề khó hiểu, nó như vậy là do
thiết kế. Lý do tại sao chúng tôi giới thiệu cho các bạn điều này là để
các bạn không thực hiện lệnh TRACERT đối với một site và nên nghĩ rằng quá trình đã thất bại vì host đích không được thể hiện đúng tên.
Kết luận
Trong phần này, chúng tôi đã giới thiệu cho các bạn về cách giải mã đầu ra của lệnh TRACERT. Trong phần tiếp theo của loạt bài này, chúng tôi sẽ giới thiệu về cách sử dụng lệnh Route để kiểm tra bảng định tuyến của máy.
|