Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

30
Tıkanıklık Kontrolü Tıkanıklık Kontrolü için Yeni Bir İletim için Yeni Bir İletim Protokolü: DCCP Protokolü: DCCP Ayşegül Alaybeyoğlu, Yonca Bayrakdar, Aylin Kantacı Ayşegül Alaybeyoğlu, Yonca Bayrakdar, Aylin Kantacı Ege Üniversitesi Ege Üniversitesi Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü

description

Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP. Ayşegül Alaybeyoğlu, Yonca Bayrakdar, Aylin Kantacı Ege Üniversitesi Bilgisayar Mühendisliği Bölümü. Sunum İçeriği. Giriş Diğer Protokoller TCP UDP RTP RTCP Datagram Congestion Control Protocol (DCCP) Paket Yapısı - PowerPoint PPT Presentation

Transcript of Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

Page 1: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

Tıkanıklık Kontrolü için Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: Yeni Bir İletim Protokolü:

DCCPDCCPAyşegül Alaybeyoğlu, Yonca Bayrakdar, Aylin KantacıAyşegül Alaybeyoğlu, Yonca Bayrakdar, Aylin Kantacı

Ege ÜniversitesiEge ÜniversitesiBilgisayar Mühendisliği BölümüBilgisayar Mühendisliği Bölümü

Page 2: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

2

Sunum İçeriğiSunum İçeriği• Giriş

• Diğer Protokoller

– TCP

– UDP

– RTP

– RTCP

• Datagram Congestion Control Protocol (DCCP)

– Paket Yapısı

– Bağlantı Kurulumu

– Tıkanıklık Kontrolü

• TCP Like (CCID2)

• TCP Friendly Rate –TFRC (CCID3)

Page 3: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

3

1. Giriş-11. Giriş-1• Video akışlandırma gibi gerçek zamanlı uygulamalarda, verinin

zamanında iletimi güvenli iletimine göre daha büyük öncelik taşır.

• Bu yüzden TCP gibi güvenli iletim sağlayan bir protokol bu tarz uygulamalar için uygun değildir.

• Geçmişte, zamanında iletimin önemli olduğu uygulamalar için UDP protokolü kullanılmış fakat zaman içinde iletim esnasındaki tıkanıklık kontrol mekanizmasının önemi anlaşılmıştır.

Page 4: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

4

1. Giriş-21. Giriş-2

• Bu çalışmada UDP protokolünün yerine kullanılması düşünülerek tasarlanmış, yeni bir protokol olan DCCP protokolü tanıtılmıştır.

• DCCP protokolünün temel özelliklerinden bahsedilmiş, tıkanıklık kontrol mekanzimasında TCP’den farkları belirtilmiştir.

Page 5: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

5

2. Diğer Protokoller-12. Diğer Protokoller-1• Verinin iletildiğine dair güvence gerektiren ancak gecikmelere

çok hassas olmayan uygulamalar için TCP(Transmission Control Protocol) protokolü

• Birtakım veri kayıplarına tolerans gösterilebilecek ancak gecikmelerin daha fazla önem azrettiği uygulamalarda ise UDP(User Datagram Protocol) protokolü.

• Uygulama gerçek zamanlı ses ve video akışlandırma içermekteyse ve alıcı aldığı paketlerin senkronizasyonu için bir zamanlama bilgisine ihtiyaç duyuyorsa, RTP (Real-time Transport Protocol) ve ilişkili olarak da RTCP (Real-time Transport Protocol) protokolleri kullanılabilir

Page 6: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

6

2.1 TCP-12.1 TCP-1• TCP basitleştirilmiş OSI modelinde iletim katmanı

üzerinde görev yapmaktadır.

• TCP kullanılarak, network üzerindeki bilgisayarlardaki uygulamalar arasında veri iletimi yapılmasını mümkün kılan bağlantılar kurulabilir.

• Protokol göndericiden alıcıya güvenli ve sıralı bir şekilde veri iletilmesi garantisini vermektedir.

Page 7: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

7

2.1 TCP-22.1 TCP-2• TCP internet üzerinde kullanılan en popüler uygulama

protokollerini ve uygulamaları desteklemektedir. – World Wide Web– E-mail– File Transfer Protocol (FTP)– Secure Shell

• TCP protokolünde sırayla – bağlantı kurulması – veri transferi– bağlantı sonlandırılması aşamaları yer almaktadır

Page 8: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

8

2.1 TCP-32.1 TCP-3• TCP protokolü kullanımının uygun olmadığı birçok

uygulama mevcuttur.

• Bir paket kaybolduğunda, bu paket tekrar iletilene kadar sonraki paketler uygulama tarafından alınamamaktadır. Bu durum gerçek zamanlı uygulamalarda sorunlara yol açar.

• Bu tarz uygulamalarda verinin büyük bir kısmının zamanında iletilmesi , tamamının sırayla iletilmesinden daha fazla avantaj sağlar.

Page 9: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

9

2.2 UDP-12.2 UDP-1• UDP kullanılarak network üzerindeki bilgisayarlardaki

programlar birbirlerine datagram olarak ifade edilen küçük paketleri gönderirler.

• UDP, TCP’nin sağladığı güvenilirliği ve sıralı iletimi sağlamaz.

• Datagramlar sırasız, tekrarlı iletilebilir veya kaybolabilir.

• Tüm paketlerin hatasız iletilmesinin kontrolü ile zaman kaybedilmemesi, küçük ölçekli veya zamana duyarlı uygulamalar için UDP’nin daha hızlı ve etkin bir çözüm olarak ortaya çıkmasını sağlar.

Page 10: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

10

2.2 UDP-22.2 UDP-2• TCP ‘ye kıyasla UDP yayımı(broadcast) ve

çoğayayımı (multicast) için tercih edilir.

• UDP kullanan belli başlı network uygulamaları– Domain Name System (DNS)– Streaming media uygulamaları– Voice over IP (VoIP)– Trivial File Transfer Protocol (TFTP)– Online oyunlar

• Güvenilirlik özelliğinin sağlanmamasından dolayı UDP uygulamaları kayıp, hata ve tekrarlı iletimi kabul eder yapıda olmalıdır.

Page 11: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

11

2.3 RTP/RTCP2.3 RTP/RTCP• Bir uygulamada gerçek zamanlı ses veya video transferi söz

konusuysa, alıcının gelen paket akışını gereken hızda işleyebilmesi için gereken zamanlama bilgisi RTP tarafından sağlanır.

• Buna ek olarak, ses ve video içeriklerini birlikte barındıran uygulamalarda, RTCP kullanılarak gelen iki ortam içeriğinin senkronizasyonu sağlanabilir.

• RTP, UDP üzerine kurulmuş olup RTCP ile birlikte çalışmaktadır.

Page 12: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

12

3. Protokollerin Karşılaştırılması3. Protokollerin Karşılaştırılması

• TCP ve UDP’nin karşılaştırılması

TCP UDPBağlantı temelli Bağlantısız

Güvenilir Güvenilir değil. Mesajların ulaşıp ulaşmadığı bilinmiyor.

Sıralı Aynı anda gönderilen iki mesajda sıra belirsiz

Uygulanması zor Uygulanması basit

Stream (bir kerede çok sayıda paket gönderilebilir)

Datagram (bir kerede tek paket)

Page 13: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

13

Page 14: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

14

4. Datagram Congestion Control 4. Datagram Congestion Control Protocol(DCCP)-1Protocol(DCCP)-1

• DCCP, çokluortam trafiğini desteklemek üzere IETF topluluğu tarafından önerilmiş bir iletim protokolüdür.

• Güvenilir olmayan veri iletimi gerçekleştirmektedir.

• Bağlantı kurulumu, sonlandırımı ve uygun tıkanıklık kontrol mekanizmasının seçimi için anlaşmalar yapmaktadır.

• ECN mekanizmasında, tıkanık durumda olan yönlendiriciler (router), paketleri atmak yerine paketleri işaretleme işlemini gerçekleştirirler.

Page 15: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

15

4.Datagram Congestion Control 4.Datagram Congestion Control Protocol(DCCP)-2Protocol(DCCP)-2

• DCCP, herhangi bir paket kaybı olduğunda, Explicit Congestion Notification (ECN) olarak adlandırılan bir bilgilendirme mekanizması kullanmaktadır.

• Bu mekanizma ile de göndericiye, alıcının hangi paketleri alabildiğine ve hangi paketlerin kaybolduğuna dair bilgiler gönderilir

• DCCP= UDP+ (Tıkanıklık Kontrolü+ Tokalaşmalar+ Bağlantı Kurulumu)

• DCCP= TCP-(Güvenirlik+ Sıralı Paket İletimi+ Bayt akışı )

Page 16: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

16

4.1 DCCP’de Paket Yapısı-14.1 DCCP’de Paket Yapısı-1• DCCP protokol fonksiyonları on adet paket türü ile gerçekleştirilmektedir.

• Bu paketlerden sekizi bağlantı kurulumu için kullanılırken diğer ikisi de senkronizasyonu sağlamak için kullanılır.

• DCCP-Request paketi, istemci tarafından bağlantının kurulumunın başlaması için gönderilir.

• DCCP-Response paketi, sunucu tarafından DCCP-Request paketine cevap olarak gönderilir.

• DCCP-Data paketi ile uygulama verisi, DCCP-Ack paketi ile yalın onay bilgisi, DCCP-DataAck paketi ile de uygulama verisi ile onay bilgisi

birlikte gönderilmektedir.

Page 17: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

17

4.1 DCCP’de Paket Yapısı-24.1 DCCP’de Paket Yapısı-2• DCCP-CloseReq paketi sunucunun istemciye bağlantıyı kapatması için

gönderdiği bir istek paketidir.

• DCCP-Close paketi sunucu ya da istemcinin bağlantıyı kapatması için kullandığı bir pakettir.

• DCCP-Reset paketi, bağlantının beklenmedik bir durumda sonlandırımı için kullanılmaktadır.

• DCCP-Sync ve DCCP-SyncAck paketleri paket iletiminde senkronizasyonu sağlamak için kullanılır.

• Her bir DCCP paketi birer sıra numarası taşır böylece paket kayıpları

kolayca belirlenip rapor edilebilir.

Page 18: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

18

4.2 DCCP’de Bağlantı Kurulumu-14.2 DCCP’de Bağlantı Kurulumu-1

• DCCP bağlantısı kurulmadan önce istemci ve sunucu arasında hangi tıkanıklık mekanizmasının ve parametrelerinin kullanılacağına dair bir anlaşmaya varılmış olması gerekir.

• DCCP, güvenilir olmayan bir veri iletimi gerçekleştirse de, onay bilgilerinin gönderiminin güvenilir olması beklenir.

• Bunun içinde göndericinin, alıcının göndermiş olduğu onay bilgilerinden en az birisini onaylaması gerekmektedir.

• DCCP’de, göndericinin bu onaylama işlemini gerçekleştirebilmesi için kullanılan yöntem, alıcının gönderdiği onay bilgisinde paket sıra numarası bilgisinin bulunmasını sağlamaktır ki gönderici alıcıya hangi pakete ait onay bilgisinin alındığını rapor edebilsin.

Page 19: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

19

4.2 DCCP’de Bağlantı Kurulumu-24.2 DCCP’de Bağlantı Kurulumu-2

• DCCP’de bağlantılar iki yönlüdür yani veri ve onay bilgisi eş zamanlı olarak her iki yönde iletilebilmektedir.

• Bu durum video akışlandırma uygulamalarda kullanılan DCCP gibi bir protokol için uygun değildir.

• Çünkü sunucudan istemciye video gibi büyük bir boyutta veri iletilirken, istemciden sunucuya sadece dosya ismi gönderilebilmektedir.

• Yani tek bir bağlantıda asimetrik bir durum oluşmaktadır.

Page 20: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

20

4.3 DCCP’de Bağlantı Kurulumu-34.3 DCCP’de Bağlantı Kurulumu-3

• Bu duruma çözüm olarak, DCCP bağlantısının iki yarım bağlantıya ayrılması önerilmiştir.

• Alıcıdan göndericiye, göndericiden alıcaya olan bağlantıların herbirine yarım-bağlantı (half-connection) denmektedir.

• Bu yarım bağlantıların her biri tıkanıklık kontrol mekanizmasına sahiptir

Page 21: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

21

A ve B arasındaki bağlantıda, ilk yarım bağlantı A’dan B’ye veri paketlerini ve B’den A’ya onay bilgisisi içerirken, ikinci yarım bağlantı ise B’den A’ya veri paketlerini ve A’dan B’ye de onay bilgisini içerir. Bu iki yarım bağlantı birbirlerinden bağımsız bir şekilde eş zamanlı olarak gerçekleşebilmektedir.

Page 22: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

22

4.4 DCCP’de Tıkanıklık Kontrolü-14.4 DCCP’de Tıkanıklık Kontrolü-1• DCCP, birçok tıkanıklık kontrol mekanizmasını içermekte ve bu

mekanizmalardan en uygun olanını dinamik olarak seçebilmektedir.

• Her bir tıkanıklık kontrol algoritması birer tıkanıklık kontrol tanımlayıcısı (CCID) ile belirtilir.

• CCID2 ve CCID3, IETF tarafından standartlaştırılan kontrol tanımlayıcılarıdır.

• CCID2, TCP gibi pencere tabanlı bir tıkanıklık kontrol algoritmasıdır ve daha çok online oyunlar gibi uygulamalar için uygundur.

• CCID3 ise, TCP Friendly Rate Control (TFRC) algoritmasıdır ve daha çok IP telefonculuğu gibi iletim oranında ani değişimler yerine hassas değişimlerin olduğu uygulamalar için uygundur.

Page 23: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

23

4.4 DCCP’de Tıkanıklık Kontrolü-24.4 DCCP’de Tıkanıklık Kontrolü-2• TCP-like Congestion Control (CCID2)-1

– CCID2, TCP protokolünün de kullandığı artımsal artış çarpımsal azalış (Additive Increase Multiplicative Decrease) tıkanıklık kontrol mekanizmasına benzer bir mantıkta çalışır.

– Buna göre, gönderici bir tıkanıklık penceresi oluşturur ve bu pencere doluncaya kadar paket iletimine devam eder.

– Paket alıcı tarafından onaylanarak alınır. Alıcı tarafından ECN bilgisinin gönderilmesi tıkanıklık olduğunu belirtir.

– Bu durumda tıkanıklığın giderilmesi için tıkanıklık penceresi yarıya düşürülür.

Page 24: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

24

4.4 DCCP’de Tıkanıklık Kontrolü-34.4 DCCP’de Tıkanıklık Kontrolü-3• TCP-like Congestion Control (CCID2)-2

– CCID2, uzun vadede maksimum bant genişliği kullanımı sağlarken, herhangi bir tıkanıklık durumunda tıkanıklık penceresini direk yarıya düşürmesi ile veri gönderim oranında ani değişimlere neden olur.

– Bu özellikler de CCID2’yi video akışlandırma gibi gerçek zamanlı uygulamalardan ziyade online oyunlar için daha uygun kılar.

Page 25: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

25

4.4 DCCP’de Tıkanıklık Kontrolü-44.4 DCCP’de Tıkanıklık Kontrolü-4• TCP Friendly Rate Control –TFRC (CCID3)

– TFRC, bir eşitlik tabanlı (equation-based) tıkanıklık kontrol mekanizmasıdır.

– Daha önce bahsedilen AIMD tıkanıklık kontrol mekanizması, herhangi bir tıkanıklık olduğunda iletim oranını direk yarıya düşürürken, eşitlik tabanlı tıkanıklık kontrol mekanizması ile iletim oranı en son birim zamandaki kayıp sayısına bağlı olarak belirlenmektedir.

Page 26: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

26

4.4 DCCP’de Tıkanıklık Kontrolü-54.4 DCCP’de Tıkanıklık Kontrolü-5

– Gönderici, alıcıdan tıkanıklık durumu ile ilgili geri bildirim almaktadır ve aşağıda verilen tıkanıklık kontrol denklemine göre de iletim oranını belirlemektedir.

– Bu denklemde T maksimum gönderim hızına karşılık gelmektedir. s parametresi paket büyüklüğünü, R parametresi gidiş dönüş zamanını, p parametresi kayıp olayı sayısını ve t parametresi de yeniden gönderim

zaman aşımını ifade etmektedir.

Page 27: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

27

4.4 DCCP’de Tıkanıklık Kontrolü-64.4 DCCP’de Tıkanıklık Kontrolü-6• Tıkanıklık kontrolü için belirtilen denklemin kullanılabilmesi

için R ve p parametrelerinin tanımlanması gereklidir.

• Burada kayıp olay sayısını ifade eden p parametresi alıcıda hesaplanırken, gidiş dönüş zamanını ifade eden R parametresi de alıcı yada göndericide hesaplanabilir.

• Alıcı p parametre değerini göndericiye geribildirim yapar.

• Gönderici de bu geribildirimi yorumlayarak, belirtilen denkleme göre bir gönderim hızını hesaplar.

• Eğer mevcut gönderim hızı, hesaplanan gönderim hızından düşükse arttırılır, yüksekse de azaltılır.

Page 28: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

28

4.4 DCCP’de Tıkanıklık Kontrolü-74.4 DCCP’de Tıkanıklık Kontrolü-7• Eşitlik tabanlı tıkanıklık kontrol mekanizmasında, uygulama

için en uygun kontrol denkleminin seçilmesi çok önemlidir.

• CCID3, CCID2 ile karşılaştırıldığında, CCID3’teki iletim oranında daha az değişimin olduğu görülür.

• Bu özellikler CCID3’ü, iletim oranının önem taşıdığı video akışlandırma gibi uygulamalar için daha uygun hale getirir.

• CCID3, pencere tabanlı değil hız tabanlıdır. Bu yüzden göndericinin alıcıdan olumlu bir geribildirim almaması durumunda, iletim oranının düşürülmesi için mekanizmaya ihtiyaç vardır

Page 29: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

29

SonuçSonuç• Son yıllarda video akışlandırma, online oyunlar, internet

telefonculuğu gibi uygulamalara olan ilgideki artış, bu uygulamalar için kullanılan protokollerde gelişmelerin olmasında tetikleyici olmuştur.

• Özellikle tıkanıklık konusuna verilen önem artmış, bu konu üzerine yapılan araştırmalara öncelik verilmiştir.

• DCCP, TCP ve UDP’nin avantajlarını bir araya getirerek tıkanıklık kontrolü mekanizmasında başarılı olmuştur ve ileride çokluortam uygulamaları için çok tercih edilen bir standart olması beklenmektedir.

Page 30: Tıkanıklık Kontrolü için Yeni Bir İletim Protokolü: DCCP

30

• Dinlediğiniz İçin Teşekkürler...