Giao thức RTP là gì? Ưu điểm của giao thức RPT
Thịnh Văn Hạnh 26/12/2022 1560 Lượt xem Chia sẻ bài viết
Thuật ngữ RTP còn khá mới mẻ đối với nhiều người mới bước vào ngành CNTT. RTP hỗ trợ truyền tải dữ liệu hiệu quả như thế nào? Kỹ thuật của RTP là gì? Hãy cùng BKNS điểm qua thông tin ở bài viết dưới đây.
Tóm Tắt Bài Viết
Giao thức RTP là gì?
Real-Time Transport Protocol (RTP) là một tiêu chuẩn giao thức internet, chỉ định cách thức các chương trình quản lý việc truyền dữ liêu đa phương tiện theo thời gian thực qua các dịch vụ mạng unicast hoặc multicast. Ban đầu, RTP được quy định trong RFC 1889 của IETF để hỗ trợ các hội nghị truyền hình có nhiều người tham gia, ở nhiều vị trí địa lý khác nhau.
Giao thức RTP là gì?
RTP thường được sử dụng trong các ứng dụng điện thoại internet. Bản thân giao thức này không đảm bảo cung cấp dữ liệu đa phương tiện theo thời gian thực (vì việc này phụ thuộc vào đặc tính của mạng). Tuy nhiên, nó cung cấp khả năng quản lý dữ liệu rất tốt.
Giao thức RTP kết hợp việc vận chuyển dữ liệu của nó với một giao thức điều khiển (RTCP). Do đó nó có thể giám sát việc phân phối dữ liệu cho các mạng đa hướng lớn. Việc giám sát cho phép người dùng phát hiện xem có bất kỳ packet nào bị lạc mất hay không, và để bù đắp cho các khoảng thời gian bị delay. Cả hai giao thức RTP và RTCP đều hoạt động độc lập với các giao thức ở lớp Transport và Network.
Định dạng Header của RTP
Sơ đồ định dạng Header của gói RTP được hiển thị dưới đây:
Định dạng Header của RTP rất đơn giản và nó bao gồm tất cả các ứng dụng thời gian thực. Giải thích về từng trường của định dạng Header được đưa ra dưới đây:
+ Version: trường này có độ dài 2 bit, xác định số phiên bản. Phiên bản hiện tại đang là 2.
+ P (1 bit): Nếu giá trị là 1, nó cho biết có phần đệm ở cuối packet, và ngược lại nếu giá trị là 0.
+ X (1 bit): Nếu giá trị là 1, có một header mở rộng bổ sung ở giữa dữ liệu và header cơ bản. Và ngược lại nếu có giá trị là 0.
+ Contributor count (4 bit): Cho biết số lượng người đóng góp, tối đa là 15 vì trường 4 bit chỉ có thể chứa các số từ 0 đến 15.
+ M (1 bit): dùng để điểm đánh dấu kết thúc, biểu thị kết thúc dữ liệu.
+ Payload types (7 bit): Cho biết kiểu của payload. Có một số kiểu payload phổ biến như:
Định dạng Header của RTP
Kiểu payload là một con số duy nhất, được biểu thị bằng 7 bit trong định dạng RTP header. Mọi kiểu payload đều cho biết một cách mã hóa hình ảnh/âm thanh. Nguồn RTP được phép gửi một kiểu payload duy nhất trong một lần. Trường này chủ yếu chỉ loại của codec dùng trong media stream.
>> Xem thêm: Giao thức TFTP là gì?
Ví dụ, nếu dùng ‘1’ để chỉ kiểu payload, với tên encoding là 1016, thì nó sẽ dùng kiểu mã hóa giọng nói FS-1016 cho các luồng media.
Còn nếu dùng kiểu payload ’31’, tên encoding là H.261 thì sẽ sử dụng tiêu chuẩn nén video ITU-T. Tương tự, mỗi con số của các kiểu payload đều cho biết một loại mã hóa nhất định cho các luồng âm thanh/video.
Sequence Number
Trường này có độ dài 16 bit, dùng để cung cấp số serial cho các gói RTP, giúp đánh số thứ tự. Số thứ tự của gói đầu tiên được cấp một số ngẫu nhiên, và các gói tiếp theo tăng dần 1 đơn vị. Trường này chủ yếu dùng để kiểm tra xem có bị mất gói hay sai thứ tự hay không.
Time Stamp
Trường Time Stamp có độ dài 32 bit, dùng để tìm mối quan hệ giữa thời gian của các gói RTP khác nhau. Timestamp cho packet đầu tiên được chọn ngẫu nhiên, và các packet tiếp theo được tính bằng tổng của timestamp trước và thời gian cần thiết để tạo ra byte đầu tiên của packet hiện tại. Giá trị của 1 lần đánh dấu có thể khác nhau với các ứng dụng.
Synchronization Source Identifier
Synchronization Source Identifier
Có độ dài 32 bit, dùng để xác định và định nghĩa nguồn RTP là gì. Giá trị là một số ngẫu nhiên được chọn bởi nguồn. Trường này chủ yếu giúp giải quyết các xung đột phát sinh khi hai nguồn có cùng một số thứ tự.
Contributor Identifier
Cuối cùng, trường 32 bit này dùng để nhận dạng nguồn khi có nhiều hơn một nguồn trong phiên. Mixer source sử dụng một bộ Synchronization source identifider và các nguồn còn lại (tối đa là 15) bằng Contributor Identifier.
>> Xem thêm: Giao thức OSPF là gì
Ưu điểm của giao thức RTP
Ưu điểm của RTP là gì? Đúng như cái tên của nó, RTP giúp truyền dữ liệu liên quan đến phương tiện trong thời gian thực. RTP bao gồm cơ chế bù jitter, phát hiện các packet bị mất và phân phối các packet không có thứ tự. Đây là lỗi đặc biệt phổ biến trong việc truyền UDP thông qua IP.
Ưu điểm của giao thức RTP
Vì RTP cho phép truyền dữ liệu đến nhiều điểm cuối song song thông qua IP multicast, nên nó là tiêu chuẩn chính được triển khai cho truyền mạng IP âm thanh, video. Cơ chế cho profile liên quan và định dạng payload được tham chiếu trong kiến trúc của RTP, và được thực hiện ở lớp ứng dụng thay vì lớp hệ điều hành.
Các ứng dụng như VoIP cần truyền dữ liệu đa phương tiện theo thời gian thực, thường yêu cầu cung cấp dữ liệu kịp thời và cũng dễ bị mất các packet. Ví dụ như việc mất các audio packet trong ứng dụng VoIP có thể làm hụt vài mili giây trong dữ liệu. Việc này có thể được xử lý bằng các thuật toán bù lỗi để giảm bớt ảnh hưởng.
Giao thức TCP cũng được tiêu chuẩn hóa để sử dụng RTP, mặc dù không thường được sử dụng trong các ứng dụng. Vì cơ chế kiểm soát lỗi có nó có thể gây delay và ảnh hưởng đến việc phân phối các packet. Do đó, hầu hết các ứng dụng RTP thường triển khai trên UDP.
Lời kết
Như vậy là bạn đã biết giao thứ RTP là gì và ưu điểm của nó, hy vọng bài viết này cung cấp cho bạn nhiều kiến thức bổ ích, chúc bạn thành công!
Cảm ơn bạn đã đón đọc bài viết. Có thể bạn cũng quan tâm đến:
>> Giao thức Point to Point là gì? Các thành phần của giao thức PPP
>> IPv4 và IPv6 – Khái Niệm Và So Sánh Hai Giao Thức Mạng
>> SSH và TELNET – Sự khác biệt giữa 2 giao thức mạng
Theo dõi BKNS thường xuyên hơn tại các nền tảng mạng xã hội:
>> Fanpage: https://www.facebook.com/bkns.vn
>> Youtube: https://www.youtube.com/c/BknsVn1
>> Pinterest: https://www.pinterest.com/bknsvn/
>> LinkedIn: https://www.linkedin.com/company/bkns-vn/
[mautic type=”form” id=”6″]