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

1085
12-10-2022
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à một giao thức chuẩn được sử dụng bởi bộ giao thức TCP/IP khi thực hiện dynamic multicasting, là giao thức cho phép máy chủ thông báo cho các switches và routers các thành viên nhóm multicast của mình.

igmp-la-gi

Multicasting là gì?

Multicasting là một loại truyền dẫn cho phép truyền tải từ một nguồn đến một nhóm các điểm đến đã chọn.

Multicast là thuật ngữ trong ngành viễn thông được sử dụng để mô tả cách thức truyền tin được gửi từ 1 điểm đến 1 tập hợp các điểm khác, và do đó là một hình thức kết nối đa điểm. Kỹ thuật này được sử dụng trong tầng network. Lợi thế của nó là cùng một lúc thông điệp được gởi tới nhiều người tham gia hoặc tới một nhóm người sử dụng kín. Trong multicasting, máy gửi chỉ cần truyền tải dữ liệu với tốc độ như khi chỉ có một máy nhận duy nhất. Multicast hữu ích nếu 1 nhóm khách hàng yêu cầu 1 bộ dữ liệu chung cùng 1 lúc. Việc truyền tin Multicast sẽ tiết kiệm băng thông một cách đáng kể.

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.

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ó.

BizFly Cloud là hệ sinh thái điện toán đám mây được vận hành bởi VCCorp - Công ty dẫn đầu trong lĩnh vực công nghệ và truyền thông tại Việt Nam. Với đội ngũ kỹ thuật viên trình độ cao và kinh nghiệm lâu năm làm việc trên các công nghệ khác nhau như cloud, mobile, web..., chúng tôi có đủ khả năng để hỗ trợ đưa ra những giải pháp và công nghệ toàn diện giúp doanh nghiệp chuyển đổi số thành công. Dành cho độc giả quan tâm tới các dịch vụ đám mây do BizFly Cloud cung cấp có thể truy cập tại đây.

SHARE