SlideShare uma empresa Scribd logo
1 de 48
Baixar para ler offline
ĐẠ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
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................................................... 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.
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
0000000100000000010111010
1110
5 bit
Không sử dụng
01 00 5E X Y Z
X Y Z
IP Multicast
Address
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ữ
14
liệu tới một nhóm các máy thông qua địa chỉ nhóm đƣợc lƣu trong trƣờng địa chỉ
đích của một gói tin IP. Vì thế các gói tin multicast không thể chỉ đơn giản xác
định đƣờng đi tiếp theo cho gói tin dựa vào địa chỉ đích nhƣ trong giao thức định
tuyến unicast. Các router thƣờng phải gửi dữ liệu lên nhiều giao diện của nó để
đến đƣợc tất cả các máy nhận. Chính vì thế giao thức định tuyến multicast phức
tạp hơn so với định tuyến unicast.
Hầu hết các phƣơng pháp định tuyến multicast sử dụng chuyển tiếp theo
đƣờng dẫn ngƣợc (Reverse Path Forwarding – RPF) nhƣ là một cơ chế kiểm tra
chính để quyết định chuyển tiếp hay loại bỏ một gói tin. Khi một gói tin multicast
đến router, router sẽ thực hiện kiểm tra RPF đối với gói tin. Địa chỉ nguồn của
gói tin sẽ đƣợc kiểm tra để biết rằng gói tin đó có đƣợc nhận từ giao diện có
đƣờng đi ngắn nhất trở lại nguồn (giao diện RPF) hay không. Nếu kiểm tra RPF
thành công gói tin đƣợc chuyển tiếp, nếu kiểm tra thất bại router sẽ loại bỏ gói tin
đó. Cách thức để router xác định giao diện là RPF đối với một gói tin phụ thuộc
vào giao thức định tuyến đƣợc sử dụng. Một số giao thức multicast duy trì một
bảng định tuyến multicast riêng của nó để sử dụng vào kiểm tra RPF nhƣ giao
thức DVMRP. Có những giao thức khác sử dụng bảng định tuyến unicast ở trên
router để xác định giao diện RPF nhƣ giao thức PIM hay CBT.
Mỗi lần một gói tin multicast đƣợc chuyển tiếp bởi router giá trị trƣờng
TTL (Time To Live) trong IP header sẽ giảm đi một. Nếu giá trị TTL của gói tin
giảm về không, router sẽ loại gói tin. Giới hạn TTL có thể đƣợc áp dụng cho một
giao diện cụ thể của một router multicast để ngăn chặn các gói tin multicast có
giá trị TTL nhỏ hơn ngƣỡng đƣợc chuyển qua giao diện. Trong hình 1.11 minh
họa một router áp dụng giới hạn TTL cho các giao diện của nó.
Hình 1.11: Giới hạn TTL
15
Trong hình 1.11, gói tin multicast đến router từ cổng Serial0, giả sử rằng
kiểm tra RPF thành công và các cổng còn lại của router đều có trong danh sách
cổng ra cho nhóm multicast, vì thế dữ liệu sẽ đƣợc chuyển tiếp đến các cổng. Tuy
nhiên do router áp dụng giới hạn ngƣỡng TTL tại các giao diện vì thế gói tin chỉ
đƣợc chuyển tiếp ra các cổng Serial1 và Ethernet0, còn ở cổng Serial2 ngƣỡng
TTL là 64 lớn hơn giá trị TTL của gói tin là 23 vì thế gói tin không đƣợc chuyển
tiếp.
1.6 Đƣờng trục multicast
Mạng đƣờng trục multicast – MBone đƣợc xây dựng nhằm đánh giá các
ứng dụng cũng nhƣ các giao thức đƣợc xây dựng phục vụ truyền thông multicast
dữ liệu, audio và video. MBone đƣợc thiết kế hoạt động ở lớp trên của Internet
và đƣợc cấu thành bởi mạng lƣới các ốc đảo multicast. Các ốc đảo giao tiếp với
mạng bên ngoài thông qua một bộ định tuyến có khả năng xử lý các gói IP
multicast thông qua hỗ trợ giao thức quản lý nhóm Internet IGMP và các giao
thức định tuyến khác đƣợc xác định là một MRouter hay IP multicast router. Tiếp
giáp với các ốc đảo là các bộ định tuyến IP truyền thống chỉ hỗ trợ xử lý các gói
IP unicast đƣợc xác định là các URouter (IP unicast router). Các MRouter của
các mạng khác nhau kết nối thông qua các liên kết ảo từ điểm tới điểm thông qua
cơ chế đƣờng hầm – tunneling. Kết quả là MBone đƣợc hình thành nhờ tập hợp
các MRouter đƣợc nối với nhau bởi các đƣờng hầm bao phủ toàn mạng.
Hình 1.12: Cơ chế đƣờng hầm liên kết các ốc đảo multicast
16
Đƣờng hầm là cơ chế cho phép chuyển gói dữ liệu multicast từ MRouter
nguồn đến MRouter đích thông qua các bộ định tuyến. MRouter nguồn thực hiện
đóng gói và chuyển tiếp dữ liệu. Việc đóng gói theo cơ chế đƣờng hầm thực hiện
bổ sung thêm phần tiêu đề IP mới với địa chỉ đích là địa chỉ IP unicast của
MRouter ở đầu bên kia của đƣờng hầm và địa chỉ nguồn là địa chỉ IP unicast của
MRouter đang gửi gói tin đó.
Hình 1.13: Đóng gói IP multicast theo cơ chế tunneling
Các bộ định tuyến trung gian nằm trên tuyến liên kết từ MRouter nguồn đến
MRouter đích sẽ xem gói này nhƣ gói dữ liệu unicast bình thƣờng và truyền đi
theo thông tin trong bảng định tuyến unicast. Ốc đảo multicast đích ở phía bên
kia của đƣờng hầm sẽ nhận gói unicast này và tách phần header đã đƣợc thêm
vào rồi sau đó gửi gói dữ liệu đó đi một cách thích hợp. Với bộ định tuyến các
gói dữ liệu đƣợc xem nhƣ đến từ MRouter lân cận và trong suốt đối với các bộ
định tuyến trung gian. Đƣờng đi trung gian đã bị ẩn đi đối với bộ định tuyến này.
Khi đó các MRouter xử lý các gói IP multicast tƣơng tự nhƣ các bộ định tuyến
xử lý các gói IP unicast nhƣ thể hiện trên hình 1.13.
Hình 1.14: Cơ chế đƣờng hầm liên kết các MRouter
17
Nhƣ thể hiện trên hình 1.14, MRouter R2 muốn gửi một gói tin IP đa hƣớng
tới MRouter R5. Trƣớc hết, R2 sẽ đóng vỏ gói tin (chuyển từ gói IP đa hƣớng
thành gói IP đơn hƣớng) rồi chuyển tiếp tới URouter R3. Gói đa hƣớng này sẽ đi
theo tuyến R3-R7-R8-R5. Nhƣ vậy, theo cơ chế đƣờng hầm, với MRouter R5 thì
gói tin này đƣợc xử lý với địa chỉ nguồn đến từ R2.
1.7 Giao thức quản lý nhóm Internet
Để nhận dữ liệu multicast từ một nguồn, các máy nhận đầu tiên phải tham
gia vào một nhóm multicast, nhóm này đƣợc xác định thông qua địa chỉ
multicast. Một host có thể tham gia vào một nhóm multicast bằng cách gửi các
yêu cầu đến router gần nhất. Tác vụ này đƣợc thực hiện thông qua giao thức quản
lý nhóm Internet - IGMP (Internet Group Management Protocol). Giao thức
IGMP phát triển từ giao thức Host Membership Protocol, đƣợc mô tả trong tài
liệu của Deering. IGMP phát triển từ IGMPv1 (RFC 1112) đến IGMPv2 (RFC
2236) và phiên bản mới nhất IGMPv3 (RFC 3376). Các thông điệp IGMP đƣợc
đóng gói trong IP datagram với trƣờng protocol number bằng 2, trong đó trƣờng
TTL có giá trị bằng 1. Các gói IGMP chỉ đƣợc truyền trong mạng LAN và không
đƣợc tiếp tục chuyển sang LAN khác do giá trị TTL của nó. Hai mục đích quan
trọng nhất của IGMP là:
Thông báo cho router multicast biết rằng có một máy muốn nhận dữ liệu từ
một nhóm multicast.
Thông báo cho router biết có một máy muốn rời nhóm multicast (nói cách
khác, máy đó không còn quan tâm đến việc nhận dữ liệu multicast nữa).
Các router thƣờng dùng IGMP để duy trì thông tin cho từng giao diện để
biết những nhóm multicast nào router cần phải truyền dữ liệu và những host
nào muốn nhận.
1.7.1 Giao thức IGMPv1
Giao thức IGMP phiên bản 1 bao gồm 2 loại thông điệp là Host
Membership Report và Host Membership Query. Định dạng của thông điệp
IGMPv1 đƣợc thể hiện nhƣ trong hình 1.15:
18
Hình 1.15: Thông điệp IGMPv1
Giá trị của các trƣờng trong IGMPv1 đƣợc mô tả trong bảng 1.1:
Bảng 1.1: Các trƣờng trong thông điệp IGMPv1
Tên trƣờng Độ dài Mô tả
Version 4 bit Chỉ định phiên bản của giao thức và luôn có
giá trị là 1
Type 4 bit Xác định 2 kiểu thông điệp có giá trị:
0x1 cho Host Membership Query
0x2 cho Host Membership Report
Unused 8 bit Chứa giá trị 0 khi gửi và bị bỏ qua khi nhận
Checksum 16 bit Dùng để kiểm tra lỗi trong quá trình truyền dữ
liệu
Group Address 32 bit Đƣợc gán về giá trị 0.0.0.0 khi router gửi gói
tin Host Membership Query và đƣợc gán giá trị
địa chỉ nhóm multicast khi một máy gửi thông
điệp Host Membership Report
1.7.1.1 Thông điệp Host Membership Report
Để tham gia vào một nhóm, host sẽ gửi một thông điệp Host Membership
Report tới router cục bộ, nó không cần quan tâm có các host khác trên mạng con
đã là thành viên của nhóm hay chƣa. Thông điệp này sử dụng địa chỉ 224.0.0.1
(địa chỉ all-hosts) nhƣ địa chỉ đích và chứa địa chỉ nhóm mà host muốn tham gia.
0 3 4 7 8 15 16 31
Unused
Type
Version Checksum
Group Address
19
1.7.1.2 Thông điệp Host Membership Query
Một router IGMPv1 sẽ gửi một cách định kỳ (mỗi 60 giây) thông điệp Host
Membership Query đến tất cả các host để kiểm tra xem các host này có còn quan
tâm nhận dữ liệu multicast nữa không. Các host có thể tham gia vào các nhóm
multicast ở bất kỳ thời điểm nào. IGMPv1 không có cơ chế để cho phép một host
rời khỏi một nhóm nếu host đó không còn muốn nhận dữ liệu từ nhóm multicast.
Thay vào đó, router sẽ kết luận là một cổng của nó không còn thuộc về một nhóm
multicast nào nếu cổng đó không nhận đƣợc thông điệp Host Membership Report
trong ba chu kỳ truy vấn liên tiếp. Điều này có nghĩa là, dữ liệu 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 dữ liệu multicast nữa.
1.7.2 Giao thức IGMPv2
Giao thức IGMP phiên bản 2 là sự mở rộng các chức năng của IGMP phiên
bản 1 bao gồm:
Một phƣơng thức để xác định router nào sẽ gửi các thông điệp truy vấn
multicast khi có nhiều router cùng kết nối vào một mạng con.
Một thông điệp mới đƣợc sử dụng khi một host muốn rời nhóm.
Một thông điệp mới cho phép router truy vấn cho từng nhóm cụ thể thay vì
tất cả các nhóm.
Phiên bản mới của thông điệp Host Membership Report.
Định dạng của thông điệp IGMPv2 đƣợc thể hiện nhƣ trong hình 1.16:
Hình 1.16: Thông điệp IGMPv2
0 7 8 15 16 31
Max RTime
Type Checksum
Group Address
20
Giá trị của các trƣờng trong IGMPv1 đƣợc mô tả trong bảng 1.2:
Bảng 1.2: Các trƣờng trong thông điệp IGMPv2
Tên trƣờng Độ dài Mô tả
Type 8 bit Xác định 4 kiểu thông điệp có giá trị:
0x11 cho Host Membership Query
0x12 cho IGMPv1 Host Membership Report
0x16 cho IGMPv2 Host Membership Report
0x17 cho Leave Group Message
Maximum
Response Time
8 bit Chỉ ra khoảng thời gian tối đa (tính bằng giây)
mà một host có thể phản hồi thông tin truy vấn,
chỉ sử dụng trong các thông điệp truy vấn
Checksum 16 bit Dùng để kiểm tra lỗi trong quá trình truyền dữ
liệu
Group Address 32 bit Đƣợc gán giá trị 0.0.0.0 trong gói tin truy vấn
và gán địa chỉ nhóm nếu thông điệp là cho từng
nhóm cụ thể. Các thông điệp Host Membership
Report hoặc thông điệp Leave Group có thể
mang địa chỉ của nhóm trong trƣờng này
1.7.2.1 Lựa chọn router truy vấn
Khác với IGMPv1, trong đó giao thức định tuyến multicast sẽ lựa chọn
router truy vấn, IGMPv2 sử dụng một phƣơng thức lựa chọn đơn giản để chọn
một router trên mỗi mạng con để gửi định kỳ các thông điệp Host Membership
Query. Router đƣợc chọn là router có địa chỉ IP nhỏ nhất. Khi một router nhận
đƣợc một gói tin truy vấn từ một router nào đó, nó sẽ kiểm tra địa chỉ nguồn của
gói tin đó. Nếu địa chỉ nguồn của router cục bộ nhỏ hơn địa chỉ nguồn trong gói
tin vừa đến, router sẽ vẫn tiếp tục gửi gói tin query vì nó biết rằng nó sẽ giữ vai
21
trò truy vấn. Còn nếu địa chỉ nguồn của gói tin truy vấn nhỏ hơn, router sẽ từ bỏ
vai trò truy vấn và không gửi gói tin.
1.7.2.2 Thông điệp rời nhóm
Khi một host muốn rời nhóm, nó sẽ gửi một thông điệp tới địa chỉ 224.0.0.2
(địa chỉ all-routers). Khi nhận đƣợc thông điệp rời nhóm, router sẽ gửi truy vấn
cho từng nhóm cụ thể tới mạng con chứa host. Nếu router không nhận đƣợc đƣợc
trả lời của truy vấn nó sẽ quyết định rằng trên mạng con đó không còn thành viên
nào của nhóm và không đẩy dữ liệu multicast tới đó nữa. Nếu router nhận đƣợc
phản hồi, nghĩa là trên mạng con đó vẫn còn host là thành viên của nhóm và nó
sẽ tiếp tục chuyển dữ liệu tới. Sử dụng thông điệp rời nhóm làm giảm đi các dữ
liệu thừa mà router chuyển đến các mạng con khi không còn thành viên nào của
nhóm.
1.7.2.3 Truy vấn cho từng nhóm
Một thông điệp Host Membership Query đƣợc gửi tới địa chỉ 224.0.0.1 để
tìm ra các nhóm multicast có thành viên trên mạng con. Trong IGMPv2 các
router còn có thể gửi thông điệp cho từng nhóm cụ thể tới một địa chỉ nhóm để
xác định nhóm đó có thành viên trên một mạng con hay không.
1.7.3 Giao thức IGMPv3
IGMP phiên bản 3 mở rộng chức năng của IGMPv2 bằng việc hỗ trợ tính
năng multicast cho từng nguồn cho phép các host lọc dữ liệu đi vào dựa trên địa
chỉ IP nguồn. Với IGMPv3 có thể có nhiều nguồn cho một dòng dữ liệu multicast
vì thế các host có thể gia nhập nhóm và nhận dữ liệu từ các nguồn gần nhất.
IGMPv3 còn cải tiến thông điệp Host Membership Query và thêm phiên bản mới
của Host Membership Report.
1.7.3.1 Lọc dữ liệu
Đây là khả năng cho phép một host chỉ ra nó sẽ nhận nguồn dữ liệu
multicast từ địa chỉ nguồn xác định. Với IGMPv1 và IGMPv2 một host thông
báo nhóm thành viên mà không quan tâm nguồn của dữ liệu gửi tới nhóm. Nếu
dữ liệu multicast gửi tới nhóm từ nhiều nguồn, một mạng con có thể nhận dữ liệu
22
multicast từ mỗi nguồn. IMGPv3 cho phép một host chỉ rõ hai thuộc tính sau đây
cho các nhóm multicast cụ thể:
Danh sách các nguồn mà host nhận dữ liệu.
Danh sách các nguồn mà host không nhận dữ liệu.
Các multicast router và các giao thức định tuyến multicast sử dụng thông
tin cho từng nguồn cụ thể trong IGMPv3 Host Membership Report để ngăn việc
chuyển các thông điệp multicast từ một nguồn tới một mạng con không có thành
viên của nhóm.
1.7.3.2 Thông điệp IGMPv3 Host Membership Query
IGMPv3 Host Membership Query có cùng giá trị kiểu và có cùng định dạng
với IGMPv2 Host Membership Query ngoài trừ nó thêm một số trƣờng ở sau
trƣờng địa chỉ nhóm. Các trƣờng này cung cấp các tham số truy vấn cho router và
chỉ rõ các nguồn đƣợc chấp nhận và không đƣợc chấp nhận ứng với mỗi nhóm
multicast. Danh sách các nguồn đƣợc chấp nhận và không chấp nhận chỉ đƣợc sử
dụng cho truy vấn tới một nhóm cụ thể có sử dụng tính năng lọc dữ liệu. Bảng
1.3 mô tả các trƣờng trong thông điệp IGMPv3 Host Membership Query:
Bảng 1.3: Các trƣờng trong thông điệp IGMPv3 Host Membership Query
Tên trƣờng Độ dài Mô tả
Type 8 bit Xác định 4 kiểu thông điệp có giá trị:
0x11 cho Host Membership Query
0x12 cho IGMPv1 Host Membership Report
0x16 cho IGMPv2 Host Membership Report
0x17 cho Leave Group Message
Maximum
Response Time
8 bit Chỉ ra khoảng thời gian tối đa (tính bằng giây)
mà một host có thể phản hồi thông tin truy vấn,
chỉ sử dụng trong các thông điệp truy vấn
Checksum 16 bit Dùng để kiểm tra lỗi trong quá trình truyền dữ
liệu
23
Group Address 32 bit Đƣợc gán giá trị 0.0.0.0 trong gói tin truy vấn
và gán địa chỉ nhóm nếu thông điệp là cho từng
nhóm cụ thể. Các thông điệp Membership
Report hoặc thông điệp Leave Group có thể
mang địa chỉ của nhóm trong trƣờng này
Reserved (Dành
riêng)
4 bit Chứa giá trị 0 khi gửi và bị bỏ qua khi nhận
Suppress 1 bit Gán giá trị 1 để chi rõ các router nhận dừng
cập nhật thời gian khi nhận một truy vấn
Querier’s
Robustness
Variable (QRV)
3 bit Chỉ ra các gói datagram mong đợi trên mạng.
IGMP có thể lấy lại QRV-1 gói datagram bị
mất
Querier’s Query
Interval
Code(QQIC)
8 bit Chỉ ra khoảng thời gian tính bằng giây mà
router đợi giữa hai truy vấn thông thƣờng
Number of
Sources
16 bit Chỉ số lƣợng địa chỉ nguồn chứa thông điệp
truy vấn
Source Addresses 32 bit Chứa địa chỉ IP của nguồn multicast
1.7.3.3 Thông điệp IGMPv3 Host Membership Report
Host sử dụng thông điệp IGMPv3 Host Membership Report để chỉ rõ các
nhóm multicast mà nó muốn gia nhập, với mỗi địa chỉ nhóm kèm theo danh sách
những địa chỉ nguồn mà host muốn nhận dữ liệu multicast và nguồn nào host
không muốn nhận. Thông điệp IGMPv3 Host Membership Report chứa một dãy
các bản ghi nhóm. Mỗi nhóm chứa địa chỉ nhóm multicast và một danh sách liên
kết các nguồn. Thông điệp IGMPv3 Host Membership Report đƣợc gửi tới địa
chỉ 224.0.0.22, đây là địa chỉ dành riêng cho router multicast hỗ trợ IGMPv3.
24
Bảng 1.4: Các trƣờng trong thông điệp IGMPv3 Host Membership Report
Tên trƣờng Độ dài Mô tả
Type 8 bit Xác định 3 kiểu thông điệp có giá trị:
0x12 cho IGMPv1 Host Membership Report
0x16 cho IGMPv2 Host Membership Report
0x22 cho IGMPv3 Host Membership Report
Reserved 8 bit Chứa giá trị 0 khi gửi và bị bỏ qua khi nhận
Checksum 16 bit Dùng để kiểm tra lỗi trong quá trình truyền dữ
liệu
Reserved 16 bit Chứa giá trị 0 khi gửi và bị bỏ qua khi nhận
Number of
Records
16 bit Chứa số lƣợng của nhóm bản ghi trong thông
điệp
Group Records Variable Mỗi bản ghi chỉ ra địa chỉ IP cho nhóm
multicast tham gia hay rời và danh sách các
nguồn nhận dữ liệu và không nhận dữ liệu
25
CHƢƠNG 2
ĐỊNH TUYẾN MULTICAST
Các giao thức định tuyến multicast đƣợc chia làm ba loại chính gồm: giao
thức hoạt động theo mô hình tập trung (dense mode) nhƣ DVMRP và PIM-DM,
các giao thức hoạt động theo mô hình phân tán (sparse mode) nhƣ PIM-SM và
giao thức hoạt động theo mô hình trạng thái liên kết (link-state) nhƣ MOSPF.
Các giao thức dense mode hoạt động theo cơ chế quảng bá và loại bỏ trong đó
các router cho rằng trên các mạng con tồn tại ít nhất một máy nhận dữ liệu
multicast, vì thế chúng gửi dữ liệu xuống tất cả các mạng cho đến khi nhận đƣợc
thông báo dừng gửi dữ liệu. Với cơ chế này các giao thức dense mode phù hợp
với các mạng máy tính nhỏ, trong đó lƣu lƣợng multicast đƣợc truyền tới hầu hết
các máy trên mạng. Các giao thức sparse mode hoạt động theo cách ngƣợc lại,
các router sẽ không gửi dữ liệu lên mạng trừ khi nó nhận đƣợc yêu cầu gửi dữ
liệu từ các máy nhận. Điều này làm giảm dữ liệu dƣ thừa truyền trên mạng, giúp
cho các giao thức sparse mode phù hợp với các mạng lớn, với số lƣợng các máy
tham gia nhận dữ liệu nhiều nhƣng nằm rải rác trên các mạng con.
2.1 Giao thức định tuyến multicast véctơ khoảng cách
Giao thức định tuyến multicast véctơ khoảng cách (Distance Vector
Multicast Routing Protocol – DVMRP) là giao thức định tuyến multicast đầu tiên
đƣợc sử dụng phổ biến. DVMRP đƣợc phát triển dựa trên giao thức định tuyến
unicast Routing Information Protocol (RIP) với một số thay đổi đề phù hợp với
cơ chế multicast.
2.1.1 Tìm kiếm hàng xóm
Tìm kiếm router hàng xóm là một quá trình quan trọng bởi vì các router sử
dụng giao thức DVMRP cần phải duy trì một danh sách các router hàng xóm để
thực hiện chuyển tiếp multicast. Điều này đặc biệt đúng khi DVMRP hoạt động
trên mạng đa truy cập nhƣ mạng Ethernet, bởi vì trên mạng có thể có nhiều router
DVMRP cùng tham gia. Để thực hiện điều đó, các thông điệp thăm dò DVMRP
26
Probe đƣợc các router gửi một cách định kỳ tới địa chỉ all-DVMRP-router
(224.0.0.4). Trên hình 2.1 thể hiện cơ chế tìm kiếm hàng xóm thông qua hoạt
động của 2 router.
Hình 2.1: Tìm hàng xóm trong DVMRP
Các bƣớc hoạt động của cơ chế tìm kiếm đƣợc minh họa trên hình 2.1 gồm:
Đầu tiên router 1 gửi một gói tin thăm dò, lúc này router 1 chƣa phát hiện
đƣợc các hàng xóm vì thế danh sách hàng xóm trong gói tin là rỗng.
Router 2 nhận đƣợc thông điệp thăm dò từ router 1, nó thêm địa chỉ IP của
router 1 vào danh sách các router hàng xóm của giao diện đã nhận gói tin.
Router 2 gửi thông điệp thăm dò lên mạng, trong đó có chứa địa chỉ IP của
router 1 trong danh sách hàng xóm.
Router 1 nhận đƣợc thông điệp từ router 2 thêm địa chỉ IP của router 2 vào
danh sách hàng xóm. Và ở chu kỳ gửi gói tin tiếp theo tiếp theo, router 1
gửi thông điệp lên mạng với địa chỉ IP của router 2 trong danh sách hàng
xóm.
Khi một router nhận đƣợc thông điệp thăm dò trong đó địa chỉ IP của nó có
trong danh sách hàng xóm, router biết rằng đã có một kết nối hai chiều đƣợc thiết
lập thành công giữa nó và hàng xóm, khi đó hai router có thể trao đổi dữ liệu với
nhau.
2.1.2 Trao đổi thông báo định tuyến
Các thông báo định tuyến của DVMRP đƣợc gửi một cách định kỳ theo
cách giống với giao thức định tuyến unicast RIP. Một điểm khác biệt quan trọng
27
là DVMRP quảng bá các đƣờng đi cùng với subnet mask cho phép DVMRP hoạt
động đƣợc trên giao thức classless. Trên hình 2.2 thể hiện một mạng multicast
bao gồm 2 router sử dụng DVMRP kết nối với nhau.
Hình 2.2: Trao đổi định tuyến DVMRP bƣớc 1
Trong bảng định tuyến của 2 router có chứa một số đƣờng đi mà các router
đã học đƣợc thông qua giao diện S0. Giả sử router 2 gửi thông điệp thông báo
trƣớc nhƣ trên hình 2.3.
Hình 2.3: Trao đổi định tuyến DVMRP bƣớc 2
28
Thông báo định tuyến từ router 2 chứa hai đƣờng đi và đƣợc gửi tới router
1. Router 1 thêm một thực thể cho mạng 204.1.16.0/24 vào bảng định tuyến của
nó, ngoài ra vì router 2 có giá trị metric tới mạng 151.10.0.0 nhỏ hơn nên router 1
cập nhật thực thể đã có trong bảng định tuyến với giá trị metric mới là 4 và giao
diện ra là E0. Sau đó router 1 phản hồi bằng cách gửi thông điệp thăm dò của nó
lên mạng để tới router 2.
Trong gói tin gửi tới router 2, router 1 đã sử dung kỹ thuật Poison Reverse
với hai đƣờng đi mà nó đã nhận trên cổng E0 bằng cách thêm giá trị ngƣỡng (32)
vào giá trị metric hiện tại. Kỹ thuật Poison Reverse trong DVMRP đƣợc sử dụng
để thông báo tới một router là có một router khác phụ thuộc vào nó trong việc
nhận dữ liệu từ một nhóm multicast. Vì thế router 2 biết rằng router 1 ở phía dƣới
trong cây multicast của nguồn dữ liệu và mong muốn nhận dữ liệu multicast từ
hai mạng này thông qua router 2. Router 2 nhận thông báo và thêm vào bảng
định tuyến của nó một thực thể mới cho mạng 198.14.32.0/24 nhƣ trong hình 2.4.
Hình 2.4: Trao đổi định tuyến DVMRP bƣớc 3
Sau khi cập nhật bảng định tuyến router 2 sẽ gửi một thông báo Poison
Reverse cho đƣờng đi 198.14.32.0/24 nhận từ router 1 bằng cách thêm ngƣỡng
vào giá trị metric. Điều này cho router 1 biết router 2 là ở phía dƣới và nhận dữ
liệu multicast từ mạng nguồn 198.14.32.0/24 thông qua router 1.
29
2.1.3 Cắt nhánh
DVMRP sử dụng cây nguồn để điều khiển đƣờng đi của luồng dữ liệu, ban
đầu dữ liệu multicast đƣợc gửi xuống tất cả các nhánh của cây. Để giảm lƣu
lƣợng dƣ thừa cần có một cơ chế cắt các nhánh cây mà trên đó không có các máy
nhận dữ liệu. Vì thế tại các router lá không có máy nhận dữ liệu kết nối trực tiếp,
một thông điệp DVMRP Prune đƣợc gửi ngƣợc lên cây multicast để yêu cầu
dừng gửi dữ liệu không mong muốn và cắt bỏ nhánh khỏi cây multicast. Trên
hình 2.5 mô tả mạng với một nguồn hoạt động S gửi dữ liệu multicast tới nhóm
G.
Hình 2.5: Cắt nhánh trong DVMRP bƣớc 1
Máy nhận 1 tham gia vào nhóm multicast G và nhận dữ liệu từ S. Các
đƣờng mũi tên chỉ ra luồng lƣu lƣợng (S, G) ban đầu đi xuống cây multicast
(đƣợc thể hiện bởi các mũi tên đứt nét) trƣớc khi thực hiện quá trình cắt nhánh.
router C không phải là router đƣợc chọn để gửi dữ liệu (Designated Router – DR)
cho mạng có máy nhận 1 kết nối vì thế nó trở thành một router lá. Vì thế router C
gửi một thông điệp DVMRP Prune tới router B để yêu cầu dừng gửi dữ liệu
không cần thiết (S, G). Khi nhận đƣợc thông điệp router B phản hồi bằng cách
cắt bỏ đƣờng đi tới router C.
Lúc này cả hai router X và Y cũng là router lá vì thế nó gửi thông điệp
Prune tới router E để yêu cầu cắt khỏi cây multicast. Router E biết rằng nó chỉ có
30
2 router hàng xóm, và vì cả hai router đã gửi thông điệp cắt nhánh nên router E
cũng gửi thông điệp Prune cho lƣu lƣợng (S, G) lên router D. Router D nhận
thông điệp từ E sẽ cắt bỏ đƣờng đi tới router E nhƣ trong hình 2.6.
Hình 2.6: Cắt nhánh trong DVMRP bƣớc 2
2.1.4 Ghép nhánh
Mỗi thông điệp cắt bỏ nhánh có một giá trị thời gian timeout, vì thế nếu một
nhánh đã bị cắt bỏ khỏi cây multicast sau khi hết thời gian timeout nó lại có thể
nhận dữ liệu từ nguồn. Tuy nhiên DVMRP còn hỗ trợ một cơ chế cho phép các
nhánh cây bị cắt bỏ có thể ghép trở lại mà không cần phải đợi hết khoảng thời
gian này. Để thực hiện điều này, router gửi một thông điệp DVMRP Graft tới
router phía trên để thông báo nó muốn đƣợc ghép trở lại cây multicast. Sau khi
router phía trên nhận đƣợc nó sẽ phản hồi lại bằng thông điệp Graft-Ack và
chuyển tiếp lƣu lƣợng multicast xuống router phía dƣới. Trên hình 2.7 tiếp tục
mô tả mạng nhƣ phần trƣớc, giả sử lúc này máy nhận 2 trên router Y tham gia
vào nhóm multicast và nhận dữ liệu từ nguồn S gửi tới nhóm G. Router Y biết
rằng nó đang ở trạng thái bị cắt bỏ khỏi cây multicast của nguồn S vì thế nó gửi
một thông điệp Graft tới router E. Khi router E nhận đƣợc thông điệp, router E
chuyển trạng thái cho cổng kết nối với router Y từ trạng thái cắt bỏ sang trạng
thái chuyển tiếp dữ liệu và gửi một thông điệp xác nhận Graft-Ack trở lại router
Y.
31
Hình 2.7: Ghép nhánh trong DVMRP bƣớc 1
Sau đó router E tiếp tục gửi tới router D một thông điệp Graft để yêu cầu
nhận dữ liệu multicast gửi tới nhóm G. Cuối cùng khi router D nhận đƣợc thông
điệp từ router E nó phản hồi bằng một thông điệp Graft-Ack và chuyển tiếp dữ
liệu multicast qua giao diện của nó để đến router E nhƣ trên hình 2.8.
Hình 2.8: Ghép nhánh trong DVMRP bƣớc 2
32
2.2 Giao thức PIM Dense Mode
Giao thức PIM (Protocol Independent Multicast) có tên là giao thức
multicast độc lập bởi vì nó hoạt động độc lập với giao thức định tuyến IP unicast.
PIM không quan trọng giao thức nào đƣợc sử dụng để tạo ra bảng định tuyến
unicast (bao gồm cả bảng định tuyến tĩnh) trên router, mà nó sử dụng thông tin từ
bảng định tuyến unicast để thực hiện quá tình kiểm tra Reverse Path Forwarding
(RPF) từ đó đƣa ra quyết định gửi dữ liệu. Bởi vì PIM không phải duy trì dữ liệu
của bảng định tuyến, nó sẽ không cần thực hiện các quá trình gửi và nhận các
thông báo cập nhật đƣờng đi trong bảng định tuyến giữa các router nhƣ các giao
thức khác, điều đó làm giảm đáng kể lƣu lƣợng truyền trên mạng.
PIM có thể cấu hình để hoạt động theo hai cơ chế là dense mode và sparse
mode, trong phần này chúng ta sẽ tìm hiểu về PIM dense mode (PIM – DM) bao
gồm các quá trình cơ bản nhƣ: tìm kiếm hàng xóm, cắt bỏ và ghép thêm nhánh
trên cây phân phối multicast, cơ chế xác nhận.
2.2.1 Tìm kiếm hàng xóm
2.2.1.1 Thông điệp Hello
Cũng giống nhƣ giao thức DVMRP, PIM-DM sử dụng cơ chế tìm kiếm
hàng xóm để thiết lập mối liên kết với router hàng xóm. Trong PIM-DMv1 thông
điệp tìm kiếm có tên là Router Query đƣợc đóng gói trong thông điệp IGMP và
đƣợc gửi tới địa chỉ 224.0.0.2 (địa chỉ all-routers). Trong PIM-DMv2 thông điệp
thăm dò có tên là Hello đƣợc gửi theo chu kỳ 30 giây tới địa chỉ 224.0.0.13 (địa
chỉ all-PIM-routers). Trong thông điệp Hello chứa một giá trị Holdtime để thông
báo cho các máy nhận biết khoảng thời gian hiệu lực của kết nối giữa hai máy bị
hết nếu không có thông điệp Hello khác đƣợc gửi trong thời gian đó.
2.2.1.2 Router được chỉ định
Ngoài việc thiết lập mối liên kết hàng xóm, thông điệp PIM Hello cũng
đƣợc sử dụng để tìm ra router đƣợc chỉ định để gửi dữ liệu (Designated Router –
DR) cho mạng đa truy cập. Thông qua thông điệp Hello các router sẽ biết đƣợc
router nào trên mạng có giá trị địa chỉ IP cao nhất, và router đó đƣợc chọn làm
33
DR cho mạng. Khi trong một phân đoạn mạng có nhiều router cùng tồn tại, ngƣời
quản trị mạng thông thƣờng cần chỉ định một router là DR. Tuy nhiên việc thay
đổi địa chỉ IP của router để chỉ định một router là DR thƣờng khó khăn hoặc
không thể thực hiện. Để thực hiện điều này, trong thông điệp PIMv2 Hello thêm
vào một lựa chọn về độ ƣu tiên DR-Priority. Khi đó các router có độ ƣu tiên cao
sẽ đƣợc chọn làm DR, nếu có hai hay nhiều router cùng độ ƣu tiên thì giá trị IP
đƣợc so sánh để bầu chọn.
2.2.1.3 Cây phân phối multicast
Bởi vì PIM-DM là một giao thức dense mode, cây nguồn (hay cây đƣờng đi
ngắn nhất) đƣợc sử dụng để chỉ ra quá trình phân phối dữ liệu tới các máy nhận
trên mạng. Các cây nguồn đƣợc xây dựng bằng cách sử dụng cơ chế quảng bá và
loại bỏ (flood and prune) ngay khi nguồn multicast bắt đầu truyền dữ liệu. Không
nhƣ DVMRP là giao thức sử dụng bảng định tuyến multicast của riêng nó, PIM-
DM sử dụng thông tin về hàng xóm của nó để xây dụng cây nguồn. Trong PIM-
DM các router kết nối với nguồn đƣợc cho là ở trên cây đƣờng đi ngắn nhất SPT
và các hàng xóm PIM-DM khác ở các nhánh phía duới của nguồn dữ liệu. Cây
SPT ban đầu chính là cây quảng bá (broadcast tree) bởi vì router gửi dữ liệu tới
tất cả các hàng xóm của nó, mà không biết trên các router đó có tồn tại các máy
nhận dữ liệu hay không. Hình 2.9 thể hiện một ví dụ về việc quảng bá dữ liệu
multicast trên mạng PIM-DM xuống cây quảng bá multicast.
Trong mạng trên hình 2.9, nguồn dữ liệu multicast gửi dữ liệu tới router A
và B từ đó gửi tiếp xuống các router PIM-DM phía dƣới là router C và D. Ta
thấy rằng luồng dữ liệu ban đầu trƣớc khi có các hoạt động cắt nhánh có nhiều
đƣờng đi dƣ thừa, nhƣ là router C nhận hai luồng dữ liệu giống nhau, hay router
C và D cùng gửi dữ liệu tới một phân đoạn mạng. Cây quảng bá này sẽ đƣợc điều
chỉnh để loại bỏ dƣ thừa khi quá trình loại bỏ nhánh đƣợc hoàn tất.
34
Hình 2.9: Cây phân phối PIM-DM
2.2.2 Cắt nhánh
Các router PIM-DM gửi thông điệp cắt nhánh Prune lên router phía trên của
nó khi có một trong các điều kiện sau: khi dữ liệu đến từ một giao diện không
phải là giao diện RPF hay khi một router nhận thấy phân đoạn mạng phía sau nó
không tồn tại các máy nhận muốn nhận dữ liệu từ nhóm multicast. Trên hình
2.10, giả sử metric cho đƣờng đi từ router A đến C tốt hơn đƣờng đi từ router B
đến C, lúc đó router C gửi thông điệp Prune tới router B vì dữ liệu đến nó trên
giao diện không phải là giao diện RPF đối với nguồn.
Ở bƣớc tiếp theo, router B phản hồi lại thông điệp Prune đƣợc gửi từ C và
đƣờng đi từ router B đến router C bị loại bỏ khỏi cây multicast. Ngoài ra router I
là một router lá không có các máy nhận dữ liệu kết nối tới, vì thế nó gửi một
thông điệp Prune tới router E. Router E phản hồi lại bằng cách loại bỏ đƣờng đi
tới router I và bởi vì router E cũng không có các máy nhận dữ liệu kết nối trực
tiếp nó cũng sẽ gửi dữ liệu tới router C và D. Tuy nhiên vì máy nhận 1 kết nối
trực tiếp tới cùng giao diện, router C và D sẽ bỏ qua thông điệp Prune từ E. Điều
đó có nghĩa dữ liệu từ nguồn vẫn tiếp tục đƣợc gửi tới router E và E tiếp tục gửi
thông điệp Prune lên router C và D.
35
Hình 2.10: Cắt nhánh trong PIM-DM bƣớc 1
Hình 2.11: Cắt nhánh trong PIM-DM bƣớc 2
Trong cơ chế cắt nhánh trên mạng đa truy cập, các router PIM-DM mong
muốn nhận thông điệp Join từ các hàng xóm để phản hồi lại thông điệp Prune của
hàng xóm khác trên cùng một giao diện. Router G và H trong hình 2.12 là một ví
dụ của cơ chế hoạt động trên.
Tải bản FULL (89 trang): https://bit.ly/3JNyO51
Dự phòng: fb.com/TaiHo123doc.net
36
Hình 2.12: Cắt nhánh trong PIM-DM bƣớc 3
G là một node lá và không có các máy nhận dữ liệu kết nối tới vì thế nó gửi
thông điệp Prune lên mạng tới router F. Tuy nhiên thông điệp Prune đƣợc gửi tới
địa chỉ all-PIM-router vì thế router H cũng nhận đƣợc thông điệp gửi tới F. Bởi
vì H có các máy nhận yêu cầu nhận dữ liệu, H sẽ gửi một thông điệp PIM Join và
nó sẽ hủy bỏ thông điệp Prune đƣợc gửi từ G. Để đảm bảo quá trình Prune hoạt
động hiệu quả các router PIM-DM khi nhận một thông điệp Prune sẽ không xử lý
ngay mà đợi 3 giây để các router khác gửi thông điệp Join. Nếu sau khoảng thời
gian này, router không nhận đƣợc thông điệp Join thì nó sẽ thực hiện quá trình
cắt nhánh.
2.2.3 Cơ chế xác nhận
Trở lại mạng trong hình 2.12, nguồn dữ liệu bây giờ chỉ gửi tới các máy
nhận trên mạng. Tuy nhiên vẫn còn một vấn đề nữa, đó là việc trùng lặp dữ liệu
đƣợc gửi bởi router C và D lên mạng để tới máy nhận 1. Để giải quyết vấn đề
trên, PIM sử dụng một cơ chế xác nhận để bình chọn ra một router DR cho
nguồn multicast. Cơ chế xác nhận hoạt động theo quy tắc sau: nếu một router
nhận dữ liệu multicast trên cổng mà cổng đó cũng gửi dữ liệu từ nguồn, thì router
sẽ gửi một thông điệp PIM Assert tới cổng mà nó nhận dữ liệu để tìm ra router
đƣợc lựa chọn. Trong thông điệp PIM Assert chứa giá trị metric tới nguồn, lúc đó
Tải bản FULL (89 trang): https://bit.ly/3JNyO51
Dự phòng: fb.com/TaiHo123doc.net
37
các router trên mạng kiểm tra giá trị metric và router nào có giá trị metric tốt nhất
sẽ đƣợc chọn làm router gửi dữ liệu. Các router khác sẽ ngừng gửi dữ liệu và loại
bỏ cổng của nó ra khỏi cây multicast. Trong trƣờng hợp có nhiều router có cùng
metric, địa chỉ IP sẽ đƣợc kiểm tra và router nào có địa chỉ IP cao nhất sẽ đƣợc
chọn.
Mạng trong hình 2.13 router C và D cùng gửi thông điệp PIM Assert lên
mạng, giả sử router C và D có cùng metric và router C có địa chỉ IP lớn hơn. Lúc
này router C sẽ đƣợc chọn làm router gửi dữ liệu còn router D sẽ ngừng gửi dữ
liệu và loại bỏ giao diện của nó ra khỏi cây multicast.
Hình 2.13: Xác nhận trong PIM-DM
2.2.4 Ghép nhánh
PIM-DM cũng hỗ trợ khả năng ghép trở lại cây multicast một nhánh cây đã
bị cắt bỏ trƣớc đó. Hình 2.14 thể hiện một mạng với một máy nhận thứ 3 tham
gia vào nhóm multicast trên router I.
6814704

Mais conteúdo relacionado

Mais procurados

He thong thong tin quang
He thong thong tin quangHe thong thong tin quang
He thong thong tin quangThanh Hoa
 
Mang va cac cong nghe truy nhap
Mang va cac cong nghe truy nhapMang va cac cong nghe truy nhap
Mang va cac cong nghe truy nhapvanliemtb
 
Erlang b table 1000 trunks
Erlang b table  1000 trunksErlang b table  1000 trunks
Erlang b table 1000 trunksHuynh MVT
 
Chuyen giao trong gsm
Chuyen giao trong gsmChuyen giao trong gsm
Chuyen giao trong gsmLinh Dinh
 
Contemporary Linux Networking
Contemporary Linux NetworkingContemporary Linux Networking
Contemporary Linux NetworkingMaximilan Wilhelm
 
đề Cương ôn tập thông tin vệ tinh
đề Cương ôn tập thông tin vệ tinhđề Cương ôn tập thông tin vệ tinh
đề Cương ôn tập thông tin vệ tinhHải Dương
 
Trắc nghiệm
Trắc nghiệmTrắc nghiệm
Trắc nghiệmnh0xpooh
 

Mais procurados (20)

He thong thong tin quang
He thong thong tin quangHe thong thong tin quang
He thong thong tin quang
 
Optisystem
OptisystemOptisystem
Optisystem
 
Mang va cac cong nghe truy nhap
Mang va cac cong nghe truy nhapMang va cac cong nghe truy nhap
Mang va cac cong nghe truy nhap
 
đIều chế tín hiệu (1)
đIều chế tín hiệu (1)đIều chế tín hiệu (1)
đIều chế tín hiệu (1)
 
Erlang b table 1000 trunks
Erlang b table  1000 trunksErlang b table  1000 trunks
Erlang b table 1000 trunks
 
FTTH-GPON
FTTH-GPONFTTH-GPON
FTTH-GPON
 
Ttq1
Ttq1Ttq1
Ttq1
 
Chuyen giao trong gsm
Chuyen giao trong gsmChuyen giao trong gsm
Chuyen giao trong gsm
 
Chuong 3 he thong viba va ve tinh
Chuong 3 he thong viba va ve tinhChuong 3 he thong viba va ve tinh
Chuong 3 he thong viba va ve tinh
 
He thong truyen dan PDH va SDH
He thong truyen dan PDH va SDHHe thong truyen dan PDH va SDH
He thong truyen dan PDH va SDH
 
Contemporary Linux Networking
Contemporary Linux NetworkingContemporary Linux Networking
Contemporary Linux Networking
 
Đề tài: Xây dựng điểm kiểm soát truy cập mạng không dây, HAY
Đề tài: Xây dựng điểm kiểm soát truy cập mạng không dây, HAYĐề tài: Xây dựng điểm kiểm soát truy cập mạng không dây, HAY
Đề tài: Xây dựng điểm kiểm soát truy cập mạng không dây, HAY
 
Wdm
WdmWdm
Wdm
 
Báo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạng
Báo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạngBáo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạng
Báo cáo thực tập môn học an ninh mạng tìm hiểu về mô hình mạng
 
Chap9
Chap9Chap9
Chap9
 
Luận văn: Truyền hình băng thông rộng trong mạng HFC, HAY
Luận văn: Truyền hình băng thông rộng trong mạng HFC, HAYLuận văn: Truyền hình băng thông rộng trong mạng HFC, HAY
Luận văn: Truyền hình băng thông rộng trong mạng HFC, HAY
 
Luận văn: Nghiên cứu công nghệ ảo hóa mạng với open flow
Luận văn: Nghiên cứu công nghệ ảo hóa mạng với open flowLuận văn: Nghiên cứu công nghệ ảo hóa mạng với open flow
Luận văn: Nghiên cứu công nghệ ảo hóa mạng với open flow
 
đề Cương ôn tập thông tin vệ tinh
đề Cương ôn tập thông tin vệ tinhđề Cương ôn tập thông tin vệ tinh
đề Cương ôn tập thông tin vệ tinh
 
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
Đề tài: Mô phỏng kênh truyền vô tuyến số bằng matlab, 9đ
 
Trắc nghiệm
Trắc nghiệmTrắc nghiệm
Trắc nghiệm
 

Semelhante a IP multicast và ứng dụng.pdf

Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...
Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...
Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...Man_Ebook
 
Hd sd word2010
Hd sd word2010Hd sd word2010
Hd sd word2010Heo Gòm
 
Tailieu.vncty.com he dieu hanh unix va linux
Tailieu.vncty.com   he dieu hanh unix va linuxTailieu.vncty.com   he dieu hanh unix va linux
Tailieu.vncty.com he dieu hanh unix va linuxTrần Đức Anh
 
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...sividocz
 
Tieng viet powerpoint 2010 training book
Tieng viet powerpoint 2010 training bookTieng viet powerpoint 2010 training book
Tieng viet powerpoint 2010 training bookDai Van Tuan
 
Giao trinh csharp tieng viet[bookbooming.com]
Giao trinh csharp tieng viet[bookbooming.com]Giao trinh csharp tieng viet[bookbooming.com]
Giao trinh csharp tieng viet[bookbooming.com]bookbooming1
 
Giao trinh csharp tieng viet[bookbooming.com]
Giao trinh csharp tieng viet[bookbooming.com]Giao trinh csharp tieng viet[bookbooming.com]
Giao trinh csharp tieng viet[bookbooming.com]bookbooming1
 
huong_dan_su_dung_sach_dien_tu_classbook
huong_dan_su_dung_sach_dien_tu_classbookhuong_dan_su_dung_sach_dien_tu_classbook
huong_dan_su_dung_sach_dien_tu_classbookTrần Minh Đức
 
Ứng dụng các yếu tố con người vào trong tổ chức HCI.pdf
Ứng dụng các yếu tố con người vào trong tổ chức HCI.pdfỨng dụng các yếu tố con người vào trong tổ chức HCI.pdf
Ứng dụng các yếu tố con người vào trong tổ chức HCI.pdfHanaTiti
 
Nghiên cứu một số giải pháp nâng cao chất lượng thu tín hiệu trong đài Radar
Nghiên cứu một số giải pháp nâng cao chất lượng thu tín hiệu trong đài RadarNghiên cứu một số giải pháp nâng cao chất lượng thu tín hiệu trong đài Radar
Nghiên cứu một số giải pháp nâng cao chất lượng thu tín hiệu trong đài RadarMan_Ebook
 

Semelhante a IP multicast và ứng dụng.pdf (20)

Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...
Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...
Nghiên Cứu Chống Sạt Lở Bờ Sông Đồng Tháp, Dùng Phương Pháp Phân Tích Trực Ti...
 
Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...
Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...
Phát triển thuật toán tự triển khai cho hệ thống đa robot giám sát môi trường...
 
Luận án: Phát triển một số phương pháp xây dựng hệ tư vấn
Luận án: Phát triển một số phương pháp xây dựng hệ tư vấnLuận án: Phát triển một số phương pháp xây dựng hệ tư vấn
Luận án: Phát triển một số phương pháp xây dựng hệ tư vấn
 
Hd sd word2010
Hd sd word2010Hd sd word2010
Hd sd word2010
 
Word2010
Word2010Word2010
Word2010
 
Luận án: Nghiên cứu hệ thống thông tin chuyển tiếp sử dụng đa truy nhập không...
Luận án: Nghiên cứu hệ thống thông tin chuyển tiếp sử dụng đa truy nhập không...Luận án: Nghiên cứu hệ thống thông tin chuyển tiếp sử dụng đa truy nhập không...
Luận án: Nghiên cứu hệ thống thông tin chuyển tiếp sử dụng đa truy nhập không...
 
Giao trinh he dieu hanh linux va unix
Giao trinh he dieu hanh linux va unixGiao trinh he dieu hanh linux va unix
Giao trinh he dieu hanh linux va unix
 
Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2Giao trinh he dieu hanh linux va unix 2
Giao trinh he dieu hanh linux va unix 2
 
Giao trinh he dieu hanh linux va unix 3
Giao trinh he dieu hanh linux va unix 3Giao trinh he dieu hanh linux va unix 3
Giao trinh he dieu hanh linux va unix 3
 
Tailieu.vncty.com he dieu hanh unix va linux
Tailieu.vncty.com   he dieu hanh unix va linuxTailieu.vncty.com   he dieu hanh unix va linux
Tailieu.vncty.com he dieu hanh unix va linux
 
Đề tài: Nghiên cứu lắp ráp máy đo tần số âm tần hiển thị số, HAY
Đề tài: Nghiên cứu lắp ráp máy đo tần số âm tần hiển thị số, HAYĐề tài: Nghiên cứu lắp ráp máy đo tần số âm tần hiển thị số, HAY
Đề tài: Nghiên cứu lắp ráp máy đo tần số âm tần hiển thị số, HAY
 
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...
Luận Văn Xây Dựng Hệ Thống Quản Lý Văn Bản Phục Vụ Điều Hành Trong Công Ty Th...
 
Tieng viet powerpoint 2010 training book
Tieng viet powerpoint 2010 training bookTieng viet powerpoint 2010 training book
Tieng viet powerpoint 2010 training book
 
Lập trình java
Lập trình javaLập trình java
Lập trình java
 
Giao trinh csharp tieng viet[bookbooming.com]
Giao trinh csharp tieng viet[bookbooming.com]Giao trinh csharp tieng viet[bookbooming.com]
Giao trinh csharp tieng viet[bookbooming.com]
 
Giao trinh csharp tieng viet[bookbooming.com]
Giao trinh csharp tieng viet[bookbooming.com]Giao trinh csharp tieng viet[bookbooming.com]
Giao trinh csharp tieng viet[bookbooming.com]
 
huong_dan_su_dung_sach_dien_tu_classbook
huong_dan_su_dung_sach_dien_tu_classbookhuong_dan_su_dung_sach_dien_tu_classbook
huong_dan_su_dung_sach_dien_tu_classbook
 
Ứng dụng các yếu tố con người vào trong tổ chức HCI.pdf
Ứng dụng các yếu tố con người vào trong tổ chức HCI.pdfỨng dụng các yếu tố con người vào trong tổ chức HCI.pdf
Ứng dụng các yếu tố con người vào trong tổ chức HCI.pdf
 
Lap trinhmangvoic sharp
Lap trinhmangvoic sharpLap trinhmangvoic sharp
Lap trinhmangvoic sharp
 
Nghiên cứu một số giải pháp nâng cao chất lượng thu tín hiệu trong đài Radar
Nghiên cứu một số giải pháp nâng cao chất lượng thu tín hiệu trong đài RadarNghiên cứu một số giải pháp nâng cao chất lượng thu tín hiệu trong đài Radar
Nghiên cứu một số giải pháp nâng cao chất lượng thu tín hiệu trong đài Radar
 

Mais de HanaTiti

TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdf
TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdfTRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdf
TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdfHanaTiti
 
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdf
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdfTRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdf
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdfHanaTiti
 
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...HanaTiti
 
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...HanaTiti
 
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...HanaTiti
 
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdf
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdfNhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdf
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdfHanaTiti
 
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdf
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdfPháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdf
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdfHanaTiti
 
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...HanaTiti
 
The impact of education on unemployment incidence - micro evidence from Vietn...
The impact of education on unemployment incidence - micro evidence from Vietn...The impact of education on unemployment incidence - micro evidence from Vietn...
The impact of education on unemployment incidence - micro evidence from Vietn...HanaTiti
 
Deteminants of brand loyalty in the Vietnamese neer industry.pdf
Deteminants of brand loyalty in the Vietnamese neer industry.pdfDeteminants of brand loyalty in the Vietnamese neer industry.pdf
Deteminants of brand loyalty in the Vietnamese neer industry.pdfHanaTiti
 
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdf
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdfPhát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdf
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdfHanaTiti
 
The current situation of English language teaching in the light of CLT to the...
The current situation of English language teaching in the light of CLT to the...The current situation of English language teaching in the light of CLT to the...
The current situation of English language teaching in the light of CLT to the...HanaTiti
 
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdf
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdfQuản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdf
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdfHanaTiti
 
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdf
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdfSự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdf
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdfHanaTiti
 
An Investigation into the Effect of Matching Exercises on the 10th form Stude...
An Investigation into the Effect of Matching Exercises on the 10th form Stude...An Investigation into the Effect of Matching Exercises on the 10th form Stude...
An Investigation into the Effect of Matching Exercises on the 10th form Stude...HanaTiti
 
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdf
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdfĐánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdf
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdfHanaTiti
 
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...HanaTiti
 
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...HanaTiti
 
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdf
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdfPHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdf
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdfHanaTiti
 
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdf
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdfENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdf
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdfHanaTiti
 

Mais de HanaTiti (20)

TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdf
TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdfTRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdf
TRUYỀN THÔNG TRONG CÁC SỰ KIỆN NGHỆ THUẬT Ở VIỆT NAM NĂM 2012.pdf
 
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdf
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdfTRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdf
TRỊ LIỆU TÂM LÝ CHO MỘT TRƢỜNG HỢP TRẺ VỊ THÀNH NIÊN CÓ TRIỆU CHỨNG TRẦM CẢM.pdf
 
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...
IMPACTS OF FINANCIAL DEPTH AND DOMESTIC CREDIT ON ECONOMIC GROWTH - THE CASES...
 
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...
THE LINKAGE BETWEEN CORRUPTION AND CARBON DIOXIDE EMISSION - EVIDENCE FROM AS...
 
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...
Phát triển dịch vụ Ngân hàng bán lẻ tại Ngân hàng thương mại cổ phần xuất nhậ...
 
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdf
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdfNhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdf
Nhân vật phụ nữ trong truyện ngắn Cao Duy Sơn.pdf
 
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdf
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdfPháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdf
Pháp luật về giao dịch bảo hiểm nhân thọ ở Việt Nam.pdf
 
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...
Tổ chức dạy học lịch sử Việt Nam lớp 10 theo hướng phát triển năng lực vận dụ...
 
The impact of education on unemployment incidence - micro evidence from Vietn...
The impact of education on unemployment incidence - micro evidence from Vietn...The impact of education on unemployment incidence - micro evidence from Vietn...
The impact of education on unemployment incidence - micro evidence from Vietn...
 
Deteminants of brand loyalty in the Vietnamese neer industry.pdf
Deteminants of brand loyalty in the Vietnamese neer industry.pdfDeteminants of brand loyalty in the Vietnamese neer industry.pdf
Deteminants of brand loyalty in the Vietnamese neer industry.pdf
 
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdf
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdfPhát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdf
Phát triển hoạt động môi giới chứng khoán của CTCP Alpha.pdf
 
The current situation of English language teaching in the light of CLT to the...
The current situation of English language teaching in the light of CLT to the...The current situation of English language teaching in the light of CLT to the...
The current situation of English language teaching in the light of CLT to the...
 
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdf
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdfQuản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdf
Quản lý chi ngân sách nhà nước tại Kho bạc nhà nước Ba Vì.pdf
 
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdf
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdfSự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdf
Sự tiếp nhận đối với Hàng không giá rẻ của khách hàng Việt Nam.pdf
 
An Investigation into the Effect of Matching Exercises on the 10th form Stude...
An Investigation into the Effect of Matching Exercises on the 10th form Stude...An Investigation into the Effect of Matching Exercises on the 10th form Stude...
An Investigation into the Effect of Matching Exercises on the 10th form Stude...
 
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdf
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdfĐánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdf
Đánh giá chất lượng truyền tin multicast trên tầng ứng dụng.pdf
 
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...
Quản lý các trường THCS trên địa bàn huyện Thanh Sơn, tỉnh Phú Thọ theo hướng...
 
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...
Nghiên cứu và đề xuất mô hình nuôi tôm bền vững vùng ven biển huyện Thái Thụy...
 
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdf
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdfPHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdf
PHÁT TRIỂN DOANH NGHIỆP THƯƠNG MẠI NHỎ VÀ VỪA TRÊN ĐỊA BÀN TỈNH HÀ TĨNH.pdf
 
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdf
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdfENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdf
ENERGY CONSUMPTION AND REAL GDP IN ASEAN.pdf
 

Último

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảohoanhv296
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docxTHAO316680
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxNhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxhoangvubaongoc112011
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...Nguyen Thanh Tu Collection
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanmyvh40253
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...Nguyen Thanh Tu Collection
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfhoangtuansinh1
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoámyvh40253
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfNguyen Thanh Tu Collection
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...Nguyen Thanh Tu Collection
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngYhoccongdong.com
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh chonamc250
 

Último (20)

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảoKiểm tra cuối học kì 1 sinh học 12 đề tham khảo
Kiểm tra cuối học kì 1 sinh học 12 đề tham khảo
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxNhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdfChuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
Chuong trinh dao tao Su pham Khoa hoc tu nhien, ma nganh - 7140247.pdf
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoáCác điều kiện bảo hiểm trong bảo hiểm hàng hoá
Các điều kiện bảo hiểm trong bảo hiểm hàng hoá
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdfBỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
BỘ LUYỆN NGHE VÀO 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ LỜI - CÓ FILE NGHE.pdf
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh cho
 

IP multicast và ứng dụng.pdf

  • 1. ĐẠ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
  • 2. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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.
  • 13. 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.
  • 14. 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ệ
  • 15. 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à
  • 16. 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:
  • 17. 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:
  • 18. 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
  • 19. 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 0000000100000000010111010 1110 5 bit Không sử dụng 01 00 5E X Y Z X Y Z IP Multicast Address 224 - 239
  • 20. 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
  • 21. 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ả
  • 22. 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
  • 23. 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
  • 24. 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ữ
  • 25. 14 liệu tới một nhóm các máy thông qua địa chỉ nhóm đƣợc lƣu trong trƣờng địa chỉ đích của một gói tin IP. Vì thế các gói tin multicast không thể chỉ đơn giản xác định đƣờng đi tiếp theo cho gói tin dựa vào địa chỉ đích nhƣ trong giao thức định tuyến unicast. Các router thƣờng phải gửi dữ liệu lên nhiều giao diện của nó để đến đƣợc tất cả các máy nhận. Chính vì thế giao thức định tuyến multicast phức tạp hơn so với định tuyến unicast. Hầu hết các phƣơng pháp định tuyến multicast sử dụng chuyển tiếp theo đƣờng dẫn ngƣợc (Reverse Path Forwarding – RPF) nhƣ là một cơ chế kiểm tra chính để quyết định chuyển tiếp hay loại bỏ một gói tin. Khi một gói tin multicast đến router, router sẽ thực hiện kiểm tra RPF đối với gói tin. Địa chỉ nguồn của gói tin sẽ đƣợc kiểm tra để biết rằng gói tin đó có đƣợc nhận từ giao diện có đƣờng đi ngắn nhất trở lại nguồn (giao diện RPF) hay không. Nếu kiểm tra RPF thành công gói tin đƣợc chuyển tiếp, nếu kiểm tra thất bại router sẽ loại bỏ gói tin đó. Cách thức để router xác định giao diện là RPF đối với một gói tin phụ thuộc vào giao thức định tuyến đƣợc sử dụng. Một số giao thức multicast duy trì một bảng định tuyến multicast riêng của nó để sử dụng vào kiểm tra RPF nhƣ giao thức DVMRP. Có những giao thức khác sử dụng bảng định tuyến unicast ở trên router để xác định giao diện RPF nhƣ giao thức PIM hay CBT. Mỗi lần một gói tin multicast đƣợc chuyển tiếp bởi router giá trị trƣờng TTL (Time To Live) trong IP header sẽ giảm đi một. Nếu giá trị TTL của gói tin giảm về không, router sẽ loại gói tin. Giới hạn TTL có thể đƣợc áp dụng cho một giao diện cụ thể của một router multicast để ngăn chặn các gói tin multicast có giá trị TTL nhỏ hơn ngƣỡng đƣợc chuyển qua giao diện. Trong hình 1.11 minh họa một router áp dụng giới hạn TTL cho các giao diện của nó. Hình 1.11: Giới hạn TTL
  • 26. 15 Trong hình 1.11, gói tin multicast đến router từ cổng Serial0, giả sử rằng kiểm tra RPF thành công và các cổng còn lại của router đều có trong danh sách cổng ra cho nhóm multicast, vì thế dữ liệu sẽ đƣợc chuyển tiếp đến các cổng. Tuy nhiên do router áp dụng giới hạn ngƣỡng TTL tại các giao diện vì thế gói tin chỉ đƣợc chuyển tiếp ra các cổng Serial1 và Ethernet0, còn ở cổng Serial2 ngƣỡng TTL là 64 lớn hơn giá trị TTL của gói tin là 23 vì thế gói tin không đƣợc chuyển tiếp. 1.6 Đƣờng trục multicast Mạng đƣờng trục multicast – MBone đƣợc xây dựng nhằm đánh giá các ứng dụng cũng nhƣ các giao thức đƣợc xây dựng phục vụ truyền thông multicast dữ liệu, audio và video. MBone đƣợc thiết kế hoạt động ở lớp trên của Internet và đƣợc cấu thành bởi mạng lƣới các ốc đảo multicast. Các ốc đảo giao tiếp với mạng bên ngoài thông qua một bộ định tuyến có khả năng xử lý các gói IP multicast thông qua hỗ trợ giao thức quản lý nhóm Internet IGMP và các giao thức định tuyến khác đƣợc xác định là một MRouter hay IP multicast router. Tiếp giáp với các ốc đảo là các bộ định tuyến IP truyền thống chỉ hỗ trợ xử lý các gói IP unicast đƣợc xác định là các URouter (IP unicast router). Các MRouter của các mạng khác nhau kết nối thông qua các liên kết ảo từ điểm tới điểm thông qua cơ chế đƣờng hầm – tunneling. Kết quả là MBone đƣợc hình thành nhờ tập hợp các MRouter đƣợc nối với nhau bởi các đƣờng hầm bao phủ toàn mạng. Hình 1.12: Cơ chế đƣờng hầm liên kết các ốc đảo multicast
  • 27. 16 Đƣờng hầm là cơ chế cho phép chuyển gói dữ liệu multicast từ MRouter nguồn đến MRouter đích thông qua các bộ định tuyến. MRouter nguồn thực hiện đóng gói và chuyển tiếp dữ liệu. Việc đóng gói theo cơ chế đƣờng hầm thực hiện bổ sung thêm phần tiêu đề IP mới với địa chỉ đích là địa chỉ IP unicast của MRouter ở đầu bên kia của đƣờng hầm và địa chỉ nguồn là địa chỉ IP unicast của MRouter đang gửi gói tin đó. Hình 1.13: Đóng gói IP multicast theo cơ chế tunneling Các bộ định tuyến trung gian nằm trên tuyến liên kết từ MRouter nguồn đến MRouter đích sẽ xem gói này nhƣ gói dữ liệu unicast bình thƣờng và truyền đi theo thông tin trong bảng định tuyến unicast. Ốc đảo multicast đích ở phía bên kia của đƣờng hầm sẽ nhận gói unicast này và tách phần header đã đƣợc thêm vào rồi sau đó gửi gói dữ liệu đó đi một cách thích hợp. Với bộ định tuyến các gói dữ liệu đƣợc xem nhƣ đến từ MRouter lân cận và trong suốt đối với các bộ định tuyến trung gian. Đƣờng đi trung gian đã bị ẩn đi đối với bộ định tuyến này. Khi đó các MRouter xử lý các gói IP multicast tƣơng tự nhƣ các bộ định tuyến xử lý các gói IP unicast nhƣ thể hiện trên hình 1.13. Hình 1.14: Cơ chế đƣờng hầm liên kết các MRouter
  • 28. 17 Nhƣ thể hiện trên hình 1.14, MRouter R2 muốn gửi một gói tin IP đa hƣớng tới MRouter R5. Trƣớc hết, R2 sẽ đóng vỏ gói tin (chuyển từ gói IP đa hƣớng thành gói IP đơn hƣớng) rồi chuyển tiếp tới URouter R3. Gói đa hƣớng này sẽ đi theo tuyến R3-R7-R8-R5. Nhƣ vậy, theo cơ chế đƣờng hầm, với MRouter R5 thì gói tin này đƣợc xử lý với địa chỉ nguồn đến từ R2. 1.7 Giao thức quản lý nhóm Internet Để nhận dữ liệu multicast từ một nguồn, các máy nhận đầu tiên phải tham gia vào một nhóm multicast, nhóm này đƣợc xác định thông qua địa chỉ multicast. Một host có thể tham gia vào một nhóm multicast bằng cách gửi các yêu cầu đến router gần nhất. Tác vụ này đƣợc thực hiện thông qua giao thức quản lý nhóm Internet - IGMP (Internet Group Management Protocol). Giao thức IGMP phát triển từ giao thức Host Membership Protocol, đƣợc mô tả trong tài liệu của Deering. IGMP phát triển từ IGMPv1 (RFC 1112) đến IGMPv2 (RFC 2236) và phiên bản mới nhất IGMPv3 (RFC 3376). Các thông điệp IGMP đƣợc đóng gói trong IP datagram với trƣờng protocol number bằng 2, trong đó trƣờng TTL có giá trị bằng 1. Các gói IGMP chỉ đƣợc truyền trong mạng LAN và không đƣợc tiếp tục chuyển sang LAN khác do giá trị TTL của nó. Hai mục đích quan trọng nhất của IGMP là: Thông báo cho router multicast biết rằng có một máy muốn nhận dữ liệu từ một nhóm multicast. Thông báo cho router biết có một máy muốn rời nhóm multicast (nói cách khác, máy đó không còn quan tâm đến việc nhận dữ liệu multicast nữa). Các router thƣờng dùng IGMP để duy trì thông tin cho từng giao diện để biết những nhóm multicast nào router cần phải truyền dữ liệu và những host nào muốn nhận. 1.7.1 Giao thức IGMPv1 Giao thức IGMP phiên bản 1 bao gồm 2 loại thông điệp là Host Membership Report và Host Membership Query. Định dạng của thông điệp IGMPv1 đƣợc thể hiện nhƣ trong hình 1.15:
  • 29. 18 Hình 1.15: Thông điệp IGMPv1 Giá trị của các trƣờng trong IGMPv1 đƣợc mô tả trong bảng 1.1: Bảng 1.1: Các trƣờng trong thông điệp IGMPv1 Tên trƣờng Độ dài Mô tả Version 4 bit Chỉ định phiên bản của giao thức và luôn có giá trị là 1 Type 4 bit Xác định 2 kiểu thông điệp có giá trị: 0x1 cho Host Membership Query 0x2 cho Host Membership Report Unused 8 bit Chứa giá trị 0 khi gửi và bị bỏ qua khi nhận Checksum 16 bit Dùng để kiểm tra lỗi trong quá trình truyền dữ liệu Group Address 32 bit Đƣợc gán về giá trị 0.0.0.0 khi router gửi gói tin Host Membership Query và đƣợc gán giá trị địa chỉ nhóm multicast khi một máy gửi thông điệp Host Membership Report 1.7.1.1 Thông điệp Host Membership Report Để tham gia vào một nhóm, host sẽ gửi một thông điệp Host Membership Report tới router cục bộ, nó không cần quan tâm có các host khác trên mạng con đã là thành viên của nhóm hay chƣa. Thông điệp này sử dụng địa chỉ 224.0.0.1 (địa chỉ all-hosts) nhƣ địa chỉ đích và chứa địa chỉ nhóm mà host muốn tham gia. 0 3 4 7 8 15 16 31 Unused Type Version Checksum Group Address
  • 30. 19 1.7.1.2 Thông điệp Host Membership Query Một router IGMPv1 sẽ gửi một cách định kỳ (mỗi 60 giây) thông điệp Host Membership Query đến tất cả các host để kiểm tra xem các host này có còn quan tâm nhận dữ liệu multicast nữa không. Các host có thể tham gia vào các nhóm multicast ở bất kỳ thời điểm nào. IGMPv1 không có cơ chế để cho phép một host rời khỏi một nhóm nếu host đó không còn muốn nhận dữ liệu từ nhóm multicast. Thay vào đó, router sẽ kết luận là một cổng của nó không còn thuộc về một nhóm multicast nào nếu cổng đó không nhận đƣợc thông điệp Host Membership Report trong ba chu kỳ truy vấn liên tiếp. Điều này có nghĩa là, dữ liệu 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 dữ liệu multicast nữa. 1.7.2 Giao thức IGMPv2 Giao thức IGMP phiên bản 2 là sự mở rộng các chức năng của IGMP phiên bản 1 bao gồm: Một phƣơng thức để xác định router nào sẽ gửi các thông điệp truy vấn multicast khi có nhiều router cùng kết nối vào một mạng con. Một thông điệp mới đƣợc sử dụng khi một host muốn rời nhóm. Một thông điệp mới cho phép router truy vấn cho từng nhóm cụ thể thay vì tất cả các nhóm. Phiên bản mới của thông điệp Host Membership Report. Định dạng của thông điệp IGMPv2 đƣợc thể hiện nhƣ trong hình 1.16: Hình 1.16: Thông điệp IGMPv2 0 7 8 15 16 31 Max RTime Type Checksum Group Address
  • 31. 20 Giá trị của các trƣờng trong IGMPv1 đƣợc mô tả trong bảng 1.2: Bảng 1.2: Các trƣờng trong thông điệp IGMPv2 Tên trƣờng Độ dài Mô tả Type 8 bit Xác định 4 kiểu thông điệp có giá trị: 0x11 cho Host Membership Query 0x12 cho IGMPv1 Host Membership Report 0x16 cho IGMPv2 Host Membership Report 0x17 cho Leave Group Message Maximum Response Time 8 bit Chỉ ra khoảng thời gian tối đa (tính bằng giây) mà một host có thể phản hồi thông tin truy vấn, chỉ sử dụng trong các thông điệp truy vấn Checksum 16 bit Dùng để kiểm tra lỗi trong quá trình truyền dữ liệu Group Address 32 bit Đƣợc gán giá trị 0.0.0.0 trong gói tin truy vấn và gán địa chỉ nhóm nếu thông điệp là cho từng nhóm cụ thể. Các thông điệp Host Membership Report hoặc thông điệp Leave Group có thể mang địa chỉ của nhóm trong trƣờng này 1.7.2.1 Lựa chọn router truy vấn Khác với IGMPv1, trong đó giao thức định tuyến multicast sẽ lựa chọn router truy vấn, IGMPv2 sử dụng một phƣơng thức lựa chọn đơn giản để chọn một router trên mỗi mạng con để gửi định kỳ các thông điệp Host Membership Query. Router đƣợc chọn là router có địa chỉ IP nhỏ nhất. Khi một router nhận đƣợc một gói tin truy vấn từ một router nào đó, nó sẽ kiểm tra địa chỉ nguồn của gói tin đó. Nếu địa chỉ nguồn của router cục bộ nhỏ hơn địa chỉ nguồn trong gói tin vừa đến, router sẽ vẫn tiếp tục gửi gói tin query vì nó biết rằng nó sẽ giữ vai
  • 32. 21 trò truy vấn. Còn nếu địa chỉ nguồn của gói tin truy vấn nhỏ hơn, router sẽ từ bỏ vai trò truy vấn và không gửi gói tin. 1.7.2.2 Thông điệp rời nhóm Khi một host muốn rời nhóm, nó sẽ gửi một thông điệp tới địa chỉ 224.0.0.2 (địa chỉ all-routers). Khi nhận đƣợc thông điệp rời nhóm, router sẽ gửi truy vấn cho từng nhóm cụ thể tới mạng con chứa host. Nếu router không nhận đƣợc đƣợc trả lời của truy vấn nó sẽ quyết định rằng trên mạng con đó không còn thành viên nào của nhóm và không đẩy dữ liệu multicast tới đó nữa. Nếu router nhận đƣợc phản hồi, nghĩa là trên mạng con đó vẫn còn host là thành viên của nhóm và nó sẽ tiếp tục chuyển dữ liệu tới. Sử dụng thông điệp rời nhóm làm giảm đi các dữ liệu thừa mà router chuyển đến các mạng con khi không còn thành viên nào của nhóm. 1.7.2.3 Truy vấn cho từng nhóm Một thông điệp Host Membership Query đƣợc gửi tới địa chỉ 224.0.0.1 để tìm ra các nhóm multicast có thành viên trên mạng con. Trong IGMPv2 các router còn có thể gửi thông điệp cho từng nhóm cụ thể tới một địa chỉ nhóm để xác định nhóm đó có thành viên trên một mạng con hay không. 1.7.3 Giao thức IGMPv3 IGMP phiên bản 3 mở rộng chức năng của IGMPv2 bằng việc hỗ trợ tính năng multicast cho từng nguồn cho phép các host lọc dữ liệu đi vào dựa trên địa chỉ IP nguồn. Với IGMPv3 có thể có nhiều nguồn cho một dòng dữ liệu multicast vì thế các host có thể gia nhập nhóm và nhận dữ liệu từ các nguồn gần nhất. IGMPv3 còn cải tiến thông điệp Host Membership Query và thêm phiên bản mới của Host Membership Report. 1.7.3.1 Lọc dữ liệu Đây là khả năng cho phép một host chỉ ra nó sẽ nhận nguồn dữ liệu multicast từ địa chỉ nguồn xác định. Với IGMPv1 và IGMPv2 một host thông báo nhóm thành viên mà không quan tâm nguồn của dữ liệu gửi tới nhóm. Nếu dữ liệu multicast gửi tới nhóm từ nhiều nguồn, một mạng con có thể nhận dữ liệu
  • 33. 22 multicast từ mỗi nguồn. IMGPv3 cho phép một host chỉ rõ hai thuộc tính sau đây cho các nhóm multicast cụ thể: Danh sách các nguồn mà host nhận dữ liệu. Danh sách các nguồn mà host không nhận dữ liệu. Các multicast router và các giao thức định tuyến multicast sử dụng thông tin cho từng nguồn cụ thể trong IGMPv3 Host Membership Report để ngăn việc chuyển các thông điệp multicast từ một nguồn tới một mạng con không có thành viên của nhóm. 1.7.3.2 Thông điệp IGMPv3 Host Membership Query IGMPv3 Host Membership Query có cùng giá trị kiểu và có cùng định dạng với IGMPv2 Host Membership Query ngoài trừ nó thêm một số trƣờng ở sau trƣờng địa chỉ nhóm. Các trƣờng này cung cấp các tham số truy vấn cho router và chỉ rõ các nguồn đƣợc chấp nhận và không đƣợc chấp nhận ứng với mỗi nhóm multicast. Danh sách các nguồn đƣợc chấp nhận và không chấp nhận chỉ đƣợc sử dụng cho truy vấn tới một nhóm cụ thể có sử dụng tính năng lọc dữ liệu. Bảng 1.3 mô tả các trƣờng trong thông điệp IGMPv3 Host Membership Query: Bảng 1.3: Các trƣờng trong thông điệp IGMPv3 Host Membership Query Tên trƣờng Độ dài Mô tả Type 8 bit Xác định 4 kiểu thông điệp có giá trị: 0x11 cho Host Membership Query 0x12 cho IGMPv1 Host Membership Report 0x16 cho IGMPv2 Host Membership Report 0x17 cho Leave Group Message Maximum Response Time 8 bit Chỉ ra khoảng thời gian tối đa (tính bằng giây) mà một host có thể phản hồi thông tin truy vấn, chỉ sử dụng trong các thông điệp truy vấn Checksum 16 bit Dùng để kiểm tra lỗi trong quá trình truyền dữ liệu
  • 34. 23 Group Address 32 bit Đƣợc gán giá trị 0.0.0.0 trong gói tin truy vấn và gán địa chỉ nhóm nếu thông điệp là cho từng nhóm cụ thể. Các thông điệp Membership Report hoặc thông điệp Leave Group có thể mang địa chỉ của nhóm trong trƣờng này Reserved (Dành riêng) 4 bit Chứa giá trị 0 khi gửi và bị bỏ qua khi nhận Suppress 1 bit Gán giá trị 1 để chi rõ các router nhận dừng cập nhật thời gian khi nhận một truy vấn Querier’s Robustness Variable (QRV) 3 bit Chỉ ra các gói datagram mong đợi trên mạng. IGMP có thể lấy lại QRV-1 gói datagram bị mất Querier’s Query Interval Code(QQIC) 8 bit Chỉ ra khoảng thời gian tính bằng giây mà router đợi giữa hai truy vấn thông thƣờng Number of Sources 16 bit Chỉ số lƣợng địa chỉ nguồn chứa thông điệp truy vấn Source Addresses 32 bit Chứa địa chỉ IP của nguồn multicast 1.7.3.3 Thông điệp IGMPv3 Host Membership Report Host sử dụng thông điệp IGMPv3 Host Membership Report để chỉ rõ các nhóm multicast mà nó muốn gia nhập, với mỗi địa chỉ nhóm kèm theo danh sách những địa chỉ nguồn mà host muốn nhận dữ liệu multicast và nguồn nào host không muốn nhận. Thông điệp IGMPv3 Host Membership Report chứa một dãy các bản ghi nhóm. Mỗi nhóm chứa địa chỉ nhóm multicast và một danh sách liên kết các nguồn. Thông điệp IGMPv3 Host Membership Report đƣợc gửi tới địa chỉ 224.0.0.22, đây là địa chỉ dành riêng cho router multicast hỗ trợ IGMPv3.
  • 35. 24 Bảng 1.4: Các trƣờng trong thông điệp IGMPv3 Host Membership Report Tên trƣờng Độ dài Mô tả Type 8 bit Xác định 3 kiểu thông điệp có giá trị: 0x12 cho IGMPv1 Host Membership Report 0x16 cho IGMPv2 Host Membership Report 0x22 cho IGMPv3 Host Membership Report Reserved 8 bit Chứa giá trị 0 khi gửi và bị bỏ qua khi nhận Checksum 16 bit Dùng để kiểm tra lỗi trong quá trình truyền dữ liệu Reserved 16 bit Chứa giá trị 0 khi gửi và bị bỏ qua khi nhận Number of Records 16 bit Chứa số lƣợng của nhóm bản ghi trong thông điệp Group Records Variable Mỗi bản ghi chỉ ra địa chỉ IP cho nhóm multicast tham gia hay rời và danh sách các nguồn nhận dữ liệu và không nhận dữ liệu
  • 36. 25 CHƢƠNG 2 ĐỊNH TUYẾN MULTICAST Các giao thức định tuyến multicast đƣợc chia làm ba loại chính gồm: giao thức hoạt động theo mô hình tập trung (dense mode) nhƣ DVMRP và PIM-DM, các giao thức hoạt động theo mô hình phân tán (sparse mode) nhƣ PIM-SM và giao thức hoạt động theo mô hình trạng thái liên kết (link-state) nhƣ MOSPF. Các giao thức dense mode hoạt động theo cơ chế quảng bá và loại bỏ trong đó các router cho rằng trên các mạng con tồn tại ít nhất một máy nhận dữ liệu multicast, vì thế chúng gửi dữ liệu xuống tất cả các mạng cho đến khi nhận đƣợc thông báo dừng gửi dữ liệu. Với cơ chế này các giao thức dense mode phù hợp với các mạng máy tính nhỏ, trong đó lƣu lƣợng multicast đƣợc truyền tới hầu hết các máy trên mạng. Các giao thức sparse mode hoạt động theo cách ngƣợc lại, các router sẽ không gửi dữ liệu lên mạng trừ khi nó nhận đƣợc yêu cầu gửi dữ liệu từ các máy nhận. Điều này làm giảm dữ liệu dƣ thừa truyền trên mạng, giúp cho các giao thức sparse mode phù hợp với các mạng lớn, với số lƣợng các máy tham gia nhận dữ liệu nhiều nhƣng nằm rải rác trên các mạng con. 2.1 Giao thức định tuyến multicast véctơ khoảng cách Giao thức định tuyến multicast véctơ khoảng cách (Distance Vector Multicast Routing Protocol – DVMRP) là giao thức định tuyến multicast đầu tiên đƣợc sử dụng phổ biến. DVMRP đƣợc phát triển dựa trên giao thức định tuyến unicast Routing Information Protocol (RIP) với một số thay đổi đề phù hợp với cơ chế multicast. 2.1.1 Tìm kiếm hàng xóm Tìm kiếm router hàng xóm là một quá trình quan trọng bởi vì các router sử dụng giao thức DVMRP cần phải duy trì một danh sách các router hàng xóm để thực hiện chuyển tiếp multicast. Điều này đặc biệt đúng khi DVMRP hoạt động trên mạng đa truy cập nhƣ mạng Ethernet, bởi vì trên mạng có thể có nhiều router DVMRP cùng tham gia. Để thực hiện điều đó, các thông điệp thăm dò DVMRP
  • 37. 26 Probe đƣợc các router gửi một cách định kỳ tới địa chỉ all-DVMRP-router (224.0.0.4). Trên hình 2.1 thể hiện cơ chế tìm kiếm hàng xóm thông qua hoạt động của 2 router. Hình 2.1: Tìm hàng xóm trong DVMRP Các bƣớc hoạt động của cơ chế tìm kiếm đƣợc minh họa trên hình 2.1 gồm: Đầu tiên router 1 gửi một gói tin thăm dò, lúc này router 1 chƣa phát hiện đƣợc các hàng xóm vì thế danh sách hàng xóm trong gói tin là rỗng. Router 2 nhận đƣợc thông điệp thăm dò từ router 1, nó thêm địa chỉ IP của router 1 vào danh sách các router hàng xóm của giao diện đã nhận gói tin. Router 2 gửi thông điệp thăm dò lên mạng, trong đó có chứa địa chỉ IP của router 1 trong danh sách hàng xóm. Router 1 nhận đƣợc thông điệp từ router 2 thêm địa chỉ IP của router 2 vào danh sách hàng xóm. Và ở chu kỳ gửi gói tin tiếp theo tiếp theo, router 1 gửi thông điệp lên mạng với địa chỉ IP của router 2 trong danh sách hàng xóm. Khi một router nhận đƣợc thông điệp thăm dò trong đó địa chỉ IP của nó có trong danh sách hàng xóm, router biết rằng đã có một kết nối hai chiều đƣợc thiết lập thành công giữa nó và hàng xóm, khi đó hai router có thể trao đổi dữ liệu với nhau. 2.1.2 Trao đổi thông báo định tuyến Các thông báo định tuyến của DVMRP đƣợc gửi một cách định kỳ theo cách giống với giao thức định tuyến unicast RIP. Một điểm khác biệt quan trọng
  • 38. 27 là DVMRP quảng bá các đƣờng đi cùng với subnet mask cho phép DVMRP hoạt động đƣợc trên giao thức classless. Trên hình 2.2 thể hiện một mạng multicast bao gồm 2 router sử dụng DVMRP kết nối với nhau. Hình 2.2: Trao đổi định tuyến DVMRP bƣớc 1 Trong bảng định tuyến của 2 router có chứa một số đƣờng đi mà các router đã học đƣợc thông qua giao diện S0. Giả sử router 2 gửi thông điệp thông báo trƣớc nhƣ trên hình 2.3. Hình 2.3: Trao đổi định tuyến DVMRP bƣớc 2
  • 39. 28 Thông báo định tuyến từ router 2 chứa hai đƣờng đi và đƣợc gửi tới router 1. Router 1 thêm một thực thể cho mạng 204.1.16.0/24 vào bảng định tuyến của nó, ngoài ra vì router 2 có giá trị metric tới mạng 151.10.0.0 nhỏ hơn nên router 1 cập nhật thực thể đã có trong bảng định tuyến với giá trị metric mới là 4 và giao diện ra là E0. Sau đó router 1 phản hồi bằng cách gửi thông điệp thăm dò của nó lên mạng để tới router 2. Trong gói tin gửi tới router 2, router 1 đã sử dung kỹ thuật Poison Reverse với hai đƣờng đi mà nó đã nhận trên cổng E0 bằng cách thêm giá trị ngƣỡng (32) vào giá trị metric hiện tại. Kỹ thuật Poison Reverse trong DVMRP đƣợc sử dụng để thông báo tới một router là có một router khác phụ thuộc vào nó trong việc nhận dữ liệu từ một nhóm multicast. Vì thế router 2 biết rằng router 1 ở phía dƣới trong cây multicast của nguồn dữ liệu và mong muốn nhận dữ liệu multicast từ hai mạng này thông qua router 2. Router 2 nhận thông báo và thêm vào bảng định tuyến của nó một thực thể mới cho mạng 198.14.32.0/24 nhƣ trong hình 2.4. Hình 2.4: Trao đổi định tuyến DVMRP bƣớc 3 Sau khi cập nhật bảng định tuyến router 2 sẽ gửi một thông báo Poison Reverse cho đƣờng đi 198.14.32.0/24 nhận từ router 1 bằng cách thêm ngƣỡng vào giá trị metric. Điều này cho router 1 biết router 2 là ở phía dƣới và nhận dữ liệu multicast từ mạng nguồn 198.14.32.0/24 thông qua router 1.
  • 40. 29 2.1.3 Cắt nhánh DVMRP sử dụng cây nguồn để điều khiển đƣờng đi của luồng dữ liệu, ban đầu dữ liệu multicast đƣợc gửi xuống tất cả các nhánh của cây. Để giảm lƣu lƣợng dƣ thừa cần có một cơ chế cắt các nhánh cây mà trên đó không có các máy nhận dữ liệu. Vì thế tại các router lá không có máy nhận dữ liệu kết nối trực tiếp, một thông điệp DVMRP Prune đƣợc gửi ngƣợc lên cây multicast để yêu cầu dừng gửi dữ liệu không mong muốn và cắt bỏ nhánh khỏi cây multicast. Trên hình 2.5 mô tả mạng với một nguồn hoạt động S gửi dữ liệu multicast tới nhóm G. Hình 2.5: Cắt nhánh trong DVMRP bƣớc 1 Máy nhận 1 tham gia vào nhóm multicast G và nhận dữ liệu từ S. Các đƣờng mũi tên chỉ ra luồng lƣu lƣợng (S, G) ban đầu đi xuống cây multicast (đƣợc thể hiện bởi các mũi tên đứt nét) trƣớc khi thực hiện quá trình cắt nhánh. router C không phải là router đƣợc chọn để gửi dữ liệu (Designated Router – DR) cho mạng có máy nhận 1 kết nối vì thế nó trở thành một router lá. Vì thế router C gửi một thông điệp DVMRP Prune tới router B để yêu cầu dừng gửi dữ liệu không cần thiết (S, G). Khi nhận đƣợc thông điệp router B phản hồi bằng cách cắt bỏ đƣờng đi tới router C. Lúc này cả hai router X và Y cũng là router lá vì thế nó gửi thông điệp Prune tới router E để yêu cầu cắt khỏi cây multicast. Router E biết rằng nó chỉ có
  • 41. 30 2 router hàng xóm, và vì cả hai router đã gửi thông điệp cắt nhánh nên router E cũng gửi thông điệp Prune cho lƣu lƣợng (S, G) lên router D. Router D nhận thông điệp từ E sẽ cắt bỏ đƣờng đi tới router E nhƣ trong hình 2.6. Hình 2.6: Cắt nhánh trong DVMRP bƣớc 2 2.1.4 Ghép nhánh Mỗi thông điệp cắt bỏ nhánh có một giá trị thời gian timeout, vì thế nếu một nhánh đã bị cắt bỏ khỏi cây multicast sau khi hết thời gian timeout nó lại có thể nhận dữ liệu từ nguồn. Tuy nhiên DVMRP còn hỗ trợ một cơ chế cho phép các nhánh cây bị cắt bỏ có thể ghép trở lại mà không cần phải đợi hết khoảng thời gian này. Để thực hiện điều này, router gửi một thông điệp DVMRP Graft tới router phía trên để thông báo nó muốn đƣợc ghép trở lại cây multicast. Sau khi router phía trên nhận đƣợc nó sẽ phản hồi lại bằng thông điệp Graft-Ack và chuyển tiếp lƣu lƣợng multicast xuống router phía dƣới. Trên hình 2.7 tiếp tục mô tả mạng nhƣ phần trƣớc, giả sử lúc này máy nhận 2 trên router Y tham gia vào nhóm multicast và nhận dữ liệu từ nguồn S gửi tới nhóm G. Router Y biết rằng nó đang ở trạng thái bị cắt bỏ khỏi cây multicast của nguồn S vì thế nó gửi một thông điệp Graft tới router E. Khi router E nhận đƣợc thông điệp, router E chuyển trạng thái cho cổng kết nối với router Y từ trạng thái cắt bỏ sang trạng thái chuyển tiếp dữ liệu và gửi một thông điệp xác nhận Graft-Ack trở lại router Y.
  • 42. 31 Hình 2.7: Ghép nhánh trong DVMRP bƣớc 1 Sau đó router E tiếp tục gửi tới router D một thông điệp Graft để yêu cầu nhận dữ liệu multicast gửi tới nhóm G. Cuối cùng khi router D nhận đƣợc thông điệp từ router E nó phản hồi bằng một thông điệp Graft-Ack và chuyển tiếp dữ liệu multicast qua giao diện của nó để đến router E nhƣ trên hình 2.8. Hình 2.8: Ghép nhánh trong DVMRP bƣớc 2
  • 43. 32 2.2 Giao thức PIM Dense Mode Giao thức PIM (Protocol Independent Multicast) có tên là giao thức multicast độc lập bởi vì nó hoạt động độc lập với giao thức định tuyến IP unicast. PIM không quan trọng giao thức nào đƣợc sử dụng để tạo ra bảng định tuyến unicast (bao gồm cả bảng định tuyến tĩnh) trên router, mà nó sử dụng thông tin từ bảng định tuyến unicast để thực hiện quá tình kiểm tra Reverse Path Forwarding (RPF) từ đó đƣa ra quyết định gửi dữ liệu. Bởi vì PIM không phải duy trì dữ liệu của bảng định tuyến, nó sẽ không cần thực hiện các quá trình gửi và nhận các thông báo cập nhật đƣờng đi trong bảng định tuyến giữa các router nhƣ các giao thức khác, điều đó làm giảm đáng kể lƣu lƣợng truyền trên mạng. PIM có thể cấu hình để hoạt động theo hai cơ chế là dense mode và sparse mode, trong phần này chúng ta sẽ tìm hiểu về PIM dense mode (PIM – DM) bao gồm các quá trình cơ bản nhƣ: tìm kiếm hàng xóm, cắt bỏ và ghép thêm nhánh trên cây phân phối multicast, cơ chế xác nhận. 2.2.1 Tìm kiếm hàng xóm 2.2.1.1 Thông điệp Hello Cũng giống nhƣ giao thức DVMRP, PIM-DM sử dụng cơ chế tìm kiếm hàng xóm để thiết lập mối liên kết với router hàng xóm. Trong PIM-DMv1 thông điệp tìm kiếm có tên là Router Query đƣợc đóng gói trong thông điệp IGMP và đƣợc gửi tới địa chỉ 224.0.0.2 (địa chỉ all-routers). Trong PIM-DMv2 thông điệp thăm dò có tên là Hello đƣợc gửi theo chu kỳ 30 giây tới địa chỉ 224.0.0.13 (địa chỉ all-PIM-routers). Trong thông điệp Hello chứa một giá trị Holdtime để thông báo cho các máy nhận biết khoảng thời gian hiệu lực của kết nối giữa hai máy bị hết nếu không có thông điệp Hello khác đƣợc gửi trong thời gian đó. 2.2.1.2 Router được chỉ định Ngoài việc thiết lập mối liên kết hàng xóm, thông điệp PIM Hello cũng đƣợc sử dụng để tìm ra router đƣợc chỉ định để gửi dữ liệu (Designated Router – DR) cho mạng đa truy cập. Thông qua thông điệp Hello các router sẽ biết đƣợc router nào trên mạng có giá trị địa chỉ IP cao nhất, và router đó đƣợc chọn làm
  • 44. 33 DR cho mạng. Khi trong một phân đoạn mạng có nhiều router cùng tồn tại, ngƣời quản trị mạng thông thƣờng cần chỉ định một router là DR. Tuy nhiên việc thay đổi địa chỉ IP của router để chỉ định một router là DR thƣờng khó khăn hoặc không thể thực hiện. Để thực hiện điều này, trong thông điệp PIMv2 Hello thêm vào một lựa chọn về độ ƣu tiên DR-Priority. Khi đó các router có độ ƣu tiên cao sẽ đƣợc chọn làm DR, nếu có hai hay nhiều router cùng độ ƣu tiên thì giá trị IP đƣợc so sánh để bầu chọn. 2.2.1.3 Cây phân phối multicast Bởi vì PIM-DM là một giao thức dense mode, cây nguồn (hay cây đƣờng đi ngắn nhất) đƣợc sử dụng để chỉ ra quá trình phân phối dữ liệu tới các máy nhận trên mạng. Các cây nguồn đƣợc xây dựng bằng cách sử dụng cơ chế quảng bá và loại bỏ (flood and prune) ngay khi nguồn multicast bắt đầu truyền dữ liệu. Không nhƣ DVMRP là giao thức sử dụng bảng định tuyến multicast của riêng nó, PIM- DM sử dụng thông tin về hàng xóm của nó để xây dụng cây nguồn. Trong PIM- DM các router kết nối với nguồn đƣợc cho là ở trên cây đƣờng đi ngắn nhất SPT và các hàng xóm PIM-DM khác ở các nhánh phía duới của nguồn dữ liệu. Cây SPT ban đầu chính là cây quảng bá (broadcast tree) bởi vì router gửi dữ liệu tới tất cả các hàng xóm của nó, mà không biết trên các router đó có tồn tại các máy nhận dữ liệu hay không. Hình 2.9 thể hiện một ví dụ về việc quảng bá dữ liệu multicast trên mạng PIM-DM xuống cây quảng bá multicast. Trong mạng trên hình 2.9, nguồn dữ liệu multicast gửi dữ liệu tới router A và B từ đó gửi tiếp xuống các router PIM-DM phía dƣới là router C và D. Ta thấy rằng luồng dữ liệu ban đầu trƣớc khi có các hoạt động cắt nhánh có nhiều đƣờng đi dƣ thừa, nhƣ là router C nhận hai luồng dữ liệu giống nhau, hay router C và D cùng gửi dữ liệu tới một phân đoạn mạng. Cây quảng bá này sẽ đƣợc điều chỉnh để loại bỏ dƣ thừa khi quá trình loại bỏ nhánh đƣợc hoàn tất.
  • 45. 34 Hình 2.9: Cây phân phối PIM-DM 2.2.2 Cắt nhánh Các router PIM-DM gửi thông điệp cắt nhánh Prune lên router phía trên của nó khi có một trong các điều kiện sau: khi dữ liệu đến từ một giao diện không phải là giao diện RPF hay khi một router nhận thấy phân đoạn mạng phía sau nó không tồn tại các máy nhận muốn nhận dữ liệu từ nhóm multicast. Trên hình 2.10, giả sử metric cho đƣờng đi từ router A đến C tốt hơn đƣờng đi từ router B đến C, lúc đó router C gửi thông điệp Prune tới router B vì dữ liệu đến nó trên giao diện không phải là giao diện RPF đối với nguồn. Ở bƣớc tiếp theo, router B phản hồi lại thông điệp Prune đƣợc gửi từ C và đƣờng đi từ router B đến router C bị loại bỏ khỏi cây multicast. Ngoài ra router I là một router lá không có các máy nhận dữ liệu kết nối tới, vì thế nó gửi một thông điệp Prune tới router E. Router E phản hồi lại bằng cách loại bỏ đƣờng đi tới router I và bởi vì router E cũng không có các máy nhận dữ liệu kết nối trực tiếp nó cũng sẽ gửi dữ liệu tới router C và D. Tuy nhiên vì máy nhận 1 kết nối trực tiếp tới cùng giao diện, router C và D sẽ bỏ qua thông điệp Prune từ E. Điều đó có nghĩa dữ liệu từ nguồn vẫn tiếp tục đƣợc gửi tới router E và E tiếp tục gửi thông điệp Prune lên router C và D.
  • 46. 35 Hình 2.10: Cắt nhánh trong PIM-DM bƣớc 1 Hình 2.11: Cắt nhánh trong PIM-DM bƣớc 2 Trong cơ chế cắt nhánh trên mạng đa truy cập, các router PIM-DM mong muốn nhận thông điệp Join từ các hàng xóm để phản hồi lại thông điệp Prune của hàng xóm khác trên cùng một giao diện. Router G và H trong hình 2.12 là một ví dụ của cơ chế hoạt động trên. Tải bản FULL (89 trang): https://bit.ly/3JNyO51 Dự phòng: fb.com/TaiHo123doc.net
  • 47. 36 Hình 2.12: Cắt nhánh trong PIM-DM bƣớc 3 G là một node lá và không có các máy nhận dữ liệu kết nối tới vì thế nó gửi thông điệp Prune lên mạng tới router F. Tuy nhiên thông điệp Prune đƣợc gửi tới địa chỉ all-PIM-router vì thế router H cũng nhận đƣợc thông điệp gửi tới F. Bởi vì H có các máy nhận yêu cầu nhận dữ liệu, H sẽ gửi một thông điệp PIM Join và nó sẽ hủy bỏ thông điệp Prune đƣợc gửi từ G. Để đảm bảo quá trình Prune hoạt động hiệu quả các router PIM-DM khi nhận một thông điệp Prune sẽ không xử lý ngay mà đợi 3 giây để các router khác gửi thông điệp Join. Nếu sau khoảng thời gian này, router không nhận đƣợc thông điệp Join thì nó sẽ thực hiện quá trình cắt nhánh. 2.2.3 Cơ chế xác nhận Trở lại mạng trong hình 2.12, nguồn dữ liệu bây giờ chỉ gửi tới các máy nhận trên mạng. Tuy nhiên vẫn còn một vấn đề nữa, đó là việc trùng lặp dữ liệu đƣợc gửi bởi router C và D lên mạng để tới máy nhận 1. Để giải quyết vấn đề trên, PIM sử dụng một cơ chế xác nhận để bình chọn ra một router DR cho nguồn multicast. Cơ chế xác nhận hoạt động theo quy tắc sau: nếu một router nhận dữ liệu multicast trên cổng mà cổng đó cũng gửi dữ liệu từ nguồn, thì router sẽ gửi một thông điệp PIM Assert tới cổng mà nó nhận dữ liệu để tìm ra router đƣợc lựa chọn. Trong thông điệp PIM Assert chứa giá trị metric tới nguồn, lúc đó Tải bản FULL (89 trang): https://bit.ly/3JNyO51 Dự phòng: fb.com/TaiHo123doc.net
  • 48. 37 các router trên mạng kiểm tra giá trị metric và router nào có giá trị metric tốt nhất sẽ đƣợc chọn làm router gửi dữ liệu. Các router khác sẽ ngừng gửi dữ liệu và loại bỏ cổng của nó ra khỏi cây multicast. Trong trƣờng hợp có nhiều router có cùng metric, địa chỉ IP sẽ đƣợc kiểm tra và router nào có địa chỉ IP cao nhất sẽ đƣợc chọn. Mạng trong hình 2.13 router C và D cùng gửi thông điệp PIM Assert lên mạng, giả sử router C và D có cùng metric và router C có địa chỉ IP lớn hơn. Lúc này router C sẽ đƣợc chọn làm router gửi dữ liệu còn router D sẽ ngừng gửi dữ liệu và loại bỏ giao diện của nó ra khỏi cây multicast. Hình 2.13: Xác nhận trong PIM-DM 2.2.4 Ghép nhánh PIM-DM cũng hỗ trợ khả năng ghép trở lại cây multicast một nhánh cây đã bị cắt bỏ trƣớc đó. Hình 2.14 thể hiện một mạng với một máy nhận thứ 3 tham gia vào nhóm multicast trên router I. 6814704