Kiến thức mạng cơ bản

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.

pdf27 trang | Chia sẻ: aloso | Lượt xem: 1925 | Lượt tải: 0download
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:

  • pdfKiến thức mạng cơ bản.pdf