IGMP là gì? Cách thức hoạt động của giao thức IGMP

1594
27-04-2026
IGMP là gì? Cách thức hoạt động của giao thức IGMP

IGMP là một giao thức mạng được sử dụng để thiết lập multicast trên network sử dụng IPv4. IGMP là một phần không thể thiếu của IP multicast. Vai trò của IGMP là thông báo cho local router multicast khi máy chủ lưu trữ muốn nhận lưu lượng multicast cho một nhóm cụ thể. Vậy IGMP là gì và nó hoạt động như thế nào? Hãy cùng Bizfly Cloud khám phá trong bài viết dưới đây!

IGMP là gì?

IGMP (Internet Group Management Protocol) là giao thức trong mạng IPv4 dùng để quản lý các nhóm multicast. Hiểu đơn giản, khi một thiết bị muốn nhận dữ liệu từ một luồng multicast, nó sẽ dùng IGMP để “đăng ký” tham gia nhóm đó với router. Cơ chế này thực chất được diễn ra khá nhanh và người dùng gần như không nhận ra trong quá trình sử dụng.

IGMP giúp router biết thiết bị nào đang cần dữ liệu, thay vì phải gửi đi khắp nơi. Nhờ vậy, dữ liệu chỉ được gửi đến đúng những thiết bị quan tâm thay vì phát tán đến toàn bộ mạng. 

igmp-la-gi

Multicasting là gì?

Multicasting có thể hiểu đơn giản là cách gửi một luồng dữ liệu đến nhiều thiết bị cùng lúc, nhưng chỉ trong một nhóm xác định.

Khác với unicast (gửi từng thiết bị) hay broadcast (gửi toàn bộ), multicast chỉ gửi đến những thiết bị đã “đăng ký” trước đó.

Đây là lý do vì sao multicast thường được dùng trong các hệ thống cần truyền cùng một nội dung đến nhiều người cùng lúc như: livestream, hội nghị video, IPTV.

Dynamic multicasting

Cấu hình của Dynamic multicasting đòi hỏi một router hoặc thiết bị layer-3 có khả năng xử lý các nhóm multicast. Thiết bị layer-3 sử dụng giao thức IGMP (Internet Group Management Protocol) để xác định khi một client tham gia hoặc rời nhóm, nó sử dụng join và leave message để thêm và xóa client khỏi nhóm multicast.

cong-nghe-multicasting

Nhiều thiết bị layer-2 cũng có khả năng IGMP Snooping. IGMP Snooping cho phép một thiết bị layer-2 có thể đọc được IGMP traffic giữa host và router (hoặc Querier), xác định khi nào các port tham gia và rời nhóm, tự động chuyển tiếp lưu lượng đến các port đang tham gia trong nhóm. IGMP Querier có khả năng gửi tin nhắn định kỳ (được gọi là IGMP Membership Query) đến địa chỉ IP Multicast 224.0.0.1 (tất cả các máy chủ có khả năng multicast) trong một khoảng thời gian xác định. Điều này cho phép thiết bị layer-3 theo dõi port nào thuộc về nhóm multicast nào.

 Lợi ích của IGMP

Trong thực tế, IGMP không chỉ là một giao thức chỉ để cho có, mà nó giúp mạng hoạt động gọn gàng và tiết kiệm tài nguyên hơn. Những lợi ích này thường thấy rõ hơn khi mạng có nhiều thiết bị hoặc nhiều luồng dữ liệu chạy đồng thời.

  • Router có thể biết chính xác thiết bị nào đang cần dữ liệu multicast, thay vì phải gửi tràn lan
  • Băng thông được sử dụng hiệu quả hơn, đặc biệt trong các hệ thống có nhiều luồng video hoặc streaming
  • Thiết bị có thể tham gia hoặc rời nhóm linh hoạt, không cần cấu hình phức tạp
  • Phù hợp với các môi trường thay đổi liên tục như họp online, lớp học trực tuyến hoặc hệ thống IPTV

Các loại thông điệp IGMP

Mục đích chính đằng sau IGMP là cho phép các máy chủ trong một mạng con giao tiếp với các local router multicast về ý định nhận lưu lượng truy cập được gửi đến một multicast group. Có nhiều loại message (thông báo/thông điệp) khác nhau được sử dụng để giao tiếp giữa multicast router và multicast client:

  • IGMP General Membership Query (MQ) messages: Các thông báo này được gửi bởi các local router multicast đến các mạng con để xác định các multicast group mà các multicast client trong mạng muốn subscribe.
  • IGMP Group-specific Multicast Query (MQ) messages: Các thông báo này được gửi đến một địa chỉ multicast group cụ thể làm địa chỉ IPv4 đích. Các thông báo này được sử dụng để xác định các thành viên của một multicast group cụ thể.
  • IGMP Group-and-source-specific Multicast Query (MQ) messages: Các thông báo này được sử dụng bởi các multicast router để tìm bất kỳ máy tính nào muốn nhận thông báo từ một multicast group có source list cụ thể.
  • IGMP Membership Report messages: Các thông báo này được gửi bởi các multicast client bên trong mạng con tới router để thông báo ý định tham gia multicast group hoặc để phản hồi thông báo Truy vấn thành viên (MQ) do router gửi.
  • IGMP Leave Group (LG) messages: Các thông báo này được multicast client gửi đến các local router multicast để thông báo rằng nó không còn quan tâm đến lưu lượng truy cập từ một group cụ thể.

Cách hoạt động của giao thức IGMP

Khi truyền tải multicast bắt đầu, phần mềm hoặc dịch vụ sẽ tạo một multicast group. Địa chỉ nhóm này bao gồm một địa chỉ IP có octet đầu tiên trong phạm vi 224 - 239  (Class D) và được chỉ định trong gói IP làm địa chỉ đích cho lưu lượng này. Máy chủ truyền sẽ gửi một thông báo (được gọi là IGMP Membership Report) đến địa chỉ 224.0.0.2 (tất cả các multicast router) chỉ định địa chỉ multicast group. Switch nhận được thông báo này sẽ thêm multicast group vào bảng và thêm port nhận với tư cách là thành viên của nhóm. 

Nó cũng chuyển tiếp report này đến bất kỳ multicast router nào khác. Sau đó, router sẽ thêm các máy chủ này vào bảng định tuyến multicast. Tất cả các máy muốn trở thành thành viên của nhóm cũng gửi tin nhắn tham gia. Switch chặn các tin nhắn này và thêm các port nhận là thành viên của nhóm. Switch cũng chuyển tiếp các tin nhắn này đến multicast router. Tất cả lưu lượng được gửi đến địa chỉ đích multicast chỉ được chuyển tiếp đến các port tham gia vào nhóm được chỉ định. Để giữ thông tin thành viên hiện tại, querier IGMP tiếp tục gửi Membership Queries. Tất cả các máy chủ muốn ở lại trong nhóm phải trả lời các truy vấn này. Nếu các máy chủ trong nhóm không trả lời trong một khoảng thời gian được chỉ định, thì switch sẽ xóa các port đó khỏi bảng nhóm. Khi tất cả các thành viên đã rời khỏi nhóm multicast, switch sẽ xóa địa chỉ phát đa hướng khỏi bảng của nó.

IGMP snooping là gì?

IGMP snooping là một kỹ thuật giúp switch xử lý multicast “thông minh” hơn trong mạng LAN.

Thay vì gửi dữ liệu multicast đến tất cả các cổng, switch sẽ theo dõi các thông điệp IGMP để biết cổng nào thực sự cần dữ liệu. Nhờ đó, dữ liệu chỉ đi đúng nơi cần đến.

Trong các mạng doanh nghiệp hoặc hệ thống có nhiều luồng video, cách làm này giúp giảm tải đáng kể và tránh lãng phí tài nguyên.

Multicasting IPv4 và Multicasting IPv6

Multicasting không chỉ dành riêng cho IPv4 mà còn mở rộng sang IPv6 - phiên bản mới hơn của giao thức Internet. IPv4 Multicasting đã tồn tại lâu và có nhiều chuẩn mực rõ ràng, nhưng cũng gặp phải một số hạn chế về địa chỉ và khả năng mở rộng. Trong khi đó, IPv6 mang đến các phương thức đa dạng hơn, cải thiện hiệu suất và khả năng quản lý nhóm multicast lớn hơn nhiều.

Sự khác biệt rõ ràng giữa hai hệ thống này nằm ở các địa chỉ multicast và cách chúng hoạt động. IPv4 sử dụng các địa chỉ trong phân khúc 224.0.0.0/4, còn IPv6 sử dụng các địa chỉ bắt đầu bằng FF00::/8.

Multicasting với Anycast, Unicast

Bên cạnh multicast, hệ thống mạng còn sử dụng các phương thức truyền dữ liệu như unicast và anycast để tối ưu hóa hoạt động. Unicast là hình thức gửi dữ liệu tới một đích duy nhất, phù hợp với các kết nối trực tiếp và đòi hỏi riêng tư cao. Trong khi đó, anycast cho phép gửi dữ liệu tới một trong nhiều đích có cùng địa chỉ IP, nhằm mục đích tối ưu khoảng cách hoặc tải server.

Khi nói về multicasting, việc kết hợp với anycast hoặc unicast có thể mang lại lợi ích phong phú tùy theo mục đích ứng dụng.

Ví dụ, trong các dịch vụ phân phối nội dung lớn, có thể sử dụng multicast để phát sóng chung, kết hợp với unicast để cung cấp các dịch vụ cá nhân hoặc anycast để tối ưu hoá việc phân phối qua nhiều trung tâm dữ liệu. 

Tổng kết

Một điểm dễ bị bỏ qua là IGMP không trực tiếp truyền dữ liệu, mà chỉ đóng vai trò quản lý việc ai được nhận dữ liệu. Phần truyền thực tế vẫn do các giao thức khác đảm nhiệm.

IGMP chính là chìa khóa để quản lý các nhóm multicast trong mạng IPv4, giúp hệ thống hoạt động hiệu quả và tiết kiệm tài nguyên hơn. Từ quá trình hoạt động đến các ứng dụng như IGMP snooping, multicasting IPv4 và IPv6, tất cả đều góp phần tạo nên một mạng lưới thông minh, linh hoạt và tối ưu. Việc nắm rõ vai trò của IGMP sẽ giúp các nhà quản trị mạng thiết kế hệ thống phù hợp, đáp ứng tốt các nhu cầu truyền tải dữ liệu ngày càng cao của thời đại số.

SHARE
Zalo