Real-time Transport Protocol
Транспортен протокол во реално време (Real-time Transport Protocol (RTP)) Транспортниот протокол во реално време дефинира стандардизиран пакет формат за достава на аудио и видео вреку IP мрежи.RTP e користен ексклузивно за комуникациски и забавни системи кои содржат проследување на медиа, како телефонија, видео конференциски апликации, телевизиски сервиси и веб засновани push-to-talk можности.
RTP е користен заедно со RTP Control Protokol (RTCP). Додека RTP ги носи медиумските проследувања, RTCP се користи за следење на преносни статистики и квалитет на сервис, и доделува синхронизација од повеќе проследувања. RTP е еден од техничките фондации на Voice over IP и во овој контекст често е користен заедно со signaling protocol кој помага при поставување на врски преку интернетот.
RTP се обезбедува и прима дури и од порт броеви и поврзната RTCP комуникација ја користи следната повисока непарна портна бројка.
RTP е создадена од аудио-видео транспорт работечката група на Internet Engineering Task Force (IETF) и првпат е објавена во 1996 како RFC 1889, заменета од RFC 3550 во 2003.
Петте нивоа на TCP/IP моделот |
5. Применето ниво (Application layer) |
4. Преносно ниво |
3. Мрежно ниво |
2. Податочно ниво |
ATM • DTM • Ethernet • FDDI • Frame Relay • GPRS • PPP • ARP • RARP • L2TP • PPTP |
1. Физичко ниво |
Етернет • ISDN • Модеми • PLC • SONET/SDH • G.709 • Wi-Fi • … |
Преглед
[уреди | уреди извор]RTP е дизјаниран за крај-крај, реално време, трансфер на проследени податоци. Протоколот овозможува објекти за спонтаниот надоместок и детекција на надвор од редослед пристигнување на податок, кое е честа појава за време на праќања преку IP мрежа. RTP дозволува пренос на податоци до повеќе одредишта преку IP мултикаст. RTP се смета за примарен стандард за аудио-видео транспорт преку IP мрежи и се користи со поврзан профил и товарен формат.
Проследувачките апликации за мултимедија во реално време побаруваат навремена достава на информација и можат да толерираат загуба на некој пакет за постигнување на оваа цел. На пример, загуба на пакет во аудио апликација може да доведе до губење на мал дел од секунда во аудио податок, што може да биде неприметливо со алгоритми кои прикриваат грешки.Пренесувачки контролен протокол (TCP), иако стандардизиран за РТП употреба, не се употребува обично во РТП апликации бидејќи TCP фаворизира доверливост наместо навременост. Наместо тоа поголемиот дел од РТП имплементации се направени врз УДП(User Datagram Protocol). Други транспортни протоколи специјално направени за мултимедиски сесии се SCTP и DCCP, иако од 2010 тие не се во широко употребени. РТП е создаден од аудио/видео транспорт работечка група од ИЕТФ стандарди организација. РТП се употребува заедно со други протоколи како на пример H.323 и РТСП. РТП стандардот дефинира пар од протоколи, РТП и РТПЦ. РТП е употребен за трансфер на мултимедиски податоци, а РТЦП е употребен за периодично праќање контролна информација и квалитет на сервис параметри.
Протокол компоненти
[уреди | уреди извор]РТП спецификацијата опишува две под-протоколи:
- Податочен трансфер протокол,РТП,кој се справува со трансфер на податок во реално време. Информацијата овозможена од овој протокол вклучува и маркери за време (за синхронизација), секвентни броеви (за пакет загуба и откривање на промена на редослед) и товарниот формат кој укажува на енкодираниот формат на податокот.
- РТЦП е користен за да специфицира квалитет на сервис, повратни информации и синхронизација помеѓу медиумските потоци. Пропусниот опсег на РТЦП сообраќајот спореден со РТП е мал, обично околу 5%.
- Опционен сигналски протокол како H.323, Session Initiation Protocol(SIP), ili Jingle (XMPP)
- Опционен протокол за опис на медиумите како Session Description Protocol
Сесии
[уреди | уреди извор]РТП сесија се воспоставува за секој мултимедиски поток. Сесијата се состои од IP-адреса со пар од порти за РТП и РТЦП. На пример, аудио и видео потоци ќе имаат посебни РТП сесии, овозможувајќи му на корисникот да прекине посебен поток. Портите кои ја формираат сесијата преговараат користејќи други протоколи како РТСП и СИП. Според спецификациите, РТП порта треба да биде парна, а РТЦП портата е наредниот повисок непарен порт број. РТП и РТЦП обично се непривилегирани УДП порти, но често може да се користи други транспортни протоколи (најпосебни,СЦТП и ДЦЦП), бидејќи дизајнот на протоколот е транспорт независен.
Профили и товарни формати
[уреди | уреди извор]Еден од дизајн размислувањата за РТП беше да носи ранг од различни мултимедиски формати и да дозволи нови формати да бидат додадени без ревизија на РТП стандардот. Дизајнот на РТП е заснован на архитектонски принцип познат како aplication level framing(ALF). Информацијата побарана од специфични апликациски потреби не е вклучена во генеричкото РТП заглавје, наместо тоа достапено преку РТП профили и товарни формати. За секоја класа од апликација(пример видео,аудио), РТП дефинира профил и еден или повеќе асоцирани товарни формати. Целосната спецификација на РТП за одредена апликациска употреба ќе побара профилни и товарни формат спецификации. Профилот дефинира кодекси користени за енкодирање на товарниот податок и негово мапирање во товарни форматни кодови во носивост тип на поле(ПТ) во РТП заглавјето. Секој профил е придружен од неколку товарни формат спецификации, секое од нив го опишува транспортот за даден енкодиран податок. Аудио товарни формати се : G.711, G723, MP3 i DTMF, а видео формати се : H.261, H263, H264 i MPEG-4.
Packet header
[уреди | уреди извор]bit offset | 0-1 | 2 | 3 | 4-7 | 8 | 9-15 | 16-31 | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Version | P | X | CC | M | PT | Sequence Number | |||||||||||||||||||||||||
32 | Timestamp | |||||||||||||||||||||||||||||||
64 | SSRC identifier | |||||||||||||||||||||||||||||||
96 | CSRC identifiers ... | |||||||||||||||||||||||||||||||
96+32×CC | Profile-specific extension header ID | Extension header length | ||||||||||||||||||||||||||||||
128+32×CC | Extension header ... |
РТП заглавјето има минимална големина од 12 бајти. После заглавјето, опциони заглавни екстензии може да се присутни. Ова е следено од РТП товар, формат кој е утврден од дадена класа на апликација. Полињата во заглавјето се :
Верзија:(2бита) укажува на верзијата на протоколот.Моментална верзија е 2. П(Падинг):(1бит) Се користи за да покаже дали има вишок падинг бајти на крајот на РТП пакетот. Падингот може да се користи за пополнување на блок со одредена големина, на пример како што е побарано од енкрипциски алгоритам. Последниот бајт од падингот го содржи бројот на падинг бајти кои се додадени (вклучувајќи се и себе). Х(ексентзија):(1бит) Укажува на присуство на проширено заглавје помеѓу стандардното заглавје и товарниот податок.Ова е апликациски или профил специфично. ЦЦ(ЦСРЦ број на):(4бита) Го содржи бројот од ЦСРЦ идентификатори кои го следат фиксираното заглавје. М(маркер):(1бит) Употребено во апликациско ниво и дефинирано од профил. Ако е поставено, значи дека моменталниот податок има некоја специјална важност за апликацијата. ТП(товарен тип):(7бита) Укажува на форматот од товарот го одредува неговото толкување од страна на апликацијата.Ова е специфицирано од РТП профил. Секвенцен број:(16 бита) Редниот број е инкрементиран за еден за секој РТП податок пратен и е користен од примачот за детекција на пакет загуба и за го врати редоследот на пакетите. РТП не специфицира некоја акција за загуба на пакет; оставено е на апликацијата да ги преземе соодветните мерки.На пример, видео апликациите може да ја пуштат последната позната рамка на место на загубената рамка. Временска ознака:(32бита) Користена за овозможување на примачот да ги прегледа назад примените примероци во правилни интервали. Кога неколку медиумски потоци се активни, временските ознаки се независни во секој поток, и може да не бидат доверливи за медиумска синхронизација.Грануларноста од тајмингот е спецификација на апликацијата. Часовната грануларност е една од деталите кои се специфицирани во РТП профилот за апликацијата. ССРЦ(32бита): Идентификација на изворот на синхронизација единствено го идентификува изворот од потокот. ЦСРЦ: Придонесува изворни id нумерирања на придонесувачки извори на поток кои бил генериран од повеќе извори. Продолжено заглавје: Првите 32бита содржат профил специфичен идентификатор(16бита) и спецификатор на должина (16 бита) кои укажуваат на должината на продолжението во 32 битни единици, не рачунајќи ги 32 бита од продолженото заглавје.
РТП засновани системи
[уреди | уреди извор]Целосен мрежен заснован систем вклучува други протоколи и стандарди во група со РТП. Пртоколои како SIP, Jingle, H.225 i H.245 се користат за сесиска иницијација, контрола и терминација. Други стандарди како MPEG и H.263 се користат за енкодинг на товарниот податок како што е утврдено преку РТП профил. РТП праќач го фаќа мултимедискиот податок, го енкодира, врамува и емитува како РТП пакети со соодветни временски ознаки и растечки редни броеви. Во зависнот од РТП профилот во употреба, праќачот може да го постави товарниот тип поле. РТП примачот ги фаќа РТП пакетите, детектира исчезнати пакети и може ги преуреди пакетите. Ги декодира рамките во зависнот од товарниот формат и го презентира потокот на неговиот корисник.
Погледајте
[уреди | уреди извор]Белешки
[уреди | уреди извор]Наводи
[уреди | уреди извор]- Perkins, Colin (2003), RTP, Addison-Wesley, ISBN 978-0-672-32249-5
- Peterson, Larry L.; Bruce S. Davie (2007), Computer Networks (4. изд.), Morgan Kaufmann, ISBN 978-0-12-374013-7[мртва врска]
- „RTP“. Network Protocols Handbook. Javvin Technologies. 2005. ISBN 978-0-9740945-2-6.
- „RTP“. Broadband Networks. Ministry of Human resources, India. 2008.
Надворешни врски
[уреди | уреди извор]- oRTP, RTP library from Linphone written in C Архивирано на 9 декември 2013 г.
- Henning Schulzrinne's RTP page (including FAQ)
- GNU ccRTP
- JRTPLIB, a C++ RTP library
- RTPMobile .NET, an open source .NET RTP library Архивирано на 9 мај 2012 г.
- LScube project, providing a full streaming suite including experimental SCTP capability