Tải bản đầy đủ (.doc) (4 trang)

tổng quan về multicast và các cơ chế hỗ trợ khả năng mở rộng và quản lý

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (71.44 KB, 4 trang )

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.
Cơ chế multicast hỗ trợ khả năng mở rộng và khả năng quản lý như thế nào?
Sáu yêu cầu cơ bản để hỗ trợ các ứng dụng multicast trên một hạ tầng mạng là:
- Một dãy địa chỉ dành riêng cho địa chỉ lớp 3 mà chỉ được dùng bởi các ứng dụng
multicast. Người quản trị cần phải cài đặt một ứng dụng multicast trên một multicast
server dùng địa chỉ lớp 3.
- Một địa chỉ multicast chỉ được dùng như là địa chỉ đích và không được là địa chỉ nguồn.
Không giống như gói tin unicast, một địa chỉ đích IP trong một gói multicast không chỉ ra
địa chỉ của máy nhận mà chỉ đơn giản có ý nghĩa là gói tin đang mang dữ liệu multicast.
- Các ứng dụng multicast phải được cài đặt trên tất cả các host trong mạng cần phải nhận
traffic multicast cho ứng dụng. Ứng dụng phải được cài đặt dùng cùng địa chỉ multicast
L3 với địa chỉ của server. Động tác này còn được gọi là tham gia vào cùng một nhóm.
- Tất cả các host kết nối vào cùng một mạng LAN phải dùng cùng một phương thức
chuẩn để tính toán địa chỉ L2 từ địa chỉ multicast L3 và gán nó vào cạc mạng. Ví dụ, nếu
nhiều router cùng kết nối vào một mạng và tất cả đều chạy OSPF, tất cả các cổng
Ethernet của tất cả các router sẽ có khả năng lắng nghe đến địa chỉ multicast là
0x0100.5e00.0005 ngoài địa chỉ MAC của chính cổng đó. Địa chỉ multicast L2
0x0100.5e00.0005 được tính toán từ địa chỉ 224.0.0.5. Đây là địa chỉ dành riêng cho
OSPF.
- Phải có một cơ chế trong đó một host có thể báo cho router kết nối trực tiếp rằng host
muốn nhận traffic cho ứng dụng multicast. Giao thức IGMP cung cấp cơ chế giao tiếp
giữa host và router trong cùng subnet. CGMP hay IGMP snooping giúp các switch học
thông tin host nào đã nhận traffic cho các ứng dụng multicast và các host này gắn vào
cổng nào của switch.
- Phải có một giao thức định tuyến multicast trong đó cho phép các router truyền các dữ
liệu multicast từ server đến các host mà không làm tốn tài nguyên mạng. Một vài giao
thức định tuyến multicast là Distance Vector Multicast Routing Protocol (DVMRP),

Multicast Open Shortest Path First (MOSPF), và Protocol Independent Multicast dense
mode (PIM-DM) và sparse mode (PIM-SM).
Giả sử rằng một ứng dụng video được cài đặt trên một server dùng địa chỉ multicast là
225.5.5.5. Các host từ 1 đến 49, nằm trên các kết nối WAN thì không quan tâm đến
traffic này. Các host từ 50 đến 100 thì quan tâm đến việc nhận traffic cho ứng dụng này
và chạy ứng dụng trên PC.
Khi các host chạy ứng dụng multicast, các host sẽ tham gia vào nhóm, có nghĩa là các
host bây giờ muốn nhận các gói multicast được gửi về địa chỉ 225.5.5. Các host từ 50 đến
100 tham gia vào nhóm 225.5.5.5 và báo cho R2 thông qua IGMP rằng các host này
muốn nhận traffic. Các ứng dụng multicast tính toán địa chỉ lớp 2 0x0100.5e05.0505 từ
địa chỉ lớp 3 225.5.5.5 và các card mạng của các máy từ 50 đến 100 sẽ lắng nghe địa chỉ
này bên cạnh các traffic đến địa chỉ MAC BIA.
Một giao thức định tuyến multicast được cấu hình giữa R1 và R2 sao cho các router có
thể truyền các lưu lượng multicast. R2 có một kết nối đến mạng FrameRelay và hai cổng
Ethernet kết nối đến hai switch, Sw2 và Sw3. R2 biết rằng nó có các host trên cả hai kết
nối muốn nhận traffic của nhóm 225.5.5.5. Cả hai switch cũng sẽ ghi nhận các cổng của
các host muốn nhận multicast thông qua hai giao thức CGMP và IGMP snooping. Một
gói multicast truyền từ video server trên kết nối Ethernet đến R1 và R1 sẽ truyền một gói
tin multicast trên kết nối WAN đến R2. Khi R2 nhận gói multicast, R2 sẽ nhân bản gói
multicast và truyền trên từng kết nối Ethernet.
Vì đây là gói tin multicast, R2 sẽ tính địa chỉ lớp 2 0x0100.5e05.0505 và dùng nó như địa
chỉ MAC đích, sau đó R2 sẽ truyền frame này đến cả hai switch. Khi các switch nhận
được các frame này, switch sẽ truyền frame ra các cổng phù hợp. Khi các host nhận được
các gói này, card mạng sẽ so sánh địa chỉ MAC đích với địa chỉ multicast mà máy đang
lắng nghe. Nếu là đúng, card mạng sẽ thông báo cho các lớp cao hơn xử lý gói tin.
Giả sử các host từ 1 đến 40 cũng muốn nhận traffic cho nhóm 225.5.5.5. R2 đã sẵn sàng
truyền traffic đến cả hai switch. Tuy nhiên, mặc dù đã có thêm 49 máy mới nhận traffic
multicast, tải trên các thiết bị mạng và nhu cầu băng thông trên kết nối WAN không đổi.
Tải trên SW2 thì có thể tăng bởi vì nó phải thực hiện việc nhân bản 49 lần và truyền nó
trên 49 cổng.

Multicast cũng có vài điểm bất lợi. Multicast thì dùng UDP nên không tin cậy, thiếu cơ
chế windowing và cơ chế slowstart nên có thể gây ra nghẽn. Một vài cơ chế multicast có
thể gây ra gói tin bị trùng lắp.

×