TRƯỜNG ………………….
KHOA……………………….
Báo cáo tốt nghiệp
Đề tài:
TÌM HIÊU CÔNG NGHỆ IP MULITICAST
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 31
2.2 Giao thức PIM Dense Mode 33
2.2.1 Tìm kiếm hàng xóm 33
2.2.1.1 Thông điệp Hello 33
2.2.1.2 Router được chỉ định 33
2.2.1.3 Cây phân phối multicast 34
2.2.2 Cắt nhánh 35
2.2.3 Cơ chế xác nhận 37
2.2.4 Ghép nhánh 38
2.3 PIM Sparse Mode 39
2.3.1 Mô hình tham gia 39
2.3.2 Cây chia sẻ 40
2.3.2.1 Tham gia cây chia sẻ 40
2.3.2.2 Cắt nhánh trên cây chia sẻ 43
2.3.3 Cây đường đi ngắn nhất 45
2.3.3.1 Tham gia cây đường đi ngắn nhất 45
2.3.3.2 Cắt nhánh trên cây đường đi ngắn nhất 47
2.3.4 Thông điệp Join/Prune 48
2.3.5 Đăng ký nguồn dữ liệu 49
2.3.5.1 Thông điệp PIM Register 49
2.3.5.2 Thông điệp PIM Register – Stop 50
2.3.6 Chuyển từ cây chia sẻ sang cây đường đi ngắn nhất 50
I
2.4 Giao thức Multicast Open Shortest Path First 54
2.4.1 Định tuyến multicast trong vùng 54
2.4.2 Định tuyến multicast trên nhiều vùng 56
2.4.3 Định tuyến multicast trên các vùng tự trị 59
CHƯƠNG 3 61
SỬ DỤNG ACCESS GRID XÂY DỰNG 61
HỆ THỐNG HỘI NGHỊ TRUYỀN HÌNH DỰA TRÊN IP MULTICAST 61
3.1 Các khái niệm chung về dịch vụ hội nghị truyền hình 61
3.1.1 Hệ thống hội nghị truyền hình 62
3.1.2 Các thành phần cơ bản của hội nghị truyền hình 63
3.2 Giao thức RTP 64
3.2.1 Khuôn dạng RTP header 64
3.2.2 Các ứng dụng sử dụng RTP 65
3.2.2.1 Thoại hội nghị đơn giản 65
3.2.2.2 Thoại và truyền hình hội nghị 67
3.2.2.3 Bộ trộn và bộ biên dịch 67
3.3 Đồng bộ luồng hình ảnh và âm thanh 68
3.4 Sử dụng Access Grid xây dựng một hội nghị truyền hình 70
3.4.1 Các thành phần của Access Grid 70
3.4.2 Sử dụng Access Grid client để tham gia vào hội nghị truyền hình 73
KẾT LUẬN 76
HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 77
TÀI LIỆU THAM KHẢO
II
DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Viết đầy đủ 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
Border Routers
Router trên biên vùng tự trị
DR Designated Router Router được lựa chọn
DVMRP Distance Vector Multicast
Routing Protocol
Giao thức định tuyến multicast véc-
tơ khoảng cách
IGMP Internet Group
Management Protocol
Giao thức quản lý nhóm Internet
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
Router biên vùng multicast
MBONE Multicast Backbone Đường trục multicast
MOSPF Multicast Open Shortest
Path First
Giao thức định tuyến multicast dựa
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 Protocol Independent
Multicast
Giao thức định tuyến multicast độc
lập
PIM-DM Protocol Independent
Multicast Dense Mode
Giao thức định tuyến multicast độc
lập theo mô hình tập trung
PIM-SM Protocol Independent
Multicast Sparse Mode
Giao thức định tuyến multicast độc
lập theo mô hình phân tán
RAT Robust Audio Tool Công cụ truyền âm thanh trong ứng
dụng hội nghị truyền hình
RIP Routing Information
Protocol
Giao thức thông tin định tuyến
RPF Reverse Path Forwarding Kiểm tra đường dẫn ngược
RP Rendezvous Point Điểm hẹn
RTCP Real Time Transport
Control Protocol
Giao thức điều khiển truyền thông
thời gian thực
RTP Realtime Transport
Protocol
Giao thức truyền thông thời gian
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ị
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 28
Hình 2.4: Trao đổi định tuyến DVMRP bước 3 29
Hình 2.5: Cắt nhánh trong DVMRP bước 1 30
Hình 2.6: Cắt nhánh trong DVMRP bước 2 31
Hình 2.7: Ghép nhánh trong DVMRP bước 1 32
Hình 2.8: Ghép nhánh trong DVMRP bước 2 32
Hình 2.9: Cây phân phối PIM-DM 35
Hình 2.10: Cắt nhánh trong PIM-DM bước 1 36
Hình 2.11: Cắt nhánh trong PIM-DM bước 2 36
Hình 2.12: Cắt nhánh trong PIM-DM bước 3 37
Hình 2.13: Xác nhận trong PIM-DM 38
III
Hình 2.14: Ghép nhánh trong PIM-DM 39
Hình 2.15: Tham gia cây chia sẻ PIM bước 1 40
Hình 2.16: Tham gia cây chia sẻ PIM bước 2 41
Hinh 2.17: Tham gia cây chia sẻ PIM bước 3 42
Hình 2.18: Tham gia cây chia sẻ PIM bước 4 42
Hình 2.19: Tham gia cây chia sẻ PIM bước 5 43
Hình 2.20: Tham gia cây chia sẻ PIM bước 6 43
Hình 2.21: Cắt nhánh trên cây chia sẻ bước 1 44
Hình 2.22: Cắt nhánh trên cây chia sẻ bước 2 44
Hình 2.23: Cắt nhánh trên cây chia sẻ bước 3 45
Hình 2.24: Tham gia cây đường đi ngắn nhất bước 1 46
Hình 2.25: Tham gia cây đường đi ngắn nhất bước 2 46
Hình 2.26: Tham gia cây đường đi ngắn nhất bước 3 47
Hình 2.27: Cắt nhánh trên cây đường đi ngắn nhất bước 1 47
Hình 2.28: Cắt nhánh trên cây đường đi ngắn nhất bước 2 48
Hình 2.29: Cắt nhánh trên cây đường đi ngắn nhất bước 3 48
Hình 2.30: Chuyển sang cây SPT bước 1 51
Hình 2.31: Chuyển sang cây SPT bước 2 51
Hình 2.32: Cắt bỏ nguồn khỏi cây chia sẻ bước 3 52
Hình 2.33: Cắt bỏ nguồn khỏi cây chia sẻ bước 4 53
Hình 2.34: Cắt bỏ nguồn khỏi cây chia sẻ bước 5 53
Hình 2.35: Vùng MOSPF chứa nguồn và thành viên nhóm G 55
Hình 2.36: Cây đường đi ngắn nhất MOSPF SPT cho mạng N3 và N4 56
Hình 2.37: Thông điệp nhóm tóm tắt trong vùng đường trục 57
Hình 2.38: Cây đường đi ngắn nhất SPT trong vùng đường trục 58
Hình 2.39: Nguồn trong vùng không phải đường trục 59
Hình 2.40: Lưu lượng multicast xuống các miền MOSPF 60
Hình 3.1: Thành phần của hội nghị truyền hình 63
Hình 3.2: Khuôn dạng RTP header 64
Hình 3.3: Các thành phần của Access Grid 70
Hình 3.4: Desktop node 71
III
Hình 3.5: Office node 72
Hình 3.6: Room node 72
Hình 3.7: Mối quan hệ giữa multicast và Access Grid 73
Hình 3.8: Profile Dialog 73
Hình 3.9: Điền địa chỉ virtual venue để kết nối 73
Hình 3.10: Venue client 74
Hình 3.11: Cửa sổ video 74
Hình 3.12: Cửa sổ audio 75
III
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
2
tham gia nhóm multicast thông qua giao thức Internet Group Management
Protocol.
− 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
4
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ệ
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.
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.
Multicast Group ID
0 1 1 1
Class D
28 bits
8
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.
28 bit
Ánh xạ sang địa chỉ MAC
Multicast
MAC Address
0 0 0 0 0 0 0 1 0 0000000010111010
1110
5 bit
Không sử dụng
01 00 5E X Y Z
X Y Z
IP Multicast
224 - 239
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
10
Hình 1.6: Cây đường đi ngắn nhất của host B
Ký hiệu đặc biệt (S, G) chỉ ra một cây SPT trong đó S là địa chỉ IP của
nguồn dữ liệu và G là địa chỉ của nhóm multicast. Áp dụng cho mạng như trên
hình 1.5 ký hiệu có thể được viết như sau (192.1.1.1, 224.1.1.1). Mỗi ký hiệu (S,
G) ứng với một nguồn gửi dữ liệu vì thế nếu host B cũng gửi dữ liệu tới nhóm
224.1.1.1 và các host A và C là các máy nhận thì ký hiệu (S, G) ứ
ng với nguồn B
sẽ là (192.2.2.2, 224.1.1.1) như trong hình 1.6.
1.4.2 Cây chia sẻ
Không có gốc ứng với từng nguồn như 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 chia sẻ này còn
được gọi là điểm hẹn (Rendezvous Point – RP). Hình 1.7 thể hiện một cây chia
sẻ cho nhóm 224.2.2.2 với gốc cây 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 đầu cuối nhận dữ liệu.
Trong hình 1.7 dữ liệu multicast từ host A và host D được gửi tới gốc cây là
router D và theo nhánh cây đến hai máy nhận là host B và host C. Bởi vì tất cả
11
các nguồn trong nhóm multicast cùng sử dụng chung một cây chia sẻ, một ký
hiệu (*, G) được sử dụng để biểu diễn cây. Trong đó ký hiệu * có nghĩa là tất cả
các nguồn và G biểu diễn địa chỉ nhóm multicast. Vì thế cây chia sẻ trong hình
1.7 có thể được viết (*, 224.2.2.2).
Hình 1.7: Cây chia sẻ
Cây chia sẻ được chia làm hai loại: cây một chiều và cây hai chiều. Trong
cây hai chiều dữ liệu có thể truyền lên và xuống để tới tất cả các máy nhận. Hình
1.8 thể hiện một ví dụ của cây chia sẻ hai chiều, trong đó dữ liệu từ host B được
gửi ngược lên gốc cây và từ gốc cây được gửi xuống router B đến router A và
đến máy nhận.
Cây chia sẻ một chiều chỉ cho dữ liệu multicast
đi xuống theo chiều từ gốc
cây đến các máy nhận. Vì thế nguồn dữ liệu cần sử dụng một cách khác để gửi
dữ liệu tới gốc cây và từ đó chuyển tới các máy nhận. Một phương pháp được sử
dụng đó là cho gốc của cây chia sẻ tham gia vào một cây SPT có gốc là nguồn dữ
liệu. Hình 1.9 minh họa một cây chia sẻ một chiều trong đó gốc của cây tham gia
vào cây SPT có g
ốc là host B và dữ liệu được gửi từ B tới gốc. Khi gốc cây nhận
12
dữ liệu nó sẽ gửi dữ liệu xuống các nhánh để tới các máy nhận. Giao thức định
tuyến PIM sử dụng phương pháp này để lấy dữ liệu từ nguồn tới router RP.
Hình 1.8: Cây chia sẻ hai chiều
Hình 1.9: Cây chia sẻ một chiều sử dụng cây SPT
13
Hình 1.10: Cây chia sẻ một chiều sử dụng định tuyến unicast
Một cách khác để gửi dữ liệu multicast tới gốc cây là cho gốc cây kết nối
trực tiếp với nguồn và dữ liệu được gửi tới gốc thông qua phương thức unicast.
Giao thức định tuyến CBT sử dụng phương pháp này khi một máy nguồn chỉ gửi
dữ liệu tới nhóm (máy nguồn chỉ gửi dữ liệu và không nhậ
n dữ liệu từ nhóm).
Trong hình 1.10 host A là nguồn chỉ gửi dữ liệu nó không tham gia vào nhóm
multicast vì thế nó không thuộc một nhánh trên cây chia sẻ.
Trong ví dụ trên router A đóng gói dữ liệu multicast từ host A và sử dụng
định tuyến unicast để gửi gói tin trực tiếp đến gốc cây. Tại gốc cây dữ liệu được
mở gói và gửi xuống các nhánh cây để tới máy nhận.
1.5 Chuyển tiếp multicast
Trong cơ chế định tuyến unicast, lưu lượng được chuyển tiếp qua mạng
theo một đường duy nhất từ nguồn tới đích. Router unicast không thực sự quan
tâm đến địa chỉ nguồn, nó chỉ quan tâm đến địa chỉ đích và cách để chuyển tiếp
lưu lượng tới đích. Router quét bảng định tuyến của nó và chuyển tiếp một bản
sao duy nhất qua giao diện hướng đến đích. Trong c
ơ chế multicast nguồn gửi dữ