Khắc phục sự cố các vấn đề kết nối trong mạng (Phần 5)
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:\Users\Administrator>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 TRACERTWWW.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.
Khắc phục sự cố các vấn đề kết nối trong mạng (Phần 6)
Cho tới đây trong loạt bài này, chúng tôi đã giới thiệu cho các bạn cách chuẩn đoán một số vấn đề có liên quan đến việc kết nối. Trong phần này, chúng tôi muốn làm sáng tỏ cho các bạn một số vấn đề với bảng định tuyến của Windows, một số vấn đề trong bảng định tuyến có gây ra các vấn đề kết nối.
Xuyên suốt trong loạt bài này, chúng tôi đã đề cập rất nhiều về việc định tuyến. Có thể nói sơ bộ, một bộ định tuyến (router) là một thiết bị cho phép các gói tin có thể truyền tải từ một đoạn mạng này sang một đoạn mạng khác. Một router luôn được kết nối với tối thiểu hao đoạn mạng, nhưng thường thì nó được kết nối với rất nhiều. Điều đó có nghĩa rằng, một router cần phải có kỹ năng chỉ ra đoạn mạng nào cần chuyển tiếp gói dữ liệu để gói dữ liệu này đến được đích của nó. Đây chính là vấn đề nằm bên trong các bảng định tuyến của router.
Các bảng định tuyến cho phép các router đưa ra các quyết định về việc chuyển tiếp các gói tin, tuy nhiên những gì bạn không thể nhận ra là có nhiều bảng định tuyến được xây dựng trong hệ điều hành Windows. Bạn có thể xem các bảng định tuyến này bằng cách mở cửa sổ lệnh và nhập vào đó lệnh ROUTE PRINT, xem thể hiện trong hình A.
Hình A: Các bảng định tuyến của Windows
Thoạt nhìn, màn hình capture ở trên trông có vẻ khá phức tạp, tuy nhiên có một thứ mà bạn cần phải lưu ý đó là chúng tôi đã capture màn hình bằng Windows Vista. Windows Vista gồm các thông tin định tuyến IPv6 bên trong cùng với các thông tin Ipv4 chuẩn. Nếu bạn muốn sử dụng lệnh Route Print trong các phiên bản khác của Windows thì các thông tin IPv6 sẽ không được hiện diện, khi đó các thông tin được hiện diện sẽ đơn giản hơn rất nhiều.
Như các bạn có thể thấy trên hình, các thông tin định tuyến được phân thành 3 phần chính; phần danh sách giao diện, phần bảng rout IPv4 và bảng rout Ipv6. Với mục đích của bài này, chúng tôi sẽ không đi sâu vào thảo luận bảng rout Ipv6 vì vẫn có rất ít tổ chức sử dụng IPv6 hiện nay.
Danh sách giao diện
Danh sách giao diện được thiết kế để hiển thị cho bạn tất cả các giao diện mạng mà Windows hiện biết về nó. Chúng tôi đã tách phần Interface List đầu ra trong hình B.
Hình B: Interface List liệt kê tất cả các adapter mạng của máy
Nếu quan sát vào hình trên, bạn sẽ thấy hai mục đầu tiên trong danh sách tương ứng với các adapter mạng vật lý. Các adapter này được liệt kê ở trên minh chứng một số vấn đề khác nhau:
Windows nhận biết được về adapter đó
Driver đã được cài đặt cho adapter.
Windows đang thao tác với các adapter như một đường dẫn cho lưu lượng IPv4Mục thứ ba thể hiện trong hình B là loopback adapter. Đây không phải là một adapter mạng vật lý mà là một cơ chế vật lý mà Windows sử dụng cho vấn đề truyền thông bên trong. Loopback adapter phải được hiện diện để Windows làm việc đúng cách. Nếu loopback adapter bị mất thì bạn nên remove các thành phần mạng khác và sau đó cài đặt lại chúng.
Mục thứ tư trong danh sách thể hiện trong hình B ở trên là 6TO4 adapter. Đây là một cơ chế logic mà Windows sử dụng để định tuyến lưu lượng IPv6 và Ipv4. Cơ chế này chỉ hiện diện trong Windows Vista.
Các mục còn lại trong danh sách trên chỉ thị rằng IPv6 được rành buộc với hai adapter mạng vật lý của máy.
Bảng định tuyến
Mặc dù đôi khi rất hữu ích khi có thể thẩm định rằng Windows biết được sự tồn tại của các adapter mạng của bạn nhưng rốt cuộc cuối cùng thì các bảng định tuyến cũng tạo ra các quyết định để điều khiển lưu lượng như thế nào. Bạn có thể xem bảng định tuyến IPv4 trong hình C bên dưới.
Hình C: Bảng định tuyến được sử dụng bởi IPv4
Các bảng định tuyến thể hiện ở trên phức tạp hơn đôi chút vì ở đây có chứa nhiều adapter mạng. Không quan tâm về số lượng máy được cấu hình, chúng ta sẽ thấy các mục luôn tồn tại trong bảng định tuyến. Bảng dưới đây chúng tôi đã liệt kê tất cả các mục này và chúng được sử dụng cho mục đích gì:
Địa chỉ mạng đích Mô tả
0.0.0.0
Đây là router mặc định được sử dụng khi khi không có tuyến hợp lệ nào được tìm thấy.
127.0.0.0
Đây là địa chỉ loopback được sử dụng cho truyền thông bên trong.
147.100.0.0
Đây là địa chỉ subnet nội bộ.
147.100.100.40
Đây là địa chỉ IP được gán cho card giao diện mạng.
147.100.255.255
Đây là địa chỉ quảng bá cho subnet
224.0.0.0
Đây là địa chỉ multicast của Windows
255.255.255.255
Đây là địa chỉ broadcast hạn chế của Windows.
Như những gì bạn thấy, một số địa chỉ trong bảng trên là mạng cụ thể. Nếu bạn cần trợ giúp để tìm ra địa chỉ nào được giả định, hãy sử dụng lệnh IPCONFIG /all để xem cách TCP/IP được cấu hình cho mỗi một trong các adapter mạng. Bạn có thể sử dụng các thông tin đó để trợ giúp nhằm phát hiện ra các địa chỉ được sử dụng bên trong các bảng định tuyến.
Một thứ khác cần phải lưu ý ở đây là nếu hệ thống đang sử dụng nhiều adapter mạng thì bạn sẽ có nhiều mục cho mỗi một địa chỉ mạng cụ thể. Cho ví dụ, nếu quan sát trong hình trên, bạn sẽ thấy một số mục có dải địa chỉ 196.254.x.x. Các mục này tương ứng với adapter mạng thứ cấp của máy mà chúng tôi đang thử nghiệm.
Lúc này bạn đã biết những gì cần tìm kiếm trong các bảng định tuyến, tuy nhiên vẫn còn một câu hỏi thực sự đó là bạn sẽ thực hiện những gì nếu các thông tin tìm thấy trong các bảng định tuyến sai hay không đầy đủ. Trong trường hợp này, bạn có hai tùy chọn. Có thể remove và cài đặt lại các thành phần mạng hoặc có thể xây dựng lại các bảng định tuyến.
Kết luận
Trong phần tiếp theo của loạt bài này chúng tôi sẽ giới thiệu cho các bạn một số công cụ được xây dựng với Windows để khắc phục sự cố các vấn đề về kết nối mạng.
(Nguồn:thongtinbaomat.com)
Đăng nhận xét