ICMP là gì? 9 Loại giao thức ICMP phổ biến

Ngày đăng: 23/10/2024
Tác giả: Nguyễn Thị Thủy
Lượt xem: 35
Theo dõi:

ICMP là gì? Đây là một giao thức thuộc tầng mạng (network layer) trong bộ giao thức TCP/IP. Để hiểu rõ hơn về giao giao thức icmp này, hãy cùng với HostingViet tìm hiểu chi tiết trong bài viết dưới đây.

ICMP là gì

 

ICMP là gì?

ICMP (Internet Control Message Protocol) là một giao thức mạng được sử dụng để gửi các thông báo lỗi và thông tin kiểm soát giữa các thiết bị trên mạng. Bạn có thể hình dung ICMP như một hệ thống báo cáo lỗi trong mạng.

Trong quá trình trao thông tin nhắn giữa người gửi và nhận, có thể xảy ra một số lỗi như tin nhắn quá dài hoặc những dữ liệu không được gửi đi theo đúng thứ tự, trong những trường hợp này, người ta sẽ dùng ICMP để thông báo cho người gửi để họ gửi lại thông báo.

Cấu trúc của ICMP

ICMP có cấu trúc gồm 2 phần chính là header và data. Cụ thể từng phần như sau: 

  • Header: chứa 3 trường dữ liệu quan trọng là code, type và checksum để có thể xác định loại thông báo ICMP và có thể kiểm tra tính toàn vẹn của dữ liệu.
  • Data: chứa những thông tin cụ thể về lỗi hay trạng thái của kết nối mạng.

Cách ICMP hoạt động

Giao thức ICMP hoạt động cùng những giao thức mạng khác như giao thức UDP hay TCP/IP. Nó tập trung vào việc truyền tải những thông báo kiểm soát cùng với thông báo các lỗi giữa những thiết bị mạng.

Dưới đây là chi tiết cách mà ICMP hoạt động:

  • Tạo thông điệp ICMP: Khi cần gửi thông báo lỗi hay thông báo kiểm soát, giao thức này sẽ tạo ra một gói tin ICMP chứa những trường dữ liệu quan trọng như mã lỗi, loại thông điệp, checksum và dữ liệu khác liên quan.
  • Nhúng vào gói tin IP: Gói tin ICMP vừa được tạo sẽ được nhúng vào trong một gói tin IP như một phần dữ liệu.
  • Chuyển địa chỉ đích: Gói tin ICMP được chuyển tới địa chỉ ip của thiết bị đích
  • Truyền tải gói tin ICMP: Gói tin ICMP được chuyển tiếp theo quy trình định tuyến qua những thiết bị mạng như router, cách truyền tải sẽ giống với các gói tin IP khác.
  • Xử lý tại thiết bị đích: Sau khi được truyền tới thiết bị đích, gói tin ICMP sẽ được rút trích và xử lý bởi chính giao thức này. Các hành động tiếp theo sẽ phụ thuộc vào mã lỗi và loại thông điệp ICMP
  • Xử lý thông điệp ICMP: Thiết bị đích sẽ dựa vào mã lỗi và loại thông điệp để xử lý thông điệp ICMP
  • Phản hồi (nếu cần): Đối với một số loại thông điệp ICMP thì thiết bị đích có thể sẽ phản hồi lại bằng một thông điệp tương ứng.

Chức năng của giao thức ICMP

Giao thức tin nhắn được kiểm soát trên Internet có các chức năng như sau:

Thông báo lỗi

ICMP cung cấp các thông báo lỗi liên quan đến quá trình truyền dữ liệu. Các lỗi thường gặp bao gồm:

  • Destination Unreachable: Đích không thể truy cập được.
  • Time Exceeded: Thời gian sống (TTL) của gói tin đã hết.
  • Redirect: Định tuyến sai cần phải sửa đổi.

Bảo mật mạng

  • ICMP có thể dùng để phát hiện lưu lượng truy cập mạng trái phép để ngăn cản không cho truy cập và chỉ cho phép truy cập với những lưu lượng truy cập hợp pháp.
  • Tường lửa dùng ICMP để chặn hoặc cho phép truy cập một số lưu lượng nhất định.
  • Các quản trị viên mạng cũng dùng nó để theo dõi trạng thái và khả năng kết nối của những thiết bị mạng và phát hiện những thiết bị không xác định.

Điều khiển dòng dữ liệu

ICMP gửi tới trạm nguồn thông báo để ngừng việc truyền thông tin khi nó quá nhanh và trạm đích không kịp xử lý.

Kiểm tra trạm làm việc

Giao thức ICMP được dùng để kiểm tra trạng thái của các trạm làm việc hoặc các thiết bị trên mạng thông qua lệnh ping (ICMP Echo Request và Echo Reply). Lệnh này sẽ giúp xác định xem thiết bị đó có tồn tại, có đang hoạt động và kết nối mạng bình thường hay không.

9 Loại giao thức ICMP phổ biến

Để có thể hiểu được 9 loại ICMP này, bạn cần biết các trường type, cũng như xác định ý nghĩa và thông điệp của chúng:

  • 0: Echo reply
  • 3: Destination unreachable
  • 4: Source quench
  • 5: Redirect
  • 8: Echo
  • 9: Router advertisement
  • 10: Router selection
  • 11: Time exceeded
  • 12: Parameter problem
  • 13: Timestamp
  • 14: Timestamp reply
  • 15: Information request
  • 16: Information reply
  • 17: Address mask request
  • 18: Address mask reply
  • 30: Traceroute
  • 31: Datagram Conversion Error
  • 32: Mobile Host Redirect
  • 33: IPv6 Where-Are-You
  • 34: IPv6 I-Am-Here
  • 35: Mobile Registration Request
  • 36: Mobile Registration Reply
  • 37: Domain Name Request
  • 38: Domain Name Reply
  • 39: SKIP
  • 40: Security Failures

Dưới đây là 9 loại thường thấy, bao gồm:

1. ICMP Echo reply (Loại 8, Mã 0 và 1)

Loại này lại được chia ra làm 2 loại nhỏ:

  • Type = 0 -> echo request, code = 0
  • Type = 8 -> echo reply, code = 0

2. ICMP Destination Unreachable (Loại 3)

Thông báo này sẽ cho bạn biết rằng gói tin không đến được điểm đích và kèm theo nguyên nhân.

3. ICMP Parameter Problem (Loại 12)

Loại giao thức này thông báo cho bạn biết có vấn đề về tham số trong gói tin.

4. ICMP Redirect/ Change Requesst (Loại 5)

Loại giao thức này thông báo điều hướng địa chỉ IP mới tới nguồn, dùng để cập nhật bảng định tuyến trên những thiết bị mạng.

5. ICMP Timestamp request (Loại 13, Mã 0 và 1)

Loại giao thức ICMP này là phương thức đồng bộ thời gian giữa nơi truyền và nơi nhận tin có thể thực hiện qua 2 loại: 

  • Type = 13, code = 0 -> ICMP Timestamp Request: Yêu cầu phía thiết bị đích phải ghi lại thời gian và phản hồi lại.
  • Type = 14, code = 0 -> ICMP Timestamp reply: Phản hồi kèm theo thông tin thời gian từ phía thiết bị đích.

6. ICMP Information Request and Reply (Loại 15, Mã 0 và 1)

  • Type = 15, code = 0 -> ICMP Information Request: Yêu cầu thiết bị đích phản hồi với thông tin hữu ích.
  • Type = 16, code = 0 -> ICMP Information Reply: Phản hồi kèm thông tin yêu cầu.

7. ICMP Address Mask Request (Loại 17)

Khi máy chủ tìm được mạng con của mình thì sẽ dùng các hình thức sau:

  • Type = 17, code = 0 -> ICMP Address Mask Request: Yêu cầu thiết bị đích phải cung cấp thông tin về mặt nạ mạng.
  • Type = 118, code = 0 -> ICMP Address Mask reply: Phản hồi kèm thông tin mặt nạ mạng

8. ICMP Router Discovery

Giao thức ICMP này dùng để xác định bộ định tuyến khi người gửi mất default gateway.

9. ICMP Source Quench (Loại 4)

Được dùng để báo cho người gửi về sự tắc nghẽn và yêu cầu người gửi giảm tốc độ gửi gói dữ liệu.

9 Loại giao thức ICMP phổ biến

So sánh ngắn gọn ICMP với TCP

Khi nói về giao thức mạng, ICMP và TCP thường được nhắc đến cùng nhau. Tuy nhiên, chúng có vai trò và chức năng hoàn toàn khác nhau. Để hiểu rõ hơn về sự khác biệt giữa hai giao thức này, hãy cùng chúng ta so sánh chi tiết:

TCP là một giao thức định hướng kết nối để phân phối dữ liệu đáng tin cậy, có kiểm tra lỗi. Nó thường được dùng để duyệt web và gửi email, đăng nhập từ xa, truy cập những ứng dụng truyền tệp. TCP yêu cầu bắt tay, một loạt các thông báo thiết lập sự tin tưởng và xác thực giữa người nhận và người gửi. Nó đảm bảo gửi thông báo.

Ngược lại với TCP, ICMP lại là một giao thức không kết nối, nó không đảm bảo chuyển phát tin nhắn vì ICMP chỉ được dùng để báo cáo lỗi, những tin nhắn ICMP cũng có kích thước nhỏ hơn so với TCP.

2 giao thức này được sử dụng kết hợp để thiết lập lý do tại sao việc gửi TCP không thành công.

Vậy là trên đây HostingViet đã giới thiệu cho bạn “ICMP là gì?”, 9 loại giao thức ICMP và những thông tin xoay quanh nó. Hy vọng các thông tin trong bài viết này sẽ hữu ích với bạn.

Bài viết liên quan
 
 
2025/05/09

Latency là gì? Nguyên nhân và Cách khắc phục độ trễ

Latency là gì? Latency hay còn gọi là độ trễ, là khoảng thời gian tính từ lúc người dùng thực hiện một h&a...
Tác giả:
Đọc thêm
 
 
2025/05/06

9 Cách đặt tên Email chuyên nghiệp cho cá nhân, doanh nghiệp

  Tại sao nên biết cách đặt tên email chuyên nghiệp? Đặt tên email chuyên nghiệp cực kỳ quan trọng vì nó ...
Tác giả:
Đọc thêm
 
 
2025/04/26

Mysql workbench là gì? Cách Download và sử dụng [Hướng dẫn]

Mysql workbench là gì? MySQL Workbench là một công cụ được thiết kế trực quan, hỗ trợ truy cập và quản lý cơ sở dữ liệu. ...
Tác giả:
Đọc thêm
 
 
2025/04/24

Hybrid Cloud là gì? Ưu, Nhược điểm và Ứng dụng đám mây lai

Hybrid cloud là gì? Hybrid Cloud (máy ảo dùng riêng) là mô hình điện toán “đám mây...
Tác giả:
Đọc thêm
 
 
2025/04/23

Root domain là gì? Hướng dẫn cách đăng ký nhanh nhất

Root domain là gì? Ví dụ về Root Domain Root Domain (hay còn gọi là tên miền gốc) là cấp cao nhất trong hệ thống t...
Tác giả:
Đọc thêm
 
 
2025/04/22

Docker compose là gì? Các lệnh cơ bản và Cách cài đặt

Docker compose là gì? Docker Compose là một công cụ giúp bạn định nghĩa và quản lý các ứng dụng multi-conta...
Tác giả:
Đọc thêm