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

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

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

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

Chương 19: CƠ CHẾ MULTICAST (Phần 5) -
Chương 19: CƠ CHẾ MULTICAST (Phần 5) -
(028) 35124257 - 0933 427 079

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

28-05-2020
2. CGMP
IGMP giúp cho router xác định làm thế nào để phân phối Multicast lưu lượng . Tuy nhiên IGMP hoạt động ở lớp 3, và switch L2 sẽ không hiểu các thông điệp IGMP. Mặc định, switch sẽ phát tán các Multicast lưu lượng  trong một miền Broadcast, làm lãng phí băng thông.
 

Hình 19.20: Tiến trình gửi thông điệp tham gia nhóm trong CGMP

Các máy H1, H2, H3, H4 và R1 là trong cùng miền Broadcast của Vlan 5. Ba bước dưới đây sẽ mô tả chuỗi các sự kiện xảy ra khi H3 gửi một thông điệp tham gia nhóm IGMP:

  • H3 gửi một thông điệp tham gia nhóm IGMP cho nhóm 226.6.6.6.
  • R1 sẽ gửi lưu lượng  của nhóm về SW1. Địa chỉ MAC đích trên khung tin là 0x0100.5e06.0606. SW1 không thể tìm thấy địa chỉ này trong bảng CAM của nó bởi vì nó không bao giờ được dùng bởi bất kỳ thiết bị nào như là địa chỉ nguồn. Vì vậy, SW1 bắt đầu đẩy các lưu lượng  vào các máy H1, H2 và SW2 bởi vì lưu lượng  của nhóm là cho Vlan 5. Tương tự SW2 bắt đầu đẩy lưu lượng  đến máy H3 và H4.
  • Tất cả các máy H1 và H4 nhận lưu lượng  của nhóm, nhưng chỉ có H3 là yêu cầu. H3 bắt đầu nhận lưu lượng. Tuy nhiên, H1, H2 và H4 không yêu cầu lưu lượng  của nhóm và nó bị tràn ngập bởi các lưu lượng  này.

Trong hình 19.20, chỉ có bốn máy là trong miền Broadcast của Vlan 5. Điều gì sẽ xảy ra nếu mạng này có hàng trăm người dùng? Mục đích của Multicast là giúp sử dụng băng thông hiệu quả và phân phối lưu lượng  đến đúng máy trạm. Có hai phương thức để giúp các switch lớp 3 xác định làm thế nào để phân phối lưu lượng Multicast đến máy trạm: CGMP và IGMP snooping. Khi một switch lớp 2 không thể thực hiện tác vụ IGMP snooping, một router Multicast láng giềng sẽ trợ giúp. Cisco phát triển ra giao thức quan hệ nhóm Cisco (Cisco Group Membership Protocol - CGMP) nhằm mục đích này.

CGMP là một giao thức lớp 2 được cấu hình trên cả router và switch của Cisco và cho phép router giao tiếp với các thông tin lớp 2 nó học được từ IGMP đến switch. Một router Multicast biết địa chỉ MAC của các máy Multicast và các nhóm đang lắng nghe dựa trên thông tin giao tiếp với các máy trạm thông qua IGMP. Mục tiêu của CGMP là cho phép router truyền thông tin này đến các switch sao cho switch có thể thay đổi động các thành phần trong bảng CAM. Chỉ có các router tạo ra các thông điệp CGMP trong khi switch chỉ lắng nghe các thông điệp CGMP. Một router hoặc một switch đa lớp được cấu hình cho định tuyến Multicast có thể được cấu hình cho CGMP. Khi các máy trạm gửi các thông điệp báo cáo quan hệ để tham gia và rời khỏi một nhóm, Router CGMP sẽ trung chuyển các thông điệp này đến các switch quan tâm.

Các thông điệp CGMP dùng các địa chỉ Multicast phổ biến là 0100.0cdd.dddd. Theo định nghĩa, địa chỉ nhóm Multicast này sẽ được phát tán như là một trường hợp đặc biệt sao cho các thông điệp CGMP có thể được truyền trên các switch không chạy CGMP. Các thông điệp CGMP bao gồm địa chỉ MAC BIA của máy trạm cùng với địa chỉ MAC của nhóm Multicast nó muốn tham gia hay rời bỏ.

Khi một switch lớp 2 nhận thông điệp CGMP này, tác vụ đơn giản của nó là thêm vào địa chỉ nhóm Multicast và các máy trạm của nhóm đó vào bảng CAM. Router sẽ trở thành thiết bị “trợ thính” cho một switch trong việc lắng nghe các thông điệp CGMP.

Việc sử dụng địa chỉ MAC đặc biệt này làm cho switch phát tán các thông điệp thông qua các cổng sao cho tất cả các switch trong hệ thống mạng nhận được thông điệp CGMP. Cặp địa chỉ MAC trong thông điệp CGMP là một thông tin quan trọng: Địa chỉ đích của nhóm (Group Destination Address - GDA), Địa chỉ nguồn Unicast (Unicast Source Address - USA).

Dưới đây là 5 bước đây mô tả hoạt động tổng quát của CGMP.

  • Khi một router CGMP kết nối vào một switch, router gửi ra thông điệp tham gia nhóm CGMP với giá trị GDA gán bằng 0 và giá trị USA gán bằng giá trị MAC của chính nó. Switch chạy CGMP bây giờ biết rằng có một router Multicast đang gắn vào cổng mà trên đó switch nhận được thông điệp CGMP. Router lập lại thông điệp mỗi 60 giây. Một router có thể báo cho switch là nó không còn tham gia nhóm CGMP bằng thông điệp rời bỏ nhóm CGMP với giá trị GDA gán bằng không và USA gán bằng giá trị MAC của chính nó.
  • Khi một máy trạm tham gia vào một nhóm, nó gửi thông điệp tham gia vào nhóm IGMP. Thông thường một router Multicast chỉ kiểm tra thông tin lớp 3 trong thông điệp IGMP và router không cần thiết xử lý thông tin lớp 2. Tuy nhiên khi CGMP được cấu hình trên router, router sẽ kiểm tra địa chỉ nguồn MAC và đích MAC của thông điệp tham gia. Địa chỉ nguồn là địa chỉ MAC dạng Unicast của máy đang gửi thông điệp tham gia. Router sau đó sẽ tạo ra các thông điệp tham gia CGMP bao gồm địa chỉ MAC kết hợp với địa chỉ Multicast IP (gán trong trường GDA của thông điệp tham gia CGMP) và địa chỉ Unicast MAC của máy trạm được gán vào trường USA của thông điệp CGMP. Router sau đó sẽ gửi thông điệp tham gia CGMP dùng địa chỉ Multicast MAC của CGMP là 0x0100.0cdd.dddd như là địa chỉ đích.
  • Khi một switch nhận được thông điệp tham gia CGMP, switch sẽ tìm kiếm trong bảng CAM vị trí của cổng kết hợp với địa chỉ MAC chứa trong trường USA. Switch sẽ tạo ra một hàng mới trong bảng CAM (hoặc dùng một hàng có sẵn nếu nó đã được tạo ra trước đó) cho địa chỉ MAC Multicast được liệt kê cho trường GDA của thông điệp tham gia CGMP, thêm cổng mới tìm thấy và bắt đầu đẩy lưu lượng  ra cổng đó.
  • Khi một máy trạm rời khỏi một nhóm, nó gửi thông điệp rời khỏi nhóm IGMP. Router sẽ học địa chỉ Unicast MAC của máy và địa chỉ nhóm Multicast mà nó vừa rời khỏi. Bởi vì thông điệp rời bỏ được gửi đến địa chỉ ‘tất cả các Multicast router’ 0x0100.5e00.0002 và không gửi tới địa chỉ nhóm Multicast, router sẽ tính toán địa chỉ Multicast MAC (GDA) từ địa chỉ nhóm Multicast mà máy trạm vừa rời bỏ. Router sau đó sẽ tạo ra thông điệp rời bỏ nhóm CGMP. Thông điệp này chép toàn bộ địa chỉ Multicast MAC mà nó vừa tính toán trong trường GDA và địa chỉ Unicast MAC trong trường USA của thông điệp rời bỏ nhóm CGMP và sau đó gửi nó về địa chỉ CGMP Multicast MAC.
  • Khi switch nhận được thông điệp rời bỏ nhóm, nó tìm kiếm vị trí cổng kết hợp với địa chỉ MAC liệt kê trong trường USA. Switch sẽ bỏ cổng này ra khỏi sự kết hợp với địa chỉ Multicast MAC trong bảng CAM. Địa chỉ Multicast MAC này được liệt kê trong trường GDA của thông điệp CGMP Leave. Switch sẽ ngừng đẩy lưu lượng  ra khỏi cổng đó.

Như vậy CGMP giúp các switch gửi lưu lượng  đến những máy trạm muốn nhận nó, giúp tránh lãng phí băng thông.

Hình 19.21: Tiến trình sử dụng CGMP của router và switch

Hình 19.21 mô tả một ví dụ đầy đủ làm thế nào router và switch dùng CGMP khi có một máy trạm tham gia và rời khỏi nhóm. Hình 19.21 bắt đầu bằng cách mô tả những phản ứng của router khi có một thông điệp báo cáo IGMP. Router sẽ gửi một thông điệp tham gia nhóm CGMP đến các switch trên LAN. Hai bước theo sau mô tả chuỗi các sự kiện khi H3 gửi ra một thông điệp tham gia IGMP. SW1 và SW2 tìm kiếm các hàng trong bảng CAM và tìm thấy máy trạm với địa chỉ USA là 0x0006.7c11.1103 nằm trên các cổng f0/20 và f0/3. Sau đó SW1 và SW2 sẽ ánh xạ địa chỉ GDA 0x0100.5e06.0606 đến các cổng f0/20 và f0/3 tương ứng.

Hình 19.22: Quá trình tham gia nhóm trong CGMP

Khi router truyền các lưu lượng  Multicast với địa chỉ nhóm GDA 0x0100.5e06.0606 đến SW1, SW1 tìm kiếm trong bảng CAM và thấy rằng lưu lượng  này phải được đẩy ra cổng F0/20. Vì vậy, chỉ có SW2 nhận được lưu lượng  của nhóm. Tương tự, SW2 tìm kiếm bảng CAM và đẩy lưu lượng  của nhóm ra cổng F0/3 và chỉ máy H3 nhận lưu lượng .

CGMP tối ưu việc chuyển lưu lượng . Mặc dù không hiển thị trên hình 19.22, giả sử rằng H1 gửi một thông điệp tham gia nhóm IGMP vào nhóm 226.6.6.6. R1 sẽ gửi một thông điệp tham gia CGMP và SW1 sẽ cập nhật địa chỉ GDA 0x0100.5e06.0606 đến cổng F0/1. Khi một router gửi một thông điệp truy vấn IGMP, switch sẽ trung chuyển các lưu lượng  này đến các thành viên đã tham gia bất kỳ nhóm nào, ví dụ như H1 và H3. Khi các máy gửi các thông điệp báo cáo IGMP, switch sẽ chuyển các thông điệp này đến các thành viên của nhóm và của router.

Hình 19.23: Quá trình rời khỏi nhóm trong CGMP

Khi máy H3 rời khỏi nhóm, các sự kiện sau sẽ diễn ra:

  • H3 gửi ra một thông điệp rời khỏi nhóm IGMP. Ở lớp 2, H3 sử dụng địa chỉ Multicast MAC 0x0100.5e00.002 như là địa chỉ đích và địa chỉ MAC BIA 0x0006.7c11.11.03 như là địa chỉ nguồn.
  • R1 tạo ra thông điệp rời khỏi nhóm CGMP. Khi một router nhận được một thông điệp rời khỏi nhóm IGMP, nó sẽ tạo ra một thông điệp rời khỏi nhóm ở mức 2 CGMP. Địa chỉ đích trên khung tin là địa chỉ MAC 0x0111.0cdd.dddd.
  • R1 tính toán địa chỉ 0x0100.5e06.0606 từ địa chỉ lớp 3 226.6.6.6 và trường GDA bằng với giá trị đó. R1 gán trường USA bằng giá trị MAC Unicast của H3 0x0006.7c11.11.03. Thông điệp rời khỏi nhóm này sẽ báo cho switch rằng “Có một máy trạm với địa chỉ USA 0x0006.7c11.1103 không còn muốn nhận Multicast lưu lượng cho địa chỉ GDA 0x0100.5e06.0606. Vì vậy hãy cập nhật bảng CAM tương ứng”. Thông điệp này được nhận bởi cả 2 switch. Các switch cập nhật bảng CAM. SW1 và SW2 tìm kiếm bảng CAM và tìm thấy máy trạm với địa chỉ USA 0x0006.7c11.1103 được nằm trên cổng f0/20 và f0/3. SW1 và SW2 đã xóa địa chỉ GDA 0x0100.5e06.0606 ra khỏi các cổng F0/20 và f0/3 một cách tương ứng.

H1 vẫn là một thành viên của nhóm 266.6.6.6, vì vậy R1 vẫn tiếp tục đẩy lưu lượng  với GDA 0x0100.5e06.0606 đến SW1. SW1 tìm kiếm bảng CAM và thấy rằng địa chỉ này chỉ nên đẩy ra cổng F0/1. Bây giờ giả sử rằng H1 gửi ra một thông điệp rời khỏi nhóm IGMP 226.6.6.6, R1 sẽ gửi một thông điệp truy vấn cho nhóm 226.6.6.6. Bởi vì không còn máy trạm nào là thành viên của nhóm này, R1 không nhận bất kỳ một thông điệp báo cáo IGMP cho nhóm. R1 sẽ tạo ra và gửi thông điệp rời bỏ nhóm CGMP trong đó trường GDA gán bằng giá trị MAC của nhóm và trường USA gán bằng 0. Thông điệp này báo cho switch rằng “không còn máy trạm nào quan tâm đến lưu lượng Multicast cho địa chỉ MAC 0x0100.5e06.0606, vì vậy hãy xóa hết tất cả các hàng trong bảng CAM liên quan đến nhóm này”.

Ở chế độ mặc định, CGMP là tắt trên tất cả các cổng của Multicast router. Để cho phép, dùng lệnh

Switch(config-if)# ip cgmp

Chỉ có router Multicast phải được cấu hình cho CGMP. Tất cả các hệ điều hành của switch lớp 2 đều có CGMP cho phép ở chế độ mặc định, vì vậy switch sẽ tự động xử lý CGMP từ router. Mặc dù cả router và switch đều cấu hình để chạy CGMP, thật sự chỉ có router là tạo ra các gói tin CGMP. Có hai loại gói tin CGMP. Loại thứ nhất, gói tin tham gia được gửi ra bởi router, ra lệnh cho switch thêm vào các member mới. Loại thứ hai, gói tin rời nhóm được dùng để báo cho switch xóa bớt thành viên hoặc xóa hẳn một nhóm.

Kiểu

Địa chỉ đích của nhóm

Địa chỉ nguồn Unicast

Ý nghĩa

Join

(Tham gia)

MAC của nhóm

MAC của máy trạm

Thêm cổng có địa chỉ USA vào nhóm

Leave

(Rời nhóm)

MAC của nhóm

MAC của máy trạm

Xóa cổng có địa chỉ USA ra khỏi nhóm

Join

(Tham gia)

0

MAC của Router

Cập nhật cổng nào nối đến CGMP router

Leave

(Rời nhóm)

0

MAC của Router

Giải phóng cổng CGMP của router

Leave

(Rời nhóm)

MAC của nhóm

0

Xóa nhóm khỏI bảng CAM

Leave

(Rời nhóm)

0

0

Xóa tất cả các nhóm khỏi bảng CAM

Bảng 19.4: Các địa chỉ của CGMP

Thông điệp cuối cùng trong bảng 19.4, xóa tất cả các nhóm, được dùng bởi router cho mục đích bảo trì. Ví dụ, khi lệnh clear ip cgmp được nhập vào router để xóa tất các các hàng CGMP trên switch, router sẽ gửi ra thông điệp CGMP với giá trị GDA được gán về bằng 0 và USA gán về bằng 0. Khi các switch nhận được thông điệp này, nó sẽ xóa tất cả các nhóm ra khỏi bảng CAM.

3. Giao thức quản lý nhóm cổng của Router

Giao thức quản lý nhóm cổng của Router (Router-port Group Management Protocol – RGMP) là một giao thức lớp 2 cho phép router giao tiếp với switch để chỉ ra những lưu lượng  nào mà router muốn nhận và không muốn nhận từ switch. Bằng cách giới hạn địa chỉ địa chỉ đích Multicast mà một switch chuyển đến một router, một router có thể giảm phí tổn xử lý. Thật ra, RGMP được thiết kế để giúp router giảm phí tổn khi nó được kết nối vào các mạng LAN tốc độ cao. Mặc dù RGMP là một giao thức của Cisco, nó không thể cùng hoạt động với CGMP. Khi RGMP được bật trên một router hay một switch, CGMP sẽ bị tắt. Nếu CGMP là bật, RGMP sẽ bị tắt. Mặc dù là của Cisco, RGMP được mô tả ở RFC3488.

RGMP làm việc tốt khi kết hợp với IGMP snooping. IGMP snooping thường học tất cả các cổng có router thông qua việc lắng nghe IGMP và các thông điệp khác. Trong một vài trường hợp, một vài router có thể không muốn nhận tất cả các Multicast lưu lượng  vì vậy RGMP sẽ cung cấp một cách thức để giảm những lưu lượng không mong muốn.

Điểm mấu chốt của nhu cầu cho sự tồn tại của một giao thức như RGMP là khi dùng IGMP snooping, người ta nhận ra một khía cạnh quan trọng. IGMP snooping giúp các switch kiểm soát việc phân phối các lưu lượng Multicast trên những cổng có máy trạm gắn vào nhưng nó không giúp switch kiểm soát việc phân phối lưu lượng Multicast trên những cổng có router gắn vào.

Hình 19.24: Mạng hoạt động dựa vào RGMP

Xem một sơ đồ mạng đơn giản như hình 19.22. SW2 đã nhận biết các router R3 và R4 thông qua giao thức IGMP snooping, vì vậy nó chuyển tất cả các Multicast của tất cả các nhóm về R3 và R4. R3 thật sự chỉ nhận lưu lượng của nhóm A và R4 cần phải nhận lưu lượng  chỉ của nhóm B. Tuy nhiên IGMP snooping làm cho switch sẽ chuyển tất cả các lưu lượng  Multicast về từng router. Để khắc phục vấn đề này, router có thể dùng RGMP để báo cho switch chỉ truyền những gói Multicast đặc biệt cho từng nhóm.

Hình 19.25: Sơ đồ mạng kết hợp giám sát IGMP và RGMP

Hình 19.23 cũng mô tả một sơ đồ mạng giống như trước nhưng với IGMP snooping kết hợp với RGMP. Trong trường hợp này, các thông điệp tham gia RGMP được bật lên trên cả router và switch. Có ba bước chính, trong đó bước đầu tiên hiển thị chức năng của RGMP với thông điệp tham gia RGMP. Thông điệp tham gia cho phép router nhận dạng được nhóm mà router muốn nhận lưu lượng.

  • R3 gửi ra một thông điệp tham gia RGMP cho nhóm A và R4 gửi ra thông điệp tham gia RGMP cho nhóm B. Kết quả là, SW2 biết phải chuyển lưu lượng  Multicast cho nhóm A chỉ cho R3 và cho nhóm B chỉ đến R4.
  • Một nguồn gửi ra một gói tin về địa chỉ nhóm A và nhóm B tương ứng.
  • SW2 chuyển lưu lượng  của nhóm A chỉ về R3 và các gói tin của nhóm B chỉ đến R4.

RGMP bao gồm 4 loại thông điệp khác nhau. Tất cả các thông điệp RGMP được tạo ra bởi router và được gửi tới địa chỉ Multicast 224.0.0.25. Danh sách dưới đây mô tả các kiểu thông điệp này:

  • Khi router bật RGMP, router sẽ gửi ra thông điệp RGMP hello mỗi 30 giây. Khi switch nhận được các thông điệp RGMP, switch sẽ ngừng việc đẩy các lưu lượng Multicast trên những cổng mà nó nhận thông điệp hello.
  • Khi router muốn nhận lưu lượng Multicast cho một nhóm Multicast, router sẽ gửi một thông điệp tham gia G tới switch, trong đó G là địa chỉ nhóm Multicast. Khi switch nhận được thông điệp tham gia RGMP, nó bắt đầu chuyển các yêu cầu tham gia nhóm RGMP trên những cổng mà nó nhận thông điệp hello.
  • Khi router không muốn tiếp tục nhận lưu lượng  cho một nhóm RGMP, router sẽ gửi một thông điệp rời nhóm RGMP G tới switch, trong đó G là địa chỉ nhóm. Khi switch nhận được một thông điệp rời nhóm RGMP, nó ngừng chuyển lưu lượng nhóm trên những cổng mà nó nhận được thông điệp Hello.
  • Khi RGMP là tắt trên router, router sẽ gửi một thông điệp kết thúc RGMP (RGMP Bye) đến switch. Khi switch nhận thông điệp kết thúc RGMP, nó bắt đầu truyền tất cả các lưu lượng Multicast trên những cổng mà nó nhận thông điệp Hello.

FORM ĐĂNG KÝ MUA HÀNG
Đặt hàng
icon-cart
0