MỤC LỤC
DANH MỤC HÌNH VẼ 1
THUẬT NGỮ VIẾT TẮT 3
LỜI NÓI ĐẦU 5
CHƢƠNG I: IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN 6
1.1 Giới thiệu về IP Multicast 6
1.1.1 Truyền thông Unicast 6
1.1.2 Truyền thông Broadcast 6
1.1.3 Truyền thông Multicast 7
1.2 Triển khai Multicast 8
1.2.1 Nhóm Multicast 8
1.2.2 Đƣờng hầm Multicast 8
1.2.3 Vấn đề địa chỉ trong IP Multicast 9
1.2.3.1 Địa chỉ IP Multicast 9
1.2.3.2 Ánh xạ địa chỉ IP multicast sang địa chỉ MAC 11
1.2.4 Chuyển tiếp lƣu lƣợng Multicast 12
1.2.4.1 Cây nguồn (source tree) 12
1.2.4.2 Cây chia sẻ (shared-tree) 14
1.3 Giao thức quản lý nhóm IGMP 15
1.3.1 IGMP v1 16
1.3.2 IGMP v2 17
1.3.3 IGMP v3 19
1.4 Định tuyến trong IP Multicast 19
1.4.1 Các thuật toán trong định tuyến IP Multicast 20
1.4.1.1 Flooding 20
1.4.1.2 Cây mở rộng (Spanning Tree) 21
1.4.1.3 RPB (Reverse Path Broadcasting) 21
1.4.1.4. TRPB (Truncated Reverse Path Broadcasting) 22
1.4.1.5 RPM (Reverse Path Multicasting) 23
1.4.1.6 Core-Based Trees 24
1.4.2 Các giao thức định tuyến IP Multicast 25
1.4.2.1 PIM 25
1.4.2.2 DVMRP 29
1.4.2.3 MOSPF 33
CHƢƠNG II: ỨNG DỤNG IP MULTICAST VỚI IPTV 39
2.1 Giới thiệu về IPTV 39
2.1.1 Lịch sử phát triển IPTV 39
2.1.2 Khái niệm IPTV 39
2.1.3 Sự khác biệt giữa IPTV và truyền hình Internet 40
2.1.4 Một số đặc tính của IPTV 41
2.2 Tổ chức mạng cung cấp dịch vụ IPTV 42
2.2.1 Cơ sở hạ tầng mạng IPTV 42
2.2.2 Kiến trúc hệ thống cung cấp dịch vụ IPTV 43
2.2.3 Phƣơng pháp truyền nội dung IPTV 46
2.2.4 Các giao thức sử dụng trong truyền tải nội dung IPTV 47
2.3 Các thiết bị phần cứng trong mạng IPTV 51
2.3.1 Thiết bị phần cứng trung tâm Headend 51
2.3.1.1 Thiết bị tiếp nhận dữ liệu đầu vào 52
2.3.1.2 Bộ mã hóa video MPEG 53
2.3.1.3 Bộ đóng gói IP 54
2.3.1.4 Bộ chuyển đổi mã video 54
2.3.1.5 Server quản lý nội dung 54
2.3.1.6 Kho video 55
2.3.1.7 Video streaming server 55
2.3.1.8 Middleware server 55
2.3.2 Thiết bị mạng gia đình 57
2.3.2.1 Mạng gia đình 57
2.3.2.2 Bộ giải mã IP – STB 58
2.4 Các dịch vụ và ứng dụng của IPTV 60
2.4.1 Truyền hình quảng bá kỹ thuật số 60
2.4.2 Video theo yêu cầu VoD 61
2.4.3 Các dịch vụ quảng cáo 61
2.5 Tình hình triển khai IPTV tại Việt Nam 62
2.5.1 Nhu cầu sử dụng dịch vụ IPTV tại Việt Nam 62
2.5.2 Tình hình triển khai IPTV của FPT 63
2.5.3 Tình hình triển khai IPTV của VTC 64
2.5.4 Tình hình triển khai IPTV của VNPT 64
CHƢƠNG III: XÂY DỰNG ỨNG DỤNG GROUP CHAT 66
3.1 Giới thiệu 66
3.1.1 Giới thiệu ngôn ngữ lập trình Java 66
3.1.2 IP multicast trong Java 68
3.2 Phân tích thiết kế ứng dụng Group Chat 69
3.2.1 Mô tả ứng dụng 69
3.2.2 Mô hình chức năng và hoạt động của chƣơng trình 70
3.3 Kết quả 71
KẾT LUẬN 73
TÀI LIỆU THAM KHẢO 74
1
DANH MỤC HÌNH VẼ
Hình 1.1: Minh họa truyền thông Unicast Error! Bookmark not defined.
Hình 1.2: Minh họa truyền thông Broadcast Error! Bookmark not defined.
Hình 1.3: Minh họa truyền thông Multicast Error! Bookmark not defined.
Hình 1.4: Minh họa đƣờng hầm Multicast Error! Bookmark not defined.
Hình 1.5: Minh họa đƣờng hầm Multicast Error! Bookmark not defined.
Hình 1.6: Chuyển đổi địa chỉ IP Multicast thành địa chỉ Ethernet/FDDI Error!
Bookmark not defined.
Hình 1.7: Ví dụ về cây nguồn Error! Bookmark not defined.
Hình 1.8: Ví dụ IPTV đơn giản sử dụng SPT Error! Bookmark not defined.
Hình 1.9: Minh họa sự thay đổi các nhánh trên thực tế Error! Bookmark not defined.
Hình 1.10: Ví dụ về cây phân phối chia sẻ Error! Bookmark not defined.
Hình 1.11: Định dạng của bản tin IGMP Error! Bookmark not defined.
Hình 1.12: Minh họa bản tin Membership Query Error! Bookmark not defined.
Hình 1.13: Định dạng của bản tin IGMPv2 Error! Bookmark not defined.
Hình 1.14: Quá trình rời khỏi nhóm IGMPv2 Error! Bookmark not defined.
Hình 1.15: Minh họa cây mở rộng Error! Bookmark not defined.
Hình 1.16: Minh họa cây RPB Error! Bookmark not defined.
Hình 1.17: Minh họa thuật toán TRPB Error! Bookmark not defined.
Hình 1.18: Minh họa thuật toán RPM Error! Bookmark not defined.
Hình 1.19: Minh họa thuật toán CBT Error! Bookmark not defined.
Hình 1.20: Định dạng bản tin PIM Error! Bookmark not defined.
Hình 1.21: Minh họa quá trình thiết lập cây broadcast rút gọn Error! Bookmark not
defined.
Hình 1.22: Cây broadcast rút gọn của mạng nguồn S1 thu đƣợc Error! Bookmark not
defined.
Hình 1.23: Cây broadcast rút gọn của mạng nguồn S2 thu đƣợc Error! Bookmark not
defined.
Hình 1.24: Flooding các gói multicast (S,G) qua TBT . Error! Bookmark not defined.
Hình 1.25: Minh họa quá trình rút gọn Error! Bookmark not defined.
Hình 1.26: Minh họa trạng thái rút gọn cuối cùng Error! Bookmark not defined.
Hình 1.27: Minh họa định tuyến nội vùng Error! Bookmark not defined.
Hình 1.28 : Minh họa thiết lập đƣờng truyền liên vùng Error! Bookmark not defined.
2
Hình 1.29: Minh họa quá trình truyền liên vùng Error! Bookmark not defined.
Hình 1.30: Minh họa định tuyến liên miền Error! Bookmark not defined.
Hình 1.31: Hạn chế của định tuyến liên miền Error! Bookmark not defined.
Hình 2.1: Các thành phần của mạng IPTV Error! Bookmark not defined.
Hình 2.2: Mô hình kiến trúc hệ thống cung cấp dịch vụ IPTV Error! Bookmark not
defined.
Hình 2.3: Minh họa kỹ thuật multicast trong IPTV Error! Bookmark not defined.
Hình 2.4: Minh họa tiêu đề gói tin UDP Error! Bookmark not defined.
Hình 2.5: Tiêu đề bản tin RTP Error! Bookmark not defined.
Hình 2.6: Minh họa giao thức RTSP Error! Bookmark not defined.
Hình 2.7: Cấu trúc trung tâm Headend IPTV Error! Bookmark not defined.
Hình 2.8: Cấu trúc hệ thống Middleware IPTV Error! Bookmark not defined.
Hình 2.9: Cấu trúc IP – STB Error! Bookmark not defined.
Hình 2.10: Minh họa tiến trình xử lý của IP - STP Error! Bookmark not defined.
Hình 3.1: Kiến trúc multicast peer-to-peer 70
Hình 3.2: Mô tả hoạt động của chƣơng trình Group Chat: 71
Hình 3.3: Mô tả hoạt động của ứng dụng Group Chat 71
Hình 3.4: Ứng dụng Group Chat viết bằng Java 72
3
THUẬT NGỮ VIẾT TẮT
ABR
Area Border Router
Router biên vùng
ADLS
Asymmetric Digital Subcriber
Line
Đƣờng dây thuê bao số bất đối xứng
AS
Autonomous System
Hệ thống tự trị
BRAS
Broadband Remote Access Server
Khối truy nhập từ xa băng rộng
CAS
Conditional Access System
Hệ thống truy cập có điều kiện
CBT
Core-Based Tree
Cây phân phối theo gốc
CPU
Central Processing Unit
Đơn vị xử lý trung tâm
DHCP
Dynamic Host Configuration
Protocol
Giao thức cấu hình host động
DR
Desinated Router
Router bổ nhiệm
DRM
Digital Rights Management
Quản lý quyền nội dung số
DSL
Digital Subcriber Line
Đƣờng dây thuê bao số
DSLAM
Digital Subcriber Line Access
Multiplexer
Thiết bị tập trung thuê bao số
DVMRP
Distance Vector Multicast Routing
Protocol
Giao thức định tuyến vector khoảng
cách cho multicast
FDDI
Fiber Distributed Data Interface
Giao diện phân phối dữ liệu qua cáp
quang
HTTP
Hyper Text Transfer Protocol
Giao thức truyền tải siêu văn bản
HTTPS
Secure Hyper Text Transfer
Protocol
Giao thức HTTP bảo mật
IETF
Internet Engineering Task Force
Lực lƣợng quản lý kỹ thuật Internet
IGMP
Internet Group Management
Protocol
Giao thức quản lý nhóm
IP
Internet Protocol
Giao thức Internet
IPTV
Internet Protocol Television
Truyền hình giao thức Internet
IPTVCD
IPTV Cunsumer Device
Thiết bị khách hàng IPTV
IRD
Integrated Receiver Decoder
Bộ giải mã đầu thu tích hợp
ITU – T
International Telecommunications
Union – Telecommunication
Tổ chức viễn thông quốc tế về các
tiêu chuẩn viễn thông
LAN
Local Area Network
Mạng cục bộ
LAS
Summary Membership LSA
LSA thành viên tóm tắt
LSA
Link – State Advertisement
Quảng bá trạng thái liên kết
MDP
Multicast Distribution Protocol
Giao thức phân phối multicast
MPEG
Moving Picture Experts Group
Nhóm chuyên gia về ảnh động
MPLS
Multi – Protocol Label Switching
Chuyển mạch nhãn đa giao thức
MOSPF
Multicast Open Shortest Part First
Giao thức OSPF cho multicast
NTSC
National Television System
Ủy ban hệ thống truyền hình quốc
gia Mỹ
PIM
Protocol – Independent Multicast
Giao thức multicast độc lập
PIM – DM
PIM Dense Mode
Giao thức PIM kiểu tập chung
PIM – SM
PIM Sparse Mode
Giao thức PIM kiểu phân tán
PSTN
Public Switched Telephone
Network
Mạng điện thoại chuyển mạch công
cộng
OSPF
Open Shortest Part First
Giao thức định tuyến OSPF
4
RIP
Routing Information Protocol
Giao thức định tuyến RIP
RP
Rendezvous Point
Điểm quy định
RPB
Reverse Path Broadcasting
Quảng bá tuyến đƣờng nghịch đảo
RPF
Reverse Path Forward
Chuyển tiếp tuyến đƣờng nghịch
đảo
RPM
Reverse Path Multicasting
Tuyến đƣờng multicast nghịch đảo
TCP
Transport Control Protocol
Giao thức điều khiển truyền tải
TCP/IP
Transmission Control
Protocol/Internet Protocol
Giao thức điều khiển vận chuyển
trên nền IP
TRPB
Truncated Reverse Path
Broadcasting
Cắt bỏ tuyến đƣờng nghịch đảo
đang quảng bá
TTL
Time to Live
Thời gian sống
SPF
Shortest Path First
Tuyến đƣờng ngắn nhất đầu tiên
SPT
Shortest Path Tree
Cây tuyến đƣờng ngắn nhất
STB
Set – Top Box
Bộ giải mã
SSL
Secure Socket Layer
Tầng Socket bảo mật
UDP
User Datagram Protocol
Giao thức lƣợc đồ ngƣời sử dụng
VCR
Video Cassette Recorder
Đầu ghi video
VLAN
Virtual Local Area Network
Mạng LAN ảo
VoD
Video on Demand
Video theo yêu cầu
WAN
Wide Area Network
Mạng diện rộng
5
LỜI NÓI ĐẦU
Ngày nay hạ tầng mạng viễn thông đã phát triển với tốc độ chóng mặt và việc trao
đổi thông tin trên mạng là điều tất yếu. Cùng với tốc độ phát triển là sự ra đời của
nhiều công nghệ mạng, nhiều kỹ thuật truyền tải giúp cho việc trao đổi dữ liệu trên
mạng đƣợc nhanh chóng, chính xác và hiệu quả. Multicast ra đời cũng nhằm phục vụ
cho một trong những mục đích trên. Với ƣu điểm tiết kiệm băng thông, giảm tải cho
mạng, IP multicast là một sự thay thế tốt cho phƣơng thức truyền unicast khi mà các
công ty cần chuyển thông tin đến nhiều khách hàng trong cùng một thời điểm.
Cùng với việc nghiên cứu của bản thân và sự hƣớng dẫn của TS. Nguyễn Chiến
Trinh em đã thực hiện đồ án: “Nghiên cứu IP multicast và các ứng dụng”. Mục đích
của đồ án là đi sâu vào nghiên cứu nguyên tắc hoạt động cũng nhƣ các giao thức định
tuyến trong IP multicast. Qua đó phân tích và phát triển ứng dụng của IP multicast
trong ICT. Nội dung của đồ án bao gồm:
Chƣơng 1: IP multicast và các vấn đề liên quan
Chƣơng 2: Ứng dụng IP multicast với IPTV
Chƣơng 3: Xây dựng ứng dụng Group chat
Do hạn chế về thời gian cũng nhƣ kiến thức nên chắc rằng đồ án của em vẫn còn
nhiều thiếu sót. Em mong nhận đƣợc các ý kiến đóng góp từ phía thầy cô và các bạn
để đề tài đƣợc hoàn thiện hơn.
Em xin đƣợc gửi lời cảm ơn chân thành đến các thầy cô giáo trong khoa Viễn
thông, các thầy cô trong Viện Khoa học Kỹ thuật Bƣu điện, đặc biệt là thầy giáo TS.
Nguyễn Chiến Trinh, thầy đã tận tình hƣớng dẫn em hoàn thiện đồ án này. Em cũng
xin đƣợc gửi lời cảm ơn đến gia đình, bạn bè đã quan tâm và giúp đỡ em trong suốt
thời gian làm đồ án.
Hà nội, ngày 05 tháng 12 năm 2010
Sinh viện thực hiện
Nguyễn Văn Hƣng
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 6
CHƢƠNG I
IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
1.1 Giới thiệu về IP Multicast
IP Multicast là một chuẩn mở của IETF dùng để truyền dẫn các gói dữ liệu IP từ
một nguồn đến nhiều đích trong một mạng LAN hay WAN. Các host tham gia vào
một nhóm Multicast và các ứng dụng chỉ gửi một bản sao của gói tin cho một địa chỉ
nhóm. Gói tin này chỉ gửi đến những điểm muốn nhận đƣợc lƣu lƣợng đó. Việc gửi
bản tin Unicast và Broadcast là các trƣờng hợp đặc biệt của phƣơng pháp Multicast.
Truyền Multicast cải thiện đáng kể hiệu suất, thƣờng sử dụng băng thông nhỏ hơn
truyền truyền đơn trên mạng, và cho phép xây dựng ứng dụng phân tán hợp lý.
1.1.1 Truyền thông Unicast
Truyền thông Unicast, hay còn gọi là truyền thông điểm - điểm. Trong hình thức
truyền thông này, nhiều host muốn nhận gói tin từ một bên gửi thì bên đó phải truyền
nhiều gói tin đến các bên nhận. Điều này sẽ dẫn đến gia tăng băng thông khi có quá
nhiều bên nhận và không hiệu quả về nguồn và bộ đệm.
Hình 1.1: Minh họa truyền thông Unicast
1.1.2 Truyền thông Broadcast
Truyền thông Broadcast cho phép truyền gói tin từ một host tới tất cả các host khác
trên subnet mà không quan tâm đến việc một số host không có nhu cầu nhận gói tin
Các gói tin cho Host B
Các gói tin cho Host D
Host B
Host A
Host C
Host D
Host E
Các gói tin cho Host E
Nguồn
Server
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 7
đó. Kiểu truyền thông này đƣợc coi nhƣ là một sát thủ băng thông do việc sử dụng tài
nguyên không hiệu quả.
Hình 1.2: Minh họa truyền thông Broadcast
1.1.3 Truyền thông Multicast
Hình 1.3: Minh họa truyền thông Multicast
Một địa chỉ Multicast cho phép phân phối gói tin tới một tập hợp các host đã đƣợc
cấu hình nhƣ những thành viên của một nhóm Multicast trong các subnet phân tán
khác nhau. Đây là phƣơng pháp truyền thông đa điểm, trong đó chỉ các host có nhu
cầu nhận dữ liệu mới tham gia vào nhóm. Điều này hạn chế tối đa sự lãng phí băng
Gói tin cho nhóm multicast
Host B
Host A
Host C
Host D
Host E
Nguồn
Server
Gói tin cho tất cả các host
Host B
Host A
Host C
Host D
Host E
Nguồn
Server
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 8
thông trên mạng, hơn nữa còn nhờ cơ chế gửi gói tin Multicast mà băng thông đƣợc
tiết kiệm triệt để.
1.2 Triển khai Multicast
1.2.1 Nhóm Multicast
Một vấn đề quan trọng của IP Multicast là nhóm Multicast. Việc xây dựng một
nhóm Multicast bắt đầu với một server đang chạy một ứng dụng Multicast nhƣ audio,
video Khi một server đƣợc xây dựng, một địa chỉ Multicast Lớp D đƣợc gán cho ứng
dụng đó và tất cả các thành viên của nó. Một nhóm Multicast đƣợc cấp phát cho một
địa chỉ lớp D làm địa chỉ đại diện cho nhóm đó. Số lƣợng thành viên của nhóm có thể
là 0, 1 hay nhiều thành viên. Các thành viên có thể nằm tại các subnet khác nhau.
Khi một host muốn gia nhập nhóm, nó gửi một bản tin IGMP chứa địa chỉ lớp D
của nhóm mong muốn tới Mrouter cục bộ của nó (Mrouter là các router có hỗ trợ
Multicast. Một trong những chức năng của router này là giúp các host trên các mạng
gắn trực tiếp với nó truy nhập hệ thống phân phối Multicast). Sau khi Mrouter nhận
bản tin IGMP từ các host, nó chuyển tiếp tất cả lƣu lƣợng Multicast cho nhóm các host
đó. Các host có thể gia nhập nhóm hoặc rời bỏ nhóm bất cứ lúc nào.
1.2.2 Đƣờng hầm Multicast
Khi chƣa có nhiều router hỗ trợ Multicast đƣợc triển khai trên mạng thì đƣờng hầm
Multicast là một giải pháp hợp lý để triển khai Multicast. Hãy tƣởng tƣợng khi số
lƣợng Mrouter trên mạng là rất ít, ta có thể coi mỗi Mrouter nhƣ là một hòn đảo giữa
rất nhiều router Unicast. Hai hòn đảo này có thể kết nối trực tiếp bằng một đƣờng liên
kết vật lý hoặc một đƣờng hầm logic. Nếu một đƣờng hầm kết nối 2 Mrouter, khi đó
nó đại diện cho một liên kết ảo điểm – điểm giữa chúng.
Hình 1.4: Minh họa đường hầm Multicast
MR
Nguồn
MR
Máy thu
Đóng gói unicast
Đƣờng hầm multicast
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 9
Trong các đƣờng hầm là các router Unicast. Khi một gói tin tiến vào đƣờng hầm,
nó đƣợc đóng gói trong một gói IP Unicast với một địa chỉ đích của Mrouter ở phía
bên kia của đƣờng hầm. Khi rời khỏi đƣờng hầm, nó đƣợc bóc tách và đƣợc xử lý tại
các Mrouter. Do đó, một đƣờng hầm cho phép lƣu lƣợng Multicast truyền liên tục giữa
hai Mrouter thông qua các router Unicast.
Hình 1.5 là một ví dụ minh họa đƣờng hầm Multicast. Giả sử rằng Mrouter A
muốn gửi chuyển tiếp một multicast datagram tới Mrouter B. A và B không đƣợc kết
nối vật lý với nhau và các router trung gian giữa A và B không có khả năng multicast.
Để thiết lập đƣờng hầm, router A đóng gói multicast datagram vào trong một unicast
datagram tiêu chuẩn. Sau đó, toàn bộ multicast datagram (bao gồm cả dải địa chỉ
multicast nguồn và đích) đƣợc vận chuyển nhƣ là phần tải tin (payload) của một
unicast datagram. Hay nói cách khác, một gói tin unicast mang bên trong một gói tin
multicast. Gói tin unicast datagram sau đó đƣợc đánh địa chỉ unicast của router B và
đƣợc chuyển tiếp tới router B bởi router A. Khi gói tin unicast datagram tới B, B sẽ
bóc tách nó. Và router B có thể chuyển tiếp gói tin multicast datagram tới các host gắn
với nó, chuyển tiếp gói tin tới Mrouter hàng xóm, hoặc chuyển tiếp gói tin multicast
datagram qua một đƣờng hầm khác.
Hình 1.5: Minh họa đường hầm Multicast
1.2.3 Vấn đề địa chỉ trong IP Multicast
Một địa chỉ multicast đƣợc gán tới một tập các host nhận để định nghĩa một nhóm
multicast. Các host gửi sử dụng địa chỉ multicast làm địa chỉ IP đích của gói tin để
truyền gói tin đó tới tất cả các thành viên trong nhóm.
1.2.3.1 Địa chỉ IP Multicast
Một địa chỉ IP multicast là một địa chỉ IP lớp D trong phạm vi từ 224.0.0.0 đến
239.255.255.255. Một số địa chỉ này đƣợc dành riêng cho mục đích đặc biệt.
A
MR
C
B
MR
MR
Topo vật lý
Topo logic (multicast)
A
C
MR
MR
B
MR
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 10
Dải địa chỉ từ 224.0.0.0 đến 224.0.0.255 đƣợc gọi là dải địa chỉ phạm vi cục bộ, sử
dụng cho các giao thức mạng trên một đoạn mạng cục bộ. Các gói tin đƣợc gán địa chỉ
trong dải địa chỉ này sẽ không đƣợc forward bởi các router (Bất chấp giá trị time-to-
live [TTL] của gói tin là bao nhiêu). Dƣới đây chỉ ra một số địa chỉ đƣợc dành riêng
cho những mục đích đặc biệt:
224.0.0.1: Tất cả các host
224.0.0.2: Tất cả các Mrouter
224.0.0.4: Các router DVMRP
224.0.0.5: Các router OSPF
224.0.0.6: Các DR trong OSPF
224.0.0.9: Các router RIPv2
224.0.0.12: Trạm DHCP server/relay
224.0.0.22: Tất cả các Mrouter chạy IGMPv3
224.0.0.102: HSRP
224.0.0.253: Teredo
Các địa chỉ từ 224.0.1.0 đến 238.255.255.255 đƣợc gọi là dải địa chỉ phạm vi toàn
cục. Các địa chỉ này đƣợc sử dụng để truyền multicast qua Internet và giữa các tổ
chức. Các Mrouter sẽ forward gói tin đƣợc gán địa chỉ trong dải này. Một số ví dụ
trong dải địa chỉ này:
224.0.12.0 – 224.0.13.063: Microsoft và MSNBC
224.0.13.0 – 224.0.13.255: Các dịch vụ quảng bá của WorldCom
224.0.15.0 – 224.0.15.255: Agilent Technologies
224.0.16.0 – 224.0.16.255: XingNet
224.0.19.0 – 224.0.19.63: Công ty Walt Disney
224.0.252.0 – 224.0.252.255: Các dịch vụ quảng bá của KPN
224.0.254.0 – 224.0.255.255: Intelsat IPTV
Dải địa chỉ từ 239.0.0.0 đến 239.255.255.255 đƣợc gọi là dải địa chỉ phạm vi hành
chính. Các router đƣợc yêu cầu cấu hình với các bộ lọc gói tin để ngăn ngừa lƣu lƣợng
trong dải địa chỉ này đi ra bên ngoài một Autonomous System (AS). Điều này tƣơng tự
nhƣ dải địa chỉ 10.x.x.x hay 192.x.x.x cho các mạng Intranet truyền thống. Bên trong
một AS, sử dụng địa chỉ trong dải này sẽ cho phép việc sử dụng lại địa chỉ giữa các
miền con (subdomain).
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 11
1.2.3.2 Ánh xạ địa chỉ IP multicast sang địa chỉ MAC
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 chỉ 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. Quá trình chuyển đổi từ địa chỉ IP multicast sang đị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 Ethernet, lấy 23 bit
trọngsố thấp trong địa chỉ IP chuyển thành 23 bit có trọng số thấp trong địa chỉ MAC
Ethernet. Hình 1.6 minh họa cơ chế ánh xạ địa chỉ, các bƣớc tiến hành nhƣ sau:
1) Chuyển đổi địa chỉ IP sang dạng nhị phân.
2) Thay thế 4 bit đầu tiên 1110 của địa chỉ IP với 6 ký tự 01-00-5E nhƣ là địa
chỉ bắt đầu của địa chỉ multicast MAC.
3) Thay thế 5 bit tiếp theo của địa chỉ IP với một bit 0.
4) Chép 23 bit còn cuối của địa chỉ IP vào 23 bit cuối trong không gian địa chỉ
MAC.
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.
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
đƣợc ở bƣớc 5 để hình thành địa chỉ multicast đầy đủ.
Hình 1.6: Chuyển đổi địa chỉ IP Multicast thành địa chỉ Ethernet/FDDI
Chú ý rằng có 5 bit của địa chỉ IP không đƣợc chuyển sang địa chỉ MAC. Điều này
làm 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 đó, một host khi nhận một khung Ethernet của một địa chỉ
239.255.0.1
1110
28 bit địa chỉ
Mcast
32 bit
23 bit
25 bit tiền tố
48 bit
5 bit loại bỏ
Địa chỉ IP multicast
Địa chỉ MAC
(Ethernet/FDDI)
01-00-5e-7f-00-01
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 12
multicast, nó phải kiểm tra tất cả các khung có MAC mà nó quan tâm. Sau đó host này
kiểm tra phần địa chỉ IP bên trong mỗi khung để nhận ra phần địa chỉ của từng nhóm
multicast. Ví dụ, địa chỉ multicast 224.138.8.5 (E0-8A-08-08) và 225.10.8.5 (E1-0A-
08-05) đều ánh xạ tới cùng một địa chỉ Ethernet (01-00-5E-0A-08-05). Trên thực tế,
hiếm khi hai ứng dụng multicast trên cùng một LAN có thể tạo ra cùng những địa chỉ
MAC. Nếu có 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.
1.2.4 Chuyển tiếp lƣu lƣợng Multicast
Có một vài phƣơng pháp để chuyển tiếp lƣu lƣợng IP multicast từ nguồn đến các
host thu. Đầu tiên ta sắp xếp một nhóm bao gồm các host thu với một địa chỉ lớp D
chung để đạt đƣợc sự phân phối lƣu lƣợng multicast hiệu quả. Bƣớc tiếp theo là tạo ra
một tập hợp các đƣờng phân phối multicast cho các router sử dụng. Các giao thức
đƣợc xây dựng trong các router giúp xây dựng cây phân phối multicast để chuyển tiếp
các gói. Hai kiểu cơ bản của cây phân phối multicast là cây nguồn (source tree) hay
còn gọi là cây tuyến đƣờng ngắn nhất SPT (Shortest Path Trees) và cây chia sẻ (shared
trees).
1.2.4.1 Cây nguồn (source tree)
Đây là đạng đơn giản nhất của một cây phân phối multicast. Một cây nguồn có gốc
là nguồn multicast và các nhánh đƣợc mở rộng qua mạng đến các máy thu (receiver).
Ký hiệu (S,G) đƣợc sử dụng để mô tả một cây SPT với S là địa chỉ IP của nguồn và G
là địa chỉ nhóm multicast.
Hình 1.7 mô tả một ví dụ về một SPT cho nhóm 239.1.1.1, có gốc là host A và kết
nối với 3 máy thu là các host B, C, D. Sử dụng ký hiệu (S,G), SPT ở đây là (92.1.1.1,
239.1.1.1). Chú ý rằng kí hiệu (S,G) chỉ ra rằng tồn tại một SPT riêng cho mỗi nguồn
riêng biệt gửi tới mỗi nhóm. Bởi vậy, nếu host D cũng đang gửi lƣu lƣợng tới nhóm
239.1.1.1 và các host A, B, C là các máy thu thì một SPT với ký hiệu (92.2.2.4,
239.1.1.1) cũng tồn tại.
Các SPT đạt đƣợc tạo thành topo tuyến đƣờng tối ƣu giữa nguồn và các máy thu,
tức là số lƣợng các hop là nhỏ nhất. Kết quả, trễ chuyển tiếp cho việc phân phối lƣu
lƣợng multicast là thấp nhất cho mạng. Tuy nhiên các Mrouter luôn phải duy trì thông
tin về tuyến đƣờng từ nó tới mỗi nguồn. Trong một mạng lớn có nhiều nguồn và nhiều
điểm nhận thì thông tin trạng thái tuyến đƣờng trở thành gánh nặng với các router. Các
router cần phải có bộ nhớ lớn để lƣu trữ bảng định tuyến.
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 13
Hình 1.7: Ví dụ về cây nguồn
Các thành viên trong nhóm multicast có thể gia nhập hoặc rời nhóm bất cứ thời
điểm nào vì vậy mà cây phân phối multicast phải đƣợc cập nhập một cách linh hoạt.
Khi các host của một nhánh nào đó ngừng yêu cầu nhận lƣu lƣợng, các router phải xóa
nhánh đó ra khỏi cây phân phối multicast và ngừng chuyển lƣu lƣợng xuống nhánh đó.
Hình 1.8: Ví dụ IPTV đơn giản sử dụng SPT
Nếu một host trong nhánh đó yêu cầu lƣu lƣợng multicast trở lại thì router phải lập
tức thay đổi cây phân phối và chuyển lƣu lƣợng cho nhánh đó trở lại. Hình 1.8 minh
họa một ví dụ IPTV đơn giản. Trong ví dụ này, SPT đƣợc sử dụng để phân phối hiệu
quả video tới các khách hàng (user) từ xa.
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 14
Hình 1.9 cho thấy việc cắt bỏ các nhánh không yêu cầu lƣu lƣợng multicast ở một
thời điểm nào đó.
Hình 1.9: Minh họa sự thay đổi các nhánh trên thực tế
1.2.4.2 Cây chia sẻ (shared-tree)
Không giống nhƣ cây nguồn (có gốc ở nguồn multicast), cây chia sẻ sử dụng 1 gốc
chung đặt ở một điểm đã lựa chọn trên mạng. Gốc chung này đƣợc gọi là một điểm
hẹn RP (Rendezvous Point) hay còn gọi là lõi. Hình 1.10 minh họa một cây chia sẻ
cho nhóm 239.1.1.1 với gốc dùng chung. Khi sử dụng cây chia sẻ, các nguồn gửi lƣu
lƣợng của chúng tới gốc (RP) và sau đó lƣu lƣợng đƣợc chuyển tiếp dọc theo cây chia
sẻ tới tất cả các máy thu (receiver). Trong ví dụ này, lƣu lƣợng multicast từ cả 2 nguồn
đƣợc chuyển tới router đặt tại RP và sau đó lƣu lƣợng đƣợc chuyển tiếp dọc thoe cây
chia sẻ tới các host B, C và D. Tất cả các nguồn trong nhóm multicast sử dụng chung
cây chia sẻ. Sử dụng ký hiệu (*,G) để biểu diễn cây, với “*” là 1 wildcard có nghĩa là
tất cả các nguồn. Cây chia sẻ trong Hình 1.10 đƣợc ký hiệu là (*, 239.1.1.1).
Cây chia sẻ đòi hỏi số lƣợng về thông tin trạng thái trên mỗi router là nhỏ nhất, bởi
vậy bộ nhớ yêu cầu cho mỗi router là tối ƣu. Tuy nhiên, các tuyến đƣờng giữa nguồn
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 15
và các máy thu (receiver) có thể không phải là tối ƣu theo hopcount. Điều này gây ra
khó khăn trong việc xác định vị trí đặt RP trên mạng khi thực hiện thiết kế 1 cây chia
sẻ.
Hình 1.10: Ví dụ về cây phân phối chia sẻ
1.3 Giao thức quản lý nhóm IGMP
Giao thức quản lý nhóm IGMP là cơ chế truyền thông giữa host và router gắn trực
tiếp với mạng đó. Router sử dụng IGMP để xác định có hay không có thành viên nhóm
multicast trong subnet. Nếu có thành viên trong nhóm, router sẽ tham gia vào nhóm
multicast đó và chuyển tiếp dữ liệu multicast đến host trong nhóm.
Hai mục đích quan trọng nhất của IGMP là:
Thông báo cho Mrouter biết rằng có một host muốn nhận lƣu lƣợng
multicast của một nhóm cụ thể.
Thông báo cho Mrouter biết rằng 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
nữa).
IGMP sử dụng một địa chỉ lớp D dành riêng là 224.0.0.1. Đây là một nhóm cố định
cho tất cả các Mrouter trong hệ thống IP Multicast. Nó đảm bảo tính sẵn sàng của 1
địa chỉ Multicast thông qua subnet có thể liên kết với Mrouter của nó.
IGMPv1 đƣợc đƣa ra trong RFC 1112 (tháng 8/1989) và v2 đƣợc giới thiệu trong
RFC 2236 (tháng 8/1997).
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 16
Phiên bản mới nhất IGMPv3 đƣợc chỉ ra trong RFC 3376 (tháng 8/2002) là sự kết
hợp của v1 và v2.
1.3.1 IGMP v1
Các host sử dụng bản tin IGMP để thông báo việc tham gia vào nhóm multicast với
router kết nối trực tiếp với nó. Định dạng bản tin IGMPv1 nhƣ sau:
0 3
4 7
8 15
16 31
Version
Type
Code
Checksum
Group Address
Hình 1.11: Định dạng của bản tin IGMP
- Trƣờng version dài 4 bit mang giá trị 0x1 đối với IGMPv1.
- Trƣờng Type dài 4 bit xác định loại bản tin truy vấn:
Type = 0x1 : bản tin truy vấn thành viên Membership Query
Type = 0x2 : bản tin báo cáo thành viên Membership Report
- Trƣờng unused dài 8 bit không sử dụng nên mang giá trị 0x00.
- Trƣờng Checksum dài 16 bit dùng để kiểm tra lỗi header.
- Trƣờng Group Address dài 32 bit chứa địa chỉ nhóm multicast, mang giá trị
0.0.0.0 khi loại bản tin là Membership Query, mang giá trị địa chỉ nhóm multicast khi
loại bản tin là Membership Report.
Theo định kỳ, cứ 60 giây các Mrouter gửi bản tin Membership Query để xác định
xem các host này còn quan tâm tới việc nhận lƣu lƣợng multicast nữa không? Bản tin
Query này đƣợc đánh địa chỉ nhóm tất cả các host trong mạng (224.0.0.1) và có IP
TTL = 1. Điều này có nghĩa là bản tin Query không bị chuyển tiếp bởi bất cứ Mrouter
nào khác.
Khi một host nhận bản tin Query, nó sẽ trả lời bằng 1 bản tin Membership Report
cho mỗi nhóm mà nó tham gia. Khi nhận đƣợc bản tin Membership Query, host sẽ
thiết lập một thời gian ngẫu nhiên (10 giây đối với IGMPv1). Khi hết thời gian này,
host sẽ tiến hành gửi thông điệp Membership Report để xác lập mối quan hệ. Khi host
đầu tiên gửi bản tin Membership Report, các host khác trên cùng đoạn mạng sẽ nhận
đƣợc bản tin này, bộ đếm thời gian bị loại bỏ và sẽ không gửi bản tin Membership
Report đi nữa.
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 17
Hình 1.12: Minh họa bản tin Membership Query
Các host có thể tham gia vào một nhóm ở bất cứ thời điểm nào bằng cách gửi bản
tin Membership Report đến nhóm đó. Tuy nhiên do IGMPv1 không hỗ trợ cơ chế cho
phép một host rời nhóm khi host đó không còn muốn nhận lƣu lƣợng multicast nữa.
Bởi vậy nếu một host muốn rời khỏi nhóm, nó sẽ không gửi Membership Report trong
ba chu kỳ truy vấn liên tiếp của router. Điều này có nghĩa là theo mặc định thì 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 lƣu lƣợng multicast nữa.
Các Mrouter cũng không lƣu danh sách tri tiết các host thuộc về mỗi nhóm
multicast. Nó chỉ cần biết những nhóm multicast nào đang tồn tại trên những công nào
của nó.
1.3.2 IGMP v2
Định dạng bản tin IGMPv2 nhƣ sau:
0 7
8 15
16 31
Type
Max, Resp, Time
Checksum
Group Address
Hình 1.13: Định dạng của bản tin IGMPv2
- Trƣờng Type dài 8 bit, mỗi giá trị trƣờng Type ứng với một loại bản tin:
Type = 0x11 : Bản tin truy vấn thành viên Membership Query (Chia làm 2 kiểu: Thứ
nhất là bản tin General Query dùng để xác định nhóm nào trên mạng có thành viên
hoạt động. Thứ hai là bản tin Group-Specific Query dùng để xác định một nhóm
multicast cụ thể có thành viên hoạt động)
Type = 0x12 : Bản tin báo cáo thành viên Membership Report Version 1
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 18
Type = 0x16 : Bản tin báo cáo thành viên Membership Report Version 2
Type = 0x17 : Bản tin rời khỏi nhóm Leave Group
- Trƣờng Checksum dài 16 bit dùng để kiểm tra lỗi header.
- Trƣờng Group Address chứa địa chỉ nhóm. Đối với bản tin General Query, trƣờng
này mang giá trị 0.0.0.0. Đối với bản tin Group Specfic, trƣờng này sẽ chứa địa chỉ của
nhóm multicast đƣợc tuy vấn.
IGMPv2 có một số khác biệt so với IGMPv1. Một cải tiến đó là IGMPv2 có hỗ trợ
cơ chế rời nhóm. Hình 1.14 minh họa quá trình rời khỏi nhóm 224.2.155.145 của host
H2. Đầu tiên, host H2 gửi bản tin Leave Group tới địa chỉ tất cả các Mrouter 224.0.0.2,
thông báo rằng nó muốn rời khỏi nhóm 224.2.155.145. Vì Mrouter không biết có bao
nhiêu host trong đoạn mạng thuộc về nhóm 224.2.155.145 nên nó phải gửi một bản tin
Group-Specific Query để xác định xem liệu còn thành viên nào trong nhóm
224.2.155.145 không? Nếu không nhận đƣợc trả lời sau một thời gian (theo mặc định
là 1 giây), router sẽ kết luận là không cần thiết gửi lƣu lƣợng multicast cho nhóm đó
nữa. Trong ví dụ, host H3 gửi bản tin Membership Report trả lời router rằng nó vẫn
đang tham gia nhóm.
Hình 1.14: Quá trình rời khỏi nhóm IGMPv2
Một chức năng quan trọng khác đƣợc bổ sung trong IGMPv2 là tiến trình Querier
Election (lựa chọn router truy vấn). Trong mạng đa truy nhập (multiaccess) có nhiều
router trong một đoạn mạng, IGMPv2 sử dụng địa chỉ IP trong bản tin General Query
để lựa chọn router truy vấn IGMP. Tiến trình thực hiện nhƣ sau:
i. Khi các Mrouter IGMPv2 bắt đầu chạy, mỗi router sẽ gửi multicast một bản
tin IGMPv2 General Query tới tất cả Mrouter (224.0.0.1) với địa chỉ giao diện
trong trƣờng địa chỉ IP nguồn (Source IP Address) của bản tin.
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 19
ii. Khi một router IGMPv2 nhận bản tin General Query, nó so sánh địa chỉ IP
nguồn của bản tin với địa chỉ giao diện của nó. Router nào có địa chỉ IP nhỏ
nhất trong subnet sẽ đƣợc lựa chọn là router truy vấn IGMP.
iii. Các router không truy vấn bắt đầu chạy một bộ đếm thời gian (theo mặc định,
thời gian này là 250 giây) mà đƣợc reset bất cứ khi nào router nhận đƣợc một
bản tin General Query từ router truy vấn. Nếu chạy hết khoảng thời gian này,
router sẽ coi nhƣ router truy vấn không còn hoạt động nữa, và tiến trình lựa
chọn đƣợc chạy lại để chọn ra một router truy vấn mới.
1.3.3 IGMP v3
IGMPv3 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óm multicast. Một bản
tin Group-Source Report cho phép một host chỉ ra địa chỉ IP của nguồn cụ thể mà nó
muốn nhận. 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 lƣu lƣợng. Cuối cùng, bản tin Leave
Group trong IGMPv2 đƣợc nâng cấp thành bản tin Group-Source Leave. Điều này cho
phép một host rờ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.4 Định tuyến trong IP Multicast
Để hỗ trợ truyền thông multicast, một router cần phải hỗ trợ ít nhất một trong các
giao thức định tuyến multicast. Với router Unicast, có một số giao thức định tuyến nhƣ
RIP và OSPF thƣờng đƣợc sử dụng để xác định đƣờng đi từ nguồn tới đích cho gói tin.
Tuy nhiên, các giao thức đó không phù hợp với bản chất phi vật lý của các nhóm
multicast. Do đó các Mrouter phải hỗ trợ một số thuật toán định tuyến và giao thức
dành riêng cho multicast.
Định tuyến lƣu lƣợng multicast phức tạp hơn nhiều so với định tuyến lƣu lƣợng
unicast. Số lƣợng các máy thu trong một phiên multicast có thể khá lớn. Các router
mạng phải có khả năng chuyển địa chỉ multicast sang địa chỉ host. Trong định tuyến
multicast, các router tƣơng tác để trao đổi thông tin về các router hàng xóm. Giao thức
quản lý nhóm sẽ chọn một router làm router bổ nhiệm DR (Desinated Router) cho mỗi
mạng vật lý. DR thƣờng là router gần nhất với gốc.
Sử dụng các giao thức định tuyến multicast, các Mrouter thiết lập linh hoạt các cây
đƣờng đa điểm sử dụng thông tin thành viên nhóm có đƣợc từ việc truyền thông
IGMP. Các cây đƣờng đa điểm đó chỉ ra các tuyến đƣờng từ một máy phát tới tất cả
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 20
máy thu. Các giao thức định tuyến IP multicast thƣờng theo một trong hai dạng sau:
dạng tập chung hoặc dạng phân tán.
Định tuyến multicast dạng tập chung:
Các thành viên nhóm multicast đƣợc phân bố tập chung trong toàn mạng với nhiều
mạng con chứa ít nhất một thành viên nhóm, có đặc trƣng là chiếm băng thông lớn.
Các giao thức định tuyến dạng tập trung bao gồm: DVMRP, MOSPF và PIM-DM. Các
giao thức này dựa vào kỹ thuật phát tán thông tin tới tất cả các router mạng.
Định tuyến multicast dạng phân tán:
Dạng phân tán: thành viên trong nhóm nằm phân tán tại nhiều vùng của mạng và
không yêu cầu băng thông lớn. Nó dựa vào kỹ thuật lựa chọn để thiết lập và duy trì cây
multicast, sử dụng một quá trình khởi tạo máy thu (receiver-initiated process). Có
nghĩa là một router chỉ xây dựng cây phân phối multicast khi một trong các host thuộc
mạng con của nó là thành viên của một nhóm multicast nào đó. Các giao thức định
tuyến dạng phân tán gồm: CBT và PIM-SM.
1.4.1 Các thuật toán trong định tuyến IP Multicast
Một giao thức định tuyến multicast chịu trách nhiệm cho việc xây dựng các cây
phân phối lƣu lƣợng multicast và thực hiện chuyển tiếp các gói tin multicast. Mục này
sẽ khám phá một số các thuật toán sử dụng bởi các giao thức định tuyến multicast.
1.4.1.1 Flooding
Thuật toán Flooding là kỹ thuật đơn giản nhất cho việc phân phối gói tin multicast
tới tất cả các router trên một liên mạng. Thủ tục flooding bắt đầu khi một router nhận
đƣợc một gói tin mà đƣợc đánh địa chỉ tới một nhóm multicast. Router sử dụng cơ chế
của giao thức để xác định xem liệu đây có phải là lần đầu tiên nó gặp gói tin đặc biệt
này hay không? Nếu đó là lần đầu tiên, gói tin sẽ đƣợc chuyển tiếp tới tất cả các giao
diện của router, ngoại trừ giao diện mà vừa nhận gói tin. Nếu router đã từng gặp gói
tin trƣớc đây, nó sẽ lập tức huy gói tin. Thuật toán flooding thực hiện rất đơn giản vì
router không phải duy trì bảng định tuyến, nó chỉ cần lƣu lại dấu vết của các gói tin
gần đây nhất. Tuy nhiên, flooding làm phát sinh một số lƣợng lớn các gói tin bản sao,
điều này tiêu phí băng thông mạng. Ngoài ra, thuật toán flooding giúp sử dụng tài
nguyên bộ nhớ một cách hiệu quả, vì mỗi router chỉ cần duy trì một mục bảng riêng
cho mỗi gói tin gần đây nhất.
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 21
1.4.1.2 Cây mở rộng (Spanning Tree)
Một giải pháp hiệu quả hơn flooding là lựa chọn một subnet của topo mạng để hình
thành một cây mở rộng.
Cây mở rộng định nghĩa một cấu trúc cây mà chỉ có một tuyến đƣờng hoạt động
giữa bất cứ 2 router nào đó. Hình 1.15 minh họa một liên mạng và một cây mở rộng có
gốc đặt tại router R.
Hình 1.15: Minh họa cây mở rộng
Một khi cây mở rộng đã đƣợc xây dựng, một Mrouter chuyển tiếp gói tin multicast
tới tất cả các giao diện là một phần của cây mở rộng, ngoại trừ cái giao diện mà nó vừa
nhận gói tin. Chuyển tiếp gói tin dọc theo các nhánh của một cây mở rộng đảm bảo
rằng gói tin multicast sẽ không bị quay vòng và gói tin sẽ dần dần tới tất cả các router
trên liên mạng. Giải pháp cây mở rộng giúp tập trung lƣu lƣợng trên một số lƣợng nhỏ
các liên kết và có thể cung cấp tuyến đƣờng hiệu quả giữa mạng nguồn và các thành
viên trong nhóm.
1.4.1.3 RPB (Reverse Path Broadcasting)
Thuật toán RPB hiện đang đƣợc sử dụng trong các Mbone (mạng xƣơng sống của
hệ thống đa điểm), là một cải tiến của thuật toán cây mở rộng (Spanning Tree). Trong
thuật toán này, thay bằng việc xây dựng một cây mở rộng mạng diện rộng, một cây mở
rộng tuyệt đối sẽ đƣợc xây dựng cho mỗi nguồn. Thuật toán này thực tế khá là đơn
giản. Bất cứ khi nào router nhận một gói tin multicast trên liên kết “L” và từ nguồn
“S”, router sẽ kiểm tra xem liên kết L có thuộc về tuyến đƣờng ngắn nhất từ nguồn tới
router không? Nếu đúng, gói tin sẽ đƣợc chuyển tiếp trên tất cả các liên kết, ngoại trừ
L. Nếu L không thuộc về tuyến đƣờng ngắn nhất từ nguồn tới router, gói tin sẽ bị hủy.
Thuật toán RPB dễ dàng hoàn thiện bằng cách xem xét thực tế nếu router không nằm
trên tuyến đƣờng ngắn nhất giữa node nguồn và một hàng xóm, gói tin sẽ bị hủy ở
Đồ án tốt nghiệp đại học IP MULTICAST VÀ CÁC VẤN ĐỀ LIÊN QUAN
Nguyễn Văn Hưng – D06VT2 22
router hàng xóm. Bởi vậy trong trƣờng hợp này không cần phải chuyển tiếp gói tin cho
hàng xóm đó.
Hình 1.16 là một ví dụ về cách xây dựng cây phân phối lƣu lƣợng sử dụng thuật
toán RPB với hai trƣờng hợp nguồn là A và C.
Trƣờng hợp nguồn là C, gói tin sẽ đƣợc chuyển tiếp đến B và E. Tại B, có các hàng
xóm là A và E, gói tin sẽ đƣợc chuyển tiếp đến A mà không phải E vì B nằm trên
tuyến đƣờng ngắn nhất từ C đến A.
Hình 1.16: Minh họa cây RPB
Thuật toán RPB khá là hiệu quả và dễ dàng thực hiện. Nó không yêu cầu router
biết về toàn bộ cây mở rộng, và cũng không yêu cầu kỹ thuật đặc biệt để dừng việc
chuyển tiếp gói tin (giống nhƣ làm trong thuật toán flooding). Hơn nữa, nó đảm bảo
việc phân phối hiệu quả vì gói tin multicast luôn luôn đi theo tuyến đƣờng ngắn nhất
từ trạm nguồn tới nhóm đích.
Giới hạn chính của thuật toán RPB đó là nó không nắm bắt số lƣợng thành viên
tham gia nhóm multicast khi xây dựng cây phân phối. Kết quả là gói tin có thể chuyển
tiếp một cách không cần thiết tới các subnet mà không có thành viên vào trong nhóm
đích.
1.4.1.4. TRPB (Truncated Reverse Path Broadcasting)
Thuật toán TRPB đƣợc đề xuất để khắc phục những giới hạn của thuật toán RPB.
TRPB hoạt động tƣơng tự nhƣ RPB, tuy nhiên cùng với sự giúp đỡ của IGMP, các
router có thể xác định số lƣợng thành viên của một nhóm hiện đang tồn tại trên mỗi
subnet lá (subnet lá là subnet chỉ kết nối với duy nhất một router). Router sẽ không
chuyển tiếp gói tin tới một subnet lá nếu subnet này không tồn tại một thành viên nào
của nhóm đích.
Hình 1.17 minh họa hoạt động của thuật toán TRPB. Trong ví dụ này B là router
nguồn sẽ gửi gói tin tới nhóm G1. Đầu tiên gói tin đƣợc chuyển tiếp tới router A và D
A
D
B
E
C
2
5
4
6
3
A
D
B
E
C
2
5
4
6
3
Cây RPB từ nguồn A
Cây RPB từ nguồn C
1
1