8. Timestamp: 32 bits
4.1 CHỨC NĂNG VÀ HOẠT ĐỘNG CỦA RTCP:
Giao thức này dùng để điều khiển các gĩi mang tin trong phiên truyền của mỗi thành viên, được phân phối theo cùng cơ chế như các gĩi mang tin. Các giao thức lớp dưới phải đảm bảo các gĩi mang dữ liệu RTP và các gĩi mang thơng tin điều khiển RTCP được truyền trên 2 cổng UDP khác nhau. Thường thì các gĩi mang thơng tin
điều khiển đi qua cổng lẻ, các gĩi dữ liệu đi qua cổng chẵn.
Hình 4.1: Hoạt động của RTCP
Giao thức RTCP được sử dụng với một số chức năng sau:
Cung cấp các thơng tin phản hồi về chất lượng của đường truyền dữ liệu.
Đây là một phần khơng thể thiếu được với vai trị là một giao thức giao
vận, nĩ liên quan đến các hàm điều khiển luồng (flow control) và kiểm sốt
sự tắc nghẽn (congestion control). Chức năng này được thực hiện dựa trên các bản tin thơng báo từ phía người gởi và phía người nhận.
35
Thơng tin hồi đáp cĩ thể được sử dụng trực tiếp cho việc điều khiển việc thay đổiphương pháp mã hố (adaptive encoding). Trong trường hợp truyền
IP multicasrt, thì các thơng tin hồi tiếp từ phía người nhận là tối quan trọng
cho việc chuẩn đốn các sự cố xảy ra trong quá trình truyền.
Ngồi ra, việc các bản tin phản hồi từ phía người nhận đến tất cả các
thành viên khác giúp cho mỗi thành viên cĩ thể quan sát lỗi và đánh giá xem
lỗi xảy ra với mình là lỗi cục bộ hay là lỗi trên tồn mạng.
Với cơ chế truyền IP multicast, cĩ thể cần đến một thực thể đĩng vai trị của nhà cung cấp dịch vụ, nhận các thơng tin phản hồi. Thực thể này đĩng
vai trị bên thứ 3, quan sát và phân tích các vấn đề xảy ra.
RTCP mang một thơng tin định danh ở lớp vận chuyển gọi là CNAME
(canonical name). Thơng tin này giúp ta định danh một nguồn phát RTP(tương ứng với 1 thành viên tham gia hội thảo).
Trong 1 phiên truyền RTP, khi giá trị của SSRC của phía phát thay đổi
cĩ thể gây ra xung đột sẽ địi hỏi thiết lập lại kết nối. Do đĩ phía nhận cần
sử dụng CNAME để duy trì kết nối tới từng thành viên.
Ngồi ra, việc CNAME cĩ thể xác định được từng thành viên, giúp cho bên nhận cĩ thể phân chia những luồng tin nhận được thành từng tập tương ứng với từng người gởi. Ví dụ, xác định một cặp tín hiệu video/audieo của
cùng một người gởi (vì 2 luồng này cĩ định danh SSRC khác nhau). Điều
này giúp cho việc đồng bộ tín hiệu audio với tín hiệu video.
Việc đồng bộ nội cho từng luồng tín hiệu (video hoặc audio) được thực
hiện dựa trên các thơng tin về số thứ tự, nhãn thời gian gắn trên các gĩi RTP và RTCP của bên gởi.
Hai chức năng trên địi hỏi tất cả các thành viên đều phải gởi đi các gĩi RTCP.
Do vậy, trong trường hợp cĩ một số lượng lớn người cùng tham gia hội thảo, địi hỏi phải cĩ sự điều chỉnh tốc độ cho phù hợp để dành tài nguyên cho các gĩi RTP. Dựa vào việc mỗi thành viên gởi gĩi tin điều khiển của mình tới tất cả
các thành viên khác, mỗi thành viên cĩ thể độc lập quan sát số lượng người
tham gia. Con số này sẽ được dùng để tính tốn tốc độ truyền. Việc tính tốn
tốc độ được nêu cụ thể tại phần 4.3
36
Cho phép tuỳ chọn các chức năng, giúp giảm tối đa các việc truyền các thơng tin điều khiển. Điều này rất hữu ích trong các phiên truyền "loosely controlled", các thành viên cĩ thể tham gia và rời bỏ mà khơng điều khiển
quan hệ tới các thành viên khác. Ví dụ, một thành viên chỉ cần nghe các
thơng tin chuyển tới, như một RTCP Server. Nĩ cĩ thể sử dụng một kênh thích hợp kết nối với tất cả các thành viên, nhưng nĩ khơng cần sử dụng tất
cả các chức năng của một ứng dụng.
3 chức năng đầu nên được cài đặt trong mọi mơi trường hoạt động, đặc biệt là
trong mơi trường IP multicast. Những nhà thiết kế ứng dụng RTP nên tránh các cơ chế
mà chỉ sử dụng được trong mơi trường unicast, khơng tương thích với số người dùng lớn. Việc truyền tải RTCP cĩ thể được điều khiển khác nhau giữa người nhận và người
gởi, trong trường hợp sử dụng đường truyền đơn hướng.