ARQ, iletişim sistemlerinde alıcı ve verici arasındaki veri alışverişi için kullanılan hata kontrol mekanizmasıdır. TCP aracılığı ile sağlanan iletişimlerde, iletimin güvenliği ve analizi için önemlidir. Kullanılan teknikler aracılığı ile paketlerin güvenilir sırayla alıcıya teslim edilmesini sağlar. Verinin bütünlüğünü korumak ve iletilecek olan veriyi doğru bir şekilde göndermek için kullanılır. Gönderici, gönderdiği verinin iletildiğine dair bir geri dönüt almadığında aynı veri tekrar tekrar iletir. İletişimi daha verimli hale getirebilmeyi amaçlar. Bu işlemler, veri iletim katmanında (Layer2) gerçekleştirilir. Üç farklı ARQ metodu bulunur. Bunlar;
- Stop and Wait
- Go Back-N
- Selective Repeat
Sliding Window
İletişimde hata oranı azaldıkça, anlık gönderilen paket sayısı artar. İletişimi sağlayan yöntemden bağımsız olarak, paket gönderimi sorunsuz gerçekleşirse bir sonraki gönderimde iki, üç, dört paket gönderilebilir. İletimi tamamlanan ve iletim raporu gelen paket, anlık iletim çerçevesinden çıkartılarak sıradaki paketin gönderimi başlatılır. İletimde çakışma, paket kaybı veya paket içeriğinde bozulma gerçekleşmediği sürece gönderilebilecek maksimum paket miktarı anlık olarak 65.535’dir. Herhangi bir iletim hatası ile karşılaşılması durumunda ise anlık paket iletimi yarı yarıya azalır.


Stop and Wait
Gönderici, alıcıya göndermiş olduğu paketlerin iletildiğini öğrenebilmek için alıcıdan “iletildi” mesajı bekler. İletim mesajları geldikçe yeni paketler göndermeye devam eder. Eğer gönderilen bir paket için göndericiye iletim mesajı dönmez ise, tüm paket veya paket grubu göndericiye iletim mesajı gelene dek tekrar gönderilir ve iletim mesajı beklenir. Basit bir sisteme sahiptir ancak düşük verime sahiptir. İletişim garanti altına alınır ancak süre uzadığı için zaman kaybı yaşanır.

Go Back-N
Gönderici, alıcıya göndermiş olduğu paketlerin iletildiğini öğrenebilmek için alıcıdan “iletildi” mesajı bekler. İletim mesajları geldikçe yeni paketler göndermeye devam eder. Eğer gönderici, gönderilen bir paket ile ilgili iletim mesajı alamazsa, iletilemeyen paketten itibaren tüm paketler tekrar gönderilir. Paketlerin sıralı bir şekilde iletilmesi gerektir. Bu yüzden iletim problemi yaşayan paketten sonra gönderilen paketler, iletilmiş olsa bile tekrar gönderilir. TCP ile sağlanan veri iletimlerinde bir çeşit Go Back-N kullanılır. Böylece verilerin daha güvenli bir şekilde iletimi sağlanır.


Selective Repeat
Gönderici, alıcıya göndermiş olduğu paketlerin iletildiğini öğrenebilmek için alıcıdan “iletildi” mesajı bekler. İletim mesajları geldikçe yeni paketler göndermeye devam eder. Eğer gönderilen paket için göndericiye iletim mesajı dönmez ise, iletilemeyen paket mevcut akış durdurulmadan gönderilir. Sistematik olarak iletişimin en verimli sağlandığı yapıdır ancak gönderici ve alıcı tarafında birer buffer bulunması gerekmektedir. Bu da fiziksel yapıyı daha karmaşık ve maliyetli bir hale getirir. Arada gönderilen paket buffer sayesinde doğru sıraya yerleştirilerek kesintisiz ve hızlı bir iletişim sağlar.
