RTP được coi như một giao thức truyền từ đầu cuối đến đầu cuối (end to end) phục vụ truyền dữ liệu thời gian thực như audio và video. RTP thực hiện việc quản lý về thời gian truyền dữ liệu và nhận dạng dữ liệu được truyền. Nhưng RTP không cung cấp bất cứ một cơ chế nào đảm bảo thời gian truyền và cũng không cung cấp bất cứ
một cơ chế nào giám sát chất lượng dịch vụ. Sự giám sát và đảm bảo về thời gian
truyền dẫn cũng như chất lượng dịch vụ được thực hiện nhờ hai giao thức RTCP và
RSVP.
Tương tự như các giao thứ truyền dẫn khác, gói tin RTP (RTP packet) bao gồm hai
phần là header (phần mào đầu) và data (dữ liệu). Nhưng không giống như các giao
thức truyền dẫn khác là sử dụng các trường trong header để thực hiện các chức năng điều khiển, RTP sử dụng một cơ chế điều khiển độc lập trong định dạng của gói tin RTCP để thực hiện các chức năng này.
Cấu trúc gói tin RTP
- Version (2 bit): version của RTP (hiện tại là version 2).
- Padding (1 bit): có vai trò như bit cờ được sử dụng để đánh dấu khi có một số byte
được chèn vào trong gói.
- Extension (1 bit): cũng có vai trò như một bit cờ được sử dụng để đánh dấu khi có
header mở rộng tiếp theo header cố định.
- CSRC count (4 bit): chỉ rõ số lượng của CSRC (contributing source)
- Marker (1 bit): có vai trò như một bit cờ, trạng thái của nó được phụ thuộc vào
trường payload type.
- Payload Type (7 bit): chỉ rõ loại thông tin được chứa trong các gói.
- Serquence Number (16 bit): cung cấp số thứ tự của các gói. Cách này như một
cơ chế giúp bên thu có thể thu đúng thứ tự các gói tin, nhận ra gói tin bị mất.
- Time-stamp (32 bit): là tham số đánh dấu thời điểm byte đầu tiên được lấy mẫu
trong gói RTP. Giá trị time-stamp khởi đầu là ngẫu nhiên, các gói RTP phát đi
- Syschronisation source (SSRC) identifier: số nhận dạng nguồn của gói dữ liệu. Nếu ứng dụng muốn truyền dữ liệu có nhiều dạng khác nhau trong cùng một thời điểm (ví dụ là tín hiệu audio và video) thì sẽ có những phiên truyền riêng cho mỗi dạng dữ liệu. Sau đó ứng dụng sẽ tập hợp các gói tin có cùng nhận dạng SSRC. Số
nhận dạng này được gán một cách ngẫu nhiên.
- Contribute source (CSRC) identifer (độ dài thay đổi): tại một điểm đích nào đó mà
những tín hiệu audio đến đích cần trộn lại với nhau thì giá trị CSRC sẽ là tập hợp tất cả các giá trị SSRC của các nguồn mà gửi tín hiệu đến điểm đích đó. Trường CSRC
có thể chứa tối đa là 15 số nhận dạng nguồn SSRC.
- Extension header (độ dài thay đổi): chứa các thông tin thểm của gói RTP.