Bugün, TCP'ye odaklanarak başlayacağız. Katmanlama bölümünün önceki kısımlarında önemli bir noktaya değinmiştik. Ağ katmanı ve altı, 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 süreçler arası iletişimdir. Bu nedenle, TCP protokolü port kavramını ortaya çıkarır. Bir port yalnızca tek bir işlem tarafından kullanılabilir ve 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 hizmetleri sağlamaktır, bu nedenle uçtan uca protokol olarak da bilinir. Taşıma katmanı, ağın temel ayrıntılarını gizleyerek, 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, İletim Kontrol Protokolü anlamına gelir ve bağlantı odaklı bir protokol olarak bilinir. Bu, bir uygulamanın diğerine veri göndermeye başlamadan önce iki sürecin el sıkışması gerektiği anlamına gelir. El sıkışma, verilerin güvenilir iletimini ve düzenli alımını sağlayan mantıksal olarak bağlantılı bir süreçtir. El sıkışma sırasında, kaynak ve hedef bilgisayarlar arasında bir dizi kontrol paketi değiş tokuş edilerek ve başarılı veri iletimini sağlamak için bazı parametreler ve kurallar üzerinde anlaşılarak bir bağlantı kurulur.
TCP nedir? (Mylinking'inAğ Musluğ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 ana 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 mesajları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 etmez ve yinelenen paketleri otomatik olarak bırakır.
Ana bilgisayar A ve ana bilgisayar B bir bağlantı kurduktan sonra, uygulamanın veri gönderip almak için yalnızca sanal iletişim hattını kullanması gerekir; böylece veri iletimi sağlanır. TCP protokolü, bağlantı kurma, bağlantıyı kesme ve bekletme gibi görevleri kontrol etmekten sorumludur. Burada sanal hattın yalnızca bağlantı kurmak anlamına geldiğini, TCP protokol bağlantısının ise yalnızca iki tarafın veri iletimine başlayabileceğini ve verilerin güvenilirliğini sağladığını belirtiyoruz. 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ışla 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 oluşturulan önbelleklerden biridir. Ardından TCP, gönderme önbelleğindeki verileri uygun zamanda hedef bilgisayarın alma önbelleğine gönderir. Pratikte, her eşin bir gönderme önbelleği ve bir alma önbelleği olacaktır, burada gösterildiği gibi:
Gönderme tamponu, 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 gerçekleştirilerek bir bağlantı kurulduğunda, gönderme önbelleği kurulur ve verileri depolamak için kullanılır. Gönderme tamponu, ağ yoğunluğuna ve alıcıdan gelen geri bildirimlere 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 verileri 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ğ istikrarı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 Boyutu'nu (MSS) aşamaz. Bir paket segmenti, aşağı doğru ilerlerken bağlantı katmanından geçer. Bağlantı katmanının, veri bağlantı katmanından geçebilecek 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, farklı seviyeler arasındaki farkları hesaba kattığı için çok önemlidir. 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 iletilebilecek Maksimum IP paket Boyutu olarak düşünülebilirken, Maksimum Segment Boyutu (MSS), bir TCP paketi tarafından tek seferde iletilebilecek 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, ağ katmanında IP parçalanmasının 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 oluşturulan rastgele bir sayı, başlangıç değeri olarak alınır ve sıra numarası, SYN paketi aracılığıyla alıcıya gönderilir. Veri iletimi sırasında, gönderici, gönderilen veri miktarına göre sıra numarasını artırır. Alıcı, alınan sıra numarasına göre verilerin sırasını belirler. Veriler sıralı değilse, alıcı, verilerin sırasını sağlamak için yeniden sıralar.
Teşekkür numarası: Bu, TCP'de veri alındığını onaylamak için kullanılan bir sıra numarasıdır. Gönderenin almayı beklediği bir sonraki verinin sıra numarasını belirtir. 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önderene onay onay numarasını içeren bir ACK paketi gönderir. ACK paketini aldıktan sonra, gönderen 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 haricinde 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 anlamına gelir.
SYN bit: Bu bit 1 olarak ayarlandığında bağlantı kurulacağı ve sıra numarası alanına sıra numarasının başlangıç değerinin ayarlanacağı anlamına gelir.
FIN bit: 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ğ Musluğ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ı sunmaz. UDP protokolü, uygulamaların 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ı Kullanıcı Datagram Protokolüdür ve başlığı yalnızca sekiz bayttır (64 bit), bu da oldukça özlüdür. UDP başlığının biçimi aşağıdaki gibidir:
Hedef ve kaynak bağlantı noktaları: 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. Kontrol toplamının rolü, bir UDP paketinin iletimi sırasında bir hata veya bozulmanın meydana gelip gelmediğini tespit ederek verilerin bütünlüğünü sağlamaktır.
Mylinking'de TCP ve UDP arasındaki farklarAğ MusluğuVeAğ Paket Brokerihem TCP hem de UDP Paketlerini işleyebilir
TCP ve UDP aşağıdaki açılardan 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. UDP ise bağlantı gerektirmez ve verileri anında aktarabilir.
Hizmet NesnesiTCP, bire bir iki noktalı bir hizmettir; yani bir bağlantının birbiriyle iletişim kurabilmesi 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üvenilirlikTCP, verilerin hatasız, kayıpsız, tekrarsız ve talep üzerine iletilmesini sağlayarak güvenilir bir şekilde iletme hizmeti sunar. Öte yandan UDP, elinden gelenin en iyisini yapar ve güvenilir bir iletim garantisi vermez. UDP, iletim sırasında veri kaybı ve diğer durumlardan zarar görebilir.
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'de tıkanıklık kontrolü ve akış kontrol mekanizmaları yoktur, ağ çok yoğun olsa bile UDP gönderim hızında ayarlama yapmaz.
Üstbilgi üstü: TCP'nin genellikle 20 bayt olan uzun bir başlık uzunluğu vardır ve bu uzunluk 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 başlık yükü daha düşüktü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 iletiminin gerekli olduğu senaryolarda kullanılır. Yaygın kullanım örneklerinden bazıları şunlardır:
FTP dosya aktarımı: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: Yüksek gerçek zamanlı gereksinimlere sahip multimedya iletimi için UDP, verilerin zamanında iletilmesini garanti altına almak amacıyla daha düşük gecikme süresi sağlayabilir.
Yayın iletişimi: UDP, birden çoğa ve çoktan çoğa iletişimi destekler ve yayın mesajlarının iletiminde 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 eş zamanlı çift yönlü veri aktarımlarına olanak tanır. Buna karşılık, UDP, güvenilirlik garantisi sağlamayan ve yüksek gerçek zamanlı gereksinimlere sahip 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