Giao thức TCP/UDP

Một phần của tài liệu Nghiên cứu công nghệ nén và truyền video streaming hiệu quả qua mạng di động và phát triển ứng dụng (Trang 25 - 28)

Trước hi tìm hiểu về các giao thức chuyên biệt cho streaming, chúng ta sẽ xem xét tính hả thi của việc dùng các giao thức internet hiện có cho các ứng dụng streaming. Internet đã hỗ trợ giao thức ở tầng giao vận (transport) đó là TCP (Transmission Control Protocol) và UDP (User Datagram Protocol). TCP được sử dụng bởi hầu hết các ứng dụng internet như WWW, FTP, Telnet, … Đây là giao thức hướng ết nối và trong đó bao gồm các thành phần: điều hiển lỗi, điều hiển luồng, tránh tắc nghẽn, Nói cách hác TCP cung cấp 1 lá chắn giúp cho các ứng dụng tránh hỏi các phức t p trong quản l lưu lượng dữ liệu qua m ng internet. Điều này làm đơn giản hóa việc phát triển ứng dụng và TCP có các thuộc tính mong muốn – chia sẻ tài nguyên m ng với các luồng c nh tranh lưu lượng m ng theo cách hợp l . Vậy một câu hỏi đặt ra là TCP có giúp cho việc streaming video 1 cách thuận tiện hông?

Hình 1.4. Mô hình của giao thức TCP [8]

Câu trả lời phụ thuộc vào b ng thông (banwidth) yêu cầu, đặc tính m ng và chất lượng mong muốn của dịch vụ… Ví dụ nếu b ng thông m ng lớn hơn tốc độ dữ liệu thì streaming qua TCP sẽ ho t động tốt. Theo cách đó, hi người dùng yêu cầu nội

dung đa phương tiện dùng giao thức siêu v n bản HTTP thì web server sẽ gửi dữ liệu đa phương tiện đó qua giao thức HTTP 1 cách đơn giản, và các giao thức này sử dụng giao thức TCP để chuyển dữ liệu. Khi web server hông thực hiện streaming dữ liệu đa phương tiện một cách rõ ràng, nó sẽ truyền dữ liệu này với tốc độ như tốc độ mà m ng cho phép bất chấp tần số dữ liệu thực (data rate) của dữ liệu đa phương tiện này như thế nào. Phía client (máy khách), sau hi đã nhận được chắn chắn 1 lượng dữ liệu về sẽ bắt đầu thực hiện hiển thị (playback) ngay mà hông cần đợi toàn bộ dữ liệu của đối tượng được nhận về đầy đủ. Chỉ cần luồng dữ liệu đa phương tiện thỏa mãn tôc độ dữ liệu của quá trình playbac thì ết quả nhận được sẽ giống như streaming.

Streaming qua HTTP có nhiều thuận tiện rõ nét. Thứ nhất, hi web server được dùng để phục vụ nội dung đa phương tiện, nhà cung cấp hông cần phải đầu tư thêm media server chuyên dụng. Thứ hai, việc triển hai đơn giản và lưu lượng m ng được coi như lưu lượng của dịch vụ web và cho phép nó trở nên trong suốt với fireware và gateway. Thứ ba, với sự hộ trợ giao thức HTTP rộng rãi, sẽ giúp nâng cao tính tương thích với các ứng dụng phía client.

Tuy nhiên, nhược điểm của việc streaming qua HTTP/TCP chính là hiệu n ng (performance). Ở tầng ứng dụng, web server hông được thiết ế để chuyển các dữ liệu đa phương tiện nh y cảm thời gian và do đó hông phải lúc nào cũng cho phép đảm bảo việc playbac dữ liệu đa phương tiện một cách trơn tru, hông giật hi server phục vụ một lượng lớn người dùng. Ở tầng giao vận (transport), giao thức TCP được thiết ế cho các ứng dụng nói chung và do đó hông có sự hỗ trợ đặc biệt nào cho các ứng dụng nh y cảm về mặt thời gian và thông lượng như streaming media.

Ví dụ, thuật toán điều hiển tắc nghẽn của TCP sẽ làm giảm tốc độ truyền dữ liệu sau hi thiết lập ết nối (thuật toán slow-start) bất chấp thông lượng mà ứng dụng đòi hỏi. Hơn thế nữa, đặc tính điều hiển lỗi của TCP yêu cầu tính đúng đắn và tính tuần tự của dữ liệu. Ngh a là nếu 1 đo n dữ liệu bị mất, thì bên gửi sẽ phải gửi l i

đến hi bên nhận thông báo là nhận được đúng đo n dữ liệu đó hoặc là nó sẽ hủy bỏ quá trình truyền và ngắt ết nối. Trong ứng dụng streaming đây hông phải là điều luôn mong muốn, vì mỗi dữ liệu đa phương tiện có 1 thông tin định thời và nó phải được playbac ở thời điểm định trước, nếu hông dữ liệu đó sẽ trở nên vô ích. Theo đó, nếu việc truyền l i làm cho dữ liệu được nhận về sau thời điểm deadline dành cho đo n dữ liệu đó thì dữ liệu đó sẽ hông có ích và sẽ được hủy bỏ bởi nơi nhận. Trong trường hợp này, thông lượng dành cho việc truyền l i là lãng phí. Trong trường hợp xấu nhất, thuật toán điều hiển tắc nghẽn (congestion control algorithms) của giao thức TCP sẽ coi gói tin bị mất như một dấu hiệu của việc nghẽn m ng, theo đó nó sẽ giảm tốc độ truyền bằng cách giảm ích thước cửa sổ nghẽn. Nó hiến cho bên gửi sẽ hông gửi thêm được dữ liệu đến hi ích thước cửa sổ nghẽn trở l i bình thường sau hi nhận được đủ số gói tin phản hồi (ack) từ phía bên nhận dữ liệu. Điều này sẽ gây ra 1 vấn đề trong hệ thống streaming media đó là: việc trì hoãn truyền dữ liệu đa phương tiện sẽ hiến cho chúng bị vượt quá thời h n deadline, do đó dữ liệu đó sẽ bị bỏ qua mặc dù chúng thực sự được truyền đi qua m ng và được client nhận về.

Hình 1.5.Ví dụ về trường hợp dữ liệu streaming nhận về sau thời điểm deadline [8]

Ngược l i, Giao thức UDP (User Datagaram Protocol) hông gặp phải các vấn đề trên của TCP do tính đơn giản của nó. UDP hông có bộ điều hiển nghẽn, điều hiển lỗi, điều hiển luồng. Do đó bản thân giao thức này hông gây trễ thêm (bỏ qua thời gian xử l và việc trễ gói tin) như các thuật toán điều hiển luồng, điều hiển nghẽn của TCP, do đó nó thích hợp trong việc truyền các dữ liệu đa phương tiện nh y cảm thời gian. Tuy nhiên, trong streaming media đôi hi vẫn cần phải thực hiện điều hiển luồng, chống tắc nghẽn, cũng như lấy l i gói tin bị mất. Điểm mấu chốt là hi thực hiện các chức n ng này cần phải cân nhắc tính toán sao cho phù hợp với bộ định thời và thông lượng yêu cầu của hệ thống. Điều này có thể thực hiện bằng cách xây dựng một layer của giao thức streaming trên cơ sở UDP, ở đó giao thức streaming sẽ thực hiện chức n ng streaming chuyên biệt trong hi dùng UDP được dùng 1 cách đơn giản để truyền dữ liệu và điều hiển luồng.

Qua nhiều n m một số giao thức streaming được xây dựng và phát triển bởi các các công ty thương m i và cộng đồng internet. Về phía thương m i, các công ty giải pháp streaming thường phát triển các giao thức streaming của riêng họ để sử dụng cho các sản phẩm của mình. Ví dụ, Microsoft phát triển dịch vụ Microsoft Media Services (MMS) để dùng trong hệ thống Window Media. RealNetwor s cũng phát triển giao thức RealNetwor Data Transport (RDT)

ên c nh đó, cộng động internet cũng phát triển các chuẩn mở dành cho streaming media. Các chuẩn này bao gồm: Real Time Streaming Protocol (RTSP) được định ngh a trong chuẩn RFC 2326, Real Time Transport Protocol (RTP) và RTP Control Protocol (RTCP) trở thành chuẩn từ n m 2004.

Một phần của tài liệu Nghiên cứu công nghệ nén và truyền video streaming hiệu quả qua mạng di động và phát triển ứng dụng (Trang 25 - 28)

Tải bản đầy đủ (PDF)

(72 trang)