TCP El Sıkışmasındaki Adımlar Nelerdir??

TCP El Sıkışmasındaki Adımlar Nelerdir??

TCP veya İletim Kontrol Protokolü, internetin veri iletmek için kullandığı standart bir taşıma katmanı protokolüdür. Yorum İsteği  (RFC)  793, TCP'yi güvenilir ve bağlantı yönelimli bir protokol olarak tanımlar. Bağlantı odaklı olduğu için herhangi bir veriyi iletmeden önce bir yol veya bağlantı kurulması gerekir. TCP, iki cihaz arasında bağlantı kurmak için üç yönlü bir el sıkışma mekanizması kullanır. Bu kılavuzda, üç yönlü el sıkışma mekanizmasının nasıl çalıştığını göreceğiz. Önce iki yönlü el sıkışma modeliyle ilgili sorunları görelim.

İki Yönlü El Sıkışma Modeliyle İlgili Sorunlar

Eski bir yinelenen paket sorunu nedeniyle iki yönlü el sıkışma modeli başarısız oldu. Sunucu makinesine eski bir kopya paketin geldiğini varsayalım. Bu eski paket daha önce kapatılmış bir bağlantıdan geldi ve 'z' sıra numarasını içeriyor. Yeni bağlantı sırasında bir anda, sunucu 'z' sıra numarasına sahip bir paketi kabul ediyor. Aynı sıra numarası 'z' olan bu eski paketi aldığında, bilmeden bu eski paketi kabul eder ve gerçek paketi yeni bağlantıdan atar.

Yukarıdaki durumda, istemci ve sunucu arasında bir bağlantı devam etmiyorsa, eski bir yinelenen bağlantı isteği paketinin gelmesi hala sorunlara neden olur. Sunucu böyle bir paket alırsa, bir SYN+ACK paketi ile yanıt verecektir. Bu paket, bağlanmayı amaçlamadığı için istemci tarafından bırakılacak. Ancak sunucu, istemcinin verileri göndermesini bekleyerek kilitlenme durumuna girecek.

Diğer bir sorun ise, bir ana bilgisayar C, istemcinin kimliğine bürünerek sunucuya bir bağlantı isteği gönderirse, sunucunun istemciye bir ACK ile yanıt vermesidir. İstemci bu 'ACK' paketini atacak ve sunucuya bağlantıyı sonlandırmasını söyleyecektir. Bu olay aralığı sırasında, ana bilgisayar C çok sayıda paket göndererek bir sızdırma saldırısı başlatabilir.

TCP/IP'de Üç Yönlü El Sıkışma Modeli

Üçlü el sıkışma modeli çok önemli. Kullanmazsak ve doğrudan veri göndermeye başlarsak, alıcı uygulama yinelenen paketleri almaya başlayabilir. Saldırgan, bir bağlantı arasında saldırılar (DDoS gibi) başlatma şansı elde edebilir. Üçlü el sıkışma prosedürü bir makine tarafından başlatılır ve diğer taraf buna yanıt verir. Bu prosedürü açıklamak için aşağıdaki kural kullanılır:

“Bir site 'x' sıra numaralı bir paket alırsa, ACK numarası 'x+1' ile yanıt verir.”

Bir istemci makine ile bir sunucu makine arasındaki üç yönlü anlaşmada gerçekleştirilen adımları özetleyelim:

Aşama 1. İlk el sıkışmada, istemci sunucuya rastgele bir başlangıç ​​sıra numarası ('x') içeren bir SYN bağlantı istek paketi gönderir.

Adım 2. İkinci el sıkışmada sunucu, gönderilen ilk sıra numarasını ('x') onaylamak için rastgele sıra numarasına ('y') sahip bir SYN paketi ve sıra numarasına ('x+1') sahip bir ACK paketi ile yanıt verir. müşteri tarafından.

Aşama 3. Üçüncü el sıkışmada, istemci, sunucu tarafından gönderilen SYN ('y') paketini onaylamak için sunucuya sıra numarası ('y+1') olan bir ACK paketi gönderir.

4. Adım. Her iki uç da şimdi senkronize edildi ve verileri bağımsız olarak iletmeye başlayabilir. [1]

Her iki taraf da aynı anda başlatma işlemini başlatırsa, TCP üç yönlü el sıkışma prosedürü hala geçerlidir. Böyle bir durumda, her makine bir “SYN” paketi gönderdikten sonra, hiçbir onay olmaksızın bir “SYN” segmenti alacaktır. Alıcıya eski bir kopya ”SYN” paketi gelirse, alıcıya aynı anda bir bağlantı başlatma işleminin devam ettiği görünebilir. Bu belirsizliği ortadan kaldırmak için “reset” paketlerini kullanabiliriz.

TCP Bağlantı Sonlandırma

İki taraftan herhangi biri bir TCP bağlantısını sonlandırabilir. Bunun için herhangi bir taraf, FIN bit seti ile bir TCP segmenti iletebilir. Bu, gönderen tarafın gönderecek daha fazla verisi olmadığı anlamına gelir. Alıcı taraf, bir alındı ​​paketi göndererek bu FIN paketini onaylayacaktır. Bu, bağlantıyı bir taraftan kapatır (gönderenin tarafı). Şimdi alıcı, bağlantıyı kendi adına sonlandırmak için aynı adımları kullanacaktır. Bu, bağlantıyı tamamen kapatacak.

Üç Yönlü El Sıkışma Modeliyle İlgili Sorunlar

Üçüncü el sıkışma aşamasında istemciden sunucuya bir ACK'nin kaybolması veya bloke edilmesi durumunda istemci bu durumdan habersiz olacaktır. İstemci bağlantının kurulduğunu varsayar ve veri göndermeye başlar. Sunucu hala zaten kaybolmuş olan ACK'yi bekliyor, bu nedenle istemciden alınan verileri atacak. [2]

Sonuç

Bu kılavuzda, üç yönlü el sıkışma kullanan TCP bağlantı prosedürlerini öğrendik. Ayrıca, iki yönlü el sıkışma prosedürüyle ilişkili yinelenen paketler sorununu ve bunun üç yönlü bir el sıkışma modeliyle nasıl çözüldüğünü gördük. Birçok araştırmacı, üç yönlü el sıkışma modelini geliştirmek ve bununla ilişkili sorunların üstesinden gelmek için çeşitli araştırma makalelerine katkıda bulunmuştur.

Referanslar

  1. Hsu, F., Hwang, Y., Tsai, C., Cai, W., Lee, C., & Çang, K. (2016). TRAP: TCP bağlantı kurulması için üç yönlü bir el sıkışma sunucusu. Uygulamalı Bilimler, 6(11), 358. https://doi.kuruluş/10.3390/uygulama6110358
  1. Qin-Min Ma, Shou-Yin Liu, Xiao-jun Wen. (2016). Kuantum Dolaşmasına Dayalı TCP Üç Yönlü El Sıkışma Protokolü. Bilgisayar Dergisi, 27 (3), 33-40, doi:10.3966/199115592016102703004
Linux için En İyi Komut Satırı Oyunları
Komut satırı, Linux kullanırken yalnızca en büyük müttefikiniz değil, aynı zamanda eğlence kaynağı da olabilir, çünkü onu özel bir grafik kartı gerekt...
Linux için En İyi Gamepad Eşleme Uygulamaları
Tipik bir klavye ve fare giriş sistemi yerine bir gamepad ile Linux'ta oyun oynamayı seviyorsanız, sizin için bazı faydalı uygulamalar var. Çoğu PC oy...
Linux Oyuncuları için Faydalı Araçlar
Linux'ta oyun oynamayı seviyorsanız, oyun deneyimini geliştirmek için Wine, Lutris ve OBS Studio gibi uygulamaları ve yardımcı programları kullanmış o...