Tác giả:
+ Đặng Quang Minh
Đị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 host), 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 traffic 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 traffic 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 traffic 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 subnetting. Vì vậy có đến 2 lũy thừa 28 đị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 host.
Á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 L3 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 23bit 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 bits địa chỉ của L3 multicast.
Hình trên 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 host multicast có một vấn đề nhỏ khi nó nhận một Ethernet frame 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 host phải nhận và kiểm tra tất cả các frame có MAC mà nó quan tâm. Sau đó host này phải kiểm tra phần địa chỉ IP bên trong mỗi frame để nhận ra phần địa chỉ của từng nhóm multicast.
Để 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 ý 4bit đầ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ế bốn bit đầu tiên 1110 của địa chỉ IP với 6 ký tự (24bits) 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 (48bits) của địa chỉ multicast MAC.
- Bước 3: Thay thế 5bit 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 24bit 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 sáu chữ số hexa đầu tiên 01-00-5E với sáu 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 multicasat 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ỉ 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 host all-hosts 224.0.0.1, tất cả các router 224.0.0.2, tất cả các OSPF routers 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 route giữa các domain 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ỉ 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à nhóm 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 host 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 host 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 host 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 host chạy IGMPv3 có khả năng dùng tính năng SSM. IGMPv3 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 octet đầu tiên và bằng cách dùng ASN cho octet 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ạ 8bit đầu tiên vào octet thứ hai và 8bit cuối vào octet 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 domain 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 traffic 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 transient. Đ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 sau khi dùng xong.
+ Đặng Quang Minh
Đị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 host), 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 traffic 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 traffic 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 traffic 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 subnetting. Vì vậy có đến 2 lũy thừa 28 đị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 host.
Á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 L3 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 23bit 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 bits địa chỉ của L3 multicast.
Hình trên 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 host multicast có một vấn đề nhỏ khi nó nhận một Ethernet frame 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 host phải nhận và kiểm tra tất cả các frame có MAC mà nó quan tâm. Sau đó host này phải kiểm tra phần địa chỉ IP bên trong mỗi frame để nhận ra phần địa chỉ của từng nhóm multicast.
Để 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 ý 4bit đầ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ế bốn bit đầu tiên 1110 của địa chỉ IP với 6 ký tự (24bits) 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 (48bits) của địa chỉ multicast MAC.
- Bước 3: Thay thế 5bit 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 24bit 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 sáu chữ số hexa đầu tiên 01-00-5E với sáu 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 multicasat 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ỉ 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 host all-hosts 224.0.0.1, tất cả các router 224.0.0.2, tất cả các OSPF routers 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 route giữa các domain 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ỉ 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à nhóm 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 host 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 host 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 host 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 host chạy IGMPv3 có khả năng dùng tính năng SSM. IGMPv3 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 octet đầu tiên và bằng cách dùng ASN cho octet 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ạ 8bit đầu tiên vào octet thứ hai và 8bit cuối vào octet 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 domain 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 traffic 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 transient. Đ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 sau khi dùng xong.
Comment