1.Truyền thông đa phương tiện
Việc triển khai các ứng dụng có chất lượng cao ngày một nhiều và đa dạng. Lưu lượng giao thông mạng từ các ứng dụng đặc biệt cần được bảo vệ và có sự ưu tiên khác nhau, đặc biệt là truyền thông Multimedia là loại ứng dụng nhạy cảm với độ trễ (delay) và thăng giáng độ trễ (jitter), tuy nhiên chúng lại cho phép sự mất mát gói tin ở một mức độ nào đó. Như vậy so với các ứng dụng truyền thống, trong đó cho phép độ trễ, thăng giáng độ trễ lớn nhưng không chấp nhận việc mất mát dự liệu thì tính chất của nó hoàn toàn ngược lại. Ví dụ: Trong các ứng dụng thì dữ
liệu Voice cần được ưu tiên trước các ứng dụng như video hay data để đảm bảo tính chính xác và tính thời gian thực. Những chính sách để đảm bảo chất lượng dịch vụ - QoS (Quality of service) đóng một vai trò quan trọng trong việc nghiên cứu và điều hành mạng.
Có 3 lớp ứng dụng truyền thông Multimedia chính như sau:
Truyền audio và video đã được lưu trữ: Loại ứng dụng này hiện nay là phổ biến hiện nay trên Internet, các files audio hoặc video đã được lưu trữ sẵn trên các máy phục vụ (server), người dùng tại các máy trạm (client) truy cập đến để tải về sử dụng. Các files audio có thể là các bài hát, bài giảng, hoặc các đoạn băng được ghi âm từ trước,... Các files video có thể là những bộ phim, video clips, các đoạn video của những sự kiện thể thao, giải trí.v.v. Đa số ứng dụng này, sau một thời gian trễ vài giây, các máy trạm có thể bắt đầu chạy được các phần đã tải về của file trong khi chúng vẫn tiếp tục nhận phần còn lại từ server. Nhiều ứng dụng còn cho phép tính năng tương tác với người dùng: cho phép người dùng thực hiện các chức năng thông dụng như: pause, play, next, previous. Từ lúc người dùng đưa ra yêu cầu đến khi nhận được đáp ứng khoảng từ 1 – 10s là có thể chấp nhận được. Yêu cầu đối với độ trễ và jitter không chặt chẽ bằng ở trong ứng dụng thời gian thực như điện thoại Internet, video conference thời gian thực... Các chương trình dùng để chạy các file audio/video được lưu trữ trên mạng hiện nay như: RealOne Player, Winamp, Windows Media Player…
Truyền audio và video thời gian thực: Ứng dụng loại này tương tự như phát thanh và truyền hình quảng bá nhưng được thực hiện trên Internet, cho phép người dùng nghe/xem được các chương trình phát thanh/truyền hình trực tuyến từ bất kỳ nơi nào trên thế giới. Chẳng hạn người dùng có thể nghe đài BBC phát từ Anh, các kênh truyền hình VTV phát đi từ Hà nội từ bất kỳ máy nào kết nối Internet. Đặc trưng của lớp
ứng dụng này là nhiều người có thể đồng thời nhận được cùng một chương trình audio/video. Tuy nhiên, các ứng dụng này không cho phép tương tác người dùng và độ trễ các ứng dụng loại này cho phép tối đa là 10s như lớp ứng dụng truyền audio/video được lưu trữ. Việc phân phối audio/video cho nhiều người dùng được thực hiện bằng kỹ thuật multicast hoặc nhiều dòng unicast riêng biệt cho mỗi người nhận, tùy vào việc cài đặt.
Ứng dụng tương tác audio và video thời gian thực: Lớp ứng dụng này cho phép nhiều người dùng sử dụng audio/video để tương tác với nhau trong thời gian thực. Một ứng dụng tiêu biểu của audio thời gian thực là điện thoại Internet, nó cung cấp dịch vụ điện thoại cục bộ cũng như điện thoại đường dài với giá rẻ hơn nhiều so với điện thoại truyền thống. Các ứng dụng cho audio thời gian thực có thể kể đến như: Voice Chat trong Yahoo Messenger, Skype, Palm Talk.. Đối với ứng dụng video thời gian thực, điển hình là Hội thảo trực tuyến (video conferencing), trong đó các “đại biểu” có thể giao tiếp với nhau bằng cả âm thanh và hình ảnh. Trong quá trình hội thảo, mỗi “đại biểu” được hiển thị trên một cửa sổ giao diện chương trình người dùng, khi cần giao tiếp với ai người ta chỉ cần mở cửa sổ tương ứng với người đó. Hiện nay đã có nhiều ứng dụng cho video thời gian thực như Microsoft Netmeeting, Yahoo Messenger,.. Trong các ứng dụng tương tác audio/video thời gian thực thì yêu cầu độ trễ nhỏ hơn vài trăm miligiây. Với âm thanh, độ trễ tốt nhất là nên nhỏ hơn 150 ms, với độ trễ từ 150-400ms thì có thể chấp nhận được, còn lớn hơn 400 ms thì không thể chấp nhận được.
Tất cả các ứng dụng trên phải đối mặt với một số vấn đề:
Sự thiếu hụt về băng thông: Những file đồ họa lớn, đa phương tiện, âm thanh, hình ảnh … là nguyên nhân gây ra vấn đề thiếu hụt băng thông trên mạng do kích cỡ lớn và yêu cầu về độ trễ rất ít.
Trễ đầu cuối (End –to – end delay) : Tổng độ trễ của một gói tin từ thực thể gửi cho đến thực thể nhận không đảm bảo cho các ứng dụng multimedia hoạt động hiệu quả.
Thăng giáng độ trễ (jitter): Là sự biến thiên về độ trễ về thời gian đến của các gói tin dọ trong cùng một luồng. Đặc biệt trong truyền tải âm thanh thì đòi hỏi giảm jitter là rất cần thiết.
Mất gói tin (Packet loss): Mất gói tin thường là do tắc nghẽn trên đường truyền WAN.
Do đó vấn đề đảm bảo chất lượng dịch vụ (QoS) được đặt ra, có thể nói QoS được sử dụng để giảm jitter, độ trễ, mất gói tin và chia sẻ băng thông hợp lý với những độ ưu tiên khác nhau cho các loại dữ liệu khác nhau của những ứng dụng nhậy cảm với thời gian. Một số mô hình đảm bảo QoS được trình bày dưới đây.
2. Một số mô hình QoS:
Best-effort: Mô hình thông dụng nhất trên Internet, không đảm bảo QoS, coi mọi luồng, gói tin đến là như nhau, sử dụng hằng đợi FIFO. Mô hình này có những lợi điểm như đơn giản, khả năng triển khai cao, không yêu cầu về cài đặt kỹ thuật phức tạp nhưng lại có nhiều nhược điểm như Tỷ lệ mất gói tin cao khi xảy ra tắc nghẽn: các gói tin của giao thức TCP, UDP, RTP được đóng gói trong những gói IP và được truyền qua mạng qua các Router trên đường truyền, nếu bộ đệm của những Router này đầy nó sẽ loại bỏ các datagram đó. Độ trễ end-to-end cao: Độ trễ này có thể lên tới trên 400ms, vượt quá mức tối đa có thể chấp nhận được (độ trễ chấp nhận được là trong khoảng 150ms – 400ms). Jitter lớn: Sự biến thiên thời gian đến của các gói tin (jitter) trong phân lớp này rất lớn, có gói tin đến đích thì quá nhanh còn có các gói tin đến lại quá chậm, nếu bên nhận bỏ qua jitter chạy ngay đoạn âm thanh
hình ảnh này sẽ không đạt được kết quả như mong đợi, thậm chí không có sự chính xác.
IntServ (Intergrated services model): Mô hình này hỗ trợ việc đảm bảo chất lượng cho các ứng dụng thời gian thực, đảm bảo phân tải và có thể dự đoán trước tình trạng mạng cho ứng dụng. Mô hình này sử dụng giao thức RSVP (Resource Reservation Protocol ) là một giao thức báo hiệu. Trước khi truyền dữ hiệu, ứng dụng truyền thông sử dụng giao thức này gửi tới tất cả các thiết bị tham gia vận tải dữ liệu trên đường truyền (các router) một yêu cầu đặt trước về băng thông, tốc độ truyền số liệu…Để triển khai được thì mọi thiết bị trên đường truyền phải hỗ trợ mô hình này. Một số chức năng trên các Router và Switch khi triển khai mô hình này là:
o Admission Control: Để những luồng mới không ảnh hưởng đến những luồng dữ liệu đã đặt trước đang thực hiện
o Classification: Sự phân lớp các gói tin trong để có các cách ứng xử khác nhau.
o Scheduling: Xác định khi nào thì chuyển tiếp gói tin.
o Ngoài ra còn có thêm các chức năng như: Policing và Queuing.
Các ưu điểm của mô hình QoS này là: Quản lý tài nguyên một cách rõ ràng nhờ chức năng adminsion control, chất lượng được bảo đảm tốt. Tuy nhiên mô hình này cũng gặp không ít khó khăn trong lúc triển khai như khó triển khai rộng, kỹ thuật phức tạp, có thể gây lãng phí tài nguyên.
DiffServ Model (The diffirentiated Services Model): Được thiết kế để khắc phục những hạn chế của các mô hình best-effort và intServ. Lưu lượng mạng được phân lớp ở lớp 2 (CoS,802.1p, MPLS EXP, Frame Relay) hoặc lớp 3 (DSCP, IP precedent), chính sách về QoS được đối xử theo các lớp. Mô hình này được
xem như là đảm bảo QoS mềm (Soft QoS), được sử dụng mà không cần có giao thức báo hiệu, được quản lý theo từng chặng (hop-by-hop) bằng các chính sách thiết lập độc lập với mỗi thiết bị trung gian. Mô hình QoS này có những ưu điểm là tính khả triển cao và có thể có nhiều cấp độ chất lượng. Tuy nhiên, nó cũng có những nhược điểm là không bảo đảm tuyệt đối về chất lượng vì được triển khai khác nhau và không cần phải đặt trước tài nguyên, ngoài ra kỹ thuật của mô hình này cũng khá phức tạp.
Tóm lại, để triển khai một mạng có hiệu suất cao, người ta phải kết hợp nhiều phương pháp như nâng cao chất lượng đường truyền, bộ vi xử lý của các thiết bị mạng, nâng cấp các bộ xử lý QoS ở các thiết bị trung gian trên đường truyền mạng hay cải tiến các giao thức với những cách thức xử lý lỗi và điều khiển luồng phù hợp. Phần tiếp theo, ta sẽ hệ thống lại một số kỹ thuật trong các giao thức phổ biến.
III. Một số kỹ thuật xử lý hàng đợi
Các gói tin khi đi qua mạng bao giờ cũng có một độ trễ nhất định, trong đó có độ trễ do gói tin phải được lưu vào các hàng đợi của các router để chờ được chuyển tiếp đến đích. Những thuật toán hàng đợi là một trong những cách chính để quản lý tắc nghẽn tạm thời trên mạng, phục vụ việc đảm bảo chất lượng dịch vụ vận chuyển. Những thuật toán hàng đợi có ảnh hưởng lớn đến hiệu suất mạng.
Các thuật toán quản lý hàng đợi:
Firt in Firt out (FIFO) hay First Come First Serve (FCFS): Là
thuật toán đơn giản, gói tin nào đến trước thì được gửi đi trước, chỉ cần sử dụng một hàng đợi duy nhất.
Hình 3.2 Queue trong thuật toán FIFO
Tất cả các gói tin đến được đưa vào một hàng đợi duy nhất, không có sự phân biệt theo mức ưu tiên của chúng. Đây là một hạn chế của chiến lược FIFO, vì có thể nhiều gói tin có mức ưu tiên cao sẽ bị loại, trong khi các gói tin có độ ưu tiên thấp hơn lại được phục vụ. Mặt khác, các luồng có sự tăng đột biến về thông lượng thường gây ra sự chiếm giữ độc quyền đường truyền, dẫn tới không công bằng cho các luồng khác.
Hình 3.3 Thuật toán FIFO
Ví dụ việc chuyển tiếp 5 gói tin theo cơ chế FCFS. Các gói tin đến (miền arrivals) được đánh số thứ tự từ 1 đến 5, trong đó gói 2 có mức ưu tiên thấp hơn các gói khác. Miền packet in service minh hoạ thời gian phục vụ các gói tin, mỗi gói tin được phục vụ trong một khe thời gian. Miền departures thể hiện thời điểm các gói tin thực sự được truyền đi. Theo hình vẽ, gói tin thứ 2 có độ ưu tiên thấp hơn gói 3, nhưng nó vẫn được phục vụ trước vì nó đến trước gói 3, sau đó là các gói 4, 5.
Hình 3.4 Ví du về thuật toán FIFO
Priority Queuing: Sử dụng nhiều hàng đợi và có sự phân biệt mức
ưu tiên, các hàng đợi lần lượt được đưa vào sử dụng. Hết Q1 sẽ đến Q2 cho đến hết. Cũng chính vì vậy mà một số luồng dữ liệu có độ ưu tiên thấp có thể không bao giờ được truyền đi.
Hình 3.5 Queue trong thuật toán Priority
Việc nhận biết các lớp ưu tiên thông qua các giá trị chứa trong header của các gói tin, mỗi lớp gói tin có một hàng đợi riêng. Bộ lập lịch của hàng đợi ưu tiên sẽ chọn các gói tin từ lớp có độ ưu tiên cao nhất nếu hàng đợi dành riêng cho chúng không rỗng để truyền đi; sau khi truyền hết các gói tin trong hàng đợi ưu tiên cao nhất nó mới truyền các gói tin
của hàng đợi có ưu tiên tiếp theo, v.v... Các gói tin trong một lớp ưu tiên được chọn theo cơ chế FCFS.
Hình 3.6 Thuật toán Priority Queuing
Ví dụ việc sử dụng 2 lớp ưu tiên, các gói tin 1, 3, 4 thuộc lớp có độ ưu tiên cao; các gói tin 2, 5 thuộc lớp có độ ưu tiên thấp hơn. Gói 1 tới hàng đợi đầu tiên, khi đó đường truyền đang rỗi, nó được truyền đi ngay. Sau đó gói tin thứ 2 và thứ 3 tới, gói thứ 2 có độ ưu tiên thấp nên gói thứ 3 được truyền trước, rồi tới gói thứ 2. Khi gói thứ 2 đang được truyền thì gói thứ 4 có độ ưu tiên cao tới hàng đợi, gói tin thứ 2 vẫn tiếp tục được truyền chứ không bị ngắt lại. Sau khi gói tin thứ 2 truyền xong tới gói thứ 4, v.v..
PQ được cấu hình tĩnh, và không được hiệu chỉnh tự động theo sự thay đổi yêu cầu của mạng.
Mặc dù PQ cung cấp một cách tiếp cận lập lịch đơn giản, nhưng nó có thể gây ra sự thiếu băng thông cho các luồng có mức ưu tiên thấp. PQ có thể dành hết băng thông để phục vụ cho luồng có ưu tiên cao, và nếu băng thông hạn chế thì có thể dẫn tới những luồng thấp hơn không bao giờ được phục vụ. Để tránh xảy ra tình trạng này, PQ phải được kết hợp với các kỹ thuật nhằm hạn chế tốc độ của các lưu lượng có mức ưu tiên cao, như Shaping hay CAR (Committed Access Rate).
Round Robin: Sử dụng nhiều Queues, không có sự ưu tiên và truyền lần
lượt các Queue, mỗi Queue một gói tin và lại lặp lại. Thuật toán này thường bắt đầu từ trên xuống dưới. Nếu tất cả các gói tin là cùng cỡ, tất cả các Queue chia sẻ băng thông là như nhau. Tuy nhiên thuật toán này lại không có sự ưu tiên.
Hình 3.8 Queue trong thuật toán Round Robin
Cơ chế này đơn giản và dễ dàng cài đặt, tuy nhiên nó không giải quyết được sự cấp phát dải thông công bằng do không quan tâm đến đặc tính lưu lượng của các luồng gói tin đến như độ dài hàng đợi hiện tại, mức độ ưu tiên của mỗi luồng gói tin. Vì vậy, những luồng có hàng đợi
dài (nhiều gói tin đang chờ) hoặc có mức ưu tiên cao hơn cũng chỉ được cấp một lượng dải thông như các luồng khác.
Weighted Round Robin: Là thuật toán được phát triển nhằm cung cấp khả
năng ưu tiên cho thuật toán round robin dựa vào việc phục vụ theo trọng số cho mỗi queue. Thuật toán này vận chuyển các gói tin từ mỗi queue tương xứng với trọng số mà nó được gán, sau đó lại chuyển đến các Queue khác.
Hình 3.9 Queue trong thuật toán Weighted Round Robin
Ngoài ra còn một số thuật toán Queues khác như: WFQ (Weight Fair Queue), CBWFQ (Class base Fair queue), LLQ (Low letance queue)
Phương pháp dành chỗ trước tài nguyên đảm bảo được QoS nhưng rất khó biết chính xác về những thành phần của luồng nên hiệu quả sử dụng mạng thấp do lúc nào cũng phải dành trước tài nguyên ngay cả khi không có nhu cầu. Đồng thời khó khăn và phức tạp trong việc triển khai do không dễ dàng xác định được cần phải mở rộng băng thông là bao nhiểu để cải thiện chất lượng dịch vụ trong tình trạng dưới tải.
Với kỹ thuật ưu tiên những gói dữ liệu khác nhau hoặc những luồng khác nhau được đánh dấu với những mức độ ưu tiên khác nhau và vì vậy được đối xử khác nhau ở tất cả các router trên mạng.
Các kỹ thuật xử lý Queue ở trên nhằm đảm bảo chất lượng dịch vụ cho các ứng dụng truyền thông đa phương tiện. Những gói tin âm thanh và hình ảnh được gán mức ưu tiên cao luôn được ưu tiên xử lý trước. Các kỹ thuật quản lý hàng đợi được cài đặt trên các bộ định tuyến hay các nút trung gian trên các chặng đường của gói tin. Tuy nhiên, không phải thiết