Khắc phục sự cố các vấn đề kết nối trong mạng (Phần 1)
Quản trị mạng - 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ố.
Văn Linh (Theo WindowsNetworking)
Quản trị mạng - 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ố.
Văn Linh (Theo WindowsNetworking)