ICMP và ping
Bài học 15 trên 47 trong khóa học Mạng máy tính với terminal của Coddy.
ping trả lời một câu hỏi: máy đó có ở đó không? Nó gửi một thông điệp nhỏ gọi là yêu cầu phản hồi (echo request) rồi chờ phản hồi (echo reply). Những thông điệp đó không phải HTTP và không có cổng. Chúng thuộc một giao thức riêng gọi là ICMP, có nhiệm vụ duy nhất là truyền các thông điệp điều khiển và thông báo lỗi giữa các máy.
Đó là lý do ping không cho bạn biết gì về một trang web. Lệnh này giao tiếp với máy tính, chứ không phải chương trình nào đang chạy trên đó.
ping -c2 127.0.0.1-c2 gửi đúng hai lần rồi dừng. Nếu không có tùy chọn này, ping sẽ chạy cho đến khi bạn ngắt lệnh. Điều đó phù hợp khi dùng terminal thật, nhưng vô ích trong một tập lệnh.
Phần đáng đọc nhất là bản tóm tắt ở cuối: có bao nhiêu gói tin được gửi đi, bao nhiêu gói tin quay về và tỷ lệ mất gói (packet loss). Mất gói bằng 0 nghĩa là mọi tin nhắn đều đi hết vòng rồi quay lại.
Thử thách
DễGửi hai tin nhắn và xác nhận cả hai đều đến nơi.
Ping 127.0.0.1 đúng hai lần và chỉ in ra tỷ lệ mất gói tin từ phần tóm tắt. Đầu ra dự kiến:
0% packet loss
grep -ochỉ in ra văn bản khớp, thay vì in cả dòng.
Tự làm thử
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Mạng máy tính với terminal
Tự luyện tập: Playground Terminal