Bugün, TCP'ye odaklanarak başlayacağız. Katmanlama bölümünde daha önce önemli bir noktadan bahsetmiştik. Ağ katmanında ve altında, daha çok ana bilgisayardan ana bilgisayara bağlantılarla ilgilidir, yani bilgisayarınızın bağlanabilmesi için başka bir bilgisayarın nerede olduğunu bilmesi gerekir. Ancak, bir ağdaki iletişim genellikle makineler arası iletişimden ziyade işlem içi iletişimdir. Bu nedenle, TCP protokolü port kavramını tanıtır. Bir port yalnızca bir işlem tarafından işgal edilebilir, bu da farklı ana bilgisayarlarda çalışan uygulama işlemleri arasında doğrudan iletişim sağlar.
Taşıma katmanının görevi, farklı ana bilgisayarlarda çalışan uygulama süreçleri arasında doğrudan iletişim hizmetlerinin nasıl sağlanacağıdır, bu nedenle uçtan uca protokol olarak da bilinir. Taşıma katmanı, ağın temel ayrıntılarını gizler ve uygulama sürecinin iki taşıma katmanı varlığı arasında mantıksal bir uçtan uca iletişim kanalı varmış gibi görmesini sağlar.
TCP, Transmission Control Protocol (İletim Kontrol Protokolü) anlamına gelir ve bağlantı odaklı bir protokol olarak bilinir. Bu, bir uygulama diğerine veri göndermeye başlamadan önce, iki işlemin bir el sıkışma yapması gerektiği anlamına gelir. El sıkışma, verilerin güvenilir bir şekilde iletilmesini ve düzenli bir şekilde alınmasını sağlayan mantıksal olarak bağlı bir işlemdir. El sıkışma sırasında, bir dizi kontrol paketinin değiştirilmesi ve başarılı veri iletimini sağlamak için bazı parametreler ve kurallar üzerinde anlaşmaya varılması yoluyla kaynak ve hedef ana bilgisayarlar arasında bir bağlantı kurulur.
TCP Nedir? (Benim bağlantımAğ DokunuşuVeAğ Paket Brokerihem TCP hem de UDP Paketlerini işleyebilir)
TCP (İletim Kontrol Protokolü), bağlantı odaklı, güvenilir, bayt akışı tabanlı bir taşıma katmanı iletişim protokolüdür.
Bağlantı odaklı: Bağlantı odaklı, TCP iletişiminin bire bir, yani noktadan noktaya uçtan uca iletişim olduğu anlamına gelir; UDP ise aynı anda birden fazla bilgisayara mesaj gönderebildiğinden, bire çok iletişim sağlanamaz.
Güvenilir:TCP'nin güvenilirliği, ağ bağlantısındaki değişikliklerden bağımsız olarak paketlerin alıcıya güvenilir bir şekilde iletilmesini sağlar; bu da TCP'nin protokol paket formatını UDP'den daha karmaşık hale getirir.
Bayt akışı tabanlı:TCP'nin bayt akışına dayalı yapısı, herhangi bir boyuttaki mesajın iletilmesine olanak tanır ve mesaj sırasını garanti eder: Önceki mesaj tam olarak alınmamış olsa bile ve sonraki baytlar alınmış olsa bile, TCP bunları işlenmek üzere uygulama katmanına teslim etmeyecek ve yinelenen paketleri otomatik olarak bırakacaktır.
Ana bilgisayar A ve ana bilgisayar B bir bağlantı kurduktan sonra, uygulamanın yalnızca veri göndermek ve almak için sanal iletişim hattını kullanması gerekir, böylece veri iletimi sağlanır. TCP protokolü, bağlantı kurma, bağlantıyı kesme ve tutma gibi görevleri kontrol etmekten sorumludur. Burada sanal hattın yalnızca bir bağlantı kurmak anlamına geldiğini, TCP protokol bağlantısının yalnızca iki tarafın veri iletimine başlayabileceğini ve verilerin güvenilirliğini sağlamak anlamına geldiğini belirtmek gerekir. Yönlendirme ve taşıma düğümleri ağ cihazları tarafından işlenir; TCP protokolünün kendisi bu ayrıntılarla ilgilenmez.
TCP bağlantısı tam çift yönlü bir hizmettir, yani ana bilgisayar A ve ana bilgisayar B, bir TCP bağlantısında her iki yönde de veri iletebilir. Yani, veriler ana bilgisayar A ve ana bilgisayar B arasında çift yönlü bir akışta aktarılabilir.
TCP, verileri geçici olarak bağlantının gönderme tamponunda depolar. Bu gönderme tamponu, üçlü el sıkışma sırasında kurulan önbelleklerden biridir. Daha sonra, TCP, gönderme önbelleğindeki verileri uygun zamanda hedef ana bilgisayarın alma önbelleğine gönderecektir. Uygulamada, her eşin burada gösterildiği gibi bir gönderme önbelleği ve bir alma önbelleği olacaktır:
Gönderme arabelleği, gönderici tarafında TCP uygulaması tarafından tutulan ve gönderilecek verileri geçici olarak depolamak için kullanılan bir bellek alanıdır. Üç yönlü el sıkışma bir bağlantı kurmak için gerçekleştirildiğinde, gönderme önbelleği kurulur ve verileri depolamak için kullanılır. Gönderme arabelleği, ağ tıkanıklığına ve alıcıdan gelen geri bildirime göre dinamik olarak ayarlanır.
Alma tamponu, alıcı tarafta TCP uygulaması tarafından tutulan ve alınan verileri geçici olarak depolamak için kullanılan bir bellek alanıdır. TCP alınan verileri alma önbelleğinde depolar ve üst uygulamanın okumasını bekler.
Gönderme önbelleği ve alma önbelleğinin boyutunun sınırlı olduğunu, önbellek dolduğunda TCP'nin güvenilir veri iletimi ve ağ kararlılığını sağlamak için tıkanıklık kontrolü, akış kontrolü vb. gibi bazı stratejiler benimseyebileceğini unutmayın.
Bilgisayar ağlarında, ana bilgisayarlar arasındaki veri iletimi segmentler aracılığıyla gerçekleştirilir. Peki paket segmenti nedir?
TCP, gelen akışı parçalara bölerek ve her parçaya TCP başlıkları ekleyerek bir TCP segmenti veya paket segmenti oluşturur. Her Segment yalnızca sınırlı bir süre boyunca iletilebilir ve Maksimum Segment Boyutunu (MSS) aşamaz. Aşağıya doğru giderken bir paket segmenti bağlantı katmanından geçer. Bağlantı katmanının, veri bağlantı katmanından geçebilen maksimum paket boyutu olan bir Maksimum İletim Birimi (MTU) vardır. Maksimum iletim birimi genellikle iletişim arayüzüyle ilişkilidir.
Peki MSS ile MTU arasındaki fark nedir?
Bilgisayar ağlarında, hiyerarşik mimari çok önemlidir çünkü farklı seviyeler arasındaki farkları hesaba katar. Her katmanın farklı bir adı vardır; taşıma katmanında, veriye segment, ağ katmanında ise IP paketi denir. Bu nedenle, Maksimum İletim Birimi (MTU), ağ katmanı tarafından iletilebilen Maksimum IP paket Boyutu olarak düşünülebilirken, Maksimum Segment Boyutu (MSS), bir TCP paketi tarafından bir seferde iletilebilen maksimum veri miktarını ifade eden bir taşıma katmanı kavramıdır.
Maksimum Segment Boyutu (MSS) Maksimum İletim Birimi'nden (MTU) büyük olduğunda, IP parçalanmasının ağ katmanında gerçekleştirileceğini ve TCP'nin daha büyük verileri MTU boyutuna uygun segmentlere ayırmayacağını unutmayın. Ağ katmanında IP katmanına ayrılmış bir bölüm olacaktır.
TCP paket segment yapısı
TCP başlıklarının formatını ve içeriğini inceleyelim.
Sıra numarası: TCP bağlantısı kurulduğunda bilgisayar tarafından başlangıç değeri olarak oluşturulan rastgele bir sayı ve sıra numarası SYN paketi aracılığıyla alıcıya gönderilir. Veri iletimi sırasında, gönderici sıra numarasını gönderilen veri miktarına göre artırır. Alıcı, alınan sıra numarasına göre verilerin sırasını değerlendirir. Verinin sırasız olduğu bulunursa, alıcı verilerin sırasını sağlamak için verileri yeniden sıralayacaktır.
Teşekkür numarası: Bu, TCP'de veri alındığını onaylamak için kullanılan bir sıra numarasıdır. Göndericinin almayı beklediği bir sonraki verinin sıra numarasını gösterir. Bir TCP bağlantısında, alıcı alınan veri paketi segmentinin sıra numarasına göre hangi verinin başarıyla alındığını belirler. Alıcı veriyi başarıyla aldığında, göndericiye onay onay numarasını içeren bir ACK paketi gönderir. ACK paketini aldıktan sonra, gönderici yanıt numarasını onaylamadan önce verinin başarıyla alındığını doğrulayabilir.
Bir TCP segmentinin kontrol bitleri şunları içerir:
ACK bit: Bu bit 1 olduğunda, onay yanıt alanının geçerli olduğu anlamına gelir. TCP, bağlantı ilk kurulduğunda SYN paketleri hariç bu bitin 1 olarak ayarlanması gerektiğini belirtir.
RST bit: Bu bit 1 olduğunda TCP bağlantısında bir istisna olduğu ve bağlantının zorla kesilmesi gerektiği belirtilir.
SYN bit: Bu bit 1 olarak ayarlandığında bağlantının kurulacağı ve sıra numarasının başlangıç değerinin sıra numarası alanına ayarlandığı anlamına gelir.
FIN parçası: Bu bit 1 olduğunda gelecekte daha fazla veri gönderilmeyeceği ve bağlantının istendiği anlamına gelir.
TCP'nin çeşitli işlevleri ve özellikleri TCP paket segmentlerinin yapısıyla somutlaştırılır.
UDP nedir? (Mylinking'inAğ DokunuşuVeAğ Paket Brokeri(hem TCP hem de UDP Paketlerini işleyebilir)
Kullanıcı Datagram Protokolü (UDP), bağlantısız bir iletişim protokolüdür. TCP ile karşılaştırıldığında, UDP karmaşık kontrol mekanizmaları sağlamaz. UDP protokolü, uygulamaların bir bağlantı kurmadan doğrudan kapsüllenmiş IP paketleri göndermesine olanak tanır. Geliştirici TCP yerine UDP kullanmayı seçtiğinde, uygulama doğrudan IP ile iletişim kurar.
UDP Protokolünün tam adı User Datagram Protocol'dür ve başlığı yalnızca sekiz bayttır (64 bit), bu da çok özlüdür. UDP başlığının biçimi aşağıdaki gibidir:
Hedef ve kaynak portları: Ana amaçları UDP'nin hangi işleme paket göndereceğini belirtmektir.
Paket boyutu: Paket boyutu alanı, UDP başlığının boyutunu ve veri boyutunu tutar
Kontrol toplamı: UDP başlıklarının ve verilerinin güvenilir bir şekilde iletilmesini sağlamak için tasarlanmıştır. Denetim toplamının rolü, bir UDP paketinin iletimi sırasında bir hata veya bozulma olup olmadığını tespit ederek verilerin bütünlüğünü sağlamaktır.
Mylinking'de TCP ve UDP arasındaki farklarAğ DokunuşuVeAğ Paket Brokerihem TCP hem de UDP Paketlerini işleyebilir
TCP ve UDP aşağıdaki yönlerden farklıdır:
Bağlantı: TCP, veri aktarımından önce bir bağlantı kurulmasını gerektiren bağlantı odaklı bir taşıma protokolüdür. Öte yandan UDP, bir bağlantı gerektirmez ve verileri hemen aktarabilir.
Hizmet Nesnesi: TCP, bire bir iki noktalı bir hizmettir, yani bir bağlantının birbirleriyle iletişim kurmak için yalnızca iki uç noktası vardır. Ancak, UDP, aynı anda birden fazla ana bilgisayarla iletişim kurabilen bire bir, bire çok ve çoktan çoğa etkileşimli iletişimi destekler.
Güvenilirlik: TCP, verilerin hatasız, kayıpsız, tekrarlanmamış ve talep üzerine ulaştığından emin olarak güvenilir bir şekilde iletilmesi hizmetini sağlar. Öte yandan UDP elinden gelenin en iyisini yapar ve güvenilir bir teslimatı garanti etmez. UDP, iletim sırasında veri kaybı ve diğer durumlardan muzdarip olabilir.
Tıkanıklık kontrolü, akış kontrolü: TCP, veri iletiminin güvenliğini ve istikrarını sağlamak için ağ koşullarına göre veri iletim hızını ayarlayabilen tıkanıklık kontrolü ve akış kontrol mekanizmalarına sahiptir. UDP, tıkanıklık kontrolü ve akış kontrol mekanizmalarına sahip değildir, ağ çok tıkanık olsa bile, UDP gönderme hızında ayarlamalar yapmaz.
Üstbilgi üstü: TCP'nin genellikle 20 bayt olan uzun bir başlık uzunluğu vardır ve bu, seçenek alanları kullanıldığında artar. Öte yandan UDP'nin yalnızca 8 baytlık sabit bir başlığı vardır, bu nedenle UDP'nin daha düşük bir başlık yükü vardır.
TCP ve UDP Uygulama Senaryoları:
TCP ve UDP iki farklı taşıma katmanı protokolüdür ve uygulama senaryolarında bazı farklılıklar vardır.
TCP bağlantı odaklı bir protokol olduğundan, öncelikle güvenilir veri teslimatının gerekli olduğu senaryolarda kullanılır. Bazı yaygın kullanım örnekleri şunlardır:
FTP dosya transferi:TCP, dosyaların aktarım sırasında kaybolmamasını ve bozulmamasını sağlar.
HTTP/HTTPS:TCP web içeriğinin bütünlüğünü ve doğruluğunu sağlar.
UDP bağlantısız bir protokol olduğundan güvenilirlik garantisi sağlamaz, ancak verimlilik ve gerçek zamanlılık özelliklerine sahiptir. UDP aşağıdaki senaryolar için uygundur:
DNS (Alan Adı Sistemi) gibi düşük paket trafiği: DNS sorguları genellikle kısa paketlerdir ve UDP bunları daha hızlı tamamlayabilir.
Video ve ses gibi multimedya iletişimi:Gerçek zamanlı gereksinimlerin yüksek olduğu multimedya iletimi için UDP, verilerin zamanında iletilmesini garanti altına almak için daha düşük gecikme süresi sağlayabilir.
Yayın iletişimi: UDP, bire-çok ve çoktan-çoka iletişimi destekler ve yayın mesajlarının iletimi için kullanılabilir.
Özet
Bugün TCP hakkında bilgi edindik. TCP, bağlantı odaklı, güvenilir, bayt akışı tabanlı bir taşıma katmanı iletişim protokolüdür. Bağlantı, el sıkışma ve onay oluşturarak verilerin güvenilir bir şekilde iletilmesini ve düzenli bir şekilde alınmasını sağlar. TCP protokolü, süreçler arasındaki iletişimi gerçekleştirmek için portları kullanır ve farklı ana bilgisayarlarda çalışan uygulama süreçleri için doğrudan iletişim hizmetleri sağlar. TCP bağlantıları tam çift yönlüdür ve aynı anda çift yönlü veri transferlerine izin verir. Buna karşılık, UDP, güvenilirlik garantileri sağlamayan ve yüksek gerçek zamanlı gereksinimleri olan bazı senaryolar için uygun olan bağlantısız bir iletişim protokolüdür. TCP ve UDP, bağlantı modu, hizmet nesnesi, güvenilirlik, tıkanıklık kontrolü, akış kontrolü ve diğer yönlerden farklıdır ve uygulama senaryoları da farklıdır.
Gönderi zamanı: 03-12-2024