Selective Repeat ARQ - Algoritması
 

TCP Hata Kontrolü (Error Control) ve Selective Repeat Algoritması

TCP herhangi bir nedenden dolayı gönderdiği segment için hata algıladığında yeniden iletim yapmaktadır. TCP Yeniden İletim 2 Sebepten dolayı oluşabilmektedir. 1 - Paketlerin Kaybolması , 2 - Paketlerin Bozulması  Bu  2  duruma da bir önceki makalemizde değinmiştik . Bu makalemizde 2 sebepten dolayı yeniden iletim yapan Tcp'nin kullandığı yeniden iletim algoritmalarına değineceğiz.

Kaybolan ve bozulan paketlerin sezimi ve yeniden iletimini ilgilendiren hata kontrol yöntemleri Automatic Repeat Request (ARQ) error control olarak tanımlanmaktadır. Yaygın olarak kullanılan ARQ yeniden ileti yöntemleri ,

Stop-and-Wait
Go Back N
Selective Repeat'dir.


Stop-and-Wait half-duplex mod da çalıştığından Tcp tarafından kullanılmamaktadır.Çünkü Stop-and-Wait durumunda alıcıdan bir kabul gelmeden , Tcp yeni bir iletim yapamazdır.

Diğer ARQ protokollerinde gönderici çoklu paketlerin gönderilmesine izin vermektedir.Bu paketler "in-flight" olarak tanımlanır  ve henüz kabul edilmemiş paketlerdir.

Aşağıdaki şekil ile daha iyi bir şekilde farkı anlayabiliriz.


Şimdi Go Back N ve  Selective Repeat algoritmalarını inceleyelim .TCP Go Back N algoritmasının bir türevini kullanır. Aslında TCP 'nin kullandığı bu yeniden iletim algoritması Go Back N ve Selective Repeat'in iyi yönlerinin birlikte kullanıldığı bir algoritmadır.

Bu makalemizde Selective Repeat algoritmasına değineceğiz.

Selective Repeat ARQ Algoritması

Bu algoritmada alıcının , göndericinin göndermiş olduğu paketleri sıralı bir şekilde  alma koşulu aranmaz .Alıcı , arada kaybolan bir paketin oluşması durumunda sadece ilgili paketin iletimini ister.Fakat sıralı bir şekilde tam alım olmadığı için alıcının tamponu 1 veri çerçevesini depolayabilecek boyuttan büyük olmalıdır .Örnek olarak  göndericinin 10 paket gönderdiğini ve gönderim sırasında aradaki 5. paketin kaybolduğunu düşünelim. Alıcı tcp , aldığı ilk  4 paket için Ack onaylarını  ve 6 7, 8 ,9 10.'cu paket içinde ACK onaylarını gönderecektir.Gönderici alıcıdan 1,2,3,4,6,7,8,9,10'.cu paketlerin Ack onayını almış fakat 5.paketin Ack onayını almamıştır.Yeniden iletim zaman aşımına gelindiğinde halen göndericiye 5. paket için onay gelmediğinden , gönderici tekrar 5. paketi yeniden gönderecektir. Fakat yalnızca kaybolan paket olan 5. paketi gönderilecektir. Bu durumun hem avantaj hem de dez avantajları bulunmaktadır.


Avantajı  , iletim ortamı esnek bir şekilde kullanılmış olacaktır. Çünkü yalnızca kaybolan paket yeniden gönderilmektedir.

Dezavantajı ise alıcıya paketler sıralı bir biçimde gitmediğinden alıcının tamponu esnek kullanılmamış  olacaktır. Ve çok kayıp paket olduğu düşünülürse tampon zamanla şişecek ve yeni paketler için yer kalmayacaktır.

Aşağıdaki şekiller ile durum daha iyi anlaşılacaktır.

Ve alıcının gönderdiği onay ise aşağıdaki gösterilmiştir. Alıcı 5. paketi almadığından  4 ve  4'ten sonra gelen her paket için göndericiye ACK 'sı 5 olan paketi gönderiyor. Ben 5'e kadar olanı aldım bana 5 ve sonrasını gönder demek istiyor . Şeklimiz ,



 

 

Author: Engin ATALAY
Date: 02.01.2013 18:38:20
View Count: 3375
 
 

COMMENTS
 
Resim Yüklenemedi
mahmut
12 Ocak 2014 21:59
Bu ve Go back N makaleler için teşekkür ederim. Açıklayıcı olmuş.
 
 
 
 
 
 
 
 
 
 
 
 
WRITE COMMENT
 
 
Your Name :
 
 
 
E-mail :
 
 
 
Your Message :
 
 
 
 
 
 
 
This project : ASP.NET MVC , RAZOR, Entity Framework , CSS , HTML , JQUERY(2.0.2) , AJAX the C# side-tier architecture was developed with logic.
 
Yukarı Çık