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ạngvậ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 IPv4
Mụ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.
27 trang |
Chia sẻ: aloso | Lượt xem: 2016 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Kiến thức mạng cơ bản, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Kiến thức mạng cơ bản - kiểm tra kết nối (Phần 1)
chopc - Phần cứng và phần mềm mạng ngày nay ngày càng trở nên tin cậy hơn
nhưng, tuy nhiên đôi khi vẫn có những thứ xảy ra không như mong muốn. Chính vì
vậy trong loạt bài này, chúng tôi sẽ giới thiệu cho các bạn về một số kỹ thuật khắc
phục sự cố để bạn sử dụng khi các máy tính trong mạng gặp các vấn đề khó khăn
trong truyền thông. Vì mục đích nhằm giới thiệu cho những người vẫn ít kinh
nghiệm trong làm việc với giao thức TCP/IP, nên chúng tôi sẽ bắt đầu bằng những
kiến thức cơ bản, sau đó sẽ làm việc với các kỹ thuật nâng cao hơn
Thẩm định kết nối mạng
Khi một host có vấn đề nào đó trong truyền thông
với host khác, thứ đầu tiên mà bạn cần phải thực
hiện là thu thập các thông tin về vấn đề đó. Cụ thể
hơn, bạn cần đọc các tài liệu về cấu hình của host,
chỉ ra xem host có vấn đề truyền thông với các máy
tính khác trên mạng hay không và xem vấn đề ảnh
hưởng thể có ảnh hưởng tới các host khác hay
không.
Cho ví dụ, cho rằng một máy trạm làm việc có một vấn đề truyền thông với một máy chủ
nào đó. Tự bản thân nó không thực sự cho bạn nhiều thông tin. Mặc dù vậy, nếu bạn tìm
hiểu thêm một chút sâu hơn và phát hiện máy trạm không thể truyền thông với tất cả các
máy chủ khác trong mạng thì vấn đề có thể nằm ở cáp mạng, có được kết nối hay không,
hay cổng của bộ chuyển mạch bị hỏng hoặc có thể là một vấn đề trong việc cấu hình
mạng chẳng hạn.
Tương tự như vậy, nếu máy trạm có thể truyền thông với một số máy chủ trong mạng,
nhưng không phải tất cả thì điều đó cũng cho bạn có được một sự gợi ý về vị trí nhằm tìm
kiếm vấn đề. Trong kiểu tình huống đó, bạn có thể sẽ kiểm tra xem những máy chủ nào
không thể liên lạc. Liệu tất cả chúng có nằm trên một subnet? Nếu vậy thì vấn đề định
tuyến có thể gây ra lỗi này.
Nếu nhiều máy trạm làm việc có vấn đề truyền thông với một máy chủ cụ thể thì vấn đề
có thể không nằm ở các máy trạm trừ khi các máy trạm này đã được cấu hình lại gần đây.
Trong trường hợp này, vấn đề thiên về sự cố xảy ra ở máy chủ.
Chúng ta sẽ bắt đầu từ những bài test cơ bản. Những bài test mà chúng tôi sẽ giới thiệu
cho các bạn sẽ không thể hiện nhiều nguyên nhân của vấn đề nhưng chúng sẽ giúp thu
hẹp được nhiều thứ để bạn biết đầu quá trình khắc phục sự cố từ đâu.
PING
PING là một tiện ích chuẩn đoán TCP/IP đơn giản nhất đã được tạo ra, nhưng những
thông tin mà nó có thể cung cấp cho bạn lại hoàn toàn vô giá. Đơn giản nhất, PING cho
bạn biết được máy chủ của bạn có truyền thông được với các máy tính khác hay không.
Thứ đầu tiên mà chúng tôi khuyên bạn thực hiện là mở cửa sổ lệnh (Command Prompt),
sau đó nhập vào đó lệnh PING, tiếp đến nhập vào địa chỉ IP của máy mà bạn đang có vấn
đề truyền thông. Khi thực hiện ping, máy mà bạn đã chỉ định sẽ cho ra 4 phản hồi, xem
thể hiện trong hình A.
Hình A: Mỗi một máy sẽ tạo ra 4 phản hồi
Những phản hồi này về cơ bản sẽ cho bạn biết được khoảng thời gian máy tính được chỉ
định đáp trả 32 byte dữ liệu là bao nhiêu. Cho ví dụ, trong hình A, một trong 4 đáp trả
được nhận đều nhỏ hơn 4 ms.
Khi bạn thực hiện một lệnh PING, một trong 4 tình huống sẽ xảy ra, mỗi một tình huống
trong đó đều có ý nghĩa của riêng nó.
Tình huống đầu tiên có thể xảy ra là máy được chỉ định sẽ tạo ra 4 phản hồi. Điều đó chỉ
thị rằng máy trạm hoàn toàn có thể truyền thông với host được chỉ định ở mức TCP/IP.
Tình huống thứ hai có thể xuất hiện là tất cả 4 yêu cầu time out, như thể hiện trong hình
B. Nếu bạn quan sát trình hình A, bạn sẽ thấy rằng mỗi đáp trả đều kết thúc bằng
TTL=128. TTL là viết tắt của Time To Live. Nó có nghĩa rằng mỗi một trong 4 truy vấn
và đáp trả phải được hoàn thiện trong khoảng thời gian 128 ms. TTL cũng được giảm mỗi
lần khi bước nhảy trên đường trở về. Bước nhảy xuất hiện khi một gói dữ liệu chuyển từ
một mạng này sang một mạng khác. Chúng tôi sẽ nói thêm về các bước nhảy trong phần
sau của loại bài này.
Hình B: Nếu tất cả các yêu cầu đều bị time out thì điều đó nói lên rằng truyền thông giữa
hai địa chỉ này bị thất bại
Bất cứ tốc độ nào, nếu tất cả 4 yêu cầu đề bị time out, thì điều đó có nghĩa rằng TTL bị
hết hiệu lực trước khi phản hồi được nhận. Điều này có nghĩa một trong ba ý sau:
Các vấn đề của truyền thông sẽ cản trở các gói truyền tải giữa hai máy. Điều này
có thể do hiện tượng đứt cáp hoặc bảng định tuyến bị tồi, hoặc một số lý do khác.
Truyền thông xuất hiện, nhưng quá chậm đối trong phúc đáp. Điều này có thể bị
gây ra bởi sự tắc nghẽn trong mạng, bởi phần cứng hay vấn đề chạy dây của mạng
bị lỗi.
Truyền thông vẫn hoạt động nhưng tường lửa lại khóa lưu lượng ICMP. PING sẽ
không làm việc trừ khi tường lửa của máy đích (và bất kỳ tường lửa nào giữa hai
máy) cho phép ICMP echo.
Tình huống thứ ba có thể xảy ra khi bạn nhập vào lệnh PING là vẫn nhận được một số
phản hồi nhưng một số khác time out. Điều này có thể là do cáp mạng tồi, phần cứng lỗi
hoặc hiện tượng tắc nghẽn trong mạng.
Tình huống thứ tư có thể xuất hiện khi ping là một thông báo lỗi giống như những gì thể
hiện trên hình C.
Hình C: Lỗi chỉ thị rằng TCP/IP không được cấu hình đúng
Lỗi “PING: Transmit Failed” chỉ thị rằng TCP/IP không được cấu hình đúng trên máy
tính bạn đang nhập vào lệnh PING. Lỗi này xuất hiện trong Windows Vista. Các phiên
bản Windows cũ hơn cũng sinh ra một lỗi khi TCP/IP bị cấu hình sai, nhưng thông báo
lỗi được hiển thị là “Destination Host Unreachable”.
PING thành công sẽ như thế nào?
Tin tưởng hay không, một ping thành công không phải là một hiện tượng lạ, thậm chí nếu
hai máy có vấn đề truyền thông với nhau. Nếu xảy ra điều này, thì có nghĩa rằng cơ sở hạ
tầng mạng bên dưới vẫn tốt và các máy tính vẫn có thể truyền thông với nhau ở mức
TCP/IP. Thường thì đây vẫn là một dấu hiệu tốt vì vấn đề đang xuất hiện không quá
nghiêm trọng.
Nếu truyền thông giữa hai máy bị thất bại nhưng hai máy có thể PING với nhau thành
công (khi thực hiện lệnh PING từ hai máy), thì có một vấn đề khác bạn có thể thử ở đây.
Thay cho việc ping đến một host bởi địa chỉ IP, bạn hãy thay thế địa chỉ IP bằng tên miền
hoàn chỉnh của nó, xem thể hiện trong hình D.
Hình D: Thử ping host của mạng bằng tên miền hoàn chỉnh
Nếu bạn có thể ping bằng địa chỉ IP, nhưng không ping được bằng tên miền hoàn chỉnh
thì vấn đề có thể là ở DNS. Máy trạm có thể được cấu hình sử dụng máy chủ DNS sai,
hoặc máy chủ DNS có thể gồm một host record cho máy mà bạn đang muốn ping đến.
Nếu nhìn vào hình D, bạn có thể thấy rằng địa chỉ IP của máy được liệt kê bên phải tên
miền hoàn chỉnh. Điều này chứng tỏ rằng máy tính có thể chuyển sang một tên miền hoàn
chỉnh. Bảo đảm rằng địa chỉ IP mà tên được chuyển sang là chính xác. Nếu bạn thấy một
địa chỉ IP khác so với địa chỉ mong đợi thì có thể host record của DNS bị lỗi.
Kết luận
Bài này đã giới thiệu cho các bạn một số bước cơ bản để test kết nối cơ bản giữa hai máy
tính. Trong phần tiếp theo, chúng tôi sẽ giới thiệu một số kỹ thuật để các bạn sử dụng
trong quá trình khắc phục sự cố.
Kiến thức mạng cơ bản - kiểm tra kết nối (Phần 2)
Trong phần thứ nhất, chúng tôi đã giới thiệu cho các bạn cách sử dụng lệnh
PING để thực hiện những bài test cơ bản cho kết nối, bên cạnh đó là giới thiệu về
cách làm sáng tỏ các kết quả. Trong phần hai, chúng tôi sẽ tiếp tục giới thiệu cho các
bạn một số bài test đơn giản hơn để bạn có thể sử dụng nhằm chuẩn đoán trạng thái
của kết nối hiện hành.
Trước khi bắt đầu
Như đã giải thích trong phần thứ nhất của loạt bài này, mục đích của loạt bài này là tạo
một hướng dẫn khắc phục sự cố cho những người mới có các kỹ năng cơ bản. Chính vì
vậy chúng tôi sẽ bắt đầu bằng các kỹ thuật khắc phục sự cố cơ bản và dần dần sẽ chuyển
sang các kỹ thuật cao hơn.
Xác nhận kết nối
Trong phần trước, chúng tôi đã giới thiệu một số vấn đề cơ bản trong sử dụng lệnh PING
để test kết nối mạng. Mặc dù vậy, nếu bạn gặp phải vấn đề truyền thông với các host khác
trong mạng , hoặc các host trong mạng từ xa thì vẫn còn đó một số kiểu PING khác để
bạn có thể phát hiện được những gì đang xảy ra với mạng của mình.
Trước khi giới thiệu những kỹ thuật này, các bạn cần phải hiểu về cách cấu hình của các
host đang gặp phải vấn đề về truyền thông như thế nào. Thủ tục test ở đây khác nhau đối
với các phiên bản Windows khác nhau, chính vì vậy chúng tôi sẽ giới thiệu cách kiểm tra
cấu hình mạng trên một máy tính đang chạy hệ điều hành Windows Server 2003.Thứ đầu
tiên mà bạn phải thực hiện là phải xác định xem máy tính hiện đang chạy một cấu hình
địa chỉ IP tĩnh hay động. Để thực hiện điều đó, bạn hãy mở Control Panel, sau đó chọn
tùy chọn Network Connections. Kích chuột phải vào kết nối mà bạn muốn chuẩn đoán,
chọn lệnh Properties. Bằng cách thực hiện các thao tác đó, bạn sẽ thấy một trang thuộc
tính của kết nối xuất hiện như thể hiện trong hình A.
Hình A: Trang thuộc tính của kết nối mạng
Lúc này, hãy cuộn thanh danh sách các mục mà kết nối sử dụng cho tới khi tìm được
mụcTCP/IP protocol (đã được chọn trong hình A). Chọn giao thức này, sau đó kích nút
Properties để xuất hiện trang thuộc tính Internet Protocol (TCP/IP) Properties, xem thể
hiện trong hình B.
Hình B: Trang Internet Protocol (TCP/IP) Properties được sử dụng để cấu hình giao thức
TCP/IP
Khi bạn gặp màn hình này, hãy để ý đến cấu hình địa chỉ IP của máy tính. Đặc biệt bạn
cần phải lưu ý đến một số mục sau:
Máy tính sử dụng cấu hình động hay tĩnh?
Nếu cấu hình tĩnh đang được sử dụng thì địa chỉ IP, subnet mask, và default
gateway là gì?
Máy tính có nhận địa chỉ máy chủ DNS tự động hay không?
Nếu địa chỉ máy chủ DNS đang được chỉ định bằng một địa chỉ cụ thể thì địa chỉ
đang được sử dụng là gì?
Trước khi đi tiếp, chúng tôi muốn đề cập đến một vấn đề đó là, nếu một máy tính có
nhiều adapter mạng được cài đặt, khi đó sẽ có nhiều kết nối mạng được liệt kê trong
Control Panel. Chính vì vậy bạn cần biết đượckết nối nào tương ứng với adapter mạng
nào.
Nếu bạn nghi ngờ về sự tương ứng giữa một kết nối nào đó với adapter mạng, hãy kiểm
tra kiểu của adapter đó. Nếu quan sát trong hình A, bạn sẽ thấy kiểu adapter mạng được
liệt kê ở phần đỉnh của màn hình. Nếu cần, bạn có thể mở case của máy tính để xem
adapter mạng nào mà cáp mạng của bạn được kết nối đến, làm như vậy bạn có thể chắc
chắn về kết nối mạng đúng của mình.
Khi bạn đã biết được cách TCP/IP được cấu hình như thế nào cho adapter mạng, chúng ta
phải xác định xem Windows có nhận biết về cấu hình đó hay không. Để thực hiện điều
này, hãy mở cửa sổ lệnh và nhập vào lệnh dưới đây:
IPCONFIG /ALL
IPCONFIG thực sự có thể cho bạn biết được rất nhiều những gì đang diễn ra. Cho ví dụ,
hãy để ý màn hình thể hiện trong hình C. Khi bạn nhập vào lệnh IPCONFIG /ALL, thứ
đầu tiên mà bạn phải thực hiện là tìm đến đúng adapter mạng. Trong trường hợp này, việc
tìm đến đúng adapter là một điều hoàn toàn dễ dàng vì chỉ có một adapter được liệt kê
trong danh sách. Lưu ý rằng IPCONFIG cũng có thể cung cấp cho bạn số kết nối (trường
hợp này là kết nối số 2 - Ethernet adapter Local Area Connection 2). Nếu để ý trong hình
A, bạn sẽ thấy tiêu đề của trang thuộc tính thể hiện trong hình cũng có cùng tên. Kèm với
mô tả của adapter mạng vật lý sẽ cho bạn biết chính xác bạn đang xem xét kết nối mạng
nào.
Hình C: Lệnh IPCONFIG /ALL hiển thị cho bạn cấu hình IP của máy tính
Rõ ràng thứ đầu tiên mà bạn có thể thấy trong hình C là có rất nhiều địa chỉ IP khác nhau
của kết nối. Lý do cho điều này là chúng tôi đã tạo một screenshot trên một Web server.
Web server cấu hình nhiều website, mỗi một website lại có địa chỉ IP của riêng nó.
Chúng tôi muốn sử dụng máy chủ này để minh chứng một điểm rằng, cấu hình địa chỉ IP
mà bạn thấy khi bạn mới quan sát trên trang thuộc tính của TCP/IP không phải luôn là địa
chỉ mà Windows đang sử dụng. Trong trường hợp này, thông tin cấu hình của IP được
thể hiện trong hình B vẫn hợp lệ. Nó đóng vai trò như một địa chỉ IP chính của máy tính.
Tuy nhiên, vẫn có nhiều địa chỉ IP khác cũng vẫn có thể sử dụng.
Bước tiếp theo trong quá trình khắc phục sự cố có nhiều thay đổi và phục thuộc vào máy
tính hiện có đang sử dụng cấu hình địa chỉ động hay tĩnh. Nếu nó sử dụng cấu hình tĩnh
thì lúc này bạn hãy kiểm tra để bảo đảm rằng địa chỉ IP, subnet mask, default gateway, và
địa chỉ DNS server đều được liệt kê phù hợp với những gì được nhập vào trong trang
thuộc tính TCP/IP.
Trong trường hợp sử dụng địa chỉ IP động mà bạn muốn xem địa chỉ IP và xem xem nó
có nằm trong dải địa chỉ mong đợi hay không. Nếu phải khắc phục sự cố cho vấn đề trên
một mạng không thân thuộc, trường hơp này bạn có thể sẽ không biết được dải địa chỉ
của nó là gì. Nếu rơi vào tình huống này, có một số giá trị có ý nghĩa mà bạn có thể tìm
kiếm ở đây.
Manh mối rõ ràng nhất một vấn đề nào đó sai lạc là một địa chỉ IP có giá trị 0.0.0.0. Sự
hiện hữu của địa chỉ IP này thường chỉ thị một trong ba vấn đề sau:
Adapter mạng không được kết nối với mạng (có thể vì cáp mạng hoặc tiếp xúc ở cổng).
Địa chỉ IP bị phóng thích.
Xuất hiện hiện tượng xung đột địa chỉ IP.
Nếu bạn nhận được địa chỉ này, hãy thử nhập vào ba lệnh dưới đây:
IPCONFIG /RELEASE
IPCONFIG /RENEW
IPCONFIG /ALL
Các lệnh này cơ bản sẽ thông báo cho máy tính bỏ địa chỉ hiện hành của nó, và tìm lại
một địa chỉ IP mới, sau đó sẽ hiện cho bạn các thông tin cấu hình mới. Đôi khi quá trình
này cũng khắc phục được vấn đề, nhưng đôi khi cũng không khắc phục được. Tuy nhiên
dẫu sao nó cũng mang lại những manh mối gây ra vấn đề kết nối mạng của bạn.
Một vấn đề khác có thể làm lỗi hệ thống của bạn là địa chỉ IP nằm trong dải 169.254.x.x
nhưng lại có subnet mask là 255.255.0.0. Một số phiên bản Windows sẽ tự động sử dụng
địa chỉ này nếu địa chỉ IP không thể tìm thấy từ máy chủ DHCP.
Kết luận
Trong phần này, chúng tôi đã giới thiệu cho các bạn cách kiểm tra cấu hình địa chỉ IP của
một máy tính để tìm ra những manh mối gây ra vấ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 cách sử dụng các thông tin cấu hình để test kết
nối mạng.
Kiến thức mạng cơ bản - kiểm tra kết nối (Phần 3)
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 cách phân
biệt địa chỉ IP nào hệ thống của bạn đang sử dụng với tư cách là địa chỉ chính. Bước
tiếp theo trong quá trình là thẩm định cấu hình địa chỉ IP có làm việc chính xác và
không xuất hiện vấn đề nào đối với ngăn xếp giao thức TCP/IP hay không.
Bài test đầu tiên mà bạn cần thực hiện là ping một địa chỉ host nội bộ. Ở đây có một số
cách khác nhau để có thể thực hiện nhiệm vụ này. Cách thứ nhất là nhập lệnh dưới đây:
PING LOCALHOST
Khi nhập vào lệnh này, Windows sẽ ping đến địa chỉ 127.0.0.1. Không quan tâm đến địa
chỉ IP của máy bạn, Windows luôn sử dụng địa chỉ 127.0.0.1 như một địa chỉ host nội bộ.
Chính vì vậy, giải pháp khác thay thế cho lệnh trên là nhập vào lệnh dưới đây:
Ping 127.0.0.1
Sau khi nhập vào lệnh này, bạn sẽ thấy một quá trình ping thành công giống như các lệnh
ping khác. Hãy xem ví dụ thể hiện trong hình A.
Hình A: Bạn sẽ nhận được một ping thành công khi thực hiện ping địa chỉ host nội bộ
Việc ping địa chỉ host nội bộ không có tác dụng gì trong việc chuẩn đoán các vấn đề
truyền thông với host ở xa. Mặc dù vậy nó lại cho phép bạn xác nhận rằng ngăn xếp
TCP/IP nội bộ của bạn đang thực hiện đúng chức năng. Nếu bạn ping địa chỉ host nội bộ
và nhận được một thông báo lỗi cho biết không xác nhận được đích thì trường hợp này
TCP/IP đã bị cấu hình sai hoặc một phần nào đó của ngăn xếp TCP/IP nội bộ bị hỏng.
Ping Gateway mặc định
Trong phần trước của loạt bài này, chúng tôi đã đề cập rằng, có một số khía cạnh khác
nhau đối với việc cấu hình TCP/IP và trang bị một chút kiến thức khắc phục sự cố. Bên
cạnh đó là một số thông tin hoặc địa chỉ IP của Gateway mặc định và của máy chủ DNS
chính.
Giả dụ rằng các host mà bạn muốn truyền thông nằm trên một mạng từ xa, hoặc trên một
đoạn mạng khác của công ty bạn thì điều tiếp theo mà bạn cần thực hiện là ping Gateway
mặc định. Bạn có thể thực hiện thao tác này bằng cách gắn thêm địa chỉ IP của cổng mặc
định vào lệnh ping. Cho ví dụ, quan sát trong hình B bạn sẽ thấy rằng cấu hình TCP/IP
liệt kê địa chỉ Gateway mặc định là 147.100.100.100. Chúng tôi đã ping đến địa chỉ này.
Thao tác này đã thẩm định rằng máy nội bộ có thể truyền thông với Gateway mặc định.
Nó cũng cho bạn biết rằng sự truyền thông trên mạng nội bộ hiện đang làm việc như dự
định, chí ít cũng ở mức địa chỉ IP.
Hình B: Ping gateway mặc định đã thẩm định được rằng các gói IP có thể đến được
cổng mặc định của mạng.
Ping DNS Server
Cho đến đây, chúng ta đã xác minh được rằng truyền thông ở mức địa chỉ IP hiện đang
làm việc giữa máy tính nội bộ và Gateway mặc định. Mặc dù vậy điều này vẫn không bảo
đảm rằng các hostname hiện đang thể hiện các địa chỉ IP. Trong phần thứ nhất của loạt
bài này, chúng tôi đã giới thiệu cho các bạn về cách sử dụng tên miền đầy đủ của host
đích kết hợp với lệnh ping để thẩm định rằng máy chủ DNS hiện đang thực hiện công
việc của nó. Tuy nhiên ở đây còn có một số cách khác dễ dàng test DNS.
Một thứ bạn có thể thực hiện ở đây là ping đến địa chỉ IP của máy chủ DNS, xem thể
hiện trong hình C. Tuy thao tác này không bảo đảm DNS hiện có làm việc đúng cách hay
không nhưng nó cũng thẩm định được rằng máy tính nội bộ có thể truyền thông với máy
chủ DNS.
Hình C: Bạn cần thẩm định rằng host có thể truyền thông với máy chủ DNS
Một vấn đề khác nữa bạn có thể thực hiện là sử dụng lệnh Nslookup để thẩm định rằng
DNS đang làm việc đúng cách. Để thực hiện theo thao tác này, bạn chỉ cần nhập vào lệnh
Nslookup, sau đó là tên miền đầy đủ của host từ xa. Lệnh Nslookup có thể phân tích tên
miền hoàn chỉnh thành địa chỉ IP, xem thể hiện trong hình D.
Hình D: Lệnh Nslookup thông báo cho bạn biết DNS server
có thể phân giải hostname hay không.
Hình trên có thể khiến bạn một chút bối rối lúc đầu nếu bạn không quen làm việc với
Nslookup. Ban đầu, màn hình này sẽ xuất hiện một báo cáo lỗi. Nếu quan sát kỹ hơn bạn
sẽ thấy phần thông đầu tiên được trả về nói đến máy chủ DNS nội bộ. Điều này là vì địa
chỉ IP được tham chiếu tương xứng với địa chỉ IP của máy chủ DNS. Mặc dù vậy, phần
bên dưới các thông tin trả về lại cung cấp cho bạn địa chỉ IP của host mà bạn yêu cầu.
Miễn là địa chỉ IP này được liệt kê thì truy vấn DNS của bạn đã thành công.
Nếu quá trình phân giải tên miền thất bại, khi đó có một vấn đề về DNS. Vấn đề thực có
thể là một trong số các vấn đề đối với máy chủ DNS. Cho ví dụ, các máy chủ DNS đang
chuyển tiếp địa chỉ có thể sai, hoặc máy chủ DNS có thể không truy cập được Internet
(mức truy cập cần liên lạc với máy chủ DNS mức cao hơn). Cũng có thể dịch vụ DNS
của máy chủ DNS có thể bị ngưng. Các kiểu vấn đề này cũng có thể ảnh hưởng đến các
máy khách khác vì nhiều máy khách thường phụ thuộc vào một máy chủ DNS nào đó.
Nếu sự phân giải tên miền DNS thành công thì bạn cần phải thẩm định địa chỉ IP được trả
về trong suốt quá trình phân tích. Bạn có thể thực hiện điều này bằng cách so sánh địa chỉ
IP được trả về với địa chỉ IP thực mà host từ xa đang sử dụng. Các địa chỉ IP này cần
phải tương xứng với nhau, tuy nhiên có một số điều kiện có thể gây ra sự sai lệnh, khi đó
kết quả truyền thông sẽ bị thất bại.
Nếu bạn bắt gặp một sự sai lệnh về địa chỉ IP thì điều đó có thể là kết quả của tình trạng
bị malware xâm nhập vào máy khách, hoặc có thể là kết quả của sự tiêm nhiễm của DNS.
Sự tiêm nhiễm DNS là một quá trình trong đó DNS cache sẽ được phổ biến các địa chỉ IP
sai hoặc không hợp lệ.
Nếu bạn bắt gặp vấn đề như vậy, chúng tôi khuyên bạn nên quét malware trên máy
khách. Bên cạnh đó bạn cũng có thể quét luôn cả spyware và virus vì chúng cũng có thể
gây ra vấn đề kiểu như vậy. Khi máy khách hoàn toàn sạch sẽ, hãy làm sạch DNS
cache. Bạn có thể làm sạch DNS cache bằng cách nhập vào lệnh dưới đây:
IPCONFIG /FLUSHDNS
Bạn có thể xem ví dụ về lệnh này trong hình E.
Có một lưu ý quan trọng các bạn cần lưu ý ở đây là DNS cache có thể chứa các địa chỉ IP
không đúng nhưng nó không có nghĩa rằng DNS bị nhiễm độc. Đôi khi các host được gán
các địa chỉ IP mới, điều này làm cho DNS cache đôi khi chưa biết về những thay đổi đó.
Hình E: Nếu bạn nghi ngờ DNS cache chứa các thông tin sai, hãy thực hiện các biện pháp
quét và làm sạch Internet
Kết luận
Trong phần này, chúng tôi đã giới thiệu cho các bạn cách thẩm định ngăn xếp giao thức
TCP/IP nội bộ có làm việc đúng hay không. Tiếp đó là giải thích về cách test khả năng
của host nội bộ về khả năng liên lạc với máy chủ DNS và máy chủ gateway mặc định và
cách test Hostname. Trong phần tiếp theo của loạt này, chúng tôi sẽ giới thiệu cho các
bạn về một số vấn đề hay gặp trong sử dụng lệnh Ping, cụ thể là sẽ thảo luận về các vấn
đề định tuyến.
Kiến thức mạng cơ bản - kiểm tra kết nối (phần 4)
Cho tới đây trong loạt bài này, chúng tôi đã giới thiệu cho các kiểu thao tác để
bạn có thể thực hiện đối với lệnh ping để chuẩn đoán các vấn đề kết nối mạng.
Trong phần này, chúng tôi sẽ tiếp tục giới thiệu bằng một số biến thể khác của kỹ
thuật này.
Mất gói dữ liệu
Khi chúng ta đã sử dụng lệnh ping, cho dù lệnh có có được thực hiện thành công hoặc bị thất bại thì điều đó
thực sự vẫn không đáng kể gì. Bạn có thể nhớ lại lệnh ping được thiết kế để trả về bốn đáp trả khác nhau.
Đôi khi một hoặc nhiều trong số các đáp trả đó có thể thất bại, còn một số khác có thể thành công. Điều này
xảy ra có nghĩa rằng hệ thống đang có hiện tượng bị mất gói dữ liệu.
Trong trường hợp như vậy, host nội bộ và host từ xa hoặc cả hai đều hoạt động tốt, nhưng có thể xuất hiện
một số điều kiện khác gây ra hiện tượng mất mát các gói tin trong khi truyền tải. Tuy giao thức TCP/IP
được thiết kế để nó có thể thử lại (retry) một gói dữ liệu đã bị mất trong quá trình truyền tải này, tuy nhiên
việc mất gói dữ liệu sẽ làm giảm hiệu suất của hệ thống. Một kết nối chậm lúc này sẽ hiệu quả hơn đối với
một kết nối tốc độ cao xuất hiện hiện tượng mất gói dữ liệu.
Một thứ khó khăn đối với vấn đề mất gói dữ liệu là việc tìm lần lại được dấu vết của nó. Bạn có thể biết
hiện tượng mất gói dữ liệu xảy ra nếu một số đáp trả cho lệnh ping thất bại, nhưng các gói ICMP đã được
sử dụng bởi lệnh ping này là quá nhỏ để có thể trả về điều kiện mạng đang tồn tại gây ra hiện tượng mất
mát trong các tình huống thực tế.
Nếu bạn nghi ngờ hiện tượng mất gói dữ liệu có thể xảy ra nhưng khi ping lại không trả về bất cứ một lỗi
nào, khi đó bạn có thể tăng kích thước của các gói ICMP lên. Các gói lớn hơn thường dễ dấn đến hiện
tượng thất bại nếu mạng có vấn đề nào đó đang tồn tại. Bạn có thể đặt kích thước gói lớn hơn trong lệnh
ping bằng các sử dụng tiếp lệnh –L.
Việc sử dụng tiếp lệnh này khá đơn giản. Tất cả những gì chúng ta cần phải thực hiện là nhập vào lệnh ping
và theo sau là địa chỉ mà bạn muốn ping tới, tiếp đó là tiếp lệnh –L và số byte mà bạn muốn gửi. Cho ví dụ,
giả dụ rằng mạng của bạn đang có hiệu suất cực kỳ kém khi kết nối đến một host nào đó. Bạn có thể nghi
ngờ lúc này hiện tượng mất gói dữ liệu có thể xảy ra, nhưng khi ping lại cho các kết quả thành công mỹ
mãn. Hãy thực hiện lệnh ping với kích thước của gói dữ liệu là 1024 byte như dưới đây:
Ping 192.168.1.1 –L 1024
Bạn có thể thấy được ví dụ thực về cách làm việc của lệnh này trong hình A.
Hình A: Gắn lệnh –L vào lệnh ping sẽ cho phép bạn tăng kích thước của gói ICMP
Thời gian sống
Khái niệm tiếp theo mà chúng tôi muốn giới thiệu cho các bạn cũng liên quan đến lệnh ping là thời gian
sống (Time To Live, được viết tắt là TTL). Nếu quan sát vào hình A, bạn sẽ thấy ở cuối mỗi một reply
trong hình có TTL=64.
Có thể bạn đã biết, Internet gồm có một số lượng lớn các tuyến được kết nối với nhau. Mỗi tuyến được kết
nối ít nhất với hai tuyến khác. Ý tưởng ẩn đằng sau kiến trúc này là nếu liên kết có bị "fail" thì vẫn còn ít
nhất một đường dẫn khác dẫn đến đích. Vấn đề với kiểu kiến trúc này là khi cứ liên kết nào thất bại thì hiện
tượng các gói dữ liệu truyền tải theo các đường vòng vô tận sẽ xuất hiện, và các đường vòng này sẽ vẫn tồn
tại trong mạng mà không đến được đích cuối cùng của nó.
Đây chính là vấn đề mà các chuyên gia thiết kế đã đưa vào giá trị TTL. Bạn có thể cho là giá tị TTL như
một cơ chế hủy các gói tin. Giá trị này được thiết lập bạn đầu khá cao, mặc dù vậy số này có thể thay đổi
phụ thuộc vào hệ điều hành mà bạn đang sử dụng. Mỗi lần gói dữ liệu truyền tải qua một router, gói sẽ
được nhắc nhở phải thực hiện một bước nhảy . Mỗi khi bước nhảy xuất hiện, giá trị TTL được giảm đi một.
Nếu giá trị TTL bằng không thì gói khi đó sẽ bị hủy hoàn toàn. Điều này giúp tránh được hiện tượng gói dữ
liệu không đi đến đích mà cứ luẩn quẩn lưu mãi trên mạng.
Kiểm tra tuyến
Một lý do khác tại sao giá trị TTL lại hữu dụng đến vậy là vì công cụ khắc phục sự cố có tên tracert hoạt
động dựa trên nó. Việc sử dụng lệnh ping khá tốt cho việc khắc phục sự cố các mạng nhỏ trong đó có các
host từ xa gần các host đang gửi dữ liệu, tuy nhiên khi nói đến Internet hoặc đến mạng diện rộng thì host từ
xa có thể là cách đến hàng nghìn dặm. Thêm vào đó các gói ICMP được tạo bởi lệnh ping có thể truyền tải
qua rất nhiều router để tới được host từ xa. Chính vì vậy đôi khi bạn sẽ gặp tình huống trong đó host nội bộ
và host từ xa hoặc cả hai đều tốt nhưng một trong các router ở đâu đó lại có vấn đề. Để khắc phục vấn đề
đó bạn có thể sử dụng lệnh tracert để chuẩn đoán vấn đề của bạn là gì.
Lệnh tracert hoạt động dựa trên lệnh ping. Ý tưởng cơ bản đằng sau lệnh này là gửi đi một gói ICMP đến
host từ xa, nhưng với giá trị TTL đã được thiết lập bằng một số nào đó. Điều này làm cho router đầu tiên
mà nó gặp phải sẽ gửi trở lại một TTL đã hết hạn trong trong thông báo truyền tải. Thông báo này gồm có
các thông tin như nhận dạng router sinh ra thông báo. Xác minh router được minh chứng, sau đó gói ICMP
được gửi lại lần nữa nhưng lúc này với một giá trị TTL khác. Lúc này, gói ICMP đến được router thứ hai
trước khi giá trị TTL hết hạn. Quá trình này được lặp đi lặp lại, việc tăng giá trị TTL được thực hiện như
vậy cho tới khi đến được host đích. Điều này cho phép bạn có thể biết được các thông tin về các router giữa
host nội bộ và host từ xa. Đôi khi bạn còn có thể sử dụng thông tin này để lần các vấn đề của router có ảnh
hưởng đến luồng lưu lượng.
Việc sử dụng lệnh tracert cũng giống như sử dụng lệnh ping. Để thực hiện điều đó, bạn chỉ cần nhập vào
lệnh tracert, sau đó là địa chỉ IP hoặc tên miền hoàn chỉnh của host từ xa. Hình B thể hiện một trường hợp
sử dụng lệnh tracert.
Hình B: Lệnh tracert có thể được sử dụng để giải quyết các vấn đề về luồng lưu lượng
Có hai vấn đề bạn cần lưu ý ở đây trong khi sử dụng lệnh tracert này là: trước tiên là một số host có thể sử
dụng tường lửa để khóa các gói ICMP. Vào trường hợp này, bạn sẽ thấy một loạt các dấu hoa thị chỉ thị
rằng việc lần tuyến là không thể thực hiện với host vì không thể lấy được thông tin từ host đó.
Một vấn đề khác nằm ở bản thân các host, mỗi router đều được gán một địa chỉ IP. Không quan tâm đến
chúng được sử dụng cho các host hay cho router hay không, các địa chỉ IP được cấu trúc theo cách để cho
phép chúng phản ánh được vị trí địa lý. Trong thực tế, đôi khi các thông tin về địa lý này hoặc thậm chí các
chỉ dẫn về tuyến lại được cung cấp bên trong tracert. Nếu bạn muốn có thêm nhiều thông tin, hãy thử dùng
các công cụ của các hãng phần mềm thứ ba, các công cụ có thể theo dõi bằng kiểu đồ thị lệnh tracert dựa
trên các thông tin địa lý. Bạn có thể xem ví dụ về một công cụ như vậy trong hình C.
Hình C: Bạn có thể thực hiện một tracert ảo để xác định bị trí địa lý của host
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 tăng số lượng byte trong khi sử dụng lệnh ping
nhằm lần ra dấu vết của hiện tượng mất gói dữ liệu. Tiếp đó là giới thiệu về lệnh tracert. Trong phần tiếp
theo của loạt bài này, chúng tôi sẽ tiếp tục thảo luận bằng cách giới thiệu cách thông dịch các kết quả được
cho bởi lệnh tracert.
Kiến thức mạng cơ bản - kiểm tra kết nối (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.
Brien M. Posey
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\***istrator>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.
Kiến thức mạng cơ bản - kiểm tra kết nối (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 IPv4
Mụ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.
Các file đính kèm theo tài liệu này:
- Kiến thức mạng cơ bản.pdf