13 Aralık 2016 Salı

Automatic Repeat Request (ARQ) for Mobile Ad hoc Network (Manet)

Giriş
ARQ gerçekleştiriminin bir çok çeşidi var.

1. Stop And Wait ARQ
En basiti Stop-and-wait ARQ.  Bu yöntemde her seferde tek bir frame gönderilir. Karşı sistem Positive Acknowledgment gönderdikten sonra diğer frame gönderilir.

Eğer Acknowledgement bozuksa, yani okunamıyorsa Negative Acknowledgement kabul edilir ve frame tekrar gönderilir. Açıklaması şöyle
In the Stop-and-Wait algorithm, the sender needs to re-transmit the frame if the acknowledgement received is corrupted during transmission.

2. Selective Repeat ARQ
Biraz daha karmaşık olanı Selective Repeat ARQ. Bu yazıda Selective ARQ anlatılıyor.

Manet'lerde ARQ Niçin Lazım
TCP Tekrar gönderim pahalıdır. A'dan D'ye paket göndermek isteyelim. Eğer C paketi gönderemezse A tekrar B'ye , B tekrar C'ye paket gönderecek ve zaten az olan bant genişliğini tüketecektir.
A -> B -> -> C -> D
TCP tekrar gönderimi yerine Manet'lerde hop by hop ARQ kullanılır.
Node1 -- Packet --> Node2
Node1 <--Ack -- Node2
Eğer Acknowledgment belli bir süre içinde gelmezse paket N defa daha gönderilir. Böylece sadece C ve D arasında trafik oluşur ve bant genişliğinden tasarruf edilir.

Positive Acknowledgment Mesajı
1. En basit Yöntem
Node Id -> Pdu No listesi.
Gönderen sistem Pdu No'ya göre bir liste tutar. Bu yapı Pdu No'ları mesaja dahil ettiği için bant genişliğinden tasarruf sağlamaz. Ancak multicast tarzı ortamlarda kullanılır.

2. Tdma Sistem
Cycle No + Slot No + Node Id -> "Selective" veya "Cumulative Acknowledgment" listesi.

Pdu No listesi yerine "Selective" veya "Cumulative Acknowledgment" liste olarak gönderilerek iyileştirme yapılabilir. Bu yapının avantajı 2 byte veya daha büyük Pdu No alanlarının mesaja girmemesi. Bant genişliğinden tasarruf sağlaması.

Gönderen sistem Cycle + Slot'taki tüm Pdu'ları saklar. Gelen Ack'lere göre Pdu'ları siler veya tekrar gönderir.

Negative Acknowledgment Mesajı
Buraya kadar hep Positive Acknowledgment gönderildiğini varsaydık. Bazen Negative Acknowledgment gönderildiği de olur. Karşı sistem mesajı aldığını ancak okuyamadığını bildirir. Bu kullanımın amacı tekrar gönderim  (re-transmission) zamanını beklemeden hemen tekrar gönderimi tetiklemektir.


Hiç yorum yok:

Yorum Gönder