Lớp ứng dụng: Các nhà thiết kế TCPIP cảm thấy rằng các giao thức mức cao nên bao gồm các chi tiết của lớp trình bày và lớp phiên. Để đơn giản, họ tạo ra một lớp ứng dụng kiểm soát các giao thức mức cao, các vấn đề của lớp trình bày, mã hóa và điều khiển hội thoại. TCPIP tập hợp tất cả các vấn đề liên quan đến ứng dụng vào trong một lớp, và đảm bảo dữ liệu được đóng gói một cách thích hợp cho lớp kế tiếp.
Trang 1Hi !!!
Em bổ xung vài dòng ngắn gọn, hi vọng giúp mọi người cùng hiểu rõ về các khái niệm này
@thanhnh: goodput: nếu dịch ra tiếng Việt thì chưa có từ nào là hợp lý cả a.Th à Nhưng ý nghĩa của goodput lại được anh, em và mọi người ^^ (người dùng) quan tâm
nhất hiện nay
Có 3 cách khác nhau để phân tích tốc độ truyền tải của dữ liệu trong một môi trường:
- Tốc độ về mặt lý thuyết - bandwidth (tốc độ truyền tải dữ liệu trong lý thuyết)
- Tốc độ trong thực tế - throughtput (tốc độ truyển tài dữ liệu trong thực tế, luôn nhỏ hơn bandwidth)
- Tốc độ khi tới người sử dụng - goodput (luôn nhỏ hơn bandwitdth)
Vậy về tốc độ mà nói thì bandwidth > throughput > goodput
Xin lấy một ví dụ để minh hoạ: Lấy ví dụ với môi trường mạng ethernet hiện nay, đơn vị tính là Mbps
Trong mạng LAN hiện nay, theo lý thuyết thì tốc độ đối với chuẩn fast ethernet ta
có bandwidth là 100Mbs Nhưng do các chi phí (cost) cho việc chia sẻ trong quá trình truyền thông, chia sẻ (ví dụ: dây dài quá, suy giảm tín hiệu giữa các đầu nối ) ta chỉ cònthoughput là 80Mbps Trong khi truyền file phải thực hiện các quá trình: thiết lập phiên ( establishing sessions) , đóng gói ( encapsulation ) trong chồng giao
thức TCP/IP , do đó tốc độ thực tế tới máy đích chỉ còn 75Mbps - goodput.
Mô hình OSI - Mô hình TCP/IP - Các thiết bị mạng.
Mô hình OSI
Tầng ứng dụng (Application layer – lớp 7): tầng ứng dụng quy định giao diện giữa người sử dụng
và môi trường OSI, nó cung cấp các phương tiện cho người sử dụng truy cập vả sử dụng các dịch vụ của mô hình OSI Các ứng dụng cung được cấp như các chương trình xử lý kí tự, bảng biểu, thư tín
… và lớp 7 đưa ra các giao thức HTTP, FTP, SMTP, POP3, Telnet
Trang 2Tầng trình bày (Presentation layer – lớp 6): chuyển đổi các thông tin từ cú pháp người sử dụng
sang cú pháp để truyền dữ liệu, ngoài ra nó có thể nén dữ liệu truyền và mã hóa chúng trước khi truyền đễ bảo mật Tầng này sẽ định dạng dữ liệu từ lớp 7 đưa xuống rồi gửi đi đảm bảo sao cho bên thu có thể đọc được dữ liệu của bên phát Các chuẩn định dạng dữ liệu của lớp 6 là GIF, JPEG, PICT, MP3, MPEG …
Tầng giao dịch (Session layer – lớp 5): thực hiện thiết lập, duy trì và kết thúc các phiên làm việc
giữa hai hệ thống Tầng giao dịch quy định một giao diện ứng dụng cho tầng vận chuyển sử dụng Nó xác lập ánh xạ giữa các tên đặt địa chỉ, tạo ra các tiếp xúc ban đầu giữa các máy tính khác nhau trên
cơ sở các giao dịch truyền thông Nó đặt tên nhất quán cho mọi thành phần muốn đối thoại riêng với nhau Các giao thức trong lớp 5 sử dụng là NFS, X- Window System, ASP
Tầng vận chuyển (Transport layer – lớp 4): tầng vận chuyển xác định địa chỉ trên mạng, cách thức
chuyển giao gói tin trên cơ sở trực tiếp giữa hai đầu mút, đảm bảo truyền dữ liệu tin cậy giữa hai đầu cuối (end-to-end) Các giao thức phổ biến tại đây là TCP, UDP, SPX
Tầng mạng (Network layer – lớp 3): tầng mạng có nhiệm vụ xác định việc chuyển hướng, vạch
đường các gói tin trong mạng (chức năng định tuyến), các gói tin này có thể phải đi qua nhiều chặng trước khi đến được đích cuối cùng Lớp 3 là lớp có liên quan đến các địa chỉ logic trong mạng Các giao thức hay sử dụng ở đây là IP, RIP, IPX, OSPF, AppleTalk
Tầng liên kết dữ liệu (Data link layer – lớp 2): tầng liên kết dữ liệu có nhiệm vụ xác định cơ chế
truy nhập thông tin trên mạng, các dạng thức chung trong các gói tin, đóng gói và phân phát các gói tin.Lớp 2 có liên quan đến địa chỉ vật lý của các thiết bị mạng, topo mạng, truy nhập mạng, các cơ chế sửa lỗi và điều khiển luồng
Tầng vật lý (Phisical layer – lớp 1): tầng vật lý cung cấp phương thức truy cập vào đường truyền
vật lý để truyền các dòng Bit không cấu trúc, ngoài ra nó cung cấp các chuẩn về điện, dây cáp, đầu nối, kỹ thuật nối mạch điện, điện áp, tốc độ cáp truyền dẫn, giao diện nối kết và các mức nối kết
Mô hình TCP/IP
Mô hình TCP/IP có bốn lớp: Layer 4: lớp ứng dụng (Application), lớp vận chuyển (Transport), lớp
Internet (liên kết mạng), lớp truy xuất mạng (Network access)
- Lớp ứng dụng: Các nhà thiết kế TCP/IP cảm thấy rằng các giao thức mức cao nên bao gồm các
chi tiết của lớp trình bày và lớp phiên Để đơn giản, họ tạo ra một lớp ứng dụng kiểm soát các giao thức mức cao, các vấn đề của lớp trình bày, mã hóa và điều khiển hội thoại TCP/IP tập hợp tất cả các vấn đề liên quan đến ứng dụng vào trong một lớp, và đảm bảo dữ liệu được đóng gói một cách thích hợp cho lớp kế tiếp
Trang 3- Lớp vận chuyển: Lớp vận chuyển đề cập đến các vấn đề chất lượng dịch vụ như độ tin cậy, điều
khiển luồng và sửa lỗi
- Lớp Internet: Mục tiêu của lớp Internet là truyền các gói từ nguồn đến được đích Giao thức đặc
trưng khống chế lớp này được gọi là IP Công việc xác định đường dẫn tốt nhất và hoạt động chuyển mạch gói diễn ra tại lớp này
- Lớp truy xuất mạng: Nó cũng được gọi là lớp Host-to-Network Nó là lớp liên quan đến tất cả các
vấn đề mà một gói IP yêu cầu để tạo một liên kết vật lý thực sự, và sau đó tạo một liên kết vật lý khác Nó bao gồm các chi tiết kỹ thuật LAN và WAN, và tất cả các chi tiết trong lớp liên kết dữ liệu cũng như lớp vật lý của mô hình OSI
Các thiết bị phần cứng mạng:
Chúng ta sẽ tìm hiểu một số thiết bị mạng căn bản khác nhau và chức năng của chúng
1 Card mạng – NIC (Network Interface Card)
Thiết bị này còn được biết đến với nhiều tên khác nhau như network card (card mạng), Network Interface Card (card giao diện mạng) là một tấm mạch in được cắm vào trong máy tính dùng để cung cấp cổng kết nối vào mạng Card mạng được coi là một thiết bị hoạt động ở lớp 2 của mô hình OSI Mỗi card mạng có chứa một địa chỉ duy nhất là địa chỉ MAC - Media Access Control Card mạng điều khiển việc kết nối máy tính vào các phương tiện truyền dẫn trên mạng
Nói đến card mạng chúng ta cũng nói đến phương thức truyền tải thông tin trên mạng, đó chính là kiểu cap dùng để kết nối, có thể dùng dây hay không dây còn tùy thuộc vào card mạng Chẳng hạn, trước khi xây dựng một mạng và bắt đầu mua card mạng, dây cáp, bạn phải quyết định xem nên dùng Ethernet, Ethernet đồng trục, Token Ring hay một tiêu chuẩn mạng nào khác Mỗi tiêu chuẩn mạng có độ dài và nhược điểm riêng Thiết kế một mô hình mạng là một bước quan trong
Các mạng Ethernet hiện đại đều sử dụng cáp đôi xoắn vòng 8 dây Các dây này được sắp xếp theo thứ tự đặc biệt và đầu nối RJ-45 được gắn vào phần cuối cáp Đầu nối RJ-45 trông giống như bộ kết nối ở phần cuối dây điện thoại, nhưng lớn hơn Các dây điện thoại dùng bộ kết nối RJ-11, tương phản với bộ kết nối RJ-45 dùng trong cáp Ethernet
2 Repeater - Bộ lặp
Repeater là một thiết bị hoạt động ở lớp 1 (Physical) của mô hình OSI khuyếch đại và định thời lại tín hiệu Repeater khuyếch đại và gửi mọi tín hiệu mà nó nhận được từ một port ra tất cả các port còn lại Mục đích của repeater là phục hồi lại các tín hiệu đã bị suy yếu đi trên đường truyền mà không sửa đổi gì
3 Hub
Còn được gọi là multiport repeater, nó có chức năng hoàn toàn giống như Repeater nhưng có nhiều port để kết nối với các thiết bị khác Mỗi máy tính trong mạng sẽ được kết nối tới một hub thông qua cáp Ethernet Hub thông thường có 4, 8, 12 và 24 port và là trung tâm của mạng hình sao Khi một máy tính gửi yêu cầu đến một máy khác, thì nó sẽ gửi đến Hub rồi gửi ra tất cả các máy tính có trong mạng Mỗi card Ethernet đều được cung cấp một địa chỉ vật lý MAC (Media Access Control) duy nhất Tất cả máy tính đều nhận dữ liệu, sau đó so sánh địa chỉ đích với địa chỉ vật lý MAC của nó Nếu khớp, máy tính sẽ biết rằng nó chính là người nhận dữ liệu, nếu không nó sẽ lờ dữ liệu đi Việc truyền
dữ liệu trên Hub thường gây ra xung đột, khi một máy truyền dữ liệu trên dây cùng thời điểm máy khác cũng truyền thì nó sẽ gây ra xung đột, các gói tin sẽ bị phá hủy, sau một thời gian nó sẽ truyền lại, việc này sẽ làm chậm hệ thống rất nhiều và với hệ thống càng lớn thì việc xảy ra xung đột càng lớn., do đó ngày nay vai trò của Hub dần được thay thế bởi các thiết bị cấp cao hơn như switch Hub họat động ở mức 1 của mô hình OSI
4 Bridge - Cầu nối
Bridge là một thiết bị hoạt động ở lớp 2 của mô hình OSI dùng để kết nối các phân đoạn mạng nhỏ có cùng cách đánh địa chỉ và công nghệ mạng lại với nhau và gửi các gói dữ liệu giữa chúng Việc trao
Trang 4đổi dữ liệu giữa hai phân đoạn mạng được tổ chức một cách thông minh cho phép giảm các tắc nghẽn cổ chai tại các điểm kết nối Các dữ liệu chỉ trao đổi trong một phân đoạn mạng sẽ không được truyền qua phân đoạn khác, giúp làm giảm lưu lượng trao đổi giữa hai phân đoạn Bridge có thể nối nhiều hub lại với nhau như hình dưới đây
5 Switch:
Công nghệ chuyển mạch là một công nghệ mới giúp làm giảm bớt lưu thông trên mạng và làm gia tăng băng thông Bộ chuyển mạch cho LAN (LAN switch) được sử dụng để thay thế các Hub và làm việc được với hệ thống cáp sẵn có Giống như bridges, switches kết nối các phân đoạn mạng và xác định được phân đoạn mà gói dữ liệu cần được gửi tới và làm giảm bớt lưu thông trên mạng Switch
có tốc độ nhanh hơn bridge và có hỗ trợ các chức năng mới như VLAN (Vitural LAN) Vlan có một chức năng quan trọng trong switch, đóng vai trò như một mutiswitch Switch được coi là thiết bị hoạt động ở lớp 2 của mô hình OSI Ngày nay có những thiết bị switch hoạt động ở lớp 3 chức năng giống như một router
6 Router:
Chức năng của Router là định tuyến, chuyển các gói dữ liệu từ mạng này sang mạng khác Router hoạt động ở lớp 3 trong mô hình OSI Có nhiều loại router từ rẽ đến các loại đắt tiền, tùy từng mô hình hệ thống mạng mà yêu cầu thiết bị router tương ứng Router rất cần thiết cho hệ thống mạng
Gần đây, 3GPP chuyển mạch gói cho streaming (PSS) quy định thích ứng trực HTTP (AHS) Yêu cầu khách hàng loạt các đoạn truyền thông và thích ứng với bitrate của phân khúc đến tài nguyên mạng khác nhau Các nhà nước-of-the-nghệ thuật đáp ứng tốc độ hiện tại của AHS ước tính dung lượng mạng end-to-end bằng việc tiếp nhận phân đoạn trước như phân khúc lấy thời gian Tuy nhiên, độ chính xác và tốc độ đáp ứng tốc
độ cao như phụ thuộc vào thời gian phân đoạn Bài báo này trình bày một phương pháp xác định thời gian phân khúc mới để cung cấp đáp ứng tốc độ nhanh và chính xác của AHS Thời gian phân khúc được ước tính là thời gian tối thiểu để sản xuất các HTTP tỷ / TCP vuốt đại diện cho năng lực mạng lưới hiện tại Phương pháp đánh giá thích ứng bằng cách sử dụng thời gian phân đoạn quyết được trình bày Để ngăn chặn đệm
thoát-up, thời gian phân khúc là tiếp tục kiềm chế như thời gian hạt mịn Kết quả mô phỏng cho thấy rằng thời gian phân khúc được đề xuất cho phép các thuật toán ứng tốc độ tăng bitrate phương tiện truyền thông có thể đạt được và làm giảm sự gián đoạn phát lại
so với các nhà nước-of-the-nghệ thuật phương pháp đáp ứng tốc độ của AHS
MPEG DASH là chủ đề nóng hổi cuối cùng trong thế giới vídeo online Bài phân tích sal đây sẽ trình bày cụ thể những gì mà MPEG DASH có thể mang lại cho việc phân phối vídeo trong tương lai.
(Tóm tắt từ bài viết của Jan Ozer trên StreamingMedia)
Trước hết chúng ta sẽ tìm hiểu vậy MPEG DASH là gì?
MPEG DASH là tên viết tắt của : Dynamic Adaptive Streaming Over HTTP, đây là 1 tiêu chuẩn được định nghĩa bới ISO (ISO/IEC 23009-1) và sẽ được kết thúc vào đầu năm 2012 Như ý nghĩa của tên gọi, DASH là một tiêu chuẩn dành cho việc điều phối linh hoạt các dòng vídeo bit stream thông qua giao thức HTTP, nó có khả năng thay thế các công nghệ hiện tại như Microsoft Smooth Streaming, Adobe Dynamic Streaming, Apply http Live Streaming (HLS) DASH chính là một dạng thức thống nhất của các công nghệ này.
Nhóm phát triển DASH nhận được sự tài trợ từ rất nhiều công ty như: Apple, Adobe, Microsoft, Netflix,
Qualcomm, …
Trang 5Một trong những vấn đề còn tồn tại với MPEG DASH chính là nó chưa giải quyết được vấn đề đã mắc phải với HTML5 codec Đó là DASH có thể được tạo nên dựa trên H.264 hoặc WebM Bởi vì chưa có 1 codec thoonga nhất hỗ trợ tất cả các định dạng cho giao diện HTML5 nên người sử dụng DASH phải tạo ra nhiều dòng
bitstresam sử dụng nhiều codecs.
Và điểm cuối cùng cần phải hiểu về DASH là nó có free cho mợi người không?
Giới thiệu về MPEG DASH
Adaptive streaming bao gồm việc tạo ra các thực thể “instance” có thể là các file live hoặc file theo yêu cầu và làm cho chúng có giá trị tới nhiều người dùng khác nhau phụ thuộc vào lượng băng thông và tài nguyên của CPU Băng cách điều chỉnh việc sử dụng CPU hoặc trạng thái bộ đệm, các công nghệ adaptive streaming có thể thay đổi các stream khi cần thiết để chắc chắn việc sử dụng các file vídeo là liên tục.
Chía khóa của sự khác biết giữa các công nghệ adaptive streaming chính là giao thức streaming được sử dụng
Ví dụ, công nghệ RTMP-based Dynamic Streaming của Adobe sử dụng giao thức Real Time Messaging (RTMP),
nó yêu cầu một server phục vụ cho việc streaming và một kết nối gần như liên tục giưa server và người sử dụng (player)s Việc này có thể làm tăng giá thành thực thi, trong khi RTMP có thể bị chặn bởi các firewall.
Trong khi hầu hết các dòng vídeo trên các trang web hiện nay vẫn được truyền thông qua RTMP, một lượng lớn các công ty đang dành sự quan tâm đến việc chuyển đổi sang HTTP.
Tất cả các công nghệ adaptive streaming dựa trên nền tảng HTTP hiện nay đều sử dụng một sự kết hợp giữa các file media đã được nén và các file chưa nén.
Các công nghệ adaptive streaming dựa trên nên tảng HTTP hiện nay đều giống như những gì mà Will Law, kiến trúc sử trưởng của media engineering đã nói trong bài “Streaming Media West” : “We’ve spent the past five years delivering a variety of adapptive vídeo formats-SmoothHD, HDNI, HLS (http Live Streaming),and HDS-all
of which are 80 percent the same but 100 percent incompartibla”.
DASH đang nỗ lực để kết hợp các đặc tính tốt nhất của tất cả các công nghệ adaptive streaming dựa trên nền táng giao thức HTTP vào một tiêu chuẩn để sử dụng trên tất cả các giao diện, từ mobile tới server…
Tổng quan về công nghệ MPEG DASH
Như đã đề cập ở trên, tất cả các công nghệ adaptive streaming dựa trên nền tảng HTTP đều bao gồm 2 thành phần:
– File đã được encode (A/V streams)
– Manifest files dung để xác định các dòng video dung cho việc play và địa chỉ URL của nó.
Đối với DASH, A/V streams được gọi là Media presentation, trong khi manifest file được gọi là Media
Presentation Description
Như các bạn đã thấy trên hình 1, Media Presentation là tập hợp có cấu trúc các nội dung audio, video với sự kết hợp chặt chẽ từ periods, adaptation sets, representations, và segments.
Media Presentation định nghĩa các đoạn video với một hoặc một vài chu kỳ liền nhau được chia cắt từ lúc bắt đầu đến khi kết thúc đoạn video.
Mỗi Adaptation Sets bao gồm nhiều Representation, trong đó mỗi một Representation chính là một stream trong adaptive streaming.Như trên hình vẽ, Representation 1 là 640×480@500kbps, trong khi Representation 2 là 640×480@250Kbps.
Mỗi một Representation được phân chia thành các Media Segment.
Đối với DASH manifest file, hay còn gọi là Media Presentation Description, là một file XML dung để xác định các thành phần nội dung khác nhau và vị trí của các streams.
Chính điều này cho phép người sử dụng DASH dễ dàng xác dịnh và bắt đầu play lại các đoạn video, chuyển đổi giữa các đoạn video khi cần thiết…
Các thuộc tính khác của DASH bao gồm:
1 DASH là codec độc lập, nó sẽ làm việc với H.264, WebM ,
2 DASH hỗ trợ cả các định dạng media file MP4 lẫn MP2 streams
3 DASH hỗ trợ cho cả DRM technique được mô tả trong ISO/IEC 23001-7
Trang 64 DASH hỗ trợ các chức năng như tìm kiếm, chuyển giao nhanh phục hồi
5 DASH hỗ trợ việc chèn các quảng cáo
Hình 1: Mô hình Media Presentation Data (lấy từ MPEG DASH presentation tại Streaming Media West 2011)
Vấn đề bản quyền và sở hữu trí tuệ đối với MPEG DASH
Tại thời điểm này, chưa rõ rang việc DASH sẽ là free hay không vi đang có cuộc thảo luận giữa các nhà phát triển DASH như: Microsoft, Cisco, và Qualcomm,…
Vấn đề thứ hai cần chú ý đó là việc khi nào Mozilla có thể tích hợp DASH vào các trình duyệt của họ.Vấn đề cơ bản vẫn nằm ở việc free hay không Như hiện này khi tích hợp H.264 vào trình duyệt Firefox, Mozilla cần đóng khoang 5 triệu đô la hàng năm cho vấn đề bản quyền.
Một cách rõ rang, không loại trừ khả năng DASH được tích hợp vào Flash hoặc Silverlight hay được thực thi trên nên tảng mobile và đóng một vai trò quan trọng tại thị trường này Tuy nhiên hay chờ đón tương lai của DASH.
Tính cạnh tranh của MPEG DASH
DASH tạo nên sự cân bằng giữa các player Chẳng hạn, HLS của Apple tạo ra sư khác biệt rõ rang trên các nền tảng mobile, sự thích ứng rộng rãi của nó chấp nhận các thiết bị của Apple có thể chơi các video stream khác nhau Đó là lý do tại sao Google quyết định thực thi HLS trên Android 3.0.
Nếu như Apple thông qua DASH và thực thi nó trên các thiết bị iDevices (Ipod, Ipad, Iphone) của mình, sự nổi trội của HLS sẽ biến mất.
Kết luận
DASH là một công nghệ cực kỳ hấp dẫn dành cho các nhà sản xuất web, một tiêu chuẩn đơn lẻ nên hỗ trợ chúng để encode một lần sau đó phân phối một cách có bảo mật tới tất cả người dung, từ mobile tới server, hay desktop thông qua các plug-in hoặc HTML5 Tuy nhiên, cùng với việc chưa giải quyết được các vấn đề còn tồn tại với HTML5, nó cũng chưa rõ rang về việc các nhà sản xuất có tính phí cho các sản phẩm của họ, những file được tạo nên sử dụng DASH.
Mozilla đã chỉ rõ rang rằng họ sẽ không hỗ trợ cho các đặc điểm kỹ thuật như hiện nay, và Apple hay Adobe cũng chưa xác định rõ là họ có hay không hỗ trợ cho công nghệ này Một số người lac quan cho rằng thị trường phương tiện truyền thông sẽ bắt buộc các bên lien quan đưa đến một quyết định dành cho việc hỗ trợ DASH trở nên free và từ này cho đến khi điều này trở thành hiện thực, DASH có thể vẫn đóng một vai trò quan trọng trong một vài thị trường, tuy nhiên nó vẫn chưa được sử dụng hết tiềm năng của mình.
Trang 7Giao thức RTP
Posted by data:blog.homepageUrl on 9:04 AM in giao thức rtp , rtp
Real-time Transport Protocol (RTP) là giao thức thực hiện vận chuyển các ứng dụng dữ
liệu thời gian thực như thoại và hội nghị truyền hình Các ứng dụng này thường mang các định dạng của âm thanh (PCM, GSM và MP3 và các định dạng độc quyền khác) và định dạng của video (MPEG, H.263 và các định dạng video độc quyền khác) RTP được định nghĩa trong RFC
1889, RFC 3550
RTP được sử dụng kết hợp với RTCP (Realtime Transport Control Protocol) Trong khi
RTP được dùng để truyền dòng dữ liệu đa phương tiện truyền thông (âm thanh và video) thì RTCP được dùng để giám sát QoS và thu thập các thông tin về những người tham gia phiên truyền RTP đang thực hiện
Giao thức RTP chạy trên nền UDP để sử dụng các chức năng ghép kênh và checksum Cả hai giao thức RTP và UDP tạo nên một phần chức năng của lớp giao vận Tuy nhiên RTP cũng
có thể được sử dụng với những giao thức khác của lớp mạng và lớp giao vận bên dưới miễn là các giao thức này cung cấp được các dịch vụ mà RTP đòi hỏi Một điều cần lưu ý là bản thân giao thức RTP không cung cấp một cơ chế nào đảm bảo việc phân phát kịp thời dữ liệu tới các trạm, mà nó dựa trên các dịch vụ của lớp thấp hơn để thực hiện điều này RTP cũng không đảm bảo việc truyền các gói theo đúng thứ tự Tuy nhiên số thứ tự trong header cho phép bên thu điều chỉnh lại thứ tự dòng gói tin của bên phát gữi đến
RTP không chỉ hỗ trợ các dịch vụ phổ biến của hầu hết các ứng dụng truyền thông hội nghị
đa phương tiện mà còn có khả năng mở rộng cho phù hợp với dịch vụ mới Khả năng mở rộng, các mã tương ứng trong trường PT của header ứng với các loại payload trong gói RTP được mô
tả trong profile đi kèm
Cấu trúc giao thức RTP:
Cấu trúc gói tin RTP
Theo cấu trúc trên:
- Phần header cố định
· Version: 2 bit Trường vesion để chỉ phiên bản của giao thức Có 3 phiên bản 0,1,2 Phiên bản
hiện tại được sử dụng là 2
· P (Padding): 1 bit Nếu trường P được thiết lập thì gói tin sẽ có một hoặc nhều octets P (những octets này không phải một phần của payload) được thêm vào cuối gói tin Octet P cuối cùng chỉ kích thước của tổng octect được thêm vào Mục đích của việc thêm octect P là để dùng cho thuật toán mã hóa cần kích thước gói cố định hoặc được dùng cho việc cách ly các gói RTP trong trường hợp nhiều gói thông tin được mang trong cùng một đơn vị dữ liệu của giao thức lớp dưới
Trang 8· X (Extension): 1 bit Nếu trường X được thiết lập thì phần header cố định phải được liên kết với
phần header mở rộng
· CC (CSRC count): 4 bits Chứa các giá trị của trường CSRC ID trong header cố định.
· M (Marker): 1 bit Được sử dụng ở lớp ứng dụng để xác định một profile.
· PT (Payload type): 7 bits Xác định và nêu ý nghĩa các dạng payload của RTP RTP có thể hỗ
trợ đến 27 = 128 loại payload khác nhau Với một luồng âm thanh hay video trường PT được sử dụng để kí hiệu các mã âm thanh hay video Ví dụ: mã PT của một số định dạng âm thanh và video: PCM (0),GSM(3), LPC (7), G.722 (9), MPEG Audio(14), G.728(15), JPEG(26), H.261(31), MPEG1(32), MPEG2(33) Nếu máy phát quyết định thay đổi mã ở phần giữa của một phiên làm việc, thì máy phátcó thể thông báo cho máy thuvề sự thay đổi trường PT Máy phát có thể thay đổi mã để tăng chất lượng âm thanh hay video hoặc giảm tốc độ luồng RTP
· Sequence Number: 16 bits Trường mang số thứ tự của các gói tin RTP Số thứ tự này được
tăng lên 1 sau mỗi lần gói tin RTP được máy phát gửi đi và còn được dùng để máy thu phát hiện mất gói và khôi phục lại trình tự chuỗi gói tin Giá trí khởi đầu của trường này là một giá trị ngẫu nhiên Vd: máy phát nhận được luồng gói tin RTP có khoảng trống giữa 2 hai số thứ tự 86, 89 thì máy phát sẽ biết rằng gói tin có số thự tự 87, 88 đã bị mất
· Timestamp: 32 bits Trường xác định thời điểm lấy mẫu của octets đầu tiên trong gói tin RTP
Thời điểm lấy mẫu phải được đo bằng một đồng hồ tăng đều đặn và tuyến tính về mặt thời gian
để cho phép việc đồng bộ và tính toán độ jitter Tần số đồng hồ này là không cố định mà phụ thuộc vào loại định dạng của payload Giá trị khởi đầu trường timestamp cũng được chọn một cách ngẫu nhiên Một vài gói tin RTP có thể mang cùng một giá trị của trường này nếu như chúng được phát đi cùng một lúc về mặt logic (ví dụ như các gói của cùng một khung hình video) Trong trường hợp các gói dữ liệu được phát ra sau những khoảng thời gian bằng thì giá trị timestamp được tăng một cách đều đặn Ngược lại, trong trường hợp khác giá trị timestamp
sẽ tăng không đều đặn
· SSRC (Synchronization Source Identifier): 32 bits Giá trị của trường SSRC chỉ ra nguồn
đồng bộ (nguồn phát gói tin RTP từ micro, camera hay RTP mixer) của gói tin RTP, giá trị này được chọn ngẫu nhiên Trong một phiên kết nối RTP thì có nhiều nguồn đồng độ phát ra nhiều dòng gói tin RTP Máy thu sẽ nhóm các dòng gói tin RTP cùng nguồn để phát lại tín hiệu thời gian thực (real-time)
· CSRC (Contributing Source List): từ 0 đến 15 items, 32 bits Trường CSRC xác định các
nguồn đóng góp payload cho gói tin (CSRC cho phép xác định tối đa 15 nguồn đóng góp tương ứng vớ 15 items) Giá trị của CSRC được cho bởi trường CC và giá trị này được chèn vào mỗi items bằng các bộ trộn (mixer)
- Phần header mở rộng:
Cơ chế mở rộng của RTP cho phép những ứng dụng riêng lẻ của giao thức RTP thực hiện được với những chức năng mới đòi hỏi những thông tin thêm vào phần header của gói tin Cơ chế này được thiết kế để một vài ứng dụng có thể bỏ qua một số ứng dụng khác lại có thể sử dụng được phần nào đó Nếu như trường X (bit X) trong phần header cố định được đặt bằng 1 thì theo sau phần header cố định là phần header mở rộng có chiều dài thay đổi 16 bit đầu tiên của trong phần tiêu đề được sử dụng với mục đích riêng cho từng ứng dụng được định nghĩa bởi profile (thường nó được sử dụng để phân biệt các loại tiêu để mở rộng) 16 bits kế tiếp mang giá trị chiều dài của phần header mở rộng tính theo đơn vị là 32 bits (Giá trị này không bao gồm 32 bit đầu tiên của phần header mở rộng)
Các thuật ngữ nhạc số (bitrate, VBR, CBR )
Trang 9Bitrate:Là dung lượng mà thiết bị lưu trữ cần có để lưu trữ một giây âm thanh (hay video) tính theo bit (8bit=1byte).Như bạn biết, nhạc thường gồm nhiều âm thanh của các nhạc cụ (tiếng đàn, tiếng trống, tiếng kèn ) với nhiều cung bậc (tần số) khác nhau, dùng bitrate càng cao sẽ ghi nhận càng đầy đủ các âm thanh và càng nhiều cung bậc, nghĩa là chất lượng của nhạc nén càng gần với CD gốc Đương nhiên, bitrate càng cao thì kích thước file càng lớn
Sample:Là một bộ phận của âm thanh analog được mã hóa thành dạng số
Sample có thể dùng để chỉ một điểm đơn lẻ trong stream âm thanh số (là đơn vị nhỏ nhất của dữ liệu dùng để biểu diễn một tín hiệu âm thanh tại một khoảng thời gian nhất định)
Một âm thanh hoàn chỉnh hay toàn bộ một stream âm thanh số được cấu tạo từ việc kết hợp những sample riêng biệt ( một chuỗi sample ) cũng có thể được coi là một sample
Sample Rate:Là số sample (tạm dịch là mẫu) trong một khoảng thời gian nhất định (thường là 1 giây) của âm thanh kỹ thuật số ,quyết định trực tiếp tới chất lượng âm thanh.Khi một tập tin âm thanh dạng số được ghi lại,nó phải được convert vào một chuỗi những mẫu (series of samples ) mà bản thân chúng có thể lưu lại được trên bộ nhớ ,trên các thiết bị lưu trữ kỹ thuật số.Sample rate sẽ thông báo cho ta biết trong tập tin âm thanh có bao nhiêu mẫu được ghi lại trong một giây.Đơn vị của sample rate là Hz Ví dụ dễ hiểu ,một tập tin âm thanh được ghi ở sample rate 44100 sẽ cần đến
44100 mẫu/giây để lưu giữ âm thanh trong một chuỗi mẫu.Sample rate càng cao ,chất lượng của chuỗi mẫu càng tốt và càng ít xảy ra hiện tượng gọi là aliasing (là hiện tượng xuất hiện những tần số
âm thanh không mong muốn sinh ra bởi việc thiếu hụt thông tin từ sample rate).Mỗi mẫu sẽ cần một lượng bit nhất định để lưu trữ gọi là sample size,và ta có thể tính toán dung lượng cần thiết cho một sample.Ví dụ ,với âm thanh 16 bit ,ta cần sử dụng 16 bit hay 2 byte cho một mẫu (8 bit=1 byte).Như vậy 1 giây âm thanh với sample rate 44100/16 bit mono (một kênh âm thanh) sẽ có độ lớn là
44100x2=88200 byte.Nếu cũng với các thông số như vậy nhưng thay vì mono ,ta sử dụng stereo (2 kênh âm thanh), dung lượng sẽ phải nhân đôi và trở thành 176400 byte.Đây là lý do vì sao âm thanh vòm (5.1) hay các loại âm thanh sử dụng nhiều kênh khác (6.1 ,7.1 ) lớn hơn rất nhiều so với âm thanh stereo hay mono mặc dù chúng cũng được nén ở cùng chất lượng
Lossy, lossless và uncompressed:Âm thanh uncompressed là loại âm thanh không áp dụng bất kỳ một phương pháp nén nào.Được sử dụng dưới định dạng WAV hay PCM
Âm thanh lossless là loại âm thanh sử dụng phương pháp loại bỏ những dữ liệu không liên quan tồn tại trong file gốc để thu được một file nhỏ hơn nhưng vẫn giữ được chất lượng như ban đầu.Âm thanh xử lý lossless sẽ có bitrate thấp hơn so với âm thanh chưa nén.Âm thanh lossless được sử dụng rộng rãi và phát triển thành những định dạng quen thuộc như AC3, AAC, DTS, MPEG-1/2/3, Vorbis, Real Audio…
Âm thanh lossy là loại âm thanh thu được khi sử dụng những phần mềm encode âm thanh phổ biến hiện nay để chuyển đổi các định dạng âm thanh.Đây là loại âm thanh bị giảm chất lượng vì quá trình lossy encode sẽ không giữ nguyên những phần cần thiết trong file âm thanh gốc.Lấy ví dụ,khi encode
từ WAV sang MP3,bạn đã thực hiện phương pháp lossy encode cho file âm thanh WAV chưa nén của mình,và file MP3 thu được đã bị giảm chất lượng so với file gốc,nó là âm thanh lossy.Mọi chuyện thậm chí còn tồi tệ hơn với việc encode file MP3 lossy đó thành OGG(có thể là định dạng khác),file OGG thu được đã bị quá trình encode lossy giảm chất lượng tới 2 lần.Đó là lý do bạn không nên encode quá nhiều lần một file âm thanh nhất định.Bạn cũng có thể nhận thấy sự mất chất lượng rõ ràng của dạng encode này khi nghe một CD nhạc ở dạng “theo yêu cầu” được các chủ hàng đĩa nhạc cung cấp,đơn giản bởi những đĩa CD đó không lấy nguồn uncompressed hay lossless như quá trình thu CD công nghiệp mà burn từ những file âm thanh lossy (mp3,wma…) download từ internet
CBR/ABR/VBR:CBR-Constant bitrate-nghĩa là bitrate của stream là một hằng số và không thay đổi tại bất kỳ điểm nào của stream.Sử dụng bitrate cố định để mã hoá toàn bộ file Đây là thiết lập mặc định của hầu hết các máy nghe nhạc
ABR-Average bitrate-nghĩa là stream có thể sử dụng bitrate thay đổi cho mỗi frame,nhưng bitrate trung bình của toàn bộ stream là cố định.gần giống VBR ngoại trừ kích thước file biết trước (với VBR, kích thước file có khi lớn, khi nhỏ tuỳ vào độ phức tạp của âm thanh) nhờ điều chỉnh mức thay đổi
Trang 10quanh giá trị bitrate trung bình ấn định trước
VBR-Variable bitrate-nghĩa là stream có thể sử dụng bitrate thay đổi cho mỗi frame và tùy biến để đạt được bitrate cần thiết cho mỗi frame,vì vậy bitrate trung bình không thể xác định trước khi encode hay tính toán cụ thể Sử dụng bitrate thay đổi tuỳ theo yêu cầu của từng đoạn âm thanh Thường thì VBR cho chất lượng tốt hơn với kích thước file nhỏ hơn CBR nhờ cấp phát bitrate "thông minh" hơn Tất cả định dạng "lossless" đều được mã hoá theo VBR, nhiều định dạng "lossy" mới (như WMA phiên bản 9) cũng hỗ trợ VBR Nhiều máy nghe nhạc đời mới đã có hỗ trợ VBR nhưng những máy nghe nhạc đời cũ có thể không "hiểu" đúng VBR
Stereo, joint stereo, và dual channel :
+Dual channel tích hợp bởi 2 kênh mono,nghĩa là mỗi kênh sẽ được encode với một nửa của toàn bộ bitrate
+Stereo tích hợp bởi 2 kênh âm thanh độc lập với nhau.Bitrate cung cấp giữa 2 kênh âm thanh thay đổi phù hợp với lượng thông tin được chứa trong mỗi kênh
+Joint stereo cũng tích hợp 2 kênh âm thanh nhưng có một bước tiến xa hơn vì có thể sử dụng được những mẫu chung thường xuất hiện ở cả 2 kênh.Do đó độ nén sẽ tốt hơn so với stereo bình thường
CBR = Constant-Bit-Rate
VBR = Vẩible-Bit-rate
Ví dụ khi bạn nén CBR 128kbps thì bit-rate của bài nhạc mà bạn nén tại bất kỳ đoạn nào cũng là 128kbps Còn nếu nén theo VBR thì có chỗ thấp hơn 128kbps, những chỗ nhạc nhỏ, ít nhạc cụ được sử dụng chẳng hạn, cứ thế và ngược lại
Thường thì nén VBR cho chất lượng âm thanh tốt hơn, nhưng dung lượng file sau khi nến cũng lớn hơn
Nếu bạn thích dùng Jet, bạn hãy thử nén theo format OGG Vob xem sao Theo đánh giá riêng của tôi thì chuẩn này nghe hay hơn MP3 chỉ nghe hay hơn thui nhé
Adaptive bitrate streaming là một kỹ thuật được sử dụng trong dòngđa phương
tiện qua mạng máy tính Trong khi ở hầu hết qua các công nghệ video streaming sử dụng các giao thức streaming như RTP với RTSP, công nghệ trực tuyến thích ứng ngày nay hầu hết được dựa trên HTTP[1] và được thiết kế để làm việc hiệu quả trên các mạng HTTP phân phối lớn như Internet
Nó hoạt động bằng cách phát hiện băng thông và CPU công suất của người dùng trong thời gian thực và điều chỉnh chất lượng của một dòng video cho phù hợp Nó đòi hỏi việc sử dụng mộtbộ
mã hóa mà có thể mã hóa video nguồn duy nhất ở nhiều tốc độ bit Các khách hàng
chơi [2] chuyển mạch giữa streaming các bảng mã khác nhau tùy thuộc vào nguồn lực sẵn
có [3] "Kết quả: rất ít đệm., Thời gian khởi động nhanh và một kinh nghiệm tốt cho các kết nối cả cao cấp và thấp cấp" [4]
Cụ thể hơn, và như việc triển khai sử dụng ngày nay là, adaptive bitrate streaming là một phương pháp của video streaming qua HTTP mà nội dung mã nguồn được mã hoá ở nhiều tốc
độ bit, sau đó mỗi dòng tốc độ bit khác nhau được tách ra thành các phần sau nhiều giây nhỏ [5] Các khách hàng trực tuyến được thực hiện nhận thức của các dòng có sẵn ở tốc độ bit khác nhau, và các phân đoạn của các dòng bằng một file manifest Khi bắt đầu, khách hàng yêu