Download as pdf or txt
Download as pdf or txt
You are on page 1of 70

ĐẠI HỌC ĐÀ NẴNG

TRƯỜNG ĐẠI HỌC BÁCH KHOA


KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn

LUẬN VĂN TỐT NGHIỆP KỸ SƯ


NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 05115

ĐỀ TÀI :
TÌM HIỂU MULTICAST VÀ ỨNG DỤNG MULTICAST TRONG
IPTV
Mã số : KKLLL-nnn1
Ngày bảo vệ : DD/MM/YYYY

SINH VIÊN : PHAN THANH HẢI


LỚP : 06T4
CBHD : XXX

ĐÀ NẴNG, MM/YYYY

1
Mã số được xây dựng theo nguyên tắc : Tên lớp + số thứ tự ABC của SV. Ví dụ 05TLT-027.
LỜI CẢM ƠN

Em xin chân thành cảm ơn các thầy cô Khoa Công Nghệ Thông Tin
cũng như các thầy cô trong Trường Đại học Bách Khoa Đà Nẵng đã truyền
đạt những kiến thức quý báu cho tôi trong những năm học vừa qua.
Đặc biệt em chân thành thầy Nguyễn Thế Xuân Ly đã tận tình hướng
dẫn và giúp đỡ em trong quá trình thực hiện đề tài.

Xin chân thành cám ơn các bạn trong Khoa Công Nghệ Thông Tin đã
ủng hộ, giúp đỡ, chia sẻ kiến thức, kinh nghiệm và tài liệu có được cho em
trong quá trình nghiên cứu và thực hiện đề tài.

Một lần nữa xin cám ơn!

Sinh viên thực hiện

PHAN THANH HẢI


LỜI CAM ĐOAN
Tôi xin cam đoan :

1 Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn
trực tiếp của thầy Nguyễn Thế Xuân Ly.

2 Mọi tham khảo dùng trong luận văn đều được trích dẫn rõ ràng tên
tác giả, tên công trình, thời gian, địa điểm công bố.

3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá,
tôi xin chịu hoàn toàn trách nhiệm.

Sinh viên thực hiện

PHAN THANH HẢI


MỤC LỤC
TỔNG QUAN VỀ IPTV...................................................................................................... 1
I. Giới thiệu chung về IPTV .......................................................................................... 1
I.1. Khái niệm IPTV............................................................................................. 1
I.2. Một số đặc tính của IPTV .............................................................................. 2
I.3. Sự khác nhau giữa IPTV và truyền hình Internet .......................................... 2
I.4. Các thành phần trong hệ thống IPTV ............................................................ 3
I.4.1. Mạng chuyển tải ........................................................................................ 3
I.4.2. Mạng cung cấp nội dung ........................................................................... 4
I.4.3. Hệ thống Video Headend ........................................................................... 4
I.4.4. Hệ thống Middleware ................................................................................ 4
I.4.5. Hệ thống phân phối nội dung .................................................................... 4
I.4.6. Hệ thống quản lý bản quyền số (DRM) ..................................................... 4
I.4.7. Set-top Box (STB) ...................................................................................... 5
I.5. Các dịch vụ được cung cấp bởi IPTV ............................................................ 5
I.5.1. Dịch vụ truyền hình ................................................................................... 5
I.5.2. Dịch vụ VoD .............................................................................................. 5
I.5.3. Dịch vụ NPVR............................................................................................ 5
I.5.4. Dịch vụ Pay-per-View (PPV)..................................................................... 6
I.5.5. Trò chơi theo yêu cầu (Gamings on Demand)........................................... 6
I.5.6. Âm nhạc theo yêu cầu (Musics on Demand) ............................................. 6
I.5.7. Truyền hình của hôm trước (TV of Yesterday) .......................................... 6
I.5.8. Karaoke theo yêu cầu ................................................................................ 6
II. Hệ thống truyền hình IPTV mạng xDSL ............................................................... 6
II.1. Mô hình tổng quát ......................................................................................... 6
II.1.1. Các thành phần cung cấp dịch vụ Broadcast Video .................................. 7
II.1.2. Các thành phần cung cấp dịch vụ VoD ..................................................... 7
CÁC GIẢI PHÁP KỸ THUẬT VÀ CÔNG NGHỆ CHO HỆ THỐNG TRUYỀN HÌNH
TRÊN MẠNG XDSL ........................................................................................................... 9
I. Chuẩn nén sử dụng trong IPTV ................................................................................. 9
I.1. Nén MPEG: ................................................................................................... 9
I.2. Chuẩn nén MPEG-2 ...................................................................................... 9
I.3. Chuẩn nén MPEG-4 .................................................................................... 10
I.4. Chuẩn nén MPEG4 part 10.......................................................................... 10
II. Các giao thức mạng sử dụng trong IPTV ............................................................ 11
II.1. Unicast ......................................................................................................... 11
II.2. Broadcast ..................................................................................................... 12
II.3. Multicast ...................................................................................................... 12
II.3.1. Giao thức IGMP ...................................................................................... 13
II.3.2. Giao thức PIM ......................................................................................... 14
II.3.3. Chuyển tiếp lưu lượng multicast ............................................................. 15
III. Chất lượng dịch vụ (QoS).................................................................................... 18
III.1. Giới thiệu về chất lượng dịch vụ ............................................................. 18
III.2. Cung cấp chất lượng dịch vụ trên mạng IP.............................................. 18

i
Mục lục ii

III.3. Các mô hình QoS..................................................................................... 19


III.3.1. Best-effort delivery .................................................................................. 20
III.3.2. Intergrated Service Model ....................................................................... 20
III.3.3. Differentiated Service Model ................................................................... 21
III.4. Phân loại và đánh dấu .............................................................................. 22
III.5. Sự phân loại – Classification ................................................................... 22
III.5.1. Class-Based Marking .............................................................................. 23
III.5.2. Phân loại với NBAR (Network-Based Application Recognition) ............ 24
III.5.3. Đánh dấu – Marking ............................................................................... 24
III.6. IP header QoS – Precedence và DSCP .................................................... 24
III.7. Chuyển tiếp đảm bảo (Assured Forwarding) ........................................... 26
III.8. Các công cụ phân loại và đánh dấu. ........................................................ 26
III.8.1. Cấu hình theo Class-Based Marking ....................................................... 26
III.8.2. Network-Based Application Recognition ................................................ 27
PHÂN TÍCH THIẾT KẾ HỆ THỐNG ........................................................................... 28
I. Phân tích trang web mô phỏng người sử dụng dịch vụ IPTV .................................. 28
I.1. Phân tích các yêu cầu ................................................................................... 28
I.1.1. Yêu cầu trang web ................................................................................... 28
I.1.2. Yêu cầu người dùng ................................................................................. 28
I.1.3. Yêu cầu quản lý ....................................................................................... 28
I.2. Thiết kế cơ sở dữ liệu .................................................................................. 28
I.2.1. Các bảng cơ sở dữ liệu ............................................................................ 28
I.2.2. Quan hệ giữa các bảng............................................................................ 29
II. Giới thiệu ngôn ngữ Cakephp.............................................................................. 30
II.1. Giới thiệu ..................................................................................................... 30
II.1.1. Tính năng của cakephp ............................................................................ 30
II.1.2. Mô hình MVC trong cakephp .................................................................. 30
II.2. Cài đặt và cấu hình ...................................................................................... 31
II.3. Cấu trúc thư mục của cakephp..................................................................... 31
II.4. Các qui ước của cakephp ............................................................................. 32
II.4.1. Các qui ước về file và tên lớp .................................................................. 32
II.4.2. Quy ước về tên model và tên bảng cơ sở dữ liệu ..................................... 32
II.4.3. Quy ước về Controller ............................................................................. 33
II.4.4. Quy ước về View ...................................................................................... 33
II.5. Các thành phần chính của cakephp.............................................................. 34
II.5.1. Model ....................................................................................................... 34
II.5.2. View ......................................................................................................... 36
II.5.3. Controller ................................................................................................ 36
III. Phân tích truyền gói tin Multicast trong IPTV .................................................... 37
III.1. Phân tích các yêu cầu ............................................................................... 37
III.2. Thiết kế mô phỏng ................................................................................... 37
III.3. Chức năng của các thiết bị trong bài lab.................................................. 39
III.4. Quá trình truyền và nhận gói tin multicast .............................................. 39
KẾT QUẢ THỬ NGHIỆM ............................................................................................... 41
I. Một số hình ảnh trang web mô phỏng giao diện IPTV ............................................ 41
I.1. Trang đăng nhập .......................................................................................... 41
Mục lục iii

I.2. Trang chủ ..................................................................................................... 41


I.3. Trang tìm kiếm ............................................................................................ 42
I.4. Trang admin ................................................................................................. 43
II. Kết quả mô phỏng truyền gói tin multicast ......................................................... 43
II.1. Mô hình và đặt địa chỉ IP cho từng thiết bị ................................................. 43
II.2. Kết quả......................................................................................................... 44
II.2.1. Truyền và bắt gói tin multicast ................................................................ 44
II.2.2. Kết quả mô phỏng chất lượng dịch vụ(QoS). .......................................... 48
Mục lục iv

LỜI MỞ ĐẦU

Sự phát triển của mạng Internet toàn cầu nói riêng và công nghệ thông tin nói
chung đã đem lại tiến bộ và phát triển vượt bậc của khoa học kỹ thuật. Với sự phát
triển vượt bậc đó nó đã làm thay đổi cả về nội dung và kỹ thuật truyền hình. Hiện nay
có nhiều dạng khác nhau: truyền hình số, truyền hình vệ tinh, truyền hình Internet và
IPTV. IPTV đang là cấp độ cao nhất và là công nghệ truyền hình của tương lai. Sự
vượt trội của IPTV là tính năng tương tác giữa hệ thống với người xem, cho phép
người xem chủ động về thời gian và khả năng triển khai nhiều dịch vụ giá trị gia tăng
tiện ích khác nhằm đáp ứng nhu cầu của người dùng.
Với sự hướng dẫn của thầy Nguyễn Thế Xuân Ly và mong muốn tìm hiểu công
nghệ mới, sau một thời gian tìm hiểu em đã hoàn thành cuốn báo cáo luận văn tốt
nghiệp với đề tài “Tìm hiểu Multicast và ứng dụng Multicast trong IPTV”. Nội
dung báo cáo gồm có lý thuyết và thực hành được trình bày trong 4 chương như sau:
- Chương I: Tổng quan về IPTV. Chương này trình bày khái niệm IPTV, cấu
trúc IPTV, các công nghệ IPTV.
- Chương II: Các giải pháp công nghệ và truyền hình cho IPTV. Chương này
trình bày các chuẩn nén sử dụng trong IPTV, giao thức sử dụng và chất lượng dịch vụ.
- Chương III: Phân tích thiết kế hệ thống. Chương này phân tích các yêu cầu
và giới thiệu ngôn ngữ cakephp.
- Chương IV: Kết quả mô phỏng. Trình bày các kết quả đạt được trong quá
trình triển khai.
Mục lục v
CHƯƠNG 1

TỔNG QUAN VỀ IPTV

I. Giới thiệu chung về IPTV


I.1. Khái niệm IPTV
IPTV viết tắt của Internet Protocol Television, có nghĩa là truyền hình giao thức
Internet . IPTV là một hệ thống dịch vụ truyền hình kỹ thuật số được phát đi nhờ vào
giao thức Internet thông qua một hạ tầng mạng, hạ tầng mạng này có thể bao gồm việc
truyền thông qua một kết nối băng thông rộng.
IPTV được cung cấp trên Internet nên đôi khi dịch vụ này còn gọi là Internet TV
hay Web TV. Nó thường được cung cấp cùng với dịch vụ Video-on-Demand (VoD:
video theo yêu cầu) cùng với các dịch vụ Internet khác như Web và Voip nên còn
được gọi là công nghệ TriplePlay và được cung cấp bởi nhà khai thác dịch vụ băng
thông rộng sử dụng chung một hạ tầng mạng.

Hình 1. IPTV Công nghệ tương lai.


IPTV sẽ mang đến cho người dùng những nội dung kỹ thuật số chất lượng cao như
video theo yêu cầu(VoD), hội nghị truyền hình( Video Conference), tin nhắn nhanh
qua TV…
Có thể thấy, IPTV là một dịch vụ số mà có khả năng cung cấp những tính năng
vượt trội hơn khả năng của bất kỳ cơ chế phân phối truyền hình nào khác. Ví dụ, set-

PHAN THANH HẢI, LỚP 06T4 1


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV

top box IPTV có thể thông qua phần mềm để cho phép xem đồng thời nhiều chương
trình truyền hình trên màn hình hiển thị, email….

I.2. Một số đặc tính của IPTV


- Hỗ trợ truyền hình tương tác: Khả năng hai chiều của hệ thống IPTV cho
phép nhà cung cấp dịch vụ phân phối toàn bộ các ứng dụng truyền hình tương tác. Các
loại dịch vụ được truyền tải thông qua một dịch vụ IPTV có thể bao gồm truyền hình
trực tiếp chuẩn, truyền hình chất lượng cao, trò chơi tương tác và khả năng truy cập
Internet tốc độ cao.
- Sự dịch thời gian: IPTV kết hợp với một máy ghi video kỹ thuật số cho phép
dịch thời gian nội dung chương trình – một cơ chế cho việc ghi và lưu trữ nội dung
các chương trình truyền hình yêu thích để xem sau.
- Cá nhân hóa: Một hệ thống IPTV từ đầu cuối đến đầu cuối hỗ trợ truyền
thông tin hai chiều và cho phép người dùng cá nhân hóa những thói quen xem TV của
họ bằng cách cho phép họ quyết định nội dung và thời gian họ muốn xem.
- Yêu cầu băng thông thấp: Thay vì phân phối trên mọi kênh để tới mọi người
dùng như trong truyền hình quảng bá thông thường, công nghệ IPTV cho phép nhà
cung cấp dịch vụ chỉ truyền trên một kênh mà người dùng yêu cầu. Đặc điểm hấp dẫn
này cho phép nhà cung cấp dịch vụ có thể tiết kiệm băng thông của mạng.
- Hỗ trợ nhiều loại thiết bị đầu cuối: Việc xem nội dung IPTV bây giờ không
chỉ giới hạn thiết bị đầu cuối là TV. Người dùng có thể sử dụng máy tính cá nhân hay
thiết bị di động để truy xuất vào các dịch vụ IPTV.

I.3. Sự khác nhau giữa IPTV và truyền hình Internet


Cả hai dịch vụ IPTV và Internet đều dựa trên giao thức IP, nên người ta hay nhầm
lẫn IPTV là truyền hình Internet. Tuy nhiên, hai dịch vụ này có nhiều điểm khác nhau.
- Được truyền tải trên nền mạng khác nhau
Truyền hình Internet sử dụng mạng Internet công cộng để phát tán các nội dung
video tới người sử dụng cuối.
IPTV sử dụng mạng trên nền IP tương tự như mạng Internet, song đó là các mạng
riêng được bảo mật để truyền các nội dung video đến khác hàng. Các mạng riêng này
thường được tổ chức và vận hành bởi nhà cung cấp dịch vụ IPTV.
- Về mặt địa lý
Các mạng do nhà cung cấp dịch vụ viễn thông sở hữu và điều khiển không cho
phép người sử dụng Internet nói riêng và những người không sử dụng dịch vụ IPTV
nói chung truy cập. Các mạng này chỉ giới hạn trong khu vực địa lý cố định.
Trong khi đó, mạng Internet không giới hạn về mặt địa lý, người dùng Internet nào
cũng có thể xem truyền hình Internet ở bất kỳ đâu trên thế giới.

PHAN THANH HẢI, LỚP 06T4 2


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV

- Quyền sở hữu hạ tầng mạng


Khi nội dung video được gửi qua mạng Internet công cộng, các gói sử dụng giao
thức Internet có thể bị trễ hoặc mất trong quá trình truyền. Do đó, nhà cung cấp dịch
vụ truyền hình ảnh qua mạng Internet không đảm bảo chất lượng truyền hình, và có
thể chất lượng hình ảnh thấp.
Trong khi đó, IPTV chỉ được phân phối qua một hạ tầng mạng của nhà cung cấp
dịch vụ. Do đó người vận hành mạng có thể điều chỉnh để có thể cung cấp hình ảnh
với chất lượng cao hơn.
- Cơ chế truy cập
Một set-top box số thường được sử dụng để truy cập và giải mã nội dung video
được phân phát qua hệ thống IPTV, trong khi PC ( máy tính cá nhân) thường được sử
dụng để truy cập các dịch vụ Internet. Các loại phần mềm được sử dụng trong PC
thường phụ thuộc vào loại nội dung truyền hình Internet. Ví dụ, để có thể tải các
chương trình TV từ trên mạng Internet đôi khi cần phải cài đặt các phần mềm cần thiết
để xem được nội dung đó, hay hệ thống quản lý bản quyền cũng cần để hỗ trợ cơ chế
truy cập.
- Giá thành
Giá thành các loại dịch vụ IPTV cũng gần giống với mức phí hàng tháng của
truyền hình truyền thống.

I.4. Các thành phần trong hệ thống IPTV


I.4.1. Mạng chuyển tải
Hạ tầng mạng IP băng rộng để truyền dịch vụ từ nhà cung cấp dịch vụ ITPV đến
khách hàng. Để cung cấp dịch vụ với chất lượng tốt và tiêu thụ ít băng thông khi có
đồng thời nhiều truy cập đến hệ thống, mạng truy cập băng thông rộng (B-RAS/MSS
và DSLAM) cần phải được hỗ trợ Multicast. Mạng cũng phải có khả năng hỗ trợ chất
lượng dịch vụ (QoS) từ đầu cuối đến đầu cuối, đảm bảo băng thông cần thiết và độ ưu
tiền cho các kênh truyền hình quảng bá cũng như các phiên video theo yêu cầu đang
sử dụng.

PHAN THANH HẢI, LỚP 06T4 3


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV

Hình 2. Sơ đồ mạng IPTV

I.4.2. Mạng cung cấp nội dung

Thu, nhận và xử lý các dữ liệu chương trình từ các nguồn khác nhau như vệ tinh,
truyền hình mặt đất và các nguồn khác để chuyển sang hệ thống Video Headend.

I.4.3. Hệ thống Video Headend


Thu và giải mã nội dung hình ảnh và âm thanh từ các nguồn khác nhau và sử dụng
các thiết bị mã hóa (encoder) để chuyển đổi nội dung này thành các luồng IP multicast
ở khuôn dạng mã hóa mong muốn.

I.4.4. Hệ thống Middleware


Middleware là bộ phận rất quan trọng trong hệ thống IPTV. Middleware đảm
nhiệm rất nhiều các nhiệm vụ trong hệ thống. Nó cung cấp và quản lý thuê bao ( giám
sát các thuê bao và STB, giám sát các dịch vụ cung cấp cho thuê bao, cài đặt mới
hoặc gỡ bỏ các dịch vụ..), quản lý các gói cước và giá cả.

I.4.5. Hệ thống phân phối nội dung


Bao gồm các cụm máy chủ Video theo yêu cầu (VoD) và hệ thống quản lý VoD
tương ứng, cho phép lưu trữ các nội dung đã được mã hóa và thiết lập các chính sách
phân phối nội dung một cách mềm dẻo. Hệ thống này cho phép nhà khai thác mở rộng
một cách kinh tế phù hợp với yêu cầu dịch vụ của các thuê bao.

I.4.6. Hệ thống quản lý bản quyền số (DRM)


DRM giúp nhà khai thác bảo vệ nội dung của mình bằng cách trộn các tín hiệu
truyền hình hay mã hóa nội dung VoD, khi truyền đi trên mạng Internet và tích hợp
các tính năng an ninh tại STB ở phía thuê bao.

PHAN THANH HẢI, LỚP 06T4 4


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV

I.4.7. Set-top Box (STB)


Thiết bị đầu cuối phía khách hàng, cho phép thu, giải mã và hiển thị nội dung trên
màn hình TV. STB cần hỗ trợ các chuẩn MPEG-4/h.264. Ngoài ra, STB cũng có thể
hỗ trợ HDTV, có khả năng kết nối với các thiết bị lưu trữ bên ngoài, video phone, truy
cập web… STB sẽ hỗ trợ kết nối giữa thiết bị tivi và mạng điện thoại của nhà cung cấp
dịch vụ.

I.5. Các dịch vụ được cung cấp bởi IPTV


I.5.1. Dịch vụ truyền hình
Các nội dung truyền hình được quảng bá theo lịch trình thời gian cố định như truyền
hình truyền thống. Sự lựa chọn các gói kênh theo yêu cầu của khách hàng có thể bao
gồm các kênh truyền hình công cộng, các kênh truyền hình trả tiền, các kênh truyền
hình được ưa thích, các kênh về mua sắm, thời trang….

I.5.2. Dịch vụ VoD


Việc phát các nội dung truyền hình được lựa chọn bắt đầu khi người sử dụng lựa
chọn nội dung đó. Thông thường, nội dung là các bộ phim hay các phim đã được ghi
lại từ một thư viện. Dịch vụ này có thể được sử dụng trong một thời gian giới hạn. Các
chức năng thường giống như chức năng của máy ghi hình (VCR) hay đầu DVD…

I.5.3. Dịch vụ NPVR


NPVR (Network Personal Video Recorder): Ghi hình cá nhân qua mạng, chức
năng của dịch vụ này dùng để ghi và phát lại nội dung của các kênh truyền hình.
Cơ chế hoạt động của NPVR:

Si

Hình 3. Hoạt động của NPVR

PHAN THANH HẢI, LỚP 06T4 5


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV

I.5.4. Dịch vụ Pay-per-View (PPV)


PPV là hình thức trả tiền để xem một phần chương trình truyền hình, ví dụ: trả tiền
để xem một sự kiện thể thao hay trả tiền để nghe một bản nhạc. Hệ thống cung cấp
một kênh truyền hình theo hình thức PPV cho các thuê bao.

I.5.5. Trò chơi theo yêu cầu (Gamings on Demand)


Dịch vụ này sẽ cung cấp nhiều loại game tùy chọn đến thuê bao từ một danh sách
có sẵn. IPTV yêu cầu game đơn giản dựa trên HTML.

I.5.6. Âm nhạc theo yêu cầu (Musics on Demand)


Các thuê bao có thể xem những clip ca nhạc theo yêu cầu giống như dịch vụ VoD.

I.5.7. Truyền hình của hôm trước (TV of Yesterday)


Dịch vụ này cho phép các thuê bao xem phim truyền hình đã được phát những
ngày trước đó.

I.5.8. Karaoke theo yêu cầu


Các thuê bao có thể chọn và xem các bài Karaoke qua Set-top Box trên TV. Từ
danh sách các bài Karaoke đã được giới thiệu, thuê bao có thể mua một hoặc nhiều bài
hát cùng lúc. Dịch vụ này đang được triển khai.

II. Hệ thống truyền hình IPTV mạng xDSL

II.1. Mô hình tổng quát

PHAN THANH HẢI, LỚP 06T4 6


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV

Hình 4. Mô hình tổng quát hệ thống cung cấp dịch vụ IPTV


Dịch vụ IPTV được chia làm hai loại chính: Dịch vụ video quảng bá (Broadcast
Video) và dịch vụ video theo yêu cầu (VoD).

II.1.1. Các thành phần cung cấp dịch vụ Broadcast Video


- Bộ nén video thời gian thực
Bộ nén video thời gian thực tiếp nhận tín hiệu audio, video từ các nguồn phát
broadcast video (tín hiệu có thể ở dạng tương tự hoặc số), sau đó chuyển đổi tín hiệu
này thành luồng các gói IP mang dữ liệu audio/video ở dạng đã được nén sô.
- Hướng dẫn chương trình điện tử EPG (Electronic Program Guide)
Cung cấp các thông tin về các kênh truyền hình đến broadcast client chạy trên các
STB. EPG thường được xây dựng dưới dạng một http server và các kênh được hiển thị
dưới dạng các trang web.
- Broadcast Client
Broadcast Client là một tiến trình ứng dụng chạy trên STB đảm nhiệm việc cung
cấp giao diện người dùng và điều khiển cho các dịch vụ Broadcast video.

II.1.2. Các thành phần cung cấp dịch vụ VoD


- Hệ thống phân phối nội dung (Asset Distribution System – ADS)
ADS lấy nội dung từ các nhà cung cấp và sử dụng qui tắc kinh doanh để phân phối
nội dung này đến những khu vực khác nhau trong hệ thống mạng của nhà cung cấp
dịch vụ.
- Navigation server
Navigation Server cung cấp các thông tin về nội dung VoD cho client chạy trên
STB. Thông tin về nội dung video được hiển thị dưới dạng các trang web.
- Phân hệ quản lý phiên
Phân hệ quản lý phiên là điểm liên lạc trung tâm cho các yêu cầu phiên VoD từ
client chạy trên STB.
- Phân hệ bản quyền
Phân hệ bản quyền có chức năng xác định một nội dung video chỉ được xem bởi
những thuê bao được cấp phép.
- Video pump
Video pump là thành phần lưu trữ và streaming của hệ thống VoD. Video pump
chứa các thiết bị lưu trữ, nội dung video được tổ chức sao cho có thể gửi bất kỳ một
nội dung video nào với một tốc độ xác định trước.

PHAN THANH HẢI, LỚP 06T4 7


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV

PHAN THANH HẢI, LỚP 06T4 8


CHƯƠNG II

CÁC GIẢI PHÁP KỸ THUẬT VÀ CÔNG


NGHỆ CHO HỆ THỐNG TRUYỀN HÌNH
TRÊN MẠNG xDSL
Lựa chọn giải pháp kỹ thuật, công nghệ nhằm cung cấp dịch vụ IPTV tốt cho
khách hàng.

I. Chuẩn nén sử dụng trong IPTV


Nén cho phép nhà cung cấp dịch vụ tuyền các kênh truyền hình và tiếng với chất
lượng cao qua mạng IP băng rộng. Mắt của con người không thể phân biệt được toàn
bộ các phần của hình ảnh nên việc nén sẽ làm giảm độ lớn của tín hiệu ban đầu bằng
cách bỏ bớt các phần của hình ảnh.

I.1. Nén MPEG:


MPEG (Moving pictures exert group) là một chuẩn nén được sử dụng rộng rãi
trong thông tin vệ tin, truyền hình cáp và trong các hệ thống truyền hình mặt đất.
MPEG được thành lập nhằm phát triển các kỹ thuật nén cho phù hợp với việc truyền
hình ảnh. Từ khi thành lập, MPEG đã đưa ra các chuẩn nén như: MPEG-1, MPEG-2,
MPEG4 (part 2 và part 10), MPEG-7, và MPEG-21. Trong các chuẩn này, MPEG-2 và
MPEG-4 part 10 được sử dụng rộng rãi trong IPTV.

I.2. Chuẩn nén MPEG-2


Chuẩn nén MPEG-2 là chuẩn nén phát triển tiếp sau MPEG-1, kế thừa tất cả các
tiêu chuẩn của MPEG-1 và mục đích là nhằm hỗ trợ việc truyền video số, tốc độ bit
lớn hơn 4Mb/s, bao gồm các ứng dụng DSM (phương tiện lưu trữ số), các hệ thống
truyền hình, cáp, truyền hình độ phân giải cao (HDTV)…
Chuẩn Mpeg-2 cung cấp khả năng nén rất cao bằng cách dùng các thuật toán tiêu
chuẩn, nó trở thành chuẩn cho TV số với các đặc tính:
- Nén video tương thích với Mpeg-1.
- Chế độ full-screen kết hợp với cải tiến chất lượng video (cho TV và màn
hình PC).
- Cải tiến mã hóa Audio.
- Truyền phối hợp nhiều thành phần.

9
Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 10

Mpeg-2 được dùng để mã hóa hình ảnh động và âm thanh để tạo ra ba kiểu khung
số liệu ( intra frame, forward predictive frame và bidirectional pridicted frame) có thể
được sắp xếp theo một trật tự cụ thể gọi là cấu trúc nhóm các hình ảnh (group of
pictures, GOP).

I.3. Chuẩn nén MPEG-4


Chuẩn Mpeg-4 thành công hơn so với chuẩn Mpeg-2. Mpeg-4 đưa ra một hệ thống
hoàn chỉnh với các đặc điểm hỗ trợ các định dạng dữ liệu. Chuẩn Mpeg-4 là một
chuẩn động dễ thay đổi. Với Mpeg-4, các đối tượng khác nhau trong một khung hình
có thể được mô tả, mã hóa và truyền đi một cách riêng biệt đến bộ giải mã trong các
dòng cơ bản ES (Elementary Stream) khác nhau. Việc xác định, tách và xử lý riêng
các đối tượng ( như nhạc, đồ vật, đối tượng ảnh như con người hay động vật…) giúp
cho người sử dụng có thể loại bỏ riêng từng đối tượng ra khỏi khung hình. Sự tổ hợp
khung hình chỉ được thực hiện sau khi giải mã các đối tượng này.

I.4. Chuẩn nén MPEG4 part 10


Các ứng dụng trên mạng Internet hiện nay gặp vấn đề khó khăn về sự hạn chế của
băng thông, nghẽn mạng và sự đa dạng các thiết bị hiển thị của người dùng. Với tốc độ
mã hóa dữ liệu khoản 1.5Mb/s chuẩn nén Mpeg-4 part 10 ( hay còn gọi H.264) đã giải
quyết một phần việc tắc nghẽn mạng và sự hạn chế của băng thông. Mục tiêu chính
của chuẩn này nhằm cung cấp video có chất lượng tốt hơn nhiều so với những chuẩn
nén video trước đây.
Mốt số tính năng quan trọng của chuẩn này:
- Phân chia mỗi hình ảnh thành các block bao gồm nhiều điểm ảnh, do vậy
quá trình xử lý từng ảnh có thể được tiếp cận tới mức block.
- Khai thác triệt để sự dư thừa về mặt không tồn tại giữa các ảnh liên tiếp bởi
một vài mã của những block gốc thông qua dự đoán về không gian, phép biến đổi…
- Khai thác sự phụ thuộc tạm thời của các block của hình ảnh liên tiếp, do đó
chỉ cần mã hóa những chi tiết thay đổi ảnh liên tiếp. Việc này được thực hiện thông
qua dự đoán và bù chuyển động.
- Khai thác tất cả sự dư thừa về không gian còn lại trong ảnh bằng việc giải
mã các block dư thừa.
Mpeg-4 part 10 hay còn gọi H.264 thường làm việc tốt hơn nhiều so với Mpeg-2.
H.264 cung cấp các profile sau:
- Baseline Profile: Được ứng dụng cho thời gian thực như các dịch vụ đàm
thoại và hội nghị truyền hình.

PHAN THANH HẢI, LỚP 06T4 10


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 11

- Main Profile: Được thiết kế cho các thiết bị lưu trữ số và truyền hình quảng
bá.
- Extend Profile: Có khả năng nén khá cao. Ứng dụng cho các dịch vụ đa
phương tiện trên internet.
- High Profile: Dùng cho các ứng dụng quảng bá và các ứng dụng truyền hình
yêu cầu độ nét cao.

II. Các giao thức mạng sử dụng trong IPTV


Các kiểu lưu lượng mạng IP thời gian thực khác nhau được tạo ra bởi các loại dịch
vụ trên nền IP khác nhau như VOIP hay truy cập internet tốc độ cao. Với mỗi loại dịch
vụ có những đặc điểm riêng về nội dung, vì thế cần phải có những phương thức phân
phối thích hợp. Hiện nay có ba phương thức dùng để phân phối nội dung IPTV qua
mạng IP là unicast, multicast và broadcast.

II.1. Unicast
Truyền dẫn Unicast, hay còn gọi là truyền dẫn điểm- điểm. Trong hình thức truyền
dẫn này, nhiều host muốn nhận thông tin từ một bên gửi thì bên gửi đó phải truyền
nhiều gói tin đến các bên nhận. Điều này sẽ dẫn đến gia tăng băng thông khi có quá
nhiều bên nhận.

Hình 5.Các kết nối nhiều unicast cho nhiều user IPTV

PHAN THANH HẢI, LỚP 06T4 11


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 12

II.2. Broadcast
Kiểu truyền dẫn này cho phép truyền goistin từ một địa điểm đến tất cả các host
trên một mạng con mà không quan tâm đến việc host đó có nhu cầu nhận hay không.
Kiểu truyền này gây lãng phí băng thông và không hiệu quả.

Hình 6. Truyền theo kiểu Broadcast

II.3. Multicast
Một địa chỉ Multicast cho phép phân phối dữ liệu tới một tập hợp các host đã được
cấu hình như những thành viên của một nhóm multicast trong các mạng con phân tán
khác nhau. Đây là phương pháp truyền dẫn đa điểm, trong đó các host có nhu cầu nhận
dữ liệu mới tham gia vào nhóm. Điều này hạn chế tối đa sự lãng phí băng thông trên
mạng.

PHAN THANH HẢI, LỚP 06T4 12


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 13

Hình 7. Các kết nối được sử dụng trong multicast

II.3.1. Giao thức IGMP


Giao thức IGMP (Internet Group Management Protocol) phát triển từ giao thức
Host Membership Protocolm được mô tả trong tài liệu của Deering. IGMP phát triển
từ IGMPv1 đến IGMPv2 và phát triển đến bản cuối cùng IGMPv3. 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(time to live) có giá trị bằng 1. 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 có một máy muốn rời nhóm multicast. Các router
thuwognf 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 nào đó có thể nhận bất kỳ một multicast trafic 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 biết nhóm nào đang tồn tại và làm thế nào để
tham gia 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 để đăng nhập và xác thực, nếu

PHAN THANH HẢI, LỚP 06T4 13


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 14

người dùng đó được xác thực thì ứng dụng multicast đó sẽ tự động cài lên pc của
người dùng. Có nghĩa là người dùng đã tham gia vào một nhóm multicast.
- IGMP v1: Để tham gia vào một nhóm multicast, một host sẽ gửi thông điệp
đăng ký nhóm đến router cục bộ của nó. Thông điệp này có tên Membership Report
IGMP chứa địa chỉ multicast, thông báo cho router về địa chỉ multicast mà host muốn
tham gia vào. Cứ 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 lưu lượng multicast
nữa không. Router này gọi là IGMPv1 Querier và chức năng của nó là mời các host
tham gia vào nhóm. 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 đó.
- IGMPv2: Phiên bản IGMPv2 giới thiệu một vài 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 nhóm. Khi một host quyết định rời khỏi nhóm thì nó sẽ gửi thông điệp
LeaveGroup.
- IGMPv3 : Phiên bản này giới thiệu bổ sung bản tin Group-Source Report
cho phép một host có thể quyết định nhận lưu lượng từ các nguồn riêng biệt của một
nhóm multicast. Một bản tin Group-Source Report cho phép một host chỉ ra địa chỉ IP
của các nguồn riêng biệt mà nó muốn nhận. Một bản tin Exclusion Gourp-Source
Report cho phép host nhận dạng chính xác các nguồn mà nó không muốn nhận. Cuối
cùng bản tin Leave Group của IGMPv2 được nâng cao thành bản tin Group-Source
Leave. Đặc điểm này cho phép một host rời khỏi toàn bộ nhóm hay chỉ ra các ip riêng
biệt mà nó muốn rời khỏi.

II.3.2. Giao thức PIM


Các router multicast sử dụng PIM (Protocol Independent Multicast) để xác định
các router Multicast khác cần nhận được gói multicast. PIM có hai phương thức làm
việc đồng thời thích hợp: Kiểu Dense (tập trung) và Sparse (phân tán). Hỗ trợ Pim
hiện có trong một số sản phẩm router. Mục đích của việc nỗ lực phát triển PIM là mở
rộng định tuyến liên miền qua Internet. Định tuyến dựa vào giao thức PIM độc lập với
các cơ chế của các giao thức định tuyến Unicast. Bất kỳ sự triển khai nào hỗ trợ PIM
đều yêu cầu sự có mặt của một giao thức định tuyến unicast để cung cấp thông tin
bảng định tuyến và để làm thích nghi với những thay đổi về cấu hình.
Cả PIM-DM và PIM- SM sử dụng chuyển tiếp đường dẫn đảo ngược. Một router
nhận một gói multicast dựa vào bảng định tuyến unicast của nó để tìm nguồn và đường
dẫn tốt nhất tới nguồn.
- PIM-Dense Mode:

PHAN THANH HẢI, LỚP 06T4 14


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 15

Giao thức PIM-DM thường được sử dụng khi mà lưu lượng luồng multicast là rất
lớn. PIM-DM luôn có một cổng trong trạng tháu prune trong khoản ba phút. Các thông
điệp prune liệt kê một nguồn và nhóm. Các PIM router có thể được cấu hình theo kiểu
Dense Mode (kiểu phân tán) nếu các host tham gia vào nhóm multicast nằm ở khắp
nơi trên các subnet. Địa chỉ Multicast nguồn trở thành gốc của cây và cây multicast
được xây dựng từ nguồn đến đích. Cơ chế này còn được gọi bằng ký hiệu (S, G) trong
đó đường đi từ nguồn đếnc ác thành viên trong nhóm là duy nhất.
Giao thức PIM-DM nhận biết các thiết bị láng giềng bằng cách trao đổi các gói
“hello”. Thông tin láng giềng này được dùng trước để xây dựng cây đến tất cả các láng
giềng. Sau đó, các nhánh của cây sẽ lần lượt bị loại bỏ. Nếu một dòng multicast bắt
đầu, cây sẽ được xây dựng, cây sẽ chỉ tồn tại khi các thành viên tích cự còn tồn tại.
Nếu một host mới đăng kí tham gia nhóm, nhánh của phân đoạn đó sẽ được đính thêm
vào cây.
- PIM- Spare Mode:
Giao thức PIM-DM hữu dụng khi các ứng dụng multicast dày đặc và bạn cần phân
phối đến hầu 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ế độ desen sẽ phát tán lưu lượng toàn mạng gây lãng phí băng thông
và tài nguyên. Trong những trường hợp này, PIM-SM có thể được dùng để giảm lãng
phí tài nguyên mạng. Các giao thức chế độ SM không truyền lưu lượng của nhóm tới
bất kỳ router nào trừ khi 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.
PIM-SM hoạt động với một chiến lược khác hẳn với PIM-DM mặc dù cơ chế của
giao thức không hoàn toàn đối lập. PIM-SM giả sử rằng không có máy nào muốn nhận
lưu lượng multicast cho đến khi nào các máy chủ động hỏi. Kết quả là, cho đến khi
nào trong một subnet có một máy yêu cầu nhận multicast thì multicast mới được phân
phối vào subnet đó. Với PIM-SM, các router downstream phải yêu cầu nhận multicast
dùng thông điệp PIM Join. Khi các router nhận được thông điệp này, các router bên
dưới phải định kỳ gửi thông điệp Join lên router upstream. Nếu khác đi, router
upstream sẽ không đưa lưu lượng xuống, đặt kết nối vào trạng thái prune. Tiến trình
này thì ngược lại với tiến trình được dùng trong PIM-DM, trong đó mặc định là phát
tán lưu lượng multicast với các router downstream cần phải liên tục gửi thông điệp
prune hay thông điệp làm mới trạng thái để giữ một kết nối là trong trạng thái prune.

II.3.3. Chuyển tiếp lưu lượng multicast


Có một vài phương pháp để chuyển tiếp lưu lượng multicast từ các nguồn đến các
host thu. Đầu tiên người ta sắp xếp một nhóm bao gồm các host thu với một địa chỉ
lớp D chung để đạt được sự phân phối lưu lượng Multicast hiệu quả. Bước tiếp theo
tạo ra một tập hợp các đường phân phối multicast cho các router sử dụng. Các giao

PHAN THANH HẢI, LỚP 06T4 15


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 16

thức xây dựng trong các router giúp xây dựng cây phân phối Multicast để chuyển tiếp
các gói. Giao thức chuyển tiếp multicast chủ yếu sử dụng một trong hai kỹ thuật sau:
- Cây nguồn (Source Tree): Dạng đơn giản nhất của cây phân phối Multicast
là cây nguồn có gốc là nguồn multicast và các nhánh của nó có dạng cây mở rộng theo
mạng đến các điểm thu. Nó là một cây đường ngắn nhất (SPT).

Hình 8. Ví dụ về cây nguồn.


Hình trên là một ví dụ về một SPT cho nhóm 224.1.1.1 có gốc đặt tại nguồn, host
A là nguồn, host B và host C là các máy thu. Ký hiệu (S,G) cho một SPT trong đó S là
địa chỉ nguồn, G là địa chỉ nhóm multicast. Trong hình trên SPT có ký hiệu là
(192.168.1.1, 224.1.1.1).
- Cây chia sẻ (Shared- tree)
Phương pháp chuyển tiếp cây chia sẻ có nhiều ưu thế nhất trong phân phối
multicast. Phương phấp chuyển tiếp này là một sự lựa chọn tốt hơn so với phương
pháp cây chuung gốc khi môi trường multicast bao gồm các nhóm multicast phân bố
rãi rác với những kết nối bậc thấp.

PHAN THANH HẢI, LỚP 06T4 16


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 17

Hình 9. Ví dụ về cây chia sẻ


Phương pháp cây chia sẻ sử dụng một router trung tâm, đôi khi được coi như một
router lõi. Các host nguồn multicast gửi các gói multicast của chúng tới router lõi này,
và lần lượt chuyển tiếp các gói này qua cây chia sẻ đến các thành viên của nhóm. Một
cây chia sẻ sử dụng một cây đơn giữa các nguồn và các thành viên nhóm.
Trên đây là một ví dụ về cây chia sẻ cho nhóm 224.2.2.2 với gốc đặt tại router D.
Khi sử dụng cây chia sẻ này, các nguồn phải gửi lưu lượng của chúng đến gốc và sau
đó lưu lượng được chuyển tiếp xuống cây chia sẻ đến tất cả các máy thu. Trong ví dụ
trên, lưu lượng từ các host nguồn A và D chuyển đến gốc (router D) và sau đó được
chuyển xuống 2 điểm nhận theo cây chia sẻ là router B và router C. Do tất cả các
nguồn multicast đều sử dụng cây chia sẻ nên kí hiệu wild-card (*, G) được sử dụng đại
diện cho cây.
Các thành viên của các nhóm multicast có thể gia nhập hoặc rời nhóm bất cứ thời
điểm nào do đó cây phân phối multicast phải luôn cập nhật một cách linh hoạt. Khi tất
cả các host của một nhánh multicast nào đó ngừng yêu cầu nhận lưu lượng đối với
nhóm multicast nào đó, các router phải xóa nhánh đó ra khỏi cây phân phối multicast
và ngừng chuyển lưu lượng xuống nhánh đó.
Các SPT có ưu điểm trong việc tạo ra đường dẫn tối ưu nguồn và các máy thu.
Điều này đảm bảo trễ chuyển tiếp lưu lượng multicast thấp nhất cho mạng. Các cây
chia sẻ có ưu điểm trong việc hạn chế số trạng thái của mỗi router. Do đó bộ nhớ yêu
cầu cho toàn mạng khi sử dụng cây chia sẻ cũng ít hơn. Tuy nhiên, hạn chế của cây
chia sẻ là đường dẫn giữa nguồn và máy thu không phải là đường dẫn tối ưu và do đó
có thể tạo ra trễ trong phân phối các gói.

PHAN THANH HẢI, LỚP 06T4 17


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 18

III. Chất lượng dịch vụ (QoS)


III.1. Giới thiệu về chất lượng dịch vụ
Cung cấp chất lượng dịch vụ trên mạng IP cho phép đảm bảo chất lượng của các
ứng dụng thời gian thực như VOIP, Video Streaming và hạn chế nghẽn mạng. Để giải
quyết vấn đề trên, có hai giải pháp.
- Thứ nhất là nâng cấp tài nguyên mạng, nhưng tốn kém và chỉ đáp ứng được
đến một giới hạn nào đó.
- Thứ hai, bổ sung cơ chế quản lý, phân phối tài nguyên mạng để đảm bảo
chất lượng dịch vụ (QoS). IETF và IEEE đã đưa ra nhiều chuẩn về lĩnh vực này. Một
số nhà cung cấp thiết bị mạng như Cisco, Nortel, Extreme,.. đã hỗ trợ chất lượng dịch
vụ trong các bộ định tuyến.

III.2. Cung cấp chất lượng dịch vụ trên mạng IP


Cung cấp chất lượng dịch vụ thực chất là cung cấp các dịch vụ chuyển tiếp khác
nhau cho các lưu lượng mạng khác nhau. Trên mạng IP hiện nay, về cơ bản có hai loại
lưu lượng là lưu lượng thời gian thực và lưu lượng dữ liệu. Hai loại lưu lượng này có
đặc trưng khác nhau do đó chúng có yêu cầu khác nhau. Lưu lượng thời gian thực tạo
ra bởi các ứng dụng thời gian thực như video, voice,… yêu cầu độ trễ nhỏ, nhạy cảm
với sự biến thiên đỗ trễ và cần được đảm bảo một lượng băng thông tối thiểu. Khi độ
trễ lớn, biến thiên độ trễ không ổn định hoặc băng thông dưới mức tối thiểu sẽ gây ảnh
hưởng lớn đến chất lượng của ứng dụng. Trong khi đó ứng dụng lưu lượng dữ liệu
không yêu cầu cao về độ trễ, miễn là truyền đủ và chính xác nội dung dữ liệu. Với
mạng IP này, chúng ta cần phải áp dụng các kỹ thuật xử lý lưu lượng nhằm phân loại
lưu lượng và áp dụng các chính sách ưu tiên khác nhau nhằm đảm bảo băng thông cho
các loại lưu lượng.
Để đánh giá chất lượng dịch vụ của mạng IP người ta dựa vào các tham số sau
- Tỷ lệ mất gói: Tham số này cho biết tỷ lệ phần trăm số gói IP bị mất trên
tổng số toàn bộ gói IP đầu tiên gửi đã chuyển vào mạng cho phía đầu nhận.
- Độ trễ gói: Tham số này cho biết khoản thời gian gói IP được chuyển từ đầu
gửi đến đầu nhận.
- Độ biến thiên trễ (Jitter): Tham số này cho biết sự dao động về độ lớn của
độ trễ gói.
- Khả năng đáp ứng của dịch vụ: Tham số này cho biết xác suất sử dụng
thành công dịch vụ.
Cài đặt chất lượng dịch vụ trên mạng có thể chia thành ba hoạt động sau:

PHAN THANH HẢI, LỚP 06T4 18


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 19

- Phân loại gói tin (Classification).


- Hàng đợi gói tin (Queuing).
- Lập lịch trình gói tin (Queuing và scheduling).

III.3. Các mô hình QoS


Ba cấp bậc cơ bản để thực thi QoS trong mạng, có thể được áp dụng cho một hệ
thống mạng hỗn hợp.
- Mạng đòi hỏi khả năng tối đa của dịch vụ (Best-effort).
- Mạng đòi hỏi các dịch vụ với khả năng khác nhau (Diff-Serv).
- Các dịch vụ được đảm bảo (Int-Serv).
Các yếu tố để quyết định loại dịch vụ nào thích hợp để thực thi trong mạng:
- Dựa vào các ứng dụng hay các vấn đề cần được giải quyết của khách
hàng. Mỗi một trong ba dạng áp dụng cho các dịch vụ trên đều liên quan đến các dịch
vụ cụ thể. Điều này không thật sự hợp lý khi trong thực tế khách hàng có những yêu
cầu rất phức tạp đồng thời phải đảm bảo các dịch vụ cho họ. Các mạng tối ưu hóa các
khả năng của dịch vụ hay mạng đòi hỏi khả năng khác nhau của các dịch vụ có thể áp
dụng trong trường hợp này.
- Nếu tốc độ chính là vấn đề cần được nâng cấp cho hệ thống của khách
hàng, có một cách rất đơn giản để nâng cấp là áp dụng mô hình mạng với các dịch vụ
chất lượng tùy thuộc vào yêu cầu của khách hàng thay vì mô hình mạng chỉ nhằm đảm
bảo cho các dịch vụ luôn luôn chạy tốt nhưng tốc độ và khả năng tương đương nhau.
- Chi phí để áp dụng cho mô hình đảm bảo tất cả các dịch vụ thì cao hơn
là mô hình chỉ chú trọng vào các dịch vụ trọng yếu.

Hình 10. Sơ đồ áp dụng 3 mô hình QoS.

PHAN THANH HẢI, LỚP 06T4 19


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 20

Trong thực tế người ta chỉ áp dụng hai mô hình là Int-Serv và Diff-Serv.

III.3.1. Best-effort delivery


Một network chỉ đơn thuần chuyển tiếp những packets mà nó nhận được. Switch
và router chỉ cố gắng (best-effort) để chuyển tiếp các packet mà không quan tâm đến
kiểu của traffic hay độ ưu tiên của dịch vụ.

III.3.2. Intergrated Service Model


Sắp xếp đường đi trước từ nguồn đến đích cho các dữ liệu được ưu tiên. Mỗi thiết
bị mạng trên đường đi phải kiểm tra xem nó có thể hỗ trợ cho yêu cầu trên hay không.
Khi yêu cầu tối thiểu được đáp ứng, ứng dụng nguồn sẽ được thông báo xác nhận. Sau
đó, ứng dụng có thể sử dụng đường truyền.
Nguyên lý cơ bản của mô hình nay là dành riêng tài nguyên mạng (băng thông, độ
trễ) cho từng luồng thông tin xuyên suốt từ nguồn đến đích. Tài nguyên này được
chiếm dụng và không được tận dụng cho bất kỳ luồng thông tin nào. Nếu tài nguyên bị
chiếm dụng mà không dùng thì hiện tượng lãng phí tài nguyên sẽ xảy ra.

Hình 11. Mô hình tổng quan Intergrated Service.


Một đặc điểm nữa là mô hình Int-Serv đảm bảo chất lượng dịch vụ theo luồng
(flow). Một luồng được xác định bởi các tham số: địa chỉ IP nguồn, IP đích, Port
nguồn, Port đích… Mô hình Int-Serv thường sử dụng giao thức RSVP (Resource
Reservation Protocol) để báo hiệu. Đây là giao thức điều khiển Internet được thiết kế
để cài đặt chất lượng dịch vụ trên mạng IP. Nhưng nó không nhất thiết phải sử dụng
mô hình Int-Serv.
Hạn chế của mô hình này với hệ thống mạng có số lượng flow lớn, mặc dù Int-Serv
là mô hình đảm bảo chất lượng dịch vụ tuyệt đối từ đầu đến cuối nhưng nó không linh

PHAN THANH HẢI, LỚP 06T4 20


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 21

hoạt và khả năng mở rộng thấp nên không được lựa chọn để thực hiện QoS trong
mạng có quy mô lớn. Vì vậy mô hình Int-Serv chỉ thích hợp cho những mạng nhỏ với
ít luồng lưu lượng.

III.3.3. Differentiated Service Model


Mô hình Diff-Serv được thiết kế để khắc phục những hạn chế của mô hình Int-
Serv. Mô hình Diff-Serv có khả năng linh hoạt cao và khả năng mở rộng lớn. Thay vì
thực hiện chất lượng dịch vụ xuyên suốt và thống nhất trên cả đường truyền như mô
hình Int-Serv, mô hình Diff-Serv thực hiện chất lượng dịch vụ riêng lẻ trên từng
router. Với cách thực hiện như vậy mô hình Diff-Serv không cần phải tiến hành báo
hiệu theo từng luồng nên tiết kiệm băng thông và có khả năng mở rộng lớn, phù hợp
trong mô hình hệ thống mạng lớn.
Nguyên lý hoạt động của Diff-Serv như sau: Đầu tiên các gói tin được phân loại ra
thành nhiều nhóm ưu tiên từ thấp đến cao tùy theo đặc điểm của từng dịch vụ, thiết bị
sẽ tiến hành cung cấp tài nguyên theo từng nhóm. Nhóm nào có thứ tự cao hơn thì sẽ
được cung cấp quyền được sử dụng tài nguyên ưu tiên hơn. Tất cả các quá trình này sẽ
được thực hiện riêng lẻ trên từng thiết bị.

Hình 12. Mô hình tổng quát cơ chế Diff-Serv.


Giải pháp QoS theo mô hình Diff-Serv được thực hiện qua những bước sau:
- Quản lý tắc nghẽn: Cơ chế quản lý tắc nghẽn được thực hiện trên các
giao diện của thiết bị mạng. Khi gói tin đến các giao diện này, các gói tin sẽ được phân
chia theo từng hàng đợi có mức độ ưu tiên khác nhau.
- Tránh tắc nghẽn: Cơ chế loại bỏ gói tin trước khi nó có thể gây ra hiện
tượng tắc nghẽn.

PHAN THANH HẢI, LỚP 06T4 21


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 22

- Đặt ngưỡng: Cơ chế đặt ngưỡng trên, ngưỡng dưới cho băng thông, cụ
thể là băng thông sẽ được đảm bảo một ngưỡng dưới tối thiểu và khi lớn hơn ngưỡng
trên thì gói tin có thể bị loại bỏ hoặc đưa vào hàng đợi.
- Nén Header: Header chiếm phần lớn trong 1 gói tin nhưng không mang
thông tin thực sự, cơ chế nén header giúp tiết kiệm băng thông.
- Phân mảnh: Các gói tin dữ liệu thường có độ dài lớn, điều này sẽ gây trễ
và tắc nghẽn. Cơ chế phân mảnh sẽ phân các gói tin này thành các gói tin nhỏ hơn để
tránh tắc nghẽn.

III.4. Phân loại và đánh dấu


QoS có khả năng cung cấp các mức xử lý khác nhau hướng đến các lớp lưu lượng
riêng. Trước khi các ứng dụng hay các kỹ thuật QoS được áp dụng, lưu lượng phải
được nhận biết và sắp xếp vào trong các lớp khác nhau. Những lớp khác nhau này của
lưu lượng được gọi là các lớp dịch vụ trong thuật ngữ QoS.
Công cụ phân loại và đánh dấu không chỉ phân loại packet vào các lớp dịch vụ mà
còn đánh dấu chúng trong cùng một lớp với cùng giá trị trong trường header.
Các IP header, Lan trunking header, Frame Relay đều có ít nhất một trường có thể
được dùng cho tiến trình đánh dấu QoS. Điều này giúp cho các công cụ QoS khác
phân loại các gói tin đó bằng cách phân tích các bit được đánh dấu sẽ dễ dàng hơn.

III.5. Sự phân loại – Classification


Phân loại gói tin là một phần quan trọng trong các chức năng của QoS giúp cho
việc nhận biết và phân biệt các luồng thông tin khác nhau trên mạng. Phân loại được
thực hiện để nhận dạng lưu lượng và phân chia lưu lượng thành các lớp khác nhau. Để
phân loại gói, ta dùng bộ mô tả lưu lượng để phân chia các gói trong phạm vi các
nhóm riêng biệt để định nghĩa các gói đó. Một số bộ mô tả đặc trưng dùng để phân
loại gói bao gồm: bộ giao tiếp ngõ vào, độ ưu tiên IP (IP Precedence), DSCP, địa chỉ
nguồn hay địa chỉ đích và các ứng dụng. Sau khi các gói đã được định danh, chúng có
khả năng tiến hành các chức năng QoS trên mạng.
Hầu hết các công cụ phân loại và đánh dấu đều hoạt động trên các gói tin vào hoặc
ra khỏi interface nào đó. Về logic nó giống như một Access List nhưng hoạt động
chính là đánh dấu cho phép hay loại bỏ gói tin. Chúng hoạt động theo phương thức
sau:
- Với mỗi gói tin vào một interface, nếu nó hợp với tiêu chuẩn 1, đánh dấu
một field với một giá trị.
- Nếu gói tin không phù hợp, so sánh tiếp với tiêu chuẩn 2 sau đó đánh dấu
field khác với một giá trị khác.

PHAN THANH HẢI, LỚP 06T4 22


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 23

- Tiếp tục so sánh các gói cho tới khi chúng phù hợp với tiêu chuẩn.
Nếu gói tin đó không phù hợp với tiêu chuẩn nào, không có một xử lý cụ thể cho
gói tin đó và nó sẽ được chuyển đi như không có tác động của QoS.

III.5.1. Class-Based Marking


Class-Based Marking có thể phân loại gói tin vào trong các lớp dịch vụ bằng cách
phân tích các frame, cell( dùng cho ATM), packet và segment (các bit có TCP hay
UDP header nhưng không có datalink hay network header). CB Marking cũng có thể
dùng ACL(Access Control List) để đánh dấu packet, với packet được cho phép từ
ACL.
Trường Ý nghĩa

Địa chỉ IP nguồn Một chuỗi các địa chỉ nguồn có thể được dùng match dùng
wildcard mark.

Địa chỉ IP đích Một dải các địa chỉ đích có thể match dùng wildcard mark.

IP Precedence Các giá trị của IP Precedence được định mức ưu tiên cho
traffic.

IP DSCB Dùng DSCB theo giá trị thập phân.

IP ToS Có thể kiểm tra bit ToS có bật lên hay không.

Cổng TCP Có thể kiểm tra các cổng nguồn hay đích hay một dãy các cổng
xem số hiệu của cổng có lớn hơn hay nhỏ hơn một số xác định
không.
Thiết lập TCP Mặc dù không hoàn toàn hữu dụng như QoS, ACL vẫn có thể
match hết tất cả các TCP Segment sau khi khởi gán segment
dành cho việc kết nối.
UDP Có thể kiểm tra cổng nguồn và đích, hay một dãy có các coognr
xem số hiệu của cổng có lớn hơn hay nhỏ hơn một số xác định
không.
ICMP Kiểm tra một lượng lớn các thông điệp ICMP khác nhau và loại
code.

PHAN THANH HẢI, LỚP 06T4 23


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 24

IGMP Kiểm tra các thông điệp Internet Group Management Protocol.

Bảng 1. Các trường có thể so trùng trong ACL mở rộng.


Mặc dù IP Precedence và DSCP có thể được so trùng với ACL, nó có thể được đối
chiếu trực tiếp với CB Marking mà không cần dùng ACL.

III.5.2. Phân loại với NBAR (Network-Based Application Recognition)


CB Marking có thể cấu hình để tìm kiếm nhiều trường trong hai bảng trên để phân
loại gói tin trực tiếp. Tuy nhiên nó cũng có thể dùng NBAR để phân loại packet.
NBAR cung cấp cho router khả năng phân loại gói tin đặc biệt là các gói tin khó nhận
dạng.

III.5.3. Đánh dấu – Marking


Hoạt động đánh dấu cho phép các thiết bị mạng phân loại gói hay khung dựa vào
bộ mô tả lưu lượng đặc trưng. Một số bộ mô tả lưu lượng được sử dụng để đánh dấu
như : Lớp dịch vụ (Class of service), DSCP (Diff-Serv Code Point), độ ưu tiên IP (IP
Precedence).
Đánh dấu bao gồm việc sắp đặt một vài bit bên trong một lớp data-link hay
network header với mục đích giúp cho các công cụ QoS của thiết bị khác có thể phân
loại dựa trên các giá trị được đánh dấu. Một vài field được sử dụng nhiều, những field
khác thì không.

III.6. IP header QoS – Precedence và DSCP


Precedence và DSCP là hai trường được sử dụng nhiều nhất để đánh dấu. Các công
cụ QoS sử dụng chúng bởi vì header của gói tin IP tồn tại ở trên mạng. Đế thiết lập giá
trị DSCP và xem xét mối quan hệ giữa DSCP và IP Precedence, ta cần phải biết các
trường trong IP header.
- DSCP
Trong mỗi gói IP có chứa một byte gọi là ToS (Type of Service). Sáu bit có ý
nghĩa trong trường DiffServ được biết như là trường phân biệt dịch vụ và được đánh
dấu bởi một mẫu bit đặc biệt gọi là DSCP dùng để chỉ ra cách thức mỗi bộ định tuyến
cần xử lý gói. Giá trị IP Precedence có thể được ánh xạ đến trường DSCP.

Bảng 2. Thể loại dịch vụ (ToS).

PHAN THANH HẢI, LỚP 06T4 24


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 25

P2 đến P0 là thứ tự IP, 2 bit tiếp theo là Delay, Bandwidth, Reality .CU1 và CU2
hiện tại không sử dụng.
- DiffServ Fields
Trường DiffServ chuẩn của gói packet thì đánh dấu với một giá trị cũng như người
nhận một xử lý chuyển tiếp tại mỗi nút mạng.

Bảng 3. Trường DiffServ.


Mặc định DSCP là 000000. Người lựa chọn class DSCP phải chú ý điểm này cho
tương thích với thứ tự IP. Khi thay đổi giữa thứ tự IP và DSCP, quan trọng phải so
khớp với 3 bit đầu.
Ví dụ: IP Pre 6(110) ánh xạ cho IP DSCP 110000
ToS byte
1 1 0 T2 T1 T0 CU1 CU0

1 1 0 0 0 0 ECN ECN
DiffServ Fileds
Sử dụng chuẩn DiffServ tương tự như thứ tự các bit ( các bit quan trọng DS5, DS4,
DS3) để thiết lập ưu tiên.
Mức thự tự Mô tả

7 Lớp liên kết và duy trì Routing Protocol.

6 Sử dụng cho IP Routing Protocol.

5 Express Forwarding (EF).

4 Class4

3 Class 3

2 Class 2

PHAN THANH HẢI, LỚP 06T4 25


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 26

1 Class 1

0 Best-effort

Bảng 4. Xác định các mức thứ tự trong DiffServ.

III.7. Chuyển tiếp đảm bảo (Assured Forwarding)


Chuyển tiếp đảm bảo AF và mô tả nó như một tiềm năng cho một nhà cung cấp
vùng DS theo những cấp độ khác nhau của chuyển tiếp đảm bảo dành cho những
packet IP nhận từ một client vùng DS.
Có 4 class chuyển tiếp đảm bảo, từ AF1x đến AF4x. Bảng sau đây sẽ cung cấp
DSCP để chỉ định class AF với khả năng của từng class. Bit DS5, DS4 và DS3 xác
định class; bit DS2 và DS1 chỉ định khả năng drop. Bit DS0 thì luôn luôn 0.

Bảng 5. Xác định cấp DSCP để chỉ định class AF.

III.8. Các công cụ phân loại và đánh dấu.


III.8.1. Cấu hình theo Class-Based Marking
Để cấu hình theo CB Marking, thực hiện theo các bước sau:

PHAN THANH HẢI, LỚP 06T4 26


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 27

- Phân loại gói tin vào trong các lớp dịch vụ bằng lệnh match bên trong class-
map.
- Đánh dấu các gói tin trong mỗi lớp dịch vụ dùng lệnh set trong policy-map.
- Kích hoạt CB- Marking đã định nghĩa trong policy-map bằng lệnh service-
policy trên mỗi interface.
Lệnh Chức năng

Match[ip] precedence precedence-value So trùng precedence trong gói tin khi


tham số Ip được thêm vào.
Match access-group So trùng một access control list

Match any So trùng tất cả các gói tin

Match class map class-map-name So trùng theo một class-map khác

Match cos cos-value So trùng một giá trị cos

Match destination-address mac-address So trùng địa chỉ Mac đích

Match input-interface So trùng một interface vào

Match ip dscp ip-dscp-value So trùng DSCP

Bảng 6. Một vài lệnh match trong CB-marking

III.8.2. Network-Based Application Recognition


Ngoài CB-Marking thì chúng ta có thể dùng NBAR để phân loại traffic. Sự kết nối
giữa NBAR và CB-Marking hay các công cụ khác đều dựa trên lệnh match protocol.

PHAN THANH HẢI, LỚP 06T4 27


CHƯƠNG III

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

I. Phân tích trang web mô phỏng người sử dụng dịch vụ


IPTV
I.1. Phân tích các yêu cầu
I.1.1. Yêu cầu trang web
Mô phỏng các chức năng của dịch vụ IPTV.
- Xem video.
- Tìm kiếm video.
- Đăng nhập.

I.1.2. Yêu cầu người dùng


Xem thông tin cá nhân.
- Họ tên.
- Địa chỉ
- Cước phí sử dụng.

I.1.3. Yêu cầu quản lý


- Quản lý cơ sở dữ liệu với các chức năng cơ bản như thêm, sửa, xóa.

I.2. Thiết kế cơ sở dữ liệu


I.2.1. Các bảng cơ sở dữ liệu
- Bảng khách hàng

- Bảng thể loại

28
Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 29

- Bảng phim

- Bảng tính tiền

I.2.2. Quan hệ giữa các bảng

PHAN THANH HẢI, LỚP 06T4 29


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 30

II. Giới thiệu ngôn ngữ Cakephp


II.1. Giới thiệu
Cakephp là một nền tảng phát triển ứng dụng nhanh, mã nguồn mở miễn phí sử
dụng ngôn ngữ lập trình php. Cấu trúc của nó được tạo ra để lập trình viên tạo các ứng
dụng web.

II.1.1. Tính năng của cakephp


- Cộng đồng năng động, thân thiện.
- Việc cấp phép uyển chuyển.
- Tương thích với PHP4 và PHP 5.
- Tích hợp sẵn CRUD (khi làm việc với database).
- Tự động sinh mã.
- Kiến trúc MVC
- Cho phép tạo ra các URL rõ ràng, dễ hiểu.
- Cung cấp khả năng bắt lỗi.
- Cho phép tạo ra các bản mẫu (templation) nhanh chóng.

II.1.2. Mô hình MVC trong cakephp

Cakephp tuân theo mô hình thiết kế phần mềm chuẩn MVC. MVC chia chương
trình thành 3 phần riêng biệt.
- Model: Mô tả dữ liệu của ứng dụng.
- View: Hiển thị dữ liệu của model.
- Controller: Xử lý và điều hướng các yêu cầu của client.

Hình 13. Mô hình MVC trong cakephp

PHAN THANH HẢI, LỚP 06T4 30


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 31

II.2. Cài đặt và cấu hình


Download bộ cài đặt tại địa chỉ
http://github.com/cakephp/cakephp/archives/1.2
Để có thể kết nối với database, ta phải cấu hình lại file database.php trong thư mục
app/config như sau:
var $default = array(
'driver' => 'mysql',
'persistent' => 'false',
'host' => 'localhost',
'port' => '',
'login' => 'account',
'password' => 'password',
'database' => 'tên database,
'schema' => '',
Như vậy cakephp đã được cấu hình thành công và có thể kết nối với cơ sở dữ liệu.

II.3. Cấu trúc thư mục của cakephp


Sau khi download và giải nén cakephp, chúng ta cần lưu ý đến 3 thư mục chính:
- Thư mục app là nơi chúng ta làm việc. Tại đây lưu các file ứng dụng do
chúng ta viết.
- Thư mục cake là nơi chúng ta thay đổi các file core của cakephp. Bạn phải
cẩn thận khi thay đổi các file này.
- Thư mục vendors là nơi bạn cài các thư viện php của nhà cung cấp thứ 3
cần sử dụng với ứng dụng cakephp của bạn.
Thư mục App của cakephp là nơi chúng ta phát triển ứng dụng. Bao gồm các thư
mục con sau:
- Config: Nơi lưu trữ một số file cấu hình của cakephp. File lưu thông tin kết
nối đến cơ sở dữ liệu, file cấu hình cakephp nên được lưu ở đây.
- Controllers: Chứa các controller và các component của ứng dụng.
- Models: Chứa các file model, behavior và datasource của ứng dụng.
- Locale: Lưu các file văn bản được sử dụng cho mục đích quốc tế hóa ứng
dụng.
- Plugins: Chứa các plugin.
- Tmp: Lưu các file tạm của cakephp. Dữ liệu thực cakephp lưu phụ thuộc
vào bạn cấu hình cakephp như thế nào.
- Vendors: Các lớp hoặc các thư viện của nhà cung cấp thứ 3 nên được để
trong thư mục này.
- View: Các file hiển thị được để ở đây.

PHAN THANH HẢI, LỚP 06T4 31


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 32

- Webroot: Trong môi trường thật, thư mục này đóng vai trò là thư mục gốc
của ứng dụng. Các thư mục ở đây thường là các thư mục cho css, ảnh và javascript.

II.4. Các qui ước của cakephp


II.4.1. Các qui ước về file và tên lớp
Tên file sử dụng dấu gạch dưới, trong khi tên lớp sử dụng CamelCased (ví dụ như
SportCar). Vì vậy, nếu chúng ta có lớp MyNiftyClass, khi đó trong cakephp tên của
file đó là my_nifty_class.php. Sau đây là các ví dụ về cách đặt tên file cho mỗi dạng
lớp khác nhau mà bạn thường sử dụng trong ứng dụng cakephp.
- Định nghĩa lớp Controller KissAndHugsContrller nằm trong file tên là
kisses_and_hugs_controller.php (lưu ý phải có _controller trong tên file).
- Định nghĩa lớp Component MyHandyComponent nằm trong file tên là
my_handy.php.
- Định nghĩa lớp Model OptionValue nằm trong file option_value.php
- Định nghĩa lớp Behavior EspeciallyFunkabelBehavior nằm trong file
especially_funkable.php
- Định nghĩa lớp View SupperSimpleView nằm trong file super_simple.php
- Địng nghĩa lớp Helper BestEverHelper nằm trong file best_ever.php
Mỗi file được đặt trong 1 thư mục qui ước dưới thư mục app.

II.4.2. Quy ước về tên model và tên bảng cơ sở dữ liệu


Model classnames là số it và ‘CamelCased’ Person, BigPerson, hay
ReallyBigPerson là những ví dụ về tên Model thông thường.
Tên bảng cơ sở dữ liệu tương ứng cho cakephp model là số nhiều và được gạch
dưới. Các bảng sẽ được đề cập tới bởi các model tương ứng là people, big_people và
really_big_people tương ứng.
Bạn có thể sử dụng thư viện tiện ích “Inflector” để kiểm tra từ số nhiều hay số ít.
Tên trường có hai hay nhiều từ sẽ được nối bằng gạch nối dưới như: first_name.
Những khóa ngoại trong các mối quan hệ hasMany, belongsTo hoặc hasOne được
chấp nhận mặc định ở dạng tên của bảng liên quan theo sau _id. Vì vậy, nếu một
Baker hasMany với Cake thì bảng cakes sẽ ràng buộc với bảng bakes theo thông qua
một khóa ngoại là baker_id. Đối với một bảng có tên tạo từ nhiều từ như
category_types thì khóa ngoại có sẽ là category_type_id.

PHAN THANH HẢI, LỚP 06T4 32


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 33

Kết nối các bảng, được dùng trong kết hợp hasAndBelongsTomany giữa các model
sẽ được đặt tên sau theo bảng model sẽ kết nối theo thứ tự alphabetical.
Tất cả các bảng mà các model của cakephp tương tác tới đều cần một khóa chính
duy nhất để nhận định mỗi hàng. Nếu bạn muốn mô hình hóa một bảng mà không có
một khóa chính nào thì một trường khóa chính đơn sẽ được thêm vào bảng.
Cakephp không hỗ trợ tạo những khóa chính. Nếu bạn muốn thao tác trực tiếp trên
bảng dữ liệu, hãy sử dụng câu truy vấn trực tiếp hoặc thêm khóa chính để nó hoạt động
như một mô hình bình thường.

II.4.3. Quy ước về Controller


Tên lớp Controller ở dạng số nhiều và “CamelCased” và kết thúc bằng Controller.
Ví dụ: PeopleController và LatestArticlesController.
Phương thức mặc định khi bạn gọi một controller mà không chỉ định chính xác là
gọi action nào thì index() sẽ được gọi. Ví dụ: có một yêu cầu tới
http://example.com/vidu thì cakephp sẽ tự dộng gọi phương thức index() của lớp
VidusController. Và nếu gọi tới http://example.com/vidu/view/ thì phương thức view
trong controller đó sẽ thực hiện.

II.4.4. Quy ước về View


File trong view được đặt tên sau hàm chức năng, sau dấu gạch ngang. Hàm
getReady() của lớp PeopleController sẽ tìm thấy trong /views/peoples/get_ready.ctp
Bằng cách đặt tên các thành phần ứng dụng sử dụng theo quy ước của cakephp bạn
có được chức năng mà không có sự rắc rối và dễ cấu hình.
Một số ví dụ sử dụng theo quy ước.
- Database table: “people”
- Model class: “People”, tại thư mục /app/models/person.php
- Controller class: “PeopleController”, ở thư mục
/app/controllers/people_controller.php
- View template, tại thư mục /app/views/peoples/index.ctp
Sử dụng những quy ước, cakephp biết rằng yêu cầu từ example.com/people có
phương án gọi hàm index() của Peoplecontroller, nơi mà model Person tự động có sẵn
và dùng file index.ctp để hiển thị ra trình duyệt của người sử dụng.

PHAN THANH HẢI, LỚP 06T4 33


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 34

II.5. Các thành phần chính của cakephp


II.5.1. Model
Model đại diện cho dữ liệu và được dùng trong các ứng dụng cakephp để truy cập
dữ liệu. Một model thường đại diện cho một bảng dữ liệu nhưng có thể được dùng để
truy cập bất cứ những gì được lưu trữ dữ liệu như các tập tin, bản ghi LDAP…
Một model có thể được ràng buộc với các model khác. Trong lập trình hướng đối
tượng một mô hình dữ liệu là một đối tượng đại diện cho một thứ như một chiếc xe
hay một ngôi nhà. Ví dụ: một blog có thể có nhiều bài viết (Post) và mỗi bài viết có
thể có nhiều ý kiến (Comment). Blog, Post, Comment là những ví dụ cho Models, mỗi
cái sẽ được ràng buộc với các cái khác.
Đây là một ví dụ đơn giản về việc định nghĩa một model trong cakephp
<?php
Class demo extends AppModel
{ var $name =’ Demo’;
}
Chỉ cần khai báo như trên, model Demo được đặt cho tất cả những chức năng bạn
cần để tạo câu truy vấn để lưu và xóa dữ liệu.
Tạo tập tin php cho model của bạn trong app/models/ hoặc trong thư mục con của
/app/models. Cakephp sẽ tìm kiếm nó ở một nơi bất kỳ trong thư mục. Theo quy ước
nó cần có cùng tên với lớp. Ví dụ: demo.php
Với Models đã được định nghĩa, nó có thể được truy cập từ bên trong Controller
của bạn. Cakephp tự động làm cho model cho phép truy cập khi nó có tên phù hợp với
controller.
Ví dụ một controller như sau:
<?php
Class DemosController extends AppController
{
}
- Tạo bảng cơ sở dữ liệu
Cakphp được thiết kế sẽ làm việc với MySql, Oracle và những hệ quản tị khác. Bạn
có thể tạo các bảng cơ sở dữ liệu như bình thường. Khi bạn tạo các lớp model thì
chúng sẽ tự động định nghĩa các bảng mà bạn đã tạo.

PHAN THANH HẢI, LỚP 06T4 34


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 35

Tên bảng được viết bằng chữ thường và các bảng tạo bởi nhiều từ thì được nối với
nhau bằng dấu gạch dưới. Cakephp sẽ kiểm tra để xác định dạng dữ liệu của từng
trường trong bảng và sử dụng thông tin này để tự động hóa các tính năng khác nhau
như trong việc xuất các trường dữ liệu lên View.
Mỗi hệ quản trị cơ sở dữ liệu định nghĩa loại dữ liệu theo những cách khác nhau.
Từ lớp mã nguồn cho đến hệ thống dữ liệu.

Bảng 7. Kiểu dữ liệu MySQL tương ứng với Cakephp

PHAN THANH HẢI, LỚP 06T4 35


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 36

Bảng 8. Kiểu dữ liệu Oracle tương ứng với cakephp

II.5.2. View
View là nơi thể hiện dữ liệu đã được xử lý của chúng ta. Một view được xem như
một trang template.
Lớp View của cakephp là nơi bạn trình bày cho người dùng của bạn. Những gì
biểu diễn sẽ được đưa vào các tập tin Xhtml và chuyển đến trình duyệt.
Cakephp xem các tập tin được viết bằng php và có phần mở rộng mặc định .ctp.
Những tập tin này chứa tất cả logic thông dụng cần để lấy dữ liệu từ controller trong
một định dạng mà đã sẵn sàng cho các đối tượng bạn đang phục vụ.
Tập tin của View được lưu trong /app/views trong một thư mục sau khi controller
sử dụng các tập tin và được đặt tên theo các hành động tương ứng với nó.
Ví dụ: file view của demoscontroller là hành động view() sẽ được tìm thấy trong
/app/views/demos/view.ctp.
Lớp View trong cakephp có thể được tạo thành tự một số bộ phận khác:
- layouts: xem các file chứa các mã thông dụng và được tìm trong nhiều gói
giao diện ứng dụng của bạn. Hầu hết các
- elements: được dùng để thiết kế hỗ trợ các view giống nhau khỏi mất thời
gian viết code lại nhiều lần.
- helpers: Một lớp helper là một lớp tiện ích được dùng để xử lý các logic
trong view. Cũng giống như component của controller, các view có thể dùng chung
với một hoặc nhiều helper.

II.5.3. Controller
Một controller (điều khiển) được sử dụng để quản lý về mặt logic của một phần
trong ứng dụng của bạn. Hầu hết, các controller được sử dụng để quản lý một model
đơn giản. Những lớp controller trong ứng dụng của bạn được kế thừa từ lớp cakephp
AppController. Nó được kế thừa từ lớp nhân Controller, một phần của thư viện
Cakephp. Lớp AppController được định nghĩa trong thư mục app/app_controller.php
và nó chứa nhiều phương thức được chia sẻ giữa tất cả các controller trong ứng dụng
của bạn.
Controller có thể thêm vào nhiều phương thức mà chúng thường chỉ dẫn đến các
action (hành động). Action là một phương thức điều khiển sử dụng để hiển thị views.
Một action đơn giản chỉ là một phương thức của controller.
Cakephp là người vận chuyển để gọi các action khi chúng nằm trong URL yêu cầu
đến action của controller.

PHAN THANH HẢI, LỚP 06T4 36


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 37

Những thuộc tính Controller:


- $name: Thuộc tính $name được dùng để đặt tên cho controller. Thông
thường, tên chỉ là số nhiều của tên model được sử dụng.
- $components, $helpers và $uses: Một trong những thuộc tính được cakephp
sử dụng nhiều đó là helpers, components và models. Bạn sẽ sử dụng chúng chung với
controller hiện tại. Sử dụng những thuộc tính này làm cho các lớp MVC đưa ra bởi
$component và $uses có hiệu lực trong lớp controller và các biến trong lớp.
- $layout và $page: Trong các controller của cakephp có một số thuộc tính để
điều khiển cách bố trí (layout) trang web. Thuộc tính $layout có thể được gán bằng tên
của một layout được lưu trữ trong /app/views/layouts. Layouts mặc định là
/app/views/layouts/default.ctp.
- $params: các tham số controller sẽ nằm trong $this->params trong trang
controller của cakphp. Thuộc tính này sẽ cung cấp truy cập thông tin của yêu cầu hiện
tại. Hầu hết việc sử dụng $this->params là để truy cập thông tin từ controller thông
qua POST và GET.

III. Phân tích truyền gói tin Multicast trong IPTV


III.1. Phân tích các yêu cầu
- Dựng sơ đồ hệ thống mô phỏng hệ thống iptv thu nhỏ.
- Mô phỏng cách truyền gói tin multicast.
- Cấu hình thiết bị trong hệ thống IPTV.

III.2. Thiết kế mô phỏng


Sơ đồ hệ thống IPTV thực tế.

PHAN THANH HẢI, LỚP 06T4 37


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 38

Hình 14. Sơ đồ IPTV thực tế

Phân phát dữ liệu multicast trong hệ thống TV.

Hình 15. Phân phát Multicast trong IPTV

Sơ đồ bài lab mô phỏng.

PHAN THANH HẢI, LỚP 06T4 38


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 39

Hình 16. Sơ đồ lab

III.3. Chức năng của các thiết bị trong bài lab


- Server: nơi chứa các file video, ftp, xử lý các thao tác đăng nhập, tính cước
cho khách hàng.
- 3 router mô phỏng hệ thống mạng diện rộng.
- PC mô phỏng khách hàng sử dụng dịch vụ IPTV.
- Phần mềm VLC để phát và bắt gói tin multicast.

III.4. Quá trình truyền và nhận gói tin multicast


- Server bắt đầu gửi gói tin tới địa chỉ multicast 224.5.5.5 và 224.5.5.10 thông
qua VlC player.
- PC muốn nhận gói tin multicast phải gia nhập nhóm multicast 224.5.5.5 và
224.5.5.10. để có thể nhận được gói tin multicast.
- Các router được cấu hình để định tuyến gói tin multicast bằng cách sử dụng
câu lệnh ip multicast-routing.

PHAN THANH HẢI, LỚP 06T4 39


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 40

PHAN THANH HẢI, LỚP 06T4 40


CHƯƠNG IV

KẾT QUẢ THỬ NGHIỆM

I. Một số hình ảnh trang web mô phỏng giao diện IPTV


I.1. Trang đăng nhập
Khách hàng đăng nhập với username và password do nhà cung cấp dịch vụ cung
cấp.

I.2. Trang chủ


Khi khách hàng đăng nhập đúng thì trang web sẽ hiển thị ra nội dung.

41
Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 42

I.3. Trang tìm kiếm

PHAN THANH HẢI, LỚP 06T4 42


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 43

I.4. Trang admin

II. Kết quả mô phỏng truyền gói tin multicast


II.1. Mô hình và đặt địa chỉ IP cho từng thiết bị

 Địa chỉ IP của Server

PHAN THANH HẢI, LỚP 06T4 43


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 44

- Địa chỉ IP: 192.168.1.2


- Subnet mark: 255.255.255.0
- Default Gateway: 192.168.1.10
 Địa chỉ IP của router 0
- Địa chỉ IP cổng fa: 192.168.1.10
- Subnetmark: 255.255.255.0
- Địa chỉ IP cổng serial 1/0: 172.16.0.1
- Subnetmark: 255.255.0.0
 Địa chỉ IP của router 1
- Địa chỉ IP cổng serial 1/0: 172.16.0.2
- Subnetmark: 255.255.0.0
- Địa chỉ IP cổng serial 1/1: 10.0.0.1
- Subnetmark: 255.0.0.0
 Địa chỉ IP của router 2
- Địa chỉ IP cổng serial 1/1: 10.0.0.2
- Subnetmark: 255.0.0.0
- Địa chỉ IP cổng fa: 192.168.2.1
- Subnetmark: 255.255.255.0
 Địa chỉ IP của PC
- Địa chỉ IP: 192.168.2.2
- Subnetmark: 255.255.255.0
- Default Gateway: 192.168.2.1

II.2. Kết quả


II.2.1. Truyền và bắt gói tin multicast
 Trên Server dùng phần mềm VLC player để phát gói tin multicast

PHAN THANH HẢI, LỚP 06T4 44


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 45

- Chọn wizard -> Stream to network -> Select a stream -> Choose.

- Chọn file video chuẩn MPEG có dạng đuôi .avi hoặc .mpg để phát.

PHAN THANH HẢI, LỚP 06T4 45


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 46

- Chọn phương thức truyền là RTP và địa chỉ multicast: 224.5.5.10

 Trên PC, cũng dùng phần mềm VLC player để bắt gói tin multicast

PHAN THANH HẢI, LỚP 06T4 46


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 47

- Chọn Open Network Stream để bắt gói tin multicast.

- Kết quả ở PC đã bắt được gói multicast

PHAN THANH HẢI, LỚP 06T4 47


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 48

- Kết quả PC bắt cùng lúc 2 gói tin multicast.

II.2.2. Kết quả mô phỏng chất lượng dịch vụ(QoS).


 Trên server tồn tại 2 dịch vụ: http và ftp server. Mục đích chính cải thiện tốc độ
tải file.
 Để áp dụng chất lượng dịch vụ thì ta cần phân loại và đánh dấu dữ liệu đầu vào.
Bao gồm 2 class sau:

PHAN THANH HẢI, LỚP 06T4 48


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 49

- Class ftp-in
- Class http-in
Đây là 2 lớp vào của cổng fa0/0 trên router 0. Và sau đó ra khỏi cổng serial 1/0.
- Class ftp-out.
- Class http-out.
 Dùng chính sách để áp dụng lên từng class.
- Policy- INBOUND: Áp dụng cho các class-in.
- Policy- OUTBOUND: Áp dụng cho các class-out
 Kết quả thu được
- Chất lượng video và tốc độ tải file trước khi áp chất lượng dịch vụ

Tốc độ tải file chậm.

PHAN THANH HẢI, LỚP 06T4 49


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 50

- Sau khi áp chất lượng dịch vụ

Tốc độ tải file đã được cải thiện

PHAN THANH HẢI, LỚP 06T4 50


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 51

PHAN THANH HẢI, LỚP 06T4 51


KẾT LUẬN

I. Kết quả đạt được


I.1. Lý thuyết
- Tìm hiểu cơ chế hoạt động của gói tin Multicast.
- Thông qua quá trình thực hiện đề tài, em đã nắm rõ cơ chế hoạt động của
IPTV.
- Tìm hiểu ngôn ngữ cakephp.

I.2. Thực hành


- Xây dựng thành công hệ thống mô phỏng phát và nhận gói tin
multicast.
- Xây dựng website mô phỏng giao diện người dùng IPTV.

II. Những hạn chế của đề tài


- Mô phỏng trong đề tài là một phần nhỏ trong hệ thống IPTV.
- Website mô phỏng giao diện người dùng còn đơn giản và hạn chế. Thể
loại video chưa phong phú.
- IPTV là công nghệ mới, việc tìm hiểu lý thuyết còn mang tính tổng
quát.

III. Hướng phát triển đề tài.


- Xây dựng mô hình IPTV hoàn chỉnh.
- Tìm giải pháp chất lượng dịch vụ cho người dùng khi người dùng chạy
nhiều video cùng lúc.
- Xây dựng hệ thống quản lý người dùng hiệu quả hơn.

52
Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 53

PHỤ LỤC
PHỤ LỤC A
 Cấu hình chi tiết của các router
- Router 0
en
config t
ip multicast-routing
hostname R0
int fa0/0
ip add 192.168.1.10 255.255.255.0
max-reserved-bandwidth 100
ip pim dense-mode
ip igmp join-group 224.5.5.5
ip igmp join-group 224.5.5.10
no shut
exit
int s1/0
ip add 172.16.0.1 255.255.0.0
no shut
clock rate 128000
max-reserved-bandwidth 100
ip pim dense-mode
ip igmp join-group 224.5.5.5
ip igmp join-group 224.5.5.10
exit
router eigrp 100
network 192.168.1.0
network 172.16.0.0
end

PHAN THANH HẢI, LỚP 06T4 53


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 54

config t
class-map match-all ftp-out
match ip dscp af41
exit
class-map match-all http-out
match ip dscp ef
exit
class-map match-all http-in
match protocol http
exit
class-map match-all ftp-in
match protocol ftp
exit
policy-map INBOUND
class ftp-in
set ip dscp af41
exit
class http-in
set ip dscp ef
exit
exit
policy-map OUTBOUND
class ftp-out
priority percent 40
shape average 60000000
exit
class http-out
bandwidth percent 20
shape average 40000000
exit

PHAN THANH HẢI, LỚP 06T4 54


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 55

class class-default
bandwidth percent 40
exit
exit
int fa0/0
service-policy input INBOUND
exit
int s1/0
service-policy output OUTBOUND
end
- Router 1
en
config t
ip multicast-routing
hostname R1
interface s1/0
ip add 172.16.0.2 255.255.0.0
no shut
clock rate 128000
max-reserved-bandwidth 100
ip pim dense-mode
ip igmp join-group 224.5.5.5
ip igmp join-group 224.5.5.10
exit
int s1/1
ip add 10.0.0.1 255.0.0.0
no shut
clock rate 128000
max-reserved-bandwidth 100
ip pim dense-mode
ip igmp join-group 224.5.5.5
ip igmp join-group 224.5.5.10
exit
router eigrp 100
network 10.0.0.0
network 172.16.0.0
end

PHAN THANH HẢI, LỚP 06T4 55


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 56

- Router 2
ena
config t
ip multicast-routing
hostname R2
int s1/1
ip add 10.0.0.2 255.0.0.0
no shut
clock rate 128000
max-reserved-bandwidth 100
ip pim dense-mode
ip igmp join-group 224.5.5.5
ip igmp join-group 224.5.5.10
exit
int fa0/0
ip add 192.168.2.1 255.255.255.0
no shut
max-reserved-bandwidth 100
ip pim dense-mode
ip igmp join-group 224.5.5.5
ip igmp join-group 224.5.5.10
exit
router eigrp 100
network 10.0.0.0
network 192.168.2.1
end

 Một số module chính của webserver


- Module xem phim
<span class="hearding"><h1> <?php echo
$phims['Phim']['tieude'];?></h1></span><br/>
<span class="date"><?php echo $phims['Phim']['ngaytao'];?></span><br/>
<img src="/iptv/app/webroot/img/uploads/<?php echo
$phims['Phim']['tenfileimage'];?>" width=295 height =250 style="margin: 5px 10px">
<span class="noidung"><?php echo $phims['Phim']['noidung'];?></span>
<link rel="stylesheet"
href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css"
id="theme">
<link rel="stylesheet" href="../iptv/jqueryfileupload/jquery.fileupload-ui.css">
<EMBED TYPE="application/x-mplayer2"
SRC="/iptv/app/webroot/img/videouploads/<?php echo $phims['Phim']['tenfilevideo'];?>"
NAME="MediaPlayer"
WIDTH=700" HEIGHT="490" ShowControls="1" ShowStatusBar="1"
ShowDisplay="0" autostart="1"> </EMBED>
- Module tìm kiếm

PHAN THANH HẢI, LỚP 06T4 56


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 57

<?php foreach ($results as $phim): ?>


<div class="first">
<span class="title"><?php echo $this->Html-
>link($phim['Phim']['tieude'],array('controller'=>'phims','action'=>'view',$phim['Phim']['i
d']));?></span><br/>
<span class="date"><?php echo $phim['Phim']['ngaytao'];?></span><br/>
<img src="/iptv/app/webroot/img/uploads/<?php echo
$phim['Phim']['tenfileimage'];?>" width=195 height =150>
<span class="tomtat"><?php echo $phim['Phim']['tomtat'];?></span>
<div id="second-nav3"> </div>
</div>
<?php endforeach; ?>
- Module tính tiền
// lay thong tin useer
$results = $this->Session->read('Auth.User');
// lay id film
$idfilm = $this->Phim->find('first',array('conditions' => array('Phim.id'
=> $id)));

// lay gia cua film


$gia = $idfilm['Phim']['price'];
// lay id cua user
$iduser = $results['id'];
// lay vi tri cua user trong order
$luu = $this->Order->find('first', array('conditions' =>
array('Order.users_id' => $iduser)));
if(empty($luu))
{

$luu['Order']['users_id'] = $iduser;
$luu['Order']['total'] = $gia;
$luu['Order']['phim_id'] = $id;
$this->Order->create();
$this->Order->save($luu);
//$this-set('luu', $luu);
}
else
{
$luu['Order']['total'] += $gia;
$luu['Order']['phim_id'] = $id;
$this->Order->save($luu);
// $this-set('luu', $luu);
}

PHAN THANH HẢI, LỚP 06T4 57


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 58

$this->Order->save($this->data);

PHAN THANH HẢI, LỚP 06T4 58


Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 59

PHAN THANH HẢI, LỚP 06T4 59


TÀI LIỆU THAM KHẢO
[1] Developing Ip Multicast Network.
[2] IP Multicast with Applications to IPTV and Mobile DVB-H
[3] Các nguồn trên Internet.
[4] Đồ án các năm trước.

1
Tìm hiểu Multicast và ứng dụng Multicast trong IPTV 2

PHAN THANH HẢI, LỚP 06T4 2


TÓM TẮT LUẬN VĂN TỐT NGHIỆP
Phần này viết tên đề tài (chữ nhỏ 13pt) và :

tóm tắt nội dung LUẬN VĂN TỐT NGHIỆP, viết ngắn gọn và rõ ràng
(15 đến 20 dòng) cho biết :

Đề tài đã được đặt ra như thế nào (bối cảnh), mục đích (giải thích rõ hơn
tên đề tài) và nhiệm vụ phải thực hiện (các mục tiêu cụ thể và kết quả cần có)
SV đã giải quyết vấn đề gì (đã nghiên cứu lý thuyết, thực tiễn như thế
nào, đã đề xuất được những giải pháp (biện pháp) hay sáng kiến gì ?).
SV đã giải quyết đến đâu (nêu một số kết quả tiêu biểu).

Tãn taïc giaí åí âáy, LÅÏP XXX 3

You might also like