Gerçek Zamanlı İletim Protokolü: Revizyonlar arasındaki fark

[kontrol edilmemiş revizyon][kontrol edilmemiş revizyon]
İçerik silindi İçerik eklendi
Xqbot (mesaj | katkılar)
k Bot değişikliği Değiştiriliyor: ro:RTP; Kozmetik değişiklikler
Nurullah ergul (mesaj | katkılar)
Değişiklik özeti yok
1. satır:
{{Anlam ayrım|RTP}}
'''RTP''' (Real-time Transport Protocol), gerçek zamanlı [[ses]], [[görüntü]] ya da simülasyon verilerinin uçtan ucu taşınmasını sağlayan protokoldur. RTP,Bu kaynakprotokol ayrımı (''resource reservation'') yapmaz ve hizmet kalitesini ([[QoSIETF]]) garantinin etmez.Audio-Video [[RTCP]]Transport (RTPçalışma Controlgrubu Protocol),tarafından RTP protokolu ile birlikte çalışır ve oturumda yer alan tüm kullanıcılara periyodik olarak kontrol paketleri göndererek alma kalitesi (''reception quality'') ile ilgili bilgi sağlargeliştirildi. Eğer sıkışıklık oluşmaya başlamışsa, uygulama veri hızını azaltabilir.
RTP geniş ölçüde [[telefon]] , [[video telekonferans]] uygulamalar ve web tabanlı [[bas-konuş]] özellikleri gibi [[streaming media]] gerektiren iletişim ve görsel sistemlerde kullanılır.
 
RTP genellikle [[RTP Control Protocol]] (RTCP) ile beraber kullanılır. RTP media streamleri (audio and video gibi) taşıyorken
== Dış bağlantılar ==
RTCP quality of service [[(QoS)]] bilgisini ve iletim istatisklerini izlemek için kullanılır. Bu protokollerin her ikisi beraber kullanıldığı zaman RTP portunun bir çift sayıya denk gelmesi gerekir. RTCP portu ise o oturuma ait RTP portundan sonraki elverişli olan ilk tek port numarasıdır. RTP ve RTCP genellikle 1024-65535 arası portları kullanır.
* [http://www.ietf.org/rfc/rfc3550.txt rfc 3550]
 
[[Kategori:Uygulama katmanı protokolleri]]
 
 
[[ca:RTP]]
{{IPstack}}
[[cs:RTP]]
 
[[de:RTP]]
==Genel Tanıtım==
[[en:RTP]]
[[fr:RTP]]
RTP [[IETF]] standartları organizasyonun Audio/Video Transport çalışma grubu tarafından geliştirildi. RTP [[H.323]] ve [[RTSP]]
[[id:RTP]]
gibi diğer protokoller ile beraber kullanılır. RTP standartı 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 periodik olarak [[QoS]] parametrelerini kontrol bilgilerini yollamak için kullanılır.
[[it:RTP]]
 
[[ja:RTP]]
RTP çoklu ortam verilerinin gerçek-zamanlı[[(real-time)]], uçtan uca [[( end-to-end)]] transferi için tasarlandı. 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) kompansazyonu 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.
[[nl:RTP]]
 
[[pl:RTP]]
Gerçek- zamanlı çoklu ortam streaming uygulamaları zamanında bilgileri teslim etmeyi gerektirir ve bu amaçı 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 geçikmelerden dolayı sık kullanılmıyor. RTP yürütme işlemlerinin çoğu UDP üzerine temellendirilir. Diğer taşıma prtokolleri daha henüz yaygın olarak kullanılmasalarda özellikle çoklu ortam oturumları (sessions) için tasarlanan [[SCTP]] ve [[DCCP]] dir.
[[ro:RTP]]
 
[[zh:RTP]]
 
=== Protokol Bileşenleri ===
 
RTP iki alt protokolü tanımlar:
 
* Veri Transfer Protokolü : gerçek zamanlı çoklu ortam verisinin transferiyle ilgilemir. Bu protokol tarafından sağlanan bilgi senkronisazyon için tarih bilgisi, kaybolan paketlerin denetimi için sıra numarası ve verinin kodlanmış formatını gösteren payload formatını içerir.
 
* Gerçek Zamanlı Kontrol Protokolü : [[Servis önceliği]] [[(QoS)]] ile ilgili geribildirimler ve ortam streamleri arasında senkronisazyonu belirtmek için kullanılır.
 
 
=== 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 imkan 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ı itibari 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 imkan 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.
 
 
== Paket Başlığı ==
 
 
{| width="500" align="right" border="1" class="wikitable"
|-
! bit offset
! colspan="2"| 0-1
! colspan="1"| 2
! colspan="1"| 3
! colspan="4"| 4-7
! colspan="1" | 8
! colspan="6" | 9-15
! colspan="15" | 16-31
|- align="center"
! 0
| colspan="2"|Ver.
| colspan="1"|P
| colspan="1"|X
| colspan="4"|CC
| colspan="1"|M
| colspan="6"|PT
| colspan="15"|Sequence Number
|- align="center"
! colspan="1"|32
| colspan="32"|Timestamp
|- align="center"
! 64
| colspan="32"|SSRC identifier
|- align="center"
! 96
| colspan="32"|CSRC identifiers (optional)<br />...
|}
 
 
RTP başlığı en az 12 byte boyutundadır. Başlıktan sonra seçimli başlık uzantıları bulunabilir. Başlık alanları aşağıdaki gibidir.
 
* '''Ver.''': (2 bit) Protokolün versiyonunu işaret eder. Şuandaki versiyon 2 dir.
* '''P (Padding)''': (1 bit) Eğer RPT paketinin sonunda ekstra doldurma (padding) bytelar varsa bunları işaret etmek için kullanılır. Bir padding belirli bir boyutun bir bloğunu ,bir kısmını doldurmak için kullanılabilir.
* '''X (Extension)''': (1 bit) Payload veri ve standart başlık kısmı arasındaki bir uzantı başlığının varlığını işaret eder.
* '''CC (CSRC Count)''': (4 bit) sabit başlığı takip eden [[CSRC]] tanımlayıcılarının sayısını içerir.
* '''M (Marker)''': (1 bit) Bir profil tarafından tanımlanır ve uygulama seviyesinde kullanılır. Eğer ayarlanırsa uygulama için o andaki verinin uygulamayla ilgili bazı özel durumlara sahip olduğunu belirtir.
* '''PT (Payload Type)''': (7 bit) Payload formatını gösterir. Ve uygulama tarafından onun yorumlanmasına karar verilir. Bir RTP profili tarafından belirtilir. Örneğin minimal kontrol ile ses ve video konferansları.
* '''Sequence Number''' : (16 bit) Sıra numarası RTP başlığında paket kaybını belirlemeye yarayan ve aynı tarih bilgisi değerine sahip paketlerin sıralanmasını sağlar. Ve başlangıç değeri rasgele olarak belirlenir.
* '''Timestamp''': (32 bit) Uygun aralıklarla kabul edilen örnekleri, kayıtları yeniden göstermek için alıcı uygulamaya imkan tanıması amaçıyla kullanılır. Bir kaç ortam streamleri mevcut ise , timestamp lar her stream de bağımsızdır ve ortam senkronizasyonu için güvenilir olmayabilir. Senkronizasyona ve jitter hesaplamalarına izin vermek için zaman içinde tekdüze ve artan bir şekilde artan zaman bilgisinden meydana gelir.
* '''SSRC''' : (32 bit) Senkronizasyon kaynak tanımlayıcıları tek bir şekilde bir streamin kaynağını tanımlar. aynı RTP oturumu içindeki senkronizasyon kaynağı tek ve eşsiz olmalıdır. Bu tanımlayıcı rasgele seçilir.
* '''CSRC''': 32 bitlik yardımcı kaynaktır. Yardımcı kaynak idleri bir çok kaynaktan oluşturulan bir stream için yardımcı kaynakları numaralandırır.
* '''Uzantı Başlığı''':(seçimli) İlk 32 bitlik alan özel bir profil tanımlayıcısı ve uzantı başığının 32 bitinin dışında 32 bitlik birimlerde (EHL=uzantı başlık uzunluğu) uzantının uzunluğunu belirten 16 bitlik bir uzunluk tanımlayıcısın 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 segemntasyon 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.
 
==External links==
 
* [http://en.wikipedia.org/wiki/Real-time_Transport_Protocol en.wikipedia.org/Real-time_Transport_Protocol]