Đõy là gúi tin RTCP thụng bỏo của người đang truyền dữ liệu phỏt đi. Trước tiờn ta xột đến cấu trỳc của gúi tin RS:
0001 02 03 04 05 06 07 08 09 1 02 03 04 05 06 07 08 09 1 0 1 1 1 2 1 3 1 4 15 1 6 1 7 1 8 1 9 20 2 1 22 23 24 25 26 27 28 29 30 31 Header V=2 P RC PT=SR=200 Length SSRC of sender Sender infor
NTP timestamp, most significant word NTP timestamp, least significant word
RTP timestamp sender's packet count
sender's octet count Report
Block
SSRC_1 (SSRC of first source)
fraction lost cumulative number of packets lost extended highest sequence number received
interarrival jitter last SR (LSR)
delay since last SR (DLSR) Report Block 2 SSRC_2 (SSRC of second source) ………. profile-specific extensions Hỡnh 4.3: Cấu trỳc bản tin SR-RTCP.
Gúi thụng bỏo của bờn gởi dữ liệu chứa 3 phần cố định, cú thể được gắn thờm tới 4 phần mở rộng (profile-specific extension) nếu nú được định nghĩa.
Phần đầu: phần tiờu đề, chiếm chiều dài là 8 octets, bao gồm cỏc trường: - Version (V): 2 bits, dựng để xỏc định version của RTP (giỏ trị V trong cỏc
gúi dữ liệu RTP và gúi RTCP đều cú giỏ trị giống nhau). Trong trường hợp này V=2 (giỏ trị hiện giờ của RTP đang được sử dụng).
- padding (P): 1 bit. Nếu giỏ trị này được đặt bằng 1 thỡ trong gúi RTCP này cú chứa một số octets mở rộng, ở phần cuối. Nú khụng là một phần của thụng tin điều khiển nhưng chiều dài của nú vẫn được tớnh vào trường length.
Octet cuối cựng của phần đệm cú chứa số octets nờn được bỏ qua, kể cả chinh nú (giỏ trị này sẽ là bộ số của 4). Cỏc bits đệm cú thể được sử dụng trong một số thuật toỏn mó mật với kớch thước block cố định. Trong gúi ghộp RTCP, bits đệm chỉ được sử dụng trong cỏc gúi con, bởi vỡ gúi ghộp sẽ được mó mật như là một khối. Hơn nữa, nếu phần đệm được thờm vào gúi thỡ giỏ trị của nú chỉ cú ý nghĩa cho gúi đú mà thụi.
- reception report count (RC): 5 bits
Dựng để xỏc định số cỏc block bỏo nhận (reception report blocks) được mang trong gúi này. Nếu khụng cú block nào thỡ trường này cú giỏ trị 0.
- packet type (PT): 8 bits
Trường này cú giỏ trị bằng 200 để xỏc định gúi RTCP này là gúi SR. - length: 16 bits
Dựng xỏc định kớch thước gúi tin RTCP, đơn vị là 32-bit, bao gồm cả phần tiờu đề và cỏc phần đệm.
- SSRC: 32 bits Dựng để xỏc định nguồn đồng bộ (synchronization source) của gúi SR.
Phần thứ 2: mang thụng tin về người gởi, cú chiều dài 20 octets, nú cú mặt trong tất cả cỏc gúi SR. Nú túm tắt việc truyền dữ liệu của người gởi này. Cỏc trường cú ý nghĩa như sau:
- NTP timestamp: 64 bits. Dựng xỏc định giỏ nhón thời gian, khi mà gúi này được truyền đi. Nú cú thể được bờn nhận dựng để xỏc định tổng thời gian truyền từ điểm gởi đến điểm nhận. Người nhận phải xỏc định rằng độ chớnh xỏc của nhón thời gian cú thể thấp hơn nhiều so với độ chớnh xỏc của nhón thời gian NTP. Một hệ thống cú thể khụng cú một đồng hồ chuẩn riờng, khi 57
đú người gởi sẽ sử dụng đồng hồ hệ thống của mỡnh, dựa vào đú để tớnh toỏn ra thời gian NTP tương ứng.????
- RTP timestamp: 32 bits
Nhón thời gian này giống như NTP timestamp ở trờn, tuy nhiờn giỏ trị ở đõy là độ chờnh lệch giữa cỏc thời điểm phỏt cỏc gúi tin. Điều này cú thể giỳp cho bờn nhận cú thể thực hiện đồng bộ cỏc tớn hiệu video/audio thu được.
Chỳ ý rằng, trong đa số cỏc trường hợp, giỏ trị nhón thời gian RTP của cỏc SR khỏc nhau khụng giống nhau.
Ngoài ra, ta nờn tớnh toỏn ra thời gian dạng NTP, bằng cỏch sử dụng mối quan hệ giữa việc đếm cỏc nhón thời gian RTP và thời gian thực được xỏc định bằng cỏch kiểm tra đồng hồ chuẩn tại thời điểm lấy mẫu.
- sender's packet count: 32 bits
Tổng sụ cỏc gúi dữ liệu RTP đó được gởi bởi người nào đú kể từ khi bắt đầu phiờn đến khi gúi SR được sinh ra. Biến đếm này phải được khởi tạo lại mỗi khi người gởi thay đổi định danh SSRC.
- Sender's octet count: 32 bits
Tổng số octets của phần tải (payload), khụng tớnh phần tiờu đề hoặc phần đệm, đó được truyền đi kể từ thành viờn này tham gia phiờn truyền đến khi gúi SR này được tạo ra. Biến đếm này cũng nờn được khởi tạo lại khi người gởi thay đổi định danh. Trường này cũng cú thể được sử dụng để ước tớnh tốc độ tải trung bỡnh của một người gởi.
Phần thứ 3: Phần này cú thể bỏ trống hoặc cú giỏ trị thay đổi phụ thuộc vào số cỏc nguồn được lắng nghe bởi người gởi này, kể từ khi nú goiwr đi bản tin hồi đỏp cuối cựng. Mỗi một khối tin bỏo nhận mang theo một số đặc điểm về sự nhận cỏc gúi tin RTP tại một thành viờn nhận. Việc truyền đi trạng thỏi của người nhận trong khi người nhận đú đang thay đổi định danh SSRC cú thể gõy ra xung đột. Những thụng tin trạng thỏi bao gồm:
- SSRC_n (source identifier): 32 bits. Định danh của nguồn mà khối tin bỏo nhận này cần chuyển tới.
- fraction lost: 8 bits
Tỷ lệ gúi RTP bị thất lạc từ nguồn gởi SSRC_n kể từ lần truyền gúi SR hoặc gúi RR trước. Nú được tớnh bằng tỷ số giữa số gúi bị mất trờn số gúi được gởi. Giỏ trị được biểu diễn bằng giỏ trị, tớnh bằng số nguyờn của 8-bit nhị phõn chia cho 256. Chỳ ý rằng, phớa nhận khụng thể núi rằng cú bao nhiờu gúi bị thất lạc trước khi nú nhận được gúi tin cuối cựng (tớnh tại thời điểm đấy). Do vậy, sẽ khụng cú một bản tin bỏo nhận được phỏt đi cho nguồn SSRC_n , nếu tất cả cỏc gúi tin gởi đi từ nú (kể từ khi phỏt đi bản thụng bỏo cuối) đều bị thất lạc.
- cumulative number of packets lost: 24 bits
Tổng số cỏc gúi dữ liệu RTP từ nguồn SSRC_n đó bị mất, kể từ khi nhận được gúi tin RTP đầu tiờn. Con số này xỏc định số cỏc gúi được nhận trờn thực tế hụt bao nhiờu so với mong muốn. Do con số này tớnh trong một thời gian dài, nờn cỏc gúi đến muộn sẽ khụng bị coi là thất lạc, một gúi đến muộn cũng bị loại bỏ khi mà đó cú một gúi tương tự đến trước.
- extended highest sequence number received: 32 bits
Trong đú, 16 bits thấp chứa số thứ tự cao nhất đó nhận được trong cỏc gúi dữ liệu RTP phỏt từ nguồn SSRC_n. 16-bit cao dựng mở rộng cho cỏc số thứ tự này, được dựng khi số đếm vượt quỏ 16-bit. Chỳ ý rằng, với những người nhận khỏc nhau, tham gia cựng một phiờn RTP nhưng ở cac thời điểm khỏc nhau sẽ tạo ra phần mở rộng khac nhau.
- interarrival jitter: 32 bits
Dựng ước lượng sự khỏc nhau về mặt thời gian đến của cỏc gúi dữ liệu RTP. Giỏ trị này được tớnh toỏn dựa trờn giỏ trị của cỏc nhón thời gian, được biểu diễn bằng số nguyờn khụng dấu. Giỏ trị của độ jitter J dựng được xỏc định nhằm so sỏnh sự khỏc nhau D từ nguồn đến đớch giữa 2 gúi RTP. Như được chỉ ra ở cụng thức dưới đõy, điều này tương đương với sự khỏc nhau về relative transit time
của 2 gúi tin.
relative transit time là sự khỏc nhau giữa nhón thời gian được gắn trờn gúi RTP và đồng hồ của bờn nhận khi gúi tin đú đến đớch.
Nếu gọi Si là nhón thời gian gắn trờn gúi RTP, Ri là thời gian đến của gúi. Khi đú đối với hai gúi i và j ta cú D được tớnh:
D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si).
interarrival jitter nờn được tớnh một cỏch liờn tục khi mỗi gúi dữ liệu được nhận từ nguồn SSRC_n. để thực hiện điều này, sự khỏc biệt D giữa 1 gúi RTP và một gúi RTP trước nú (khụng cần quan tõm đến số thứ tự) được tớnh theo cụng thức sau:
J(i) = J(i-1) + (|D(i-1,i)| - J(i-1))/16. - last SR timestamp (LSR): 32 bits
32 bits giữa của 64 bits trong NTP timestamp nhận được từ gúi SR RTCP mới nhất từ nguồn SSRC_n. Nếu chưa cú bản tin SR nào được nhận thỡ trường này được gỏn bằng 0.
- delay since last SR (DLSR): 32 bits
Thời gian tạm ngừng được đỏnh giỏ trong 1/65536 giõy, giữa quỏ trỡnh nhận một gúi SR cuối nhất từ nguồn SSRC_n và quỏ trỡnh gởi đi bản tin hồi đỏp. Nếu khụng cú bản tin SR nào được gởi từ nguồn SSRC_n nào được gởi thỡ trường DLSR được gỏn bằng zero.
Gọi SSRC_r là người nhận đang phỏt đi bản tin bỏo nhận này. SSRC_n cú thể tớnh toỏn tổng thời gian trễ lan truyền đến SSRC_r bằng cỏch ghi lại thời gian A khi bản tin bỏo nhận được nhận. Nú tớnh tổng thời gian round-trip time (A-LSR) dựa trờn nhón thời gian của gúi SR cuối cựng (LSR), sau đú trừ đi thời gian DLSR ta cú thơỡ gian trễ lan truyền là: (A - LSR - DLSR). Giỏ trị này cú thể được dựng để tớnh gần đỳng khoảng cỏch tới cỏc người nhận, cho dự thời gian trễ trờn cỏc đường truyền là khỏc nhau.
Cỏch tớnh thời gian trễ lan truyền được minh hoạ trong hỡnh dưới. Thời gian được biểu diễn ở cả hai dạng, thập lục phõn 32-bit và dạng số thực tương đương. Dấu “:” dựng để phõn cỏch giữa 16-bit phần nguyờn và 16-bit phần thập phõn.
Hỡnh 4.3: Cỏch tớnh thời gian trễ lan truyền.