Thứ Tư, 10 tháng 7, 2013

Tìm Hiểu về lệnh Ping để kiểm tra hệ thống mạng

Ping là gì?

Ping là một chương trình cho phép bạn xác định một host còn hoạt động(alive) hay không?

Một ví dụ về Ping!


www.aqnet.com(209.54.218.119) -> alive!

Nếu bạn nhận được thông báo "Host Alive", điều này có nghĩa là host không còn hoạt động!

Ping hoạt động ra sao?

Ping gởi một ICMP message "echo request" đến host. Nếu nhận được một ICMP message "echo reply" của host, ping sẽ thông báo host còn hoạt động. Nếu không nhận được ICMP message "echo reply" của host, ping sẽ thông báo host này đã ngừng hoạt động!

Format của ICMP "echo request" và "echo reply" có dạng như sau:



Bất cứ lúc nào host nhận được một ICMP request message, nó sẽ phản hồi trở lại với một identifier và số sequence number. Trong hầu hết các hệ thống Unix, trường indentifier được đặt số Process ID của tiến trình gởi gói packet đi. Vì vậy, nếu bạn ping cùng một lúc nhiều lần đến một hệ thống Unix, giá trị indentifier mà bạn nhận được trong mỗi lần ping sẽ khác nhau!

Trường sequence number có giá trị mặc định là 0. Giá trị này sẽ được tăng một sau mỗi lần hệ thống phản hồi ICMP request message của chương trình ping. Ping sẽ in ra giá trị sequence number của mỗi lần nhận packet, điều này cho chúng ta biết được các gói packet có gặp lỗi hay không?!

(Để biết chi tiết về các trường khác, bạn hãy tham khảo các bài viết về giao thức TCP-IP!)

Bây giờ chúng ta hãy xem qua ví dụ cuối cùng:



Ở dòng đầu tiên, ping phân tích hostname ra địa chỉ ip. Bạn có nhận thấy giá trị icmp_seq tăng dần từ 0 sau mỗi lần ping nhận được ICMP message "echo reply" từ host không? Như vậy là các gói packet mà chúng ta nhận điều không gặp lỗi gì hết! Ping còn cho chúng ta biết thời gian TTL(Time To Live) nữa! Ping lưu thời gian mỗi lần gởi ICMP message "echo request". Khi nhận được ICMP message "echo reply" từ host, Ping sẽ lấy thời gian hiện tại trừ đi giá trị này sẽ ra TTL!

Kiểm Tra Hệ Thống Mạng Với Lệnh Ping.

Một trong những lệnh thông dụng nhất dùng để kiểm tra hệ thống mạng đó là lệnh Ping. Có thể nói rằng bất cứ ai đã từng làm việc liên quan đến hệ thống mạng thì cũng đều phải đã sử dụng qua lệnh Ping. Ngay cả khi bạn là người không chuyên, không làm việc về IT nhưng bạn cũng có thể sử dụng lệnh Ping để sửa chữa một số “bệnh” thông thường của máy tính. Vậy lệnh Ping hoạt động ra sao và sử dụng lệnh Ping trong trường hợp nào, ý nghĩa của các dòng thông báo trả về từ lệnh Ping là gì? Tất cả những câu hỏi trên sẽ được giải đáp trong các phần sau.

Lệnh Ping hoạt động như thế nào ?
Lệnh ping hoạt động dựa trên ý tưởng dò tìm. Mỗi khi cần xác định xem có vật gì gần mình hay không, bạn sẽ dùng tay “sờ”, dùng gậy “khua” hoặc ném đá ra xung quanh mình. Nếu có một va chạm xảy ra thì dựa trên tiếng “pong” của va chạm bạn sẽ xác định được phương hướng của vật thể đang ở gần bạn.
Tương tự như vậy, lệnh Ping cũng hoạt động bằng cách gửi gói tin truy vấn ICMP “echo-request” đến cho máy tính đích và lắng nghe gói tin hồi đáp ICMP “echo-response" để xác định có sự hiện diện của máy tính đích.

Sử dụng lệnh Ping trong trường hợp nào ?

Khi có sự cố về kết nối mạng như bạn không thể duyệt web, bạn không thể truy cập được thư mục chia sẻ trên File Server, phần mềm kế toán không thể kết nối đến máy chủ … thì khi đó bạn có thể sử dụng lệnh Ping để kiểm tra hoạt động của hệ thống mạng trước khi có các bước xử lý tiếp theo.
Các gói tin kiểm tra của lệnh ping sẽ được phát đi từ máy nguồn đến máy đích nếu có sự phản hồi tốt sẽ xác định được sự thông suốt của hệ thống mạng. Ngoài ra, lệnh Ping còn được sử dụng để kiểm tra hoạt động của card mạng, xác định sự tồn tại của máy tính đích, kiểm định chất lượn, đo đạt tốc độ truyền dẫn của hệ thống mạng. Cuối mỗi lệnh ping sẽ hiển thị thống kê về số lượng gói tin được gửi, thời gian hồi đáp và ghi nhận các gói tin bị rớt hay truyền thành công trên đường truyền …

Cú pháp của lệnh Ping

Để sử dụng lệnh ping, bạn vào Start > Run > gõ lệnh cmd. Tại dấu nhắc của dòng lệnh bạn gõ lệnh:
ping [các option của lệnh] [tên hoặc địa chỉ IP của máy đích]




Để xem thêm các tùy chọn của lệnh Ping bạn gõ lệnh ping /?
Các thông báo của lệnh Ping
Lệnh ping sẽ hiển thị thông báo và thống kê sau mỗi lần sử dụng lệnh. Nếu có lỗi xảy ra trên đường đi đến máy đích, lệnh ping sẽ hiển thị thông tin về lỗi. Dựa trên các thông tin này bạn sẽ xác định được một số nguyên nhân gây lỗi và cách khắc phục.
Có 3 thông báo thường được hiển thị khi sử dụng lệnh ping:


  • Reply from 192.168.101.100: bytes=32 time<1ms TTL=128

  • Request timed out

  • Destination host unreachable



1. Thông báo: Reply from 192.168.101.100: bytes=32 time<1ms TTL=128
Khi nhận được thông báo có dạng như trên thì có nghĩa là lệnh ping đã thực hiện thành công và hệ thống không có lỗi:




Địa chỉ IP sau từ “Reply from” cho biết máy nào đang gửi thông điệp trả lời.
bytes=32
 là kích thước của gói tin ICMP được gửi đi.
time<1ms
 thời gian của quá trình hồi đáp chỉ tốn dưới 1 mili giây 
TTL=128
 là giá trị "time to live" (thời gian sống) của gói tin ICMP. Hết thời gian này thì gói tin sẽ bị hủy.


Giá trị TTL được ứng dụng tùy hệ điều hành và nó là "thước đo" giới hạn "thời gian sống" của datagram trong gói tin gửi đi. TTL khởi tạo bằng giá trị ấn định của hệ điều hành (trong trường hợp này là 128) và con số này giảm bớt 1 đơn vị mỗi khi nó đi qua một router. Khi giá trị TTL này trở thành 0 (zero) thì datagram này bị hủy cho dù nó chưa đến được nơi nó cần "ping". Nếu bạn "ping" một host nào đó trong cùng một subnet (không qua router nào cả) thì giá trị TTL không hề thay đổi.

2. Thông báo: Request timed out
Nếu không kết nối được với máy đích thì Ping sẽ hiển thị thông báo là "Request timed out".



Thông điệp "Request timed out" có nghĩa là không có hồi đáp trả về. Khi gặp thông báo này thì bạn có thể có chẩn đoán các nguyên nhân gây ra lỗi như sau:
-Thiết bị định tuyến Router bị tắt.
-Địa chỉ máy đích không có thật hoặc máy đích đang bị tắt, hoặc cấm ping.
-Nếu máy đích khác đường mạng với máy nguồn thì nguyên nhân có thể do không có định tuyến ngược trở lại máy nguồn. Lúc này, nếu máy đích đang chạy, bạn có thể kiểm tra đường đi về của gói tin bằng cách xem lại thông số Default Gateway trên máy đích, máy nguồn và router kết nối các đường mạng.
-Độ trễ của quá trình hồi đáp lớn hơn 1 giây. Phiên làm việc của lệnh ping mặc định là 1 giây. Nhưng nếu quá trình hồi đáp lớn hơn 1 giây mà gói tin vẫn chưa đến đích thì lệnh ping cũng thông báo lỗi trên. Bạn có thể sử dụng tùy chọn -w để tăng thêm thời gian hết hạn. Ví dụ cho phép kéo dài quá trình hồi đáp trong vòng 5 giây sử dụng bạn dùng lệnh ping -w 5000.


3. Thông báo: Destination host unreachable 
Thông báo cho biết không thể kết nối đến máy đích. Nguyên nhân gây ra lỗi này có thể là do cáp mạng bị đứt, không gắn cáp vào card mạng, card mạng bị tắt, Driver card mạng bị hư…



Tổng kết
Trên đây là những điểm khái quát và những ứng dụng thường được sử dụng nhất của lệnhping. Lệnh ping sẽ giúp cho người quản trị hệ thống mạng có được công cụ chẩn đoán mạng nhanh chóng, đơn giản và hiệu quả. Đối với người dùng thông thường cũng có thể tự kiểm tra kết nối mạng và sửa chữa một số lỗi cơ bản dựa theo các thông báo của lệnh ping.

0 nhận xét:

Đăng nhận xét