Hình dưới đây mô tả hoạt động cơ bản của cơ chế báo cáo igmpv3 report



tải về 31.59 Kb.
Chuyển đổi dữ liệu14.08.2016
Kích31.59 Kb.
#19322
IGMP V3

Tháng 10 năm 2002, RFC3376 định nghĩa đặc tả cho IGMPv3. IGMPv3 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 IGMPv3 là có sẵn. Phần này chỉ tóm tắt các đặc điểm chủ yếu của IGMPv3.

Trong IGMPv1 và IGMPv2, khi một host tham gia vào một nhóm, router sẽ truyền các traffic 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 multimedia 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 traffic không mong muốn phân phối đến host.
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ả IGMPv1 và IGMPv2 đều không có cơ chế để ngăn ngừa một kiểu tấn công như vậy.

IGMPv3 cho phép các host lọc các traffic đ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). IGMPv3 cho phép các host chỉ định các traffic 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 dưới đây mô tả hoạt động cơ bản của cơ chế báo cáo IGMPv3 report.

Trong hình, traffic của nhóm 226.1.1.1 là xuất phát từ hai nguồn, R1 nhận traffic từ cả hai nguồn. H1 chuẩn bị thông điệp IGMPv3 membership report dùng địa chỉ đích là 224.0.0.22, được gán bởi IANA cho các thông điệp IGMPv3 membership report. Kiểu thông điệp là 0x22 với một trường bao gồm “địa chỉ nguồn 209.165.201.2”, có nghĩa là “tôi muốn tham gia vào nhóm multicast 226.1.1.1 nhưng chỉ nếu nhóm này đến từ nguồn 209.165.201.2”. Làm thế nào một host có thể học địa chỉ nguồn của một nhóm? Cisco đã phát triển tính năng URL redevous Directory và IGMPv3 lite để dùng các tính năng của IGMPv3 cho đến khi nào các ứng dụng IGMPv3 là sẵn sàng và hệ điều hành được cập nhật.



So sánh IGMPv1, IGMPv2 và IGMPv3
Giao thức Multicast Listener Discovery (MLD)

RFC2710 định nghĩa đặc tả cho giao thức MLD. MLD là một giao thức được phát triển từ IGMPv2 và được thiết kế cho IPv6. Hoạt động của MLD thì tương tự như IGMPv2. Sự khác nhau giữa IGMPv2 và MLD là:

Các thiết bị multicast trên mạng dùng địa chỉ IPv5 link-local 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à link local 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 host muốn rời khỏi một nhóm, nó gửi ra thông điệp Done. Thông điệp Done thì tương tự như thông điệp rời khỏi nhóm của IGMPv2. Thông điệp này sẽ gửi đến tất cả các routers IPv6, FF02::2. Trong MLD, router truy vấn Querier thì được gọi là 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 Multicast-Address-Specific Query. Chức năng của nó tương tự như IGMPv2 Group-Specific Query.

Switching Multicast Traffic

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 traffic. Mặc định, nếu một switch nhận được frame multicast trên một cổng, switch sẽ phát tán frame trên toàn vlan giống như broadcast hay là unknown unicast. 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 frame multicast có nghĩa là nếu có bất kỳ host nào trong cùng vlan, cho dù host đó có yêu cầu nhận multicast frame 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 traffic 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, IGMP snooping và RGMP cho phép các switch tối ưu các cơ chế chuyển multicast của nó. Phần kế tiếp sẽ khảo sát làm thế nào các router và host dùng IGMP để đảm bảo rằng router có nên chuyển multicast traffic ra một cổng LAN hay không.

Các router hoặc các MLS switch 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 header của frame Ethernet để 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 đó frame đó 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 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.



IGMP Snooping

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

Để tham gia vào một nhóm, một host phải gửi các thông điệp multicast membership report 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 multicast frame để 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 frame. Kiểu switch này phải lắng nghe mọi gói IGMP. Khi một thông địêp membership report đượ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 host đã yêu cầu tham gia nhóm.

Khi các host 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 frame 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 host.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 (học động) cũng sẽ được lưu trong bảng CAM. Các frame multicast phải được nhân bản về phía các router để các traffic 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ó traffic của IGMP là được xử lý. CPU sẽ không kiểm tra các frame multicast khác.

IGMP snooping được cho phép trên tất cả các cổng của switch và các interface 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 non-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 traffic ở 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 host 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:

1. Để phát hiện có nhiều router kết nối vào cùng một subnet hay không, các switch Cisco sẽ lắng nghe các giao thức sau để xác định trên những cổng nào của switch đang có router kết nối:

- IGMP với GDA là 01-00-5e-00-00-01
- Các thông điệp OSPF với GDA là 01-00-5e-00-00-05 hoặc 01-00-5e-00-00-06.
- Giao thức PIMv1 và HSRP với gói hello là có GDA 01-00-5e-00-00-01.
- Gói tin PIMv2 có GDA là 01-00-5e-00-00-0d.
- Các thông điệp Distance Vector Multicast Routing Protocol (DVMRP) Probe messages with GDA 01-00-5e-00-00-04. 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 đó.

2. Khi một switch nhận được một thông điệp IGMP report 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 host khác gửi các báo cáo IGMP report, switch sẽ chuyển traffic 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 traffic 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 traffic, switch sẽ bỏ thông điệp Leave, nếu khác đi, nó sẽ gửi thông điệp leave đến router.

Như vậy, IGMP snooping giúp cho các switch gửi traffic 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 IGMP reports và traffic multicast bình thường. CPU của switch cần phải thấy các thông điệp IGMP report (và các thông điệp multicast routing khác) bởi vì IGMP snooping có thể làm tốn CPU. Tuy nhiên, quá trình đẩy frame đi không yêu cầu chu kỳ CPU mà chỉ cần phần cứng ASIC của switch. 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 traffic. 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.



Khi H1 và H2 gửi thông điệp IGMP Join:

1. H1 gửi thông điệp IGMP Join cho nhóm 226.6.6.6. Ở mức 2, H1 dùng địa chỉ multicast MAC 0x0100.5e06.0606 (đây là địa chỉ MAC cho nhóm 226.6.6.6) như là địa chỉ đích và dùng địa chỉ MAC của nó 0x0006.7c11.1101 như là địa chỉ nguồn. SW1 sẽ nhận gói tin của nó trên cổng f0/1 và lưu ý đây là gói tin IGMP, đẩy gói tin này đến CPU của switch. CPU sẽ dùng thông tin này để thiết lập một hàng trong bảng định tuyến multicast, bao gồm cổng số 0 tượng trưng cho CPU, 1 cho máy H1 và 8 cho R1. Lưu ý rằng bảng CAM liệt kê ra hai hàng cho cùng một địa chỉ đích 0x0100.5e06.0606. Một hàng cho cổng 0 và một hàng khác cho những frame non-IGMP cho cổng 1 và 8. CPU của switch sẽ ra lệnh cho switch engine không chuyển các frame ra cổng 0, tượng trưng cho CPU.

2. H2 gửi một thông điệp tham gia IGMP join cho nhóm 226.6.6.6. Ở lớp 2, H2 dùng địa chỉ multicast MAC là 0x0100.5e06.0606 như là địa chỉ đích và dùng địa chỉ MAC 0x0006.7c11.1102 như là địa chỉ nguồn. SW1 sẽ nhận gói tin trên cổng F0/2 và switch sẽ kiểm tra gói tin. Tiến trình phân tích gói tin được lập lại từ bước 1 và bảng CAM sẽ được cập nhật.

3. Router R1 đẩy gói tin cho nhóm. R1 sẽ nhận traffic multicast cho nhóm 226.6.6.6 và bắt đầu chuyển traffic về Sw1. Sw1 bắt đầu nhận các multicast traffic trên cổng f0/8. Switching engine sẽ kiểm tra gói tin và xác định đây không phải gói tin IGMP, switch sẽ tìm kiếm trong bảng CAM và xác định rằng nó nên chuyển traffic ra cổng F0/1 và F0/2.

Nếu so sánh với CGMP, IGMP thì kém hiệu quả hơn trong việc duy trì thông tin nhóm. Khi router R1 định kỳ gửi thông điệp truy vấn đến địa chỉ tất cả các host 224.0.0.1 (GDA 0x0100.5e00.0001), SW1 sẽ chấp nhận các truy vấn và truyền thông qua các cổng của VLAN5. Trong CGMP, nhờ vào giao tiếp từ router đến CGMP, switch sẽ biết chính xác những cổng nào sẽ có các host multicast gắn vào và vì vậy, sẽ chỉ truyền các gói tin query ra chỉ những cổng này. Ngoài ra, trong IGMP snooping, khi các host gửi các thông điệp IGMP reports, switch phải bắt các thông điệp này và duy trì thông tin GDA trong bảng CAM. Kết quả là, các host không nhận các thông điệp IGMP report khác, làm gián đoạn cơ chế giảm thông điệp report và làm cho các máy gửi thông điệp IGMP Report. Tuy nhiên, switch gửi chỉ thông điệp IGMP Report của từng nhóm đến Router. Trong CGMP, switch không cần phải nghe các thông điệp IGMP Report, bởi vì việc duy trì thông tin nhóm trên switch không phụ thuộc vào việc kiểm tra các gói IGMP từ host thay vào đó switch có thể dùng thông điệp CGMP từ router.



Hình trên đây mô tả tiến trình rời bỏ nhóm cho cơ chế IGMP snooping. Ba bước sau đây sẽ mô tả các sự kiện khi H1 và H2 gửi thông điệp rời bỏ nhóm IGMP Leave.

1. H1 gửi một thông điệp rời khỏi nhóm IGMP Leave cho nhóm 226.6.6.6 nhưng SW1 không truyền traffic đến R1 trong trường hợp này. Ở mức 2, H1 dùng địa chỉ MAC cho tất cả các multicast router 0x0100.5e00.0002 như là địa chỉ đích và dùng địa chỉ BIA 0x0006.7c11.1101 như địa chỉ nguồn. SW1 sẽ bắt các thông điệp IGMP Leave trên cổng F0/1 và switching engine của nó sẽ giám sát gói tin. Switch sẽ gửi thông điệp truy vấn ra cổng F0/1 để xác định có còn thành viên nào không. Đặc tính này được thiết kế để bảo vệ những host khác là thành viên của nhóm này trên port. Nếu một thông điệp IGMP report là nhận được trên cổng F0/1, switch sẽ bỏ thông điệp rời nhóm nhận được từ H1. Bởi vì trong ví dụ này, chỉ có một host kết nối vào cổng F0/1, switch không nhận được bất kỳ thông điệp IGMP Report nào và sẽ xóa cổng F0/1 ra khỏi bảng CAM. H2 kết nối với cổng F0/2 vẫn là một thành viên của nhóm và cổng của nó nằm trong bảng CAM. Vì vậy SW1 không có truyền thông điệp IGMP Leave đến router.

2. Router R1 tiếp tục truyền traffic cho nhóm 226.6.6.6 đến SW1 bởi vì R1 thậm chí không biết rằng H1 đã rời khỏi nhóm. Dựa trên thông tin cập nhật từ bảng CAM, SW1 bây giờ bắt đầu truyền traffic chỉ trên cổng F0/2.

3. H2 gửi ra một thông điệp IGMP Leave cho nhóm 226.6.6.6 và SW1 không chuyển cho R1 trong trường hợp này. Ở mức 2, H2 dùng địa chỉ All Multicast Routers MAC address 0x0100.5e00.0002 như là địa chỉ đích và địa chỉ BIA 0x0006.7c11.1102 như là địa chỉ nguồn. SW1 lúc này sẽ bắt các thông điệp IGMP Leave trên cổng F0/2 và switching engine sẽ kiểm tra gói tin. Switch sau đó gửi một thông điệp IGMP query trên cổng F0/2 xem có còn thành viên nào của nhóm hay không. Bởi vì trong ví dụ này, chỉ có một host kết nối vào cổng F0/2, switch sẽ không nhận được bất kỳ thông điệp IGMP report nào và sẽ xóa cổng F0/2 ra khỏi bảng CAM. Sau khi SW1 xóa cổng, nó nhận ra rằng đây là cổng cuối cùng nằm trong bảng CAM cho địa chỉ 0x0100.5e06.0606. Vì vậy SW1 xóa hẳn bảng CAM cho nhóm này và sẽ truyền thông điệp IGMP Leave đến R1. R1 gửi ra thông điệp truy vấn cho nhóm và khi không còn host nào trả lời, router sẽ không truyền traffic của nhóm 226.6.6.6 về SW1, VLAN5.

Để cho phép hoặc tắt IGMP, dùng lệnh



Switch(config)# [no] ip igmp snooping

IGMP snooping trở nên phức tạp khi có nhiều multicast router là kết nối với nhau và các switch kết nối với nhau thông qua kết nối trunk. Ngoài ra CGMP và IGMP kiểm soát việc phân phối các traffic multicast chỉ trên những cổng có host. Các giao thức này không có cơ chế nào để kiểm soát những cổng có router kết nối vào.
Каталог: Hoc%20Tap
Hoc%20Tap -> Tác giả: Đặng Quang Minh bgp nâng cao xây dựng network dùng ibgp
Hoc%20Tap -> GIỚi thiệu về multicast
Hoc%20Tap -> Độ ưu tiên cao nhất (mặc định là 100, trong tầm từ 1-255) sẽ xác định router, với cơ chế pre-emption bị tắt
Hoc%20Tap -> Point to Point Protocol (ppp) ppp được xây dựng dựa trên nền tảng giao thức điều khiển truyền dữ liệu lớp cao (High-Level Data link Control (hdlc)) nó định ra các chuẩn cho việc truyền dữ liệu các giao diện dte và dce của mạng wan như V
Hoc%20Tap -> Cấu hình Application Port-Mapping với cbac mục tiêu: Cấu hình để router nhận ra các ứng dụng không sử dụng port chuẩn. Mô hình
Hoc%20Tap -> ĐẢng cộng sản việt nam đẢng ủy phưỜng 04
Hoc%20Tap -> CiR = Bc / Tc
Hoc%20Tap -> Mean command : ip ospf mtu-ignore Diagram : Problems
Hoc%20Tap -> R1# ip route 0 0 0 0 FastEthernet0/0 R2# show run

tải về 31.59 Kb.

Chia sẻ với bạn bè của bạn:




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương