LOC – Vị trí địa lý của người phát trong RTCP SDES, cung cấp thông tin về vị trí cụ thể của nguồn dữ liệu trong phiên truyền thông.. - Khả năng ghép gói: Các gói tin RTCP có khả năng ghé
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
CƠ SỞ TẠI THÀNH PHỐ HỒ CHÍ MINH
-
TIỂU LUẬN MÔN HỌC INTERNET & GIAO THỨC
Đề tài:
Tìm hiểu giao thức RTCP
Nhóm: 14 Lớp: D21CQVT01-N
Trang 2MỤC LỤC
DANH MỤC CÁC TỪ VIẾT 3
1 Giới thiệu chung về giao thức RTCP 4
1.1 Định nghĩa giao thức RTCP 4
1.2 Đặc điểm của giao thức RTCP 4
1.3 Ưu và nhược điểm của giao thức RTCP 5
a) Ưu điểm: 5
b) Nhược điểm 5
2 Định dạng thông điệp của giao thức và phân tích ý nghĩa các trường tin 5
2.1 Các thông điệp của giao thức RTCP 5
2.2 Phân tích ý nghĩa các trường tin 6
2.2.1 Các trường tin trong gói tin Sender Reports (SR) 6
2.2.2 Các trường tin trong gói tin Receiver Reports (RR) 8
2.2.3 Các trường tin trong gói tin Source Description (SDES) 9
2.2.4 Các trường tin trong gói tin BYE Messages 11
2.2.5 Các trường tin trong gói tin Application-Specific Messages (APP) 11
3 Phương thức hoạt động của giao thức RTCP 12
3.1 Phương thức hoạt động của giao thức RTCP 12
3.2 Hạn chế của RTCP và Giải pháp 13
4 Kết luận 14
4.1 Tóm tắt vai trò của giao thức RTCP 14
4.2 Ưu điểm của giao thức RTCP 14
TÀI LIỆU THAM KHẢO 16
Trang 3DANH MỤC CÁC TỪ VIẾT
1 RTCP – Real-Time Transport Control Protocol: Giao thức điều khiển truyền tải thời gian thực
2 RTP – Real-Time Transport Protocol: Giao thức truyền tải thời gian thực
3 NTP – Network Time Protocol: Giao thức đồng bộ thời gian mạng
4 SSRC – Synchronization Source Identifier: Định danh nguồn đồng bộ
5 CNAME – Canonical Name: Tên định danh chuẩn
6 UDP – User Datagram Protocol: Giao thức datagram người dùng
7 RFC – Request for Comments: Tài liệu yêu cầu ý kiến (dùng để chỉ các tiêu chuẩn của IETF)
8 Jitter: Biến thiên độ trễ giữa các gói tin truyền qua mạng
9 VoIP – Voice over Internet Protocol: Giao thức thoại qua Internet
10 VOD – Video On Demand: Video theo yêu cầu
11 APP – Application-specific message: Thông điệp ứng dụng đặc thù
12 BYE – End of participation: Chấm dứt tham gia
13 IETF – Internet Engineering Task Force – Tổ chức Kỹ thuật Internet
14 Mạng IP– Mạng sử dụng Giao thức Internet (IP)
15 UTC – Thời gian chuẩn quốc tế (Coordinated Universal Time)
16 VOD – Video on Demand: Video theo yêu cầu
17 Encryption Prefix – Tiền tố mã hóa: Một đoạn dữ liệu được thêm vào trước dữ liệu thực trong quá trình mã hóa
18 Tool – Công cụ: Phần mềm hoặc thiết bị được sử dụng để giám sát, kiểm tra hoặc phân tích mạng
19 LOC – Vị trí địa lý của người phát trong RTCP SDES, cung cấp thông tin về vị trí cụ thể của nguồn dữ liệu trong phiên truyền thông
20 NOTE – Trường trong RTCP SDES dùng để ghi lại thông báo tạm thời về trạng thái của nguồn
21 PRIV – Trường trong RTCP SDES xác định phần mở rộng riêng hoặc thử nghiệm cho ứng dụng, bao gồm tiền tố và chuỗi giá trị tùy chỉnh
22 DLSR–Delay Since Last SR: Độ trễ kể từ SR cuối cùng đến thời điểm hiện tại
23 LSR – Last SR Timestamp: Dấu thời gian SR cuối cùng cuối cùng được nhận
24 Highest Sequence Number Received – Số thứ tự gói tin cao nhất nhận được
25 Cumulative Number of Packets Lost – Số gói tin bị mất tích lũy
26 Fraction Lost – Tỷ lệ mất gói tin
27 Octet Count – Số lượng Octet: Tổng số byte (1 byte = 8 bits) được truyền hoặc nhận trong một khoảng thời gian cụ thể
28 Packet Count – Số lượng gói tin: Tổng số gói tin được truyền hoặc nhận trong một khoảng thời gian cụ thể
Trang 41 Giới thiệu chung về giao thức RTCP
1.1 Định nghĩa giao thức RTCP
RTCP (Real-time Transport Control Protocol) giao thức điều khiển truyền tải thời gian thực có nhiệm vụ giám sát và đánh giá quá trình truyền tin dựa trên việc truyền một cách định kỳ các gói tin điều khiển tới các thành viên tham gia hội thoại với cùng cơ chế truyền dữ liệu RTCP cung cấp một luồng điều khiển được liên kết với một luồng dữ liệu RTP cho một ứng dụng đa phương tiện Luồng kiểm soát này cung cấp ba chức năng:
− Phản hồi về hiệu suất của ứng dụng và mạng
− Tương quan và đồng bộ hóa các luồng phương tiện khác nhau đến từ cùng một người gửi
− Truyền đạt danh tính của người gửi để hiển thị trên người dùng giao diện
1.2 Đặc điểm của giao thức RTCP
− Cơ chế phản hồi: RTCP cung cấp phản hồi về chất lượng truyền đa phương tiện, cho phép thích ứng dựa trên điều kiện mạng Nó cung cấp số liệu về mất gói, độ trễ và độ trễ khứ hồi, cho phép thực hiện hành động khắc phục
− Chuẩn hóa: Việc IETF giới thiệu RTP và RTCP như các giao thức chuẩn hóa trong RFC
3550 có nghĩa là một cách tiếp cận thống nhất đối với truyền phát đa phương tiện qua IP Điều này làm giảm bớt các vấn đề về khả năng tương tác
Trang 5− Đồng bộ hóa: Với cơ chế đóng dấu thời gian của RTP và báo cáo của RTCP, việc đồng bộ hóa giữa các luồng âm thanh và video trở nên dễ dàng hơn, nâng cao chất lượng trải nghiệm
− Được thiết kế riêng cho đa phương tiện: RTP được thiết kế riêng cho việc truyền dữ liệu đa phương tiện thời gian thực và RTCP bổ sung bằng cách cung cấp khả năng kiểm soát và phản hồi
1.3 Ưu và nhược điểm của giao thức RTCP
a) Ưu điểm:
- Giám sát hiệu suất: RTCP cung cấp phản hồi về hiệu suất của ứng dụng và mạng, giúp phát hiện và ứng phó với tắc nghẽn Nó cho phép ứng dụng điều chỉnh các tham số mã hóa để giảm băng thông tiêu thụ và cải thiện chất lượng dịch vụ
- Đồng bộ hóa luồng: RTCP cho phép tương quan và đồng bộ hóa các luồng phương tiện khác nhau đến từ cùng một người gửi, ví dụ như đồng bộ hóa luồng âm thanh và video
- Xác định người gửi: RTCP truyền đạt danh tính của người gửi, giúp hiển thị thông tin này trên giao diện người dùng
- Khả năng ghép gói: Các gói tin RTCP có khả năng ghép chồng, cho phép nhiều gói tin RTCP được nối để tạo thành một gói tin hợp nhất và được gửi như một gói tin duy nhất của giao thức tầng thấp hơn như UDP
- Linh hoạt: RTCP định nghĩa nhiều loại gói tin khác nhau, bao gồm báo cáo bên gửi, báo cáo bên nhận, mô tả nguồn và các gói tin điều khiển dành riêng cho ứng dụng
b) Nhược điểm
- Tăng tải mạng: Việc gửi các gói tin RTCP định kỳ có thể làm tăng tải trên mạng, đặc biệt
là trong các phiên có nhiều người tham gia
- Độ trễ: Thông tin phản hồi từ RTCP có thể bị trễ, do đó việc điều chỉnh ứng dụng dựa trên thông tin này có thể không kịp thời
- Bảo mật: Các gói tin RTCP thường không được mã hóa, do đó thông tin trong các gói tin này có thể bị lộ
2 Định dạng thông điệp của giao thức và phân tích ý nghĩa các trường tin
2.1 Các thông điệp của giao thức RTCP
Bởi vì các luồng khác nhau hoàn toàn có thể có đồng hồ khác nhau do vậy cần phải có một cách để đồng bộ hóa chính xác các luồng với nhau RTCP giải quyết vấn đề này bằng cách chuyển tải thông tin thời gian tương quan với thời gian thực tế cùng với nhãn thời gian theo
Trang 6đồng hồ được mang trong gói dữ liệu RTP RTCP định nghĩa một số loại gói tin khác nhau, bao gồm:
− SR (Sender Report): là các thống kê về việc gửi và nhận của một phiên từ đối tượng
đóng vai trò chủ động gửi Máy phát tạo ra thông điệp SR để truyền đi vào các luồng RTP, thông điệp này chứa các thông tin: SSRC của luồng RTP, timestamp và thời gian wall clock của gói tin RTP được tao ra gần đây nhất, số lượng gói tin được gửi
đi trong luồng, số lượng byte được gửi đi trong luồng Ngoài ra, SR còn có thể đồng
bộ các luồng dữ liệu đa phương tiện khác nhau trong một phiên làm việc RTP
− RR (Receiver Report): là các dữ liệu thống kê việc nhận của bên nhận thông tin
Thông điệp RR được tạo ra để báo cáo về việc thu nhận của máy thu trong một phiên làm việc RTP và nó sẽ được đưa vào một gói tin RTCP Gói tin này sau đó sẽ được gửi vào cây multicast để kết nối với tất cả phiên làm việc khác Thông điệp RR chứa thông tin: SSRC của luồng RTP, số lượng gói tin RTP bị mất, các số sq number cuối nhận được trong luồng RTP, độ jitter trong truyền gói
− SDES (Source Description Items): Mô tả nguồn, mang CNAME và thông tin mô
tả người gửi khác Các thông điệp SDES được máy phát tạo ra và truyền trên luồng RTP chứa các thông tin: điểm bắt đầu (như địa chỉ mail của người gửi, tên người gửi), giá trị SSRC của luồng RTP kết hợp
− BYE Messages: Chỉ thị sự kết thúc tham gia vào phiên truyền Nguồn phát sẽ gửi thông điệp BYE đến điểm cuối (end–point) nhằm mục đích tắt luồng truyền RTP
− APP (Application-specific message): thông điệp APP chứa các chức năng cụ thể
của các ứng dụng
2.2 Phân tích ý nghĩa các trường tin
2.2.1 Các trường tin trong gói tin Sender Reports (SR)
Trang 7Hình 1: Sender Report RTCP Packet
− SSRC (Synchronization Source Identifier): Đây là định danh duy nhất được gán cho mỗi nguồn phát trong một phiên truyền SSRC giúp phân biệt dữ liệu từ các nguồn phát khác nhau, đặc biệt quan trọng khi có nhiều nguồn phát đồng thời trong cùng một phiên
− NTP Timestamp: Trường này chứa dấu thời gian từ hệ thống NTP (Network Time Protocol), cung cấp thời gian tuyệt đối (UTC) Dấu thời gian này giúp đồng bộ hóa giữa các nguồn phát và bên nhận, đảm bảo rằng dữ liệu truyền đi được phát lại một cách đồng bộ và nhất quán
− RTP Timestamp: Đây là dấu thời gian của gói tin trong dòng RTP Nó không dựa trên thời gian tuyệt đối mà theo đơn vị thời gian của phiên truyền RTP Timestamp giúp xác
Trang 8định thời điểm gói tin được phát ra, điều này rất cần thiết cho việc phát lại các gói tin theo đúng thứ tự và thời gian ban đầu
− Packet Count: Trường này cung cấp tổng số gói RTP đã được gửi từ đầu phiên Số lượng gói tin cho biết khối lượng dữ liệu mà nguồn phát đã truyền tải, là cơ sở để đánh giá hiệu suất của nguồn phát cũng như mức độ tải mạng
− Octet Count: Đây là tổng số byte dữ liệu mà nguồn phát đã gửi Số liệu này giúp xác định lượng băng thông mà nguồn phát đã sử dụng và có thể được sử dụng để kiểm soát tài nguyên mạng hoặc phát hiện các vấn đề quá tải
2.2.2 Các trường tin trong gói tin Receiver Reports (RR)
Hình 2: Receiver Report RTCP Packet
− SSRC: Trường này xác định nguồn phát mà bên nhận phản hồi chất lượng Điều này cho phép nguồn phát biết bên nào đang gửi báo cáo về chất lượng nhận, từ đó có thể điều chỉnh để cải thiện trải nghiệm người dùng
− Fraction Lost: Đây là tỷ lệ phần trăm các gói tin bị mất so với tổng số gói tin đã được gửi Fraction Lost cung cấp thông tin về mức độ tin cậy của kết nối mạng, và một tỷ lệ mất mát cao thường cho thấy kết nối có vấn đề hoặc điều kiện mạng không ổn định
Trang 9− Cumulative Number of Packets Lost: Trường này ghi lại tổng số gói tin đã bị mất kể từ đầu phiên Số liệu này cho phép các bên tham gia nắm bắt được mức độ tin cậy của kết nối trong toàn bộ phiên truyền và có thể đánh giá sự cố mạng dài hạn
− Highest Sequence Number Received: Trường này ghi lại số thứ tự cao nhất của gói tin
mà bên nhận đã nhận được Dựa trên số thứ tự này, bên nhận có thể xác định liệu có gói tin nào bị mất không và giúp đánh giá chất lượng truyền tải theo thời gian thực
− Jitter: Trường Jitter đo lường sự biến động của độ trễ giữa các gói tin liên tiếp Biến thiên về độ trễ (jitter) là một chỉ số quan trọng cho thấy tính ổn định của kết nối mạng Một mức jitter cao có thể gây ra hiện tượng gián đoạn hoặc chất lượng âm thanh và video kém
− LSR: Đây là thời gian mà báo cáo SR gần nhất từ nguồn phát được nhận Thông tin này giúp theo dõi tần suất gửi báo cáo và hoạt động của nguồn phát trong suốt phiên truyền
− DLSR: Trường này ghi lại độ trễ giữa thời điểm nhận báo cáo SR cuối cùng và thời điểm hiện tại Điều này giúp đánh giá mức độ trễ trong việc phản hồi báo cáo từ nguồn phát
2.2.3 Các trường tin trong gói tin Source Description (SDES)
Hình 3: Source Description RTCP Packet
Trang 10− CNAME (Canonical Name): Trường này chứa tên định danh duy nhất của nguồn phát, thường là một chuỗi ký tự duy nhất được liên kết với mỗi nguồn CNAME giúp người nhận xác định chính xác nguồn phát trong trường hợp nhiều nguồn có cùng địa chỉ IP hoặc cổng
− Name: Trường này chứa tên của người phát hoặc thiết bị phát Cung cấp tên thật của người phát giúp người nhận nhận diện được ai đang truyền tải dữ liệu, từ đó tạo cảm giác kết nối và tương tác hơn trong phiên truyền
− Email: Trường Email cung cấp địa chỉ email của người phát Thông tin này cho phép các bên tham gia có thể liên hệ nhanh chóng với nhau nếu cần thiết, tạo điều kiện thuận lợi cho việc hỗ trợ và giao tiếp trong quá trình truyền tải
− Phone: Trường này ghi lại số điện thoại liên lạc của người phát Cung cấp thêm phương thức liên hệ giúp người dùng có thể nhanh chóng liên lạc trong trường hợp cần hỗ trợ hoặc có thắc mắc
− LOC: Trường này ghi vị trí địa lý của người phát giúp xác định vị trí từ thông tin chung đến chi tiết tùy vào ứng dụng Điều này có thể hữu ích trong các ứng dụng hội nghị hoặc hệ thống theo dõi vị trí
− Tool: Trường Tool chứa thông tin về phần mềm hoặc thiết bị mà nguồn phát đang sử dụng Thông tin này có thể hữu ích trong việc nhận diện công cụ phát và hỗ trợ giải quyết sự cố khi có vấn đề xảy ra trong phiên truyền
− NOTE: Trường này chứa các thông báo tạm thời về trạng thái của nguồn, nó không nên được sử dụng thường xuyên để tránh làm giảm hiệu suất truyền dữ liệu Khi một thông báo hết hiệu lực, trường này sẽ tiếp tục gửi với chuỗi rỗng để báo hiệu cho người nhận rằng thông báo đã kết thúc
− PRIV: Trường này dùng để xác định các phần mở rộng riêng hoặc thử nghiệm cho ứng dụng Nó bao gồm một tiền tố để phân biệt với các mục PRIV khác, theo sau là chuỗi giá trị chứa thông tin mong muốn Tiền tố nên ngắn để tiết kiệm băng thông, và mục này không nên lạm dụng do giới hạn băng thông RTCP
Trang 112.2.4 Các trường tin trong gói tin BYE Messages
Hình 4: Goodbye RTCP Packet
− SSRC: Trong thông điệp BYE, trường SSRC ghi lại định danh của nguồn phát hoặc bên nhận đã rời khỏi phiên Việc này giúp các bên tham gia biết ai đã ngừng tham gia trong phiên truyền, hỗ trợ quản lý kết nối và điều chỉnh cho các nguồn còn lại
− Reason: Trường Reason cung cấp thông tin tùy chọn về lý do rời khỏi phiên, có thể là một chuỗi văn bản Lý do này giúp các bên tham gia khác hiểu rõ hơn về tình hình và bối cảnh, từ đó đưa ra các biện pháp cần thiết hoặc điều chỉnh cho phù hợp
2.2.5 Các trường tin trong gói tin Application-Specific Messages (APP)
Hình 5: Application-Defined RTCP Packet
− Message Type: Trường này xác định loại thông điệp ứng dụng được truyền, giúp ứng dụng có thể xử lý và phân tích thông tin đúng cách theo nhu cầu cụ thể của nó
− Message Length: Đây là độ dài của thông điệp, được đo bằng byte Thông tin này giúp các ứng dụng quản lý bộ nhớ và xử lý dữ liệu hiệu quả hơn
− Message Data: Trường này chứa dữ liệu cụ thể mà ứng dụng yêu cầu Dữ liệu có thể là bất kỳ thông tin gì mà ứng dụng cần, cung cấp thêm khả năng tùy chỉnh và tương tác trong phiên truyền
Trang 123 Phương thức hoạt động của giao thức RTCP
3.1 Phương thức hoạt động của giao thức RTCP
Mỗi gói tin RTCP bắt đầu với một phần cố định giống như thành phần của gói tin dữ liệu RTP, tiếp theo là các thành phần cấu trúc có độ dài biến thiên theo kiểu gói tin nhưng trong giới hạn là 32-bit Các yêu cầu liên kết và trường độ dài nằm trong phần cố định của mỗi gói tin giúp cho các gói tin RTCP có khả năng sắp xếp theo ngăn xếp (stackable) Nhiều gói RTCP có thể được nối để tạo thành một gói tin hợp nhất và gói tin hợp nhất này được gửi như một gói tin riêng lẻ của giao thức tầng thấp hơn như giao thức UDP Mọi gói RTCP đều phải được truyền trong gói tin hợp nhất cho dù trong gói tin hợp nhất chỉ có một gói duy nhất Mỗi gói tin RTCP riêng lẻ trong gói tin hợp nhất có thể được xử lý độc lập mà không cần các yêu cầu về thứ tự cũng như sự kết hợp giữa các gói tin Khuôn dạng của gói tin hợp nhất được đề xuất như sau:
+ Tiếp đầu mã hóa (Encription Prefix): 32 bit đầu tiên được để dành nếu và chỉ nếu gói tin hợp nhất RTCP cần được mã hóa Giá trị mang trong phần này cần chú ý tránh trùng với 32 bit đầu tiên trong gói RTP
+ Gói đầu tiên trong gói tin hợp nhất luôn luôn là gói RR hoặc SR Trong trường hợp không thu, không nhận thông tin hay trong gói tin hợp nhất có một gói BYE thì một gói RR rỗng dẫn đầu trong gói tin hợp nhất
+ Trong trường hợp số lượng các nguồn được thống kê vượt quá 31 (không vừa trong một gói SR hoặc RR) thì những gói RR thêm vào sẽ theo sau gói thống kê đầu tiên Việc bao gồm gói thống kê (RR hoặc SR) trong mỗi gói tin hợp nhất nhằm thông tin thường xuyên về chất lượng thu của những người tham gia Việc gửi gói tin hợp nhất đi được tiến hành một cách đều đặn và thường xuyên theo khả năng cho phép của băng thông
+ Trong mỗi gói tin hợp nhất cũng bao gồm SDES nhằm thông báo về nguồn phát tín hiệu
+ Các gói BYE và APP có thể có thứ tự bất kỳ trong hợp gói trừ gói BYE phải nằm cuối cùng
Đối với mỗi dòng RTP mà bên nhận nhận như một phần của phiên, bên nhận tạo ra báo cáo quá trình nhận Bên nhận thu thập các báo cáo quá trình nhận của nó vào một gói tin RTCP