TCP (İletim Kontrol Protokolü), veri iletiminin düzenli ve güvenli bir şekilde yapılmasını sağlayan bir iletim protokolüdür. Veri paketlerini aynı sırayla gönderir ve alır. TCP bir dört katmanlı OSI (Açık Sistem Bağlantı Modeli) ile karşılaştırıldığında yedi katmanlı iletim süreci. Sunucu ve istemci arasındaki bütünlük ve güvenlik nedeniyle verilerin üst düzey protokollerden iletilmesi önerilir.
TCP'nin sonlandırılması için 4 yönlü bir el sıkışmaya ihtiyacı vardır. Bağlantı kurmak için TCP'nin 3 yönlü el sıkışmaya ihtiyacı vardır. Bu yüzden burada TCP'nin bir ağ oluşturmak için ayrıntılı sürecini tartışacağız. 3 yönlü el sıkışma bağlantı için ve Sonlandırılması için 4 yönlü el sıkışma . Burada aşağıdaki konuları tartışacağız:
TCP nedir?
TCP Katmanları
TCP Bağlantısı (3 yönlü el sıkışma)
TCP Sonlandırma (4 yönlü el sıkışma)
roma rakamları 1 100
Hadi başlayalım.
TCP nedir?
TCP bağlantı yönelimli bir protokoldür; yani gönderici ve alıcı arasındaki bağlantıyı ilk olarak bir biçimde kurar. tokalaşma . Her iki bağlantı da doğrulandıktan sonra paketleri iletmeye başlar. İletim sürecini hatasız hale getirir ve verilerin iletilmesini sağlar. İnternet üzerindeki ağ cihazlarını birbirine bağlamak için kullanılan iletişim protokollerinin önemli bir parçasıdır. Tüm internet sistemi bu ağa bağlıdır.
TCP sağlayan en yaygın protokollerden biridir. uçtan uca teslimat. Aktarılan verilerin güvenliğini ve bütünlüğünü garanti eder. Gönderen ile alıcı arasında her zaman güvenli bir bağlantı kurar. Verici sunucu ve alıcı olarak bilinir müşteri . Veri aktarımının sunucu ve istemci arasında gerçekleştiğini de söyleyebiliriz. Bu nedenle, TCP gibi üst düzey protokollerin çoğunda kullanılır. FTP'de (Dosya aktarım Protokolü) , HTTP (Üstmetin transfer protokolü) , Ve SMTP (Basit Mai Aktarım Protokolü) .
TCP Katmanları
Veriler daha sonra paketlere bölünür, adrese atanır, iletilir, yönlendirilir ve hedefe alınır. İletim süreci dört katmandan oluşur; uygulama katmanı, taşıma katmanı, internet katmanı ve veri bağlantı katmanı. uygulama katmanı üst üç katmanına (uygulama, sunum ve oturum) benzer işlevi yerine getirir. OSI modeli ve kullanıcı arayüzü özelliklerini kontrol edin. Kullanıcı, TCP modelinin mesajlaşma ve e-posta sistemleri gibi uygulama katmanıyla etkileşime girer. taşıma katmanı güvenilir ve hatasız bir veri bağlantısı sağlar. Uygulama katmanından alınan verileri paketlere bölerek sıralı bir sıra oluşturmaya yardımcı olur. internet katmanı Paketin yönlendirilmesini kontrol eder ve paketin hedefe teslim edilmesini sağlar. Veri bağlantısı katmanı, OSI modelinin alt iki katmanına (veri bağlantısı ve fiziksel) benzer işlevi yerine getirir. Ağdaki uygulamalar veya cihazlar arasında veri aktarımından sorumludur.
Java tamsayıyı dizeye dönüştürür
TCP sonlandırmasına geçmeden önce TCP bağlantısı kavramını anlamak önemlidir. Fesih sürecini daha iyi anlamamıza yardımcı olacaktır.
TCP Bağlantısı (3 yönlü el sıkışma)
El sıkışma, istemci ile sunucu arasında bağlantı kurma işlemini ifade eder. El sıkışma, basitçe bir iletişim bağlantısı kurma süreci olarak tanımlanır. Bir paketi iletmek için TCP'nin veri göndermeye başlamadan önce üç yönlü bir el sıkışmaya ihtiyacı vardır. TCP'deki güvenilir iletişim şu şekilde adlandırılır: HAKKINDA (Olumlu Onayın Yeniden İletimi). Gönderici veriyi alıcıya gönderdiğinde, alıcıdan verinin geldiğini onaylayan olumlu bir onay alınması gerekir. Onay gönderene ulaşmadıysa, bu veriyi yeniden göndermesi gerekir. Alıcının olumlu onayı başarılı bir bağlantı kurar.
Burada sunucu sunucu, istemci ise alıcıdır. Yukarıdaki şemada başarılı bağlantı için 3 adım gösterilmektedir. 3 yönlü el sıkışma genellikle SYN-SYN-ACK olarak bilinir ve veri alışverişi için hem istemcinin hem de sunucunun yanıtını gerektirir. SYN anlamına gelir Sıra Numarasını senkronize et ve ACK anlamına gelir teşekkür . Her adım, gönderen ile alıcı arasındaki bir tür el sıkışmadır.
Üç el sıkışmayı gösteren başarılı bir TCP bağlantısının şeması aşağıda gösterilmiştir:
Üç el sıkışma aşağıdaki adımlarda tartışılmaktadır:
Adım 1: SENKRONİZASYON
SYN, istemci tarafından sunucuya gönderilen bir segmenttir. Olarak hareket eder bağlantı isteği istemci ve sunucu arasında. İstemcinin bağlantı kurmak istediğini sunucuya bildirir. Sıra numaralarının senkronize edilmesi aynı zamanda herhangi iki cihaz arasında gönderilen sıra numaralarının senkronize edilmesine de yardımcı olur; burada aynı SYN bölümü, bağlantı isteğiyle birlikte sıra numarasını ister.
Adım 2: SYN-ACK
Sunucu tarafından gönderilen bir SYN-ACK segmenti veya SYN + ACK segmentidir. ACK segmenti istemciye, sunucunun bağlantı isteğini aldığını ve bağlantı kurmaya hazır olduğunu bildirir. SYN segmenti, sunucunun segmentlerle başlamaya hazır olduğu sıra numarasını bildirir.
3 ayda bir
Adım 3: ACK
ACK (Onay), istemci ile sunucu arasında başarılı bir TCP bağlantısı kurmadan önceki son adımdır. ACK segmenti, sunucudan alınan ACK ve SN'nin yanıtı olarak istemci tarafından gönderilir. Güvenilir bir veri bağlantısı kurulmasıyla sonuçlanır.
Bu üç adımdan sonra istemci ve sunucu veri iletişim sürecine hazır hale gelir. TCP bağlantısı ve sonlandırması tam çift yönlüdür; bu, verilerin aynı anda her iki yönde de hareket edebileceği anlamına gelir.
TCP Sonlandırma (4 yönlü el sıkışma)
Herhangi bir cihaz, sonlandırma işlemine geçmeden önce bağlantı kurar. TCP, verileri göndermeden önce istemci ile sunucu arasında bağlantı kurmak için 3 yönlü el sıkışma gerektirir. Benzer şekilde veri iletimini sonlandırmak veya durdurmak için 4 yönlü bir el sıkışma gerekir. TCP sonlandırma için gereken bölümler, FIN bölümü dışında TCP bağlantısı kurmak için gereken bölümlere (ACK ve SYN) benzer. FIN segmenti, bir cihazdan diğerine gönderilen sonlandırma isteğini belirtir.
Gönderen ile alıcı arasındaki veri aktarım sürecinde istemci veri aktarıcısı, sunucu ise alıcıdır. İstemci ile sunucu arasındaki segment alışverişini gösteren aşağıdaki TCP sonlandırma şemasını göz önünde bulundurun.
Dört el sıkışmayı gösteren başarılı bir TCP sonlandırma şeması aşağıda gösterilmiştir:
Gönderilen istekler ve bekleme durumlarını içeren altı adım yardımıyla TCP sonlandırma sürecini ele alalım. Adımlar aşağıdaki gibidir:
tanımsız eğim
Adım 1: FIN
FIN şunları ifade eder: fesih talebi istemci tarafından sunucuya gönderilir. İlk FIN sonlandırma isteği istemci tarafından sunucuya gönderilir. İstemci ile sunucu arasındaki sonlandırma işleminin başlangıcını gösterir.
2. Adım: FIN_ACK_WAIT
İstemci, sunucudan FIN sonlandırma isteğinin ACK'sını bekler. Bu bir bekleme durumu müşteri için.
Adım 3: ACK
Sunucu, FIN sonlandırma isteğini aldığında ACK (Onay) segmentini gönderir. Sunucunun bağlantıyı kapatmaya ve sonlandırmaya hazır olduğunu gösterir.
4. Adım: FIN _WAIT_2
İstemci sunucudan FIN segmentini bekler. Sunucunun bağlantıyı sonlandırmaya hazır olduğunu gösteren, sunucu tarafından gönderilen onaylı sinyal türüdür.
Adım 5: FIN
FIN segmenti artık sunucu tarafından istemciye gönderilmektedir. Sunucunun istemciye gönderdiği bir onay sinyalidir. Fesih için başarılı onayı gösterir.
Adım 6: ACK
İstemci artık sunucuya, bağlantıyı sonlandırmak için sunucudan gelen bir sinyal olan FIN sinyalini aldığına dair ACK (Onay) segmentini gönderir. Sunucu ACK segmentini alır almaz bağlantıyı sonlandırır.