1. Trang chủ
  2. » Giáo Dục - Đào Tạo

IP multicast và ứng dụng

89 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 89
Dung lượng 1,32 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trong phương pháp multicast có các giao thứccho 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 ch

Trang 1

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

Trang 2

Tôi xin chân thành cảm ơn TS Ngô Khánh Vân, người đã tận tình hướngdẫ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ệncông nghệ thông tin, đã chỉ bảo và cho tôi những lời khuyên quý báu để hoànthiệ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ốtnhấ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ậnvăn

Hà Nội, tháng 08 năm 2009

Trương Công Ái

Trang 3

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

Trang 4

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

Trang 5

2.4.1Định tuyến multicast trong vùng

2.4.2Định tuyến multicast trên nhiều vùng

2.4.3Định tuyến multicast trên các vùng tự trị

CHƯƠNG 3

SỬ DỤNG ACCESS GRID XÂY DỰNG

HỆ THỐNG HỘI NGHỊ TRUYỀN HÌNH DỰA TRÊN IP MULTICAST

3.1Các khái niệm chung về dịch vụ hội nghị truyền hình

3.1.1Hệ thống hội nghị truyền hình

3.1.2Các thành phần cơ bản của hội nghị truyền hình

3.2Giao thức RTP

3.2.1Khuôn dạng RTP header

3.2.2Các ứng dụng sử dụng RTP

3.2.2.1 Thoại hội nghị đơn giản

3.2.2.2 Thoại và truyền hình hội nghị

3.2.2.3 Bộ trộn và bộ biên dịch

3.3Đồng bộ luồng hình ảnh và âm thanh

3.4Sử dụng Access Grid xây dựng một hội nghị truyền hình

3.4.1Các thành phần của Access Grid

3.4.2Sử dụng Access Grid client để tham gia vào hội nghị truyền hình

KẾT LUẬN

HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI

TÀI LIỆU THAM KHẢO

Trang 7

SPTTTLVIC

Trang 8

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

Trang 9

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

Trang 10

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

Trang 11

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

Trang 12

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ênthô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 đếnnhiề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 Tuynhiê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ểmtớ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ươngphá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ượtgử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ênnhữ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ớinhiề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ậnthông qua địa chỉ nhóm multicast Trong phương pháp multicast có các giao thứccho 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épcá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ìnhtham gia nhóm multicast thông qua giao thức Internet Group ManagementProtocol

Trang 13

Tìm hiểu các giao thức định tuyến cơ bản được sử dụng trong truyền thôngmulticast như giao thức định tuyến Distance Vector Multicast RoutingProtocol, 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ậntheo 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ếncủa multicast từ đó chỉ ra được các ưu điểm, nhược điểm cũng như khả năng ápdụ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 thamgia nhóm multicast

Chương 2: Trình bày các giao thức định tuyến được sử dụng trong truyềnthông multicast gồm giao thức định tuyến Distance Vector MulticastRouting Protocol, giao thức định tuyến Protocol Independent Multicast theohai mô hình tập trung và phân tán và giao thức định tuyến Multicast OpenShortest Path First

Chương 3: Tìm hiểu về hội nghị truyền hình, ứng dụng phần mềm AccessGrid để 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

Trang 14

Multicast là thuật ngữ kỹ thuật, có nghĩa một gói tin có thể được gửi đếnnhiều nơi trong cùng thời điểm Cách thức thông thường trong việc truyền thôngtin 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óitin đế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ầnlượ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ênbăng thông được tiết kiệm Khi sử dụng multicast để gửi đi gói tin thì không cầnthiế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à multicastCác mạng hỗ trợ multicast cung cấp nhiều dịch vụ và các ứng dụng chongười sử dụng đầu cuối Nhiều ứng dụng hỗ trợ multicast là các ứng dụng đaphươ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ệ

Trang 15

IP multicast cho các mục đích không phải đa phương tiện Các ứng dụng thờigian 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êucầ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 đượcthay 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ậnhà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ếtcá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 laiviệc triển khai IPv6 sẽ đem lại multicast có sẵn cho người sử dụng mạng Phầnmề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ầngmạng Với multicast có sẵn, các vấn đề định tuyến sẽ được giải quyết dễ dànghơ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 đượchưở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ăngthô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ượngmạ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 đếnInternet (các người sử dụng đầu cuối, nhà vận hành mạng, ISP và

Trang 16

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ủamulticast, bước kế tiếp là thay thế hạ tầng đường hầm với hạ tầng định tuyếnmulticast thực sự Công nghệ multicast hiện tại đưa ra các thách thức khác nhaucho 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ạngInternet 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 đốivới IP multicast, các giao thức lớp cao hơn không hỗ trợ nó Mặc dù các giaothứ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ạixuấ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 caocho 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êncủ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ànhthành phần tham gia vào truyền thông multicast và hoạt động của chúng trongmạng qua minh hoạ trên hình 1.2:

Trang 17

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ắngnghe 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 trongSubnet 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êncủa nhóm Trong trường hợp này, router sẽ chuyển dữ liệu từ Subnet 1 tớiSubnet 3

Host C trong Subnet 3 đã tham gia vào nhóm do đó nó sẽ nhận dữ liệumulticast

Host D trong Subnet 3 gửi yêu cầu tới router để tham gia nhóm, sau khitham gia nhóm giao diện mạng của nó sẽ lắng nghe và nhận các dữ liệu gửitới địa chỉ nhóm

Các thành phần tham gia vào truyền thông multicast:

Trang 18

Host (bao gồm nguồn hoặc đích): là các là các máy tính tham gia kết nốivà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ácyê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ớimộ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ớidạ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ácthiết bị mạng có thể nhanh chóng lọc ra các địa chỉ multicast bằng cách đọc 4 bitbên trái của một địa chỉ Bốn bit này của một địa chỉ multicast luôn luôn bằng

1110, hình 1.3 thể hiện định dạng của một địa chỉ lớp D

28 bitsClass D

Hình 1.3: Định dạng của địa chỉ IP lớp DLàm thế nào để một router kết hợp một địa chỉ multicast của IP với một địachỉ 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ỉ MACcủa multicast sẽ được dùng Các địa chỉ này bắt đầu bằng 01005E, phần 28 bitsau của địa chỉ IP multicast sẽ được ánh xạ vào 23 bit thấp của địa chỉ MACbằng một giải thuật đơn giản

Trang 19

MAC Address

Hình 1.4: Ánh xạ địa chỉ IP multicast sang địa chỉ MACHì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 địachỉ 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ộtEthernet 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 địachỉ 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ùngtrong các miền multicast khác nhau, giống như dãy địa chỉ dành riêng trongRFC1918 Đị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

Trang 20

Địa chỉ toàn cục 224.0.1.0 - 238.255.255.255 được dùng bởi bất cứ đốitượng nào Các địa chỉ này được sử dụng trên Internet vì vậy địa chỉ nàyphả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ốimulticast được sử dụng, nó có tác dụng điều khiển đường đi của dữ liệu truyềntrê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âychia 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ệutrê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ủacâ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

Trang 21

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ủanguồn dữ liệu và G là địa chỉ của nhóm multicast Áp dụng cho mạng như trênhì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óm224.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ụngmộ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ồnphả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ếptheo 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ả

Trang 22

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ình1.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 Trongcâ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ình1.8 thể hiện một ví dụ của cây chia sẻ hai chiều, trong đó dữ liệu từ host B đượcgử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ốccâ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 giavà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

Trang 23

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

Trang 24

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ốitrự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ómmulticast 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ạngtheo một đường duy nhất từ nguồn tới đích Router unicast không thực sự quantâm đến địa chỉ nguồn, nó chỉ quan tâm đến địa chỉ đích và cách để chuyển tiếplư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ảnsao duy nhất qua giao diện hướng đến đích Trong cơ chế multicast nguồn gửi dữ

Trang 25

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 địachỉ đích của một gói tin IP Vì thế các gói tin multicast không thể chỉ đơn giảnxá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 multicastphứ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 trachí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ủagó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 RPFthà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óitin đó 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ườngTTL (Time To Live) trong IP header sẽ giảm đi một Nếu giá trị TTL của gói tingiảm về không, router sẽ loại gói tin Giới hạn TTL có thể được áp dụng cho mộtgiao 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 minhhọ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

Trang 26

Trong hình 1.11, gói tin multicast đến router từ cổng Serial0, giả sử rằngkiểm tra RPF thành công và các cổng còn lại của router đều có trong danh sáchcổ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 tinchỉ được chuyển tiếp ra các cổng Serial1 và Ethernet0, còn ở cổng Serial2ngưỡ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 đượcchuyể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ớimạng bên ngoài thông qua một bộ định tuyến có khả năng xử lý các gói IPmulticast thông qua hỗ trợ giao thức quản lý nhóm Internet IGMP và các giaothức định tuyến khác được xác định là một MRouter hay IP multicast router Tiếpgiá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ủacá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ợpcá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

Trang 27

Đường hầm là cơ chế cho phép chuyển gói dữ liệu multicast từ MRouternguồ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ủaMRouter ở đầu bên kia của đường hầm và địa chỉ nguồn là địa chỉ IP unicast củaMRouter đang gửi gói tin đó

Hình 1.13: Đóng gói IP multicast theo cơ chế tunnelingCác bộ định tuyến trung gian nằm trên tuyến liên kết từ MRouter nguồn đếnMRouter đích sẽ xem gói này như gói dữ liệu unicast bình thường và truyền đitheo thông tin trong bảng định tuyến unicast Ốc đảo multicast đích ở phía bênkia của đường hầm sẽ nhận gói unicast này và tách phần header đã được thêmvà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ácgó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

Trang 28

Như thể hiện trên hình 1.14, MRouter R2 muốn gửi một gói tin IP đahướng tới MRouter R5 Trước hết, R2 sẽ đóng vỏ gói tin (chuyển từ gói IP đahướng thành gói IP đơn hướng) rồi chuyển tiếp tới URouter R3 Gói đa hướngnày sẽ đi theo tuyến R3-R7-R8-R5 Như vậy, theo cơ chế đường hầm, vớiMRouter 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 thamgia 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ácyêu cầu đến router gần nhất Tác vụ này được thực hiện thông qua giao thứcquản lý nhóm Internet - IGMP (Internet Group Management Protocol) Giao thứcIGMP phát triển từ giao thức Host Membership Protocol, được mô tả trong tàiliệu của Deering IGMP phát triển từ IGMPv1 (RFC 1112) đến IGMPv2 (RFC2236) 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ườngTTL 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 quantrọ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áchkhá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 hostnà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à HostMembership Report và Host Membership Query Định dạng của thông điệpIGMPv1 được thể hiện như trong hình 1.15:

Trang 29

Hình 1.15: Thông điệp IGMPv1Giá 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

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 MembershipReport 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 thamgia

Trang 30

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 HostMembership Query đến tất cả các host để kiểm tra xem các host này có còn quantâm nhận dữ liệu multicast nữa không Các host có thể tham gia vào các nhómmulticast ở bất kỳ thời điểm nào IGMPv1 không có cơ chế để cho phép một hostrờ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ómmulticast nào nếu cổng đó không nhận đƣợc thông điệp Host MembershipReport trong ba chu kỳ truy vấn liên tiếp Điều này có nghĩa là, dữ liệu multicastvẫ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

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

Trang 31

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

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ọnrouter truy vấn, IGMPv2 sử dụng một phương thức lựa chọn đơn giản để chọnmột router trên mỗi mạng con để gửi định kỳ các thông điệp Host MembershipQuery 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ủagói tin đó Nếu địa chỉ nguồn của router cục bộ nhỏ hơn địa chỉ nguồn trong góitin 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

Trang 32

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ấncho 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ònthành viên nào của nhóm và không đẩy dữ liệu multicast tới đó nữa Nếu routernhậ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ủanhó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àmgiảm đi các dữ liệu thừa mà router chuyển đến các mạng con khi không cònthà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ácrouter 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ínhnă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 địachỉ 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ớicủ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ệumulticast từ địa chỉ nguồn xác định Với IGMPv1 và IGMPv2 một host thông báonhó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

Trang 33

multicast từ mỗi nguồn IMGPv3 cho phép một host chỉ rõ hai thuộc tính sau đâycho 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 tincho từng nguồn cụ thể trong IGMPv3 Host Membership Report để ngăn việcchuyển các thông điệp multicast từ một nguồn tới một mạng con không có thànhviê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ạngvới IGMPv2 Host Membership Query ngoài trừ nó thêm một số trường ở sautrườ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ỗinhó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 QueryTên trường

Type

Maximum

Response Time

Checksum

Trang 34

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ácnhóm multicast mà nó muốn gia nhập, với mỗi địa chỉ nhóm kèm theo danh sáchnhững địa chỉ nguồn mà host muốn nhận dữ liệu multicast và nguồn nào hostkhông muốn nhận Thông điệp IGMPv3 Host Membership Report chứa một dãycác bản ghi nhóm Mỗi nhóm chứa địa chỉ nhóm multicast và một danh sách liênkết các nguồn Thông điệp IGMPv3 Host Membership Report đƣợc gửi tới địachỉ 224.0.0.22, đây là địa chỉ dành riêng cho router multicast hỗ trợ IGMPv3

Trang 35

Bảng 1.4: Các trường trong thông điệp IGMPv3 Host Membership ReportTên trường

Trang 36

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: giaothứ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ệumulticast, vì thế chúng gửi dữ liệu xuống tất cả các mạng cho đến khi nhận đượcthô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ợpvới các mạng máy tính nhỏ, trong đó lưu lượng multicast được truyền tới hầuhết các máy trên mạng Các giao thức sparse mode hoạt động theo cách ngượclạ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ácmá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 VectorMulticast 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ếnunicast 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ựchiện chuyển tiếp multicast Điều này đặc biệt đúng khi DVMRP hoạt động trênmạng đa truy cập như mạng Ethernet, bởi vì trên mạng có thể có nhiều routerDVMRP cùng tham gia Để thực hiện điều đó, các thông điệp thăm dò DVMRP

Trang 37

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 DVMRPCá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ủarouter 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ủarouter 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àodanh sách hàng xóm Và ở chu kỳ gửi gói tin tiếp theo tiếp theo, router 1gửi thông điệp lên mạng với địa chỉ IP của router 2 trong danh sách hàngxó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ếtlập thành công giữa nó và hàng xóm, khi đó hai router có thể trao đổi dữ liệu vớinhau

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

Trang 38

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 multicastbao 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 1Trong 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áotrước như trên hình 2.3

Hình 2.3: Trao đổi định tuyến DVMRP bước 2

Trang 39

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 1cập nhật thực thể đã có trong bảng định tuyến với giá trị metric mới là 4 và giaodiệ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ớihai đường đi mà nó đã nhận trên cổng E0 bằng cách thêm giá trị ngưỡng (32) vàogiá 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âymulticast của nguồn dữ liệu và mong muốn nhận dữ liệu multicast từ hai mạng nàythô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 3Sau khi cập nhật bảng định tuyến router 2 sẽ gửi một thông báo PoisonReverse cho đường đi 198.14.32.0/24 nhận từ router 1 bằng cách thêm ngưỡngvà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

Trang 40

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ưulượ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ácmá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ựctiếp, một thông điệp DVMRP Prune được gửi ngược lên cây multicast để yêucầ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ênhì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ómG

Hình 2.5: Cắt nhánh trong DVMRP bước 1Má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ằngcá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ệpPrune tới router E để yêu cầu cắt khỏi cây multicast Router E biết rằng nó chỉ có

Ngày đăng: 11/11/2020, 21:42

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w