đồ án : NGHIÊN CỨU GIAO THỨC PIM-SM TRONG MÔI TRƯỜNG MPLSNội dung đồ án: Đồ án tìm hiểu các đặc điểm cơ bản về lý thuyết IP multicast, giao thức chuyển mạch nhãn MPLS, nghiên cứu sự hoạt động của giao thức PIM-SM trong môi trường chuyển mạch MPLS và thực hiên mô phỏng hoạt động của giao thức PIM-SM bằng phần mềm NS2. Đồ án được chia thành ba chương như sau:CHƯƠNG I: TỔNG QUAN VỀ IP MULTICASTCHƯƠNG II: CÔNG NGHỆ CHUYỂN MẠCH MPLS CHƯƠNG III: GIAO THỨC PIM-SM TRONG MÔI TRƯỜNG MPLS
Trang 1Ngành : Điện Tử – Viễn Thông
MÔI TRƯỜNG MPLSNội dung đồ án:
Đồ án tìm hiểu các đặc điểm cơ bản về lý thuyết IP multicast, giao thức chuyểnmạch nhãn MPLS, nghiên cứu sự hoạt động của giao thức PIM-SM trong môi trườngchuyển mạch MPLS và thực hiên mô phỏng hoạt động của giao thức PIM-SM bằngphần mềm NS2 Đồ án được chia thành ba chương như sau:
CHƯƠNG I: TỔNG QUAN VỀ IP MULTICAST
CHƯƠNG II: CÔNG NGHỆ CHUYỂN MẠCH MPLS
CHƯƠNG III: GIAO THỨC PIM-SM TRONG MÔI TRƯỜNG MPLS
Ngày giao đồ án : 20/07/2008
Ngày nộp đồ án : 20/10/2008
Ngày 18 tháng 10 năm 2008
Giáo viên hướng dẫn
KS Nguyễn Thu Hiên
Trang 2Điểm :…………(Bằng chữ :………)
Ngày… tháng……năm 2008
Giáo viên hướng dẫn
KS Nguyễn Thu Hiên
Trang 3Điểm :……… (Bằng chữ :………… )
Ngày……tháng…… năm 2008
Giáo viên phản biện
Trang 4MỤC LỤC
MỤC LỤC i
DANH MỤC HÌNH VẼ ii
DANH MỤC BẢNG BIỂU iv
THUẬT NGỮ VIẾT TẮT v
LỜI NÓI ĐẦU 1
CHƯƠNG I: TỔNG QUAN VỀ IP MULTICAST 3
1.1 Giới thiệu về IP multicast 3
1.1.1 Các phương thức truyền lưu lượng 3
1.1.2 Ứng dụng và khả năng của Multicast 6
1.2 Địa chỉ Multicast 8
1.2.1 Multicast trên các lớp khác nhau 8
1.2.2 Phân giải địa chỉ 9
1.2.3 Multicast trong môi trường chuyển mạch lớp 2 9
1.3 Định tuyến cho lưu lượng Multicast 14
1.3.1 Tóm tắt hoạt động truyền Multicast 14
1.3.2 Mô hình truyền dữ liệu 14
1.3.3 Định tuyến cho lưu lượng Multicast 19
1.3.4 Giao thức IGMP 20
1.4 IP Multicast trong MPLS 26
CHƯƠNG II: CÔNG NGHỆ CHUYỂN MẠCH MPLS 28
2.1 Giới thiệu về MPLS 28
2.1.1 Khả năng của MPLS 28
2.1.2 Ưu nhược điểm và ứng dụng của MPLS 30
2.2 Nguyên lý hoạt động của MPLS 33
2.2.1 Các khái niệm cơ bản 33
2.2.3 Các hoạt động liên quan đến nhãn 40
2.2.4 Hoạt động của MPLS 50
CHƯƠNG III : GIAO THỨC PIM–SM TRONG MÔI TRƯỜNG MPLS 56
3.1 Tổng quát về giao thức PIM – SM 56
3.1.1 PIM Sparse Mode (PIM-SM) 56
3.1.2 Hoạt động của giao thức PIM-SM 57
3.2 PIM – SM trong môi trường MPLS 74
3.3 Mô phỏng PIM – SM trong môi trường MPLS sử dụng NS2 76
3.3.1 Giới thiệu về phần mềm NS2 76
3.3.2 Xây dựng chương trình mô phỏng 83
PHỤ LỤC 85
TÀI LIỆU THAM KHẢO 90
Trang 5DANH MỤC HÌNH VẼ
Hình 1.1 Truyền thông Unicast 4
Hình 1.2 Broadcast lãng phí băng thông và tăng tải xử lý trên CPU 4
Hình 1.3 Truyền tải multicast đến nhiều máy thu 5
Hình 1.3 Ánh xạ địa chỉ IP Multicast sang địa chỉ Ethernet/FDDI MAC 10
Hình 1.4 Sự không rõ ràng địa chỉ MAC 11
Hình 1.5 Tham gia nhóm Multicast 15
Hình 1.6 Truyền dữ liệu sử dụng cây chia sẻ 16
Hình 1.7 Cây đường dẫn ngắn nhất 17
Hình 1.8 Cây định tuyến cơ sở lõi - nhóm multicast chia sẻ chung một cây đơn 17
Hình 1.9 Tuyến dự phòng trước trong cây định tuyến multicast 18
Hình 1.10 Chuyển tiếp theo đường dẫn ngược (RPF - Reverse Path Forwarding) 19
Hình 1.11 Chuyển tiếp lưu lượng Multicast 20
Hình 1.12 Định dạng gói tin IGMPv1 22
Hình 1.13 Định dạng gói tin IGMPv2 24
Hình 1.14 Báo cáo thành viên IGMPv3 26
Hình 2.1 Định tuyến dựa trên địa chỉ đích 31
Hình 2.2 Các thiết bị trong mạng MPLS 34
Hình 2.3 Kiến trúc node mạng MPLS 37
Hình 2.4 Cấu trúc bảng chuyển tiếp chuyển mạch nhãn 38
Hình 2.5 Thành phần điều khiển chuyển mạch nhãn 40
Hình 2.6 Cấu trúc tiêu đề đệm MPLS 41
Hình 2.7 Các loại không gian nhãn 42
Hình 2.8 Sự duy nhất của nhãn trong không gian nhãn 43
Hình 2.9 Ứng dụng các mức nhãn khác nhau trong chuyển tiếp liên miền 44
Hình 2.10 Ví dụ về ngăn xếp nhãn: LSR lấy nhãn ra khỏi ngăn xếp 45
Hình 2.11 Ví dụ về ngăn xếp nhãn: LSR F lấy nhãn ra khỏi ngăn xếp 45
Hình 2.12 Ví dụ về ngăn xếp nhãn: nhãn được lấy hai lần tại LSR E và F 46
Hình 2.13 Hợp nhất nhãn 47
Hình 2.14 Liên kết đường lên và đường xuống 47
Hình 2.15 Sử dụng FEC riêng biệt cho mỗi tiền tố địa chỉ và tổ hợp FEC 48
Trang 6Hình 2.16 chế độ điều khiển độc lập 49
Hình 2.17 phân bổ liên kết nhãn không theo yêu cầu 50
Hình 2.18 Hoạt động chuyển tiếp gói tin qua miền MPLS 51
Hình 2.19 Ví dụ về định tuyến hiện 53
Hình 2.20 Ví dụ khung MPLS với PPP/Ethernet là lớp liên kết dữ liệu 54
Hình 2.21 Truyền gói MPLS trong chế độ tế bào 55
Hình 3.1 R1 chuyển tiếp một gói tin sử dụng giao thức định tuyến Sparse – Mode 56
Hình 3.2 Nguồn xử lý đăng ký khi RP không nhận được yêu cầu cho Group từ Router Any PIM- SM 58
Hình 3.3 Tạo một cây dùng chung cho (*, 288.8.8.8) 60
Hình 3.4 Đăng ký nguồn khi RP cần nhận các gói được gửi đến nhóm 62
Hình 3.5 Host H2 gửi một bản tin Join IGMP 64
Hình 3.6 R4 đang chuyển đổi từ RPT sang SPT bằng việc gửi một Join PIM-SM đến R1 65
Hình 3.7 R4 gửi Prune PIM-SM với RP Bit Set đến R5 67
Hình 3.8 R3 gửi bản tin RP - Announce 68
Hình 3.9 R2 tạo ánh xạ Group đến RP và gửi chúng trong bản tin RP- Discovery 69
Hình 3.10 Bản tin BSR Flooding Boostrap 71
Hình 3.11 Học địa chỉ RP với Anycast RP 73
Hình 3.12 Vấn đề Anycast RP (sau đó được giải quyết với MSDP) 74
Hình 3.13 Lối vào bảng định tuyến Multicast cho phiên (S1, G1) 75
Hình 3.14 Cấu hình mạng 83
Hình 3.15 Kết quả mô phỏng 84
Trang 7DANH MỤC BẢNG BIỂU
Bảng 1.1 Địa chỉ Multicast Link – Local 12 Bảng 2.1:So sánh các thuật toán chuyển tiếp IP truyền thống và MPLS 38
Trang 8THUẬT NGỮ VIẾT TẮT
ARP Address Resolution Protocol Giao thức phân giải địa chỉ
ATM Asynchronous Transfer Mode Truyền dẫn không đồng bộ
AtoM Any Transport over MPLS Any truyền tải qua MPLS
BGP Border Gateway Protocol Giao thức cổng đường biên
CGMP Cisco Group Management Protocol Giao thức quản lý nhóm Cisco
CR-LDP Constrained Routing - LDP Định tuyến cưỡng bức - LDP
CR-LSP Constrained Routing - LSP Định tuyến cưỡng bức - LSP
DLCI Data Link Connection Identifier Nhận diện kết nối kiên kết dữ
liệuDVMRP Distance Vector Multicast Routing
Protocol
Giao thức định tuyến Multicast Vector khoảng cách
FDDI Fiber Distributed Data Interface Giao diện dữ liệu phân bố sợi
quangFEC Fowarding Equivalent Class Lớp chuyển tiếp tương đương
IANA Internet Assigned Numbers
Authority
Cơ quan địa chỉ số Internet
IETF Internet Engineering Task Force Nhóm tác vụ kỹ thuật Internet
IGMP Interner Group Management Protocol Giao thức quản lý nhóm InternetIGP Interior Gateway Protocols Giao thức cổng nội bộ
IntServ Integrated Service Các dịch vụ được tích hợp
Trang 9ISDN Integrated Service Digital Network Mạng số liên kết đa dịch vụ
ISO International Organization for
Standardization
Tổ chức tiêu chuẩn hóa quốc tế
LDP Label Distribution Protocol Giao thức phân bổ nhãn
LIB Label Information Base Cơ sở thông tin nhãn
LSFT Label Switching Forwarding Table Bảng chuyển tiếp nhãn
LSP Label Switched Path Đường dẫn chuyển mạch nhãnLSR Label Switch Router Router chuyển mạch nhãn
MPLS Multiprotocol Label Switching Chuyển mạch nhãn đa giao thứcMSDP Multicast Source Discovery Protocol Giao thức phát hiện nguồn
Multicast
NHRP Next Hop Resolution Protocol Giao thức phân giải chặng kế
tiếp
OAM Operation Administration, and
Maintenance
Quản lý hoạt động và bảo dưỡng
OSI Open System Interconnection models Mô hình liên kết nối hệ thống
mởOSPF Open Shortest Path First Giao thức đường đi ngắn nhất
đầu tiênOTcl Object – Oriented Toll Command
Language Ngôn ngữ dòng lệnh mở rộng hướng đối tượngPID Protocol Identifier Nhận dạng giao thức
PIM Protocol Independent Multicast Giao thức Multicast độc lập
PIM-DM PIM - Dense Mode Giao thức PIM chế độ dày đặcPIM-SM PIM – Sprase Mode Giao thức PIM chế độ thưa thớtPNNI Private Network-Network Interface Mạng riêng ảo
Trang 10PPP Point to Point Protocol Giao thức điểm - điểm
PSTN Public Switch Telephone Network Mạng thoại chuyển mạch công
cộng
RPF Reverse Path Forwarding Chuyển tiếp đường dẫn ngược
RSVP Resource Resevation Protocol Giao thức dành trước tài nguyên
SLA Service Level Agreement Thoả thuận mức dịch vụ
SMDS Swiched Multimegabit Digital
Service Dịch vụ số Multimegabit chuyểnmạchSNMP Simple Network Management
SPF Shortest Path First Đường đi ngắn nhất đầu tiên
SPT Spanning Tree Protocol Giao thức cây mở rộng
SSM Source-Specific Multicast Đặc trưng nguồn Multicast
STM Synchronous Transmission Mode Chế độ truyền dẫn đồng bộ
TCP Transission Control Protocol Giao thức điều khiển truyền dẫn
UDP User Datagram Protocol Giao thức lược đồ dữ liệu
VCI Virtual Circuit Identifier Nhận dạng kênh ảo
VINT Virtual Internet Tesrbed Nền kiểm thử Internet ảo
VNPT Vietnam Post & Telecommunications Tổng công ty BCVT Việt Nam
VPI Virtual Path Identifier Nhận dạng đường ảo
VPN Virtual Private Network Mạng riêng ảo
Trang 11LỜI NÓI ĐẦU
Cùng với sự phát triển của đất nước, ngành công nghiệp viễn thông cũng phát triểnkhông ngừng Số người sử dụng các dịch vụ mạng tăng đáng kể, theo dự đoán con số nàyđang tăng theo hàm mũ Ngày càng có nhiều các dịch vụ mới và chất lượng dịch vụ cũngđược yêu cầu cao hơn Trước tình hình này, các vấn đề về mạng bắt đầu bộc lộ, các nhàcung cấp mạng và các nhà cung cấp dịch vụ cũng đã có nhiều nỗ lực để nâng cấp cũngnhư xây dựng hạ tầng mạng mới Nhiều công nghệ mạng đã ra đời nhằm đáp ứng tốt nhấtnhu cầu của khách hàng và giải quyết các vấn đề nảy sinh Trong số đó chúng ta phải kểđến công nghệ chuyển mạch nhãn đa giao thức MPLS
Hiện nay, trong môi trường kinh doanh có một lượng rất lớn các thông tin cần phảichuyển tiếp đến nhiều nơi trong cùng một thời gian Cùng thời điểm đó, các doanh nhân
và các nhà nghiên cứu cần lấy một lượng lớn thông tin và thống kê trong cùng một ngày.Mạng hiện nay được sử dụng và phát triển để đáp ứng nhu cầu này, với sự phát triển đóthì các dịch vụ mới lại được thêm vào để phục vụ tốt hơn cho nhu cầu sử dụng IPMulticast được xem là giải pháp tối ưu để giải quyết vấn đề này
Bên cạnh đó truyền thông multicast tại Việt Nam đang ở giai đoạn khởi đầu Khicác đường truyền băng thông rộng được triển khai tới từng thuê bao, các nhà khai thácviễn thông lớn đang có những bước chuẩn bị để tung ra các dịch vụ truyền thông dunglượng lớn như Internet TV, hội nghị truyền hình, truyền hình theo yêu cầu, Trong quátrình triển khai, chất lượng dịch vụ mạng sử dụng phương thức truyền thông multicast bịảnh hưởng rất nhiều bởi khả năng thích ứng với sự tăng trưởng đột biến về số lượng trạm
Khi một luồng âm thanh, hình ảnh cần được truyền tới các máy tính nằm phân tántrên Internet, lưu lượng này phải được gửi đi theo cách hiệu quả nhất, nghĩa là dùng càng
ít băng thông càng tốt IP multicast là một trong những công nghệ và tiêu chuẩn tiêu biểucho phép truyền dẫn đa điểm-đa điểm như hội nghị truyền hình, hoặc truyền dẫn điểm-đađiểm như quảng bá âm thanh, video trên Internet
PIM-SM là một trong nhiều giao thức định tuyến IP Multicast Với ưu điển nổi trộicủa nó là chỉ truyền lưu lượng khi có yêu cầu Điều này đã làm tiết kiệm đáng kể băngthông Việc truyền tải lưu lượng IP Multicast bằng cách sử dụng giao thức PIM-SM tuykhông còn là vấn đề mới mẻ Nhưng việc ứng dụng công nghệ MPLS kết hợp với giaothức PIM-SM đem lại cho ta nhiều hiệu quả to lớn
Trang 12Nội dung của đồ án của em được chia làm ba chương như sau:
Chương I: Tổng quan về IP Multicast
Giới thiệu khái quát về truyền tải IP Multicast như : Địa chỉ Multicast, các ứngdụng của nó, truyền tải lưu lượng IP Multicast… Bên cạnh đó còn giới thiệu vềgiao thức IGMP là một giao thức quản lý phổ biến hiện nay
Chương II: Công nghệ chuyển mạch MPLS
Trình bày về công nghệ MPLS với các ưu nhược điểm, các khái niệm liên quancũng như sự hoạt động của giao thức này
Chương III: Giao thức PIM-SM trong môi trường MPLS
Nghiên cứu sự hoạt động của giao thức PIM-SM trong môi trường MPLS vàthực hiện mô phỏng giao thức trên phần mềm mô phỏng mạng NS2
Do việc kết hợp của giao thức PIM-SM và công nghệ MPLS để truyền tải lưulượng IP Multicast còn tương đối mới nên đòi hỏi phải có kiến thức sâu rộng và lâu dài
Do vậy đồ án không tránh khỏi những sai sót Rất mong nhận được sự phê bình, góp ýcủa các thầy cô giáo và các bạn
Xin gửi lời cảm ơn chân thành tới KS Nguyễn Thu Hiên đã tận tình hướng dẫn
em trong suốt quá trình làm đồ án
Xin chân thành cảm ơn các thầy cô giáo trong khoa Viễn Thông I đã giúp đỡ emtrong thời gian qua và xin gửi lời cảm ơn tới gia đình, bạn bè và người thân những người
đã giúp đỡ động viên tôi trong quá trình học tập
Hà Nội, ngày 18 tháng 10 năm 2008
Sinh viên
Trần Văn Nam
Trang 13CHƯƠNG I: TỔNG QUAN VỀ IP MULTICAST
1.1 Giới thiệu về IP multicast.
Cuối những năm 80, Steve Deering tham gia vào một dự án trong đó có nhu cầugửi một thông điệp từ một máy tính đến một nhóm các máy tính thông qua các giao thứclớp 3 Sau khi nghiên cứu vài giao thức định tuyến, Deering kết luận rằng chức năng củacác giao thức định tuyến có thể mở rộng để hỗ trợ cơ chế multicast lớp 3 IP multicast làmột sự mở rộng của IP Tổ chức IETF đưa ra khuyến nghị RFC 1112, định nghĩa cácthành phần mở rộng cho IP
Trước đây người ta chủ yếu tập trung vào truyền thông điểm - điểm hay còn gọi làtruyền thông unicast Truyền thông unicast là truyền thông mà ở đó một người gửi tin chomột người nhận Tuy nhiên, trong rất nhiều ứng dụng yêu cầu một nguồn dữ liệu cần phảiđược gửi tới đồng thời tới nhiều người nhận
1.1.1 Các phương thức truyền lưu lượng.
Truyền thông IP truyền thống cho phép một host gửi các gói đến host khác theo bacách thức khác nhau
• Truyền đơn hướng (Unicast): Các gói tin được gửi từ một địa chỉ nguồn
đến một địa chỉ đích Một router hoặc một thiết bị lớp 3 sẽ chuyển các gói tin bằng cáchtìm địa chỉ đích trong bảng định tuyến Nếu một thiết bị là L2, nó chỉ cần dựa vào địa chỉMAC Phương thức unicast yêu cầu rằng các ứng dụng video gửi một bản copy của từnggói tin đến mọi địa chỉ unicast của các thành viên của nhóm Ví dụ để hỗ trợ hình ảnhđẹp, mỗi dòng video yêu cầu 1.5 Mbps cho mỗi máy nhận Nếu chỉ có một vài máy nhận,phương thức này làm việc được nhưng yêu cầu băng thông là n*1.5Mbps trong đó n là sốhost nhận Khi số máy tham gia vào tăng lên hàng trăm hoặc hàng ngàn, tải trên servercũng tăng lên Đối với 100 người dùng, phần băng thông yêu cầu để gửi unicast là150Mbps Đối với 1000 người dùng, phần băng thông yêu cầu là 1.5Gbps Phương thứcdùng unicast không có khả năng mở rộng Nếu chuyển sang dùng broadcast, ta chỉ cầntruyền dữ liệu một lần, tuy nhiên lúc này sẽ gặp vài vấn đề nghiêm trọng Đầu tiên, nếubên máy nhận nằm trong vùng broadcast domain khác máy gửi, router cần phải truyền dữliệu broadcast Tuy nhiên, truyền gói tin dạng broadcast có thể là giải pháp tồi nhất vì sẽtốn rất nhiều băng thông và tăng tải trên tất cả các thiết bị mạng nếu chỉ có một nhóm nhỏcác máy trong mạng thực sự cần nhận gói tin
Trang 14Hình 1.1 Truyền thông Unicast
• Truyền quảng bá (Broadcast): Các gói tin được gửi từ một máy nguồn
đến một địa chỉ đích broadcast Địa chỉ đích có thể là địa chỉ tất cả các hosts(255.255.255.255) hoặc là một phần của địa chỉ subnet Một router hoặc một L3 switch sẽkhông cho phép chuyển các dữ liệu broadcast này Một thiết bị L2 sẽ cho phép phát tánlưu lượng quảng bá ra tất cả các cổng của nó
Hình 1.2 Broadcast lãng phí băng thông và tăng tải xử lý trên CPU
• Truyền đa hướng (Multicast): IP multicast cung cấp phương án truyền
Trang 15subnet của các host trong mạng Các gói được gửi từ một địa chỉ nguồn đến một nhómcác máy tính Địa chỉ đích tượng trưng bằng các host muốn nhận traffic này Mặc định,một router hoặc một L3 switch sẽ không chuyển các gói tin này trừ khi phải cấu hìnhmulticast routing Một thiết bị L2 switch không thể nhận biết được vị trí của địa chỉmulticast đích Tất cả các gói sẽ được phát tán ra tất cả các port ở chế độ mặc định IP
multicast là một công nghệ bảo toàn băng thông được thiết kế một cách đặc biệt để làm
giảm lưu lượng bằng cách cung cấp đồng thời một luồng thông tin riêng lẻ đến hàng ngànngười nhận Bằng cách thay thế bản sao cho tất cả người nhận với việc cung cấp mộtluồng thông tin riêng lẻ IP multicast có thể giảm thiểu các gánh nặng trên cả host gửi vàhost nhận và làm giảm lưu lượng trên toàn mạng IP multicast cung cấp một sự cải thiện
to lớn về hiệu năng, sử dụng băng thông và cho phép thiết kế các ứng dụng phân tán mộtcách hiệu quả
Hình 1.3 Truyền tải multicast đến nhiều máy thu
Quá trình truyền unicast và broadcast là trường hợp riêng của multicast Nếu trongmôi trường truyền như là Ethernet hay SMDS có hỗ trợ multicast và broadcast, thì sửdụng các ứng dụng gửi một lần đến nhiều đích là một sự lựa chọn tốt Khi một luồng âmthanh, hình ảnh cần được truyền tới các máy tính nằm phân tán trên Internet, lưu lượngnày phải được gửi đi theo cách hiệu quả nhất, nghĩa là dùng càng ít băng thông càng tốt
Một hướng đi mới cho IP, IP Multicast là giao thức dùng để truyền gói tin IP từmột nguồn đến nhiều đích đến khác nhau trong mạng LAN hay WAN Nhóm nhữngthành viên muốn nhận thông tin này thì phải tham gia vào một nhóm multicast Với IPmulticast, ứng dụng gửi một bản sao của thông tin đến một nhóm Thông tin này đến tất
Trang 16cả những người nào muốn nhận nó Kĩ thuật Multicast đánh địa chỉ các gói là địa chỉnhóm thay vì địa chỉ của từng người nhận Các gói tin này phụ thuộc vào các mạngchuyển tiếp để chuyển đến mạng cần nhận nó Một nút có khả năng multicast chạy giaothức TCP/IP có thể nhận được thông điệp multicast.
Các lưu lượng dạng multicast thường là một chiều (unidirectional) Do có nhiềuhost nhận cùng một dữ liệu, nên thông thường các gói tin không được phép gửi ngược vềmáy nguồn trên cơ chế multicast Một host đích sẽ trả lưu lượng ngược về nguồn theo cơchế unicast Cơ chế multicast cũng sẽ được truyền theo kiểu phi kết nối (connectionless).Multicast sử dụng UDP chứ không dùng TCP
Các host muốn nhận dữ liệu từ một nguồn multicast có thể tham gia hoặc rời khỏimột nhóm multicast ở bất kỳ thời điểm nào Hơn nữa, một host sẽ quyến định có trở thànhthành viên của một hay nhiều nhóm multicast hay không Nguyên tắc cần quan tâm là sẽhoạch định làm thế nào để phân phối các lưu lượng multicast đến các thành viên củanhóm mà không ảnh hưởng đến các thành viên ngoài nhóm
Có ba yêu cầu cơ bản để có thể triển khai multicast trên một mạng đó là:
Phải có một tập hợp các địa chỉ dành cho các nhóm multicast
Phải có một cơ chế trong đó các host có thể tham gia và rời khỏi nhóm
Phải có một giao thức định tuyến cho phép các router phân phối các lưu lượng đahướng tới các thành viên của nhóm mà không làm quá tải tài nguyên mạng
Multicast là kĩ thuật đẩy thông tin, trong đó một máy chủ sẽ gửi dữ liệu đến người
sử dụng mà không cần người sử dụng phải yêu cầu trước Thuật ngữ về kéo và đẩy xuấthiện rất nhiều trong các cuộc thảo luận về truyền tải thông tin qua Internet Trong kĩ thuậtkéo thông tin, client yêu cầu dữ liệu từ phía máy chủ hoặc từ các máy tính khác Email là
kĩ thuật đẩy thông tin trong khi Web lại là kĩ thuật kéo thông tin
1.1.2 Ứng dụng và khả năng của Multicast
Các ứng dụng hiện nay trên mạng Internet đều dựa vào giao thức truyền theo điểm,giống như là các ứng dụng trong mạng LAN truyền thống.IP multicast giúp cho mạng tiếtkiệm được băng thông IP Multicast là một sự thay thế tốt cho quá trình truyền unicast khi
mà các công ty cần chuyển thông tin đến nhiều khách hàng trong cùng một thời điểm.Sử
Trang 17dụng IP Multicast có thể giảm tải cho mạng Ví dụ một ứng dụng về tài chính cần phảigửi thông tin báo cáo cho hàng trăm máy trong mạng của một công ty Mỗi máy nếu sửdụng theo giao thức unicast thì thông tin cần phải nhân bản lên hàng trăm lần và dichuyển trên cùng một liên kết mạng Các gói tin chỉ được nhân bản khi gặp một nhánh rẽtrên cây chuyển tiếp Sau đây là một số ứng dụng điển hình.
Phân phối thông tin: IP Multicast làm cho việc phân phối thông tin trong các
phòng ban trở nên dễ dàng Ví dụ một công ty có một số thay đổi về chính sách giá cả thìthông tin này sẽ được truyền tới toàn bộ các đại lý trong cùng một lúc, hoặc các công ty
về IT sử dung IP Multicast để đưa thông tin cập nhật về các phần mềm mới của mình tớikhách hàng
Hội thảo truyền hình: Thông thường người ta hay sử dụng các đường ISDN đắt
tiền phục vụ cho việc hội thảo truyền hình hoặc sử dụng dịch vụ do các công ty viễnthông cung cấp Hội thảo tương tác qua Internet,Intranet hoặc extranet sử dụng multicastthì có giá trị kinh tế hơn nhiều, và cho phép số người tham gia cùng một lúc không giớihạn
Phát hiện dịch vụ: các giao thức phát hiện dịch vụ trên mang sử dụng multicast
thay vì broadcast thì có hiệu quả cao hơn, điều đó làm cho dịch vụ không còn bị giới hạntrong phạm vi của một subnet mà có thể mở rộng trên toàn mạng TCP/IP mà không cầnphải cung cấp các thông tin về cấu hình…
b Khả năng:
Một mạng có khả năng multicast có thể chuyển tiếp các gói theo địa chỉ của nó.Các router có hỗ trợ multicast phải theo dõi được thành phần nào trong mạng có các máytính tham gia vào nhóm
Khả năng của multicast trên các máy trạm:
RFC 1112 mô tả IP multicast mở rộng cho chồng giao thức IP Có tất cả ba mứctương thích của chuẩn này tồn tại Tại mức 0, có nghĩa là không hỗ trợ cho IP multicast
và không có ảnh hưởng bởi các hoạt động multicast
Để cung cấp multicast tại mức 1, một máy tính trong mạng IP phải hỗ trợ truyềncác gói tin multicast Tại mức này các host chi gửi các gói tin multicast, mức 1 cho phépmột host tham gia vào một vài dịch vụ dựa trên multicast như là thông báo trạng thái hoặcđịnh vị tài nguyên Các host tại mức này không thể nhận các gói multicast
Tại mức 2 các host phải cung cấp khả năng truyền và nhận các gói tin multicast IP.Các host của mức 2 phải hỗ trợ toàn bộ các khả năng của IP multicast Host có thể thamgia và rời nhóm Các nhóm thuộc mức 2 phải được cài đặt giao thức IGMP trong nó Mục
Trang 18đích chính của IGMP là thông báo cho các router biết về sự hiện diện của host trongnhóm để router có thể chuyển tiếp các gói đến cho nó.
Khả năng của multicast trên router:
Chuyển tiếp các gói tin IP Multicast có thể được thực hiện thông qua quá trình cấuhình tĩnh hoặc sử dụng các giao thức định tuyến multicast Thiết bị chuyển tiếp các gói tinmulticast gọi là multicast router Chúng cũng có khả năng chuyển tiếp các gói tin unicasthoặc không tùy vào mục đích sử dụng Router chuyển các gói tin multicast dựa vào giá trịđịa chỉ nguồn và đích của chúng Cùng với sự bùng nổ dữ liệu thông tin hiện có như làcác ứng dụng multimedia, truyền dữ liệu thời gian thực, các router mới hiện nay đều cókhả năng định tuyến các gói tin multicast được xây dưng sẵn.Tuy nhiên vẫn còn rất nhiềurouter không thể chuyển tiếp các gói tin multicast một cách đúng đắn
Một host gửi một thông điệp multicast lên mạng và ngay lúc đó các router có khảnăng định tuyến multicast lấy gói tin này, chuyển nó đến nhóm riêng của nó Router xâydựng đường đi cho các nhóm bằng cách xây dựng một cây phân phối từ phía người gửiđến tất cả các người nhận khác Multicast router phải thực thi một giải thuật định tuyếndựa trên giao thức đinh tuyến multicast
Giao thức multicast có thể được sử dụng nằm trên tất cả các giao thức khác đã cótrong mạng chỉ cần thao tác nâng cấp phần mềm cho các thiết bị định tuyến hiện tại Mộttương lai lí tưởng cho các IP multicast nếu như các thiết bị định tuyến đều hỗ trợ các giaothức IGMP,DVMRP, MOSPF và PIM, điều này sẽ giúp nâng cao rất nhiều tầm của cácứng dụng multicast và quá trình tương tác giữa các thành phần mạng
1.2 Địa chỉ Multicast
1.2.1 Multicast trên các lớp khác nhau
Multicast có thể được cài đặt trên cả hai lớp: lớp liên kết dữ liệu và lớp mạng Tạilớp liên kết dữ liệu các giao thức Ethernet, FDDI, và Token Ring hỗ trợ địa chỉ Multicasttrong các trường mở rộng Multicast tại lớp liên kết dữ liệu chỉ được giới hạn trong cácứng dụng tại một mạng LAN Tuy nhiên, multicast cũng có thể được sử dụng tại lớpmạng nếu các ứng dụng multicast mở rộng ra khỏi mạng LAN hoặc phát triển trên nềnInternet bao gồm các môi trường truyền khác nhau và các cấu trúc mạng khác nhau.Multicast được thực hiện ở lớp này bởi vì các lí do sau:
• Quá trình chuyển đổi địa chỉ tại ISO/OSI lớp 3 sang lớp 2
• Một máy tính thuộc một nhóm có thể đăng kí với router để chuyển tiếp thông tinnhóm đến nó RFC 1112 định nghĩa IGMP IGMP chỉ rõ phương thức mà một nút mạngthông báo cho mạng biết nó là thành viên của một nhóm multicast
Trang 191.2.2 Phân giải địa chỉ
Các ứng dụng multicast luôn luôn dùng địa chỉ multicast Địa chỉ multicast nàytượng trưng cho các ứng dụng multicast và còn được gọi là các nhóm Không giống nhưtrong địa chỉ unicast (một địa chỉ tượng trưng cho một host), một địa chỉ multicast đượcdùng như một địa chỉ đích trên một gói tin IP chỉ ra rằng gói tin đang mang traffic chomột ứng dụng multicast Ví dụ, nếu một gói multicast mang địa chỉ đích là 225.5.5.5, điều
này có ý nghĩa là “gói tin đang mang lưu lượng cho ứng dụng Multicast có địa chỉ nhóm
là 225.5.5.5, bạn có muốn dùng không ?” Một địa chỉ multicast sẽ không bao giờ được
gán đến một thiết bị mạng, vì vậy nó sẽ không bao giờ dùng như một địa chỉ nguồn Mộtđịa chỉ nguồn trên một gói multicast cũng sẽ giống như mọi gói tin unicast, luôn luôndùng một địa chỉ unicast
Các router và switch phải có phương thức để phân biệt lưu lượng dạng Multicastvớ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ằngcách dùng địa chỉ lớp D từ 224.0.0.0 đến 239.255.255.255 chỉ 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 Không giống như dãyđịa chỉ lớp A,B và C, địa chỉ lớp D này không có quá trình subnetting Vì vậy có đến 228
địa chỉ nhóm multicast được lấy ra từ lớp D Các địa chỉ multicast là tượng trưng mộtnhóm, không tượng trưng cho host
Khi một router trong một subnet nhận được một gói tin multicast lớp 3, nó có thểánh xạ một địa chỉ IP multicast này thành một địa chỉ multicast lớp 2, có thể là một địachỉ Ehernet MAC Tại nơi nhận thiết bị giao tiếp mạng có thể dễ dàng đọc địa chi lớp 2này bằng phần cứng Nếu địa chỉ nhận được là địa chỉ Multicast thì gói tin sẽ đượcchuyển tiếp lên lớp trên
1.2.3 Multicast trong môi trường chuyển mạch lớp 2
Cách xử lý mặc định của mỗi thiết bị chuyển mạch lớp 2 là chuyển tiếp toàn bộ lưulượng Multicast tới tất cả các cổng trên thiết bị chuyển mạch thuộc mạng LAN đích Điềunày sẽ đi ngược với chức nǎng của chuyển mạch là chỉ chuyển tiếp lưu lượng tới các cổngcần nhận dữ liệu Có hai phương pháp giải quyết khá hiệu quả vấn đề lưu lượng Multicasttrong môi trường chuyển mạch lớp 2 là: Giao thức quản lý nhóm của Cisco CGMP vàIGMP Snooping Giao thức CGMP cho phép các chuyển mạch Catalyst xử lý thông tinIGMP trên các router của Cisco để đưa ra các quyết định chuyển tiếp CGMP phải đượccấu hình trên cả các router Multicast và các chuyển mạch lớp 2
Trang 20IGMP Snooping yêu cầu chuyển mạch LAN kiểm tra hoặc snoop (dò tìm) một sốthông tin lớp 3 trong các gói IGMP truyền giữa các host và router để biết host nào đangnằm trong nhóm nào hoặc vừa rời khỏi nhóm nào Khi đó, chuyển mạch sẽ thêm hoặc bớt
số thứ tự của cổng mà host đó gắn vào vào trong một bảng multicast của nhóm đó Do cácbản tin điều khiển IGMP được phát như các gói multicast nên không thể phân biệt các góinày với các dữ liệu multicast lớp 2 Khi sử dụng IGMP snooping, thiết bị chuyển mạchphải kiểm tra tất cả các gói dữ liệu multicast để xem từng gói có bất cứ thông tin điềukhiển IGMP phù hợp không IGMP snooping chỉ phù hợp với các chuyển mạch có nǎnglực cao và có khả nǎng thực hiện các kiểm tra IGMP bằng phần cứng
Ánh xạ địa chỉ IP multicast sang địa chỉ MAC
Làm thế nào mà một router và switch kết hợp một địa chỉ multicast của IP với mộtđịa chỉ MAC Việc gán địa chỉ multicast vào một nhóm L3 sang một nhóm multicastthường sẽ tự động tạo ra địa chỉ multicast lớp 2 Do không có cơ chế tương đương với cơchế ARP, một dạng giá trị đặc biệt dành riêng cho địa chỉ MAC của multicast sẽ đượcdùng Các địa chỉ này bắt đầu bằng 0100.5e Phần 28 bit sau của địa chỉ multicast IP sẽđược ánh xạ vào 23bit thấp của địa chỉ MAC bằng một giải thuật đơn giản Địa chỉ MACđược hình thành bằng cách dùng dạng OUI 01005E, sau đó là giá trị 0 và sau cùng là 23bits địa chỉ của L3 multicast
Hình 1.3 Ánh xạ địa chỉ IP Multicast sang địa chỉ Ethernet/FDDI MAC
Hình trên cho thấy cơ chế ánh xạ địa chỉ Chỉ có 23 bit cuối của địa chỉ là đượcché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 Khả năng này làm cho nảy sinh một vấn đề là có thể có
32 địa chỉ multicast khác nhau có thể ánh xạ vào cùng một địa chỉ MAC Do sự nhậpnhằng này, một host multicast có một vấn đề nhỏ khi nó nhận một Ethernet frame của mộtđịa chỉ multicast Một MAC có thể tương ứng với 32 địa chỉ multicast khác nhau Vì vậy,
Trang 21khi một host phải nhận và kiểm tra tất cả các frame có MAC mà nó quan tâm Sau đó hostnà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ừngnhóm multicast.
Hình 1.4 Sự không rõ ràng địa chỉ MAC
Để hiểu tiến trình chuyển đổi dùng các bước sau:
• Bước 1: Chuyển đổi địa chỉ IP sang dạng nhị phân Lưu ý 4bit đầu tiên luôn luôn làđịa chỉ 1110 cho bất kỳ địa chỉ multicast nào
• Bước 2: Thay thế bốn bit đầu tiên 1110 của địa chỉ IP với 6 ký tự (24bits) 5E như là địa chỉ bắt đầu trong tổng số 12 ký tự dạng thập lục phân (48bits) của địachỉ multicast MAC
01-00-• Bước 3: Thay thế 5bit kế tiếp của dạng địa chỉ IP vớI một bit 0 trong không gianđịa chỉ MAC
• Bước 4: Chép 23 bit cuối của địa chỉ IP dạng nhị phân vào 23 bit cuối của địa chỉmulticast
• Bước 5: Chuyển đổi 24bit cuối của địa chỉ multicast từ dạng nhị phân sang dạng 6
Trang 220x01-00-được dùng cho mục đích quản lí và các thành phần cấp thấp trong thao tác Khoảng địachỉ giữa được sử dụng cho các ứng dụng multicast trong nhóm, Intranet hoặc Internet
Địa chỉ Multicast Link-Local:
Dải 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 all-hosts 224.0.0.1, tất cả các router 224.0.0.2, tất cả các OSPF routers 224.0.0.5 - 224.0.1.1dùng cho giao thức NTP Đây là địa chỉ các nhóm cố định vì các địa chỉ này được địnhnghĩa trước
Dải địa chỉ 232.0.0.0 232.255.255.255 Địa chỉ GLOP trong dải 233.0.0.0 233.255.255.255 Dải địa chỉ dành cho quản trị (239.0.0.0-239.255.255.255) được dùngtrong các vùng multicast riêng, giống như dãy địa chỉ dành riêng trong RFC1918 Địa chỉnày không được route giữa các domain nên nó có thể được dùng lại nhiều lần Đị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ó thể được định tuyến trên Internet, vì vậy địa chỉ này phải duy nhất
-Bảng 1.1 Địa chỉ Multicast Link – Local.
Địa chỉ multicast cho những nhóm thường trực:
IANA dành ra hai dãy địa chỉ dành riêng cho multicast Sự khác nhau giữa hai dãyđịa chỉ này là dãy thứ nhất được dùng cho những gói tin không nên được truyền bởi router
và nhóm thứ hai được dùng khi các gói tin phải được truyền bởi router
Trang 23Dãy địa chỉ được dùng cho cục bộ là 224.0.0.0 đến 224.0.0.255 Các địa chỉ nàytương tự như các địa chỉ dùng bởi các giao thức định tuyến Ví dụ như 224.0.0.5 và224.0.0.6 được dùng bởi OSPF Các ví dụ khác bao gồm địa chỉ multicast 224.0.0.1 chỉ ratất cả các host có thể xử lý multicast và 224.0.0.2 chỉ ra tất cả các router có khả năng xử
lý multicast Dãy các địa chỉ nhóm được dùng khi các gói tin phải được định tuyến là224.0.1.0 đến 224.0.1.255 Dãy địa chỉ này bao gồm 24.0.1.39 và 224.0.1.40 là hai địa chỉđược dùng bởi Auto-RP
Địa chỉ multicast cho các ứng dụng multicast SSM:
IANA đã cấp phát dãy địa chỉ 232.0.0.0 đến 232.255.255.255 cho các ứng dụngSSM Mục đích của ứng dụng này là cho phép một host chọn ra một nguồn cho các nhómmulticast SSM giúp cho việc định tuyến multicast trở nên hiệu quả hơn, cho phép mộthost chọn lựa một nguồn có chất lượng tốt hơn và giúp các nhà quản trị mạng giảm thiểukiểu tấn công multicast DoS Chỉ có các host chạy IGMPv3 có khả năng dùng tính năngSSM IGMPv3 là một giao thức mới
Địa chỉ multicast cho các ứng dụng GLOP:
IANA dành ra dãy địa chỉ 233.0.0.0 đến 233.255.255.255.255 gọi là địa chỉ GLOP.Địa chỉ này có thể được dùng bởi bất kỳ ai đang có một AS hợp lệ (registeredautonomous system number-ASN) để tạo ra 256 địa chỉ multicast toàn cục IANA dànhriêng các địa chỉ này để đảm bảo tính duy nhất toàn cục của địa chỉ Bằng cách dùng giátrị 233 cho octet đầu tiên và bằng cách dùng ASN cho octet thứ hai và thứ ba, một AS cóthể tạo ra một địa chỉ multicast toàn cục Ví dụ nếu AS dùng số hiệu mạng ASN 5663, giátrị này có thể chuyển sang dạng nhị phân là 0001011000011111 8 bit đầu tiên, 00010110,bằng với 22 trong dạng thập phân và 8 bit cuối, 00011111, bằng với 31 trong dạng thậpphân Ánh xạ 8bit đầu tiên vào octet thứ hai và 8bit cuối vào octet thứ ba trong dãy địachỉ 233, công ty nào có mạng AS là 5663 sẽ được tự động cấp dãy địa chỉ 233.22.31.0đến 233.22.31.255
Địa chỉ multicast cho những domain riêng:
Dãy địa chỉ dành riêng cuối cùng là dãy địa chỉ dành cho quản trị IANA gán dãyđịa chỉ 239.0.0.0 đến 239.255.255.255 (RFC 2365) để dùng trong những miền multicast.IANA sẽ không gán các tầm địa chỉ này tới bất kỳ một giao thức nào hoặc một ứng dụngnào Các nhà quản trị mạng có thể tự do sử dụng các địa chỉ trong dãy này, tuy nhiên họphải cấu hình các router multicast để đảm bảo multicast traffic trong dãy địa chỉ nàykhông vượt quá ranh giới của miền multicast
Địa chỉ multicast tạm thời cho các nhóm:
Trang 24Khi một doanh nghiệp muốn dùng một địa chỉ multicast toàn cục, doanh nghiệpcần một khối địa chỉ từ ISP hoặc từ IANA Tuy nhiên, khi một doanh nghiệp muốn dùngmột địa chỉ multicast mà không phải là một phần của các không gian địa chỉ multicastđược mô tả trong các phần trước, các phần địa chỉ còn lại này được gọi là các địa chỉmulticast transient Điều này có nghĩa là toàn bộ Internet phải chia sẽ địa chỉ này Các địachỉ này sẽ được cấp phát động khi cần thiết và phải được giải phóng khi không còn đượcdùng Bởi vì các địa chỉ này không được gán vào bất cứ ứng dụng nào nên nó được gọi làtạm thời Bất kỳ một doanh nghiệp có thể dùng các địa chỉ multicast này mà không cần sựcho phép từ IANA nhưng các doanh nghiệp cần giải phóng sau khi dùng xong.
1.3 Định tuyến cho lưu lượng Multicast
1.3.1 Tóm tắt hoạt động truyền Multicast
Multicast được sử dụng trong rất nhiều lĩnh vực của ứng dụng mạng, bao gồm dịch
vụ truyền hình, hội thảo, trình diễn báo cáo, truyền phát thông tin IP multicast có thể hoạtđộng trên hầu hết các kiến trúc mạng bao gồm Ehernet, ATM, Frame Relay, SMDS, và vệtinh.Để multicast có thể hoạt động, thì giao thức TCP/IP hiểu multicast phải được cài đặttrong máy
Multicast là giao thức không kết nối, có nghĩa là gói tin multicast không có sự đảmbảo nào chắc chắn là sẽ đi đến tất cả các thành viên của một nhóm hoặc cùng thứ tự như
nó được gửi đi Giao thức truyền multicast thuộc dạng nỗ lực tối đa (best-effort)
Tuy nhiên, các ứng dụng multicast yêu cầu các gói tin phải đảm bảo QoS khichúng được nhận Các mức độ của an toàn, băng thông, độ trễ, nhiễu, tỉ lệ lỗi,chi phí vàkhả năng nén là một vài thông số mà các mạng phải có để thỏa mãn QoS Giao thứcRSVP (Resource Reservation Protocol) là thành phần chính của QoS Các giao thức vàthuật toán sử dụng bởi các ứng dụng multicast thì rất nhiều và phức tạp Multicast có thểđược thiết lập tại vài lớp của mô hình OSI, các thiết bị khác nhau và trên các giao thứckhác nhau
1.3.2 Mô hình truyền dữ liệu
Multicasting được xây dựng dựa trên khái niệm nhóm Một nhóm multicast là mộtnhóm không hạn chế các đầu cuối nhận có chung mối quan tâm đến một luồng dữ liệu cụthể Nhóm này không bị hạn chế về mặt vật lý cũng như vị trí địa lý Các host có thể nằm
ở bất cứ nơi nào trên mạng Internet hay ở bất cứ mạng riêng nào Mỗi host muốn nhậnđược luồng dữ liệu của một nhóm thì phải tham gia vào nhóm thông qua giao thức quản
lý nhóm IGMP (Internet Group Management Protocol) IGMP được sử dụng để đǎng ký
Trang 25động các host riêng lẻ trong một nhóm multicast hoặc trong một mạng LAN cụ thể Cáchost xác định các thành viên trong nhóm bằng cách gửi đi các bản tin IGMP đến routermulticast cục bộ.
Các router nghe các bản tin IGMP và định kỳ gửi đi các thông tin truy vấn để pháthiện những nhóm nào đang hoạt động hoặc không hoạt động trên một mạng con cụ thể.Chỉ khi là thành viên của nhóm, host mới có thể nhận được dữ liệu
Hình 1.5 Tham gia nhóm Multicast
Hình 1.5 cho thấy cách Multicast được ứng dụng để phân phối dữ liệu từ mộtnguồn tới rất nhiều đích quan tâm Các đầu cuối nhận (ở trong nhóm có nhu cầu chưachính thức) muốn nhận luồng dữ liệu video từ nguồn, chúng sẽ gửi đi một thông báoIGMP host tới các router trong mạng Tiếp đó, các router trong mạng sẽ chịu trách nhiệmphân phát dữ liệu từ nguồn tới các đích Router sử dụng cơ chế PIM (ProtocolIndependent Multicast) hay một loại giao thức hỗ trợ multicast nào đó để tạo ra một câyphân phối multicast động Có nhiều phương thức để chuyển tiếp các gói tin multicast từmột nguồn đến các nơi nhận Bước đầu tiên là ánh xạ một nhóm vào một địa chỉ lớp D,bước thứ hai là sử dụng một trong các giao thức định tuyến multicast để thiết lập mộtđường chuyển tiếp các gói tin
a Cây phân phối multicast:
Các router hỗ trợ multicast tạo ra các cây phân phối để điều khiển đường dẫn củacác lưu lượng IP multicast Hai loại cây phân phối cơ bản là cây nguồn và cây chia sẻ.Cây nguồn là dạng cây phân phối đơn giản nhất với gốc là nguồn dữ liệu multicast và cácnhánh là đường dẫn tới các đầu cuối nhận dữ liệu Do loại cây này sử dụng đường dẫnngắn nhất nên còn có tên là cây đường ngắn nhất SPT (Shortest Path Tree)
Không có gốc từng nguồn như các cây nguồn, các cây chia sẻ sử dụng một gốcchung duy nhất tại một điểm đã chọn trên mạng Gốc chia sẻ này chính là điểm hẹn (RP -
Trang 26Rendezvous Point) 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
Hình 1.6 Truyền dữ liệu sử dụng cây chia sẻ
Do các thành viên của nhóm có thể tham gia hoặc dời khỏi nhóm bất cứ lúc nàonên các cây phân phối phải cập nhật động Giải pháp sử dụng cây nguồn có ưu điểm tạo
ra đường dẫn tối ưu giữa nguồn dữ liệu và các đầu cuối nhận dữ liệu, giảm thiểu trễtruyền dẫn các lưu lượng multicast Tuy nhiên, các router phải duy trì các thông tin vềđường dẫn cho từng nguồn Với mạng có hàng ngàn nguồn dữ liệu và hàng ngàn nhóm thìvấn đề sẽ trở nên nghiêm trọng đối với các router đặc biệt là vấn đề tiêu thu không gianlưu trữ các bảng định tuyến multicast Giải pháp sử dụng cây chia sẻ không gặp phải vấn
về bộ nhớ cần thiết cho bảng định tuyến nhưng trong một số trường hợp cụ thể đường dẫngiữa nguồn và đích không tối ưu gây trễ trong quá trình phân phát dữ liệu Lựa chọn điểmhẹn là vấn đề quan trọng nhất khi áp dụng giải pháp này cho mạng multicast
b Cấu trúc cây định tuyến multicast
Các router hoặc các multilayer switch trong một mạng phải xác định một tuyếnđường để phân phối các gói tin multicast từ máy nguồn đến từng máy nhận Khi đó, toàn
bộ mạng giống như một cấu trúc cây, trong đó gốc của cây là nguồn của luồng traffic đó.Mỗi router dọc theo đường đi sẽ là một nhánh rẽ của cây Nếu một router biết tất cả cácđịa chỉ multicast, router cũng phải biết cần phải nhân bản luồng multicast đó ra nhữngnhánh nào của cây Một vài router không có các máy nhận trong các phân đoạn mạng của
nó thì các router đó sẽ không chuyển traffic Các router khác sẽ có thể có các máy nhậnmulticast traffic Cấu trúc cây này tương tự như cấu trúc cây Spanning Tree vì nó có mộtroot và các lá Cấu trúc cây này cũng đảm bảo là không bị vòng lặp sao cho trafficmulticast không bị chuyển ngược về cây
Trang 27Trong cấu trúc cây đường dẫn ngắn nhất, mỗi một nguồn của một nhóm multicast
có thể là gốc của một cây riêng biệt, các cạnh của cây là những liên kết của mạng, cácnode là những router và lá của cây là những thành viên của nhóm multicast Nếu nhóm có
n nguồn thì phải xây dựng n cây Một đường dẫn ngắn nhất thu được bằng cách tính toán
và so sánh tuyến đường giữa điểm nguồn và các thành viên trong nhóm
Tất cả các luồng lưu lượng phát sinh ra do multicast đều qua một node đặc biệttrên cây này, được gọi là trung tâm hay lõi như thể hiện ở hình sau:
Hình 1.8 Cây định tuyến cơ sở lõi - nhóm multicast chia sẻ chung một cây đơn
Khác với cây đường dẫn ngắn nhất, Cây nền lõi không đảm đường dẫn giữa haithành viên trong nhóm là ngắn nhất Ví dụ ở hình 1.8 dữ liệu khi gửi từ node A phải trảiqua 5 liên kết mới tới được node C trong khi đó, đường dẫn ngắn nhất từ A tới C chỉ qua
Trang 283 liên kết Điều đó nói lên rằng cây nền lõi rất đặc biệt Nó được gọi là cây Steiner rất tiếtkiệm được băng tần
Với chế độ chuyển mạch gói datagram, tái định tuyến được thực hiện tự độngngay sau khi một tuyến liên kết nào đó bị lỗi trong khi kỹ thuật thiết kế lưu lượng chophép xây dựng các đường dự phòng trước ở chuyển mạch kênh và chuyển mạch kênh ảo
VC Một thành viên của nhóm multicast sẽ bị loại khỏi nhóm khi thành viên này khôngthể liên lạc được với lõi hay nguồn của cây bất kỳ Để có thể bảo vệ cây định tuyếnmulticast khỏi bất kỳ lỗi liên kết đơn nào thì có thể đặt trước một tuyến dự phòng khácgiữa các thành viên trong nhóm và node nguồn trong cây định tuyến đường ngắn nhất hay
là các thành viên với node lõi trong cây cây định tuyến nền lõi
Hình 1.9 Tuyến dự phòng trước trong cây định tuyến multicast
Trong hình 1.9 trên với cây nền lõi đặt tại C với 3 thành viên của nhóm là A, B và
D được bảo vệ hoàn toàn bởi ba đường dự phòng Nếu một liên kết đơn nào trong cây bịhỏng, kết nối giữa C và thành viên nào đã bị hỏng trong nhóm sẽ được khôi phục lại bằngcách định tuyến luồng lưu lượng giữa C và các thành viên này qua đường dự phòng đó.Tuy nhiên, việc lập tuyến dự phòng trước như vậy sẽ làm cho quá trình tính toán trở nênphức tạp hơn tuy nhiên sự chiếm trước các tài nguyên có thể của tuyến dự phòng đảmbảo rằng lưu lượng tái định tuyến sẽ không chồng lấn lên đường dự phòng Vì thế đường
dự phòng được tính toán trước sẽ làm tốn kém tài nguyên do phải dành trước băng thông
Do vậy ta phải hạn chế tối đa các đường dự phòng trước trong mạng
Trong hình 1.9 b) chỉ ra rằng chỉ cần hai đường dự phòng trước để bảo vệ cho câyđịnh tuyến với bất kỳ một lỗi liên kết đơn nào Nếu liên kết CA bị lỗi, luồng lưu lượnggiữa A và C sẽ được định tuyến lại qua đường dự phòng tối ưu Nếu liên kết CB hay CDlỗi thì lưu lượng multicast vẫn có thể đến node B hay D thông qua tuyến dự phòng CD.Cùng một tuyến dự phòng cũng có thể sử dụng để dự phòng cho hai liên kết đảm bảo cholưu lượng đến các thanh viên của nhóm vẫn thông suốt do đó tiết kiệm được băng thông
b Chuyển tiếp multicast:
Trang 29Trong cơ chế định tuyến đơn hướng, lưu lượng được chuyển tiếp qua mạng theomột đường duy nhất từ nguồn tới đích Router unicast (đơn hướng) 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ếp lưu lượngtới đích Router quét bảng định tuyến của nó và chuyển tiếp một bản copy duy nhất quagiao diện hướng đến đích.
Trong cơ chế định tuyến đa hướng, nguốn sẽ gửi lưu lượng tới một nhóm các hostđặc thù được đại diện bởi một địa chỉ multicast của nhóm Router multicast phải xác địnhđược hướng nào là upstream (tới nguồn dữ liệu) và hướng nào là downstream (tới phíađầu cuối nhận dữ liệu) Nếu có nhiều đường dẫn downstream, router sẽ nhân bản gói dữliệu và chuyển tiếp theo các đường dẫn đó
Hình 1.10 Chuyển tiếp theo đường dẫn ngược (RPF - Reverse Path Forwarding)
Cơ chế này cho phép các router chuyển tiếp các lưu lượng multicast xuống câyphân phối một cách chính xác nhờ sử dụng các bảng định tuyến unicast sẵn có để xácđịnh các router "hàng xóm" Router sẽ chuyển tiếp gói multicast chỉ khi gói đó được nhận
từ giao diện upstream Các gói sẽ được kiểm tra RPF để đảm bảo cây phân phối không bịlặp vòng
1.3.3 Định tuyến cho lưu lượng Multicast
Chức năng của bất kỳ giao thức định tuyến nào là giúp router chuyển một gói tin đitheo đúng hướng để cuối cùng giúp gói tin đến được địa chỉ đích dự kiến Để định tuyếnmột gói tin, router sẽ kiểm tra địa chỉ đích của gói tin, tìm ra giá trị next-hop trong bảngđịnh tuyến và đẩy gói tin ra cổng phù hợp Một gói tin unicast sẽ được truyền dọc theomột đường đi duy nhất từ nguồn đến đích
Trang 30Hình 1.11 Chuyển tiếp lưu lượng Multicast
Hình 1.11 mô tả việc router đưa ra quyết định định tuyến gói tin unicast như thếnào thông qua việc tham khảo bảng định tuyến Tuy nhiên khi router nhận được một góitin multicast, router không thể tiếp tục chuyển gói tin đi bởi vì địa chỉ IP multicast khôngđược liệt kê trong bảng định tuyến unicast
Chức năng của định tuyến đơn hướng (unicast-routing) sẽ tìm đường đi ngắn nhấtđến một địa chỉ đích nào đó Chức năng này được thực hiện bằng cách dùng các giao thứcvectơ khoảng cách hay trạng thái liên kết Kết quả là một hàng trong bảng định tuyến, chỉ
ra cổng đầu ra (outbound) hoặc chỉ ra router kế tiếp Giao diện đầu ra có thể hiểu như làgiao diện gần nhất để đi về mạng đích
Trái lại, chức năng của multicast routing là tìm ra upstream interface, tức là đường
đi gần nhất về source Bởi vì các các giao thức định tuyến quan tâm tìm ra đường đi ngắnnhất về nguồn hơn là đường đi ngắn nhất về đích nên quá trình chuyển gói tin multicastđược gọi là chuyển tiếp theo đường dẫn ngược (reverse path forwarding)
Cách tốt nhất để một giao thức định tuyến multicast xác định đường đi ngắn nhất
về host nguồn là tham khảo bảng định tuyến unicast Tuy nhiên, các gói multicast sẽ đượctruyền đi dựa trên thông tin của bảng định tuyến multicast riêng biệt Lý do cho việc này
là router không chỉ lưu lại cổng luồng lên (upstream) mà còn lưu lại cổng luồng xuống(downstream) của cả nhóm multicast
1.3.4 Giao thức IGMP
a IGMP
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 (RFC1112) đến IGMPv2(RFC2236) và đến phiên bản cuối cùng IGMPv3 (RFC3376) Các thông điệp IGMP đượcgửi bên trong gói tin IP với trường protocol number bằng 2, trong đó trường TTL có giá
Trang 31trị bằng 1 Các gói IGMP chỉ được truyền trong LAN và không được tiếp tục chuyển sangLAN 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 rằng có một máy muốn nhận multicast traffic củamột nhóm cụ thể
♦ Thông báo cho router rằng một có một máy muốn rời một nhóm multicast (nóicách khác, có một máy không còn quan tâm đến việc nhận multicast traffic nữa).Các router thường dùng IGMP để duy trì thông tin cho từng cổng của router lànhững nhóm multicast nào router cần phải chuyển và những host nào muốn nhận.Trước khi một host có thể nhận lưu lượng multicast bất kỳ, một ứng dụngmulticast phải được cài đặt và chạy trên host đó Sau khi một host tham gia vào mộtnhóm, phần mềm sẽ tính toán địa chỉ multicast và sau đó card mạng sẽ bắt đầu lắng ngheđịa chỉ multicast MAC Trước khi một host hoặc một người dùng muốn tham gia vào mộtnhóm, người dùng cần phải biết nhóm nào đang tồn tại và làm thế nào để tham gia vàonhóm đó Đối với các ứng dụng mức doanh nghiệp, người dùng chỉ cần đơn giản clickvào một link trên một trang web hoặc địa chỉ multicast có thể cấu hình trước trên client
Ví dụ, một người dùng có thể được yêu cầu để log vào một máy chủ và xác thực bằng tên
và người dùng Nếu tên người dùng được xác thực, ứng dụng multicast sẽ tự động cài trên
PC của người dùng, nghĩa là người dùng đã tham gia vào nhóm multicast Khi ngườidùng không còn muốn dùng ứng dụng multicast nữa, người dùng phải rời khỏi nhóm Ví
dụ, người dùng đơn giản chỉ cần đóng ứng dụng multicast để rời khỏi nhóm Đối với cơchế multicast, một người dùng cần phải tìm ra ứng dụng nào họ muốn chạy, địa chỉmulticast được dùng bởi ứng dụng
Làm thế nào một router biết được các máy cần nghe lưu lượng multicast? Để nhậnlưu lượng multicast từ một nguồn, cả host nguồn và các host nhận đầu tiên phải gia nhập(join) vào một nhóm multicast Nhóm này được xác định thông qua địa chỉ multicast Mộthost 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ầnnhất Tác vụ này được thực hiện thông qua giao thức IGMP IGMPv1 được định nghĩatrong RFC1112 và bản cải tiến của nó, IGMPv2 được định nghĩa trong RFC2236 Khi cóvài host muốn tham gia vào nhóm, giao thức PIM sẽ thông báo cho nhau giữa các router
và hình thành nên cây multicast giữa các routers IGMP và ICMP có nhiều điểm tươngđồng, cùng chia sẽ một vài chức năng tương tự IGMP cũng đóng gói trong gói tin IP(protocol number 2), nhưng IGMP giới hạn chỉ trong một kết nối lớp 2 Để đảm bảorouter không bao giờ tiếp tục chuyển gói tin đi, trường TTL của IGMP luôn có giá trịbằng 1
b IGMPv1
Trang 32Cứ mỗi 60 giây, một router trên mỗi phân đoạn mạng sẽ gửi truy vấn đến tất cả cáchost để kiểm tra xem các host này có còn quan tâm nhận multicast traffic nữa không?Router này gọi là router truy vấn IGMPv1 Querier và chức năng của nó là mời các hosttham gia vào nhóm
Nếu một host muốn tham gia vào một nhóm, hoặc nó muốn tiếp tục nhận traffic từmột nhóm mà nó đã tham gia, nó phải trả lời lại bằng thông điệp membership-report Cáchost có thể tham gia vào các nhóm multicast ở bất kỳ thời điểm nào
Tuy nhiên 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 quan tâm đến nội dung của nhóm multicast đó Thay vào đó, router sẽ kết luận
là một cổng giao tiếp của bó không còn thuộc về một nhóm multicast nào nếu routerkhông nhận được thông điệp thành viên (membership-report) trong ba chu kỳ truy vấnliên tiếp Điều này có nghĩa là, ở chế độ mặc định, các lưu lượng multicast vẫn gửi vàomộ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ủanhóm không còn lắng nghe multicast traffic nữa
Ngoài ra, router không có giữ một danh sách đầy đủ các máy thành viên cho từngnhóm multicast Thay vào đó, nó cần phải lưu những nhóm multicast nào là đang tồn tạitrên những cổng nào của nó Để tham gia vào một nhóm multicast, một host sẽ gửi mộtthông điệp đăng ký tham gia vào nhóm đến router cục bộ của nó Thông điệp này có tên
là Membership Report IGMP Thông điệp này sẽ thông báo cho router về địa chỉ nhómmulticast mà host muốn tham gia vào Địa chỉ multicast tượng trưng cho tất cả các máy224.0.0.1 được dùng như địa chỉ đích Trong thông điệp này có chứa địa chỉ nhómmulticast Một bản tin IGMPv1 có năm trường:
Hình 1.12 Định dạng gói tin IGMPv1
♦ Version: trường này có độ dài 4-bit, luôn luôn gán giá trị bằng 1
♦ Type: Trường giá trị 4bit, chỉ ra hai loại thông điệp được định nghĩa bởi IGMPv1.Type 1 là kiểu Host Membership Query, được dùng chỉ bởi router Type 2 là kiểuHost Membership report được dùng chỉ bởi host
Trang 33♦ Unused: trường này có độ dài 8bit chứa giá trị 0 khi được gửi và bị bỏ qua khiđược nhận.
♦ Checksum: mang giá trị 16bit checksum được tính toán bởi nguồn của thông điệpIGMP Thiết bị nhận thường kiểm tra giá trị checksum và nếu giá trị này khôngđúng bằng giá trị đã tính toán, máy nhận sẽ loại bỏ frame
♦ Địa chỉ nhóm: Được gán về giá trị 0.0.0.0 khi router gửi ra gói tin Membershipquery Giá trị này được gán giá trị địa chỉ nhóm multicast khi một máy gửi thôngđiệp Membership report
Lưu ý rằng khi bạn kết hợp hai trường version và trường type, giá trị dạng thập lục phâncủa một gói tin IGMPv1 Host Membership Query sẽ là 0x11 và IGMPv1 Host.Membership report là 0x12 Các giá trị này sẽ được so sánh với các giá trị của IGMPv2
c IGMPv2
Phiên bản IGMPv2 giới thiệu vài sự khác biệt so với phiên bản đầu tiên Các góitin truy vấn bây giờ được gọi là truy vấn chung (General Queries) Các gói này có thể gửitới địa chỉ all-hosts hoặc tới từng nhóm cụ thể Một cải tiến khác nữa là các host đượcphép rời khỏi nhóm Khi một host quyết định rời khỏi một nhóm nó đã tham gia, nó sẽgửi thông điệp LeaveGroup đến địa chỉ all-router 224.0.0.2 Tất cả các router trên mộtphân đoạn mạng nội bộ sẽ lưu ý thông điệp này và router truy vấn sẽ tiếp tục quá trình.Router sẽ trả lời thông điệp trên bằng thông điệp truy cập gửi theo nhóm Thông điệp này
sẽ hỏi rằng có còn host nào muốn nhận traffic cho nhóm đó nữa không? Bất cứ host nàocũng phải trả lời lại bằng thông điệp membership report Nếu khác đi, router sẽ kết luậnmột cách an toàn là không cần thiết chuyển traffic cho nhóm đó trên phân đoạn mạng đó.Khoảng thời gian này mặc định là 3 phút Một trong những nguyên nhân IGMPv2 đượcphát triển là cung cấp một cơ chế rời khỏi nhóm tốt hơn IGMPv2 có thêm một số tínhnăng mới:
Truy vấn nhóm đặc biệt (Group-specific Query): cho phép router gửi truy vấn chomột nhóm cụ thể thay vì cho tất cả các nhóm
Thời gian đáp ứng tối đa (Maximum response Time): Một trường mớI trong gói tintruy vấn, cho phép hiệu chỉnh khoảng thời gian cho thông điệp Host membershipreport Đặc điểm này có thể hữu ích khi một số lớn các nhóm tồn tại trên mộtsubnet và bạn muốn giảm số thông điệp trả lời bằng cách kéo dài những thông điệptrả lời ra một khoảng thời gian dài hơn
Bản tin rút khỏi nhóm (Leave group message): cho phép host thông báo cho routerrằng host muốn rút khỏi nhóm
Trang 34Bầu chọn router truy vấn: cung cấp cơ chế cho phép bầu chọn router gửi ra cácthông điệp truy vấn khi có nhiều router cùng kết nối vào một subnet
Thông điệp Membership report sẽ được gửi khi một host muốn tham gia một nhóm.Thỉnh thoảng, thông điệp loại này cũng được dùng để trả lời cho loại thông điệp truy vấnquery từ router Khi một host muốn tham gia một nhóm, nó sẽ không chờ gói tin query từrouter Thay vào đó, nó sẽ gửi membership report Địa chỉ đích của membership report sẽ
là địa chỉ đích của nhóm Để đảm bảo rằng router nhận được thông điệp này, host sẽ gửivài thông điệp, cách nhau mỗi 10 giây
IGMP v2 có bốn trường, được định nghĩa như sau:
Hình 1.13 Định dạng gói tin IGMPv2
♦ Type: trường này có chiều dài 8bit, chỉ ra một trong bốn loại thông điệp được địnhnghĩa bởi IGMPv2 Các giá trị có thể có là:
Membershop query (giá trị là 0x11): được dùng bởi router để tìm ra sự hiệndiện của các host trên một subnet Thông điệp loại này gán giá trị địa chỉnhóm về 0.0.0.0 giống như trong IGMPv1 Một thông điệp truy vấn chomột nhóm sẽ gán địa chỉ nhóm vào trường này Thông điệp loại này thườngđược gửi khi router nhận được một thông điệp rời khỏi nhóm IGMPv2Leave group từ một host
Membership report version 1 (mã 0x12): được dùng bởi IGMPv2 để tươngthích với IGMPv1
Membership report v2 (mã 0x16): được gởi bởi thành viên để thông báo chorouter là còn ít nhất một thành viên trên mạng
Leave group (0x17): được gửi bởi thành viên nhóm nếu nó là thành viêncuối cùng gửi thông điệp membership report Thông điệp này báo cho routerrằng host đang rời khỏi nhóm
Trang 35♦ Thời gian đáp ứng tối đa (Maximum Response Time): Trường có độ dài 8bit chỉ cótrong các thông điệp truy vấn Giá trị mặc định cho trường này là 100 (tươngđương 10 giây) Giá trị sẽ thay đổi từ 1 đến 255 (nghĩa là từ 0.1 giây đến 25.5giây).
♦ Checksum: Chứa giá trị 16bit được tính toán bởi máy nguồn IGMP checksum tínhtoán trên toàn bộ phần tải của IP chứ không phải chỉ 8bytes đầu tiên mặc dùIGMPv2 có độ dài 8bytes
♦ Địa chỉ nhóm Group Address: Đượ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ệpmembership report hoặc thông điệp Leave Group có thể mang địa chỉ của nhómtrong trường này
Nếu có nhiều router trên cùng một kết nối, router có IP address nhỏ nhất sẽ gửi ragói tin truy vấn Vì vậy, khi một router nhận được một gói tin truy vấn query từ mộtrouter nào đó, nó sẽ kiểm tra địa chỉ nguồn của gói tin đó IGMPv2 hỗ trợ tính tươngthích ngược với IGMPv1 Mã số cho kiểu thông điệp query và report của IGMPv2 vàIGMPv1 đều cùng là 0x11 và 0x12 Điều này cho phép các host chạy IGMPv2 và cácrouter nhận ra IGMPv1 khi có các host chạy IGMPv1 trên mạng IGMPv2 giúp giảm sốlượng các thông điệp report được gửi bởi các host bằng cách cho phép người quản trị thayđổi khoảng thời gian truy vấn IGMPv1 không có thông số Maximum Response Time, vìvậy các host chỉ đơn giản dùng khoảng thời gian mặc định là 10 giây Tuy nhiên thôngđiệp IGMPv2 có bao gồm trường MRT, chỉ ra khoảng thời gian MRT được dùng bởi tất
cả các host IGMPv2 trên LAN Các tiến trình các host gửi các thông điệp Report củaIGMPv2 cũng giống trong IGMPv1 Có một sự khác nhau nhỏ là các router gửi gói tintruy vấn IGMPv2 mỗi 125 giây thay vì mỗi 60 giây
IGMPv2 cải tiến quá trình Query/report bằng cách dùng cơ chế truy vấn cho từngnhóm cụ thể Trong IGMPv2, khi một host rời một nhóm, nó gửi ra một thông điệp rờinhóm IGMPv2 Khi một router nhận được thông điệp leave group IGMPv2, thay vì chờmột khoảng thời gian truy vấn query là 125 giây, router sẽ gửi ngay một thông điệp truyvấn cho nhóm đó
Thuận lợi chính của IGMPv2 so với IGMPv1 là thời gian rời khỏi nhóm củaIGMPv2 ngắn hơn IGMPv2 chỉ mất có ba giây để kết luận rằng không còn host nào trênsubnet đó quan tâm đến multicast
c IGMP V3
Tháng 10 năm 2002, RFC3376 định nghĩa đặc tả cho IGMPv3 IGMPv3 là mộtphiên bản cải tiến của giao thức IGMP và là giao thức khá phức tạp Để dùng các đặcđiểm mới của IGMP, router trạm cuối cùng phải được cập nhật, hệ điều hành của máytrạm phải thay đổi và ứng dụng multicast phải thiết kế và viết lại.Ở thời điểm hiện tại, chỉ
Trang 36có rất ít các ứng dụng của IGMPv3 là có sẵn Phần này chỉ tóm tắt các đặc điểm chủ yếucủa IGMPv3 Trong IGMPv1 và IGMPv2, khi một host tham gia vào một nhóm, router sẽtruyền các traffic cho nhóm đó vào phân đoạn mạng bất chấp địa chỉ nguồn của gói tin Ví
dụ, giả sử có một buổi hội thảo đa phương tiện đang diễn ra Một thành viên của nhómquyết định phá hỏng phiên hội thảo bằng cách gửi ra một số dữ liệu nhiễu bằng cách nóichuyện hay gửi nhạc cho các thành viên của nhóm Nếu một nhóm các hacker quyết địnhphát tán một mạng của một công ty bằng các dữ liệu băng thông cao dùng cùng địa chỉnhóm multicast mà công ty đang dùng, nó có thể tạo ra kiểu tấn công từ chối dịch vụ CảIGMPv1 và IGMPv2 đều không có cơ chế để ngăn ngừa một kiểu tấn công như vậy.IGMPv3 cho phép các host lọc các traffic đi vào dựa trên địa chỉ IP nguồn thông qua mộttính năng gọi là multicast theo từng nguồn (Source Specific Multicast –SSM
Hình 1.14 Báo cáo thành viên IGMPv3
1.4 IP Multicast trong MPLS
Mặc dù MPLS vốn sinh ra đã hỗ trợ multicast ngay bên trong thiết kế của nó,nhưng multicast trong MPLS vẫn không có được nhiều sự chú ý và vẫn còn trong giaiđoạn đề xuất Tuy nhiên, hãng Alcatel đã có một thử nghiệm hoàn hảo vào năm 1999.Phiên bản đầu tiên về Multicast qua MPLS này sử dụng một giao thức báo hiệu riêng biệthoặc là sự mở rộng của một giao thức báo hiệu đã tồn tại Luồng lưu lượng multicast vàunicast yêu cầu router phải xử lý khác nhau Ví dụ: IP nhận dạng gói multicast bằng cáchtìm kiếm dải địa chỉ multicast, còn ở MPLS các gói unicast và multicast được gán mãkhác nhau trong mào đầu của lớp liên kết Do vậy router MPLS có thể nhận biết một gói
Trang 37là unicast hay multicast Về cơ bản multicast trong MPLS là khác với multicast trongATM ở những điểm sau:
Router MPLS không cần thực hiện công đoạn phân đoạn và tái hợp gói tin IP vìvậy không cần phải có cơ chế tách các luồng đã xen vào trong mạng multicastMPLS
Các phần lớn router MPLS là các router IP có hỗ trợ MPLS Cơ chế sao gói tinđược thực hiện trên router IP hỗ trợ multicast có thể được sử dụng để sao góiMPLS Router MPLS tại các điểm nhánh rẽ của cây định tuyến multicast sẽ thựchiện sao các gói tin và gửi bản copy đó tới đầu ra của các liên kết khác Mỗi bảncopy của gói tin multicast MPLS đầu vào được gán một nhãn khác nhau trước khi
nó được chuyển đến đầu ra của một liên kết
Mỗi một thành viên trong nhóm multicast có thể xây dựng một cây đường dẫnngắn nhất để thực hiện truyền thông multicast cho tất cả các thành viên khác trong nhóm.Nói cách khác tất cả các thành viên trong nhóm có thể là lá của một cây lõi cơ bản chung
mà node trung tâm của nó có thể là bất cứ node nào trong mạng Một giao thức báo hiệu
sẽ thực hiện thiết lập hay huỷ bỏ một đường chuyển mạch nhãn multicast một cách trựctuyến hoặc ngoại tuyến, MPLS có thể dựa vào một giao thức định tuyến multicast IP đểxây dựng nên cây trực tuyến và sau đó tạo một LSP multicast phù hợp với cây định tuyếnmulticast IP hoặc ta có thể chọn cách là xây dựng một máy chủ dành riêng luôn luôn túctrực để thiết lập đường chuyển mạch nhãn multicast
Máy tính chủ chuyên dụng tính toán một cây định tuyến multicast và sử dụng mộtgiao thức báo hiệu để thông báo cho các router khác biết về một đường chuyển mạchnhãn multicast Hình thức định tuyến này đặc biệt là ở chỗ một đường chuyển mạch nhãnđược xác định và thông báo rộng khắp nhờ một node đặc biệt gọi là router hiện (explicitrouter) Router hiện là một kỹ thuật điều khiển lưu lượng mới lạ của MPLS so với ATM
Trang 38CHƯƠNG II: CÔNG NGHỆ CHUYỂN MẠCH MPLS
2.1 Giới thiệu về MPLS
Với sự bùng nổ của Internet và xu hướng hội tụ của các mạng viễn thông nhưthoại, truyền hình và truyền số liệu Giao thức IP đã trở thành giao thức chủ đạo trongmọi lĩnh vực mạng Cùng với sự phát triển và mở rộng của Internet là vấn đề bùng nổ lưulượng mạng Các ISP xử lý vấn đề này bằng cách tăng dung lượng các kết nối và nângcấp các thiết bị định tuyến , song vẫn không tránh khỏi tắc nghẽn Lý do là các giao thứcđịnh tuyến thường hướng lưu lượng vào cùng một số kết nối nhất định dẫn đến kết nốinày bị quá tải trong khi đó một số tài nguyên khác không được sử dụng Đây là tình trạngphân bố tải không đồng đều và sử dụng lãng phí tài nguyên mạng
MPLS là giải pháp nhằm liên kết định tuyến lớp mạng và cơ chế hoán đổi nhãnthành một giải pháp đơn nhất để đạt được các mục tiêu sau:
• Cải thiện hiệu năng định tuyến
• Cải thiện tính mềm dẻo của định tuyến trên các mô hình xếp chồng truyền thống
• Tăng tính mềm dẻo trong quá trình đưa và phát triển các loại hình dịch vụ mới
Chỉ trong vòng vài năm MPLS đã trở thành giao thức được lựa chọn để đơn giảnhóa và tích hợp giải pháp trong mạng lõi Nó cho phép các nhà khai thác giảm chi phí,đơn giản hóa việc quản lý lưu lượng và hỗ trợ các dịch vụ Interner xếp chồng
2.1.1 Khả năng của MPLS
Bước cải tiến cơ bản của MPLS là thay đổi các thiết bị lớp 2 trong mạng nhưchuyển mạch ATM thành các bộ định tuyến chuyển mạch nhãn Các bộ định tuyến này cóthể được xem như một sự kết hợp giữa hệ thống chuyển mạch ATM với bộ định tuyến IPtruyền thống Các giao thức MPLS được sử dụng để liên lạc giữa những bộ định tuyếnchuyển mạch nhãn trong miền MPLS Tại biên của miền MPLS là các bộ định tuyến biênđược thiết kế để thích ứng với công nghệ IP truyền thống
Trong MPLS, nhãn được sử dụng để truyền các gói tin qua mạng Các nhãn này gắn vàocác gói tin IP và cho phép bộ định tuyến chuyển tiếp lưu lượng theo nhãn mà không cầnđịa chỉ IP đích MPLS dựa trên mô hình ngang cấp, vì vậy mỗi thiết bị MPLS chạy mộtgiao thức định tuyến, trao đổi thông tin định tuyến với các thiết bị lân cận, và chỉ duy trìmột không gian cấu hình mạng với một không gian địa chỉ
MPLS chia bộ định làm hai phần chức năng riêng biệt: chuyển tiếp gói tin và điềukhiển Phần chức năng chuyển tiếp gói tin sử dụng cơ chế hoán đổi nhãn Kỹ thuật hoán
Trang 39đổi nhãn về bản chất là việc tìm chặng kế tiếp cho gói tin trong một bảng chuyển tiếpnhãn, sau đó thay thế giá trị nhãn của gói rồi chuyển tới cổng ra của bộ định tuyến.Việcnày đơn giản hơn nhiều so với việc xử lý gói tin thông thường ở lớp mạng và do vậy cảitiến được năng lực của thiết bị Phần chức năng điều khiển của MPLS bao gồm các giaothức định tuyến với nhiệm vụ phân phối thông tin định tuyến giữa các bộ định tuyến, vàthủ tục gán nhãn để chuyển thông tin định tuyến thành bảng chuyển tiếp nhãn MPLS cóthể hoạt động được với các giao thức định tuyến Internet như OSPF và BGP hay PNNIcủa ATM.
Khi các gói tin vào mạng MPLS, bộ định tuyến không chuyển tiếp theo từng gói
mà thực hiện phân loại chúng thành các lớp chuyển tiếp, sau đó liên kết các lớp này vớicác giá trị nhãn Một giao thức phân bổ nhãn sẽ được sử dụng để ấn định và phân bổ cácliên kết nhãn với lớp chuyển tiếp Khi giao thức phân bổ nhãn hoàn thành nhiệm vụ của
nó, một đường dẫn chuyển mạch nhãn sẽ được thiết lập từ lối vào tới lối ra Với mỗi góitin vào mạng, bộ định tuyến lối vào kiểm tra các trường trong tiêu đề gói để xác định xem
nó sẽ thuộc về lớp chuyển tiếp nào Nếu đã có một liên kết nhãn với lớp chuyển tiếp đóthì bộ định tuyến gắn nhãn cho gói và định hướng nó tới giao diện đầu ra tương ứng Sau
đó gói được hoán đổi nhãn qua các node mạng cho đến khi nó đến bộ định tuyến lối ra.Tại đó nhãn bị loại bỏ và gói được xử lý tiếp ở lớp 3
Tại các node trung gian việc xử lý chỉ là tìm sự tương quan giữa nhãn trong gói vớithực thể tương ứng trong bảng chuyển tiếp và sau đó hoán đổi nhãn Quá trình này có thểđược thực hiện bằng phần cứng nên đạt tốc độ rất cao:
Các khả năng cơ bản của MPLS được liệt kê sau đây:
• Hỗ trợ liên kết unicast và multicast
• Làm việc với hầu hết các công nghệ liên kết dữ liệu
• Tương thích với hầu hết các giao thức lớp mạng và công nghệ khác liên quan đếnInternet
• Hoạt động độc lập với các giao thức định tuyến và có khả năng tìm đường đi linh hoạtdựa vào nhãn cho trước
• Hỗ trợ định tuyến hiện
• Có khả năng tạo ra các luồng băng thông cố định tương tự như kênh ảo của ATM hayFR
• Cung cấp khả năng điều khiển lưu lượng và QoS
• Hỗ trợ việc cấu hình quản trị và bảo trì hệ thống (OAM)
• Hỗ trợ truy nhập máy chủ và VPN
• Có thể hoạt động trong mạng phân cấp
Trang 402.1.2 Ưu nhược điểm và ứng dụng của MPLS.
Ưu điểm:
• Tốc độ và độ trễ:
Với mạng chuyển mạch gói các tham số hiệu năng cơ bản là tốc độ, tỷ lệ mất gói, trễ
và độ biến thiên trễ của lưu lượng người sử dụng Cơ chế chuyển tiếp IP truyền thống làquá chậm để xử lý lưu lượng tải lớn trên mạng Internet toàn cầu hay trong các liên mạng.Tải thực tế trên các bộ định tuyến thường nhiều hơn lượng tải mà nó có thể xử lý Điềunày dẫn đến kết quả là lưu lượng trên các kết nối có thể bị mất và hiệu năng toàn mạng bịgiảm sút Kết quả là sự tích lũy của cả thời gian trễ và độ biến động trễ khi các gói tintruyền trên đường từ nguồn tới đích
Ngược lại với chuyển tiếp IP, chuyển mạch nhãn đạt được tốc độ cao bởi vì giá trịnhãn khã nhỏ được đặt ở tiêu đề của gói và được sử dụng để truy nhập bảng chuyển tiếptại bộ định tuyến, nghĩa là nhãn được sử dụng để tìm kiếm trong bảng Việc tìm kiếm nàychỉ yêu cầu một lần truy nhập tới bảng, khác với truy nhập bảng định tuyến truyền thống,khi mà việc tìm kiếm có thể cần đến hàng ngàn lần truy nhập Kết quả là lưu lượng người
sử dụng trong gói sẽ được chuyển qua mạng nhanh nhiều hơn, đồng thời sự tích lũy trễ và
độ biến thiên trễ cũng giảm được một cách đáng kể so với trong mạng IP truyền thống
• Khả năng mở rộng mạng
Rõ ràng là tốc độ và khả năng xử lý lưu lượng nhanh là những khía cạnh rất quan trọngcủa chuyển mạch nhãn, bên cạnh đó nó còn có thể hỗ trợ khả năng mở rộng tương đốimềm dẻo cho mạng Khả năng mở rộng liên quan đến năng lực điều chỉnh của hệ thống
để phù hợp với sự tăng nhanh của số lượng người sử dụng mạng Chuyển mạch nhãncung cấp giải pháp cho sự phát triển nhanh chóng và xây dựng các mạng lớn bằng việccho phép một lượng lớn các địa chỉ IP được kết hợp với một hay vài nhãn Giải pháp nàygiảm đáng kể kích cỡ của bảng địa chỉ và cho phép bộ định tuyến hỗ trợ nhiều người sửdụng hơn
• Tính đơn giản
Cơ chế chuyển tiếp nhãn trong chuyển mạch nhãn thực sự đơn giản, việc chuyển tiếpnhãn chỉ dựa vào nhãn Nhãn được xác nhận thế nào lại là vấn đề khác, nghĩa là các kỹthuật điều khiển được thực hiện như thế nào để liên kết nhãn với lưu lượng người sử dụng
là không liên quan tới hoạt động chuyển tiếp thực sự Những kỹ thuật điều khiển này cóthể hơi phức tạp, nhưng chúng không ảnh hưởng đến hiệu quả của việc chuyển tiếp dònglưu lượng người sử dụng Có nhiều phương pháp khác nhau có thể đuợc sử dụng để thiếtlập các liên kết nhãn với lưu lượng người sử dụng Nhưng sau khi liên kết nhãn được thực