6. Tổng quan tài liệu nghiên cứu
2.3.3. Chức năng và hoạt động của giao thức 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 2.5 Hoạt động của RTCP.
Giao thức RTCP được sử dụng với một số chức năng:
- 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 soá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.
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 đổi phương pháp mã hoá (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 đoán các sự cố xảy ra trong quá trình truyền.
Ngoà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 toà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.
Ngoà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/audio 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.
i. Các loại gói tin RTCP:
Mỗi gói tin RTCP được bắt đầu với phần tiêu đề cố định tương tự như của gói tin RTP, tiếp theo là các thành phần cấu trúc, chúng có thể có chiều dài biến đổi tuỳ thuộc vào loại của gói tin. Có năm loại gói tin RTCP tương ứng với những loại thông tin điều khiển khác nhau:
- SR (Sender report): Bản tin phía gởi, dùng để thông tin về trạng thái truyền và nhận của phía gởi tin.
Hình 2.6 Format of the Sender Report [19]
- RR (Receiver report): Bản tin người nhận, dùng để thông tin về trạng thái nhận của phía nhận tin.
Hình 2.7 Format of the Receiver Report [19]
- SDES (Source description items): Thông tin mô các về nguồn gởi, bao gồm cả CNAME.
Hình 2.8 Format of the BYE packet [19]
- APP (Application Defined packet): Xác định các chức năng phụ thuộc vào từng ứng dụng cụ thể.
Hình 2.9 Format of the application defined packet [19]
ii. Tính toán trễ RTT (Round Trip time):
Các RR có thể được dùng để tính toán trễ RTT giữangười gửi và người nhận. Bản tin RR chứa các thông tin về LSR (nhãn thời gian từ khi bản tin SR cuối cùng được gửi đi), và DLSR (thời gian trễ khi nhận được bản tin LSR). Từ đó có thể tính toán trực tiếp thời gian trễ RTT theo công thức:
D= A-LSR-DLSR. (2.1) 32 bits giữa của nhãn thời gian NTP được sao chép bởi nơi nhận vào trường LSR, và thời gian trễ từ khi gửi bản tin LSR cuối cùng được lưu cho đến khi bản tin RR tương ứng được gửi.
iii. Inter-Arrival Jitter:
Nơi nhận sẽ giám sát liên tục sự biến thiên của thời gian đến của các gói RTP. Việc tính toán ước lượng Inter-Arrival Jitter theo công thức:
Trong đó R là thời gian đến và S là nhãn thời gian của gói RTP tương ứng. Thời gian trễ này được tính toán đối với từng gói RTP. Để tránh các biến động tạm thời, giá trị Inter-Arrival Jitter được ước lượng theo công thức:
Ji = (15/16)Ji-1 + (1/16)D (2.3) Nó có thể chỉ ra rằng sự thay đổi của các Jitter cảnh báo mạng lưới đã bị nghẽn trước khi dẫn đến việc mất các gói tin.
iv. Packet Loss:
Bản tin RR cũng chứa các thông tin về việc mất các gói tin. Tỉ lệ này được định nghĩa là tỉ số của số bản tin bị mất trên số bản tinh dự kiến nhận được, tức là dựa trên số bản tin thực tế nhận được và số thứ tự cao nhất của bản tin RTP nhận được.