BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHỆ
KHOA CÔNG NGHỆ THÔNG TIN
MẠNG MÁY TÍNH
ĐỒ ÁN CƠ SỞ
TÌM HIỂU MULTICAST
Giáo viên hướng dẫn: Dương Thiên Tứ
Sinh viên thực hiện: Võ Chinh Phục
MSSV: 105102121
TP. HỒ CHÍ MINH
Năm 2008
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
LỜI CẢM ƠN
Em xin cảm ơn Khoa Công Nghệ Thông Tin trường Đại Học Kỹ
Thuật Công Nghệ đã tạo điều kiện cho em thực hiện đồ án cơ sở này.
Em xin chân thành cảm ơn thầy Dương Thiên Tứ đã tận tình hướng dẫn,
chỉ bảo em trong suốt thời gian thực hiện đồ án.
SVTH: Võ Chinh Phục Trang 2
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
MỤC LỤC
Chương 1............................................................................................................................5
GIỚI THIỆU MULTICAST...............................................................................................5
1.1. Giới Thiệu............................................................................................................................5
1.2. Multicast trên các lớp.........................................................................................................5
1.3. Địa chỉ Multicast.................................................................................................................6
1.4. IGMP...................................................................................................................................8
1.5. Cây Phân Phối...................................................................................................................13
1.5.1 Source Tree.................................................................................................................13
1.5.2 Shared Tree.................................................................................................................14
Chương 2..........................................................................................................................16
CÁC GIẢI THUẬT ĐỊNH TUYẾN MULTICAST........................................................16
2.1. Giải thuật Flooding...........................................................................................................16
2.2. Spanning Tree...................................................................................................................17
2.3. Reverse Path Forwarding..................................................................................................17
2.4. Giải thuật Reverse Path Broadcasting (RPB)....................................................................18
2.5. Reverse Path Multicast (RPM)..........................................................................................19
2.6. Steiner Tree......................................................................................................................21
2.7. Core Based Tree................................................................................................................21
2.8. Multicast Backbone..........................................................................................................22
Chương 3..........................................................................................................................23
CÁC GIAO THỨC ĐỊNH TUYẾN.................................................................................23
3.1. Giao thức PIM...................................................................................................................23
3.1.1. PIM Dense Mode.......................................................................................................23
3.1.2. PIM Sparse Mode......................................................................................................25
3.2. DVMRP..............................................................................................................................26
3.3. Giao thức MOSPF..............................................................................................................28
3.3.1 Định tuyến nội miền...................................................................................................29
3.3.2 Định tuyến liên vùng...................................................................................................30
3.3.3 Định tuyến liên miền..................................................................................................31
Chương 4..........................................................................................................................33
SVTH: Võ Chinh Phục Trang 3
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
MULTICAST TRÊN IPV6..............................................................................................33
4.1 Địa chỉ Multicast IPv6........................................................................................................33
4.2 Ánh xạ IPv6 Multicast đến địa chỉ Ethernet MAC..............................................................34
Chương 5..........................................................................................................................36
GIỚI THIỆU ỨNG DỤNG MULTITST.........................................................................36
Chương 6..........................................................................................................................39
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.......................................................................39
6.1 Kết luận:.............................................................................................................................39
6.2 Hướng phát triển:..............................................................................................................39
PHỤ LỤC.........................................................................................................................40
Chú Giải Thuật Ngữ:................................................................................................................40
SVTH: Võ Chinh Phục Trang 4
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
Chương 1
GIỚI THIỆU MULTICAST
1.1. Giới Thiệu
IP Multicast là giao thức dùng để truyền gói tin IP từ một nguồn đến nhiều đích
khác nhau trong mạng LAN hay WAN. Nhóm những thành viên muốn nhận thông tin
này thì phải tham gia vào một nhóm Multicast. Với IP Multicast, ứng dụng gửi một bản
sao của thông tin đến một nhóm. Thông tin này đến tất cả những người nào muốn nhận
nó.
Kĩ thuật Multicast đánh địa chỉ các gói là địa chỉ nhóm thay vì địa chỉ của từng
người nhận; Các gói tin này phụ thuộc vào các mạng chuyển tiếp để chuyển đến mạng
cần nhận nó. Multicast là kĩ thuật đẩy thông tin, trong đó một máy chủ sẽ gửi dữ liệu
đến người sử dụng mà không cần người sử dụng phải yêu cầu trước.
Chuẩn IP Multicast hỗ trợ hàng ngàn người có thể nhận thông tin đồng thời mà
không ảnh hưởng đến băng thông chung. Thêm vào đó, giao thức định tuyến IP
multicast cung cấp một phương thức truyền hiệu quả cho dữ liệu từ một nguồn đi qua
các mạng khác nhau và không đồng nhất như là Internet. Nếu các thiết bị mạng hỗ trợ
Multicast, chỉ cần gửi một gói tin duy nhất vào mạng cho nhiều người nhận.
1.2. Multicast trên các lớp
Multicast có thể được cài đặt trên cả hai lớp data-link và network. Tại lớp data-
link các giao thức Ethernet, FDDI, và token ring hỗ trợ địa chỉ Multicast trong các
trường mở rộng. Multicast tại lớp data-link chỉ được giới hạn trong các ứng ụng tại một
mạng LAN.
Tuy nhiên, multicast cũng có thể được sử dụng tại lớp network nếu các ứng
dụng multicast mở rộng ra khỏi mạng LAN hoặc phát triển trên nền Internet bao gồm
các môi trường truyền khác nhau và các cấu trúc mạng khác nhau. Multicast được thực
hiện ở lớp này bởi vì các lí do sau:
- Quá trình chuyển đổi địa chỉ tại ISO/OSI Layer 3-to-Layer 2
- Một máy tính thuộc một nhóm có thể đăng kí với router để chuyển tiếp thông
tin nhóm đến nó.RFC 1112 định nghĩa IGMP. IGMP chỉ rõ phương thức mà một nút
mạng thông báo cho mạng biết nó là thành viên của một nhóm multicast.
SVTH: Võ Chinh Phục Trang 5
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
Multicast còn được hỗ trợ trong quá trình định tuyến thông qua liên lạc giữa các
router với nhau. Có một số chuẩn cho việc truyền multicast như sau:
- RFC 1075 định nghĩa Distance Vector Multicast Routing Protocol (DVMRP)
- RFC 1584 định nghĩa giao thức Multicast Open Shortest Path First
(MOSPF), một sự mở rộng của OSPF và hỗ trợ IP Multicast.
- RFC 2117 định nghĩa giao thức Protocol Independent Multicast-Sparse
Mode (PIM-SM).
1.3. Địa chỉ Multicast
Một địa chỉ multicast cho phép truyền các gói tin tới một tập hợp các thành viên
của cùng một nhóm. Một địa chỉ multicast định danh một nhóm các máy hoặc giao tiếp
mạng đại diện cho một nhóm là một địa chỉ lớp D.
Trong gói tin multicast địa chỉ đích đến trong trường địa chỉ của gói tin IP luôn
là địa chỉ lớp D và có giá trị trong khoảng 224.0.0.0 – 239.255.255.255
Trong lớp này 256 địa chỉ đầu tiên được dùng cho mục đích quản lí và các
thành phần cấp thấp trong thao tác. Khoảng địa chỉ giữa được sử dụng cho các ứng
dụng multicast trong nhóm, intranet hoặc Internet.Khoảng trên của lớp D được sử dụng
cho các các thao tác quản lí cục bộ hoặc các ứng dụng multicast đặc biệt.
Khi một router trong một subnet nhận được một gói tin multicast lớp 3, nó có
thể ánh xạ một địa chỉ IP multicast này thành một địa chỉ multicast lớp 2, có thể là một
địa chỉ Ethernet MAC. Tại nơi nhận thiết bị giao tiếp mạng có thể dễ dàng đọc địa chi
lớp 2 này bằng phần cứng. Nếu địa chỉ nhận được là địa chỉ Multicast thì gói tin sẽ
được chuyển tiếp lên lớp trên.
Ánh xạ IP Multicast đến địa chỉ Ethernet MAC
Khối địa chỉ Ethernet MAC bắt đầu với địa chỉ 01:00:5E dạng thập lục phân.
Trong khoảng từ 0100.5e00.0000 đến 0100.5e7f.ffff là địa chỉ dành cho IP Multicast.
Quá trình chuyển đổi địa chỉ từ IP qua địa chỉ lớp 2 xảy ra bằng cách ánh xạ
trực tiếp địa chỉ IP tới địa chỉ MAC Ehernet, lấy 23 bit trọng số thấp trong địa chỉ IP
chuyển thành 23 bit có trọng số thấp trong địa chỉ Ethernet.
SVTH: Võ Chinh Phục Trang 6
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
Bởi vì có 5 bit của địa chỉ IP bị mất trong quá trình ánh xạ, do đó địa chỉ nhận
được không phải là duy nhất. Trong thực tế, 32 nhóm địa chỉ IP được ánh xạ vào cùng
một địa chỉ Ethernet.
Địa chỉ 224.1.1.1 và 225.1.1.1 cùng ánh xạ vào địa chỉ MAC. Nếu một máy
đăng ký vào nhóm A (224.1.1.1) và một máy khác đăng ký vào nhóm B (225.1.1.1), thì
chúng sẽ nhận được cả hai thông điệp từ A và B. Trong trường hợp này tính hiệu quả
của multicast bị giới hạn.
Quá trình định tuyến
Gửi thông tin chỉ cần một lần duy nhất tới nhiều người có thể tiết kiệm rất nhiều
băng thông. Các thông điệp chỉ được nhân bản khi đi qua các router, và chỉ xảy ra khi
router đó là router chuyển tiếp thay router có chứa nhóm cần gửi.
Các router có khả năng multicast chỉ chuyển tiếp các gói tin multicast khi mà có
các máy thuộc nhóm multicast nằm trong mạng của nó. Các máy sử dụng giao thức
IGMP để thông báo cho router biết các nhóm multicast nào mà nó tham gia. Nếu các
thành viên của nhóm trong cùng một phân đoạn mạng đều rời khỏi nhóm đó thì router
sẽ không chuyển tiếp các gói tin đến phân đoạn mạng này nữa.
Router chỉ nhân bản gói tin IP multicast khi có quá trình rẽ nhánh trong đường
đi, còn lại các trường hợp khác router chỉ gửi một gói tin duy nhất cho mỗi mạng.
Các giao thức định tuyến cho multicast như: DVMRP, MOSPF, và PIM.
SVTH: Võ Chinh Phục Trang 7
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
1.4. IGMP
Làm thế nào một router biết được các máy cần nghe multicast traffic? Để nhận
multicast traffic 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
host 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 (Internet Group
Management Protocol).
- IGMPv1 được định nghĩa trong RFC1112
- IGMPv2 được định nghĩa trong RFC2236.
i. IGMPv1
Khuôn dạng thông điệp
- Version: Xác định phiên bản của IGMP được gán bằng 1.
- Type: Loại thông điệp, trong IGMPv1 thì có 2 loại thông điệp được sử dụng
giữa host và router:
Membership Report: Thông điệp đăng ký tham gia vào nhóm multicast
được gởi từ host đến router.
Membership Query: Thông điệp truy vấn được gởi từ router đến các
host để kiểm tra xem các host có muốn nhận multicast traffic hay không.
- Checksum: Trường này gồm 16 bit, và chứa tổng số bit của thông điệp.
- Group Address: Trường này chứa địa chỉ nhóm multicast khi thông điệp
Membership Report được gởi, bằng không khi dùng trong thông điệp
Membership Query.
Quá trình Query-Response
IGMP sử dụng mô hình truy vấn – trả lời (Query - Response) cho phép các
router multicast xác định nhóm multicast hoạt động (có host tham gia vào nhóm
multicast) trên nhánh mạng.
SVTH: Võ Chinh Phục Trang 8
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
Trong mô hình này, Host H1, H2 đăng ký vào nhóm multicast 224.1.1.1, host
H3 đăng ký vào nhóm multicast 224.2.2.2 . Router A là IGMPv1 Querier và chức năng
của nó là gởi thông điệp Membership Query đến tất cả các host trong nhánh mạng.
Router B chỉ lắng nghe và ghi nhận việc trả lời từ các host.
1. Cứ mỗi 60 giây, Router A gởi thông điệp Membership Query đến tất cả các
host trên nhánh mạng.
2. Tất cả router sẽ nhận được thông điệp này, và các host(H2) đã đăng ký vào
nhóm multicast phải trả lời lại bằng thông điệp Membership Report, thông báo cho
router biết rằng trên nhánh mạng có host muốn nhận gói tin từ nhóm 224.1.1.1.
3. Host H1 cũng lắng nghe đến nhóm 224.1.1.1, do đó nó biết được H2 đã gởi
thông điệp Membership Report đến router, và hủy(suppress) thông điệp của nó. Cơ chế
này (Report Suppression) làm giảm được lưu lượng trên nhánh mạng.
4. Host H3 cũng nhận được thông điệp Membership Query và nó cũng trả lời lại
thông điệp Membership Report đến nhóm mà nó đã đăng ký 224.2.2.2.
Kết quả của quá trình Query-Response là Router A biết được các máy muốn
nhận gói tin từ nhóm 224.1.1.1 và 224.2.2.2 trên nhánh mạng. Ngoài ra, Router B cũng
lắng nghe được trên toàn bộ quá trình và cũng biết các thông tin như router A.
Cơ chế Report Suppression
Cơ chế giúp giảm số lưu lượng IGMP trên một nhánh mạng đến mức tối thiểu.
- Khi một host nhận thông điệp Membership Query, host bắt đầu đếm ngược
thời gian trả lời (report-timer) đối với nhóm multicast mà nó tham gia vào. Mỗi report-
timer được khởi tạo ngẫu nhiên từ 0 đến thời gian trả lời tối đa. Mặc định là 10 giây.
- Sau thời gian đó, host gởi thông điệp Membership Report kết hợp với report-
timer đến nhóm multicast.
SVTH: Võ Chinh Phục Trang 9
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
- Nếu host nghe một host khác gởi thông điệp Membership Report, thì nó hủy
thông điệp Membership Report và report – timer. Bằng cách đó, triệt tiêu được việc gởi
thông điệp đến nhóm multicast.
IGMPv1 Querier
Nếu tất cả router trên một nhánh mạng đều gởi thông điệp Membership Query
thì gây ra lãng phí băng thông mạng. Do đó cần phải có 1 router là IGMPv1 Querier.
IGMPv1 dựa trên các giao thức định tuyến (PIM, DVMRP, …) để chỉ định 1 router
(Designated Router) cho nhánh mạng.
Các host có thể gởi một hay nhiều thông điệp Membership Report (unsolicited
report) tham gia vào các nhóm multicast ở bất kỳ thời điểm nào mà không cần phải chờ
thông điệp Membership Query kế tiếp từ router.
IGMPv1 không có cơ chế để cho phép một host rời khỏi một nhóm, khi host đó
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 nó không còn thuộc về một nhóm multicast, nếu router
không nhận được 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 multicast traffic 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 traffic nữa.
Ngoài ra, do cơ chế Report Suppression nên các router không giữ một danh sách
đầy đủ các host 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 đang tồn tại trên những cổng của nó.
ii. IGMPv2
Khuôn dạng thông điệp
- Type: Trong IGMPv2 có 4 loại thông điệp được sử dụng giữa host và router
Membership Query (0x11): có hai dạng:
+ General Query: Dùng để xác định các nhóm multicast hoạt động.
General Query được biểu thị bởi giá trị 0 trong Group Address.
SVTH: Võ Chinh Phục Trang 10
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
+ Group-Specific Query: Dùng để xác định một nhóm multicast cụ thể
chứa các thành viên. Group-Specific Query chứa địa chỉ của nhóm đang được
truy vấn.
Version 1 Membership Report (0x12): Loại thông điệp này dùng để
tương thích với phiên bản IGMPv1.
Version 2 Membership Report (0x16)
Leave Group (0x17): Loại thông điệp này được dùng khi một host muốn
rời khỏi nhóm multicast.
- Maximum Response Time: Chỉ dùng trong thông điệp Membership Query, nó
chỉ định thời gian tối đa (đơn vị 1/10 giây) mà 1 host có thể chờ để trả lời 1 thông điệp
truy vấn. Giá trị mặc định là 100 (10 giây).
- Checksum: Trường này gồm 16 bit, và chứa tổng số bit của thông điệp.
- Group Address: Khi một thông điệp General Query được gởi đi, trường này
được gán giá trị là 0 để phân biệt với thông điệp Group-Specific Query. Khi thông điệp
Membership Report hoặc Leave Group gởi đi thì trường này chứa giá trị nhóm
multicast được gởi đến.
Quá trình Leave
Nhờ thông điệp Leave Group, Group-Specific Query và Maximum Response
Time mà IGMPv2 giảm được việc các router vẫn gửi truy vấn đến các nhánh mạng dù
các host không quan tâm đến gói multicast.
Trong mô hình này host H2, H3 đang là thành viên của nhóm 224.1.1.1, host H2
muốn rời khỏi nhóm:
- H2 gởi thông điệp Leave Group đến địa chỉ all-router (224.0.0.2) thông báo
cho tất cà các router trên nhánh mạng biết nó muốn rời khỏi nhóm.
SVTH: Võ Chinh Phục Trang 11
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
- Router A (IGMP Query Router) lắng nghe thông điệp Leave Group từ host
H2. Tuy nhiên, Router A chỉ lưu danh sách các nhóm thành viên hoạt động trên nhánh
mạng (không có host nào cụ thể). Do đó, Router A gởi thông điệp Group-Specific
Query để xác định host đến nhóm 224.1.1.1
- Host H3 vẫn là thành viên của nhóm 224.1.1.1, do đó nó nhận thông điệp và
trả lời lại bằng thông điệp Membership Report thông báo cho router biết rằng trên
nhánh mạng vẫn còn Host tham gia vào nhóm.
Host H3 là thành viên cuối cùng của nhóm 224.1.1.1, và bây giờ H3 cũng muốn
rời khỏi nhóm:
- H3 gởi thông điệp Leave Group đến địa chỉ all-router (224.0.0.2)
- Router A lắng nghe thông điệp Leave Group từ host H3 và gởi thông điệp
Group-Specific Query để xác định host đến nhóm 224.1.1.1
- Và bây giờ không còn thành viên nào trong nhóm 224.1.1.1 trên nhánh mạng.
Do đó, không có host trả lời thông điệp Group-Specific Query. Router A đợi 1 giây, sau
đó lại gởi một thông điệp khác mà vẫn không nhận được thông điệp trả lời. Lúc này,
Router ngừng việc chuyển gói tin multicast đến nhánh mạng này.
IGMP Query Router
Không như phiên bản IGMPv1 phải phụ thuộc vào các giao thức định tuyến,
IGMPv2 sử dụng địa chỉ IP trong thông điệp General Query để chọn IGMP Query
Router
SVTH: Võ Chinh Phục Trang 12
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
- Các router gởi thông điệp General Query đến tất cả các router còn lại trong
mạng (224.0.0.1) kèm theo địa chỉ cổng của nó trong trường địa chỉ Source IP của
thông điệp.
- Khi một router nhận được thông điệp General Query, router sẽ so sánh địa chỉ
Source IP với địa chỉ cổng của nó. Router có địa chỉ IP nhỏ nhất trên nhánh mạng được
chọn là IGMP Query Router.
- Cứ sau 250s (querier-timer) các router lại thực hiện quá trình chọn ra 1 IGMP
Query Router mới.
iii. IGMPv3
IGMP v3 là một dự thảo sơ bộ. Nó giới thiệu bổ sung bản tin Group - Source
Report cho phép một host có thể quyết định nhận lưu lượng từ các nguồn riêng biệt của
một nhómMulticast.
Một bản tin Group - Source Report cho phép một host chỉ ra địa chỉ IP của các
nguồn riêng biệt mà nó muốn nhận. Một bản tin Exclusion Group - Source Report cho
phép một host nhận dạng chính xác các nguồn mà nó không muốn nhận. Cuối cùng,
bản tin Leave Group đã giới thiệu trong IGMPv2 đã nâng cao thành bản tin Group-
Source Leave.
Đặc điểm này cho phép một host dời khỏi toàn bộ nhóm hay chỉ ra các địa chỉIP
riêng biệt của cặp (nguồn, nhóm) mà nó muốn rời khỏi.
1.5. Cây Phân Phối
Các router hỗ trợ multicast tạo ra các cây phân phối để quản lý các con đường
của lưu lượng IP multicast đến tất cả các máy nhận. Hai loại cây phân phối cơ bản là
cây nguồn (Source tree) và cây chia sẻ (Shared tree).
1.5.1 Source Tree
Cây nguồn là dạng cây phân phối đơn giản nhất với gốc là nguồn dữ liệu
multicast và các nhánh là đường dẫn tới máy nhận dữ liệu. Do loại cây này sử dụng
đường đi ngắn nhất nên còn có tên là SPT (Shortest Path Tree).
Mô hình sau là ví dụ một SPT đối với nhóm 224.1.1.1 có gốc là nguồn gởi Host
A, và các máy nhận Host B, C.
SVTH: Võ Chinh Phục Trang 13
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
Kí hiệu (S,G) là một SPT trong đó S là địa chỉ IP của nguồn và G là địa chỉ
nhóm multicast, như trong hình sẽ là (192.1.1.1, 224.1.1.1).
(S,G) có nghĩa là một SPT riêng biệt tồn tại cho mỗi nguồn gởi đến mỗi nhóm.
Chẳng hạn như host B cũng gởi lưu lượng đến nhóm 224.1.1.1 và host A và C là các
máy nhận, thì tồn tại một SPT và được ký hiệu (192.2.2.2, 224.1.1.1).
1.5.2 Shared Tree
Không có gốc từng nguồn như các cây nguồn, các cây chia sẻ sử dụng một gốc
chung duy nhất tại một điểm đã chọn trên mạng. Gốc của cây chia sẻ được gọi là điểm
hẹn (RP, Rendezvous Point).
Trong mô hình sau là ví dụ shared tree đối với nhóm 224.2.2.2 với gốc được chỉ
định tại Router D. Khi sử dụng cây chia sẻ, nguồn phải gửi lưu lượng của nó tới gốc và
sau đó lưu lượng này được chuyển tiếp theo các nhánh của cây đến các máy nhận dữ
liệu.
SVTH: Võ Chinh Phục Trang 14
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
Trong ví dụ này, lưu lượng multicast từ nguồn gởi host A và host D đến gốc
(Router D) sau đó xuống shared tree đến các host nhận B và C. Bởi vì tất cả các nguồn
trong nhóm multicast sử dụng một shared tree, do đó kí hiệu (*, G) đại diện cho cây.
Trong đó, * có nghĩa là tất cả các nguồn (all sources) và G đại diện cho một nhóm
multicast. Do đó, trong ví dụ shared tree được ký hiệu là (*, 224.2.2.2).
Do các thành viên của nhóm có thể tham gia hoặc rời khỏi nhóm bất cứ lúc nào
nên các cây phân phối phải cập nhật động.
Giải pháp sử dụng source tree có ưu điểm tạo ra đường dẫn tối ưu giữa nguồn
dữ liệu và các host nhận dữ liệu, giảm thiểu sự trễ khi truyền dẫn các lưu lượng
multicast. Tuy nhiên, các router phải duy trì các thông tin về đường dẫn cho từng
nguồn. Với mạng có hàng ngàn nguồn dữ liệu và hàng ngàn nhóm thì vấn đề sẽ trở nên
nghiêm trọng đối với các router đặc biệt là vấn đề tiêu thụ không gian lưu trữ các bảng
định tuyến multicast.
Giải pháp sử dụng shared tree không gặp phải vấn về bộ nhớ cần thiết cho bảng
định tuyến nhưng trong một số trường hợp cụ thể đường dẫn giữa nguồn và đích không
tối ưu gây trễ trong quá trình phân phát dữ liệu. Lựa chọn điểm hẹn là vấn đề quan
trọng nhất khi áp dụng giải pháp này cho mạng multicast.
SVTH: Võ Chinh Phục Trang 15
GVHD: Dương Thiên Tứ Tìm hiểu Multicast
Chương 2
CÁC GIẢI THUẬT ĐỊNH TUYẾN MULTICAST
2.1. Giải thuật Flooding
Trong giải thuật này khi router nhận được một gói multicast, đầu tiên nó kiểm
tra xem gói tin này đã nhận được trước đó chưa.
- Nếu là lần đầu tiên, router sẽ gởi gói tin đến tất cả các cổng của nó, ngoại trừ
cổng mà đã gởi gói tin đến.
- Nếu gói tin đã được nhận, router sẽ loại bỏ gói tin này. Bằng cách này, chắc
chắn rằng tất cả các router sẽ nhận được ít nhất là một gói tin.
: (Source ) nguồn gởi.
: Router.
: Nhánh mạng con có tham gia vào nhóm (Group members).
: Nhánh mạng con không tham gia vào nhóm.
: Đường chuyển gói chấp nhận
: Đường các gói bị loại bỏ
Mặc dù giải thuật này đơn giản nhưng có một số bất lợi. Giải thuật flooding tạo
ra một số lượng lớn các gói trùng lắp và lãng phí băng thông mạng. Hơn nữa, để các
router nhận biết được một gói mà nó nhận được có phải là lần đầu hay không, nó cần
phải lưu lại các gói mà đã nhận trước đó, gây tốn bộ nhớ của router.
SVTH: Võ Chinh Phục Trang 16