• If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.
Xin chào ! Nếu đây là lần đầu tiên bạn đến với diễn đàn, xin vui lòng danh ra một phút bấm vào đây để đăng kí và tham gia thảo luận cùng VnPro.

Announcement

Collapse
No announcement yet.

CƠ CHẾ MULTICAST (Phần 2)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • CƠ CHẾ MULTICAST (Phần 2)

    4. Địa chỉ Multicast

    Các ứng dụng Multicast luôn luôn dùng địa chỉ Multicast. Địa chỉ Multicast này tượng trưng cho các ứng dụng Multicast và còn được gọi là các nhóm. Không giống như trong địa chỉ Unicast (một địa chỉ tượng trưng cho một máy trạm), một địa chỉ Multicast được dùng như một địa chỉ đích trên một gói tin IP chỉ ra rằng gói tin đang mang lưu lượng cho một ứng dụng Multicast. Ví dụ, nếu một gói Multicast mang địa chỉ đích là 225.5.5.5, điều này có ý nghĩa là “Tôi đang mang lưu lượng cho ứng dụng Multicast có địa chỉ nhóm là 225.5.5.5, bạn có muốn dùng không?”. Một địa chỉ Multicast sẽ không bao giờ được gán đến một thiết bị mạng, vì vậy nó sẽ không bao giờ dùng như một địa chỉ nguồn. Một địa chỉ nguồn trên một gói Multicast cũng sẽ giống như mọi gói tin Unicast, luôn luôn dùng một địa chỉ Unicast.

    Các router và switch phải có phương thức để phân biệt lưu lượng dạng Multicast với dạng Unicast hay Broadcast. Điều này thực hiện thông qua việc gán địa chỉ IP, bằng cách dùng địa chỉ lớp D từ 224.0.0.0 đến 239.255.255.255 chỉ cho Multicast. Các thiết bị mạng có thể nhanh chóng lọc ra các địa chỉ Multicast bằng cách đọc 4 bit bên trái của một địa chỉ. Bốn bit này của một địa chỉ Multicast luôn luôn bằng 1110. Không giống như dãy địa chỉ lớp A,B và C, địa chỉ lớp D này không có quá trình chia nhỏ(mạng conting). Vì vậy có đến 228 địa chỉ nhóm Multicast được trích dẫn ra từ lớp D này. Các địa chỉ Multicast là tượng trưng một nhóm, không tượng trưng cho máy trạm.
    • Ánh xạ địa chỉ IP Multicast sang địa chỉ MAC
    Làm thế nào mà một router và switch kết hợp một địa chỉ Multicast của IP với một địa chỉ MAC. Việc gán địa chỉ Multicast vào một nhóm lớp 3 sang một nhóm Multicast thường sẽ tự động tạo ra địa chỉ Multicast lớp 2. Do không có cơ chế tương đương với cơ chế ARP, một dạng giá trị đặc biệt dành riêng cho địa chỉ MAC của Multicast sẽ được dùng. Các địa chỉ này bắt đầu bằng 0100.5e. Phần 28 bit sau của địa chỉ Multicast IP sẽ được ánh xạ vào 23 bit thấp của địa chỉ MAC bằng một giải thuật đơn giản. Địa chỉ MAC được hình thành bằng cách dùng dạng OUI 01005E, sau đó là giá trị 0 và sau cùng là 23 bit địa chỉ của L3 Multicast.


    Hình 19.6: Cơ chế ánh xạ địa chỉ IP Multicast và MAC

    Hình 19.6 cho thấy cơ chế ánh xạ địa chỉ. Chỉ có 23 bit cuối của địa chỉ là được chép từ địa chỉ IP sang địa chỉ MAC. Tuy nhiên chú ý rằng có 5 bit của địa chỉ IP không được chuyển sang địa chỉ MAC. Khả năng này làm cho nảy sinh một vấn đề là có thể có 32 địa chỉ Multicast khác nhau có thể ánh xạ vào cùng một địa chỉ MAC. Do sự nhập nhằng này, một máy trạm Multicast có một vấn đề nhỏ khi nó nhận một khung tin Ethernet của một địa chỉ Multicast. Một MAC có thể tương ứng với 32 địa chỉ Multicast khác nhau. Vì vậy, khi một máy trạm phải nhận và kiểm tra tất cả các khung tin có MAC mà nó quan tâm. Sau đó máy trạm này phải kiểm tra phần địa chỉ IP bên trong mỗi khung tin để nhận ra phần địa chỉ của từng nhóm Multicast.



    Hình 19.7: Quá trình ánh xạ IP Multicast và MAC

    Để hiểu tiến trình chuyển đổi dùng các bước sau:
    • Bước 1: Chuyển đổi địa chỉ IP sang dạng nhị phân. Lưu ý 4 bit đầu tiên luôn luôn là địa chỉ 1110 cho bất kỳ địa chỉ Multicast nào.
    • Bước 2: Thay thế 4 bit đầu tiên 1110 của địa chỉ IP với 6 ký tự (24 bit) 01-00-5E như là địa chỉ bắt đầu trong tổng số 12 ký tự dạng thập lục phân (48 bit) của địa chỉ Multicast MAC.
    • Bước 3: Thay thế 5 bit kế tiếp của dạng địa chỉ IP với một bit 0 trong không gian địa chỉ MAC.
    • Bước 4: Chép 23 bit cuối của địa chỉ IP dạng nhị phân vào 23 bit cuối của địa chỉ Multicast.
    • Bước 5: Chuyển đổi 24 bit cuối của địa chỉ Multicast từ dạng nhị phân sang dạng 6 số thập lục phân.
    • Bước 6: Kết hợp 6 chữ số hexa đầu tiên 01-00-5E với 6 chữ số hexa vừa tính ở bước 5 để hình thành địa chỉ Multicast đầy đủ.
    Theo cách thức nêu trên, địa chỉ 238.10.24.5 sẽ sinh ra địa chỉ MAC là 0x01-00-5E-0A-18-05 cũng giống như kết quả do địa chỉ 228.10.24.5. IETF đã chỉ ra rằng khả năng hai ứng dụng Multicast trên cùng một LAN có thể tạo ra cùng những địa chỉ MAC là thấp. Nếu tình cờ điều này xảy ra, một gói tin từ một ứng dụng Multicast khác có thể sẽ được phân biệt bằng địa chỉ lớp 3. Người quản trị nên cẩn thận khi chọn lựa địa chỉ Multicast, tránh việc tạo ra những địa chỉ MAC tương tự nhau.
    • Một vài không gian địa chỉ được dành riêng
    Toàn bộ không gian địa chỉ Multicast: 224.0.0.0 - 239.255.255.255
    • Địa chỉ liên kết cục bộ (link-local): 224.0.0.0 - 224.0.0.255 được dùng bởi các giao thức định tuyến. Router sẽ không chuyển các gói tin có địa chỉ này. Các địa chỉ bao gồm địa chỉ tất cả các máy trạm 224.0.0.1, tất cả các router 224.0.0.2, tất cả các OSPF router 224.0.0.5…224.0.1.1 dùng cho giao thức NTP. Đây là địa chỉ các nhóm cố định vì các địa chỉ này được định nghĩa trước.
    • Địa chỉ 232.0.0.0-232.255.255.255: Địa chỉ GLOP trong tầm 233.0.0.0-233.255.255.255. Tầm địa chỉ dành cho quản trị (239.0.0.0-239.255.255.255) được dùng trong các vùng Multicast riêng, giống như dãy địa chỉ dành riêng trong RFC1918. Địa chỉ này không được định tuyến giữa các vùng nên nó có thể được dùng lại nhiều lần. Địa chỉ toàn cục (224.0.1.0 - 238.255.255.255) được dùng bởi bất cứ đối tượng nào. Các địa chỉ này có thể được định tuyến trên Internet, vì vậy địa chỉ này phải duy nhất.
Địa chỉ Nhóm
224.0.0.1 Tất cả các hệ thống trên mạng con này
224.0.0.2 Tất cả các router trên mạng con này
224.0.0.4 Các DVMRP router
224.0.0.5 Tất cả các OSPF router
224.0.0.6 Tất cả các router được lựa chọn trong OSPF
224.0.0.9 Router chạy RIP phiên bản 2
224.0.0.10 Rout er chạy EIGRP
224.0.0.13 PIM router
224.0.1.39 Lan truyền Cisco PIM RP
224.0.1.40 Phát hiện Cisco RP
Bảng 19.1: Các địa chỉ IP Multicast cụ thể
  • Địa chỉ Multicast cho những nhóm thường trực: IANA dành ra hai dãy địa chỉ dành riêng cho Multicast. Sự khác nhau giữa hai dãy địa chỉ này là dãy thứ nhất được dùng cho những gói tin không nên được truyền bởi router và dãy thứ hai được dùng khi các gói tin phải được truyền bởi router. Dãy địa chỉ được dùng cho cục bộ là 224.0.0.0 đến 224.0.0.255. Các địa chỉ này tương tự như các địa chỉ dùng bởi các giao thức định tuyến. Ví dụ như 224.0.0.5 và 224.0.0.6 được dùng bởi OSPF. Các ví dụ khác bao gồm địa chỉ Multicast 224.0.0.1 chỉ ra tất cả các máy trạm có thể xử lý Multicast và 224.0.0.2 chỉ ra tất cả các router có khả năng xử lý Multicast. Dãy các địa chỉ nhóm được dùng khi các gói tin phải được định tuyến là 224.0.1.0 đến 224.0.1.255. Dãy địa chỉ này bao gồm 24.0.1.39 và 224.0.1.40 là hai địa chỉ được dùng bởi Auto-RP.
  • Địa chỉ Multicast cho các ứng dụng Multicast SSM: IANA đã cấp phát dãy địa chỉ 232.0.0.0 đến 232.255.255.255 cho các ứng dụng SSM. Mục đích của ứng dụng này là cho phép một máy trạm chọn ra một nguồn cho các nhóm Multicast. SSM giúp cho việc định tuyến Multicast trở nên hiệu quả hơn, cho phép một máy trạm chọn lựa một nguồn có chất lượng tốt hơn và giúp các nhà quản trị mạng giảm thiểu kiểu tấn công Multicast DoS. Chỉ có các máy trạm chạy IGMP phiên bản 3 có khả năng dùng tính năng SSM. IGMP phiên bản 3 là một giao thức mới.
  • Địa chỉ Multicast cho các ứng dụng GLOP: IANA dành ra dãy địa chỉ 233.0.0.0 đến 233.255.255.255.255 gọi là địa chỉ GLOP. Địa chỉ này có thể được dùng bởi bất kỳ ai đang có một AS hợp lệ (registered autonomous system number - ASN) để tạo ra 256 địa chỉ Multicast toàn cục. IANA dành riêng các địa chỉ này để đảm bảo tính duy nhất toàn cục của địa chỉ. Bằng cách dùng giá trị 233 cho byte đầu tiên và bằng cách dùng ASN cho byte thứ hai và thứ ba, một AS có thể tạo ra một địa chỉ Multicast toàn cục. Ví dụ nếu AS dùng số hiệu mạng ASN 5663, giá trị này có thể chuyển sang dạng nhị phân là 0001011000011111. 8 bit đầu tiên, 00010110, bằng với 22 trong dạng thập phân và 8 bit cuối, 00011111, bằng với 31 trong dạng thập phân. Ánh xạ 8 bit đầu tiên vào byte thứ hai và 8 bit cuối vào byte thứ ba trong dãy địa chỉ 233, công ty nào có mạng AS là 5663 sẽ được tự động cấp dãy địa chỉ 233.22.31.0 đến 233.22.31.255. GLOP không phải là một từ viết tắt và không tượng trưng cho bất kỳ cái gì.
  • Địa chỉ Multicast cho những vùng riêng: Dãy địa chỉ dành riêng cuối cùng là dãy địa chỉ dành cho quản trị. IANA gán dãy địa chỉ 239.0.0.0 đến 239.255.255.255 (RFC 2365) để dùng trong những miền Multicast. IANA sẽ không gán các tầm địa chỉ này tới bất kỳ một giao thức nào hoặc một ứng dụng nào. Các nhà quản trị mạng có thể tự do sử dụng các địa chỉ trong dãy này, tuy nhiên họ phải cấu hình các router Multicast để đảm bảo Multicast lưu lượng trong dãy địa chỉ này không vượt quá ranh giới của miền Multicast.
  • Địa chỉ Multicast tạm thời cho các nhóm

Khi một doanh nghiệp muốn dùng một địa chỉ Multicast toàn cục, doanh nghiệp cần một khối địa chỉ từ ISP hoặc từ IANA. Tuy nhiên, khi một doanh nghiệp muốn dùng một địa chỉ Multicast mà không phải là một phần của các không gian địa chỉ Multicast được mô tả trong các phần trước, các phần địa chỉ còn lại này được gọi là các địa chỉ Multicast tạm thời. Điều này có nghĩa là toàn bộ Internet phải chia sẽ địa chỉ này. Các địa chỉ này sẽ được cấp phát động khi cần thiết và phải được giải phóng khi không còn được dùng. Bởi vì các địa chỉ này không được gán vào bất cứ ứng dụng nào nên nó được gọi là tạm thời. Bất kỳ một doanh nghiệp có thể dùng các địa chỉ Multicast này mà không cần sự cho phép từ IANA nhưng các doanh nghiệp cần giải phóng địa chỉ sau khi dùng xong.

II. IGMP

Giao thức IGMP phát triển từ giao thức quan hệ giữa các Máy trạm (Host Membership Protocol), được mô tả trong tài liệu của Deering. IGMP phát triển từ IGMP phiên bản 1 (RFC1112) đến IGMP phiên bản 2 (RFC2236) và đến phiên bản cuối cùng IGMP phiên bản 3 (RFC3376). Các thông điệp IGMP được gửi bên trong gói tin IP với trường số của giao thức (protocol number) bằng 2, trong đó trường TTL có giá trị bằng 1. Các gói IGMP chỉ được truyền trong LAN và không được tiếp tục chuyển sang LAN khác do giá trị TTL của nó. Hai mục đích quan trọng nhất của IGMP là:
  • Thông báo cho router chạy Multicast rằng có một máy muốn nhận lưu lượng Multicast của một nhóm cụ thể.
  • Thông báo cho router rằng một có một máy muốn rời một nhóm Multicast (nói cách khác, có một máy không còn quan tâm đến việc nhận Multicast lưu lượng nữa). Các router thường dùng IGMP để duy trì thông tin cho từng cổng của router là những nhóm Multicast nào router cần phải chuyển và những máy trạm nào muốn nhận.

Trước khi một máy trạm có thể nhận bất kỳ một Multicast lưu lượng nào, một ứng dụng Multicast phải được cài đặt và chạy trên máy trạm đó. Sau khi một máy trạm tham gia vào một nhóm, phần mềm sẽ tính toán địa chỉ Multicast và sau đó card mạng sẽ bắt đầu lắng nghe địa chỉ Multicast MAC.

Trước khi một máy trạm hoặc một người dùng muốn tham gia vào một nhóm, người dùng cần phải biết nhóm nào đang tồn tại và làm thế nào để tham gia vào nhóm đó. Đối với các ứng dụng mức doanh nghiệp, người dùng chỉ cần đơn giản nhấp vào một liên kết trên một trang web hoặc địa chỉ Multicast có thể cấu hình trước trên máy trạm. Ví dụ, một người dùng có thể được yêu cầu để đăng nhập vào một máy chủ và xác thực bằng tên và người dùng. Nếu tên người dùng được xác thực, ứng dụng Multicast sẽ tự động cài trên PC của người dùng, nghĩa là người dùng đã tham gia vào nhóm Multicast.

Khi người dùng không còn muốn dùng ứng dụng Multicast nữa, người dùng phải rời khỏi nhóm. Ví dụ, người dùng đơn giản chỉ cần đóng ứng dụng Multicast để rời khỏi nhóm. Đối với cơ chế Multicast, một người dùng cần phải tìm ra ứng dụng nào họ muốn chạy, địa chỉ Multicast được dùng bởi ứng dụng.

Làm thế nào một router biết được các máy cần nghe lưu lượng Multicast? Để nhận lưu lượng Multicast từ một nguồn, cả nguồn và các máy nhận đầu tiên phải gia nhập (join) vào một nhóm Multicast. Nhóm này được xác định thông qua địa chỉ Multicast. Một máy trạm có thể tham gia vào một nhóm Multicast bằng cách gửi các yêu cầu đến router gần nhất. Tác vụ này được thực hiện thông qua giao thức IGMP.

IGMP phiên bản 1 được định nghĩa trong RFC1112 và bản cải tiến của nó, IGMP phiên bản 2 được định nghĩa trong RFC2236. Khi có vài máy trạm muốn tham gia vào nhóm, giao thức PIM sẽ thông báo cho nhau giữa các router và hình thành nên cây Multicast giữa các router.

IGMP và ICMP có nhiều điểm tương đồng, cùng chia sẻ một vài chức năng tương tự. IGMP cũng đóng gói trong gói tin IP (chỉ số giao thức là 2), nhưng IGMP giới hạn chỉ trong một kết nối lớp 2. Để đảm bảo router không bao giờ tiếp tục chuyển gói tin đi, trường TTL của IGMP luôn có giá trị bằng 1.

1. IGMP phiên bản 1

Cứ mỗi 60 giây, một router trên mỗi phân đoạn mạng sẽ gửi truy vấn đến tất cả các máy trạm để kiểm tra xem các máy trạm này có còn quan tâm nhận Multicast lưu lượng nữa không? Router này gọi là router truy vấn IGMP phiên bản 1 (Querier) và chức năng của nó là mời các máy trạm tham gia vào nhóm.

Nếu một máy trạm muốn tham gia vào một nhóm, hoặc nó muốn tiếp tục nhận lưu lượng từ một nhóm mà nó đã tham gia, nó phải trả lời lại bằng thông điệp đáp trả (membership report). Các máy trạm có thể tham gia vào các nhóm Multicast ở bất kỳ thời điểm nào.

Tuy nhiên IGMP phiên bản 1 không có cơ chế để cho phép một máy trạm rời khỏi một nhóm nếu máy trạm đó không còn quan tâm đến nội dung của nhóm Multicast đó. Thay vào đó, router sẽ kết luận là một cổng giao tiếp của bó không còn thuộc về một nhóm Multicast nào nếu router không nhận được thông điệp đáp trả (membership report) trong ba chu kỳ truy vấn liên tiếp. Điều này có nghĩa là, ở chế độ mặc định, các lưu lượng Multicast vẫn gửi vào một phân đoạn mạng trong ba chu kỳ truy vấn liên tiếp sau khi tất cả các thành viên của nhóm không còn lắng nghe Multicast lưu lượng nữa. Ngoài ra, router không có giữ một danh sách đầy đủ các máy thành viên cho từng nhóm Multicast. Thay vào đó, nó cần phải lưu những nhóm Multicast nào là đang tồn tại trên những cổng nào của nó.

Để tham gia vào một nhóm Multicast, một máy trạm sẽ gửi một thông điệp đăng ký tham gia vào nhóm đến router cục bộ của nó. Thông điệp này có tên là báo cáo về tình trạng thành viên của IGMP (Membership Report IGMP). Thông điệp này sẽ thông báo cho router về địa chỉ nhóm Multicast mà máy trạm muốn tham gia vào. Địa chỉ Multicast tượng trưng cho tất cả các máy 224.0.0.1 được dùng như địa chỉ đích. Trong thông điệp này có chứa địa chỉ nhóm Multicast.


Hình 19.8: Cấu trúc của gói tin IGMP phiên bản 1

Một thông điệp IGMP phiên bản 1 có 5 trường:
  • Phiên bản (Version): trường này có độ dài 4 bit, luôn luôn gán giá trị bằng 1.
  • Loại (Type): Trường giá trị 4 bit, chỉ ra 2 loại thông điệp được định nghĩa bởi IGMP phiên bản 1. Loại 1 là kiểu truy vấn quan hệ máy trạm (Host Membership Query), chỉ được dùng bởi router. Loại 2 là kiểu báo cáo quan hệ máy trạm (Host Membership Report) được dùng chỉ bởi máy trạm.
  • Chưa dùng (Unused): trường này có độ dài 8 bit chứa giá trị 0 khi được gửi và bị bỏ qua khi được nhận.
  • Kiểm tra lỗi (Checksum): mang giá trị 16 bit kiểm tra lỗi được tính toán bởi nguồn của thông điệp IGMP. Thiết bị nhận thường kiểm tra giá trị kiểm tra lỗi và nếu giá trị này không đúng bằng giá trị đã tính toán, máy nhận sẽ loại bỏ khung tin.
  • Địa chỉ nhóm (Access Group): Được gán về giá trị 0.0.0.0 khi router gửi ra gói tin truy vấn quan hệ (Membership Query). Giá trị này được gán giá trị địa chỉ nhóm Multicast khi một máy gửi thông điệp báo cáo quan hệ (Membership Report).

Lưu ý rằng khi bạn kết hợp hai trường Phiên bản và trường Loại, giá trị dạng thập lục phân của một gói tin IGMP phiên bản 1, truy vấn quan hệ máy trạm sẽ là 0x11 và IGMP phiên bản 1 báo cáo quan hệ máy trạm là 0x12. Các giá trị này sẽ được so sánh với các giá trị của IGMP phiên bản 2.
  • Chức năng truy vấn quan hệ máy trạm IGMP phiên bản 1

Hinh 19.9: Truy vấn và báo cáo quan hệ máy trạm trong IGMP phiên bản 1

Các thông điệp IGMP phiên bản 1 chỉ được gửi bởi router trên các cổng LAN. Chi tiết như sau:
  • Các máy H1 và H3 tham gia vào nhóm Multicast 226.1.1.1. Tác vụ tham gia làm cho các máy này sẵn sàng nhận các thông điệp được gửi đến cả hai địa chỉ 226.1.1.1 và địa chỉ 224.0.0.1 (là địa chỉ mà các gói tin truy vấn IGMP phiên bản 1 sẽ được gửi. Các máy Multicast sẽ phải lắng nghe địa chỉ 224.0.0.1 để tham gia vào IGMP và để có thể nhận được các gói tin truy vấn gửi ra từ router. Hai địa chỉ MAC tương ứng là 01-00-5e-01-01-01 (của địa chỉ 226.1.1.1) và 01-00-5e-00-00-01 (tương ứng của 224.0.0.1).
  • R1 gửi một thông điệp truy vấn IGMP phiên bản 1 ra từng cổng LAN, tìm kiếm bất kỳ máy trạm nào quan tâm đến việc nhận lưu lượng Multicast. R1 định kỳ mỗi 60 giây gửi thông điệp truy vấn IGMP phiên bản 1. Khoảng thời gian này được gọi là khoảng thời gian truy vấn.

Sau khi gửi ra thông điệp truy vấn, R1 mong đợi rằng bất kỳ máy nào tham gia vào nhóm 226.1.1.1 hoặc bất kỳ nhóm nào khác sẽ trả lời lại bằng thông điệp báo cáo IGMP phiên bản 1. Gói tin truy vấn IGMP phiên bản 1 có TTL là 1, điều này làm cho gói tin sẽ không bị định tuyến qua mạng khác. Trong trường địa chỉ nhóm của gói truy vấn IGMP phiên bản 1, giá trị của trường này luôn luôn là 0.0.0.0. Bằng cách gửi thông điệp truy vấn IGMP phiên bản 1 đến địa chỉ nhóm 0.0.0.0 router sẽ hỏi các máy trạm khác trong LAN là “Có còn ai muốn nhận Multicast lưu lượng cho bất kỳ nhóm nào không?”.

Ở thời điểm này, router R1 vẫn không biết có máy trạm nào cần nhận lưu lượng Multicast nào hay không. Phần kế tiếp sẽ khảo sát các máy trạm trả lời bằng thông điệp báo cáo IGMP như thế nào.
  • Chức năng gửi báo cáo quan hệ máy trạm

Các máy trạm dùng thông điệp báo cáo quan hệ máy trạm IGMP phiên bản 1 để trả lời cho các gói tin truy vấn IGMP và thông báo cho router rằng máy muốn nhận Multicast. Các máy trạm Multicast dùng thông điệp báo cáo IGMP phiên bản 1 để giao tiếp với các router, nêu rõ địa chỉ nhóm Multicast mà máy muốn nhận. Trong IGMP phiên bản 1, một máy trạm gửi thông điệp báo cáo quan hệ máy trạm IGMP phiên bản 1 trong 2 tình huống sau:
  • Khi một máy trạm nhận được một gói tin truy vấn IGMP phiên bản 1 từ router, máy trạm sẽ giả sử gửi báo cáo quan hệ máy trạm cho tất cả các nhóm Multicast mà nó muốn nhận lưu lượng. Thông điệp này được gọi là thông điệp báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1.
  • Khi một máy trạm tham gia vào một nhóm mới, máy trạm muốn ngay lập tức gửi ra báo cáo quan hệ máy trạm IGMP phiên bản 1 để thông báo cho router rằng nó muốn nhận lưu lượng cho nhóm đó mà không cần chờ gói tin truy vấn IGMP phiên bản 1. Thông điệp này được gọi là báo cáo không yêu cầu quan hệ máy trạm IGMP phiên bản 1.
  • Báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1

Hình 19.10: Hoạt động của báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1

Hình 19.10 mô tả hoạt động của báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1 và cơ chế để giảm thông điệp báo cáo. Hình 19.10 mô tả các bước tiếp theo khi R1 đã gửi ra gói tin truy vấn IGMP phiên bản 1. Thời gian đáp ứng tối đa (Maximum Responese Time – MRT), thời gian tính bằng giây, được máy trạm chọn lựa ngẫu nhiên. Nếu nhiều máy trạm đã chạy ứng dụng Multicast và nếu tất cả các máy trạm này trả lời thông điệp truy vấn IGMP phiên bản 1 bằng thông điệp báo cáo quan hệ máy trạm, sẽ có quá nhiều thông điệp báo cáo được gửi dư về router. Điều này làm lãng phí băng thông và tăng tải một cách không cần thiết trên router. Một router chỉ cần nhận một thông điệp báo cáo cho mỗi ứng dụng trên mỗi cổng LAN của nó. Một router sẽ chuyển Multicast lưu lượng vào cổng LAN cho dù chỉ có một người dùng hay 200 người dùng trên phân đoạn mạng đó muốn nhận Multicast lưu lượng .

Cơ chế giảm thông điệp báo cáo giúp giải quyết vấn đề này. Cơ chế này dùng bộ định thời MRT của IGMP phiên bản 1 để giảm bớt những thông điệp báo cáo của IGMP phiên bản 1. Bộ định thời này được gọi là khoảng thời gian trả lời truy vấn (Query Response Interval). Khoảng thời gian này được cấu hình cố định là 10 giây và không thể thay đổi sang giá trị khác trong IGMP phiên bản 1. Nói cách khác, trong IGMP phiên bản 1, khi có bất kỳ máy trạm nào nhận một thông điệp truy vấn IGMP phiên bản 1, nó sẽ có một khoảng thời gian tối đa là 10 giây để gửi thông điệp báo cáo IGMP phiên bản 1 nếu nó muốn tiếp tục nhận lưu lượng Multicast.

Mỗi máy trạm muốn gửi báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1 sẽ chọn một khoảng thời gian ngẫu nhiên giữa 0 và 10 và bắt đầu một bộ định thời. Khi khoảng thời gian ngẫu nhiên này hết, máy trạm sẽ giả sử là gửi một thông điệp báo cáo. Tuy nhiên, nếu một máy trạm nhận được một thông điệp báo cáo được gửi bởi một máy trạm khác cho cùng nhóm Multicast mà nó cũng muốn nhận lưu lượng , máy trạm này sẽ không gửi ra thông điệp báo cáo. Cơ chế này được gọi là cơ chế giảm thông điệp báo cáo.

Đơn vị đo lường cho khoảng thời gian MRT là 1/10 giây. Ví dụ, một khoảng thời gian 3 giây sẽ được mô tả bằng giá trị MRT là 30.



Hình 19.11: Cơ chế giảm thông điệp báo cáo của IGMP phiên bản 1

Các máy H1 và H3 sẽ muốn gửi thông điệp báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1. Giả sử rằng H1 và H3 đã nhận được một gói tin truy vấn IGMP phiên bản 1. Bởi vì cả H1 và H3 đều đã tham gia vào nhóm 226.1.1.1, cả hai máy trạm cần phải gửi một thông điệp báo cáo yêu cầu quan hệ IGMP phiên bản 1. Ngoài ra giả sử thêm rằng cả H1 và H3 đã chọn ngẫu nhiên một khoảng thời gian MRT là 3 giây và 1 giây.

Bộ định thời của H3 sẽ bị hết hạn trong 1 giây, H3 chuẩn bị gửi ra thông điệp báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1 với giá trị TTL là 1. H3 dùng địa chỉ IP đích là IGMP phiên bản 1 là 226.1.1.1 và địa chỉ nguồn là 10.1.1.3. Địa chỉ đích MAC là 01-00-5e-01-01-01 được tính toán từ địa chỉ 226.1.1.1 và địa chỉ MAC của H3 là địa chỉ nguồn của khung tin.

Các máy H1, H2 và R1 nhận thông điệp báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1 nhưng chỉ có H1 và R1 là xử lý gói báo cáo. Card mạng của H2 sẽ bỏ khung tin được gửi bởi H3 bởi vì nó không lắng nghe địa chỉ 01-00-5e-01-01-01. H1 nhận ra rằng H3 đã có gửi một yêu cầu đến router. Vì vậy H1 sẽ không gửi ra thông điệp báo cáo của nó. Bằng cách dùng địa chỉ nhóm là 226.1.1.1, H3 đang báo cho router là “Tôi muốn nhận lưu lượng Multicast cho nhóm 226.1.1.1”.

R1 nhận được thông điệp báo cáo yêu cầu quan hệ máy trạm IGMP phiên bản 1 trên cổng F0/0 của nó nhưng R1 chưa nhận được thông điệp báo cáo quan hệ máy trạm trên cổng F0/1. R1 sẽ bắt đầu đẩy lưu lượng của nhóm 226.1.1.1 ra cổng F0/0.





Hình 19.12: Báo cáo yêu cầu quan hệ máy trạm của IGMP phiên bản 1
  • Thông điệp báo cáo không yêu cầu quan hệ máy trạm IGMP phiên bản 1

Trong IGMP phiên bản 1, một máy trạm không cần thiết phải nhận thông điệp truy vấn thì mới gửi thông điệp báo cáo. Một máy trạm có thể gửi thông điệp báo cáo bất kỳ lúc nào một người dùng khởi động một chương trình Multicast. Đặc điểm này giúp giảm thời gian một máy trạm phải chờ để nhận lưu lượng Multicast.


HÌnh 19.13: Thông điệp báo cáo không yêu cầu quan hệ máy trạm IGMP phiên bản 1

Ví dụ, trong hình 19.13, một người dùng đã chạy một ứng dụng dùng địa chỉ 226.1.1.1 trên H4. H4 sẽ gửi một thông điệp báo cáo không yêu cầu quan hệ máy trạm IGMP phiên bản 1. Thông điệp này sẽ được nhận bởi R1 trên cổng F0/1 của nó và sau đó R1 sẽ bắt đầu đẩy lưu lượng của nhóm 226.1.1.1 ra cổng F0/1.
  • Cơ chế rời khỏi nhóm của IGMP phiên bản 1

IGMP không có một cơ chế để cho phép các máy trạm có thể rời khỏi một nhóm. Giả sử có một người dùng ngồi ở H4 quyết định rời khỏi nhóm. H4 sẽ lặng lẽ rời khỏi nhóm và R1 không biết về việc này. R1 sẽ tiếp tục đẩy lưu lượng của 226.1.1.1 trên cổng F0/1 trong vòng 3 phút, ngay cả khi không có máy trạm nào muốn nhận nó. Sau khi R1 gửi thông điệp truy vấn ba lần, mỗi lần cách nhau 60 giây và không có máy trạm nào trả lời bằng thông điệp báo cáo IGMP phiên bản 1, R1 sẽ kết luận không còn máy trạm nào muốn nhận lưu lượng cho 226.1.1.1 trên cổng F0/1. Khoảng thời gian 3 phút này được gọi là khoảng thời gian xác nhận thành viên nhóm (Group membership Interval).
  • Router truy vấn IGMP phiên bản 1

Để tăng tính dự phòng, ta có thể triển khai nhiều router Multicast trên cùng một mạng. Tuy nhiên nếu tất cả các router gửi gói tin truy vấn mỗi 60 giây thì sẽ rất lãng phí băng thông. Như vậy, một hệ thống mạng nên có một router được gán vai trò gửi gói tin truy vấn và truyền lưu lượng Multicast vào hoặc ra mạng con. Nếu một router bị sự cố, router thứ hai có thể đảm nhận trách nhiệm này. IGMP phiên bản 1 thường dựa vào các thông tin định tuyến của Multicast để giải quyết vấn đề bầu chọn router này.
Phan Trung Tín
Email: phantrungtin@vnpro.org
.
Trung Tâm Tin Học VnPro
149/1D Ung Văn Khiêm, P.25, Q.Bình Thạnh, Tp.HCM
Tel: (028) 35124257 (028) 36222234
Fax: (028) 35124314

Home Page: http://www.vnpro.vn
Forum: http://www.vnpro.org
Twitter: https://twitter.com/VnVnpro
LinkedIn: https://www.linkedin.com/in/VnPro
- Chuyên đào tạo quản trị mạng và hạ tầng Internet
- Phát hành sách chuyên môn
- Tư vấn và tuyển dụng nhân sự IT
- Tư vấn thiết kế và hỗ trợ kỹ thuật hệ thống mạng

Videos: http://www.dancisco.com
Blog: http://www.vnpro.org/blog
Facebook: http://facebook.com/VnPro
Zalo: https://zalo.me/1005309060549762169
​​​​​​
Tags:

Working...
X