Aralık 09, 2021
11 11 11 ÖÖ
TCP nedir ? Aktarım Katmanı 2
Aktarım Katmanı Tcp Nedir
Yönlendirme Nedir 2 ?
Yönlendirme Nedir ?
Ağ Katmanı Nedir 2 ?
Ağ Katmanı Nedir ?
Veri Bağı Katmanı Nedir 2 ?
Android Studio Nasıl Kurulur ?
Veri Bağı Katmanı Nedir ?
Fiziksel Katman Nedir ?
Son Yazılar
TCP nedir ? Aktarım Katmanı 2 Aktarım Katmanı Tcp Nedir Yönlendirme Nedir 2 ? Yönlendirme Nedir ? Ağ Katmanı Nedir 2 ? Ağ Katmanı Nedir ? Veri Bağı Katmanı Nedir 2 ? Android Studio Nasıl Kurulur ? Veri Bağı Katmanı Nedir ? Fiziksel Katman Nedir ?
TCP – Tıkanıklık Denetimi

TCP nedir ? Aktarım Katmanı 2

Paylaşım , Takip İçin
more

TCP – Zaman Aşımı

Timeout – zaman aşımı: TCP zaman aşımı süresinin belirlenmesi önemlidir. RTT’den büyük olmalıdır ancak çok büyük olmamalıdır. Kısa olursa gereksiz yeniden iletime, çok büyük olursa segment kayıplarına geç reaksiyona neden olur.

SampleRTT = Gönderilen segment ile ACK alımı arasındaki geçen süre. Bir anda bir RTT ölçümü yapılabilir ve fazla oranda değişkenlik gösterebilir. Bu nedenle tahminsel/ortalama bir RTT değeri hesaplanır.

EstimatedRTT: SampleRTT değerleri çok değişkendir. Bu nedenle, bir önceki tahmini RTT değerini kullanan ortalama bir tahmini RTT değeri hesaplanır.

  EstimatedRTT = (1 – α)*EstimatedRTT + α * SampleRTT

  NOT: a = 0.125 (1/8) [RFC 6298].

TimeOut: TimeOut = 2×EstimatedRTT ile hesaplanır.

TCP – Zaman Aşımı

Karn/Partridge Algoritması: SampleRTT şekildeki gibi, a kabul edilirse çok büyük, b kabul edilirse çok küçük.

Bu algoritma RTT ölçümünü segment tekrar iletime geçtiği zaman durdurur. Bu algoritmaya göre sampleRTT ölçümü segment sadece bir kez gönderildiği zaman yapılır.

TCP – Zaman Aşımı

Jacobson/Karels Algoritması: EstimatedRTT de ki değişimin güvenlilirliğini belirlemek gerekir. Bu algoritmaya göre bir önceki EstimatedRTT değerinin değişiminin belirlenmesi gerekir. Uç değişimlerin etkisi azaltılır.

   Deviation = (1 β) * Deviation + β * |SampleRTT -Estimated RTT|       β = 0.25 olarak kullanılır.

  TimeOut = EstimatedRTT + 4 * Deviation

  olarak hesaplanır.

RTT Örnek: Bir TCP bağlantının SampleRTT değeri 1.5 ms hesaplansın. Timeout (RTO) ve EstimatedRTT değerlerini hesaplayın.

SampleRTT = 1.5

EstimatedRTT = (1-α) * EstimatedRTT+ α*SampleRTT (α=0.125)

EstimatedRTT = 0.875*1.5+ (0.125*1.5)

EstimatedRTT = 1.5

Deviation = (1 – β) * Deviation + β * |SampleRTT -Estimated RTT| (β=0.25)

Deviation = 0 .75 * 1 + 0.25 * (1.5-1.5)

Deviation = 0.75

Timeout (RTO) = EstimatedRTT + 4 * Deviation

Timeout (RTO) = 1.5 + 4*0.75

Timeout (RTO) = 4,5 ms

RTT Örnek: Önceki örnek için yeni SampleRTT değeri 2.5 ms hesaplansın. Timeout (RTO) ve EstimatedRTT değerlerini hesaplayın.

SampleRTT = 2.5

EstimatedRTT = (1-α) * EstimatedRTT+ α*SampleRTT (α=0.125)

EstimatedRTT = 0.875*1.5+ 0.125*2.5

EstimatedRTT = 1.625

Deviation = (1 – β) * Deviation + β * |SampleRTT -Estimated RTT| (β=0.25)

Deviation = 0 .75 * 0.75 + 0.25 * | 0,875 |

Deviation = 0.78125

Timeout (RTO) = EstimatedRTT + 4 * Deviation

Timeout (RTO) = 1.625 + 4* 0.78125

Timeout (RTO) = 4,75 ms

TCP – Akış denetimi-Sliding window

TCP, Kayan pencere yöntemini kullanarak;

  • Güvenilir veri dağıtım garantisi
  • Doğru sıra ile veri dağıtım garantisi
  • Alıcı ve gönderici arasında akış kontrolü sağlar.

TCP, standart kayan pencere yönteminde tanımlanan pencere boyutunu, TCP segmentinde tanımlı AdvertisedWindow alanı ile dinamikleştirerek akış denetimi yapmaktadır.

AdvertisedWindow: Alıcıdan onay beklemeden gönderilebilecek byte boyutu. (Kayan pencere algoritmasındaki pencere boyutu)

NOT: Alıcı tamponundan daha büyük byte gönderimini engellemek için.

TCP – Akış denetimi-Sliding window

LastByteAcked: Onaylanan (ACK) byte  LastByteRead:Onaylanan (ACK) byte

LastByteSend: Gönderilen son byte  NextByteExpected: Beklenen byte

LastByteWritten: Hazır byte’lar  LastByteRcvd: Alınan son byte

  MaxRcvBuffer ≥ LastByteRcvd−LastByteRead

       AdvertisedWindow = MaxRcvBuffer−((NextByteExpected−1)−LastByteRead)

           AdvertisedWindow  alıcı taraf pencere boyutu olarak ifade edilir (RWND).

Gönderici maksimum segment boyutu (Sender’s Maximum Segment Size – SMSS);

  SMSS = L2’de MTU boyutu olarak işlenir

   CongestionWindow = Tıkanıklık pencere boyutu

If SMSS > 2190 bytes:

   CongestionWindow = 2 * SMSS bytes

If (SMSS > 1095 bytes) and (SMSS <= 2190 bytes):

   CongestionWindow = 3 * SMSS bytes

If SMSS <= 1095 bytes:

   CongestionWindow = 4 * SMSS bytes

İnternette yaygın olarak SMSS, 1500 – 20 (IP) – 20 (TCP)= 1460 byte

   CongestionWindow = 3*SMSS = 4380 bytes olarak kullanılır.

       WindowSize = minimum (CongestionWindow, AdvertisedWindow)

              Düşük olan pencere boyutu olarak kullanılır.

Soru: Gönderici ack değeri 210 ve AdvertisedWindow değeri 5 olan olan bir paket alıyor (CongestionWindow =20). Düğüm, 206,207,208 ve 209. byte’ları gönderiyor. Yeni pencere nasıl olur?

TCP – Akış denetimi-Sliding window

Cevap: Yeni WindowSize = minumum(CongestionWindow, AdvertisedWindow) olduğundan 5 olur. Bu nedenle gönderici 215-217 nolu byte’ları göndermez.

TCP – Akış denetimi-Sliding window

TCP – Tıkanıklık Denetimi

Gönderen düğüm tarafından, iletim ortamının kullanılabilirlik durumunu belirlemek yada ardıl olarak gönderebileceği segment sayısını belirlemeye çalışmaktır.

TCP’de tıkanıklık kontrolü kısaca, her bir kaynağın (gönderici), ağ kapasitesini ne kadar kullanabileceğini belirlemesidir.

TCP, ağ kapasitesini belirlemek için ACK paketlerini kullanır. İletim onayı olarak gelen ACK paketleri ağın yeni iletimler için güvenli (tıkanıksız) olduğunu söylemektedir.

Temel Terimler

RTT (round trip time): Bir segment gönderim anı ile ACK alımı arasındaki süre.

MSS (maximum segment size): Bir segmentin alacağı en fazla boyut (MTU-kapsüller)

CongestionWindow (cwnd): Her TCP bağlantı için kaynak(gönderen) tarafından belirlenen değişken.

AdvertisedWindow (rwnd): Hedef(alıcı) buffer durumuna göre belirlenen değişken.

ssthresh (slow start threshold): Tıkanıklıktan kaçınma eşik değeri (başlangıçta cwnd)

 

TCP’de, gönderen düğüm tıkanıklık kontrolü için CongestionWindow ve AdvertisedWindow pencere boyutlarının küçük olanını alır ve Etkin pencere boyutunu hesaplar.

TCP – Tıkanıklık Denetimi

AIMD (Additive Increase / Multiplicative Decrease):

Ağda mevcut kapasiteyi etkin kullanabilmek için tıkanıklık penceresi artırılır. Her iletilen frame için gelen ACK sonrasında TCP, CongestionWindow değerini bir artırır. Bu durum Additive Increase (AI) olarak tanımlanır. Uygulamada bu durum aşağıdaki gibi gerçekleşir.

  increment = MSS x (MSS /cwnd)

  cwnd = cwnd + increment

Bir paket tıkanıklık nedeniyle iletilemediğinde, yada ACK alımı zaman aşımına uğradığında, gönderici iletim hızını azaltır. Bu azaltım, CongestionWindow değeri mevcut iletim hızının yarısı şeklinde gerçekleşir ki bu kavram Multiplicative Decrease (MD) olarak ifade edilir. Uygulamada CongestionWindow değeri 1 MSS’ye indirilir.

Slow Start:

Additive Increase (AI) yöntemi başlangıçta ağın mevcut kapasitesine ulaşmak için yavaş bir geçişe neden olduğu için TCP, ismi ile pek uyuşmasada slow start olarak isimlendirilen mevcut ağ kapsitesine çok daha hızlı ulaşmayı sağlayan bir teknik kullanmaktadır.

TCP Tahoe ile TCP’ye ilave edilmiştir ve AI’nın lineer artışı yerine üstel artış getirerek ağın kapasitesine ulaşmayı hızlandırmıştır.

Yani yavaş başlangıç (slow start), TCP’deki cold start problemini çözmektedir.

TCP – Tıkanıklık Denetimi

congestion threshold – Slow Start threshold (ssthresh):

Yavaş başlangıç problemini çözmek için geliştirilen Slow Start, hızla CongestionWindow değerine ulaşmayı hedeflemektedir. Bu değere ulaşıldığında artırımın Additive Increase (AI) olarak lineer devam etmesi istenir. Bu eşik değeri, congestion threshold yada ssthresh olarak isimlendirilir. Ssthresh değeri tıkanıklık algılandığında ağın o anki CongestionWindow değerinin yarısı olarak güncellenir.

TCP – Tıkanıklık Denetimi

Fast Retransmit:

Zaman aşımı süresinin beklenilmesi bağlantının kopması gibi çok daha kötü sonuçlar doğurmaktadır. Fast Retransmit, normal zaman aşımı mekanizmasını beklemek yerine paket kayıplarını daha erken tespit ederek tıkanıklığı sezen bir tekniktir.

Bu teknik, 3 kez aynı ACK alındığında, ilgili paketi yeniden gönderir. TCP Tahoe ile TCP’ye eklenmiştir.

Fast Recovery:

Fast Retransmit durumu tespit edildiğinde (3 kez aynı ACK geldiğinde) ssthresh ve cwnd değerini yarıya indirir. TCP Reno ile TCP’ye eklenmiştir.

TCP – Tıkanıklık Denetimi

RTP – Gerçek zamanlı aktarım protokolü

IP ağlarında ölçeklenebilirlik, hata ve tıkanıklık kontrolü gibi ihtiyaçlar, gerçek zamanlı aktarım protokolünün doğmasına yol açmıştır.

RTP, UDP aktarım protokülü üzerinden gerçek zamanlı multimedia veri akışını yönetmeyi amaçlamaktadır.

Protokol tasarımcılarının temel amacı güvenilmez bir aktarım katmanı üzerinden sağlam ve gerçek zamanlı multimedia taşınımı için bir mekanizma kurmak olmuştur.  Bu noktada temel felsefe uygulama katmanında çerçeveleme ve uçtan-uca presibidir.

Bu prensibe göre ağ yolu boyunca varolan sistemler verinin doğru iletimi için sorumluluk almaları gerekmez. Bu sistemler güvenilir olmayabilir. Veri iletiminin uç noktaları, alt sistemlerin yardımı olmaksızın teslim sürecinin güvenilirliğini sağlamak için uygulama tasarımcısı adına önemli çalışmalar yapmasını gerektirir.

RTP, UDP aktarım protokolü üzerinden gerçek zamanlı multimedya veri aktarımını sağlamayı amaçlamaktadır.

RTP – Gerçek zamanlı aktarım protokolü

1.IP ağlarında iletilen datagram paketleri farklı yönlendiriciler üzerinden iletim sırası değişerek alıcıya ulaşabileceğinden dolayı veri paketlerinin alıcı tarafından doğru sıra ile sıralanabilmesi için sıra numarası sunar.

 

2.Alıcı tarafından veri kaynağının ve yükün tanımlanması için yük içeriğinin türü ve kaynağı tanımlanır.

 

3.Gerçek zamanlı multimedia içeriğin iletiminde alıcının iletilen verileri doğru sırada alması yeterli olmamaktadır. Sıralamanın yanında zamanlama ve senkronizasyon gereklidir. Örneğin görüntü ve ses verilerinin doğru zamanlama ile senkronize edilmesi gerekir. RTP zamanlama ve senkronizasyon işlevlerini yerine getirebilme işlevselliğine sahiptir.

 

4.RTP, aktarımların izlenebilmesine imkan sunmaktadır. İletilen verinin dağıtım verimliliğini ve kalitesini izleyebilme ve gönderen tarafa sağladığı geribildirim olanakları ile ölçeklenebilirliği ve servis kalitesini sağlamaktadır.

 

5.RTP, bir RTP oturumu üzerinden farklı kaynaklardan oluşan trafiği tek bir akış halinde birleştirerek, heterojen bir trafik sunabilmektedir.

RTCP – RT aktarım kontrol protokolü

RTP, bahsedilen fonksiyonları yerine getirmek için gerçek zamanlı aktarım kontrol protokolüne (RTCP) ihtiyaç duyar.

RTCP, RTP için tasarlanmış ilave bir protokoldür.

RTCP iki temel işleve sahiptir. Bunlardan birincisi, multimedia içerik dağıtım kalitesi hakkında geri bildirim sağlamaktır.

İkinci işlevi ise ses ve video senkronizayonunu sağlamak için RTP akışları için zaman damgalarını eşlemektir.

RTCP – RT aktarım kontrol protokolü

Aktarım Katmanından önceki konu için – Tıklayınız


Paylaşım , Takip İçin
more
0 0 votes
Article Rating

Bir Cevap Yazın

0 Yorum
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
HAYALİNDEKİ YAZILIM
%d blogcu bunu beğendi: