ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Đình Hòa ĐẢM BẢO CHẤT LƯỢNG DỊCH VỤ CHO VIỆC TRUYỀN VIDEO STREAMING TRONG MẠNG KHÔNG DÂY 802.11 KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Đình Hòa
ĐẢM BẢO CHẤT LƯỢNG DỊCH VỤ CHO VIỆC
TRUYỀN VIDEO STREAMING TRONG MẠNG
KHÔNG DÂY 802.11
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
HÀ NỘI - 2010
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Đình Hòa
ĐẢM BẢO CHẤT LƯỢNG DỊCH VỤ CHO VIỆC
TRUYỀN VIDEO STREAMING TRONG MẠNG
KHÔNG DÂY 802.11
KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Ngành: Công nghệ thông tin
Cán bộ hướng dẫn: TS Nguyễn Hoài Sơn
HÀ NỘI - 2010
Trang 3Lời cảm ơn
Em xin chân thành cảm ơn các thầy cô trong trường Đại học Công Nghệ - ĐHQG
Hà Nội ñã tận tình giúp ñỡ truyền ñạt kiến thức cho em trong suốt 4 năm học qua ñể
em có ñủ kiến thức hoàn thành khóa luận này
Đặc biệt, em xin gửi lời cảm ơn sâu sắc tới thầy Nguyễn Hoài Sơn Người ñã nhiện tình ñộng viên hướng dẫn và giúp ñỡ em trong suốt quá trình thực hiện khóa luận này
Em xin cảm ơn sự nhiệt tình chia sẻ kinh nghiệm, ñóng góp ý kiến của nhóm nghiên cứu do thầy Nguyễn Hoài Sơn hướng dẫn
Xin gửi lời cảm ơn tha thiết nhất tới bố mẹ và những người thân khác trong gia ñình ñã ñộng viên giúp ñỡ con/cháu rất nhiều trong suốt quá trình học tập cũng như hoàn thành khóa luận này
Mặc dù ñã rất cố gắng hoàn thành khóa luận này với tất cả nỗ lực của bản thân, xong khóa luận sẽ khó tránh khỏi những thiếu sót, kính mong quý thầy cô tận tình chỉ bảo cho em những sai lầm cần khắc phục của mình Một lần nữa em xin gửi tới tất cả mọi người lời cảm ơn chân thành nhất
Hà nội, tháng 05 năm 2010
Sinh viên : Nguyễn Đình Hòa
Trang 4Tóm tắt
Ngày nay, với sự phát triển của Internet các dịch vụ truyền thông ña phương tiện ngày càng phát triển và ñóng vai trò quan trọng trong nhiều mặt của ñời sống Video streaming là một trong số những dịch vụ như thế Trong video streaming, dữ liệu ñược truyền trực tiếp từ nguồn phát và hiển thị trực tiếp tại bên nhận trong khi truyền mà không cần phải ñợi cho việc truyền dữ liệu kết thúc Với ñặc ñiểm như vậy dịch vụ video streaming có những ràng buộc khá cao về băng thông cao, ñộ trễ thấp, tỷ lệ mất gói tin thấp
Video streaming ngày càng ñược sử dung nhiều trong mạng không dây như mạng LAN không dây theo quy chuẩn IEEE 802.11 Bằng chứng là sự ra ñời và phát triển của các ứng dụng như mobile tv, video call… Những ứng dụng này ñã và ñang ñược nghiên cứu cải tiến với mục tiêu cứu chủ yếu là làm sao ñể khắc phục các nhược ñiểm
cố hữu của mạng không dây cũng như ñáp ứng tốt các ràng buộc của video streaming Tuy nhiên, vấn ñề ñảm bảo chất lượng dịch vụ của các dịch vụ video streaming vẫn cần có sự hỗ trợ của mạng không dây IEEE 802.11e nhằm ñáp ứng yêu cầu ñó
IEEE 802.11e là một biến thể của chuẩn IEEE 802.11 Nó ñịnh nghĩa tập các cải tiến về ñảm bảo chất lượng dịch vụ dành cho mạng WLAN thông qua các sửa ñổi ở tầng MAC Trong việc truyền video streaming chuẩn IEEE 802.11e ñã có nhiều cải tiến mang tính tích cực IEEE 802.11e cho phép phân cấp các dịch vụ bằng cách gán cho luồng dữ liệu của chúng tương ứng với các ñộ ưu tiên khác nhau Các gói tin của dịch vụ có ñộ ưu tiên cao hơn có thể dành ñược cơ hội truyền tốt hơn các gói tin của dịch vụ có ñộ ưu tiên thấp hơn
Tuy nhiên việc ñảm bảo chất lượng truyền video streaming trong mạng không dây sử dụng chuẩn IEEE 802.11e vẫn tồn tại những ñiểm bất cập Ví dụ, việc phân tầng trong video streaming sẽ cho kết quả là một video sẽ ñược truyền dưới dạng các luồng khác nhau ñể ñáp ứng những nhu cầu và tình trạng mạng khác nhau Nhưng với IEEE 802.11e các luồng này sẽ ñược xếp vào cùng một ñộ ưu tiên việc này sẽ làm cho chất lượng dịch vụ kém ñi khi tình trạng mạng tắc nghẽn
Khóa luận sẽ trình bày giải pháp ñể hỗ trợ tốt hợn việc ñảm bảo chất lượng của việc truyền video streaming trong mạng không dây Đó là giải pháp gán ñộ ưu tiên ñộng cho các luồng dữ liệu tương ứng với các tầng của video streaming Việc truyền video streaming có thể ñạt ñược sự linh ñộng hơn vì các luồng dữ liệu sẽ có khả năng
Trang 5thay ñổi ñược ñộ ưu tiên trong quá trình truyền Giải pháp này sẽ ñảm bảo duy trì dịch
vụ cũng như ñảm bảo chất lượng dịch vụ của video streaming một cách tốt hơn
Trang 6Mục lục
Chương 1 Tổng quan về video streaming 1
1.1 Giới thiệu về video streaming 1
1.1.1 Nén dữ liệu 2
1.1.2 Điều khiển chất lượng dịch vụ tầng ứng dụng 3
1.1.2.1 Điều khiển tắc nghẽn 4
1.1.2.2 Điều khiển lỗi 7
1.1.2.3 Che dấu lỗi 9
1.1.3 Dịch vụ phân phối phương tiện truyền thông liên tục 9
1.1.4 Máy chủ (streaming server) 12
1.1.5 Các giao thức video streaming 12
1.1.6 Cơ chế ñồng bộ video streaming 13
1.2 Kỹ thuật phân tầng trong video streaming 13
1.3 Đảm bảo chất lượng dịch vụ truyền video streaming 15
Chương 2 Chuẩn IEEE 802.11e về ñảm bảo chất lượng dịch vụ trong mạng không dây 17
2.1 Tổng quan về IEEE 802.11 MAC 17
2.1.1 Các khoảng liên khung (Inter-frame space) 17
2.1.2 Chức năng phối hợp phân tán (Distributed Coordination Function - DCF) 19
2.1.2.1 Thủ tục quay lui ngẫu nhiên (random backoff) 19
2.1.2.2 Thủ tục xác nhận ACK 20
2.1.3 Chức năng phối hợp ñiểm (Point Coordination Function - PCF) 21
2.1.3.1 Chu kỳ không tranh chấp 21
Trang 72.1.3.2 Thủ tục truy cập PCF 22
2.2 Chuẩn IEEE 802.11e 23
2.2.1 Chức năng phối hợp lai (Hybrid Coordination Function - HCF) 23
2.2.1.1 EDCF (Enhanced Distributed Coordinated Function) 24
2.2.1.2 HCCA(HCF controlled channel access) 27
2.3 Truyền video streaming trong mạng không dây IEEE 802.11e 28
Chương 3 Giải pháp gán ñộ ưu tiên ñộng cho các luồng video streaming trong mạng IEEE 802.11e 30
3.1 Vấn ñề nghiên cứu 30
3.2 Giải pháp gán ñộ ưu tiên ñộng cho các luồng video streaming 37
3.2.1 Các tham số ñánh giá môi trường truyền 38
3.2.2 Mô tả giải pháp 39
3.3 Phân tích ñánh giá 41
Chương 4 Đánh giá giải pháp ñộ ưu tiên ñộng cho các luồng video streaming trong mạng IEEE 802.11e 43
4.1 Môi trường mô phỏng 43
4.1.1 Xây dựng chương trình mô phỏng 43
4.1.2 Kịch bản mô phỏng 45
4.1.2.1 Các tham số môi trường 45
4.1.2.2 Thông số tại các trạm 46
4.2 Kết quả mô phỏng 47
4.2.1 Đánh giá về thông lượng 47
4.2.2 Đánh giá về ñộ trễ 49
Chương 5 Kết luận 52
5.1 Kết luận 52
Trang 85.2 Hướng phát triển tiếp theo 52 Tài liệu tham khảo 53
Trang 9Mở ñầu
Trong những năm gần ñây với sự phát triển mạnh của công nghệ mạng nói chung và công nghệ mạng không dây nói riêng Ngày càng có nhiều ứng dụng ra ñời, một trong số ñó là các ứng dụng video streaming với ñiển hình như là video call, mobile tv… Những ứng dụng này, ñang ngày càng ñược phát triển và hoàn thiện dần Tuy nhiên, ñể duy trì và ñảm bảo chất lượng cho các ứng dụng này không phải là việc ñơn giản Các ứng dụng video streaming luôn luôn gắn liền với những ràng buộc về ñộ trễ, thông lượng cũng như tỷ lệ mất gói tin nhất ñịnh Mạng không dây lại là môi trường không ñược ổn ñịnh như mạng có dây Trong mạng không dây việc kiểm soát băng thông và ñộ trễ cũng như tỷ lệ mất gói tin là rất khó
Mặc dù, việc hỗ trợ ñảm bảo chất lượng dịch vụ ñã ñược hỗ trợ trong mạng không dây với việc áp dụng chuẩn IEEE 802.11e, tuy nhiên chuẩn này chỉ dừng lại ở mức cung cấp việc cho phép các ứng dụng ñược gán ñộ ưu tiên khác nhau từ ñó cơ hội truyền dữ liệu của các luồng dữ liệu tương ứng với dịch vụ sẽ khác nhau Tuy nhiên, bản thân dịch vụ video streaming lại là việc truyền một tập hợp các luồng dữ liệu tương ứng với các tầng trong cơ chế phân tầng của nó Theo chuẩn 802.11e thì các luồng này vẫn sẽ có cùng ñộ ưu tiên và sẽ có cơ hội truyền ngang nhau
Mặt khác, các tầng của video streaming là không tương ñương nhau, mỗi tầng lại
có mức ñộ quan trọng khác nhau Nếu ñể ñảm bảo chất lượng dịch vụ cho video streaming một cách hiệu quả thì các luồng này phải ñược phân biệt với nhau ở tầng MAC ñể có cơ chế phân phối cơ hội truyền phù hợp Chuẩn 802.11e không làm ñược việc này
Vậy phải có một giải pháp nào ñó ñể có thể hỗ trợ việc ñảm bảo chất lượng dịch
vụ phù hợp với cơ chế phân tầng của video streaming sao cho hiệu suất việc truyền video streaming ñạt hiệu quả cao hơn
Khóa luận sẽ ñề xuất giải pháp gán ñộ ưu tiên ñộng cho các luồng dữ liệu tương ứng với các tầng của video streaming Trong video streaming các tầng video ñược phân cấp ñộ quan trọng theo thứ tự giảm dần như sau : tầng cơ bản, tầng mở rộng 1, tầng mở rộng 2… Với trường hợp mạng rảnh rỗi, việc các luồng dữ liệu của các tầng này ñều nhận giá trị ñộ ưu tiên cao như trong chuẩn IEEE 802.11e mô tả là hợp lý, ñể tận dụng băng thông của môi trường truyền cũng như giảm thiểu ñộ trễ của gói tin Nhưng, với trường hợp mạng bận việc phân bổ ñộ ưu tiên như vậy là không hợp lý bởi
Trang 10vì nó sẽ làm hiệu quả truyền của tất cả các luồng cùng giảm xuống Do ñó tùy theo mức ñộ bận của môi trường truyền, các luồng dữ liệu sẽ ñược gán lại ñộ ưu tiên một cách hợp lý, sao cho ñảm bảo rằng việc truyền của luồng dữ liệu quan trọng phải có hiệu quả cao, và cố gắng truyền dữ liệu của luồng có ñộ quan trọng nhỏ hơn một mức
có thể
Khóa luận chia thành năm chương
Chương 1 Giới thiệu tổng quan về dịch vụ video streaming, cơ chế phân tầng trong video streaming và ñảm bảo chất lượng dịch vụ truyền video streaming
Chương 2 Mô tả tổng quan về 802.11 MAC và chuẩn 802.11e ñồng thời giới thiệu và nhận xét về việc truyền video streaming trong 802.11e
Chương 3 Đi sâu phân tích và chứng minh sự cần thiết của việc gán ñộ ưu tiên ñộng cho các luồng video streaming Sau ñó sẽ trình bày giải pháp ñưa ra và nhận xét
về giải pháp
Chương 4 Tiến hành ñánh giá giải pháp gán ñộ ưu tiên ñộng cho các luồng video streaming với chuẩn ieee 802.11e bằng cách xây dựng thí nghiệm mô phỏng trên bộ công cụ mô phỏng ns2
Chương 5 Kế luận và nêu hướng nghiên cứu tiếp theo
Trang 111
Video streaming là phương thức chuyển giao dữ liệu video ở dạng nén trên Internet một cách ñều ñặn và liên tục, sao cho người dùng không cần ñợi tới khi có toàn bộ tập tin mới có thể xem ñược nội dung của nó mà có thể bắt ñầu hiển thị các dữ liệu ña phương tiện khi mà một phần dữ liệu ñã ñược nhận Người dùng phải dùng một chương trình ñặt biệt nó có thể giải nén dữ liệu và phân phối dữ liệu hình ảnh cho mành hình cũng như âm thanh tới loa Video streaming ñược phát triển dựa trên hai công nghệ chủ chốt ñó là các công nghệ mã hóa video và các công nghê tăng khả năng
mở rộng việc phân phối video
Hình 1.1 Ki ế n trúc h ệ th ố ng video streaming
Ban ñầu dữ liệu thô ñược nén lại thông qua bộ nén dữ liệu, và ñược lưu trữ tại thiết bị lưu trữ bên trong server Sau ñó khi có yêu cầu từ client thì server sẽ lấy các dữ liệu tương ứng ñã ñược nén lại trong thiết bị lưu trữ, và chuyển giao tới cho bộ phận ñiều khiển chất lượng chất lượng dịch vụ tầng ứng dụng Bộ phận này sẽ tùy vào yêu cầu ứng dụng, tình trạng mạng ñể tạo các dòng lưu lượng hợp lý, sau ñó sẽ ñẩy các luồng dữ liệu xuống cho tầng giao vận (transport layer) Các giao thức tầng giao vận sẽ
có trách nhiệm gửi dữ liệu thông qua Internet tới client Khi các gói tin ñược lưu
Raw Video
Raw Audio
Internet
(Continuous media distribution services)
Storage Device
Compressed Video
Compressed Audio
Application-layer QoS Control
Video Compression
Audio Compression
Transport Protocol
Video Decoder
Audio Decoder
Application-layer QoS Control
Transport Protocol
Media Syschronization
Trang 122
chuyển trên mạng, nó có thể bị mất mát hoặc là có ñộ trễ lớn khi mạng bị tắc nghẽn
Để hỗ trợ chất lượng video/audio truyền tải, các dịch vụ hỗ trợ truyền thông ña phương tiện liên tục ñược triển khai (ví dụ như caching …) Khi các gói tin ñến ñược client thành công, nó ñược truyền lên tầng giao vận, rồi tiếp ñó là bộ phận ñiều khiển chất lượng dịch vụ tầng ứng dụng Sau ñó chúng ñược giải mã ñể cho ra các dữ liệu thô ban ñầu, tiếp theo ñể có thể sử dụng ñược những dữ liệu này, cần phải sử dụng ñến bộ ñồng bộ hóa ña phương tiện ñể ñồng bộ video và audio một cách chuẩn xác
Vậy tức là mỗi một hệ thống video streaming cần thiết phải có sáu thành phần tương ứng với sáu bước thao tác như trên, bây giờ ta sẽ ñi cụ thể từng thành phần ñó
1.1.1 Nén dữ liệu
Các dữ liệu trong streaming server luôn luôn phải ñược nén trước khi truyền ñể giảm thiểu dung lượng truyền trên mạng Đồng thời, khi dữ liệu ñược nhận ở client cũng phải thực hiện thao tác giải nén ñể thu ñược dữ liệu gốc Có hai kiểu nén dữ liệu
cơ bản là phương pháp nén không mở rộng (non-scalable compress), và phương pháp nén mở rộng (scalable compress)
Phương pháp nén không mở rộng :
Trong phương pháp nén không mở rộng, dữ liệu thu ñược sau khi nén là một chuỗi bit Chuỗi bit này ñược gửi tới bên nhận, sau ñó quá trình giải nén ñược thực thi trên chuỗi bit và kết quả thu ñược là dữ liệu tương ứng với dữ liệu gốc ở bên gửi
Raw
Compressed Bit-stream
Compressed
Decoded video
DCT: Discrete Cosine Transform
Q: Quantization
VLC: Variable Length Coding
VLD: Variable Length Decoding
IQ: Inverse Quantization
IDCT: Inverse DCT
Hình 1.2 (a) nén không m ở r ộ ng ; (b) gi ả i nén không m ở r ộ ng
Trang 133
Phương pháp nén mở rộng :
Trong phương pháp nén mở rộng gốc ñược chia thành các luồng con, trong ñó có một luồng ñược gọi là luồng cơ bản, khi thực hiện quá trình giải nén nó không phụ thuộc vào bất kỳ một luồng con nào khác, và cung cấp chất lượng video ở dạng thô Các luồng con khác gọi là luồng mở rộng, việc giải nén chúng phải phụ thuộc vào luồng cơ bản, và chúng cung cấp chất lượng video tốt hơn Luồng toàn phần (kết hợp của tất cả các luồng ) sẽ cung cấp chất lượng video tốt nhất
1.1.2 Điều khiển chất lượng dịch vụ tầng ứng dụng
Phần này mô tả các kỹ thuật ñiều khiển tắc nghẽn và ñiều khiển lỗi (chỉ áp dụng
ở các hệ thống ñầu cuối và không có bất kỳ yêu cầu nào với mạng)
Raw
Base Layer Compressed Bit-stream
Enhancement Layer Decode Video (b)
Hình 1.3 (a) nén m ở r ộ ng ; (b) gi ả i nén không m ở
Trang 144
1.1.2.1 Đ iều khiển tắc nghẽn
Nội dung chính của ñiều khiển tắc nghẽn là làm giảm ñộ trễ và mất gói tin Cơ chế của nó dựa trên ñiều khiển tốc ñộ truyền (rate control) và ñịnh hình tỷ lệ (rate shaping)
Điều khiển tốc ñộ truyền là kỹ thuật ñể giảm thiểu một cách nhỏ nhất có thể sự tắc nghẽn, bằng cách ñiều chỉnh tốc ñộ truyền video dựa vào tình trạng hiện thời của mạng Có ba loại ñiều khiển tốc ñộ truyền là : căn cứ vào bên gửi, căn cứ vào bên nhận, và phương pháp kết hợp
a Phương pháp căn cứ vào bên gửi :
Trong phương pháp này, bên gửi chịu trách nhiệm ñiều chỉnh tốc ñộ truyền dữ liệu Dựa vào thông tin từ các gói tin phản hồi, bên gửi có thể xác ñịnh ñược tình trạng hiện thời của mạng, từ ñó có thể ñiều chỉnh tốc ñộ truyền một cách hợp lý Kỹ thuật này có thể sử dụng trong cả truyền unicast cũng như multicast
Hình 1.5 (a) Truy ề n video unicast ; (b) Truy ề n video multicast
Quality of service
Congestion control
Error control
Hình 1.4 mô hình ñ i ề u khi ể n ch ấ t l ượ ng d ị ch v ụ
Trang 15MTU: kích thước gói tin ñược dùng trong kết nối
RTT: round-trip time của một kết nối
p: tỷ lệ mất gói tin của kết nối
Vì lý do dựa trên mô hình của giao thức TCP mà phương thức này còn ñược gọi
là phương thức ñiều chỉnh tốc ñộ truyền “TCP-frendly”
Với truyền video multicast, bên gửi sẽ sử dụng một kênh truyền ñơn ñể gửi dữ liệu cho các bên nhận, trong trường hợp multicast thì chỉ có phương thức dựa trên cơ
sở thăm dò ñược sử dụng (ñiều chỉnh tỉ lệ truyền sao cho luôn nằm dưới một ngưỡng nhất ñịnh) Phương thức sử dụng kênh chung này rất hiệu quả cho các bên nhận sử dụng chung 1 kênh Tuy nhiên, phương pháp này thiếu tính mềm dẻo bởi vì các yêu cầu từ các bên nhận là khác nhau, băng thông truy cập kênh chung của các bên cũng khác nhau
b Phương pháp căn cứ vào bên nhận :
Bên nhận kiểm soát tốc ñộ nhận dữ liệu bằng cách thêm hoặc bớt các kênh Thông thường, phương pháp này sử dụng trong việc truyền multicast Tương tự như trong phương pháp căn cứ vào bên gửi, phương pháp căn cứ vào bên nhận cũng sử dụng 2 phương thức : phương thức dựa trên cơ sở thăm dò và phương thức dựa trên mẫu
Trang 166
•Phương thức dựa trên cơ sở thăm dò bao gồm hai phần : Khi không phát hiện ra tắc nghẽn, bên nhận sẽ ñiều tra môi trường bằng cách thêm một kênh truyền, nếu như vẫn không phát hiện ra tắc nghẽn thì xem như việc thêm kênh truyền là thành công Ngược lại nếu sau khi thêm mà phát hiện tắc nghẽn, thì bên nhận phải hủy ngay kênh truyền vừa thêm vào Khi phát hiện ra môi trường ñang tắc nghẽn, bên gửi tự ñộng xóa một hoặc vài kênh truyền ñể giảm tốc ñộ truyền tải
•Phương thức dựa trên mẫu vẫn sử dụng công thức tính thông lượng như ở phương pháp căn cứ vào bên gửi, không có gì khác biệt
c Phương pháp kết hợp :
Phương pháp này là sự tổng hợp của cả hai phương pháp căn cứ vào bên gửi và căn cứ vào bên nhận Tức là bên nhận vẫn ñiều chỉnh tốc ñộ nhận bằng cách thêm bớt các kênh truyền, ñồng thời bên gửi cũng thiết lập tốc ñộ gửi hợp lý dựa vào các gói tin phản hồi
Định hình tỷ lệ (rate shaping) :
Mục tiêu của ñịnh hình tỷ lệ là cân ñối tỷ lệ giữa tốc ñộ truyền luồng dữ liệu trước khi nén và tốc ñộ hiện thời của mạng Bởi vì, tốc ñộ video ñã lưu ở máy chủ có thể không phù hợp với băng thông hiện thời của mạng Bộ ñình hình tỷ lệ chỉ ñược sử dụng trong trường hợp, phương pháp ñiều khiển tắc nghẽn là phương pháp căn cứ vào bên gửi Có một số phương pháp ñịnh hình tỷ lệ như sau :
Lọc mã (Codec filter) : Sử dụng ñể giải nén và nén video Thông thường phương thức này dùng ñể chuyển mã giữa các phương thức nén khác nhau Việc giải nén và nén lại là không hoàn toàn (không giản nén, nén lại toàn bộ video) mà chỉ thao tác dựa vào phương thức nén
Lọc bỏ khung (Frame-dropping filter) : Phân biệt các loại khung và hủy các khung dựa vào việc phân chia ñộ quan trọng của chúng (ví dụ thứ tự hạ dần là B-frame, P-frame, I-frame) Bộ lọc bỏ frame dùng ñể làm giảm tốc ñộ truyền video bằng cách từ chối một số khung và truyền các khung còn lại ở tốc ñộ thấp
Lọc bỏ tầng (Layer-dropping filter) : Phân biệt các tầng và loại bỏ các tầng tùy theo ñộ quan trọng của chúng Việc loại bỏ các tầng theo thứ tự từ các tầng mở rộng cao nhất tới tầng cơ sở
Lọc theo tần số (Frequency filter) : thực hiện các thao tác ở tầng nén dữ liệu
Cơ chế của lọc theo tần số gồm ba thành phần :
Trang 17bị giảm ñi
Lọc lượng tử hóa lại (Re-quantization filter) : Thực thi các thao tác ở tầng nén dữ liệu Đầu tiên, bộ lọc trích các hệ số DCT từ các dòng video ñã ñược nén thông qua các kỹ thuật tương tự như bỏ lượng tử hóa Sau ñó, bộ lọc lượng tửng hóa lại các hệ số DCT với các bước lượng tử hóa lớn hơn, ñiều ñó tạo nên hiệu quả là giảm bớt tốc ñộ
1.1.2.2 Đ iều khiển lỗi
Bao gồm bốn cơ chế chính FEC (forward error correction), truyền lại (retransmission), mã hóa lỗi ñàn hồi (Error-resilient encoding) và che dấu lỗi (Error concealment
a FEC :
Nguyên lý của FEC là thêm thông tin vào thông ñiệp gốc ñể có thể xây dựng lại thông ñiệp trong trường hợp có mất mát xảy ra Các loại cơ bản của thông tin thêm vào gồm : Mã hóa kênh (channel coding), Mã hóa nguồn (source coding-based FEC) và
Mã hóa kết hợp nguồn/kênh (joint source/channel coding) Ta sẽ tìm hiểu từng loại thông tin thêm này
•Mã hóa kênh (channel coding) : Trong các ứng dụng Internet, mã hóa kênh thông thường sử dụng với thuật ngữ mã khóa khối (block codes) Mỗi một video ban ñầu chia ra làm các ñoạn (segment) Mỗi một ñoạn tương ứng với k gói tin Sau ñó ứng với mỗi ñoạn, phương pháp mã hóa khối ñược áp dụng cho k gói tin ñể tạo ra một khối n gói tin (n>k) Để chuyển ñổi tuyệt ñối một ñoạn, một người dùng chỉ cần bất kỳ
k gói tin trong số n gói tin kể trên
•Mã hóa nguồn (source coding-based FEC - SFEC) : Là phát kiến gần ñây nhất trong số các phương pháp FEC dành cho việc truyền video trên Internet Giống mã hóa kênh, mã hóa nguồn cũng thêm thông tin dư thừa ñể phục hồi Ví dụ, gói tin thứ n sẽ
Trang 188
chứa nhóm khối thứ n (group of blocks) và thông tin dư thừa của nhóm khối thứ n-1
Đó là một phiên bản nén của nhóm khối thứ n-1 với lượng tử lớn hơn
•Mã hóa kết hợp nguồn/kênh : là một cách tiếp cận ñể tối ưu phân bổ tỷ lệ giữa
mã hoá nguồn và mã hoá kênh
b Truyền lại với ràng buộc ñộ trễ :
Khi bên nhận phát hiện mất gói N, nếu (Tc + RTT + Ds < Td(N)) bên nhận sẽ gửi yêu cầu cho bên gửi ñể gửi lại gói N Ở ñây Tc là thời gian hiện tại, RTT là round trip time, Ds là một thuật ngữ yếu, Ds có thể bao gồm dung sai của sự ước lượng RTT, thời gian trả lời của bên gửi, thời gian giải mã, T(N) là thời gian mà N phải hiển thị
c Mã hóa lỗi ñàn hồi :
Mục ñích là ñể giảm thiểu lỗi của video ñã nén do việc mất gói tin Chuẩn chung của phương pháp mã hóa lỗi ñàn hồi bao gồm ñồng bộ lại nhãn, chia dữ liệu, khôi phục dữ liệu Nhưng, những cách thức này lại không phù hợp với môi trường wireless cũng áp dụng ñược cho môi trường internet Do vậy, chúng ta sẽ không xét các công
cụ ñàn hồi lỗi Thay vào ñó chúng ta sẽ trình bày phương thức mã hóa ña mô tả (MDC), phương thức này phù hợp hơn với việc truyền video trên Internet
Với MDC, một video gốc sẽ ñược mã hóa thành nhiều luồng theo cách sau : Mỗi một sự mô tả cung cấp chất lượng có thể chấp nhận ñược, kết hợp nhiều mô tả lại với nhau thì thu ñược chất lượng tốt hơn Ưu ñiểm của MCD là :
- Có tính kháng cự tốt với việc mất mát : Nếu một bên nhận nào ñó chỉ nhận ñược một mô tả, thì nó vẫn có thể thu ñược video với chất lượng chấp nhận ñược
- Có tính tăng cường chất lượng : Nếu một bên nhận nào ñó nhận ñược nhiều mô
tả khác nhau của video, thì nó có thể xây dựng ñược video có chất lượng tốt bằng cách kết hợp các mô tả lại với nhau (càng nhiều mô tả thì chất lượng càng tốt)
Tuy nhiên, những ưu ñiểm ñó có cái giá của nó Để tạo một mô tả cung cấp các chất lượng chấp nhận ñược, mỗi mô tả cần phải ñưa ra các thông tin cần thiết về truyền hình ban ñầu Thêm vào ñó, mặc dù kết hợp các mô tả ñể cung cấp chât lượng tốt hơn,
sự ñúng ñắn của việc kết hợp các mô tả có thể làm cho chất lượng nén sau này giảm ñi
Trang 199
1.1.2.3 Che dấu lỗi
Mã hóa lỗi ñàn hồi ñược thực thi bên gửi bằng cách tăng cường khả năng cự với việc mất mát cho video nén ngay cả khi có thể không có sự mất mát gói tin Người ta còn gọi ñây là phương pháp phòng bị, một cách tiếp cận khác gọi là phương pháp chống mất mát, ñược thực thi ở phía nhận khi mà việc mất gói tin là thực sự xảy ra phương pháp này gọi là che dấu lỗi Về cơ bản, phương pháp này che dấu sự mất mát
dữ liệu bằng cách trình diễn video sao cho không làm cho người xem nhận ra
Có hai phương thức thực thi việc che dấu lỗi, ñó là nội suy theo không gian và nội suy theo thời gian Trong phương thức nội suy không gian, các dữ liệu tại những ñiểm ảnh bị mất có thể ñược nội suy thông qua những hàng xóm của nó Còn nội suy thời gian thì sử dụng các dữ liệu của các frame nhận ñược ngay trước nó ñể xây dựng lại dữ liệu của frame bị mất
1.1.3 Dịch vụ phân phối phương tiện truyền thông liên tục
Sự hỗ trợ từ tầng mạng có thể cải thiện ñược ñộ trễ cũng như sự mất mát gói tin Việc streaming video cũng như audio ñược xếp vào truyền thông liên tục bởi vì chúng bao gồm một hàng ñợi phân ngạch truyền thông Chúng truyền các thông tin sao cho
ñủ ñể trình bày theo thời gian Xây dựng trên cơ sở Internet (giao thức IP), dịch vụ phân phối phương tiện truyền thông liên tục hướng tới mục ñích là cung cấp chất lượng dịch vụ, và ñạt ñược hiệu quả trong việc truyền video /audio trên cơ chế cố gắng tối ña của Internet Dịch vụ phân phối phương tiện truyền thông liên tục bao gồm 3 cơ chế chính là lọc dữ liệu ở tầng mạng, multicast trên tầng ứng dụng và nhân bản nội dung
a Lọc dữ liệu ở tầng mạng
Như kỹ thuật ñiều khiển tắc nghẽn, lọc dữ liêu ở tầng mạng cố gắng ñạt ñược chất lượng truyền thông tối ña trong ñiều kiện mạng tắc nghẽn Bộ lọc ở máy chủ truyền thông có thể ñiều chỉnh tỷ lệ truyền video streaming theo tình trạng của mạng Tuy nhiên, máy chủ quá bận nên không ñiều khiển ñược Do ñó, các nhà cung cấp dịch
vụ có thể cung cấp các bộ lọc ở mức mạng
Trang 2010
Hình 1.6 B ộ l ọ c ñượ c cài ñặ t ở t ầ ng m ạ ng
Hình 1.6 trên mô tả một ví dụ về việc ñặt bộ lọc ở tầng mạng Các node ñược ñánh nhãn “R” thông báo cho bộ ñịnh tuyến rằng không có thông tin về ñịnh dạng video streaming và có thể ngẫu nhiên vứt bỏ gói tin Các Node có nhãn “Fillter” nhận yêu cầu từ máy khách và ñiều chỉnh luồng gửi bởi máy chủ tương ứng Giải pháp này cho phép các nhà cung cấp dịch vụ có thể thay thế bộ lọc trên mỗi node bằng bộ lọc ở mạng Hơn nữa, có thể cung cấp nhiều bộ lọc trên ñường từ một máy chủ ñến máy khách
Hình 1.7 Mô hình h ệ th ố ng c ủ a b ộ l ọ c ở t ầ ng m ạ ng
Để mô phỏng vận hành của bộ lọc, mô hình hệ thống ñược chỉ ra trong Hình 1.7
Mô hình bao gồm máy chủ, máy khách và ít nhất một bộ lọc và hai kênh ảo giữa chúng Một kênh ảo dùng ñể ñiều khiển, kênh khác dùng cho dữ liệu Các kênh tương ứng tồn tại thành cặp với các bộ lọc Kênh ñiều khiển có hai hướng và có thể là các kết nối TCP Mô hình trên chỉ cho phép máy khách có thể kết nối với chỉ một máy (bộ lọc cuối cùng), và sẽ hoặc chuyển yêu cầu hoặc thực hiện luôn yêu cầu trên chúng Sự vận hành của bộ lọc trên dữ liệu phẳng bao gồm: Nhận video streaming từ máy chủ hoặc
bộ lọc trước, thực hiện các yêu cầu, truyền tiếp các yếu cầu tới bộ lọc trước của nó Thông thường, các bộ lọc loại frame ñược sử dụng trong lọc tầng mạng Bên nhận có thể thay ñổi băng thông của video streaming bằng cách gửi yêu cầu tới bộ lọc
ñể tăng/giảm tỷ lệ loại bỏ frame Để quyết ñịnh xem bộ lọc nên tăng hay giảm băng
Trang 2111
thông, bên nhận liên tục ño ñạc tỷ lệ mất gói tin p Dựa vào tỷ lệ mất gói tin, cơ chế
ñiều khiển tỷ lệ có thể ñược thực hiện Nếu tỷ lệ mất gói tin lớn hơn ngưỡng α, máy
khách sẽ yêu cầu bộ lọc tăng tỷ lệ loại frame Nếu tỷ lệ ñó thấp hơn ngưỡng khác β (β
< α) thì bên nhận sẽ yêu cầu bộ lọc giảm tỷ lệ loại frame
Ưu ñiểm của bộ lọc loại gói tin sử dụng trên tầng mạng là:
- Nâng cao chất lượng truyền thông: Ví dụ, khi một video streaming từ kết nối luồng trên với băng thông còn lại nhiều hơn tới kết nối luồng dưới với băng thông còn lại ít hơn, sử dụng bộ lọc loại frame tại ñiểm kết nối (giữa kết nối luồng dưới và kết nối luồng trên) có thể nâng cao chất lượng truyền thông Bời vì bộ lọc hiểu rằng ñịnh dạng của video streaming và có thể loại bỏ các gói tin theo cách tốt nhất ñảm bảo chất lượng luồng thay vào ngắt luồng
- Hiệu quả băng thông: bộ lọc có thể giúp lưu trữ tài nguyên của mạng bằng việc loại bỏ các frame tới trễ
b Multicast tầng ứng dụng
Các thiết kế trước ñó cho video streaming trên Internet thích hợp với cách truyền thông unicast (ñiểm-ñiểm) như email, trao ñổi file và trình duyệt Web, nhưng khó có thể hỗ trợ hiệu quả với việc truyền nội dung lớn
Chính vì vậy mà cơ chế truyền multicast ñã dần thay thế với những ưu ñiểm vượt trội Nó giảm tải cho máy chủ do mỗi node mạng có thể ñóng vai trò nhận dữ liệu và nguồn ñể tiếp tục truyền dữ liệu sang các node khác
c Nhân bản nội dung
Một kỹ thuật quan trọng cho nâng cao ñộ mở rộng của các hệ thống truyền thông
là việc nhân bản nội dung Nhân bản nội dung có hai loại: lưu trữ và phản chiếu Cả hai loại ñều tìm một nội dung ở các máy khác gần ñó và có ưu ñiểm:
- Giảm sử dụng băng thông trong kết nối mạng
- Giảm tải trên các máy chủ truyền thông
- Giảm ñộ trễ của máy khách
- Tăng ñộ sẵn có
Trang 2212
1.1.4 Máy chủ (streaming server)
Máy chủ luồng ñóng một vai trò quan trọng trong việc cung cấp dịch vụ video streaming Để ñưa ra những dịch vụ chất lượng cao, máy chủ luồng cần phải xử lý dữ liệu ña phương tiện với sự ràng buộc về thời gian Ngoài ra, máy chủ luồng cũng cần
hỗ trợ các hoạt ñộng ñiều khiển VCR Hơn nữa, nó cũng cần cung cấp chức năng truyền thông kiểu ñồng bộ
Để làm ñược ñiều ñó, thông thường, máy chủ luồng gồm các thành phần sau:
- Cơ cấu truyền: Một cơ cấu truyền tham gia vào tầng ứng dụng và các giao thức giao vận ñược thực hiện trong máy chủ Thông qua cơ cấu truyền, các máy khách có thể giao tiếp với một máy chủ và nhận nội dung ña phương tiện một cách liên tục và ñồng bộ
- Hệ ñiều hành: Khác với hệ ñiều hành thông thường, hệ ñiều hành cho máy chủ luồng cần phải có thời gian thực an toàn cho các ứng dụng luồng
- Hệ lưu trữ: phải hỗ trợ lưu trữ truyền thông liên tục và có thể truy cập ñược
1.1.5 Các giao thức video streaming
Nhiều giao thức ñã ñược thiết kế và chuẩn hoá cho giao tiếp giữa máy chủ luồng
và máy khách Theo tính năng, các giao thức này liên quan trực tiếp ñến video streaming Internet và có thể chia thành ba loại sau:
- Giao thức tầng mạng: Cung cấp dịch vụ mạng cơ bản như ñánh ñịa chỉ mạng Giao thức Internet (IP) phục vụ như giao thức tầng mạng cho việc video streaming trên Internet
- Giao thức tầng giao vận: Cung cấp các chức năng truyền tải giữa các ñiểm ñầu cuối trong ứng dụng video streaming Các giao thức bao giồm UDP, TCP, giao thức giao vận thời gian thực (RTP), giao thức ñiều khiển thời gian thực (RTCP) UDP và TCP là hai giao thức tầng giao vận thấp nhất trong khi RTP và RTCP là các giao thức tầng giao vận cao hơn
- Giao thức ñiều khiển phiên: Định nghĩa thông ñiệp và cơ chế ñể ñiều hiển dữ liệu truyền thông trong một phiên RTSP và giao thức thiết lập phiên (SIP – session initiation protocol) là các giao thức tầng giao vận
Trang 2313
1.1.6 Cơ chế ñồng bộ video streaming
Đồng bộ video streaming chính là việc bảo trì mối quan hệ tạm thời giữa một luồng dữ liệu với một số luồng truyền thông khác Có ba mức của ñồng bộ gọi là ñồng
bộ trong luồng, ñồng bộ luồng và ñồng bộ ñối tượng
- Đồng bộ luồng trong luồng: Tầng thấp nhất của truyền thông liên tục hoặc dữ liệu thời gian thực là tầng dữ liệu truyền thông Đơn vị của tầng truyền thông là các khối dữ liệu logic như frame truyền hình/truyền thanh Đồng bộ ở mức này ñược gọi là ñồng bộ luồng dư; bảo trì sự liên tục của các ñơn vị dữ liệu Không có ñồng bộ luồng
dư, trình diễn của luồng có thể bị ngắt bởi việc dừng và sự sai khác
- Đồng bộ luồng: tầng hai của dữ liệu thời gian thực là tầng luồng Đơn vị của tầng luồng chính là một luồng Đồng bộ ở tầng này chính là ñồng bộ luồng, có nhiệm
vụ bảo trì mối quan hệ giữa các truyền thông liên tục Không có ñồng bộ luồng, sự không khớp giữa các luồng có thể gây ra lỗi Ví dụ, người dùng sẽ thấy khó chịu khi việc di chuyển môi người nói không tương ứng với âm thanh
- Đồng bộ ñối tượng: Tầng cao nhất của tài liệu ña phương tiện là tầng ñối tượng,
ñó là sự kết hợp luồng và dữ liệu thời gian thực như chữ và hình ảnh Đồng bộ ở tầng này gọi là ñồng bộ ñối tượng Mục ñích của nó là bắt ñầu và kết thúc của trình diễn thời gian thực trong một khoảng thời gian vừa phải, nếu tại các ñiểm ñịnh nghĩa trước của ñối tượng truyền thông ñộc lập thời gian có thể ñạt ñược Không có sự ñồng bộ này, người xem của việc trình diễn slide có thể khó chịu vì tiếng bình cho một slide thì slide khác ñã hiển thị
Việc mã hóa video theo cách thông thường phải xác ñịnh các tham số kích cỡ khung, tốc ñộ khung, tốc ñộ dữ liệu và chất lượng video Một vấn ñề nảy sinh là các tham số này cố ñịnh khi mã hóa và rất khó thay ñổi Giả sử như mã hóa chuẩn với tốc
ñộ 6Mb/s sau ñó lưu trữ video ñã nén ở server, khi nó ñược yêu cầu streaming bên nhận mong muống tốc ñộ nhận dữ liệu sẽ là 6Mb/s nhưng vì một lý do nào ñó tốc ñộ
mà ñường truyền cung cấp chỉ tối ña là 4Mb/s Khi ñó, server phải thực hiện chuyển
mã ñể phù hợp với các tham số hiện tại, ñiều này ñòi hỏi sự tính toán rất lớn Có một phương pháp có thể giải quyết vấn ñề này là tạo ra nhiều bản sao của video trên server
ñể phục vụ cho yêu cầu khác nhau từ người dùng Tương tự như vậy, khi người xem yêu cầu chất lượng video khác nhau Điều này là rất quan trọng khi thương mại hóa bởi vì mỗi lớp người dùng, mỗi lớp khách hàng lại có một ñộ ưu tiên khác nhau Từ
Trang 2414
ñó, dẫn ñến việc cung cấp chất lượng cho các lớp khách hàng là khác nhau Để giải quyết những vấn ñề này mã hóa video mở rộng sinh ra, nó ñược sử dụng ñầu tiên trong MPEG-2 và phát triển hoàn thiện dần
Mã hóa video mở rộng là một kỹ thuật cho phép nén video một lần và cung cấp việc giải nén video với các thông số như tốc ñộ dữ liệu, tốc ñộ khung, ñộ phân giải và chất lượng video khác nhau Người ta còn gọi ñây là phương pháp mở rộng ñộng bởi
vì các tham số trên có thể thay ñổi bất kỳ thời gian nào trong quá trình truyền Ví dụ, khi mạng tắc nghẽn thì có thể truyền với tốc ñộ thấp hơn, và khi mạng rảnh rỗi thì có thể chuyển sang truyền với tốc ñộ cao hơn Dưới ñây là mô hình cấu trúc mã hóa video mở rộng
mã hóa sử dụng ba tầng : tầng cơ sở với tốc ñộ là 64kb/s, tầng mở rộng thứ nhất với tốc ñộ là 128kb/s và tầng mở rộng thứ hai với tốc ñộ là 128kb/s Ở bên nhận có thể giải mã ở tốc ñộ 64kb/s (tức là chỉ sử dụng tầng cơ sở) thì kết quả giải mã cho ra video
có chất lượng thấp nhất Nếu bên nhận giải mã ở tốc ñộ 192kb/s (sử dụng tầng cơ sở
và tầng mở rộng thứ nhất) thì kết quả cho ra là video có chất lượng trung bình Và ñể nhận ñược video có chất lượng cao nhất thì bên nhận phải giải mã ở tốc ñộ 320kb/s (sử dụng tầng cơ sở và hai tầng mở rộng)
Trang 2515
Với phương pháp phân tầng này, việc truyền video streaming không cần tới các phương thức mã hóa lại ñể tương thích với ñiều kiện môi trường Một mặt nữa, việc phân tầng làm cho vấn ñể cung cấp dịch vụ hướng người dùng trở nên dễ dàng Với lớp người dùng mà có nhu cầu cũng như ñộ ưu tiên cao hơn, server sẽ gửi cho họ nhiều hơn các tầng mở rộng từ ñó tăng chất lượng video ở ñầu cuối Với lớp người dùng có nhu cầu và ñộ ưu tiên thấp hơn, server vẫn có thể cung cấp cho họ một dịch
vụ video bình thường nhưng với chất lượng thấp hơn bằng cách giảm bớt gửi các luồng dữ liệu ở các mở rộng
Dịch vụ video streaming yêu cầu một số ñiều kiện kiên quyết sau :
• Bandwidth : Mỗi một ứng dụng video streaming ñều có một yêu cầu về băng thông nhỏ nhất ñể duy trì ứng dụng Tuy nhiên hệ với cơ sở hạ tầng Internet hiện tại, không có bất kỳ cơ chế nào ñể ñáp ứng ñiều kiện này
• Delay : Là khái niệm ñộ trễ của các gói tin ở hai ñầu cuối, hoặc cũng có thể bao gồm cả thời gian giải mã và hiển thị video Nếu gói tin không ñến ñược ñúng thời ñiểm thì video có thể bị dừng gây cảm giác khó chịu cho người dùng
• Loss : Mất gói tin là việc không thể tránh khỏi trên môi trường Internet Việc mất gói tin có thể gây ra hiện tượng méo mó hay mất ñi sự liên kết trong việc hiển thị video
Trong mô hình hệ thống video streaming như ñã trình bày ở phần trước, hầu như tất cả các thành phần của hệ thống ñều thực thi những thao tác kỹ thuật ñể thu ñược hiệu quả cao trong việc duy trì băng thông, giảm ñộ trễ và khắc phục mất gói tin Đây cũng chính là tư tưởng của việc ñảm bảo chất lượng dịch vụ trong video streaming Dịch vụ video streaming có tồn tại và hoạt ñộng một cách chất lượng hay không tất cả phụ thuộc vào việc ñảm bảo chất lượng dịch vụ
Tuy nhiên, với những môi trường mạng khác nhau trong những ñiều kiện khác nhau thì cần có thêm những cơ chế bổ sung cho việc này Ví dụ, trong mạng LAN thì việc ñảm bảo chất lượng dịch vụ cho video streaming có thể ñơn giản hơn là trong mạng WLAN bởi vì bản chất môi trường truyền của chúng là khác nhau Do ñó, các môi trường khác nhau cũng sẽ có những phương thức khác nhau ñể làm sao ñảm bảo chất lượng dịch vụ tốt nhất ở hạ tầng, nhằm mục ñích hỗ trợ tốt nhất cho các dịch vụ
sử dụng hạ tầng ñó
Trang 2616
Chương tiếp theo ta sẽ ñi nghiên cứu chuẩn IEEE 802.11e là chuẩn về ñảm bảo chất lượng dịch vụ trong mạng WLAN, ñể tìm hiểu xem phương pháp xây dựng ở hạ tầng mạng không dây ra sao có thể hỗ trợ cho dịch vụ video streaming trong ñiều kiện môi trường có nhiều tác nhân gây ảnh hưởng xấu tới dịch vụ này
Trang 2717
dịch vụ trong mạng không dây
Cũng giống như những chuẩn 802.x khác, IEEE 802.11 chỉ mô tả chuẩn giao thức ở tầng vật lý (PHY) và tầng ñiều khiển truy cập môi trường truyền (medium access control - MAC)
Tầng MAC thực thi khá nhiều nhiệm vụ nhưng nhiệm vụ chính và quan trọng nhất là truy cập môi trường truyền Chuẩn IEEE 802.11 MAC bao gồm hai cơ chế truy cập môi trường truyền : thứ nhất là chức năng phối hợp phân tán DCF và thứ hai là chức năng phối hợp ñiểm PCF DCF sử dụng giao thức ña truy cập cảm nhận sóng mang tránh tắc nghẽn CSMA/CA (Carrier sense multiple access with conllision avoidance) PCF sử dụng phương thức thăm dò với sự hỗ trợ của bộ phối hợp ñiểm
PC Cả hai phương thức có thể cùng ñược sử dụng trong một mạng BSS và sẽ ñược sử dụng lần lượt xen kẽ nhau Cơ chế DCF là bắt buộc trong khi PCF là tùy chọn Vì việc triển khai PCF phức tạp nên nhiều nhà sản xuất không hỗ trợ PCF
2.1.1 Các khoảng liên khung (Inter-frame space)
Khoảng liên khung là khoảng thời gian giữa hai frame liên tiếp xuất phát từ một trạm trong mạng không dây Có bốn loại khoảng liên khung tương ứng với bốn mức
ñộ ưu tiên truy cập kênh truyền khác nhau Dưới ñây là danh sách bốn loại IFS nói trên sắp xếp theo thứ tự từ ngắn ñến dài
- SIFS (short inter-frame space)
- PIFS (PCF inter-frame space)
- DIFS (DCF inter-frame space)
- EIFS (extended inter-frame space)
Trang 2818
Hình 2.1 Các kho ả ng liên khung IFS trong 802.11
a Short Interframe Space (SIFS) :
Là khoảng thời gian nhỏ giữa các frame dữ liệu và ACK của nó Chúng ñược sử dụng cho các trạm có ñộ ưu tiên cao nhất yêu cầu truy cập kênh truyền ñầu tiên Giá trị này là cố ñịnh dựa vào tầng vật lý phía dưới Thông thường các dữ liệu ñược truyền sau khoảng liên khung này là ACK (acknowledgement), RTS (Request to send) và CTS (Clear to send) messages
Giá trị PIFS ñược tính thông qua công thức : PIFS = SIFS + Slot time [4]
c DCF inter-frame space (DIFS) :
Là khoảng liên khung sử dụng trong phương pháp truy cập kênh truyền DCF Các khung dữ liệu phải ñợi một khoảng thời gian là DIFS mới ñược phép truyền ñi Giá trị DIFS ñược tính theo công thức : DIFS = SIFS + 2 * Slot time [4]
d Extended Interframe space (EIFS) :
Nếu frame ñến kế trước có lỗi thì trạm phải ñợi một khoảng thời gian là EIFS thay vì DIFS trước khi truyền frame
EIFS ñược tính theo công thức : EIFS = SIFS + DIFS + ACKTxTime [4]
ACKTxTime là thời gian cần thiết ñể truyền một frame ACK
Trang 2919
2.1.2 Chức năng phối hợp phân tán (Distributed Coordination Function - DCF)
Là phương pháp cơ bản sử dụng trong IEEE 802.11 MAC DCF còn ñược biết ñến như là cơ chế cảm nhận sóng mang ña truy cập môi trường truyền tránh tắc nghẽn (CSMA/CA), sử dụng thủ tục quay lui ngẫu nhiên (backoff) Đồng thời, tất cả các gói gửi ñi ñều ñược xác nhận bởi frame ACK và bên gửi sẽ gửi lại gói tin nếu không nhận ñược frame ACK xác nhận từ bên nhận
Khi một trạm muốn truyền dữ liệu, nó phải xác ñịnh là kênh truyền có rỗi hay không Nếu rỗi thì nó ñược phép truyền ngay, còn nếu môi trường truyền ñược xác ñịnh là bận thì trạm phải chờ cho ñến khi phiên truyền ñang tồn tại kết thúc, sau ñó trạm phải ñợi một khoảng thời gian backoff ngẫu nhiên mới ñược phép truy cập kênh truyền
2.1.2.1 Thủ tục quay lui ngẫu nhiên (random backoff)
Hình 2.2 Th ủ ụ c quay lui ng ẫ u nhiên trong DFC
Khi một trạm muốn truyền dữ liệu, nó sẽ kiểm tra xem trạng thái kênh truyền là bận hay rỗi bằng các sử dụng các cơ chế cảm nhận sóng mang (CS mechanism) Nếu môi kênh truyền là bận, trạm phải ñợi cho tới khi môi trường rỗi, sau ñó trạm sẽ ñợi một khoảng thời gian chính bằng giá trị của DIFS trong trường hợp khung dữ liệu ñã truyền trước ñó ñược xác ñịnh là không có lỗi, hoặc nó phải ñợi một khoảng thời gian
là EIFS nếu như phát hiện ra có lỗi xảy ra khi nhận khung dữ liệu ñã truyền trước ñó Sau khoảng liên khung này , các trạm sẽ sinh ra một khoảng thời gian ngẫu nhiên và sẽ giảm dần biến ñếm backoff Khi biến ñếm backoff giảm ñến 0, trạm sẽ ñược phép truyền Nếu kênh truyền ñược xác ñịnh là bận trong khoảng thời gian backoff thì thủ tục backoff sẽ tạm dừng, biến ñếm backoff ñược giữ nguyên giá trị Khi kênh truyền rỗi thì thủ tục backoff sẽ ñược phép bắt ñầu lại với giá trị ñang tạm dừng lần trước
Trang 3020
Việc các trạm chọn các khoảng thời gian ngẫu nhiên khác nhau làm giảm thiểu khả năng xung ñột giữa các trạm mà ñã chờ kênh truyền ở cùng một thời ñiểm
Giá trị backoff ñược xác ñịnh theo công thức :
Backoff Time = Random() x aSlotTime
Trong ñó :
- aSlotTime : là giá trị tương ứng với ñặc ñiểm của tầng vật lý (PHY)
- Random() : là một giá trị ngẫu nghiên nằm trong khoảng [0,CW], ở ñây CW là cửa sổ tranh chấp, một giá trị số thực nằm trong khoảng giá trị CWMin và CWMax (hai giá trị này là ñặc ñiểm của tầng vật lý)
CW khởi tạo từ giá trị CWMin và sau mỗi lần khung truyền không thành công thì giá trị này lại ñược tăng gấp ñôi, và thủ tục backoff mới lại ñược bắt ñầu, giá trị CW
cứ tăng với cấp số nhân như thế sau mỗi lần truyền dữ liệu không thành công cho tới khi nó ñạt tới ngưỡng CWMax, thì CW sẽ giữ nguyên giá trị ñó (không tăng nữa cho
dù có truyền không thành công) CW sẽ ñược thiết lập lại sau khi dữ liệu ñược truyền thành công
2.1.2.2 Thủ tục xác nhận ACK
Hình 2.3 Th ủ t c xác nh ậ n ACK
Khi một trạm nhận ñược một khung và xác ñịnh rằng nó không bị lỗi Trạm sẽ gửi lại cho bên gửi một khung ACK nhằm mục ñích xác nhận rằng nó ñã nhận ñược khung dữ liệu Khung ACK chỉ sử dụng trong trường hợp nhận ñược gói tin unicast
Trang 3121
còn nếu gói tin nhận là gói tin multicast hoặc broadcast thì khung ACK không ñược sử dụng Khung ACK chỉ cần phải ñợi một khoảng liên khung là SIFS và không phải thực hiện thao tác backoff trước khi truyền ñi, ñiều này làm cho nó có ñiều kiện ñược truyền ñi trước nếu như môi trường có nhiều trạm có yêu cầu truyền Trạm gửi sẽ chờ một khoảng thời gian là ACKTimeout, sau khoảng thời gian này nếu nó không nhận ñược khung ACK ứng với khung dữ liệu mà nó gửi ñi thì nó sẽ gửi lại khung dữ liệu
ñó
2.1.3 Chức năng phối hợp ñiểm (Point Coordination Function - PCF)
Một phương pháp truy cập khác trong IEEE 802.11 MAC nữa là phương pháp chức năng phối hợp ñiểm (PCF) Điểm khác biệt ñầu tiên của phương pháp này với phương pháp DCF là DCF có thể sử dụng trong cả mạng ad-hoc cũng như hệ thống mạng không dây có cấu trúc BSS Nhưng phương pháp PCF thì chỉ sử dụng ñược trong các hệ thống BSS, bởi vì trong phương pháp này yêu cầu sử dụng bộ phối hợp ñiểm (PC) nằm trong AP ñể xác ñịnh trạm nào có yêu cầu truyền Bộ phối hợp ñiểm
PC nằm trong AP sẽ ñiều khiển việc truyền dữ liệu Bộ phối hợp ñiểm cài ñặt danh sách thăm dò và tiến hành việc thăm dò các trạm trong mạng
2.1.3.1 Chu kỳ không tranh chấp
Hình 2.4 Chu k ỳ tranh ch ấ p và chu k ỳ không tranh ch ấ p
Trong PCF ta ñưa ra khái niệm chu kỳ không tranh chấp và chu kỳ tranh chấp Chu kỳ tranh chấp (Contention period) sử dụng DCF và chu kỳ không tranh chấp (Contention free period) sử dụng PCF Hai chu kỳ này là luân phiên thay thế nhau Mỗi chu kỳ tranh chấp ñược bắt ñầu bằng việc AP sẽ gửi một khung beacon là một khung quản lý ñặc biệt, trong khung này có chứa giá trị CFP-MaxDuration là khoảng thời gian tối ña của chu kỳ không tranh chấp Bởi vì việc truyền khung beacon có thể