Khác với cơ chế chuyển tải điểm - điểm unicasttruyền thống – thông tin được gửi đến địa chỉ của một người dùng cụ thể - cơ chếmulticast gửi thông tin đến địa chỉ của một nhóm multicast g
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-HOÀNG PHƯƠNG THẢO
NGHIÊN CỨU CÔNG NGHỆ IP MULTICAST VÀ ỨNG DỤNG
TRONG ĐÀO TẠO ĐIỆN TỬ
LUẬN VĂN THẠC SỸ KỸ THUẬT
HÀ NỘI - NĂM 2012
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
-HOÀNG PHƯƠNG THẢO
NGHIÊN CỨU CÔNG NGHỆ IP MULTICAST VÀ ỨNG DỤNG
TRONG ĐÀO TẠO ĐIỆN TỬ
CHUYÊN NGÀNH : KHOA HỌC MÁY TÍNH
MÃ SỐ : 60.48.01
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS VŨ VĂN THỎA
HÀ NỘI – NĂM 2012
Trang 3MỤC LỤC
Trang 4BẢNG CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT
Viết tắt Giải nghĩa tiếng Anh Giải nghĩa tiếng Việt
ALF Application Layer Framing Đóng khung lớp ứng
dụngAPI Application Programming Interface Giao tiếp lập trình ứng
CODEC Compression/decompression Nén / giải nén
DVMRP Distance Vector Multicast Protocol Giao thức DVMRP
ISDN Integrated Services Digital Network Mạng số tích hợp đa
dịch vụ
IP Internet Protocol Giao thức InternetICMP Internet Control Messaging Protocol Giao thức ICMP
IEEE Institute of Electrical and Electronics
IETF Internet Engineering Task Force Tổ chức IETF
IGMP Internet Group Management Protocol Giao thức quản lý
nhóm Internet IGMPLAN Local Area Network Mạng nội bộ LANMAC Media Access Control Điều khiển truy nhập
phương tiệnMADCAP Multicast Address Allocation
Protocol Giao thức cấp phát địachỉ Multicast MBONE Multicast Backbone on the Internet Đường trục Multicast MCU Multipoint Control Unit Khối điều khiển đa
điểmMFTP Multicast File Transfer Protocol Giao thức truyền file
Multicast MIKE Multicast Internet Key Exchange Trao đổi khóa MIKEMSA Multicast Security Association Liên kết an toàn
Multicast PIM Protocol Independent Multicast Giao thức Multicast
độc lập PIM-DM Protocol Independent Multicast -
Dense Mode Giao thức Multicastđộc lập-chế độ trù mậtPIM-SM Protocol Independent Multicast-
Sparse Mode Giao thức Multicastđộc lập-chế độ thưaPSTN Public Switched Telephone Network Mạng điện thoại
chuyển mạch côngcộng
WAN Wide Area Network Mạng diện rộng
Trang 5MỞ ĐẦU
IP Multicast là một cơ chế chuyển tải thông tin mới cho mạng IP được SteveDeering phát triển vào năm 1989 Khác với cơ chế chuyển tải điểm - điểm (unicast)truyền thống – thông tin được gửi đến địa chỉ của một người dùng cụ thể - cơ chếmulticast gửi thông tin đến địa chỉ của một nhóm multicast (gồm nhiều người dùng)
Đối với việc chuyển tải thông tin tới nhiều người nhận cùng một lúc, cơ chếmulticast hoạt động hiệu quả hơn cơ chế unicast vì một số lý do sau Thứ nhất, ngườigửi không cần bất kỳ một thông tin nào về những người nhận thuộc nhóm multicast
mà vẫn có thể gửi được thông tin tới tất cả người nhận thuộc nhóm multicast Ngoài
ra, cơ chế multicast sử dụng ít băng thông hơn unicast vì multicast chỉ truyền mộtluồng tin trên cùng một kết nối vật lý trong khi đó, unicast truyền đồng thời nhiềuluồng tin trên cùng một kết nối vật lý nếu kết nối này nằm trên tuyến kết nối giữangười gửi đến nhiều người nhận
Do vậy, cơ chế IP multicast đặc biệt thích hợp cho việc cung cấp các dịch vụdựa trên giao thức Internet với kết nối băng rộng nói chung và dịch vụ đào tạo điện tửnói riêng
Để có thể hiểu biết hơn về công nghệ IP Multicast và ứng dụng, em chọn đề
tài “Nghiên cứu công nghệ IP Multicast và ứng dụng trong đào tạo điện tử ” làm đề
tài luận văn của mình
Nội dung của luận văn bao gồm:
Phần mở đầu
Chương 1: Công nghệ IP Multicast
Chương 2: Các yêu cầu kỹ thuật cho dịch vụ dựa trên công nghệ IP MulticastChương 3: Ứng dụng công nghệ IP Multicast trong đào tạo điện tử
Kết luận
Trang 6CHƯƠNG 1: CÔNG NGHỆ IP MULTICAST
1.1 Tổng quan về 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ẩncho 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ứcthông thường trong việc truyền thông tin trên Internet là sử dụng các giao thứcunicast 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ôngnghệ IP Multicast cho phép việc truyền tải đa điểm – đa điểm như hội nghị, hay truyềntải điểm – đa điểm như việc quảng bá âm thanh, video trên internet Việc ứng dụngcông nghệ IP Multicast hiện đang phát triển mạnh mẽ do có nhu cầu ngày càng caođối với các ứng dụng đa phương tiện và sự cải tiến, hoàn thiện của chính công nghệ IPMulticast
Hình 1 Truyền tin theo phương thức Unicast và Multicast
Trên mạng Multicast, một gói tin có thể được gửi đi từ một máy tính đến một vàimáy tính khác, thay vì việc gửi gói tin đó lần lượt đến từng máy tính Do 5, 10 hay
100 máy có thể nhận được cùng gói tin nên băng thông được tiết kiệm Khi sử dụngMulticast để gửi đi gói tin thì không cần thiết phải biết địa chỉ của những người cầnnhận luồng tin Multicast đó: dữ liệu được “quảng bá” theo một phương thức mànhững người quan tâm đến nó có thể nhận được
Trang 71.1.2 Cơ chế chung cho IP Multicast
Thành viên nhóm Multicast
Thành viên nhóm Multicast có thể là người gửi hay người nhận, nghĩa là: một sốngười gửi hay người nhận thiết lập các kết nối cần thiết để hình thành một nhómMulticast
Trong trường hợp người gửi thì người gửi chịu trách nhiệm đối với việc chấpnhận các thành viên mới Nguồn duy trì danh sách các người nhận trong nhóm Mộtngười muốn tham gia vào nhóm Multicast gửi yêu cầu tham gia trực tiếp đến nguồnquyết định liệu thành viên mới có được chấp nhận hay không Hướng tiếp cận dựatrên người gửi làm việc tốt đối với những nhóm nhỏ, nhưng đối với các nhóm động vàlớn, khi mỗi thành viên mới phải thông báo cho mọi người gửi để được thêm vào danhsách nhận sẽ hoạt động kém Có các cách tiếp cận dựa trên người gửi được tiêu chuẩnhóa như XTP, MTP [RFC1301-92], nhưng hầu hết các hướng tiếp cận dựa trên IP làđịnh hướng người nhận
Trong trường hợp dựa trên người nhận, các người nhận tham gia vào một nhómphiên Multicast cụ thể và lưu lượng này được phân phát đến tất cả các thành viên củanhóm đó nhờ hạ tầng mạng Người gửi không cần duy trì danh sách các người nhận vàkhông phải kiểm soát các thành viên Yêu cầu tham gia được một bộ định tuyến chấpnhận qua đó dữ liệu Multicast đi qua trước khi yêu cầu đến nguồn
Nhóm trạm
Gói tin Multicast được phân phát đến tất cả các thành viên của nhóm trạm đíchcủa nó với cùng độ tin cậy “best-effort” như các gói tin unicast thông thường Thànhviên của nhóm trạm là động; các trạm có thể tham gia hay rời nhóm bất cứ lúc nào.Không có sự hạn chế về vị trí hay số lượng thành viên trong nhóm trạm Tại một thờiđiểm thì một trạm có thể là thành viên của nhiều nhóm Cũng có khả năng một trạmgửi đến một nhóm Multicast mà không phải là thành viên của nhóm đó
Địa chỉ nhóm Multicast
Một nhóm trạm có thể là lâu dài hay tạm thời Một nhóm lâu dài có địa chỉ đượcgán tĩnh và tồn tại tại mọi thời điểm Tại bất cứ thời điểm nào, nhóm lâu dài có sốlượng thành viên bất kỳ, có thể là 0 Thực chất, các địa chỉ Multicast không lâu dài làcác địa chỉ được gán động các nhóm tạm thời và các nhóm này chỉ tồn tại chừng nàochúng có thành viên
Trang 8Trong IPv6, do có sự thay đổi trong khuôn dạng mào đầu và độ dài địa chỉ tăng,nên địa chỉ Multicast có khuôn dạng khác với IPv4 Thực sự, trường cờ chỉ phất khiđịa chỉ Multicast là địa chỉ lâu dài hay tạm thời Trường phạm vi cho phép kiểm soátviệc phân phối các bản tin Multicast thông qua phân cấp liên mạng.
Đối với mỗi địa chỉ Multicast, thì một nhóm Multicast với các thành viên của nóđược gắn vào Để quản lý các thành viên nhóm này, mạng IP thực hiện thông qua mộtgiao thức IGMP (Giao thức quản lý nhóm Internet) [RFC1112,89]
Quản lý thành viên nhóm Multicast
Các 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ôngbáo cho các bộ định tuyến về các thành viên Giao thức IGMP chỉ chạy giữa các trạm
và các bộ định tuyến chặng đầu của nó Các bộ định tuyến chạy giao thức định tuyếnMulticast giữa chúng Đối với IPv6, tất cả các chức năng IGMP được chuyển cho giaothức ICMP (Giao thức bản tin điều khiển Internet)
Kỹ thuật phân phối gói tin
Tràn
Tràn là kỹ thuật duy trì cây đơn giản nhất Sử dụng thuật toán tràn, thì 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 địnhxem 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 gói tin đế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
Spanning tree
Một giải pháp hiệu quả hơn là lựa chọn một phần của topo mạng hình thành nênspanning tree Spanning tree xác định cấu trúc không vòng lặp trong đó chỉ có mộtđường dẫn giữa hai bộ định tuyến Các kết nối được lựa chọn giữa các bộ định tuyếnhình thành nên một cây trải trên tất cả mạng Khi gói tin đến bộ định tuyến, bộ địnhtuyến này chuyển tiếp gói tin đó đến tất cả các bộ định tuyến từ spanning tree trừtuyến mà gói tin đến Các nhánh là các kênh một chiều và nó được đảm bảo rằngkhông có lặp
Kỹ thuật source-based tree
Trang 9Thay vì xây dựng spanning tree cho toàn mạng, một giải pháp hiệu quả hơn làxây dựng một spanning tree cụ thể đối với mỗi nguồn.
Có nhiều kỹ thuật để tạo ra source-based tree, ví dụ Reverse-Path-Broadcasting(RPB), Truncated Reverse-Path-Broadcasting (TRPB) và Reverse-Path-Multicast
Các kỹ thuật shared-Tree
Thay vì việc xây dựng một cây source-based cụ thể cho mỗi cặp (nguồn, nhóm),các thuật toán shared tree xây dựng một cây phân phát được chia xẻ cho tất cả cácthành viên của nhóm Hướng tiếp cận này là tương tự như thuật toán spanning treenhưng cho phép việc xác định cây phân phối cụ thể cho mỗi nhóm Người sử dụngmuốn nhận lưu lượng của một nhóm Multicast thì phải tham gia vào một shared tree.Đối với mỗi nguồn, lưu lượng Multicast cho mỗi nhóm được gửi và nhận trên cùngmột cây phân phối Nếu người gửi không phải là gốc của cây, nó phải gửi dữ liệu đếngốc, sử dụng truyền dẫn unicast
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ụngMulticast được triển khai trên diện rộng Kiến trúc được đề xuất bao gồm giao thứchost-server (MADCAP), giao thức server-server nội miền (AAP) hay giao thức liênmiền (MASC)
1.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 1992trên mạng MBONE [1] Tại thời điểm đó, giao thức Multicast được sử dụng làDVMRP Distance Vector Multicast Routing Protocol (không có chức năng pruning)
Từ đó, các giao thức multicast khác đã và đang được phát triển nhằm cải thiện nhữnghạn chế đuợc phát hiện sau các quá trình thử nghiệm
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 Để địnhtuyến một gói tin, router sẽ kiểm tra địa chỉ đích của gói tin, tìm ra giá trị next-hoptrong bảng định tuyến và đẩy gói tin ra cổng phù hợp Một gói tin unicast sẽ đượctruyền dọc theo một đường đi duy nhất từ nguồn đến đích
Trang 10Tuy nhiên khi router nhận được một gói tin multicast, router không thể tiếp tụcchuyển gói tin đi bởi vì địa chỉ IP multicast không được liệt kê trong bảng định tuyếnunicast Ngoài ra, router thường phải chuyển các gói multicast đồng thời ra nhiều cổng
để đến tất cả các máy nhận Các yêu cầu này làm cho quá trình định tuyến multicastphức tạp hơn unicast Trên hình 1 hiển thị một router đã nhận được một gói tinmulticast với địa chỉ đích là 226.1.1.1
Chức năng của unicast-routing là tìm đường đi ngắn nhất đến một địa chỉ đíchnào đó Tác vụ này được thực hiện bằng cách dùng các giao thức distance vector haydùng các cơ sở dữ liệu liên kết (linkstate) Kết quả của tác vụ này là một hàng trongbảng định tuyến, chỉ ra cổng outbound hoặc chỉ ra router kế tiếp Interface đầu ra cóthể hiểu như là interface 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 multicast routing protocol quan tâm tìm rađường đi ngắn nhất về source hơn là đường đi ngắn nhất về đích nên quá trình chuyểngói tin multicast được gọi là reverse path forwarding
Trang 11Cá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:Dense Mode: các thành viên nhóm Multicast được phân tán mật độ dày đặc trênmạng (nghĩa là nhiều mạng con chứa ít nhất một thành viên nhóm); băng thông mạngđầy đủ Mode này dựa vào kỹ thuật tràn để truyền thông tin đến tất cả các bộ địnhtuyến
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 Sparse Mode không cónghĩa là nhóm có vài thành viên, mà chỉ có nghĩa là được phân tán rộng Các giao thứcđịnh tuyến Multicast Sparse-Mode dựa trên một số kỹ thuật được lựa chọn để thiết lập
và duy trì các cây Multicast
1.2.2 Giao thức quản lý nhóm 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
Hình 3. Cấu trúc mạng để truyền dịch vụ Video sử dụng IGMP
Trang 12Giao 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được gửi bên trong gói tin IP với trường protocol number bằng 2, trong đó trườngTTL có giá trị bằng 1 Các gói IGMP chỉ được truyền trong LAN và không được tiếptục chuyển sang LAN khác do giá trị TTL của nó Hai mục đích quan trọng nhất củaIGMP 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 bất kỳ một multicast traffic nào, 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ắngnghe địa chỉ multicast MAC Trước khi một host hoặc một người dùng muốn tham giavào một nhó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ào nhóm đó Đối với các ứng dụng mức doanh nghiệp, người dùng chỉ cầnđơn giản nhấp vào một link trên một trang web hoặc địa chỉ multicast có thể cấu hìnhtrướ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ụngmulticast sẽ tự động cài trên PC của người dùng, nghĩa là người dùng đã tham gia vàonhóm multicast Khi người dù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ụngmulticast để 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
IGMPv1
Trang 13Cứ 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ữakhông? Router này gọi là router truy vấn IGMPv1 Querier và chức năng của nó là mờicác host tham 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 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ếuhost đó không còn quan tâm đến nội dung của nhóm multicast đó Thay vào đó, router
membership-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àonếu router không nhận được thông điệp 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ửivào một phân đoạn mạng trong ba chu kỳ truy vấn liên tiếp sau khi tất cả các thànhviên của nhó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 chotừng nhóm multicast Thay vào đó, nó cần phải lưu những nhóm multicast nào là đangtồn tại trê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ộ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à MembershipReport 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
Một thông điệp IGMPv1 có năm trường:
Trang 141 Version: trường này có độ dài 4-bit, luôn luôn gán giá trị bằng 1.
2 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
3 Unused: trường này có độ dài 8bit chứa giá trị 0 khi được gửi và bị bỏ qua khi đượcnhận
4 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 đúngbằng giá trị đã tính toán, máy nhận sẽ loại bỏ frame
5 Đị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ệpMembership report
Lưu ý rằng khi kết hợp hai trường version và trường type, giá trị dạng Hecxa của mộtgói tin IGMPv1 Host Membership Query sẽ là 0x11 và IGMPv1 Host Membershipreport là 0x12 Các giá trị này sẽ được so sánh với các giá trị của IGMPv2
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ácgói tin truy vấn bây giờ được gọi 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ờikhỏi nhóm Khi một host quyết định rời khỏi một nhóm nó đã tham gia, nó sẽ gửithô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à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ênphâ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 được phá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í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
Trang 15 Maximum response Time: Một trường mớI trong gói tin truy vấn, cho phép hiệuchỉnh khoảng thời gian cho thông điệp Host membership report Đặ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ột subnet 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ệp trả lời ra một khoảng thờigian dài hơn
Leave group message: cho phép host thông báo cho router rằng host muốn rời khỏinhó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á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ộtnhó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ấn query từ router Khi một host muốn tham gia một nhóm, nó sẽ khôngchờ gói tin query từ router Thay vào đó, nó sẽ gửi membership report Địa chỉ đíchcủ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ửi và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:
1 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 định nghĩa bởi IGMPv2 Các giá trị có thể có là:
a 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 cho một nhóm sẽ gán địachỉ 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 đượcmột thông điệp rời khỏi nhóm IGMPv2 Leave group từ một host Thông điệp loại nàyđược dùng để xác định xem có còn thành viên nào của một nhóm cụ thể không
Trang 16b Membership report version 1 (mã 0x12): được dùng bởi IGMPv2 để tươngthích với IGMPv1.
c 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
d Leave group (0x17): được gửi bởi thành viên nhóm nếu nó là thành viên cuốicùng gửi thông điệp membership report Thông điệp này báo cho router rằng hostđang rời khỏi nhóm
2 Thời gian đáp ứng tối đa (Maximum Response Time): Trường có độ dài 8bitchỉ 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ị 16bit được tính toán bởi máy nguồn IGMPchecksum tính toán trên toàn bộ phần tải của IP chứ không phải chỉ 8bytes đầu tiênmặc dù IGMPv2 có độ dài 8bytes
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ể Các thông điệpmembership report hoặc thông điệp Leave Group có thể mang địa chỉ của nhóm trongtrường này
Dùng lệnh sau để xem các nhóm multicast mà router biết: #show ip igmp groups
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àotrên subnet đó quan tâm đến multicast
Các thông điệp rời bỏ nhóm (IGMPv2 Leave Group) và các thông điệp chotừng nhóm cụ thể (Group-Specific Query Messages)
IGMPv2 RFC 2236 khuyến cáo rằng một host gửi ra một thông điệp rời khỏinhóm chỉ nếu nó là host cuối cùng gửi thông điệp membership report Tuy nhiên phầnlớn các hiện thực IGMPv2 đều cho phép một host gửi ra thông điệp LeaveGroup khibất kỳ host nào rời khỏi nhóm
Sự khác nhau cơ bản giữa IGMPv1 và IGMPv2
Trang 17IGMPv1 không có thông điệp rời bỏ nhóm LeaveGroup Điều này có nghĩa là sẽ tốnmột khoảng thời gian dài hơn để host cuối cùng rời khỏi nhóm và router ngừng việctruy vấn IGMPv1 không có thông điệp cho riêng từng nhóm Điều này là kết quả củađặc điểm 1 IGMPv1 không có thông điệp Max_response-time Các host có khoảngthời gian này mặc định là 10s IGMPv1 không có tiến trình bầu chọn router truy vấnquerier Thay vào đó, nó dựa trên cơ chế routing multicast để để bầu ra router truyvấn Do có thể có nhiều giao thức routing cho multicast khác nhau, sẽ có một khảnăng là sẽ có nhiều router querier trong IGMPv1.
IGMP V3
Tháng 10 năm 2002, RFC3376 định nghĩa đặc tả cho IGMPv3 IGMPv3 là một phiênbả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ểmmớ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áy trạmphả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ỉ
có 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ếu của IGMPv3
Nếu một nhóm các hacker quyết định phát tán một mạng của một công ty bằngcá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 quamộ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ặcnhận từ tất cả ngoại trừ từ một nguồn nào đó
So sánh IGMPv1, IGMPv2 và IGMPv3
Trang 18STT Đặc điểm IGMPv1 IGMPv2 IGMPv3
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ómMulticast
Địa chỉ nhómMulticast
Địa chỉ nhómMulticast, cótham khảothêm nguồn
7 Địa chỉ đích cho thông
điệp báo cáo
Địa chỉ nhómMulticast
Địa chỉ nhómMulticast
224.0.22
8 Có cơ chế làm giảm thông
điệp báo cáo hay không?
Có, từ o đến 53phút
10 Một Host có thể gửi thông
điệp rời khỏi nhóm hay
không?
11 Địa chỉ đích cho thông 224.0.0.2 224.0.0.2
Trang 19điệp rời khỏi nhóm
Router có địachỉ IP thấpnhất
Router có địachỉ IP thấpnhấ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 20 PIM Dense Mode
PIM Sparse Mode
PIM Sparse Dense Mode (do Cisco đưa ra)
2 Giao thức PIM-DM
PIM-DM (PIM-Dense Mode) là giao thức định tuyến multicast dùng khi nhómmulticast 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 địnhtuyế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
Các giao thức định tuyến hoạt động theo chế độ dày đặc (dense mode) thườngđược sử dụng trong các ứng dụng multicast cho các nhóm thành viên nhiều đến mức
ở mọi subnet đều có ít nhất một máy nhận lưu lượng Vì vậy, các giao thức hoạt độngtheo chế độ dày đặc này làm cho router đẩy lưu lượng multicast ra tất cả những cổng
đã được cấu hình, với một vài ngoại lệ để ngăn ngừa vòng lặp Ví dụ, một gói tinmulticast sẽ không bao giờ được chuyển ra một cổng mà nó được nhận Hình dưới đây
mô tả một giao thức định tuyến hoạt động ở chế độ dense nhận một gói multicast trênmột cổng và đẩy những phiên bản sao chép ra tất cả những cổng khác
Trang 21Hình 6. Mô hình hoạt động của PIM-DM
Hình 5 mô tả hoạt động của chế độ dense trên R1 R1 sẽ phát tán tất cả các bảnsao 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 Mặc dùtrên hình chỉ hiển thị một router, 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 tinmulticast ban đầu Chế độ dense giả sử rằng tất cả các subnet đều cần nhận một bảnsao 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ộtnhóm multicast cụ thể Chế độ dense thường không muốn nhận gói multicast của mộtnhó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
đó
3 Giao thức định tuyến PIM-SM
Trang 22Giao thức định tuyến multicast chế độ dense là hữu ích khi các ứng dụng multicast
là dày đặc và bạn cần phân phối traffic đến hầu như tất cả các mạng Tuy nhiên, nếucác người dùng chỉ ở vài mạng con, giao thức định tuyến chế độ dense sẽ vẫn phát tánlưu lượng trên toàn bộ liên mạng, lãng phí băng thông và tài nguyên Trong nhữngtrường hợp này, định tuyến theo kiểu sparse, chẳng hạn PIM-SM có thể được dùng đểgiảm lãng phí tài nguyên mạng Sự khác nhau cơ bản giữa chế độ dense và chế độsparse liên quan đến trạng thái mặc định của nó Mặc định, các giao thức chế độ densetiếp tục truyền các traffic của nhóm trừ phi một router bên dướI chỉ ra rằng nó khôngmuốn nhận traffic đó Các giao thức chế độ sparse không truyền lưu lượng của nhómtớ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ácgó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ậncác gói chỉ nhằm một trong hai mục đích:
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 dưới đây sẽ mô tả điều gì sẽ xảy ra với PIM-SM trước khi một host có thểnhận gói tin được gửi từ S1 đến địa chỉ nhóm 226.1.1.1 Hoạt động của PIMsparsemode bắt đầu khi gói tin được đẩy về một router đặc biệt gọi là rendezvouspoint (RP) Khi lưu lượng của một nhóm đến RP, không giống như trong chế độdense, router RP không có tự động đẩy tiếp lưu lượng về bất kỳ router nào Lưu lượngnày phải được yêu cầu bởi một router
Trang 23Hình 7. 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à địachỉ 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áchlà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ạnmạ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
4 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 S3
6 Host S1 gửi gói tin multicast về địa chỉ 226.1.1.1 và R1 gửi ra khỏi cổngS0/1 về R3
Trang 24Trong một hệ thống mạng PIM-SM, tất cả các router phải học địa chỉ IP của
RP Giải pháp thứ nhất là cấu hình tĩnh địa chỉ IP trong tất cả các router Cách thứ hai
là cho phép các router tìm ra các địa chỉ IP của RP Trong hình trên, R2 chưa nhận bất
kỳ một thông điệp tham gia IGMP Join trên bất kỳ cổng LAN nào vì vậy nó khôngchuyển bất kỳ yêu cầu nào tới RP để truyền trên cổng LAN vì vậy nó không gửi bất
kỳ yêu cầu nào đến RP để RP truyền lưu lượng multicast Kết quả là, R1 không làmlãng phí băng thông trên kết nối từ R1 đến R2 R3 cũng sẽ không truyền lưu lượngmulticast đến R2 R3 đầu tiên sẽ kiểm tra RPF dùng địa chỉ IP của RP chứ không phảiđịa chỉ nguồn của gói tin, bởi vì nó đang nhận lưu lượng nhóm từ RP Nếu phép kiểmtra RPF là thành công, R3 sẽ truyền traffic trên cổng LAN
1.3 Đánh giá chung về IP Multicast
Khi triển khai IP Multicast,các nhà cung cấp dịch vụ cần phải lưu ý đến nhữnglợi ích cũng như những hạn chế của công nghệ này
1.3.1 Những lợi ích khi triển khai IP Multicast
Các mạng hỗ trợ Multicast cung cấp nhiều dịch vụ và các ứng dụng cho người sửdụng đầu cuối Nhiều ứng dụng hỗ trợ Multicast là các ứng dụng đa phương tiện, tuynhiên còn có nhiều loại ứng dụng khác nhau sử dụng công nghệ IP Multicast cho cácmục đích không phải đa phương tiện Các ứng dụng thời gian thực bao gồm: truyềnhình trực tiếp, đài phát thanh, hội nghị truyền hình, các ứng dụng không phải thời gianthực như truyền file, dữ liệu, video theo yêu cầu
Truyền tải Multicast đưa lại nhiều ưu điểm so với unicast truyền thống Băngthông của mạng được tận dụng hiệu quả hơn do nhiều luồng dữ liệu được thay thế bởimột luồng dữ liệu Multicast Công nghệ này đem lại chất lượng tối ưu do cần ít bảnsao dữ liệu để chuyển đi và xử lý tại các nút mạng
Trang 25Multicast là một công nghệ tương đối mới cho phép các khách hàng hưởng lợi từcác ứng dụng thời gian thực mà đáng ra phải yêu cầu một lượng băng thông cực lớn.Công nghệ này cho phép nhiều loại công ty đưa các sản phẩm của họ đến các nhómngười với chi phí cực thấp so với unicast Multicast giảm lưu lượng mạng và tiết kiệmbăng thông cho phép người dùng khai thác khả năng sử dụng cực đại có thể củaInternet Multicast cung cấp cho các người sử dụng liên quan đến Internet (các người
sử dụng đầu cuối, nhà vận hành mạng, ISP, và các công ty liên quan khác) giải phápkhả thi kinh tế và kỹ thuật cho vấn đề truyền tải khối lượng thông tin lớn đến cácnhóm người được lựa chọn
Về mặt công nghệ, IP Multicast có nhiều ưu thế so với các công nghệ cũ:
Khi bổ sung thêm người dùng mới không cần tăng lưu lượng của đường truyền
Giảm tải cho các Server
Tiết kiệm tài nguyên mạng lưới
Nâng cao chất lượng các dịch vụ truyên thông đa phương tiện, hội nghị truyềnhình, IPTV, đào tạo trực tuyến, …
Về măt dịch vụ, công nghệ Multicast cho phép triển khai các dịch vụ mới đa dạngvới chất lượng cao
Đối với người sử dụng dân cư: các dịch vụ IP multicast có thể được nhìn nhận
trong những lĩnh vực sau:
Dự báo thời thiết
Thương mại điện tử
Thông tin tài chính
Tin tức
Đào tạo điện tử
Đối với người sử dụng doanh nghiệp: điểm hấp dẫn đầu tiên là việc giảm chi phí
kết nối đường truyền Đối với công ty ở nhiều địa điểm, công nghệ này có ích lợitrong các lĩnh vực:
Thông tin đào tạo: phân phối video và text
Thông tin sản xuất: thông tin mới về giá cả, tùy chọn, màu sắc của sản phẩm Tất cả các công ty cần số liệu thống kê, kinh tế và các số liệu khác cho công việccủa họ Họ có thể đăng ký loại dịch vụ thông tin này
Trang 26Ngoài ra, các dịch vụ mới có thể được tạo ra bằng việc tích hợp các số liệu gắn kếtvới chương trình quảng bá: văn bản, hình ảnh, website.
1.3.2 Những vấn đề cần lưu ý khi triển khai IP Multicast
Để có thể có được các ưu điểm của IP Multicast, thì các khả năng định tuyếnMulticast phải được hỗ trợ tại các nút mạng Tùy thuộc vào chính sách sử dụng mạng
và nhu cầu của người sử dụng, thì các vấn đề liên quan đến định tuyến, độ tin cậy,đánh địa chỉ mạng và các giao thức truyền tải đa phương tiện có tầm quan trọng đốivới nhà vận hành mạng
Multicast không chỉ đem lại lợi ích cho người sử dụng đầu cuối Hầu hết các ứngdụng Multicast là dựa trên UDP, việc sử dụng giao thức này có thể dẫn đến các ảnhhưởng phụ không mong muốn (các gói tin có thể bị hủy) so với các ứng dụng unicasttương tự dựa trên TCP Tuy nhiên, việc thiếu kiểm soát nghẽn có thể dẫn đến việc suygiảm chất lượng mạng tổng thể Các gói tin trùng có thể thỉnh thoảng được tạo ra khicác topo mạng Multicast thay đổi
Trong tương lai, việc triển khai IPv6 sẽ đem lại Multicast có sẵn cho người sửdụng mạng Phần mềm định tuyến tin cậy hơn với các giao thức mới sẽ tận dụng được
hạ tầng mạng Với Multicast có sẵn, các vấn đề định tuyến sẽ được giải quyết dễ dànghơn và băng thông sẽ được tiết kiệm
Trang 27CHƯƠNG 2: CÁC YÊU CẦU KỸ THUẬT CHO DỊCH VỤ DỰA TRÊN CÔNG
NGHỆ IP MULTICAST
2.1 Các dịch vụ dựa trên IP Multicast
Một “ứng dụng multicast” được định nghĩa là ứng dụng mà gửi đến/nhận từmột địa chỉ IP multicast Các ứng dụng này có thể có hoặc không các địa chỉ IPunicast tham chiếu
Có ba loại ứng dụng multicast sau:
Một-nhiều (1 to M): một host gửi đến hay hoặc nhiều bộ nhận
Nhiều-nhiều (M to M): Một số lượng host bất kỳ gửi đến cùng một địa nhómmulticast cũng như nhận từ nhóm multicast đó
Nhiều-một (M to1): Một số lượng bộ nhận bất kỳ gửi dữ liệu trở lại bộ gửi(nguồn) thông qua unicast hoặc multicast
2.1.1 Các ứng dụng Một-Nhiều (1 to M)
Các ứng dụng 1toM có một bên gửi và nhiều bên nhận đồng thời Khi nói đếnmulticast người ta thường nghĩ đến các ứng dụng multimedia dựa trên broadcast:truyền hình (video) và radio (audio) Dưới đây là một số ứng dụng multicast dạng1toM:
- Phân phối audio/video (a/v) theo lịch định sẵn: ví dụ như các bài giảng, bài thuyếttrình, cuộc mít tinh hoặc bất kỳ loại ứng dụng theo sự kiện được đặt lịch sẵn nào Đặctrưng của ứng dụng loại này là yêu cầu một hoặc nhiều luồng dữ liệu với tốc độ bítkhông đổi (CBR – Constant Bit Rate)
- Push Media: Các ứng dụng dạng này bao gồm cập nhật bản tin thời tiết, tin tức thời
sự nổi bật, kết quả thể thao hoặc các loại thông tin động khác Đặc trưng của ứng dụngloại này là có dữ liệu với băng thông thấp
- Ứng dụng File Distribution và Caching
- Các ứng dụng thông báo - Anouncements: thời gian mạng, đặt lịch phiên multicast,
số ngẫu nhiên, cập nhật cấu hình… Các ứng dụng này yêu cầu băng thông thay đổinhưng nói chung là tốn rất ít băng thông
Trang 28- Các ứng dụng giám sát – Monitoring: Giá cổ phiếu, thiết bị cảm biến, hệ thống bảomật và các loại thông tin thời gian thực khác Ứng dụng dạng này yêu cầu băng thôngthay đổi theo độ phân giải và tần số lấy mẫu và có thể là tốc độ bit không đổi hoặcbùng nổ (bursty).
2.1.2 Các ứng dụng Nhiều-Nhiều (M to M)
Trong các ứng dụng MtoM hai hoặc nhiều bộ nhận cũng hoạt động như bộ gửi.Nói cách khác các ứng dụng MtoM được đặc trưng bởi các giao tiếp multicast haichiều
- Multimedia Conferencing: bao gồm các ứng dụng conference cơ bản Đặc trưng củaứng dụng này là có nhiều dòng dữ liệu với độ ưu tiên khác nhau
- Nguồn tài nguyên đồng bộ hóa: bao gồm các ứng dụng về cơ sở dữ liệu chia sẻ thuộcbất cứ loại nào (đặt lịch, directory cũng như các cơ sở dữ liệu hệ thống thông tintruyền thống)
- Xử lý đồng thời: Xử lý song song
- Cộng tác: ví dụ như chia sẻ soạn thảo văn bản
- Học từ xa: Đây là dịch vụ phân bố nội dung a/v một-nhiều với khả năng “upstream”cho phép người học gửi câu hỏi đến người giảng
- Chat Groups: đây là dịch vụ conference dạng text nhưng có thể hỗ trợ các biểu hiện
mô phỏng (gọi là avatar) cho mỗi người
- Distributed Interactive Simulations [DIS]: mỗi đối tượng trong một Simulationmulticast thông tin mô tả vì vậy tất cả các đối tượng khác có thể đáp trả lại đối tượngnày và tương tác khi cần thiết Băng thông cho ứng dụng này là lớn khi số đối tượng
và độ phân giải thông tin mô tả ngày càng tăng
- Multi-player Game: Nhiều multi-player game đơn giản chỉ là các DistributedInteractive Simulation và có thể bao gồm khả năng Chat Group Băng thông cho cácứng dụng dạng này có thể thay đổi rất mạnh mặc dù hiện nay các multi-player game
đã nỗ lực để tối thiểu hóa việc sử dụng băng thông nhằm tăng số người chơi lên
- Jam Session: dịch vụ chia sẻ âm thanh mã hóa Băng thông cho dịch vụ này thay tổitùy theo kỹ thuật mã hóa, tốc độ lấy mẫu, độ phân giả mẫu và số lượng kênh …
2.1.3 Các ứng dụng Nhiều-Một (M to 1)
Trang 29Không giống như loại ứng dụng 1toM và MtoM, ứng dụng dạng Mto1 không biểudiễn cơ chế giao tiếp tại lớp IP Các ứng dụng Mto1 có nhiều bên gửi và một bênnhận
- Resource Discovery – Phát hiện nguồn tài nguyên: Định vị dịch vụ, ví dụ IPmulticast cho phép thực thi một số dịch vụ kiểu như dịch vụ “host anycasting service”,bên nhận multicast gửi đi một yêu cầu đến địa chỉ nhóm multicast để lấy được đápứng từ host gần nhất mà có thể thỏa mãn yêu cầu Đáp ứng này có thể bao gồm thôngtin cho phép bên nhận xác định được nhà cung cấp dịch vụ thích hợp nhất để sử dụng
- Data Collection – Tập hợp dữ liệu: Dịch vụ này ngược với ứng dụng giám sát –monitoring 1toM đã mô tả ở trên Trong trường hợp này có thể có số lượng bất kỳ bộsensor gửi dữ liệu đến một host tập hợp dữ liệu Các sensor này có thể gửi đi bản cậpnhật về các đáp ứng đối với một request từ bộ tập hợp dữ liệu hoặc gửi đi một cáchliên tục tại mỗi khoảng thời gian hoặc tự động gửi đi khi có một sự kiện được yêu cầuxảy ra Băng thông cho ứng dụng này thay đổi tùy theo độ phân giải và tần số lấymẫu
- Auction – Dịch vụ bán đấu giá
- Polling – Dịch vụ bỏ phiếu
- Jukebox – máy hát tự động: dịch vụ này cho phép chơi dữ liệu a/v gần như theo yêucầu (near – on – demand a/v playback) Người nhận sử dụng cơ chế giao thức “out ofband” (qua web, email, request unicast hoặc multicast…) để nhận nội dung av mà họyêu cầu
- Accounting
2.2 Các yêu cầu kỹ thuật đối với dịch vụ IP Multicast
2.2.1 Yêu cầu về độ trễ
Ngoài những ứng dụng yêu cầu dữ liệu với độ nhạy về thời gian như giá cổ phiếu,thông tin giám sát thời gian thực thì phần lớn các cứng dụng 1toM có độ dung sai vớitrễ và sự thay đổi độ trễ cao (jitter) Dữ liệu với tốc độ bit không đổi CBR như luồngmedia (audio/video) rất nhạy với jitter nhưng nói chung các ứng dụng này hạn chế ảnhhưởng của jitter bằng cách sử dụng bộ đệm dữ liệu
Trang 30Phần lớn các ứng dụng multicast Mto1 và MtoM không chấp nhận trễ bởi vì đó làcác ứng dụng hai chiều, có tương tác và phụ thuộc vào request/response Vì vậy cầnphải tối thiểu hóa trễ để tránh ảnh hưởng tiêu cực đến việc sử dụng ứng dụng.
Các ứng dụng cần tối thiểu hóa độ trễ nhiều nhất là các ứng dụng conference haichiều hoặc quá trình đào tạo có tương tác Trong các trường hợp này, người sử dụngkhông thể thực hiện hội thoại có hiệu quả nếu tín hiệu audio/video có độ trễ lớn hơn500ms
2.2.2 Các yêu cầu khác
Dưới đây là các yêu cầu đối với các ứng dụng multicast:
- Quản lý địa chỉ: lựa chọn và phân cấp địa chỉ Việc quản lý địa chỉ là cần thiết đểtránh không bị xung đột địa chỉ
- Quản lý phiên: thực hiện các dịch vụ lớp ứng dụng trên đỉnh của truyền tải multicast.Các dịch vụ này phụ thuộc chủ yếu vào ứng dụng, tuy nhiên nó bao gồm các chứcnăng như quảng cáo phiên, tính cước, quản lý thành viên của nhóm, phân phối key…
- Hỗ trợ các bộ nhận không đồng nhất: gửi đến nhiều bộ nhận với dung lượng băngthông thay đổi lớn, đặc tính về latency và nghẽn mạng yêu cầu sự phản hồi để kiểmsoát hiệu năng của bộ nhận
- Phân phát dữ liệu một cách tin cậy: đảm bảo rằng tất cả dữ liệu gửi đi sẽ được tất cả
lý địa chỉ để cung cấp sự cấp phát địa chỉ Có một số cách cho phép ứng dụng biếtđược địa chỉ multicast:
Trang 31 Hard-Coded: cấu hình phần mềm, được mã hóa dưới dạng nhị phân và ghi vàoROM trong các thiết bị nhúng Các ứng dụng dạng này thường tham chiếu đếnđịa chỉ multicast được IANA cấp phát tĩnh.
Quảng cáo – Advertised: Thông báo phiên hoặc thông qua truy vấn band” hoặc cơ chế khám phá giao thức
“out-of- Thuật toán: sử dụng một thuật toán để cấp phát địa chỉ ngẫu nhiên tĩnh
Trong phần lớn các trường hợp người thiết kế chương trình nên giả sử rằng địachỉ mulitcast là tĩnh Rất ít không gian địa chỉ multicast còn lại cho việc phân cấp địachỉ tĩnh bởi IANA
Quản lý phiên:
Quản lý phiên là một trong những dịch vụ dễ hiểu lầm nhất cho mulitcast Phầnlớn nhà phát triển ứng dụng đều giả định rằng multicast sẽ cung cấp các dịch vụ nhưbảo mật, mã hóa, độ tin cậy, quảng cáo phiên, giám sát, tính cước… Trong thực tếmulticast chỉ đơn giản là một cơ chế truyền dẫn cung cấp sự phân phát end to end Tất
cả các dịch vụ khác là dịch vụ lớp ứng dụng phải được cung cấp bởi mỗi ứng dụng cụthể
Hỗ trợ các bộ nhận không đồng nhất:
Internet là mạng của các mạng Điểm mạnh của IP là khả năng cho phép hoạt độngliên thông giữa các host trên các đường truyền mạng khác nhau, gọi là mạng khôngđồng nhất
Khi hai host giao tiếp unicast 1-1 qua mạng IP thì rất dễ để bên gửi thích ứng vớinhững thay đổi về điều kiện mạng Giao thức TCP hỗ trợ việc truyền dữ liệu đáng tincậy và là mô hình của tính tương thích thân thiện với mạng Giao thức UDP khôngcho phép bên nhận phản hồi lại theo cách TCP thực hiện vì UDP không hỗ trợ việcphân phát dữ liệu đáng tin cậy Vì vậy UDP không phát hiện được mất dữ liệu và thựchiện cơ chế điều khiển nghẽn như TCP thực hiện Tuy nhiên UPD cho phép thực hiệncác thuật toán thích ứng tương tự như TCP để nhận được việc phát hiện mất dữ liệu vàđiều khiển nghẽn như TCP làm
Tuy nhiên với các ứng dụng multicast 1toM hay MtoM có nhiều bên nhận thì việcthiết kế cơ chế phản hồi cần phải thay đổi Nếu tất cả bên nhận cùng đồng thời trả vềbản tin thông báo mất dữ liệu đến bên gửi thì bên gửi sẽ bị quá tải
Trang 32Một vấn đề khác là khả năng của các bên nhận là không giống nhau, có thể thayđổi rất lớn do dung lượng về băng thông của mạng và đo điều kiện về lưu lượng Nếubên gửi thích ứng tốc độ gửi và độ phân giải dữ liệu của nó dựa vào tốc độ mất góicủa bên nhận tồi nhất thì nó chỉ có thể phục vụ với chất lượng thấp nhất.
Có một số biện pháp để giải quyết vấn đề về bộ nhận không đồng nhất này.Dưới đây đưa ra hai ví dụ:
Shared Learning – học chia sẻ: khi phát hiện ra mất dữ liệu (ví dụ bị mất mộtgói) thì bên nhận khởi tạo bộ định thời ngẫu nhiên Nếu bên nhận nhận được bản tinthông báo mất dữ liệu do bên nhận khác gửi đến trong khi bộ định thời đang hoạt độngthì bên nhận sẽ chấm dứt hoạt động của bộ định thời và không gửi đi một bản tin báomất dữ liệu nào Trái lại bên nhận sẽ gửi đi bản tin thông báo mất dữ liệu khi hoạtđộng của bộ định thời hết hiệu lực Giao thức RTP – Real Time Protocol và RTCP –Real Time Control Protocol sử dụng cách tương tự để duy trì lưu lượng phản hồi là5% hoặc nhỏ hơn trên toàn bộ lưu lượng của phiên Kỹ thuật này được sử dụng đầutiên ở IGMP
Local Recovery – Phục hồi cục bộ: Một số bên nhận có thể được thiết kế để làđiểm phân phát cục bộ để gửi lại dữ liệu cục bộ (có thể thông qua unicast) khi cóthông báo mất dữ liệu xảy ra hoặc mã hóa lại dữ liệu cho các bộ nhận có băng thôngthấp hơn trước khi truyền lại Không có chuẩn nào cho các thực thi này mặc dù phụchồi cục bộ được nhiều giao thức multicast sử dụng
Vấn đề thiết kế các ứng dụng multicast thích ứng với các bộ nhận không đồngnhất vẫn là một lĩnh vực đang nghiên cứu Yêu cầu cơ bản là tối đa hóa việc sử dụngứng dụng Ngoài ra phát hiện nghẽn mạng và tránh nghẽn mạng cũng rất quan trọng
Phân phát dữ liệu một cách tin cậy:
Rất nhiều ứng dụng multicast cho phép có tỉ lệ mất dữ liệu nhất định Mặt khác cónhững dữ liệu bản thân nó có thể vẫn còn có ích ngay cả khi có một số mất mát nhấtđịnh Tuy nhiên một số ứng dụng khác như caching và synchronized resource yêu cầuviệc phân phát dữ liệu phải tin cậy Những dịch vụ này yêu cầu nội dung được phânphát đếnphải hoàn chỉnh, không bị thay đổi, theo đúng thứ tự và không bị lặp
Trang 33Có một số vấn đề liên quan đến hỗ trợ truyền tải multicast đáng tin cậy giốngnhư các vấn đề về gửi đến các loại bộ nhận không đồng nhất và cũng có một số giảipháp để giải quyết các vấn đề này tương tự nhau Ví dụ nhiều giao thức truyền tảimulticast tin cậy tránh vấn đề âm kép – implosion bằng cách sử dụng bản tin NAK(negative acknowledgements) từ bên nhận để chỉ ra cái gì đã bị mất đi Các cơ chế nàycũng sử dụng phương pháp shared learning, trong đó bên nhận nghe NAK của các bênnhận khác và sau đó xem kết quả truyền lại dữ liệu chứ không phải là yêu cầu việctruyền lại dữ liệu bằng cách gửi đi bản tin NAK của chúng
Mặc dù hiện có rất nhiều giao thức multicast tin cậy đã được thực thi và trong
đó có một số đã thực thi trong các sản phẩm thương mại nhưng chưa có giao thức nàođược tiêu chuẩn hóa Nhóm nghiên cứu về truyền multicast đáng tin cậy của IRTF(Internet Research Task Force) vẫn tiếp tục nghiên cứu để cung cấp một cái nhìn rõràng hơn về các vấn đề, các yêu cầu về truyền tải multicast và cơ chế giao thức
Tính khả mở - Scalability cũng là một vấn đề quan trọng Tính khả mở tức là
sự cần thiết phải có các giao thức “thân thiện với mạng” để phát hiện và tránh tắcnghẽn mạng khi cung cấp việc truyền tải tin cậy Một vấn đề khác là sức mạnh củagiao thức, hỗ trợ “late join”, quản lý nhóm và tính bảo mât
Play-out được đồng bộ hóa:
Yêu cầu này đề cập đến vấn đề khi tất cả các bộ nhận đồng thời xem – playout dữliệu multicast mà chúng nhận được Điều này là cần thiết cho tính công bằng, ví dụtrong dịch vụ trả giá đấu giá hay xem giá chứng khoán hay đảm bảo tính đồng bộ vớicác bộ nhận khác, ví dụ như khi đang chơi nhạc
Sau đây là một ví dụ minh họa về tính đồng bộ hóa: Giả sử có một hệ thống stereogồm nhiều speaker được truyền đến nhà thuê bao (thông qua tín hiệu analog) Với âmthanh stereo hoạt động trên tất cả các speaker, bạn có thể nghe âm nhặc liên tục khi đi
từ phòng này sang phòng khác Bây giờ giả sử một ngôi nhà có các hệ thống máy tínhcho phép mạng và multi-media Mặc dù các hệ thống này nhận được cùng dòng dữliệu âm nhạc đồng thời qua mulitcast nhưng các hệ thống này sẽ chơi âm nhạc khôngliên tục khi bạn đi từ phòng này sang phòng khác
Để hỗ trợ tính đồng bộ cho phép chơi nhạc liên tục từ phòng này qua phòng khácthì cần 3 yếu tố:
Cần phải đồng bộ hóa đồng hồ trên tất cả các hệ thống
Trang 34 Dòng dữ liệu phải được đóng khung frame bằng timestamp
Phải biết được độ trễ của phần cứng chơi dữ liệu multimedia
Yếu tố thứ ba là yếu tố khó thực hiện nhất Phần cứng và phần mềm điều khiểnkhông hỗ trợ bất kỳ cơ chế nào để nhận được thông tin này
2.3 Bảo mật trong IP Multicast
2.3.1 Các yêu cầu về bảo mật
Trong IP Multicast nội dung dữ liệu được phân phối một cách đồng thời tới sốlượng lớn các bên nhận Nếu chỉ các bên nhận đó được cho phép nhìn thấy nội dung
dữ liệu thì nội dung dữ liệu phải được mã hóa Nhưng một khóa mã hóa có thể làmthế nào để được phân phối hiệu quả tới nhiều bên nhận? Hơn nữa, một khóa cho dữliệu mã hóa nên được thay đổi theo chu kỳ, vì ta không chấp nhận mã hóa nhiều dữliệu với chỉ cùng một khóa Và nó cần phải thay đổi khi các thành viên của nhóm thayđổi
Vấn đề khác trong bảo mật thông tin là bảo vệ tính sự toàn vẹn và nhận thực dữliệu Với một mẫu khóa bí mật, ai đó đang kiểm tra dữ liệu phải biết cùng một bí mật
đã được sử dụng để tạo trường kiểm tra tính toàn vẹn
Có ba vấn đề cần quan tâm trong việc cung cấp các dịch vụ bảo mật Multicast
Đầu tiên, các bên gửi cần phải mã hóa và nhận thực dữ liệu Multicast Đối với việc
mã hóa, các thành viên nhóm yêu cầu một khóa chung giữa chúng
Thứ hai, điều khiển truy nhập có thể được tiến hành bằng sự phân phối một khóachung tới các thành viên nhóm, mà không cần tới sự thay đổi mô hình IPMulticast Khi các thành viên nhóm thay đổi, khóa chung có thể cần thiết phải thayđổi và phân phối lại tới nhóm mới của các thành viên đã được nhận thực
Thứ ba, các thành viên phải có khả năng kiểm tra dữ liệu được nhận đã thực sựđược gửi bởi một thành viên đã được nhận thực hay không Bởi vậy nhận thựcnguồn gốc dữ liệu và mã hóa dữ liệu là một trong những vấn đề cần lưu tâm Thêmnữa, những ứng dụng Multicast khác nhau- trong phạm vi từ việc thông tin đangười dùng tới phân phối dữ liệu từ một tới nhiều người dùng có những yêu cầubiến đổi đối với các hệ thống đầu cuối, truyền thông và bảo mật Chính sách nhómcho phép chủ nhóm hay nhà cung cấp nội dung chỉ rõ các yêu cầu cũng như trạngthái nhóm mong muốn được thay đổi trong môi trường hoạt động
Trang 35Các yêu cầu về tính bảo mật multicast có thể bao gồm:
Giới hạn bên gửi: Kiểm soát xem ai có thể gửi thông tin đến các địa chỉ nhóm
Giới hạn bên nhận: Kiểm soát xem ai có thể nhận thông tin
Giới hạn truy nhập: Kiểm soát xem ai có thể xem được nội dung mulitcast bằngcách hoặc là mã hóa nội dung hoặc là giới hạn bên nhận
Xác minh nội dung: Đảm bảo là dữ liệu có nguồn gốc từ bên gửi đã nhận thực và
dữ liệu này không bị thay đổi trong quá trình truyền tải
Bảo vệ tính riêng tư của bên nhận: Kiểm soát xem liệu bên gửi hoặc các bên nhậnkhác có biết nhận dạng bên gửi hay không
Firewall Traversal: Proxy các request “join” ra ngoài qua firewall, cho phép qualưu lượng vào và ra, nhận thực bên nhận nhằm mục đích lọc và bảo mật
Các ứng dụng IP multicast khác nhau có thể có những yêu cầu khác nhau tươngứng
2.3.2 Mô hình kiến trúc bảo mật
Kiến trúc bảo mật vho IP multicast dựa trên ba khối chức năng chính, được trìnhbày ngắn gọn dưới đây