Real-time Transport Protocol

Genel Tanıtım

RTP IETF standartları organizasyonunun Audio/Video Transport çalışma grubu tarafından geliştirildi. RTP H.323 ve RTSP gibi diğer protokoller ile beraber kullanılır. RTP standardı RTP ve Real-time Transport Control Protocol (RTCP) yi bir protokol çiftini tanımlar. RTP multimedia veri transferi için kullanılır ve RTCP periyodik olarak QoS parametrelerini kontrol bilgilerini yollamak için kullanılır.
RTP çoklu ortam verilerinin gerçek-zamanlı(real-time), uçtan uca ( end-to-end) transferi için tasarlanmıştır. Protokol bir IP network üzerindeki veri iletiminde verilerdeki sıra bozukluğunu tespit eder ve jitter (network üzerinde paketlerin geliş süresindeki, düzenindeki değişiklik) kompanzasyonu için kolaylık sağlar. RTP multicast servisler üzerinden birden çok hedefe veri transferini destekler. RTP IP ağlarında ses/video iletiminde öncelikli standart olarak kabul edilir.
Gerçek zamanlı çoklu ortam streaming uygulamaları zamanında bilgileri teslim etmeyi gerektirir ve bu amacı gerçekleştirmek için bazı kaybolan paketleri tolere edebilmelidir. Örneğin audio (ses) uygulamasında kaybolan bir paket ikinci bir paketinin kaybolmasına neden olabilir. TCP RTP için standart haline gelmiş olmasına rağmen bağlantı kurulumundaki ve hata düzeltmedeki doğal gecikmelerden dolayı sık kullanılmamaktadır. RTP yürütme işlemlerinin çoğu UDP üzerine temellendirilir. Diğer taşıma protokolleri daha henüz yaygın olarak kullanılmasalar da özellikle çoklu ortam oturumları (sessions) için tasarlanan SCTP ve DCCP dir.

Oturumlar

Veri iletimi esnasında iki uç arası bir RTP oturumu kurulur. Bu oturum IP adresleri ve RTP ve RTCP ye ait portlardan oluşur. Bu oturum içerisindeki cihazlar veri alıp gönderebilirler. Her bir medya türü için cihazlar arası ayrı bir oturum oluşturulur. Bir RTP oturumu her ortam streami için kurulur. Böylelikle oturum içerisindeki kişilerin hangi medya tipinden veri almak istemelerine imkân sağlanmış olur. Örneğin bir kullanıcı yayınlanan bir filmin sadece sesini almak isteyebilir. Bu durumda alıcının video yayınını engellemesi yeterli olacaktır.

Profiller ve Payload Formatları

RTP nin formatında dikkat edilecek hususlardan biri birçok formatı desteklemesidir (H.264, MPEG-4, MJPEG, MPEG, gibi). RTP, standartların yeniden düzenlenmesinin dışında yeni formatların eklenmesine izin verir. RTP protokolünün yapısı Application Level Framing(ALF) ye dayanmaktadır. RTP bu yapsısı itibarı ile birden çok çokluortam formatında yayın yapıp alabilmektedir. RTP de belli bir formatta veri transferi için gerekli bilgiler RTP başlığının içerisinde değil RTP Payload bilgisi ve Profil bilgisi içerisinde yer alır. RTP her bir uygulama için bir profil ve buna bağlı payload girdilerini belirler. Bu da birçok format ile uyumlu çalışmasına imkân sağlar.
RTP de profil bilgisi payload veriyi kodlamak için kullanılan kodlayıcıları (codec) tanımlar ve profil başlığındaki "Payload TYpe" alanındaki payload format kodları için onların eşleşmelerini tanımlar. Her profil birkaç payload format belirtimleriyle beraberdir. Ses Payload formatlarından bazıları G.711, G.723, G.726, G.729, GSM, QCELP, MP3 içerir. Ve video Payload formatlarından bazıları H.261, H.263, H.264, MPEG yi içerir.

RTP Tabanlı Sistemler

Tam bit network tabanlı sistem RTP ile beraber diğer protokoller ve standartları da kapsayacak. SIP, RTSP, H.225, ve H.263 e benzer protokoller oturum başlatılması, kontrol edilmesi ve sonlandırılması için kullanılır. H.263, H.264, MPEG gibi standartlar da RTP profili üzerinden tanımlanan payload veriyi kodlamak için kullanılır.
RTP ister connection-oriented ister connectionless olsun bağlantının türünden bağımsız olarak çalışır. Herhangi bir adres formatına bağımlılığı yoktur. Sadece çerçeveleme(framing) ve segmentasyon işlemlerinin alt katmandaki protokoller tarafından halledilmesini bekler. RTP herhangi bir şekilde reliability (güvenilirlik) garantisi vermez. RTP paket başlığında içerdiği bilgilerle hata kontrolü yapılmasını sağlar. RTP protokolü sanki uygulamanın bir bileşeniymiş gibi çalışır. RTP adının gerçek zamanlı iletişim protokolü olmasına rağmen (pratikte olamayacağı gibi) gerçek zamanlı iletişim sağlamaz. RTP gerçek zamanlı uygulama içeriğini taşınmasını sağlar.