VnExperts - Đào tạo, học, thi chứng chỉ Quốc tế Cisco CCNA, CCNP, Microsoft MCP, MCSA, MCITP, Linux, Security+, CEH

IGMP Snooping và MVR - Phần I PDF Print E-mail
Trong nội dung của toàn bộ các bài viết này sẽ giới thiệu đến các bạn phương pháp để cấu hình Internet Group Management Protocol (IGMP) snooping trên Catalyst Switch 2960, bao gồm cả một ứng dụng của IGMP snooping cục bộ, Multicast VLAN Registration (MVR). Và bài viết này cũng bao gồm những thủ tục cần thiết để có thể điều khiển các thành viên nhóm bằng cách sử dụng IGMP filtering và những thủ tục để cấu hình IGMP throttling.

- Bài viết về IGMP Snooping và MVP sẽ bao gồm những phần sau:
+ Phần I: Tìm hiểu về IGMP Snooping
+ Phần II: Cấu hình IGMP Snooping
+ Phần III: Hiển thị thông tin IGMP Snooping
+ Phần IV: Tìm hiểu về Multicast VLAN Registration
+ Phần V: Cấu hình MVR
+ Phần VI: Hiển thị thông tin cấu hình MVR
+ Phần VII: Cấu hình IGMP Filtering và Throttling
+ Phần VIII: Hiển thị thông tin cấu hình IGMP Filtering và Throttling

Phần I - Tìm hiểu về IGMP Snooping

- Switc Layer 2 có thể sử dụng IGMP snooping để yêu cầu flooding các lưu lượng dữ liệu multicast bằng cách cấu hình các interface layer 2 của switch, vì vậy lưu lượng multicast sẽ được chuyển duy nhất thông qua những interface có liên quan đến các thiết bị IP multicast. IGMP snooping cần các switch layer 2 để tìm hiểu về quá trình truyền thông tin IGMP giữa các máy trạm và các router, ngoài ra còn lưu giữ những thông tin để kiểm tra về các nhóm multicast và các port thành viên. Khi một switch nhận được một bản báo cáo IGMP từ một máy trạm có liên quan đến một nhóm multicast, thì switch đó sẽ thêm chỉ số port của máy trạm đó vào trong bảng forwarding; Khi switch đó nhận một thông điệp IGMP Leave Group từ một máy trạm, thì switch đó sẽ hủy thông tin của port mà host đó đang gắn vào ra khỏi bảng forwarding. Theo chu kỳ nếu một switch không nhận được các bản báo cáo IGMP membership từ các máy trạm trong nhóm multicast thì switch cũng sẽ thực hiện việc xóa toàn bộ thông tin trong bảng forwarding.

- Các router multicast sẽ gửi các thông điệp yêu cầu thông tin cần thiết cho tất cả các VLAN theo chu kỳ. Tất cả các máy trạm quan tâm đến những lưu lượng multicast này thì sẽ gửi các thông tin yêu cầu ra nhập và sẽ được thêm vào trong bảng forwarding. Switch sẽ tạo một bảng forwarding cho mỗi một VLAN, trong IGMP snooping IP multicast đều có một bảng forwarding cho mỗi một nhóm từ đó switch có thể nhận được một IGMP yêu cầu thông tin ra nhập.
- Switch có khả năng hỗ trợ các nhóm IP multicast dựa trên cơ chế bridging, hay đúng hơn là dựa trên các thông tin về địa chỉ MAC. Với các nhóm multicast dựa trên địa chỉ MAC, nếu một địa chỉ IP đã được cấu hình để chuyển đổi sang địa chỉ MAC hoặc địa chỉ MAC multicast (nằm trong dải 224.0.0.xxx), thì câu lệnh sẽ bị lỗi. Bởi vì switch sử dụng các nhóm IP multicast, vì vậy sẽ không có địa chỉ nào được dùng để thay thế.

- Các nhóm IP multicast được học một cách tự động thông qua IGMP snooping. Tuy nhiên, bạn có thể cấu hình tĩnh các nhóm multicast này bằng cách sử dụng câu lệnh: ip igmp snooping vlan vlan-id static ip_address interface interface-id ở chế độ global configuration. Nếu bạn chỉ định các thành viên trong một nhóm multicast nào đó bằng phương pháp tĩnh, thì những thông số cấu hình đó sẽ được thay thế một cách tự động bởi IGMP snooping. Danh sách các thành viên trong nhóm Multicast có thể chứa cả hai thông số cấu hình do: người dùng định nghĩa và IGMP snooping tự động học.

- Bạn có thể cấu hình một lời yêu cầu của IGMP snooping để hỗ trợ IGMP snooping trong các subnet mà không cần đến các interface multicast bởi vì lưu lượng multicast không cần phải được định tuyến.

- Nếu một port spanning-tree, một port group, hoặc một VLAN ID có sự thay đổi, thì các nhóm multicast IGMP snooping-learned từ chính port này trên VLAN đó sẽ bị xóa.

- Quá trình tìm hiểu về IGMP các bạn có thể tìm hiểu theo các chủ đề sau:
    + Các phiên bản của IGMP
    + Quá trình join vào một Multicast Group
    + Quá trình di chuyển khỏi một nhóm Multicast
    + Immediate Leave
    + IGMP Configurable-Leave Timer
    + IGMP Report Suppressoin.

1. Các phiên bản của IGMP.

- Các switch layer 2 có khả năng hỗ trợ IGMP version 1, IGMP version 2, và IGMP version 3. Các phiên bản IGMP có thể cùng hoạt động trên một switch. Ví dụ, nếu IGMP snooping đã được enable trên một switch chạy IGMP version 2 và switch đó nhận một bản báo cáo IGMP version 3 từ một máy trạm, thì switch đó vẫn có thể chuyển bản báo cáo về IGMP version 3 này đến các router trong nhóm multicast.
- Một switch chạy IGMP version 3 có khả năng hỗ trợ Basic IGMPv3 Snooping Support (BISS), ngoài ra cũng có khả năng hỗ trợ cho các tính năng của IGMPv1 và IGMPv2. BISS yêu cầu flooding các lưu lượng multicast khi mạng của bạn có chứa các máy trạm chạy IGMPv3. Mặt khác BISS cũng yêu cầu những lưu lượng này cũng phải được flooding ra các port có chứa những máy trạm IGMPv1 và IGMPv2.
- Một switch chạy IGMPv3 có thể nhận các thông điệp đến và chuyển những thông điệp này cho một thiết bị đang chạy chức năng Source Specific Multicast (SSM). Để có thể tìm hiểu sâu hơn về source-specific multicast với IGMPv3 và IGMP các bạn có thể tham khảo bằng đường link sau: " http://www.cisco.com/en/US/products/sw/iosswrel/ps1834/products_feature_guide09186a008008048a.html "

2. Quá trình join vào một Multicast Group

- Khi một máy đã kết nối trực tiếp vào một port của switch muốn join vào một nhóm IP multicast và máy đó đang chạy IGMP version 2, thì nó sẽ gửi một thông điệp unsolicited IGMP join, và chỉ rõ nhóm IP multicast để join vào.

- Như một sự lựa chọn, khi switch nhận một yêu cầu từ một router, thì nó sẽ chuyển yêu cầu đến tất cả các port trong VLAN. Các máy chạy IGMP version 1 hoặc version 2 muốn được join vào nhóm multicast thì sẽ trả lời bằng cách gửi một thông điệp ra nhập đến switch. Bộ xử lý của switch sẽ tạo ra một bảng multicast forwarding-table cho nhóm này nếu bảng đó chưa có trên switch. Bộ xử lý cũng thêm các interface vào bảng forwarding-table, và các interface này là các interface đã nhận các thông điệp ra nhập từ các máy trạm. Các máy trạm thực hiện việc liên kết với các interface đã nhận các lưu lượng multicast cho nhóm multicast này. Các bạn có thể tham khảo trong hình 1.1

hình 1.1




- Router A gửi một yêu cầu đến switch, lập tức switch chuyển yêu cầu này đến các port từ 2 đến 5, và tất cả các port là thành viên của cùng một vlan. Host 1 muốn gia nhập vào nhóm multicast 224.1.2.3 và thực hiện quảng bá một bản báo cáo IGMP membership đến toàn bộ nhóm này. Bộ xử lý của switch sử dụng thông tin trong bản báo cáo IGMP để cấu hình bảng forwarding-table, như hình 1.2, bảng này bao gồm các port đang kết nối trực tiếp đến Host 1 và Router.

hình 1.2


- Phần cứng của switch có thể phân biệt thông tin IGMP trong các gói tin của một nhóm multicast. Những thông tin trong bảng fowarding sẽ nói cho bộ phận switching engine phải gửi các frames đến địa chỉ 224.1.2.3 chứ không phải là các gói tin IGMP đến router và đến các máy trạm có thể gia nhập vào trong nhóm.

- Nếu các máy khác (cho ví dụ: Host 4) gửi một thông điệp unsolicited IGMP join cho cùng một nhóm (Hình 1.3), thì bộ xử lý của switch sẽ nhận thông điệp đó và thêm chỉ port của Host 4 vào trong bảng forwarding table: xem hình 1.4. Chú ý rằng, bởi vì bảng forwarding table trực tiếp chuyển thông điệp IGMP duy nhất đến bộ xử lý, nên thông điệp sẽ không được flood đến các port khác của switch. Mọi lưu lượng multicast khác sẽ được chuyển đến các thiết bị trong nhóm multicast nhưng không được chuyển đến bộ xử lý (CPU).

hình 1.3



hình 1.4



3. Quá trình di chuyển khỏi một Multicast Group.

- Router sẽ gửi một gói tin yêu cầu tác động đến toàn bộ nhóm multicast theo chu kỳ, và switch sẽ chuyển những yêu cầu này thông qua tất cả các port trong một VLAN. Các máy trạm sẽ phải chịu trách nhiệm trả lời gói tin yêu cầu này. Nếu một máy nào đó trong VLAN không nhận được lưu lượng multicast, thì router sẽ tiếp tục chuyển những lưu lượng multicast này đến VLAN. Switch sẽ chuyển những lưu lượng multicast này đến các máy đang trong trạng thái lắng nghe ở trong bảng forwarding table.

- Khi một máy nào đó muốn rời khỏi một nhóm multicast, máy đó có thể im lặng trong khi di chuyển, hoặc máy đó có thể gửi một thông điệp để thông báo rằng mình rời khỏi nhóm multicast này. Khi một switch nhận được một thông điệp yêu cầu rời khỏi nhóm từ một máy nào đó, thì switch đó sẽ gửi một yêu cầu group-specific để học máy đó đang kết nối trực tiếp vào một interface. Sau đó, switch này sẽ cập nhật bảng forwarding table cho nhóm MAC vì vậy duy nhất những máy đang nhận những lưu lượng multicast cho nhóm này sẽ được ở trạng thái lắng nghe trong bảng forwarding table. Nếu router không nhận được một bản báo cáo nào từ một VLAN, thì nó sẽ hủy nhóm của VLAN này từ IGMP cache.

4. Immediate Leave

- Immediate Leave là tính năng duy nhất được hỗ trợ trên các máy chạy IGMP version 2.

- Switch sử dụng IGMP snooping Immediate Leave để di chuyển các interface khỏi bảng forwarding table, với điều kiện các interface này đã gửi một thông điệp yêu cầu dời khỏi nhóm mà không cần đến việc switch phải gửi một yêu cầu group-specific đến những interface đó. Các interface nằm trong VLAN sẽ được xóa khỏi multicast tree của nhóm multicast đặc biệt, Immediate Leave đảm bảo việc quản lý tối ưu băng thông cho tất cả các máy trạm trên một switch trong mạng, khi mà có nhiều nhóm multicast đồng thời cùng sử dụng trong một thời điểm.

- Chú ý: Bạn sẽ chỉ sử dụng tính năng Immediate Leave trên những VLAN mà ở đó chỉ có duy nhất một máy được kết nối trực tiếp vào mỗi port của switch. Nếu Immediate Leave được enable trên những VLAN mà ở đó có nhiều hơn một máy trạm kết nối vào một port của switch, thì một vài máy trạm sẽ phải bị drop một cách ngẫu nhiên.

5. IGMP Configurable-Leave Timer.

- Bạn có thể cấu hình thời gian để một switch sẽ chờ sau gửi đi một yêu cầu group-specific đến tất cả các máy trạm trong nhóm multicast để xác định xem nếu các máy trạm đó vẫn quan tâm đến các lưu lượng truyền đến nhóm multicast đó. Thời gian trả lời của gói tin IGMP leave có thể được cấu hình từ 100 đến 5000 milliseconds. Tham số thời gian này có thể cấu hình ở một trong hai chế độ: global configuration hoặc trên một VLAN. Khi trong VLAN cấu hình tham số thời gian yêu cầu dời khỏi nhóm thì tham số này sẽ thay thế cho tham số thời gian được cấu hình ở chế độ global configuration.

6. IGMP Report Suppression.

- Chú ý: IGMP Report Suppression: chỉ được hỗ trợ duy nhất khi các yêu cầu multicast có các bản báo cào của IGMPv1 và IGMPv2. Tính năng này không được hỗ trợ khi các yêu cầu này có chứa các bản báo cáo IGMPv3.

- Các switch sử dụng IGMP report suppression để chuyển duy nhất một IGMP report trên một router multicast đến các thiết bị multicast. Khi IGMP router suppression đã được enable (theo mặc định), thì switch sẽ gửi IGMP report đầu tiên từ tất cả các máy trạm của một nhóm đến tất cả các router multicast. Switch sẽ không gửi những IGMP report còn lại của một nhóm cho tất cả các router multicast. Tính năng này sẽ giúp ngăn ngừa được việc trùng lặp các report từ thiết bị gửi đến các thiết bị multicast.

- Nếu các router multicast yêu cầu bao gồm duy nhất duy nhất các report của IGMPv1 và IGMPv2, thì switch sẽ chuyển duy nhất các report IGMPv1 và IGMPv2 đầu tiên từ tất cả các máy trạm của nhóm multicast cho tất cả các router trong nhóm multicast.

- Nếu các router multicast yêu cầu bao gồm các report của IGMPv3, thì switch sẽ chuyển tất cả các report IGMPv1, IGMPv2 và IGMPv3 của nhóm multicast này đến tất cả các thiết bị multicast.

- Nếu bạn disable IGMP Report Suppression, thì tất cả các IGMP report sẽ được chuyển đến tất cả các router multicast.

Những kiến thức trong phần I - Tìm hiểu về IGMP Snooping đã kết thúc với chủ đề: IGMP Report Suppression được cấu hình trên các thiết bị multicast, để giúp các thiết bị multicast có thể điều khiển được các report của IGMP. Trong phần II - Cấu hình IGMP của bài viết tiếp theo các bạn sẽ được giới thiệu về phương pháp triển khai IGMP Snooping trên các switch layer 2.

toandv@vnexperts.net - Dương Văn Toán