Tác giả:
+ Đặng Quang Minh
Tổng quan về multicast
Cuối những năm 80, Steve Deering làm việc trên một dự án trong đó có nhu cầu gửi một thông điệp từ một máy tính đến một nhóm các máy tính thông qua các giao thức lớp 3. Sau khi nghiên cứu vài giao thức định tuyến, Deering kết luận rằng chức năng của các giao thức định tuyến có thể mở rộng để hỗ trợ cơ chế multicast lớp 3. Định nghĩa cơ bản nhất của IP multicast là:
Cơ chế gửi một thông điệp từ một nguồn duy nhất đến một nhóm chọn lựa các địa chỉ đích thông qua một hạ tầng mạng lớp 3 trong một dòng dữ liệu. Nếu bạn muốn gửi một thông điệp từ một nguồn về một đích, bạn có thể dùng cơ chế unicast. Nếu bạn muốn gửi một thông điệp từ một nguồn đến tất cả các đích trong một phân đoạn mạng, bạn phải dùng broadcast.
Steve Deering viết RFC đầu tiên cho cơ chế multicast vào năm 1986. Nhưng chỉ vài năm sau, các nhu cầu to lớn cho cơ chế multicast đã bùng nổ, xuất phát từ nhu cầu giao tiếp một-nhiều và nhiều-nhiều.Các ứng dụng chẳng hạn như audio, video, các chương trình broadcast TV… Multicast cũng đã được nghiên cứu như một thành phần của Internet, được biết đến như dự án Multicast backbone, Mbone. Tuy nhiên muốn triển khai multicast trên toàn mạng Internet thì phải chờ các nghiên cứu về Multiprotocol BGP và Border Gateway Multicast Protocol.
Ba kiểu truyền lưu lượng IP trên router và switch
Unicast: Các gói tin được gửi từ một địa chỉ nguồn đến một địa chỉ đích. Một router hoặc một thiết bị lớp 3 sẽ chuyển các gói tin bằng cách tìm địa chỉ đích trong bảng định tuyến. Nếu một thiết bị là L2, nó chỉ cần dựa vào địa chỉ MAC.
Phương thức unicast yêu cầu rằng các ứng dụng video gửi một bản copy của từng gói tin đến mọi địa chỉ unicast của các thành viên của nhóm. Để hỗ trợ hình ảnh đẹp, mỗi dòng video yêu cầu 1.5 Mbps cho mỗi máy nhận. Nếu chỉ có một vài máy nhận, phương thức này làm việc được nhưng yêu cầu băng thông là n*1.5Mbps trong đó n là số host nhận.
Khi số máy tham gia vào tăng lên hàng trăm hoặc hàng ngàn, tải trên server để tạo ra các phiên bản của dữ liệu cũng tăng lên. Đối với 100 người dùng, phần băng thông yêu cầu để gửi unicast là 150Mbps. Đối với 1000 người dùng, phần băng thông yêu cầu là 1.5Gbps.
Phương thức dùng unicast không có khả năng mở rộng. Nếu chuyển sang dùng broadcast, ta chỉ cần truyền dữ liệu một lần, tuy nhiên lúc này sẽ gặp vài vấn đề nghiêm trọng.
Đầu tiên, nếu bên máy nhận nằm trong vùng broadcast domain khác máy gửi, router cần phải truyền dữ liệu broadcast. Tuy nhiên, truyền gói tin dạng broadcast có thể là giải pháp tồi nhất vì sẽ tốn rất nhiều băng thông và tăng tải trên tất cả các thiết bị mạng nếu chỉ có một nhóm nhỏ các máy trong mạng thực sự cần nhận gói tin.
Broadcast: Các gói tin được gừi từ một máy nguồn đến một địa chỉ đích broadcast. Địa chỉ đích có thể là địa chỉ tất cả các hosts (255.255.255.255) hoặc là một phần của địa chỉ subnet. Một router hoặc một L3 switch sẽ không cho phép chuyển các dữ liệu broadcast này. Một thiết bị L2 sẽ cho phép phát tán broadcast traffic ra tất cả các cổng của nó.
Multicast: Các gói được gửi từ một địa chỉ nguồn đến một nhóm các máy tính. Địa chỉ đích tượng trưng bằng các hosts muốn nhận traffic này. Mặc định, một router hoặc một L3 switch sẽ không chuyển các gói tin này trừ khi phải cấu hình multicast routing. Một thiết bị L2 switch không thể nhận biết được vị trí của địa chỉ multicast đích. Tất cả các gói sẽ được phát tán ra tất cả các port ở chế độ mặc định.
Có hai thái cực được mô tả ở đây. Cơ chế dùng unicast thì dữ liệu sẽ đi từ host đến host; broadcast thì traffic sẽ đi đến tất cả các host trên phân đoạn mạng đó. Cơ chế multicast sẽ nằm giữa hai thái cực này, trong đó máy nguồn chỉ gửi những gói tin từ một host đến các người dùng muốn nhận loại traffic đó. Nhóm này gọi là nhóm multicast. Các máy nhận multicast traffic có thể nằm ở bất cứ nơi nào chứ không chỉ trên phân đoạn mạng cục bộ.
Các traffic dạng multicast thường là một chiều (unidirectional). Do có nhiều host nhận cùng một dữ liệu, nên thông thường các gói tin không được phép gửi ngược về máy nguồn trên cơ chế multicast. Một host đích sẽ trả traffic ngược về nguồn theo cơ chế unicast. Cơ chế multicast cũng sẽ được truyền theo kiểu phi-kết-nối (connectionless). Multicast dùng UDP chứ không dùng TCP.
Các host muốn nhận dữ liệu từ một nguồn multicast có thể tham gia hoặc rời khỏi một nhóm multicast ở bất kỳ thời điểm nào. Hơn nữa, một host sẽ quyến định có trở thành thành viên của một hay nhiều nhóm multicast hay không. Nguyên tắc cần quan tâm là sẽ hoạch định làm thế nào để phân phối các lưu lượng multicast đến các thành viên của nhóm mà không ảnh hưởng đến các thành viên ngoài nhóm.
Tóm tắt: Có ba yêu cầu cơ bản để có thể triển khai multicast trên một mạng:
+ Phải có một tập hợp các địa chỉ dành cho các nhóm multicast.
+ Phải có một cơ chế trong đó các host có thể tham gia và rời khỏi nhóm
+ Phải có một giao thức định tuyến cho phép các router phân phối các multicast traffic tới các thành viên của nhóm mà không làm quá tải tài nguyên mạng.
+ Đặng Quang Minh
Tổng quan về multicast
Cuối những năm 80, Steve Deering làm việc trên một dự án trong đó có nhu cầu gửi một thông điệp từ một máy tính đến một nhóm các máy tính thông qua các giao thức lớp 3. Sau khi nghiên cứu vài giao thức định tuyến, Deering kết luận rằng chức năng của các giao thức định tuyến có thể mở rộng để hỗ trợ cơ chế multicast lớp 3. Định nghĩa cơ bản nhất của IP multicast là:
Cơ chế gửi một thông điệp từ một nguồn duy nhất đến một nhóm chọn lựa các địa chỉ đích thông qua một hạ tầng mạng lớp 3 trong một dòng dữ liệu. Nếu bạn muốn gửi một thông điệp từ một nguồn về một đích, bạn có thể dùng cơ chế unicast. Nếu bạn muốn gửi một thông điệp từ một nguồn đến tất cả các đích trong một phân đoạn mạng, bạn phải dùng broadcast.
Steve Deering viết RFC đầu tiên cho cơ chế multicast vào năm 1986. Nhưng chỉ vài năm sau, các nhu cầu to lớn cho cơ chế multicast đã bùng nổ, xuất phát từ nhu cầu giao tiếp một-nhiều và nhiều-nhiều.Các ứng dụng chẳng hạn như audio, video, các chương trình broadcast TV… Multicast cũng đã được nghiên cứu như một thành phần của Internet, được biết đến như dự án Multicast backbone, Mbone. Tuy nhiên muốn triển khai multicast trên toàn mạng Internet thì phải chờ các nghiên cứu về Multiprotocol BGP và Border Gateway Multicast Protocol.
Ba kiểu truyền lưu lượng IP trên router và switch
Unicast: Các gói tin được gửi từ một địa chỉ nguồn đến một địa chỉ đích. Một router hoặc một thiết bị lớp 3 sẽ chuyển các gói tin bằng cách tìm địa chỉ đích trong bảng định tuyến. Nếu một thiết bị là L2, nó chỉ cần dựa vào địa chỉ MAC.
Phương thức unicast yêu cầu rằng các ứng dụng video gửi một bản copy của từng gói tin đến mọi địa chỉ unicast của các thành viên của nhóm. Để hỗ trợ hình ảnh đẹp, mỗi dòng video yêu cầu 1.5 Mbps cho mỗi máy nhận. Nếu chỉ có một vài máy nhận, phương thức này làm việc được nhưng yêu cầu băng thông là n*1.5Mbps trong đó n là số host nhận.
Khi số máy tham gia vào tăng lên hàng trăm hoặc hàng ngàn, tải trên server để tạo ra các phiên bản của dữ liệu cũng tăng lên. Đối với 100 người dùng, phần băng thông yêu cầu để gửi unicast là 150Mbps. Đối với 1000 người dùng, phần băng thông yêu cầu là 1.5Gbps.
Phương thức dùng unicast không có khả năng mở rộng. Nếu chuyển sang dùng broadcast, ta chỉ cần truyền dữ liệu một lần, tuy nhiên lúc này sẽ gặp vài vấn đề nghiêm trọng.
Đầu tiên, nếu bên máy nhận nằm trong vùng broadcast domain khác máy gửi, router cần phải truyền dữ liệu broadcast. Tuy nhiên, truyền gói tin dạng broadcast có thể là giải pháp tồi nhất vì sẽ tốn rất nhiều băng thông và tăng tải trên tất cả các thiết bị mạng nếu chỉ có một nhóm nhỏ các máy trong mạng thực sự cần nhận gói tin.
Broadcast: Các gói tin được gừi từ một máy nguồn đến một địa chỉ đích broadcast. Địa chỉ đích có thể là địa chỉ tất cả các hosts (255.255.255.255) hoặc là một phần của địa chỉ subnet. Một router hoặc một L3 switch sẽ không cho phép chuyển các dữ liệu broadcast này. Một thiết bị L2 sẽ cho phép phát tán broadcast traffic ra tất cả các cổng của nó.
Multicast: Các gói được gửi từ một địa chỉ nguồn đến một nhóm các máy tính. Địa chỉ đích tượng trưng bằng các hosts muốn nhận traffic này. Mặc định, một router hoặc một L3 switch sẽ không chuyển các gói tin này trừ khi phải cấu hình multicast routing. Một thiết bị L2 switch không thể nhận biết được vị trí của địa chỉ multicast đích. Tất cả các gói sẽ được phát tán ra tất cả các port ở chế độ mặc định.
Có hai thái cực được mô tả ở đây. Cơ chế dùng unicast thì dữ liệu sẽ đi từ host đến host; broadcast thì traffic sẽ đi đến tất cả các host trên phân đoạn mạng đó. Cơ chế multicast sẽ nằm giữa hai thái cực này, trong đó máy nguồn chỉ gửi những gói tin từ một host đến các người dùng muốn nhận loại traffic đó. Nhóm này gọi là nhóm multicast. Các máy nhận multicast traffic có thể nằm ở bất cứ nơi nào chứ không chỉ trên phân đoạn mạng cục bộ.
Các traffic dạng multicast thường là một chiều (unidirectional). Do có nhiều host nhận cùng một dữ liệu, nên thông thường các gói tin không được phép gửi ngược về máy nguồn trên cơ chế multicast. Một host đích sẽ trả traffic ngược về nguồn theo cơ chế unicast. Cơ chế multicast cũng sẽ được truyền theo kiểu phi-kết-nối (connectionless). Multicast dùng UDP chứ không dùng TCP.
Các host muốn nhận dữ liệu từ một nguồn multicast có thể tham gia hoặc rời khỏi một nhóm multicast ở bất kỳ thời điểm nào. Hơn nữa, một host sẽ quyến định có trở thành thành viên của một hay nhiều nhóm multicast hay không. Nguyên tắc cần quan tâm là sẽ hoạch định làm thế nào để phân phối các lưu lượng multicast đến các thành viên của nhóm mà không ảnh hưởng đến các thành viên ngoài nhóm.
Tóm tắt: Có ba yêu cầu cơ bản để có thể triển khai multicast trên một mạng:
+ Phải có một tập hợp các địa chỉ dành cho các nhóm multicast.
+ Phải có một cơ chế trong đó các host có thể tham gia và rời khỏi nhóm
+ Phải có một giao thức định tuyến cho phép các router phân phối các multicast traffic tới các thành viên của nhóm mà không làm quá tải tài nguyên mạng.
Comment