ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRƯƠNG CÔNG ÁI
IP MULTICAST VÀ ỨNG DỤNG
LUẬN VĂN THẠC SĨ
Hà Nội – 2009
LỜI CẢM ƠN
Tôi xin chân thành cảm ơn TS. Ngô Khánh Vân, ngƣời đã tận tình hƣớng
dẫn, chỉ bảo tôi trong suốt thời gian dài thực hiện đề tài.
Tôi xin chân thành cảm ơn PGS.TS Nguyễn Văn Tam, công tác tại Viện
công nghệ thông tin, đã chỉ bảo và cho tôi những lời khuyên quý báu để hoàn
thiện luận văn.
Tôi xin chân thành cảm ơn các thầy cô trong trƣờng Đại Học Công Nghệ,
Đại Học Quốc Gia Hà Nội đã giảng dạy, truyền đạt và tạo điều kiện học tập tốt
nhất cho tôi trong suốt thời gian học tập cũng nhƣ trong quá trình thực hiện luận
văn.
Hà Nội, tháng 08 năm 2009
Trƣơng Công Ái
I
MỤC LỤC
LỜI CẢM ƠN
MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT
DANH SÁCH HÌNH VẼ
DANH SÁCH CÁC BẢNG
MỞ ĐẦU ................................................................................................................ 1
1. Đặt vấn đề .................................................................................................. 1
2. Đối tƣợng và mục tiêu luận văn ................................................................. 1
3. Hƣớng tiếp cận ........................................................................................... 2
4. Kết cấu của luận văn .................................................................................. 2
CHƢƠNG 1 ........................................................................................................... 3
CƠ BẢN VỀ IP MULTICAST .............................................................................. 3
1.1 Mở đầu ......................................................................................................... 3
1.2 Các thành phần tham gia vào truyền thông multicast .................................. 5
1.3 Địa chỉ multicast .......................................................................................... 7
1.4 Cây phân phối multicast ............................................................................... 9
1.4.1 Cây nguồn ............................................................................................. 9
1.4.2 Cây chia sẻ .......................................................................................... 10
1.5 Chuyển tiếp multicast ................................................................................. 13
1.6 Đƣờng trục multicast .................................................................................. 15
1.7 Giao thức quản lý nhóm Internet ............................................................... 17
1.7.1 Giao thức IGMPv1 .............................................................................. 17
1.7.1.1 Thông điệp Host Membership Report .......................................... 18
1.7.1.2 Thông điệp Host Membership Query........................................... 19
1.7.2 Giao thức IGMPv2 .............................................................................. 19
1.7.2.1 Lựa chọn router truy vấn .............................................................. 20
1.7.2.2 Thông điệp rời nhóm .................................................................... 21
1.7.2.3 Truy vấn cho từng nhóm .............................................................. 21
1.7.3 Giao thức IGMPv3 .............................................................................. 21
I
1.7.3.1 Lọc dữ liệu ................................................................................... 21
1.7.3.2 Thông điệp IGMPv3 Host Membership Query ........................... 22
1.7.3.3 Thông điệp IGMPv3 Host Membership Report ........................... 23
CHƢƠNG 2 ......................................................................................................... 25
ĐỊNH TUYẾN MULTICAST ............................................................................. 25
2.1 Giao thức định tuyến multicast véctơ khoảng cách ................................... 25
2.1.1 Tìm kiếm hàng xóm ............................................................................ 25
2.1.2 Trao đổi thông báo định tuyến ............................................................ 26
2.1.3 Cắt nhánh ............................................................................................ 29
2.1.4 Ghép nhánh ......................................................................................... 30
2.2 Giao thức PIM Dense Mode ...................................................................... 32
2.2.1 Tìm kiếm hàng xóm ............................................................................ 32
2.2.1.1 Thông điệp Hello.......................................................................... 32
2.2.1.2 Router đƣợc chỉ định .................................................................... 32
2.2.1.3 Cây phân phối multicast ............................................................... 33
2.2.2 Cắt nhánh ............................................................................................ 34
2.2.3 Cơ chế xác nhận .................................................................................. 36
2.2.4 Ghép nhánh ......................................................................................... 37
2.3 PIM Sparse Mode ....................................................................................... 38
2.3.1 Mô hình tham gia ................................................................................ 38
2.3.2 Cây chia sẻ .......................................................................................... 39
2.3.2.1 Tham gia cây chia sẻ .................................................................... 39
2.3.2.2 Cắt nhánh trên cây chia sẻ............................................................ 42
2.3.3 Cây đƣờng đi ngắn nhất ...................................................................... 44
2.3.3.1 Tham gia cây đƣờng đi ngắn nhất ................................................ 44
2.3.3.2 Cắt nhánh trên cây đƣờng đi ngắn nhất ....................................... 46
2.3.4 Thông điệp Join/Prune ........................................................................ 47
2.3.5 Đăng ký nguồn dữ liệu ........................................................................ 48
2.3.5.1 Thông điệp PIM Register ............................................................. 48
2.3.5.2 Thông điệp PIM Register – Stop.................................................. 49
2.3.6 Chuyển từ cây chia sẻ sang cây đƣờng đi ngắn nhất .......................... 49
I
2.4 Giao thức Multicast Open Shortest Path First ........................................... 53
2.4.1 Định tuyến multicast trong vùng ......................................................... 53
2.4.2 Định tuyến multicast trên nhiều vùng ................................................. 55
2.4.3 Định tuyến multicast trên các vùng tự trị ............................................ 58
CHƢƠNG 3 ......................................................................................................... 60
SỬ DỤNG ACCESS GRID XÂY DỰNG .......................................................... 60
HỆ THỐNG HỘI NGHỊ TRUYỀN HÌNH DỰA TRÊN IP MULTICAST ........ 60
3.1 Các khái niệm chung về dịch vụ hội nghị truyền hình............................... 60
3.1.1 Hệ thống hội nghị truyền hình ............................................................ 61
3.1.2 Các thành phần cơ bản của hội nghị truyền hình ................................ 62
3.2 Giao thức RTP ............................................................................................ 63
3.2.1 Khuôn dạng RTP header ..................................................................... 63
3.2.2 Các ứng dụng sử dụng RTP ............................................................... 64
3.2.2.1 Thoại hội nghị đơn giản ............................................................... 64
3.2.2.2 Thoại và truyền hình hội nghị ...................................................... 66
3.2.2.3 Bộ trộn và bộ biên dịch ................................................................ 66
3.3 Đồng bộ luồng hình ảnh và âm thanh ........................................................ 67
3.4 Sử dụng Access Grid xây dựng một hội nghị truyền hình ......................... 69
3.4.1 Các thành phần của Access Grid......................................................... 69
3.4.2 Sử dụng Access Grid client để tham gia vào hội nghị truyền hình..... 72
KẾT LUẬN .......................................................................................................... 75
HƢỚNG PHÁT TRIỂN CỦA ĐỀ TÀI ............................................................... 76
TÀI LIỆU THAM KHẢO
II
DANH MỤC CÁC TỪ VIẾT TẮT
Viết đầy đủ
Từ viết tắt
Nghĩa tiếng Việt
ABR
Area Border Router
Router biên vùng
AG
Access Grid
Phần mềm hỗ trợ xây dựng ứng dụng
hội nghị truyền hình
AS
Autonomous System
Vùng tự trị
ASBR
Autonomous System
Router trên biên vùng tự trị
Border Routers
DR
Designated Router
Router đƣợc lựa chọn
DVMRP
Distance Vector Multicast
Giao thức định tuyến multicast véc-
Routing Protocol
tơ khoảng cách
Internet Group
Giao thức quản lý nhóm Internet
IGMP
Management Protocol
LAN
Local Area Network
Mạng nội bộ
LSA
Link-State Advertisement
Thông điệp quảng bá trạng thái liên
kết
MABR
Multicast Area Border
Router biên vùng multicast
Router
MBONE
Multicast Backbone
Đƣờng trục multicast
MOSPF
Multicast Open Shortest
Giao thức định tuyến multicast dựa
Path First
trên thuật toán đƣờng đi ngắn nhất
MCU
Multipoint Control Unit
Bộ điều khiển đa điểm
OSPF
Open Shortest Path First
Giao thức định tuyến unicast dựa
trên thuật toán đƣờng đi ngắn nhất
II
PIM
PIM-DM
PIM-SM
RAT
Protocol Independent
Giao thức định tuyến multicast độc
Multicast
lập
Protocol Independent
Giao thức định tuyến multicast độc
Multicast Dense Mode
lập theo mô hình tập trung
Protocol Independent
Giao thức định tuyến multicast độc
Multicast Sparse Mode
lập theo mô hình phân tán
Robust Audio Tool
Công cụ truyền âm thanh trong ứng
dụng hội nghị truyền hình
RIP
Routing Information
Giao thức thông tin định tuyến
Protocol
RPF
Reverse Path Forwarding
Kiểm tra đƣờng dẫn ngƣợc
RP
Rendezvous Point
Điểm hẹn
RTCP
Real Time Transport
Giao thức điều khiển truyền thông
Control Protocol
thời gian thực
Realtime Transport
Giao thức truyền thông thời gian
Protocol
thực
SPT
Shortest Path Tree
Cây đƣờng đi ngắn nhất
TTL
Time To Live
Thời gian tồn tại gói tin
VIC
Video Conference
Ứng dụng video trong hội nghị
RTP
truyền hình
III
DANH SÁCH HÌNH VẼ
Hình 1.1: Truyền thông unicast và multicast ......................................................... 3
Hình 1.2: Các thành phần tham gia vào truyền thông multicast ............................ 6
Hình 1.3: Định dạng của địa chỉ IP lớp D .............................................................. 7
Hình 1.4: Ánh xạ địa chỉ IP multicast sang địa chỉ MAC ...................................... 8
Hình 1.5: Cây đƣờng đi ngắn nhất của host A ....................................................... 9
Hình 1.6: Cây đƣờng đi ngắn nhất của host B ..................................................... 10
Hình 1.7: Cây chia sẻ ........................................................................................... 11
Hình 1.8: Cây chia sẻ hai chiều ............................................................................ 12
Hình 1.9: Cây chia sẻ một chiều sử dụng cây SPT .............................................. 12
Hình 1.10: Cây chia sẻ một chiều sử dụng định tuyến unicast ............................ 13
Hình 1.11: Giới hạn TTL ..................................................................................... 14
Hình 1.12: Cơ chế đƣờng hầm liên kết các ốc đảo multicast............................... 15
Hình 1.13: Đóng gói IP multicast theo cơ chế tunneling ..................................... 16
Hình 1.14: Cơ chế đƣờng hầm liên kết các MRouter .......................................... 16
Hình 1.15: Thông điệp IGMPv1 .......................................................................... 18
Hình 1.16: Thông điệp IGMPv2 .......................................................................... 19
Hình 2.1: Tìm hàng xóm trong DVMRP ............................................................. 26
Hình 2.2: Trao đổi định tuyến DVMRP bƣớc 1................................................... 27
Hình 2.3: Trao đổi định tuyến DVMRP bƣớc 2................................................... 27
Hình 2.4: Trao đổi định tuyến DVMRP bƣớc 3................................................... 28
Hình 2.5: Cắt nhánh trong DVMRP bƣớc 1 ........................................................ 29
Hình 2.6: Cắt nhánh trong DVMRP bƣớc 2 ........................................................ 30
Hình 2.7: Ghép nhánh trong DVMRP bƣớc 1 ..................................................... 31
Hình 2.8: Ghép nhánh trong DVMRP bƣớc 2 ..................................................... 31
Hình 2.9: Cây phân phối PIM-DM ...................................................................... 34
Hình 2.10: Cắt nhánh trong PIM-DM bƣớc 1 ...................................................... 35
Hình 2.11: Cắt nhánh trong PIM-DM bƣớc 2 ...................................................... 35
Hình 2.12: Cắt nhánh trong PIM-DM bƣớc 3 ...................................................... 36
Hình 2.13: Xác nhận trong PIM-DM ................................................................... 37
III
Hình 2.14: Ghép nhánh trong PIM-DM ............................................................... 38
Hình 2.15: Tham gia cây chia sẻ PIM bƣớc 1 ...................................................... 39
Hình 2.16: Tham gia cây chia sẻ PIM bƣớc 2 ...................................................... 40
Hinh 2.17: Tham gia cây chia sẻ PIM bƣớc 3 ...................................................... 41
Hình 2.18: Tham gia cây chia sẻ PIM bƣớc 4 ...................................................... 41
Hình 2.19: Tham gia cây chia sẻ PIM bƣớc 5 ...................................................... 42
Hình 2.20: Tham gia cây chia sẻ PIM bƣớc 6 ...................................................... 42
Hình 2.21: Cắt nhánh trên cây chia sẻ bƣớc 1 ..................................................... 43
Hình 2.22: Cắt nhánh trên cây chia sẻ bƣớc 2 ..................................................... 43
Hình 2.23: Cắt nhánh trên cây chia sẻ bƣớc 3 ..................................................... 44
Hình 2.24: Tham gia cây đƣờng đi ngắn nhất bƣớc 1.......................................... 45
Hình 2.25: Tham gia cây đƣờng đi ngắn nhất bƣớc 2.......................................... 45
Hình 2.26: Tham gia cây đƣờng đi ngắn nhất bƣớc 3.......................................... 46
Hình 2.27: Cắt nhánh trên cây đƣờng đi ngắn nhất bƣớc 1 ................................. 46
Hình 2.28: Cắt nhánh trên cây đƣờng đi ngắn nhất bƣớc 2 ................................. 47
Hình 2.29: Cắt nhánh trên cây đƣờng đi ngắn nhất bƣớc 3 ................................. 47
Hình 2.30: Chuyển sang cây SPT bƣớc 1 ............................................................ 50
Hình 2.31: Chuyển sang cây SPT bƣớc 2 ............................................................ 50
Hình 2.32: Cắt bỏ nguồn khỏi cây chia sẻ bƣớc 3 ............................................... 51
Hình 2.33: Cắt bỏ nguồn khỏi cây chia sẻ bƣớc 4 ............................................... 52
Hình 2.34: Cắt bỏ nguồn khỏi cây chia sẻ bƣớc 5 ............................................... 52
Hình 2.35: Vùng MOSPF chứa nguồn và thành viên nhóm G ............................ 54
Hình 2.36: Cây đƣờng đi ngắn nhất MOSPF SPT cho mạng N3 và N4 .............. 55
Hình 2.37: Thông điệp nhóm tóm tắt trong vùng đƣờng trục .............................. 56
Hình 2.38: Cây đƣờng đi ngắn nhất SPT trong vùng đƣờng trục ........................ 57
Hình 2.39: Nguồn trong vùng không phải đƣờng trục ......................................... 58
Hình 2.40: Lƣu lƣợng multicast xuống các miền MOSPF .................................. 59
Hình 3.1: Thành phần của hội nghị truyền hình .................................................. 62
Hình 3.2: Khuôn dạng RTP header ...................................................................... 63
Hình 3.3: Các thành phần của Access Grid ......................................................... 69
Hình 3.4: Desktop node........................................................................................ 70
III
Hình 3.5: Office node ........................................................................................... 71
Hình 3.6: Room node ........................................................................................... 71
Hình 3.7: Mối quan hệ giữa multicast và Access Grid ........................................ 72
Hình 3.8: Profile Dialog ....................................................................................... 72
Hình 3.9: Điền địa chỉ virtual venue để kết nối ................................................... 72
Hình 3.10: Venue client ....................................................................................... 73
Hình 3.11: Cửa sổ video....................................................................................... 73
Hình 3.12: Cửa sổ audio....................................................................................... 74
IV
DANH SÁCH CÁC BẢNG
Bảng 1.1: Các trƣờng trong thông điệp IGMPv1 ................................................. 18
Bảng 1.2: Các trƣờng trong thông điệp IGMPv2 ................................................. 20
Bảng 1.3: Các trƣờng trong thông điệp IGMPv3 Host Membership Query ........ 22
Bảng 1.4: Các trƣờng trong thông điệp IGMPv3 Host Membership Report ....... 24
1
MỞ ĐẦU
1. Đặt vấn đề
Ngày nay mạng Internet và các ứng dụng trên mạng ngày càng trở nên
thông dụng, vì thế có một lƣợng rất lớn các thông tin cần phải chuyển tiếp đến
nhiều nơi trong cùng một thời gian. Phần lớn các ứng dụng trên mạng hiện nay
sử dụng phƣơng pháp truyền dữ liệu unicast, đây là phƣơng pháp truyền dữ liệu
từ điểm tới điểm, tức là dữ đƣợc truyền từ một ngƣời gửi tới một ngƣời nhận.
Tuy nhiên với một số ứng dụng yêu cầu phải thƣờng xuyên gửi dữ liệu từ một
điểm tới nhiều điểm, dữ liệu đƣợc gửi từ một ngƣời gửi tới nhiều ngƣời nhận,
phƣơng pháp truyền dữ liệu unicast trở nên không hiệu quả. Trong trƣờng hợp
này, các ứng dụng sử dụng unicast phải đóng gói cùng một dữ liệu nhiều lần và
lần lƣợt gửi chúng từ điểm tới điểm. Một cách khác để thực hiện việc truyền dữ
liệu từ điểm đến nhiều điểm là sử dụng broadcast, đây là phƣơng pháp gửi dữ
liệu từ một điểm đến tất cả các điểm. Dễ thấy rằng cả hai phƣơng pháp trên đều
gây nên những sự lãng phí tài nguyên mạng, khi đó multicast là một sự thay thế
tốt nhất, phƣơng pháp này giúp ta tiết kiệm đƣợc băng thông mạng cũng nhƣ cải
thiện đƣợc tốc độ truyền dữ liệu. Multicast là phƣơng pháp truyền dữ liệu từ
điểm tới nhiều điểm, trong đó một nguồn gửi sẽ gửi lƣu lƣợng tới một nhóm
nguồn nhận thông qua địa chỉ nhóm multicast. Trong phƣơng pháp multicast có
các giao thức cho phép các máy tính có thể gia nhập vào nhóm để nhận dữ liệu
hay rời bỏ nhóm một cách dễ dàng, các giao thức định tuyến cũng đƣợc xây dựng
cho phép các ứng dụng có thể gửi dữ liệu một cách hiệu quả trên mạng.
2. Đối tƣợng và mục tiêu luận văn
Xuất phát từ vấn đề nêu trên, luận văn xác định IP multicast là đối tƣợng
nghiên cứu với những vấn đề tập trung chủ yếu nhƣ sau:
Tìm hiểu các thành phần cơ bản của quá trình truyền dữ liệu multicast gồm:
địa chỉ multicast, cây multicast, chuyển tiếp multicast cũng nhƣ quá trình
tham gia nhóm multicast thông qua giao thức Internet Group Management
Protocol.
2
Tìm hiểu các giao thức định tuyến cơ bản đƣợc sử dụng trong truyền thông
multicast nhƣ giao thức định tuyến Distance Vector Multicast Routing
Protocol, giao thức định tuyến Protocol Independent Multicast và giao thức
định tuyến Multicast Open Shortest Path First.
Tìm hiểu khả năng áp dụng của multicast trong ứng dụng thời gian thực.
3. Hƣớng tiếp cận
Với mục tiêu là tìm hiểu công nghệ IP multicast, luận văn đƣợc tiếp cận
theo hƣớng tập trung nghiên cứu các khái niệm, tìm hiểu các giao thức phổ biến
của multicast từ đó chỉ ra đƣợc các ƣu điểm, nhƣợc điểm cũng nhƣ khả năng áp
dụng của IP multicast vào các ứng dụng.
4. Kết cấu của luận văn
Luận văn gồm phần mở đầu, 03 chƣơng và kết luận.
Chƣơng 1: Trình bày các vấn đề cơ bản của IP multicast nhƣ địa chỉ
multicast, cây phân phối multicast, chuyển tiếp multicast và quá trình tham
gia nhóm multicast.
Chƣơng 2: Trình bày các giao thức định tuyến đƣợc sử dụng trong truyền
thông multicast gồm giao thức định tuyến Distance Vector Multicast
Routing Protocol, giao thức định tuyến Protocol Independent Multicast theo
hai mô hình tập trung và phân tán và giao thức định tuyến Multicast Open
Shortest Path First.
Chƣơng 3: Tìm hiểu về hội nghị truyền hình, ứng dụng phần mềm Access
Grid để xây dựng hệ thống hội nghị truyền hình dựa trên IP multicast.
Cuối cùng là kết luận và hƣớng nghiên cứu tiếp theo của luận văn.
3
CHƢƠNG 1
CƠ BẢN VỀ IP MULTICAST
1.1 Mở đầu
IP multicast là một nhóm các công nghệ và tiêu chuẩn cho phép việc truyền
tải đa điểm – đa điểm nhƣ hội nghị, hay truyền tài điểm – đa điểm nhƣ việc
quảng bá âm thanh, video trên Internet. Việc ứng dụng công nghệ này ngày càng
phát triển do nhu cầu ngày càng cao đối với các ứng dụng đa phƣơng tiện và sự
cải tiến công nghệ IP multicast.
Multicast là thuật ngữ kỹ thuật, có nghĩa một gói tin có thể đƣợc gửi đến
nhiều nơi trong cùng thời điểm. Cách thức thông thƣờng trong việc truyền thông
tin trên Internet là sử dụng các giao thức unicast, các giao thức này gửi các gói
tin đến mỗi điểm thu tại một thời điểm. Trên mạng multicast, một gói tin có thể
đƣợc gửi từ một máy tính đến một vài máy tính khác, thay vì gửi gói tin đó lần
lƣợt đến từng máy tính. Do 5, 10 hay 100 máy có thể nhận đƣợc cùng gói tin nên
băng thông đƣợc tiết kiệm. Khi sử dụng multicast để gửi đi gói tin thì không cần
thiết phải biết địa chỉ của những ngƣời cần nhận luồng tin multicast đó: dữ liệu
đƣợc quảng bá theo một phƣơng thức mà những ngƣời quan tâm đến nó có thể
nhận đƣợc.
Hình 1.1: Truyền thông unicast và multicast
Các mạng hỗ trợ multicast cung cấp nhiều dịch vụ và các ứng dụng cho
ngƣời sử dụng đầu cuối. Nhiều ứng dụng hỗ trợ multicast là các ứng dụng đa
phƣơng tiện, tuy nhiên còn có nhiều loại ứng dụng khác nhau sử dụng công nghệ
4
IP multicast cho các mục đích không phải đa phƣơng tiện. Các ứng dụng thời
gian thực bao gồm: truyền hình trực tiếp, đài phát thanh, hội nghị truyền hình,
các ứng dụng không phải thời gian thực nhƣ truyền file, dữ liệu, video theo yêu
cầu …
Truyền tải multicast đƣa lại nhiều ƣu điểm so với unicast truyền thống.
Băng thông của mạng đƣợc tận dụng hiệu quả hơn do nhiều luồng dữ liệu đƣợc
thay thế bởi một luồng dữ liệu multicast. Công nghệ này đem lại chất lƣợng tối
ƣu do cần ít bản sao dữ liệu để chuyển đi và xử lý tại các nút mạng. Để có thể có
đƣợc các ƣu điểm của IP multicast, thì khả năng định tuyến multicast phải đƣợc
hỗ trợ tại các nút mạng. Tùy thuộc vào chính sách sử dụng và nhu cầu của ngƣời
sử dụng, thì các vấn đề liền quan đến định tuyến, độ tin cậy, đánh địa chỉ mạng
và các giao thức truyền tải đa phƣơng tiện có tầm quan trọng đối với nhà vận
hành mạng.
Multicast không chỉ đem lại lợi ích cho ngƣời sử dụng đầu cuối. Hầu hết
các ứng dụng multicast là dựa trên UDP, việc sử dụng giao thức này có thể dẫn
đến các ảnh hƣởng phụ không mong muốn (các gói tin có thể bị hủy) so với các
ứng dụng unicast tƣơng tự dựa trên TCP. Tuy nhiên, việc thiếu kiểm soát nghẽn
có thể dẫn đến việc suy giảm chất lƣợng mạng tổng thể. Các gói tin trùng có thể
thỉnh thoảng đƣợc tạo ra khi các topo mạng multicast thay đổi. Trong tƣơng lai
việc triển khai IPv6 sẽ đem lại multicast có sẵn cho ngƣời sử dụng mạng. Phần
mềm định tuyến tin cậy hơn với các giao thức mới sẽ tận dụng đƣợc hạ tầng
mạng. Với multicast có sẵn, các vấn đề định tuyến sẽ đƣợc giải quyết dễ dàng
hơn và băng thông sẽ đƣợc tiết kiệm hơn.
Multicast là một công nghệ tƣơng đối mới cho phép các khách hàng đƣợc
hƣởng lợi từ các ứng dụng thời gian thực mà đáng ra phải yêu cầu một lƣợng
băng thông cực lớn. Công nghệ này cho phép nhiều loại công ty đƣa các sản
phẩm của họ đến các nhóm ngƣời với chi phí thấp so với unicast. Multicast giảm
lƣu lƣợng mạng và tiết kiệm băng thông cho phép ngƣời dùng khai thác khả năng
sử dụng cực đại có thể của Internet. Multicast cung cấp cho các ngƣời sử dụng
liên quan đến Internet (các ngƣời sử dụng đầu cuối, nhà vận hành mạng, ISP và
5
các công ty liên quan khác) giải pháp khả thi kinh tế và kỹ thuật cho vấn đề
truyển tải khối lƣợng thông tin lớn đến các nhóm ngƣời dùng đƣợc lựa chọn.
Để có đƣợc multicast trên Internet hay các mạng Intranet, cách đầu tiên là
kết nối các ốc đảo mạng hỗ trợ multicast với các đƣờng hầm IP multicast. Do các
đƣờng hầm này không khả phân cấp và không đƣa lại các ƣu điểm kế thừa của
multicast, bƣớc kế tiếp là thay thế hạ tầng đƣờng hầm với hạ tầng định tuyến
multicast thực sự. Công nghệ multicast hiện tại đƣa ra các thách thức khác nhau
cho việc định tuyến và đánh địa chỉ, hiện nay thử thách lớn nhất là để thiết lập hạ
tầng toàn cầu có tính tin cậy và có tính khả phân cấp tƣơng tự nhƣ hạ tầng mạng
Internet unicast ngày nay.
Trong khi giao thức mạng IP tự bản thân nó cung cấp các cơ chế kế thừa
đối với IP multicast, các giao thức lớp cao hơn không hỗ trợ nó. Mặc dù các giao
thức không tin cậy nhƣ UDP, RTP có thể sử dụng trên nóc của IP multicast, TCP
và các giao thức truyền tải tin cậy hơn trong các môi trƣờng unicast không hộ trợ
multicast. Do vậy các giao thức truyền tải multicast phải đƣợc phát triển và vì thế
không có giao thức truyền tải mục đích chung cho mọi trƣờng hợp, tuy nhiên lại
xuất hiện các giao thức khả cấu hình cao và các giao thức đƣợc chuyên biệt cao
cho các mục đích truyền tải tin cậy đặc biệt trong môi trƣờng IP multicast.
1.2 Các thành phần tham gia vào truyền thông multicast
Để tham gia vào quá trình trao đổi dữ liệu các máy tính và router cần hỗ trợ
giao thức multicast, khi đó các máy có thể gửi hay nhận lƣu lƣợng multicast.
Máy nguồn gửi dữ liệu multicast tới một địa chỉ nhóm, đây là một địa chỉ lớp D.
Các máy trạm muốn nhận các gói tin multicast sẽ liên hệ với router cục bộ để
đăng ký tham gia nhóm và nhận dữ liệu. Các router sẽ sử dụng một giao thức
định tuyến multicast để xác định các mạng con có các thành viên của nhóm và
chuyển dữ liệu multicast tới các máy nhận. Nếu mạng con không có thành viên
của nhóm, router sẽ không chuyển dữ liệu tới mạng đó. Ta sẽ tìm hiểu các thành
thành phần tham gia vào truyền thông multicast và hoạt động của chúng trong
mạng qua minh hoạ trên hình 1.2:
6
Hình 1.2: Các thành phần tham gia vào truyền thông multicast
Trong mô phỏng trên hình 1.2 các hoạt động diễn ra nhƣ sau:
Host A trong Subnet 1 là một nguồn multicast và gửi dữ liệu multicast tới
địa chỉ nhóm.
Host B trong Subnet 1 gửi yêu cầu tham gia nhóm tới router cục bộ của nó.
Bởi vì Host B đã gia nhập vào nhóm nên giao diện mạng của nó sẽ lắng
nghe các gói dữ liệu gửi tới địa chỉ nhóm. Các máy tính còn lại trong
Subnet 1 không tham gia nhóm nên chúng sẽ lọc bỏ các lƣu lƣợng gửi tới
địa chỉ nhóm multicast.
Router sẽ chuyển dữ liệu multicast tới tất cả các mạng con có thành viên
của nhóm. Trong trƣờng hợp này, router sẽ chuyển dữ liệu từ Subnet 1 tới
Subnet 3.
Host C trong Subnet 3 đã tham gia vào nhóm do đó nó sẽ nhận dữ liệu
multicast.
Host D trong Subnet 3 gửi yêu cầu tới router để tham gia nhóm, sau khi
tham gia nhóm giao diện mạng của nó sẽ lắng nghe và nhận các dữ liệu gửi
tới địa chỉ nhóm.
Các thành phần tham gia vào truyền thông multicast:
7
Host (bao gồm nguồn hoặc đích): là các là các máy tính tham gia kết nối
vào mạng và hỗ trợ quá trình gửi và nhận dữ liệu multicast.
Router: là các router hỗ trợ giao thức multicast, nó có khả năng xử lý các
yêu cầu tham gia hay rời nhóm và có giao thức định tuyến multicast để xác
định và chuyển dữ liệu tới các mạng con.
Địa chỉ multicast: là địa chỉ lớp D, nó chính là địa chỉ của nhóm multicast.
Nhóm multicast: là một tập các thiết bị đầu cuối lắng nghe dữ liệu gửi tới
một địa chỉ multicast.
MBone: viết tắt của từ Internet multicast backbone là một phần của Internet
hỗ trợ quá trình định tuyến và gửi dữ liệu multicast.
1.3 Địa chỉ multicast
Các router phải có phƣơng thức để phân biệt dữ liệu 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 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, hình 1.3 thể hiện định dạng của một địa chỉ lớp D.
28 bits
Class D
1
1
1
0
Multicast Group ID
Hình 1.3: Định dạng của địa chỉ IP lớp D
Làm thế nào để một router kết hợp một địa chỉ multicast của IP với một địa
chỉ MAC. Do không có cơ chế tƣơng đƣơng với giao thức phân giải địa chỉ nhƣ
trong truyền thông unicast, 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 01005E, phần 28 bit
sau của địa chỉ IP multicast sẽ đƣợc ánh xạ vào 23 bit thấp của địa chỉ MAC
bằng một giải thuật đơn giản.
8
224 - 239
IP Multicast
MAC Address
Y
Z
1110
Address
Multicast
X
5 bit
28 bit
Không sử dụng
Ánh xạ sang địa chỉ MAC
000 000 0100 0000 00010 111 010
01
00
5E
X
Y
Z
Hình 1.4: Ánh xạ địa chỉ IP multicast sang địa chỉ MAC
Hình 1.4 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. Ánh xạ 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. Sự nhập nhằng này dẫn đến một vấn đề nhỏ khi host multicast nhận một
Ethernet frame của địa chỉ multicast. Một địa chỉ MAC có thể tƣơng ứng với 32
địa chỉ IP multicast khác nhau. Vì vậy, khi một host nhận dữ liệu nó 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. Sau
đây là một số không gian địa chỉ đƣợc dành riêng của multicast:
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 224.0.0.1, tất cả các router 224.0.0.2, tất cả các
OSPF router 224.0.0.5 … đây là địa chỉ các nhóm cố định vì các địa chỉ này
đƣợc xác định trƣớc.
Khoảng địa chỉ dành cho quản trị 239.0.0.0 - 239.255.255.255 đƣợc dùng
trong các miền multicast khác nhau, giống nhƣ dãy địa chỉ dành riêng trong
RFC1918. Địa chỉ này không đƣợc sử dụng giữa các miền multicast nên nó
có thể đƣợc dùng lại nhiều lần.
9
Đị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 sử dụng trên Internet vì vậy địa chỉ này
phải duy nhất.
1.4 Cây phân phối multicast
Để phân phối dữ liệu multicast tới tới tất cả các máy nhận, cây phân phối
multicast đƣợc sử dụng, nó có tác dụng điều khiển đƣờng đi của dữ liệu truyền
trên mạng. Có hai loại cơ bản của cây phân phối multicast là cây nguồn và cây
chia sẻ.
1.4.1 Cây nguồn
Dạng đơn giản nhất của cây phân phối là cây nguồn,với gốc của nó chính là
nguồn dữ liệu multicast và các nhánh của nó dẫn tới các đầu cuối nhận dữ liệu
trên mạng. Do loại cây này sử dụng đƣờng đi ngắn nhất nên còn có tên là cây
đƣờng đi ngắn nhất (Shortest Path Tree – SPT). Hình 1.5 biểu diễn một ví dụ của
cây SPT cho nhóm 224.1.1.1 có gốc tại host A là nguồn dữ liệu và hai máy nhận
là host B và host C.
Hình 1.5: Cây đƣờng đi ngắn nhất của host A
- Xem thêm -