Professional Documents
Culture Documents
RTP Và RTCP PP
RTP Và RTCP PP
RTP Và RTCP PP
Nhóm 3
Nguyễn Trường Giang B17DCVT106
Trương Kim Tài B17DCVT314
Phạm Thanh Hưng B17DCVT162
Nguyễn Xuân Tiệp B17DCVT354
I. Tại sao cần giao thức RTP và RTCP
• Các ứng dụng phương tiện (Multimedia/Media Application) ở tầng
ứng dụng (trong mô hình OSI hay mô hình TCP/IP) cần phải đảm
bảo những tính chất khắt khe về thời gian thực, không cho phép độ
trễ quá lớn gây ảnh hưởng tương tác người dùng với chúng. Để
thực hiện cần đảm bảo 1 số điều như sau:
• Có khả năng thử lỗi: có thể chấp nhận mất 1 số gói tin bị lỗi, mất
mát.
• Cần phải kết hợp các thông số về thời gian: điều này có lí do khá ró
ràng do các dữ liệu đa phương tiện luôn liên quan tới miền thời
gian và nhu cầu đảm bảo tương tác thời gian thực của người dùng.
• TCP là giao thức tin cậy, vì vậy có tính thử lỗi rất tốt. Tuy nhiên
TCP là giao thức hướng kết nối, và cơ chế hộ trợ tin cậy khiến nó
chậm chạp .
• UDP thì gần như ngược lại TCP khi không phải là giao thức không
hướng kết nối, gửi dữ liệu theo phương pháp best-effort, vì vậy nó
có thể truyền dữ liệu với tốc độ rất nhanh.
• Tốc độ truyền dữ liệu của TCP quá chậm so với nhu cầu, hơn nữa
không có hỗ trợ multicast nên người ta đã lựa chọn phương án sử
dụng UDP kết hợp với 1 giao thức tầng trên để khắc phục được các
nhược điểm của UDP trong truyền dữ liệu thời gian thực nhưng vẫn
lợi dụng được tốc độ truyền dữ liệu cao của nó cụ thể là RTP và
RTCP.
II. Giao thức RTP
• Khái niệm
• 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).
• 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ự.
• 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 có khả năng mở rộng cho phù hợp với dịch vụ mới.
• Cấu trúc
Version: 2 bit. Trường vesion để chỉ phiên bản của giao thức.
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.
• 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.
• 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,
• 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.
• Chỉ thị loại mục mô tả. Giá trị của trường này tương ứng với các
loại mục miêu tả sau: CNAME, NAME, EMAIL, PHONE, LOC,
TOOL, NOTE, PRIV
•Khuôn dạng gói BYE
•Gói BYE được sử dụng để thông báo một hay một vài
nguồn sẽ rời khỏi phiên truyền. Trường thông tin về lý do rời
khỏi phiên là tùy chọn (có thể có hoặc không).
•Khuôn dạng gói APP
•Khuôn dạng gói APP được miêu tả trong hình dưới. Gói
này được sử dụng để dành cho các chức năng cụ thể của từng
ứng dụng.