Tải bản đầy đủ (.doc) (73 trang)

Nghiên cứu công nghệ IP Multicast và ứng dụng trong đào tạo điện tử

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (904.31 KB, 73 trang )

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Ử

LUẬN VĂN THẠC SỸ KỸ THUẬT

HÀ NỘI - NĂM 2012


BỘ 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


MỤC LỤC


BẢNG CÁC THUẬT NGỮ VÀ TỪ VIẾT TẮT
Viết tắt
ALF
API
AV
BGMP
BGP
CODEC
DVMRP
E-Learning
ISDN
IP
ICMP
IEEE
IETF
IGMP
LAN
MAC
MADCAP
MBONE
MCU
MFTP
MIKE
MSA

PIM
PIM-DM
PIM-SM
PSTN
WAN

Giải nghĩa tiếng Anh
Application Layer Framing

Giải nghĩa tiếng Việt
Đóng khung lớp ứng
dụng
Application Programming Interface
Giao tiếp lập trình ứng
dụng
Audio / Video
Am thanh / hình ảnh
Border Gateway Multicast Protocol
Giao thức BGMP
Border Gateway Protocol (Routing Giao thức BGP
Protocol)
Compression/decompression
Nén / giải nén
Distance Vector Multicast Protocol
Giao thức DVMRP
Đào tạo điện tử
Integrated Services Digital Network
Mạng số tích hợp đa
dịch vụ
Internet Protocol.

Giao thức Internet
Internet Control Messaging Protocol
Giao thức ICMP
Institute of Electrical and Electronics Viện IEEE
Engineers
Internet Engineering Task Force
Tổ chức IETF
Internet Group Management Protocol Giao thức quản lý
nhóm Internet IGMP
Local Area Network.
Mạng nội bộ LAN
Media Access Control
Điều khiển truy nhập
phương tiện
Multicast Address Allocation Protocol Giao thức cấp phát địa
chỉ Multicast
Multicast Backbone on the Internet
Đường trục Multicast
Multipoint Control Unit
Khối điều khiển đa
điểm
Multicast File Transfer Protocol
Giao thức truyền file
Multicast
Multicast Internet Key Exchange
Trao đổi khóa MIKE
Multicast Security Association
Liên kết an toàn
Multicast
Protocol Independent Multicast

Giao thức Multicast
độc lập
Protocol Independent Multicast - Giao thức Multicast
Dense Mode
độc lập-chế độ trù mật
Protocol Independent Multicast- Giao thức Multicast
Sparse Mode
độc lập-chế độ thưa
Public Switched Telephone Network. Mạng
điện
thoại
chuyển mạch công
cộng
Wide Area Network.
Mạng diện rộng


MỞ ĐẦU
IP Multicast là một cơ chế chuyển tải thông tin mới cho mạng IP được Steve
Deering 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ười
gử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ột
luồng tin trên cùng một kết nối vật lý trong khi đó, unicast truyền đồng thời nhiều
luồ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ữa
ngườ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 Multicast
Chương 3: Ứng dụng công nghệ IP Multicast trong đào tạo điện tử
Kết luận


CHƯƠ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ẩ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. Việc ứng dụng
cô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ệ IP
Multicast.


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ài
má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ụng
Multicast để gửi đi gói tin thì không cần thiết phải biết địa chỉ của những người cần
nhận luồng tin Multicast đó: dữ liệu được “quảng bá” theo một phương thức mà
những người quan tâm đến nó có thể nhận được.


1.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óm
Multicast.
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ấp
nhậ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ột
người muốn tham gia vào nhóm Multicast gửi yêu cầu tham gia trực tiếp đến nguồn
quyế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ựa
trê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 danh
sá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ẩn
hó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óm
phiê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ủa
nhó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ấp

nhậ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 đích
của nó với cùng độ tin cậy “best-effort” như các gói tin unicast thông thường. Thành
viê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ạm
gử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ỉ được
gá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ào
chúng có thành viên.


Trong 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át
việ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ột
giao 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ông
bá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ến
Multicast giữa chúng. Đối với IPv6, tất cả các chức năng IGMP được chuyển cho giao
thứ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 đị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 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ên
spanning 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ến
hì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ộ định
tuyế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ằng
không có lặp.
Kỹ thuật source-based tree


Thay 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ác
thà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 tree
như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ụng
muố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ùng

mộ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 đến
gố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ụng
Multicast được triển khai trên diện rộng. Kiến trúc được đề xuất bao gồm giao thức
host-server (MADCAP), giao thức server-server nội miền (AAP) hay giao thức liên
miề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 1992
trê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ững
hạ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. Để định
tuyế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-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 theo một đường đi duy nhất từ nguồn đến đích.


Tuy nhiên khi router nhận được một gói tin 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. 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 multicast
phức tạp hơn unicast. Trên hình 1 hiển thị một router đã nhận được một gói tin
multicast 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ỉ đích
nào đó. Tác vụ này được thực hiện bằng cách dùng các giao thức distance vector hay
dù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 trong
bả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ển
gói tin multicast được gọi là reverse path forwarding.

Hình 2.

Mô hình định tuyến Multicast


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:
Dense Mode: các thành viên nhóm Multicast được phân tán mật độ dày đặc trên
mạ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ộ định
tuyế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


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
đượ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 (nói
cá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ụng
multicast phải được cài đặt và chạy trên host đó. Sau khi một host tham gia vào một
nhó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ộ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ì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ườ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ụ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.
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.
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 membershipreport. 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 bó 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. Điều này có nghĩa là, ở chế độ mặc định, các lưu lượng multicast vẫn gửi
vào một phân đoạn mạng trong ba chu kỳ truy vấn liên tiếp sau khi tất cả các thành
viên của nhóm không còn lắng nghe 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ừng nhóm multicast. Thay vào đó, nó cần phải lưu những nhóm multicast nào là đang
tồ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à 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.

Hình 4.


Cấu trúc thông điệp IGMPv1

Một thông điệp IGMPv1 có năm trường:


1. 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ểu Host
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 được
nhận.
4. Checksum: mang giá trị 16bit checksum được tính toán bởi nguồn của thông điệp
IGMP. 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.
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. 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 kết hợp hai trường version và trường type, giá trị dạng Hecxa củ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.
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ó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ờ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.
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.


 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. Đặ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ời
gian 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ỏ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.
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ấn query 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ửi vài thông điệp, cách nhau mỗi 10 giây.

Hình 5.

Cấu trúc thông điệp IGMPv2

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ệ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. Một thông điệp truy vấn cho mộ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 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.


b. Membership report version 1 (mã 0x12): được dùng bởi 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): được gửi bởi thành viên nhóm nếu nó là thành viên cuối
cù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 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).
3. Checksum: Chứa giá trị 16bit được tính toán bởi máy nguồn. IGMP
checksum 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ên
mặ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ệp
membership report hoặc thông điệp Leave Group có thể mang địa chỉ của nhóm trong
trường này.
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ủ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.

Các thông điệp rời bỏ nhóm (IGMPv2 Leave Group) và các thông điệp cho
từ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ỏi
nhóm chỉ nếu nó là host cuối cùng gửi thông điệp membership report. Tuy nhiên phần
lớn các hiện thực IGMPv2 đều cho phép một host gửi ra thông điệp LeaveGroup khi
bất kỳ host nào rời khỏi nhóm.
Sự 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. Điều này có nghĩa là sẽ tốn
mộ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ệc
truy 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ả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. 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ê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áy trạ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ỉ
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ằ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ộ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 đó.
So sánh IGMPv1, IGMPv2 và IGMPv3


STT

Đặc điểm

IGMPv1

IGMPv2

IGMPv3

1

Giá trị của octet đầu tiên

0x11

0x11

0x11

0.0.0.0

0.0.0.0

0.0.0.0


224.0.0.1

224.0.0.1

224.0.0.1

60 giây

125 giây

125 giây

0x12

0x16

0x22

Địa chỉ nhóm cho thông

Địa chỉ nhóm

Địa chỉ nhóm

Địa chỉ nhóm

điệp báo cáo

Multicast


Multicast

Multicast, có

trong thông điệp truy vấn
2

Địa chỉ nhóm cho thông
điệp truy vấn

3

Địa chỉ đích cho thông
điệp truy vấn

4

Thời gian truy vấn mặc
định

5

Giá trị của octet đầu tiên
trong thông điệp báo cáo

6

tham khảo
thêm nguồn

7

8

Địa chỉ đích cho thông

Địa chỉ nhóm

Địa chỉ nhóm

224.0.22

điệp báo cáo

Multicast

Multicast

Có cơ chế làm giảm thông





Không

Thời gian trả lời tối đa có

Không, cố định


Có, từ 0 đến

Có, từ o đến 53

thể được cấu hình

ở 10 giây

25,5 giây

phút

Một Host có thể gửi thông

Không





224.0.0.2

224.0.0.2





điệp báo cáo hay không?
9


10

điệp rời khỏi nhóm hay
không?
11

Địa chỉ đích cho thông
điệp rời khỏi nhóm

12

Một router có thể gửi một
thông điệp cho từng nhóm
cụ thể

Không


13

Một Host có thể gửi một

Không

Không



Không


Không



Luật bầu chọn router truy

Không, phụ

Router có địa

Router có địa

vấn

thuộc vào giao

thông điệp báo cáo cho
từng nhóm và từng nguồn
cụ thể hay không ?
14

Router có thể gửi truy vấn
cho từng nguồn và từng
nhóm cụ thể hay không ?

15

chỉ IP thấp nhất chỉ IP thấp nhất


thức định tuyến
16

Tương thích với các phiên
bản khác của IGMP

Không

Có, chỉ với

Có, với cả

IGMPv1

IGMPv1 và
IGMpv2


Bảng 1. So sánh các phiên bản IGMPvx

1.2.3 Giao thức định tuyến PIM, PIM-DM và PIM-SM
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 vì vậy PIM sử dụng bảng định tuyến IP. Cần chú ý là bảng unicast
routing cũng không phụ thuộc vào các giao thức định tuyến vì nhiều giao thức định
tuyến có thể đóng góp vào cùng một bảng định tuyến. PIM có thể hoạt động ở ba chế
độ:
 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ó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.
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 động
theo 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 tin
multicast 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ên
một cổng và đẩy những phiên bản sao chép ra tất cả những cổng khác.


Hì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ả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. 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 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
đó.
3. Giao thức định tuyến PIM-SM


Giao 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ếu
cá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án
lư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ững
trườ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ế độ dense
tiế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ông
muốn nhận traffic đó. 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:
 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 PIM
sparsemode bắt đầu khi gói tin được đẩy về một router đặc biệt gọi là rendezvous
point (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ượng
này phải được yêu cầu bởi một router.


Hì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à đị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.
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ổng
S0/1 về R3.


Trong 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ông
chuyể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àm
lã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ượng
multicast đế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ểm
tra 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ững

lợ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, tuy
nhiên còn có nhiều loại ứng dụng khác nhau sử dụng công nghệ IP Multicast cho các
mục đích không phải đa phương tiện. Các ứng dụng thời gian thực bao gồm: truyền
hình trực tiếp, đài phát thanh, hội nghị truyền hình, các ứng dụng không phải thời gian
thực như truyền file, dữ liệu, video theo yêu cầu ....
Truyền tải Multicast đưa lại nhiều ưu điểm so với unicast truyền thống. Băng
thông của mạng được tận dụng hiệu quả hơn do nhiều luồng dữ liệu được thay thế bởi
một luồng dữ liệu Multicast. Công nghệ này đem lại chất lượng tối ưu do cần ít bản
sao dữ liệu để chuyển đi và xử lý tại các nút mạng.


Multicast 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óm
ngườ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ệm
băng thông cho phép người dùng khai thác khả năng sử dụng cực đại có thể của
Internet. Multicast cung cấp cho các người sử dụng liên quan đến Internet (các người
sử dụng đầu cuối, nhà vận hành mạng, ISP, và các công ty liên quan khác) giải pháp
khả thi kinh tế và kỹ thuật cho vấn đề truyền tải khối lượng thông tin lớn đến các
nhóm người đượ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ền
hì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ạng
vớ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ợi
trong 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ệc
của họ. Họ có thể đăng ký loại dịch vụ thông tin này.


×