Đồ án nghiên cứu các khái niệm, các giao thức phổ biến của multicast, tìm hiểu các yêu cầu kỹ thuật của một số dịch vụ dựa trên IP multicast, từ đó chỉ ra được các ưu, nhược điểm cũng n
Trang 1THÁI NGUYÊN, NĂM 2012
Trang 2ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC
Chuyên ngành: Điện tử - Viễn thông
Trang 3Trước tiên em xin gửi lời cảm ơn chân thành tới tất cả các Thầy, Cô đang giảng dạy trong trường Đại học Công nghệ thông tin và truyền thông – Đại Học Thái Nguyên đã tận tình truyền đạt những kiến thức quý báu giúp em hoàn thành nhiệm vụ học tập trong suốt thời gian là sinh viên của trường
Em xin gửi lời biết ơn sâu sắc đến Thầy giáo Th.S Trần Trung Dũng,
người đã tận tình hướng dẫn, chỉ bảo, nhắc nhở em trong suốt quá trình hoàn thành đồ án này
Cho con gửi lời cảm ơn chân thành đến ông bà, bố mẹ đã luôn động viên, ủng hộ, tạo mọi điều kiện cho con trong suốt những năm tháng ngồi trên ghế nhà trường
Cho tôi gửi lời cảm ơn đến những người bạn của tôi, những người luôn động viên chia sẻ, giúp đỡ và luôn bên tôi mỗi khi tôi gặp khó khăn
Thái Nguyên, Tháng 6 năm 2012
Sinh viên thực hiện
Nguyễn Thị Lộc
Trang 4Em xin cam đoan bản đồ án này do em tìm hiểu và nghiên cứu dưới sự
hướng dẫn tận tình của thầy giáo ThS TRẦN TRUNG DŨNG
Để hoàn thành đồ án này em chỉ sử dụng những tài liệu đã ghi trong danh mục tham khảo Em xin cam đoan nội dung của đồ án này không phải là bản sao chép của bất cứ đồ án hoặc công trình đã có từ trước
Nếu sai, em xin chịu mọi hình thức kỷ luật theo quy định
Thái Nguyên, Tháng 6 năm 2012
Sinh viên thực hiện
Nguyễn Thị Lộc
Trang 5LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC CÁC HÌNH VẼ vi
DANH MỤC CÁC BẢNG vii
KÍ HIỆU CÁC TỪ VIẾT TẮT viii
LỜI NÓI ĐẦU 1
CHƯƠNG 1: TỔNG QUAN VỀ IP MULTICAST 2
1.1 Công nghệ IP Multicast 2
1.1.1 Giới thiệu chung 2
1.1.2 Cơ chế chung cho IP Multicast 3
1.2 Nghiên cứu các giao thức IP Multicast 6
1.2.1 Giới thiệu chung 6
1.2.1.1 Giao thức định tuyến IP Multicast 6
1.2.1.2 Giao thức truyền tải Multicast 8
1.2.2 Giao thức quản lý nhóm IGMP 10
1.2.2.1 Giới thiệu chung 10
1.2.2.2 IGMPv1 10
1.2.2.3 IGMPv2 12
1.2.2.4 IGMPv3 14
1.2.2.5 Giao thức IGMP Snooping 18
1.2.2.6 Giao thức IGMP Proxy 22
1.2.3 Giao thức định tuyến PIM, PIM-DM và PIM-SM 22
1.2.3.1 Giao thức PIM 22
1.2.3.2 Giao thức PIM-DM 23
1.2.3.3 Giao thức định tuyến PIM-SM 24
1.3 Đánh giá chung về IP Multicast 27
1.3.1 Những lợi ích khi triển khai IP Multicast 27
1.3.2 Những vấn đề cần lưu ý khi triển khai IP Multicast 29
Trang 6VỤ DỰA TRÊN IP MULTICAST 30
2.1 Các dịch vụ dựa trên IP Multicast 30
2.1.1 Giới thiệu chung 30
2.1.2 Những vấn đề cần lưu ý khi triển khai dịch vụ 31
2.2 Phân loại ứng dụng 32
2.2.1 Các ứng dụng Một - Nhiều (1toM) 32
2.2.2 Các ứng dụng Nhiều – Nhiều (MtoM) 32
2.2.3 Các ứng dụng Nhiều – Một (Mto1) 33
2.3 Các yêu cầu kỹ thuật đối với dịch vụ Multicast 34
2.3.1 Các yêu cầu chung đối với dịch vụ Multicast 34
2.3.1.1 Yêu cầu về băng thông 34
2.3.1.2 Yêu cầu về độ trễ 34
2.3.2 Các yêu cầu chỉ dùng cho dịch vụ Multicast 35
2.3.2.1 Quản lý địa chỉ 35
2.3.2.3 Hỗ trợ các bộ nhận không đồng nhất 36
2.3.2.4 Phân phát dữ liệu một cách tin cậy 36
2.3.2.5 Tính bảo mật 37
2.3.2.6 Play out được đồng bộ hóa 37
2.4 Kết luận 38
CHƯƠNG 3: ỨNG DỤNG MULTICAST TRONG DỊCH VỤ MOBILE TV 39
3.1 Giới thiệu các dịch vụ của Mobile TV 39
3.1.1 Giới thiệu 39
3.1.2 Các dịch vụ của Mobile TV 39
3.2 Ứng dụng Multicast trong dịch vụ Mobile TV 41
3.2.1 Công nghệ truyền hình di động DVB-H 44
3.2.1.1 Sơ lược về lịch sử hình thành chuẩn DVB-H 44
3.2.1.2 Kiến trúc hệ thống 45
3.2.1.3 Kiến trúc phân lớp 46
Trang 73.2.2 Các mạng truyền dẫn DVB-H 53
3.2.2.1 Hệ thống DVB-H sử dụng IP datacasting 53
3.2.2.2 Các cấu hình mạng DVB-H 54
3.2.2.3 Các mạng máy phát DVB-H 57
3.2.3 Thiết bị đầu cuối DVB-H 58
3.2.5 Tình hình triển khai các công nghệ truyền hình số ở Việt Nam 61
3.2.5.1 Công nghệ truyền hình số mặt đất 61
3.2.5.2 Công nghệ truyền hình di động 62
3.2.6 Kết luận 63
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 64
DANH MỤC TÀI LIỆU THAM KHẢO 65
Trang 8Hình 1.1 Truyền tin theo phương thức Unicast và Multicast 2
Hình 1.2 Phân cấp giao thức định tuyến Multicast 6
Hình 1.3 Phân cấp các giao thức truyền tải IP Multicast 9
Hình 1.4 Cấu trúc mạng để truyền dịch vụ Video sử dụng IGMP 10
Hình 1.5 Cấu trúc thông điệp IPMGv1 11
Hình 1.6 Cấu trúc thông điệp IGMPv2 13
Hình 1.7 Cơ chế báo cáo trong IGMPv3 15
Hình 1.8 Quá trình tổng quát của IGMP Snooping 18
Hình 1.9 Quá trình rời bỏ nhóm trong IGMP Snooping 20
Hình 1.10 Giao diện hướng lên và xuống trong hệ thống cấu hình IGMP Proxy 22
Hình 1.11 Mô hình mạng sử dụng PIM 23
Hình 1.12 Mô hình hoạt động của PIM-DM 24
Hình 1.13 Mô hình hoạt động của PIM-SM 25
Hình 3.1 Phân loại các công nghệ Mobile TV 41
Hình 3.2 Một hệ thống DVB-H 46
Hình 3.3 Chồng ngăn xếp giao thức DVB-H 47
Hình 3.4 Cấu trúc Time-Slicing DVB-H 49
Hình 3.5 Tốc độ bít đầu ra là một hằng số 49
Hình 3.6 Tạo MPE-FEC (a) và cấu trúc của một frame FEC(b) 51
Hình 3.7 Hệ thống IPDC điển hình 54
Hình 3.9 Hệ thống truyền dẫn Mobile TV sử dụng DVB-H 55
Hình 3.10 Mạng DVB-H dành riêng 56
Hình 3.11 Sơ đồ khối máy thu DVB-H 58
Hình 3.12 Thiết bị thu DVB-H Nokia 7700 59
Trang 9Bảng 1.1 Giao thức định tuyến nội miền 7
Bảng 1.2 Giao thức định tuyến liên miền 8
Bảng 1.3 So sánh các phiên bản IGMPvx 17
Bảng 3.1: Hai bít của TPS DVB-T được sử dụng cho báo hiệu DVB-H 53
Trang 10Từ viết tắt Viết đầy đủ Ý nghĩa của từ viết tắt
AD Administrative Distance Giá trị để đánh giá đường đi tốt
nhất
ALF Application Layer Framing Đóng khung lớp ứng dụng
API Application Programming
Interface
Giao tiếp lập trình ứng dụng
ATM Asynchronous Transfer Mode Truyền tải không đồng bộ
BGMP Border Gateway Multicast
CODEC Compression/decompression Nén/ Giải nén
COFDM Orthogonal frequency-division
multiplexing
Ghép kênh phân chia theo tần
số trực giao
CPU Central Processing Unit Đơn vị xử lí trung tâm
DMB Digital Multimedia Broadcasting Truyền hình đa phương tiện kỹ
EPGs Electronic Programming Guide Dịch vụ hướng dẫn điện tử
ESP Encapsulating Security Payloads Các tải trọng đóng gói bảo mật
Trang 11HSRP Hot Stanby Router Protocol
ICMP Internet Control Messaging
Protocol
Giao thức ICMP
IETF Internet Engineering Task Force Tổ chức IETF
IGMP Internet Group Management
Protocol
Giao thức quản lý nhóm Internet IGMP
IPTV Internet Protocol Television Truyền hình qua giao thức
MAC Media Access Control Điều khiển truy nhập phương
tiện
MADCAP Multicast Address Allocation
Protocol
Giao thức cấp phát địa chỉ Multicast
MBGP Multicast Border Gateway
MBONE Multicast Backbone on the
Trang 12MOSPF Multicast Open Shortest Path
First
Định tuyến MOSPF
MPE-FEC Multi Protocol Encapsulation –
Forward Error Correction
Đóng gói đa giao thức – Sửa lỗi chuyển tiếp
MSA Multicast Security Association Liên kết an toàn Multicast
MTP Multicast Transport Protocol Giao thức truyền tải Multicast
NSAP Network Service Access Point Địa chỉ NSAP
OSPF Open Shortest Path First Định tuyến OSPF
PIM Protocol Independent Multicast Giao thức Multicast độc lập
PIM-DM Protocol Independent Multicast -
Dense Mode
Giao thức Multicast độc chế độ trù mật
lập-PIM-SM Protocol Independent Multicast-
Sparse Mode
Giao thức Multicast độc chế độ thưa
lập-QAM Quadrature Amplitude
Modulation
Điều chế biên độ cầu phương
QPSK Quadrature Phase Shift Keyed Điều chế pha trực giao
RBP Reliable Broadcast Protocol Giao thức quảng bá tin cậy
RSVP Resource ReSerVation Protocol Giao thức dự phòng tài nguyên
RTP Real-Time Protocol Giao thức truyền tải thời gian
Trang 13TCP Transmission Control Protocol Giao thức điều khiển truyền
vận
UDP User Datagram Protocol Giao thức dữ liệu người dùng
UMTS Universal Mobile
Telecommunications System
Hệ thống viễn thông di động toàn cầu
URL Uniform Resource Locator Được dùng tham chiếu tới tài
nguyên trên Internet
Trang 14Trong thực tế hiện nay nhu cầu truyền một lượng lớn các thông tin đến
nhiều nơi trong cùng một lúc là rất cần thiết Việc thường xuyên gửi dữ liệu từ
một điểm tới nhiều điểm, thì phương pháp truyền dữ liệu kiểu unicast và
broadcast trở nên thiếu hiệu quả vì nó gây nên những lãng phí tài nguyên mạng,
và công nghệ multicast ra đời là sự thay thế tốt nhất, giúp ta tiết kiệm được băng
thông cũng như cải thiện được tốc độ truyền dữ liệu với kết nối băng rộng
Được sự hướng dẫn của Thầy giáo Th.S Trần Trung Dũng và việc nghiên
cứu của bản thân, em đã thực hiện đồ án với đề tài: “Nghiên cứu công nghệ IP
multicast và ứng dụng trong dịch vụ MobileTV” Đồ án nghiên cứu các khái
niệm, các giao thức phổ biến của multicast, tìm hiểu các yêu cầu kỹ thuật của
một số dịch vụ dựa trên IP multicast, từ đó chỉ ra được các ưu, nhược điểm cũng
như khả năng áp dụng của IP multicast vào ứng dụng trong dịch vụ MobileTV Nội dung của đồ án được trình bày như sau :
Chương 1 Tổng quan về IP Multicast Chương trình bày về công
nghệ IP Multicast bao gồm nguyên lý hoạt động, các giao thức định
tuyến và truyền tải IP Multicast
Chương 2 Tìm hiểu các yêu cầu kỹ thuật của một số dịch vụ dựa
trên IP Multicast Tìm hiểu các dịch vụ dựa trên công nghệ IP
Multicast, phân loại ứng dụng và các yêu cầu kỹ thuật đối với dịch vụ
Chương 3 Ứng dụng Multicast trong dịch vụ MobileTV Giới thiệu
về dịch vụ MobileTV và ứng dụng Multicast trong dịch vụ MobileTV
đưa ra kết luận và một số kiến nghị
Do hạn chế về thời gian cũng như khả năng chưa cho phép nên chắc rằng
đồ án vẫn còn nhiều thiếu sót Em mong nhận được các ý kiến đóng góp từ phía
Thầy, Cô và các bạn để đồ án được hoàn thiện hơn
Thái Nguyên, Tháng 6 năm 2012
Sinh viên thực hiện
Trang 15CHƯƠNG 1: TỔNG QUAN VỀ IP MULTICAST
1.1 Công nghệ IP Multicast
1.1.1 Giới thiệu chung
IP Multicast là thuật ngữ kỹ thuật mô tả một nhóm các công nghệ và tiêu chuẩn cho phép một gói tin có thể được gửi đến nhiều nơi trong cùng thời điểm Cách thức thông thường trong việc truyền thông tin trên Internet là sử dụng các giao thức unicast Các giao thức này gửi các gói tin đến mỗi điểm thu tại một thời điểm Công nghệ IP Multicast cho phép việc truyền tải đa điểm – đa điểm như hội nghị, hay truyền tải điểm – đa điểm như việc quảng bá âm thanh, video trên internet
Hình 1.1 Truyền tin theo phương thức Unicast và Multicast
Trong chương này trình bày những vấn đề chung nhất về công nghệ dựa trên
IP Multicast Từ đó nghiên cứu những cứu lợi ích khi triển khai IP Multicast
Multicast
Router
Router Host
Host
Unicast
Trang 161.1.2 Cơ chế chung cho IP Multicast
Phần này mô tả cách thức xác định và quản lý các nhóm IP Multicast Đồng thời trình bày các kỹ thuật phân phối dữ liệu từ nguồn đến các thành viên nhóm
IP Multicast Các kỹ thuật cho Multicast tin cậy thỏa mãn các yêu cầu của một số ứng dụng cũng được giới thiệu
Địa chỉ IP multicast
Một địa chỉ IP multicast là một địa chỉ IP lớp D trong phạm vi từ 224.0.0.0 đến 239.255.255.255 Một số địa chỉ này được dành riêng cho mục đích đặc biệt
Ánh xạ địa chỉ IP multicast sang địa chỉ MAC
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 địa chỉ Ethernet MAC
Quản lý thành viên nhóm IP Multicast
Do thành viên nhóm Multicast có thể thay đổi động, do đó cần thiết phải có giao thức quản lý thành viên nhóm Các mạng IP sử dụng giao thức IGMP để thông báo cho các bộ định tuyến về các thành viên
Trang 17 Kỹ thuật phân phối
Tràn (Flooding)
Sử dụng thuật toán tràn, khi một bộ định tuyến nhận một gói tin được đánh địa chỉ một nhóm Multicast nó quyết định xem liệu nó đã nhìn thấy gói tin này hay chưa Nếu đó là gói tin được nhận lần đầu, gói tin này sẽ được chuyển tiếp đến tất cả các giao tiếp chỉ trừ giao tiếp nó đến Nếu bộ định tuyến đã nhận bản tin này trước đó thì gói tin này sẽ bị hủy để tránh lặp định tuyến
Cây mở rộng (Spanning tree)
Một giải pháp hiệu quả hơn flooding là lựa chọn một subnet của topo mạng
để hình thành một cây mở rộng Cây mở rộng định nghĩa một cấu trúc cây mà chỉ
có một tuyến đường hoạt động giữa bất cứ 2 router nào đó
Cây mở rộng giúp tập trung lưu lượng trên một số lượng nhỏ các liên kết
và có thể cung cấp tuyến đường hiệu quả giữa mạng nguồn và các thành viên trong nhóm
Kỹ thuật cây nguồn (source-based tree)
Xây dựng một spanning tree cụ thể đối với mỗi nguồn
Đây là dạng đơn giản nhất của một cây phân phối multicast Một cây nguồn
có gốc là nguồn multicast và các nhánh được mở rộng qua mạng đến các máy thu (receiver) Ký hiệu (S,G) được sử dụng để mô tả một cây SPT với S là địa chỉ IP của nguồn và G là địa chỉ nhóm multicast
Các SPT đạt được tạo thành topo tuyến đường tối ưu giữa nguồn và các máy thu, tức là số lượng các hop là nhỏ nhất Kết quả, trễ chuyển tiếp cho việc phân phối lưu lượng multicast là thấp nhất cho mạng Tuy nhiên các Mrouter luôn phải duy trì thông tin về tuyến đường từ nó tới mỗi nguồn Trong một mạng lớn có nhiều nguồn và nhiều điểm nhận thì thông tin trạng thái tuyến đường trở thành gánh nặng với các router Các router cần phải có bộ nhớ lớn để lưu trữ bảng định tuyến
Trang 18 Kỹ thuật cây chia sẻ (shared-tree)
Cây chia sẻ sử dụng 1 gốc chung đặt ở một điểm đã lựa chọn trên mạng Gốc chung này được gọi là một điểm hẹn RP (Rendezvous Point) hay còn gọi là lõi
Cây chia sẻ đòi hỏi số lượng về thông tin trạng thái trên mỗi router là nhỏ nhất, bởi vậy bộ nhớ yêu cầu cho mỗi router là tối ưu
Pruning ( lược bỏ )
Lược bỏ đóng vai trò quan trọng trong việc duy trì các cây phân phối Multicast do việc giảm lưu lượng không mong muốn Do một số thành viên trong các phiên Multicast là thay đổi linh hoạt, các giao thức định tuyến Multicast phải duy trì trạng thái của các cây phân phối các gói tin Multicast Việc này được thực hiện bởi một cơ chế pruning Các lá và nhánh không còn chứa các thành viên của nhóm Multicast bị loại bỏ khỏi cây
Các kỹ thuật Multicast tin cậy
Hầu hết các giao tiếp truyền tải Multicast tin cậy là khởi tạo bởi người nhận hay sử dụng hướng tiếp cận lai - kết hợp tính tin cậy khởi tạo bởi người gửi và người nhận, nghĩa là sử dụng NACK và ACK
Scoped Multicast
Hầu hết các thực thi Multicast hiện nay đạt được một số mức độ bằng việc
sử dụng trường TTL trong mào đầu gói tin IP
Cấp phát địa chỉ Multicast
IETF nghiên cứu “Kiến trúc cấp phát địa chỉ Multicast Internet” để các ứng dụng Multicast được triển khai trên diện rộng
Trang 191.2 Nghiên cứu các giao thức IP Multicast
1.2.1 Giới thiệu chung
Dịch vụ multicast được thử nghiệm trên diện rộng lần đầu tiên vào năm
1992 trên mạng MBONE
1.2.1.1 Giao thức định tuyến IP 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 đi theo đúng hướng để cuối cùng giúp gói tin đến được địa chỉ đích dự kiến
Các giao thức định tuyến Multicast thường đi theo một trong hai hướng tiếp cận cơ bản, phụ thuộc vào việc phân phối các thành viên nhóm Multicast trên khắp mạng:
Hình 1.2 Phân cấp giao thức định tuyến Multicast
Các giao thức định tuyến Multicast
Định tuyến nội miền Định tuyến liên miền
Định tuyến
Dense-Mode
Định tuyến Sparse-Mode
Trang 20+, Dense Mode: các thành viên nhóm được phân tán mật độ dày đặc trên mạng, băng thông mạng đầy đủ Mode dựa vào kỹ thuật tràn để truyền thông tin +, Sparse Mode: các thành viên nhóm Multicast được phân tán lẻ tẻ trên mạng; băng thông mạng là không nhất thiết sẵn sàng khắp mạng
a, Giao thức định tuyến nội miền
Tính độc lập giao thức
Tính khả phân cấp
Trang 21b, Giao thức định tuyến liên miền
Tính độc lập giao thức
Tính khả phân cấp
Bảng 1.2 Giao thức định tuyến liên miền
1.2.1.2 Giao thức truyền tải Multicast
Mạng hỗ trợ Multicast kích hoạt sự phát triển của các ứng dụng thông tin nhóm như việc phổ biến dữ liệu đa điểm và các công cụ hội nghị đa người tham gia Gần đây đã được công nhận rộng rãi rằng các ứng dụng thông tin nhóm có phạm vi yêu cầu truyền tải rộng hơn các ứng dụng unicast Để hỗ trợ các ứng dụng đó, một vài giao thức truyền tải Multicast đã được đề xuất và thực thi Một
số giao thức truyền tải Multicast đặt ra các yêu cầu cho các dịch vụ thời gian thực nhạy cảm trễ, như các công cụ hội nghị đa phương tiện Các dịch vụ này có thể chấp nhận mức độ tổn thất dữ liệu nhất định, nhưng nhạy cảm đối với biến đổi trễ gói tin Mặt khác, các dịch vụ phân phối dữ liệu truyền thống như truyền file đa điểm không nhạy cảm với trễ nhưng cần được phân phát toàn bộ và không lỗi (tính tin cậy)
Trang 22
Hình 1.3 Phân cấp các giao thức truyền tải IP Multicast
Các giao thức truyền tải Multicast có thể được chia thành ba nhánh chính Tương ứng với các yêu cầu của ứng dụng:
Giao thức truyền tải Multicast tin cậy (truyền tin tức và file)
Giao thức truyền tải Multicast cho các ứng dụng thời gian thực (như RTP)
Giao thức truyền tải Multicast dựa trên khái niệm Application Layer Framing (ALF)
Đóng khung lớp ứng dụng (ALF)
Multicast
Định tuyến
Multicast
Truyền tải Multicast
Truyền tải
Multicast tin
cậy
Các giao thức truyền tải Multicast cho ứng dụng thời gian thực
Giao thức truyền tải Multicast
Ứng dụng định nghĩa gói tin Truyền tải
Trang 231.2.2 Giao thức quản lý nhóm IGMP
1.2.2.1 Giới thiệu chung
Hình 1.4 Cấu trúc mạng để truyền dịch vụ Video sử dụng IGMP
IGMP (Internet Group Management Protocol) là một giao thức được sử dụng để quản lý nhóm thành viên IP Multicast IGMP được sử dụng bởi các IP Host gắn với định tuyến Multicast để thiết lập các nhóm thành viên Multicast Giao thức IGMP phát triển từ giao thức Host Membership Protocol 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 được gửi bên trong gói tin IP với trường protocol number bằng 2, trong đó trường TTL có giá trị bằng 1 Các gói IGMP chỉ được truyền trong LAN và không được tiếp tục chuyển sang LAN khác do giá trị TTL của nó Hai mục đích quan trọng nhất của IGMP là:
Thông báo cho router multicast rằng có một máy muốn nhận multicast traffic của mộ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
1.2.2.2 IGMPv1
Cứ 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ác host để 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 host tham gia vào nhóm
Trang 24Nế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ác host 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 nó không còn thuộc về một nhóm multicast nào nếu router không nhận được thông điệp membership-report trong ba chu kỳ truy vấn liên tiếp
Để tham gia vào một nhóm multicast, một host sẽ gửi một thô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óm multicast mà host muốn tham gia vào Địa chỉ multicast tượng trưng cho tất cả các máy 224.0.0.1 được dùng như địa chỉ đích Trong thông điệp này có chứa địa chỉ nhóm multicast
Định dạng bản tin IGMPv1 như sau:
0 3 4 7 8 15 16 31
Group Address
Hình 1.5 Cấu trúc thông điệp IPMGv1
Một thông điệp IGMPv1 có 5 trường:
1 Version: độ dài 4-bit, luôn luôn gán giá trị bằng 1
2 Type: Trường giá trị 4-bit, chỉ ra 2 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ểu Host Membership report được dùng chỉ bởi host
3 Unused: độ dài 8-bit chứa giá trị 0 khi được gửi và bị bỏ qua khi được nhận
Trang 254 Checksum: mang giá trị 16-bit checksum được tính toán bởi nguồn của thông điệp IGMP
5 Địa chỉ nhóm: Được gán về giá trị 0.0.0.0 khi router gửi ra gói tin Membership query
1.2.2.3 IGMPv2
Phiên bản IGMPv2 có các gói tin truy vấn là General Queries Các gói này
có thể gửi tớ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 được phé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ột phâ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ào cũ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ận mộ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
IGMPv2 có thêm một số tính năng mới:
Group-specific Query: cho phép router gửi truy vấn cho một nhóm cụ thể thay vì cho tất cả các nhóm
Maximum response Time: Một trường mới trong gói tin truy vấn, cho phép hiệu chỉnh khoảng thời gian cho thông điệp Host membership report
Leave group message: cho phép host thông báo cho router rằng host muốn rời khỏi nhóm
Bầu chọn router truy vấn: cung cấp cơ chế cho phép bầu chọn router gửi
ra các thông điệp truy vấn khi có nhiều router cùng kết nối vào một subnet
Trang 26Hình 1.6 Cấu trúc thông điệp IGMPv2
IGMPv2 có 4 trường, được định nghĩa như sau:
1 Type: chiều dài 8-bit, chỉ ra một trong bốn loại thông điệp được định nghĩa bởi IGMPv2 Các giá trị cụ thể là:
a Membershop query (giá trị là 0x11): dùng bởi router để tìm ra sự hiện diệ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
b Membership report version 1 (mã 0x12): IGMPv2 để tương thích với IGMPv1
c Membership report v2 (mã 0x16): được gởi bởi thành viên để thông báo cho router là còn ít nhất một thành viên trên mạng
d Leave group (0x17): Thông điệp này báo cho router rằng host đang rời nhóm
2 Thời gian đáp ứng tối đa (Maximum Response Time): Trường có độ dài 8-bit 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)
3 Checksum: Chứa giá trị 16-bit được tính toán bởi máy nguồn
4 Đị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ể
Thuận lợi chính của IGMPv2 so với IGMPv1 là thời gian rời khỏi nhóm của IGMPv2 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ên subnet đó quan tâm đến multicast
Trang 27Sự khác nhau cơ bản giữa IGMPv1 và IGMPv2
IGMPv1 không có thông điệp rời bỏ nhóm LeaveGroup, nghĩa là sẽ tốn 1khoảng thời gian dài hơn để host cuối cùng rời khỏi nhóm và router ngừng việc truy vấn
IGMPv1 không có thông điệp cho riêng từng nhóm
IGMPv1 không có thông điệp Max_response-time Các host có khoảng thời gian này mặc định là 10s
IGMPv1 không có tiến trình bầu chọn router truy vấn querier Thay vào đó, nó dựa trên cơ chế routing multicast để để bầu ra router truy vấn
Tương thích giữa IGMPv1 và IGMPv2
IGMPv2 được thiết kế để tương thích ngược với IGMPv1 Sau đây là một vài trường hợp tương thích
Host dùng IGMPv2 và router chạy IGMPv1
Host dùng IGMPv1 và router dùng IGMPv2
Router chạy IGMPv1 và một số router khác chạy IGMPv2
1.2.2.4 IGMPv3
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ột tính năng gọi là multicast theo từng nguồn (Source Specific Multicast –SSM) IGMPv3 cho phép các host chỉ định các traffic xuất phát từ một nguồn cụ thể hoặc nhận từ tất cả ngoại trừ từ một nguồn nào đó
Trang 28Hình 1.7 Cơ chế báo cáo trong IGMPv3
Hình trên mô tả hoạt động cơ bản của cơ chế báo cáo IGMPv3 report
Trong hình, traffic của nhóm 226.1.1.1 là xuất phát từ hai nguồn, R1 nhận traffic
từ cả hai nguồn H1 chuẩn bị thông điệp IGMPv3 membership report dùng địa chỉ đích là 224.0.0.22, được gán bởi IANA cho các thông điệp IGMPv3 membership report Kiểu thông điệp là 0x22 với một trường bao gồm “địa chỉ nguồn 209.165.201.2”, có nghĩa là “tôi muốn tham gia vào nhóm multicast 226.1.1.1 nhưng chỉ nếu nhóm này đến từ nguồn 209.165.201.2” Làm thế nào một host có thể học địa chỉ nguồn của một nhóm? Cisco đã phát triển tính năng URL redevous Directory và IGMPv3 lite để dùng các tính năng của IGMPv3 cho đến khi nào các ứng dụng IGMPv3 là sẵn sàng và hệ điều hành được cập nhật
R3
R2 R1
Chuyển tiếp gói tin tới
226.1.1.1 nhưng chỉ gửi nếu từ
Internet
IGMPv3 Membership Report
Join: 226.1.1.1
Nguồn: INCLUDE-209.165.201.2
Trang 29So sánh IGMPv1, IGMPv2 và IGMPv3
S
T
T
1 Giá trị của octet đầu tiên
trong thông điệp truy vấn
60 giây 125 giây 125 giây
5 Giá trị của octet đầu tiên
trong thông điệp báo cáo
6 Địa chỉ nhóm cho thông
điệp báo cáo
Địa chỉ nhóm Multicast
Địa chỉ nhóm Multicast
Địa chỉ nhóm Multicast,
có tham khảo thêm nguồn
7 Địa chỉ đích cho thông điệp
báo cáo
Địa chỉ nhóm Multicast
Địa chỉ nhóm Multicast
224.0.22
8 Có cơ chế làm giảm thông
điệp báo cáo hay không?
Trang 309 Thời gian trả lời tối đa có
thể được cấu hình
Không, cố định ở 10 giây
Có, từ 0 đến 25,5 giây
Có, từ 0 đến
53 phút
10 Một Host có thể gửi thông
điệp rời khỏi nhóm hay
Router có địa chỉ IP thấp nhất
Router có địa chỉ IP thấp nhất
16 Tương thích với các phiên
bản khác của IGMP
Không Có, chỉ với
IGMPv1
Có, với cả IGMPv1 và IGMpv2
Trang 311.2.2.5 Giao thức IGMP Snooping
Các bước dưới đây sẽ mô tả quá trình tổng quát của IGMP snooping:
1 Để phát hiện có nhiều router kết nối vào cùng một subnet hay không, các switch Cisco sẽ lắng nghe các giao thức sau để xác định trên những cổng nào của switch đang có router kết nối:
- IGMP với GDA là 01-00-5e-00-00-01
- Các thông điệp OSPF với GDA là 00-05 hoặc 00-06
01-00-5e-00 Giao thức PIMv1 và HSRP với gói hello là có GDA 0101-00-5e-00 0001-00-5e-00 5e01-00-5e-00 0001-00-5e-00 0001-00-5e-00 01
- Gói tin PIMv2 có GDA là 01-00-5e-00-00-0d
- Các thông điệp Distance Vector Multicast Routing Protocol (DVMRP) Probe messages with GDA 01-00-5e-00-00-04 Ngay khi các switch phát hiện các router trong vlan, switch sẽ thêm vào danh sách cổng của tất cả các GDA trong VLAN đó
Hình 1.8 Quá trình tổng quát của IGMP Snooping
Trang 322 Khi một switch nhận được một thông điệp IGMP report trên một cổng, CPU sẽ xem địa chỉ nhóm GDA, tạo ra một hàng trong bảng CAM và thêm địa chỉ cổng vào hàng Cổng của switch có router cũng được thêm vào hàng mới này Nếu các host khác gửi các báo cáo IGMP report, switch sẽ chuyển traffic ra các cổng
Tương tự, khi một switch nhận được một thông điệp rời khỏi nhóm, CPU sẽ tìm địa chỉ GDA, xóa các cổng ra khỏi bảng CAM và không đẩy traffic ra cổng
đó Switch sẽ kiểm tra đây có phải là cổng cuối cùng của GDA hay không Nếu đây không phải là cổng cuối cùng, có nghĩa là có ít nhất một máy trong vlan vẫn muốn nghe traffic, switch sẽ bỏ thông điệp Leave, nếu khác đi, nó sẽ gửi thông điệp leave đến router
Như vậy, IGMP snooping giúp cho các switch gửi traffic chỉ cho những nhóm cần nó và tránh lãng phí băng thông Để tăng hiệu quả hoạt động, IGMP snooping yêu cầu phần cứng phải hỗ trợ chức năng lọc bằng phần cứng sao cho
nó có thể phân biệt sự khác nhau giữa IGMP reports và traffic multicast bình thường CPU của switch cần phải thấy các thông điệp IGMP report (và các thông điệp multicast routing khác) bởi vì IGMP snooping có thể làm tốn CPU
Khi H1 và H2 gửi thông điệp IGMP Join:
1 H1 gửi thông điệp IGMP Join cho nhóm 226.6.6.6 Ở mức 2, H1 dùng địa chỉ multicast MAC 0x0100.5e06.0606 (đây là địa chỉ MAC cho nhóm 226.6.6.6) như là địa chỉ đích và dùng địa chỉ MAC của nó 0x0006.7c11.1101 như là địa chỉ nguồn SW1 sẽ nhận gói tin của nó trên cổng f0/1 và đây là gói tin IGMP, đẩy gói tin này đến CPU của switch CPU sẽ dùng thông tin này để thiết lập một hàng trong bảng định tuyến multicast, bao gồm cổng số 0 tượng trưng cho CPU, 1 cho máy H1 và 8 cho R1 Lưu ý rằng bảng CAM liệt kê ra hai hàng cho cùng một địa chỉ đích 0x0100.5e06.0606 Một hàng cho cổng 0 và một hàng khác cho những frame non-IGMP cho cổng 1 và 8 CPU của switch sẽ ra lệnh cho switch engine không chuyển các frame ra cổng 0, tượng trưng cho CPU
2 H2 gửi một thông điệp tham gia IGMP join cho nhóm 226.6.6.6 Ở lớp 2,
Trang 33địa chỉ MAC 0x0006.7c11.1102 như là địa chỉ nguồn SW1 sẽ nhận gói tin trên cổng F0/2 và switch sẽ kiểm tra gói tin Tiến trình phân tích gói tin được lập lại
từ bước 1 và bảng CAM sẽ được cập nhật
3 Router R1 đẩy gói tin cho nhóm R1 sẽ nhận traffic multicast cho nhóm 226.6.6.6 và bắt đầu chuyển traffic về Sw1 Sw1 bắt đầu nhận các multicast traffic trên cổng f0/8 Switching engine sẽ kiểm tra gói tin và xác định đây không phải gói tin IGMP, switch sẽ tìm kiếm trong bảng CAM và xác định rằng nó nên chuyển traffic ra cổng F0/1 và F0/2
Hình 1.9 Quá trình rời bỏ nhóm trong IGMP Snooping
Hình trên đây mô tả tiến trình rời bỏ nhóm cho cơ chế IGMP snooping
1 H1 gửi một thông điệp rời khỏi nhóm IGMP Leave cho nhóm 226.6.6.6 nhưng SW1 không truyền traffic đến R1 trong trường hợp này Ở mức 2, H1 dùng địa chỉ MAC cho tất cả các multicast router 0x0100.5e00.0002 như là địa chỉ đích và dùng địa chỉ BIA 0x0006.7c11.1101 như địa chỉ nguồn SW1 sẽ bắt các thông điệp IGMP Leave trên cổng F0/1 và switching engine của nó sẽ giám
Trang 34sát gói tin Switch sẽ gửi thông điệp truy vấn ra cổng F0/1 để xác định có còn thành viên nào không Đặc tính này được thiết kế để bảo vệ những host khác là thành viên của nhóm này trên port Nếu một thông điệp IGMP report là nhận được trên cổng F0/1, switch sẽ bỏ thông điệp rời nhóm nhận được từ H1 Bởi vì trong ví dụ này, chỉ có một host kết nối vào cổng F0/1, switch không nhận được bất kỳ thông điệp IGMP Report nào và sẽ xóa cổng F0/1 ra khỏi bảng CAM H2 kết nối với cổng F0/2 vẫn là một thành viên của nhóm và cổng của nó nằm trong bảng CAM Vì vậy SW1 không có truyền thông điệp IGMP Leave đến router
2 Router R1 tiếp tục truyền traffic cho nhóm 226.6.6.6 đến SW1 bởi vì R1 thậm chí không biết rằng H1 đã rời khỏi nhóm Dựa trên thông tin cập nhật từ bảng CAM, SW1 bây giờ bắt đầu truyền traffic chỉ trên cổng F0/2
3 H2 gửi ra một thông điệp IGMP Leave cho nhóm 226.6.6.6 và SW1 không chuyển cho R1 trong trường hợp này Ở mức 2, H2 dùng địa chỉ All Multicast Routers MAC address 0x0100.5e00.0002 như là địa chỉ đích và địa chỉ BIA 0x0006.7c11.1102 như là địa chỉ nguồn SW1 lúc này sẽ bắt các thông điệp IGMP Leave trên cổng F0/2 và switching engine sẽ kiểm tra gói tin Switch sau
đó gửi một thông điệp IGMP query trên cổng F0/2 xem có còn thành viên nào của nhóm hay không Bởi vì trong ví dụ này, chỉ có một host kết nối vào cổng F0/2, switch sẽ không nhận được bất kỳ thông điệp IGMP report nào và sẽ xóa cổng F0/2 ra khỏi bảng CAM Sau khi SW1 xóa cổng, nó nhận ra rằng đây là cổng cuối cùng nằm trong bảng CAM cho địa chỉ 0x0100.5e06.0606 Vì vậy SW1 xóa hẳn bảng CAM cho nhóm này và sẽ truyền thông điệp IGMP Leave đến R1 R1 gửi ra thông điệp truy vấn cho nhóm và khi không còn host nào trả lời, router sẽ không truyền traffic của nhóm 226.6.6.6 về SW1, VLAN5
Trang 351.2.2.6 Giao thức IGMP Proxy
IGMP Proxy cho phép hệ thống đưa ra các thông điệp Host IGMP đại diện cho Host rằng hệ thống đã phát hiện được giao diện IGMP chuẩn Hệ thống sẽ hoạt động theo sự ủy quyền của Host
Hình 1.10 Giao diện hướng lên và xuống trong hệ thống cấu hình IGMP Proxy
Các Host sẽ tác động lẫn nhau khi hệ thống chuyển thông điệp IGMP
Khi một Host kết nối đến nhóm địa chỉ Multicast thuộc Host khác sẽ gửi báo cáo toàn nhóm thành viên cho nhóm này
Khi có một nhóm Multicast rời khỏi hệ thống sẽ gửi báo cáo rời nhóm cho toàn bộ các router trong nhóm (244.0.0.2)
1.2.3 Giao thức định tuyến PIM, PIM-DM và PIM-SM
1.2.3.1 Giao thức PIM
Protocol Independent Multicast (PIM) là một giao thức định tuyến có thể được dùng để chuyển các multicast traffic PIM hoạt động độc lập với các giao thức định tuyến unicast IP nên PIM sử dụng bảng định tuyến IP PIM hoạt động
ở ba chế độ:
Upstream interface
Upstream interface Downstream
interface
Downstream interface
Trang 36 PIM Dense Mode
PIM Sparse Mode
PIM Sparse Dense Mode (do Cisco đưa ra)
Hình 1.11 Mô hình mạng sử dụng PIM
1.2.3.2 Giao thức PIM-DM
PIM-DM (PIM-Dense Mode) là giao thức định tuyến multicast dùng khi nhóm multicast có rất nhiều thành viên nằm tại nhiều nơi PIM-DM sử dụng giao thức định tuyến unicast hiện có để hỗ trợ cho hoạt động định tuyến multicast và
vì vậy có khả năng thích ứng với sự thay đổi của cấu hình mạng PIM-DM có thể hoạt động với bất kỳ một giao thức định tuyến unicast nào
Nguồn:
128.5.4.33
1/0
2/1 2/0
Trang 37Hình 1.12 Mô hình hoạt động của PIM-DM
Hình trên mô tả hoạt động của chế độ Dense trên R1 R1 sẽ phát tán tất cả các bản sao của gói tin ra khỏi tất cả các cổng, ngoại trừ cổng mà gói tin được nhận Các router khác có thể nhận lưu lượng multicast này và sẽ lặp lại cùng một tiến trình Tất cả các mạng sẽ nhận một bản sao của gói tin multicast ban đầu Chế độ dense giả sử rằng tất cả các subnet đều cần nhận một bản sao của gói tin, tuy nhiên chế độ dense cho phép router không nhận lưu lượng của một nhóm multicast cụ thể Chế độ dense thường không muốn nhận gói multicast của một nhóm nếu cả hai điều kiện sau là đúng:
1 Router này không có một router láng giềng bên dưới cần nhận gói cho nhóm
đó
2 Router không biết bất kỳ host nào trên cổng kết nối trực tiếp đã tham gia vào nhóm
1.2.3.3 Giao thức định tuyến PIM-SM
Giao thức định tuyến PIM-SM được dùng để giảm lãng phí tài nguyên mạng Các giao thức chế độ sparse không truyền lưu lượng của nhóm tới bất kỳ router nào trừ phi nó nhận được một thông điệp yêu cầu các bản sao của các gói tin được gửi tới một nhóm multicast đặc biệt Một router láng giềng yêu cầu nhận các gói chỉ nhằm một trong hai mục đích:
F0/0
S0/0 S0/1
Trích mục trong Bảng định tuyến IP:
C 10.1.1.0 is directly connected, FastEthernet0/0
Gói tin Multicast
Địa chỉ đích: 226.1.1.1
Địa chỉ nguồn: 10.1.1.10
“Tôi sẽ gửi gói tin đi từ nguồn.”
Bản sao của gói tin Multicast
Bản sao của gói tin Multicast
Trang 38 Router đã nhận được một yêu cầu nhận gói tin từ một vài router láng giếng
Một host trên một phân đoạn mạng đã gửi thông điệp IGMP Join cho nhóm
đó
Hình 1.13 Mô hình hoạt động của PIM-SM
PIM-SM được cấu hình trên tất cả các router R1 được chọn lựa như là RP
và trong tất cả ba router, địa chỉ IP của 172.16.1.1 của R1 được cấu hình tĩnh như
là địa chỉ RP Thường thì địa chỉ của cổng loopback được dùng như là địa chỉ RP
và địa chỉ này được quảng bá trong bảng định tuyến unicast sao cho tất cả các router biết cách làm thế nàp để định vị router RP Ở thời điểm này, R1 là RP có thể nhận lưu lượng đi về nhóm 226.1.1.1 nhưng router R1 sẽ không truyền lưu lượng này đi
Các bước sau đây sẽ diễn ra:
1 Máy S1 gửi một gói tin multicast đến RP, địa chỉ đích là 226.1.1.1
2 R1 chọn bỏ qua gói tin, bởi vì không có router hay máy nào trong phân đoạn mạng báo cho RP (R1) rằng nó muốn nhận lưu lượng multicast
3 Máy H2 gửi thông điệp IGMP Join đến nhóm 226.1.1.1
RP 172.16.1.1
S1
Gói tin Multicast đến 226.1.1.1.1
IGMP Join 226.1.1.1
PIM Join 226.1.1.1
S0/0 F0/0
S0/1 S0/0
5
Trang 394 R3 gửi thông điệp PIM Join đến RP (R1) về địa chỉ 226.1.1.1
5 Hoạt động của R1 giờ bị thay đổi, các gói tin được gửi về 226.1.1.1 sẽ được đẩy ra khỏi cổng S0/1 đến R3
6 Host S1 gửi gói tin multicast về địa chỉ 226.1.1.1 và R1 gửi ra khỏi cổng S0/1 về R3
So sánh PIM-DM và PIM-SM
PIM-SM có nhiều điểm tương tự như PIM-DM
Cũng giống như PIM-DM, PIM-SM dùng bảng định tuyến unicast để kiểm tra ROF, bất chấp giao thức định tuyến unicast được dùng Thêm vào đó, PIM-
SM cũng dùng cơ chế sau giống như PIM-DM:
Cả hai đều dùng cơ chế hello để tìm ra láng giềng
Tính toán và kiểm tra RPF khi bảng định tuyến unicast routing thay đổi
Bầu chọn designated router trên môi trường multi-access Router DR thực hiện tất cả các tiến trình IGMP khi IGMPv1 được dùng
Sử dụng cơ chế prune trên môi trường multiaccess
Sử dụng cơ chế Assert để bầu ra router forwarder trên môi trường multiaccess Router thắng quá trình bầu chọn Assert sẽ chịu trách nhiệm đẩy lưu lượng vào trong subnet đó
Tuy nhiên, PIM-SM dùng cơ chế explict join (join tường minh) PIM Sparse Mode (PIM-SM) dùng một giải pháp khác Cây multicast không mở rộng đến router cho đến khi nào một host đã tham gia vào một nhóm Cây multicast được xây dựng bằng các thành viên ở các node lá và mở rộng ngược về root Cây được xây dựng từ dưới lên SM cũng hoạt động dựa trên ý tưởng cấu trúc shared-tree, trong đó gốc của cây không nhất thiết là nguồn của multicast Thay vào đó, root là router PIM-SM thường được đặt ở trung tâm của mạng Router làm gốc này gọi là Rendezvous Point (RP) Các router có thể nhận biết được RP bằng 3 cách: