Home Internet Igmp Snooping Là Gì

Igmp Snooping Là Gì

Chương 19: CƠ CHẾ MULTICAST (Phần 4) –

Chương 19: CƠ CHẾ MULTICAST (Phần 4) –

Chương 19: CƠ CHẾ MULTICAST (Phần 4) – Chương 19: CƠ CHẾ MULTICAST (Phần 4) – Chương 19: CƠ CHẾ MULTICAST (Phần 4) –

*
*
*
*

5. IGMP phiên bản 3

Tháng 10 năm 2002, RFC3376 định nghĩa đặc tả cho IGMP phiên bản 3. IGMP phiên bản 3 là một phiên bản cải tiến của giao thức IGMP và là giao thức khá phức tạp. Để dùng các đặc điểm mới của IGMP, router trạm cuối cùng phải được cập nhật, hệ điều hành của máy trạm phải thay đổi và ứng dụng Multicast phải thiết kế và viết lại. Ở thời điểm hiện tại, chỉ có rất ít các ứng dụng của IGMP phiên bản 3 là có sẵn. Phần này chỉ tóm tắt các đặc điểm chủ yếu của IGMP phiên bản 3.

Bạn đang xem: Igmp Snooping Là Gì

Bạn đang xem: Igmp snooping là gì

Trong IGMP phiên bản 1 và IGMP phiên bản 2, khi một máy trạm tham gia vào một nhóm, router sẽ truyền các lưu lượng cho nhóm đó vào phân đoạn mạng bất chấp địa chỉ nguồn của gói tin. Ví dụ, giả sử có một buổi hội thảo đa phương tiện đang diễn ra. Một thành viên của nhóm quyết định phá hỏng phiên hội thảo bằng cách gửi ra một số dữ liệu nhiễu bằng cách nói chuyện hay gửi nhạc cho các thành viên của nhóm. Mặc dù các ứng dụng đa phương tiện cho phép một người dùng làm im lặng các thành viên khác, ứng dụng không làm dừng các lưu lượng không mong muốn phân phối đến máy trạm.

Nếu một nhóm các hacker quyết định phát tán một mạng của một công ty bằng các dữ liệu băng thông cao dùng cùng địa chỉ nhóm Multicast mà công ty đang dùng, nó có thể tạo ra kiểu tấn công từ chối dịch vụ. Cả IGMP phiên bản 1 và IGMP phiên bản 2 đều không có cơ chế để ngăn ngừa một kiểu tấn công như vậy.

IGMP phiên bản 3 cho phép các máy trạm lọc các lưu lượng đi vào dựa trên địa chỉ IP nguồn thông qua một tính năng gọi là Multicast theo từng nguồn (Source Specific Multicast –SSM). IGMP phiên bản 3 cho phép các máy trạm chỉ định các lưu lượng xuất phát từ một nguồn cụ thể hoặc nhận từ tất cả ngoại trừ từ một nguồn nào đó.

Hình 19.17 mô tả hoạt động cơ bản của cơ chế báo cáo IGMP phiên bản 3.

Hình 19.17: Hoạt động cơ bản của IGMP phiên bản 3

Làm thế nào một máy trạm có thể học địa chỉ nguồn của một nhóm? Cisco đã phát triển tính năng URD và IGMP phiên bản 3 để dùng các tính năng của IGMP phiên bản 3 cho đến khi nào các ứng dụng IGMP phiên bản 3 là sẵn sàng và hệ điều hành được cập nhật.

6. So sánh IGMP phiên bản 1, 2 và 3

Đặc điểm

IGMP phiên bản 1

IGMP phiên bản 2

IGMP phiên bản 3

Giá trị của byte đầu tiên trong thông điệp truy vấn

0x11

0x11

0x11

Địa chỉ nhóm cho thông điệp truy vấn

0.0.0.0

0.0.0.0

0.0.0.0

Địa chỉ đích cho thông điệp truy vấn

224.0.0.1

224.0.0.1

224.0.0.1

Thời gian truy vấn mặc định

60 giây

125 giây

125 giây

Giá trị của byte đầu tiên của thông điệp báo cáo

0x12

0x16

0x22

Địa chỉ nhóm cho thông điệp báo cáo

Địa chỉ nhóm Multicast

Địa chỉ nhóm Multicast

Địa chỉ nhóm Multicast, có tham khảo thêm nguồn

Địa chỉ đích của thông điệp báo cáo

Địa chỉ nhóm Multicast

Địa chỉ nhóm Multicast

224.0.0.22

Có cơ chế làm giảm thông điệp báo cáo hay không?

Không

Thời gian trả lời tối đa có thể được cấu hình

Không, cố định ở 10 giây

Có, từ 0 đến 25, 5 giây

Có, từ 0 đến 53 phút

Một máy trạm có thể gửi thông điệp rời khỏi nhóm hay không?

Không

Địa chỉ đích cho thông điệp rời khỏi nhóm

224.0.0.2

224.0.0.2

Một router có thể gửi một thông điệp cho từng nhóm cụ thể

Không

Một máy trạm có thể gửi một thông điệp báo cáo cho từng nhóm và từng nguồn cụ thể hay không?

Không

Không

Router có thể gửi truy vấn cho từng nguồn và từng nhóm cụ thể hay không?

Không

Không

Luật bầu chọn router truy vấn

Không, phụ thuộc vào giao thức định tuyến

Router có địa chỉ IP thấp nhất

Router có địa chỉ IP thấp nhất

Tương thích với các phiên bản khác của IGMP

Không

Có, chỉ với IGMP phiên bản 1

Có, với cả IGMP phiên bản 1 và IGMP phiên bản 2

7. Giao thức phát hiện các máy chạy Multicast

RFC2710 định nghĩa đặc tả cho giao thức phát hiện các máy chạy Multicast (Multicast Listener Discovery – MLD). MLD là một giao thức được phát triển từ IGMP phiên bản 2 và được thiết kế cho IP phiên bản 6. Hoạt động của MLD thì tương tự như IGMP phiên bản 2. Sự khác nhau giữa IGMP phiên bản 2 và MLD là các thiết bị Multicast trên mạng dùng địa chỉ IP liên kết cục bộ phiên bản 6 như là địa chỉ nguồn trong giao tiếp của nó đến những thiết bị Multicast khác. Việc sử dụng địa chỉ nguồn là liên kết cục bộ ngăn ngừa các gói tin MLD đi ra khỏi phân đoạn mạng cục bộ đó. Trong MLD, khi một máy trạm muốn rời khỏi một nhóm, nó gửi ra thông điệp Thực hiện (Done). Thông điệp Done thì tương tự như thông điệp rời khỏi nhóm của IGMP phiên bản 2. Thông điệp này sẽ gửi đến tất cả các router IP phiên bản 6, FF02::2.

Trong MLD, router truy vấn (Querier) thì được gọi là MLQ (Multicast Listener Querier). Khi một router nhận một thông điệp Done, nó gửi một thông điệp truy vấn địa chỉ Multicast xác định (Multicast-Address-Specific Query). Chức năng của nó tương tự như truy vấn từng nhóm IGMP phiên bản 2 (Group-Specific Query).

III. CHUYỂN MẠCH LƯU LƯỢNG MULTICAST

Không chỉ router cần phải biết cổng LAN nào để chuyển lưu lượng Multicast mà switch cũng cần phải biết những cổng nào cần nó cần chuyển lưu lượng . Mặc định, nếu một switch nhận được khung tin Multicast trên một cổng, switch sẽ phát tán khung tin trên toàn Vlan giống như Broadcast hay là Unicast chưa biết. Lý do là các switch sẽ không bao giờ tìm ra địa chỉ MAC Multicast như là một địa chỉ nguồn. Quyết định của một switch phát tán các khung tin Multicast có nghĩa là nếu có bất kỳ máy trạm nào trong cùng Vlan, cho dù máy trạm đó có yêu cầu nhận khung tin Multicast hay không, cũng sẽ nhận được lưu lượng Multicast. Trạng thái này đã đi ngược lại một trong những mục tiêu thiết kế ban đầu của Multicast trong đó nêu rõ chỉ phân phối lưu lượng Multicast đến những máy nào yêu cầu trong khi vẫn tăng hiệu suất của băng thông.

Để truyền lưu lượng hiệu quả hơn, các switch cần phải trả lời các câu hỏi sau:

Switch có nên chuyển lưu lượng ra tất cả các cổng trong Vlan hay chỉ ra một số cổng cụ thể?Nếu switch chỉ chuyển lưu lượng ra những cổng cụ thể, làm thế nào để switch tìm ra các cổng này?

Có ba giao thức khác nhau CGMP, giám sát IGMP (IGMP snooping) và RGMP cho phép các switch tối ưu các cơ chế chuyển lưu lượng Multicast của nó. Phần kế tiếp sẽ khảo sát làm thế nào các router và máy trạm dùng IGMP để đảm bảo rằng router có nên chuyển Multicast lưu lượng ra một cổng LAN hay không.

Các router hoặc các switch đa lớp MLS có thể xây dựng các cây Multicast và chuyển các gói tin đi một cách hiệu quả. Tuy nhiên ở lớp 2, một switch chỉ kiểm tra phần đầu của khung tin Etheđể tìm địa chỉ nguồn và địa chỉ đích. Các switch này không thể hoạt động ‘theo yêu cầu’ giống như router. Thông tin tốt nhất mà một switch biết được là địa chỉ Multicast đích và khi đó khung tin đó cần phải được phát tán ra tất cả các cổng của Vlan.

Có hai phương thức được phát triển để cho phép các switch chuyển các gói tin Multicast một cách thông minh. Một là dùng giám sát IGMP (IGMP snooping) và hai là dùng CGMP. Một phương thức đòi hỏi phần cứng mạnh, còn phương thức kia thì học hỏi thông tin từ các router láng giềng.

Xem thêm: Forensics Là Gì – Forensic Hoạt Động Như Thế Nào

1. Giám sát IGMP

Trong chế độ hoạt động bình thường, một máy trạm muốn tham gia vào một nhóm Multicast phải liên lạc với một router ngõ ra để router đưa máy trạm đó vào nhóm Multicast. IGMP snooping cho phép một switch lắng nghe các thông điệp báo cáo quan hệ IGMP này sao cho nó có thể tìm ra máy trạm nào đang yêu cầu nhóm nào.

Để tham gia vào một nhóm, một máy trạm phải gửi các thông điệp báo cáo quan hệ Multicast về chính địa chỉ Multicast của nhóm đó. Một switch L2 phải lắng nghe đến tất cả các khung tin Multicast để tìm ra thông tin IGMP. Đây rõ ràng là một gánh nặng cho CPU của switch.

Một thiết bị L3 switch thì có lợi thế rõ ràng hơn, nó có thể tách ra thông tin L3 trong một khung tin. Kiểu switch này phải lắng nghe mọi gói IGMP. Khi một thông điệp báo cáo quan hệ được lắng nghe, switch sẽ thêm địa chỉ MAC của nhóm Multicast vào bảng CAM của nó cùng với cổng nguồn nơi mà một gói IGMP được nhận. Tác vụ này sẽ liên kết địa chỉ nhóm với các máy trạm đã yêu cầu tham gia nhóm.

Khi các máy trạm khác cũng yêu cầu tham gia nhóm, các cổng tương ứng sẽ được thêm vào bảng CAM. Khi có một khung tin cần đến một địa chỉ Multicast, nó có thể được nhân bản ra chính xác các cổng của các máy trạm.

Với IGMP snooping, có hai trường hợp đặc biệt trong bảng CAM. Một là, tất cả các địa chỉ IGMP là nhận biết bởi switch (cập nhật động) cũng sẽ được lưu trong bảng CAM. Các khung tin Multicast cũng phải được nhân bản về phía các router để các lưu lượng này có thể được định tuyến nếu cần thiết. Hai là, CPU của switch cũng là một thành viên của nhóm Multicast vì nó có thể xem các gói IGMP đến và đi. Chỉ có lưu lượng của IGMP là được xử lý. CPU sẽ không kiểm tra các khung tin Multicast khác.

IGMP snooping được cho phép trên tất cả các cổng của switch và các giao tiếp Vlan. Các dòng switch Catalyst 2950, 3550, 4500 và 6500 là có hỗ trợ IGMP snooping.

Điều gì sẽ xảy ra nếu hệ thống mạng có vài switch không phải của Cisco? Bạn không thể dùng CGMP bởi vì đây là giao thức của Cisco. IGMP snooping có thể được dùng cho một môi trường có nhiều loại switch khác nhau để kiểm soát việc phân phối lưu lượng ở lớp 2. IGMP snooping yêu cầu phần mềm switch nghe lén các trao đổi IGMP giữa các máy trạm và các router. Switch sẽ kiểm tra các thông điệp IGMP và học vị trí của các router Multicast và các thành viên nhóm.

Ba bước dưới đây sẽ mô tả quá trình tổng quát của IGMP snooping:

Ngay khi các switch phát hiện các router trong Vlan, switch sẽ thêm vào danh sách cổng của tất cả các GDA trong VLAN đó.

Bước 2: Khi một switch nhận được một thông điệp báo cáo IGMP trên một cổng, CPU sẽ xem địa chỉ nhóm GDA, tạo ra một hàng trong bảng CAM và thêm địa chỉ cổng vào hàng. Cổng của switch có router cũng được thêm vào hàng mới này. Nếu các máy trạm khác gửi các báo cáo IGMP, switch sẽ chuyển lưu lượng ra các cổng.

Tương tự, khi một switch nhận được một thông điệp rời khỏi nhóm, CPU sẽ tìm địa chỉ GDA, xóa các cổng ra khỏi bảng CAM và không đẩy lưu lượng ra cổng đó. Switch sẽ kiểm tra đây có phải là cổng cuối cùng của GDA hay không. Nếu đây không phải là cổng cuối cùng, có nghĩa là có ít nhất một máy trong Vlan vẫn muốn nghe lưu lượng , switch sẽ bỏ thông điệp rời bỏ, nếu khác đi, nó sẽ gửi thông điệp rời bỏ đến router.

Như vậy, IGMP snooping giúp cho các switch gửi lưu lượng chỉ cho những nhóm cần nó và tránh lãng phí băng thông. Để tăng hiệu quả hoạt động, IGMP snooping yêu cầu phần cứng phải hỗ trợ chức năng lọc bằng phần cứng sao cho nó có thể phân biệt sự khác nhau giữa các báo cáo IGMP và lưu lượng Multicast bình thường. CPU của switch cần phải thấy các thông điệp báo cáo IGMP (và các thông điệp định tuyến Multicast khác) bởi vì IGMP snooping có thể làm tốn CPU. Tuy nhiên, quá trình đẩy khung tin đi không yêu cầu chu kỳ CPU mà chỉ cần phần cứng ASIC của switch.

Xem thêm: Swag Girl Là Gì ? Swag Boy, Swag Girl Là Như Thế Nào? Ý Nghĩa Của Từ Swag

Những switch cũ hơn, đặc biệt là những switch không có L3 sẽ không thể nhận dạng một gói tin là IGMP. Các switch này bị ràng buộc về CPU bằng cách gửi tất cả các Multicast lưu lượng . Phần lớn các switch hiện đại ngày nay hỗ trợ đủ tính năng L3 để nhận biết IGMP sao cho IGMP snooping sẽ không ràng buộc CPU.

Chuyên mục: Internet

Rate this post