Các giao thức sử dụng trong truyền tải nội dung IPTV

Một phần của tài liệu Nghiên cứu IP multicast và các ứng dụng (Trang 50 - 54)

Các giao thức chính đƣợc sử dụng trong truyền tải nội dung IPTV: UDP, RTP, RTSP và IGMP trong đó các giao thức đƣợc sử dụng cho quá trình truyền dẫn IP là UDP và RTP. Giao thức sử dụng trong quá trình báo hiệu là RTSP và IGMP.

UDP

Sử dụng cho quá trình truyền dữ liệu nhạy với thời gian và video. UDP không yêu cầu truyền thông hai chiều do đó thích hợp cho các hoạt động trên mạng một chiều nhƣ quảng bá vệ tinh. UDP thích hợp cho các ứng dụng multicast.

UDP đƣợc quy định trong IETF RFC 768 và là một trong các giao thức chính của bộ các giao thức IP. Thuật ngữ “datagram” hay “packet” đƣợc sử dụng để mô tả đoạn dữ liệu IP. Mỗi gói IP chứa một tập hợp các trƣờng theo thứ tự xác định nhờ đó máy thu biết các giải mã luồng số liệu. nhiều loại giao thức có thể đƣợc đóng gói trong tải của gói tin IP.

Nguyễn Văn Hưng – D06VT2 48 - Source port: Trƣờng này có độ dài 16 bit, xác định cổng của ngƣời gửi thông tin và có ý nghĩa nếu muốn nhận thông tin phản hồi từ ngƣời nhận. Nếu không dùng thì đặt nó bằng 0.

- Destination port: Có độ dài 16 bit, xác định cổng nhận thông tin.

- Length: Trƣờng có độ dài 16 bit xác định chiều dài của toàn bộ datagram: phần tiêu đề và dữ liệu. Chiều dài tối thiểu là 8 byte khi gói tin không có dữ liệu, chỉ có tiêu đề.

- Checksum: Có độ dài 16 bit, dùng cho việc kiểm tra lỗi của phần tiêu đề và dữ liệu. Phƣơng pháp tính checksum đƣợc định nghĩa trong RFC 768.

0 15 16 31 (Source Port) Destination Port

Length (Checksum)

Hình 2.4: Minh họa tiêu đề gói tin UDP

Trên thực tế, độ dài một gói IP có thể mang 7 gói luồng truyền tải MPEG-TS (dài 188 byte). Tuy nhiên, UDP không có cơ chế phát lại và điều khiển luồng nhƣ TCP.

Real Time Protocol (RTP)

RTP đƣợc quy định trong IETF RFC 3550 và IETF RFC 3551, đƣợc thiết kế cho các dịch vụ thời gian thực end-to-end, nhƣ các ứng dụng tƣơng tác audio và video, sử dụng các mạng dịch vụ unicast hoặc multicast. Các ứng dụng sử dụng RTP chạy trên nền tảng của giao thức UDP (TCP cũng có thể sử dụng nhƣng rất ít), nhằm sử dụng các dịch vụ multiplexing và checksum của UDP. RTP gồm 2 phần liên qua chặt chẽ với nhau:

 Real Time Protocol: cung cấp nhãn thời gian, đánh số thứ tự chuỗi và các cơ cấu khác để kiểm soát vấn đề định thời. Qua cơ cấu này, RTP tạo ra quá trình truyền tải số liệu thời gian thực từ đầu cuối-tới-đầu cuối. Sử dụng quá trình đánh số chuỗi cho phép phát hiện các gói tin bị mất và sai thứ tự.

 Real Time Control Protocol: đƣợc sử dụng để thu thập số liệu giám sát từ đầu cuối tới đầu cuối, thông tin về quá trình truyền phát, QoS.

Vì truyền trong môi trƣờng IP với UDP nên việc mất gói, không đúng thứ tự gói tin, trễ là không tránh khỏi. Để hạn chế tác động của các vấn đề này, RTP sử dụng các trƣờng thời gian (Timestamp) và Sequency Number trong phần tiêu đề để đo đạc các

Nguyễn Văn Hưng – D06VT2 49 thông số loss rate, delay, jitter, RTT,... phần giải pháp cho các vấn đề này do các ứng dụng giải quyết.

Tiêu đề gói tin RTP bao gồm các trƣờng chính nhƣ sau:

Payload Type Sequence Number Timestamp Synchronization Source Identifier Miscellaneous Fields Hình 2.5: Tiêu đề bản tin RTP

- Trƣờng PT (Payload Type) xác định cách thức mã hóa dữ liệu trong gói tin RTP, đƣợc định nghĩa bởi các profile. Vì mỗi gói tin đều có PT nên cho phép các gói tin đƣợc thay đổi cách thức mã hóa trong quá trình truyền trên mạng (ta sẽ thấy rõ ƣu điển này với các chức năng mixer và translator của RTP).

- Trƣờng Sequence number: có độ dài 16 bit, đƣợc tăng thêm bởi 1 đối với từng gói tin, giá trị khởi đầu (của gói tin đầu tiên) đƣợc chọn ngẫu nhiên để nhằm mục đích bảo mật. Xem xét giá trị trong trƣờng này, receiver có thể xác định đƣợc gói tin bị mất hoặc không đến đúng thứ tự, tính toán xác suất mất gói hay để điều chỉnh thời gian playout của dữ liệu nhằm đảm bảo chất lƣợng của dịch vụ.

- Trƣờng Timestamp: có độ dài 32 bit, đƣợc sử dụng để tính tóan đồng bộ cũng nhƣ jitter của dữ liệu, vì vậy giá trị trong trƣờng này luôn tăng một cách tuyến tính và đơn điệu tùy thuộc theo xung clock lấy mẫu đƣợc sử dụng cho từng lọai dữ liệu (ví dụ video là 90kHz) bắt đầu từ thời điểm byte đầu tiên của gói RTP. Giá trị đầu tiên cũng đƣợc chọn ngẫu nhiên.

- Trƣờng SSRC (Synchronization Source Identifier): có độ dài 32 bit là thông tin về nguồn của dữ liệu để đồng bộ trong quá trình phát và nhận dữ liệu (bởi vì một ứng dụng có thể có nhiều nguồn dữ liệu, ví dụ nhƣ voice và data trong video). Giá trị này cũng đƣợc chọn ngẫu nhiên để đảm bảo không bị trùng 2 SSRC trong cùng một phiên RTP.

Các ứng dụng thời gian thực đƣợc triển khai cho các dich vụ multicast hoặc unicast. Đối với hầu hết các firewall đều không cho phép địa chỉ multicast đi qua. Vì vậy Translator đƣợc sử dụng nhƣ một RTP-level relay trong trƣờng hợp này. Hai Translators đƣợc sử dụng ở hai sides của firewall nhằm mụch đích tạo đƣờng hầm để gói tin RTP multicast qua firewall bởi một kết nối bảo mật.

Một lọai RTP-level relay khác là Mixer, đƣợc sử dụng để kết hợp nhiều luồng dữ liệu từ nhiều nguồn khác nhau thành một luồng dữ liệu mới hoặc để thay đổi phƣơng

Nguyễn Văn Hưng – D06VT2 50 thức mã hóa thông tin thích hợp với các tốc độ đƣờng truyền khác nhau trên mạng (ví dụ nhƣ từ nhiều nguồn với đƣờng truyền tốc độ cao đến đích có đƣờng truyền tốc độ thấp).

Cho dù RTP đƣợc thiết kế để không phụ thuộc vào các giao thức mạng phía dƣới, UDP vẫn đƣợc sử dụng rộng rãi hơn. Khi truyền tải luồng video MPEG-2, nhãn thời gian RTP đƣơc lấy từ trực tiếp từ xung nhịp đƣợc lấy mẫu 27 MHz trong PCR (Program Clock Reference) đƣợc tải trong Transport Streaming, nhờ đó đảm bảo đồng bộ định thời hơn nữa. Tuy nhiên, điều cần chú ý là RTP không quy định bất kỳ cơ chế nào để khôi phục các gói bị mất, mà chỉ có thể phát hiện các gói bị mất nhƣ mô tả ở trên.

Real Time Streaming Protocol (RTSP)

RTSP đƣợc quy định trong IETF RFC 2326, cho phép ngƣời sử dụng điều khiển từ xa máy chủ đa phƣơng tiện tƣơng tự nhƣ các lệnh điều khiển VCR (Video Cassette Recorder), chẳng hạn play và pause. Minh họa giao thức RTSP trên hình 2.6.

Hình 2.6: Minh họa giao thức RTSP

Thông thƣờng, các bản tin RTSP đƣợc gửi từ các clinet, ngọai trừ một số trƣờng hợp đặc biệt, các máy chủ gửi tới client. Trong các hệ thống IPTV, RTSP đƣợc sử dụng trong các ứng dung VoD để khách hàng có thể truy cập và điều khiển nội dung đƣợc lƣu tại các máy chủ VoD. Về bản chất VoD là quá trình thông tin một-tới-một đƣợc thiết lập qua phƣơng thức unicast.

Internet Group Management Protocol (IGMP)

IGMP là giao thức quản lý nhóm trong kỹ thuật IP multicast đã trình bày trong Chƣơng I. IP multicast là quá trình truyền dẫn gói tin IP tới “nhóm máy chủ”. Nhóm

Server Client Describe Setup Play Teardown Content

Nguyễn Văn Hưng – D06VT2 51 máy chủ này đƣợc xác định bằng một địa chỉ IP duy nhất. Trong hệ thống IPTV, nhóm máy chủ sẽ là tập hợp các thuê bao muốn thu một chƣơng trình riêng nào đó.

Trên thực tế, điều này có nghĩa rằng các hệ thống truyền dẫn sử dụng IGMP không gửi tất cả nội dung tới tất cả các ngƣời dùng. Sử dụng IGMP cho phép điều khiển nội dung nào đến những ngƣời sử dụng nào và do đó kiểm soát đƣợc lƣợng số liệu truyền qua mạng tại một thời điểm bất kỳ.

IGMP là giao thức đƣợc sử dụng trong hệ thống IPTV để chuyển kênh. Đáp ứng với các lệnh điều khiển từ xa, một loạt các lệnh IGMP đƣợc tạo ra để rời nhóm multicast hiện tại và nhập vào một dịch vụ khác. Thời gian cần thiết để thực hiện những lênh này có ảnh hƣởng trực tiếp tới thời gian chuyển kênh. Các nhà cung cấp middleware đang thực hiện rất nhiều kỹ thuật khác nhau để cải tiến thời gian đáp ứng chuyển kênh.

Một phần của tài liệu Nghiên cứu IP multicast và các ứng dụng (Trang 50 - 54)

Tải bản đầy đủ (PDF)

(77 trang)