TCP ve UDP

Eki 19, 2023

What is the protocol?

Bilgisayarlar ağ cihazlarıyla iletişim kurduğunda, insanların birbirleriyle iletişim kurdukları gibi, sorunsuz iletişim sağlamak için aynı dili kullanmaları gerekir.

İletişimin nasıl başlayacağı, hangi dilin kullanılacağı ve iletişimin nasıl sona ereceği gibi kurallar önceden belirlenmelidir. Ayrıca, bu iletişim yöntemlerinin bir kural olan protokolü takip etmesi gerekmektedir.

TCP/IP, TCP, UDP, IP, FTP, HTTP ve ICMP gibi çeşitli İnternet ile ilgili protokollerin genel adıdır.

TCP/IP 1970’lerde icat edildi. TCP/IP başlangıçta katmanlama kavramını önerdi, karmaşık ağ iletişimini farklı sorumlulukları olan birden çok katmana böldü, böylece bir katmanda bir sorun oluştuğunda, sadece o katmandaki sorunun çözülmesi gerekti, tüm şeyin değiştirilmesi gerekmez.

Ağ iletişim ortamının yönetimini ve bakımını önemli ölçüde iyileştirin. Protokol dört katmana sahiptir, her biri birbiriyle ilişkilidir, her biri alt katmanın desteğine ihtiyaç duyar ve üst katmanı destekler.

Bu dönemde birçok başka ağ protokolü vardı. OSI (Açık Sistem Bağlantı Referans Modeli), daha birleşik bir ağ hiyerarşik protokol modelidir. OSI, tasarımının başlangıcında TCP/IP gibi birkaç protokole referans vererek, karşılığın kolayca uygulanmasını sağlamıştır.

OSI model’in yedi katmanı bulunmaktadır, bazıları TCP/IP’ye çok benzer:

the osi model

Taşıma katmanında, TCP ve UDP olmak üzere iki protokol vardır, bunlar göz ardı edilemez. Aralarındaki farklar nelerdir ve nasıl seçim yapmalıyız?

TCP nasıl çalışır?

Daha önce belirtildiği gibi, protokol katmanlamasının temel amacı, her katmanın sorumluluklarını ayırmaktır. Örneğin, TCP (Transmission Control Protocol) bir taşıma katmanı protokolüdür ve bir dijital cihazdan diğerine veri iletimine izin verir. TCP’nin temel görevi, uygulama katmanından veri toplamaktır. Daha sonra veriyi paketlere böler, her pakete bir numara atar ve paketleri hedefe gönderir.

TCP güvenilir bir protokoldür. Alıcı her zaman göndericiye veri paketi hakkında bir onay mesajı gönderir. Bu arada, gönderici her zaman paketin diğer tarafa ulaşıp ulaşmadığını bilir. Aktarım sürecinde bilgi transferinde bir başarısızlık olursa istek geri döner.

Paketleri uygulama katmanına göndermeden önce yeniden birleştirir. TCP’nin bağlantı odaklı bir protokol olması nedeniyle, bağlantı, gönderici ve alıcının veri iletimini tamamladığı ana kadar korunur.

UDP nasıl çalışır?

UDP (kullanıcı veri iletişim protokolü), TCP’nin güvenilir protokolüne kıyasla güvenilmez bir iletişim protokolü olarak kabul edilir. Yine de, işini yapmak için IP hizmetlerini kullanarak en iyi iletim yöntemlerinden birini sağlar.

UDP’de alıcı paketin onayını üretmez ve gönderici paketin açıklanmasını beklemez. Bu kusur, protokolü güvenilmez ancak işlenebilir kılar.

Eğer alınan verilerin doğruluğu önemli değilse, bu durumda UDP kullanırız. Tek yönlü veri akışı durumları için uygundur ve sorgu tabanlı iletişim için en uygunudur.

UDP paketlerin sıralı bir şekilde gönderildiğini garanti etmez. Durumsuzdur ve herhangi bir tıkanıklık kontrol mekanizması sağlamaz.

TCP ve UDP arasındaki farklar nelerdir?

Bu yönlerden TCP/UDP arasındaki farkları görebiliriz:

Bağlantı

TCP, bir bağlantı odaklı protokoldür. Bu protokolü genellikle IP protokolü ile birlikte kullandığımız için genellikle TCP/IP olarak adlandırılır.

Veri gönderme ve alma, iki taraf arasında güvenilir bir bağlantı kurmalıdır. İlişkiyi kurmak için 3 “el sıkışma”, bağlantıyı kesmek için 4 “dalga” gereklidir, veri iletimi için güvenilir bir temel oluşturur.

Veri iletişim, veri iletimi başlamadan önce kurulmuştur ve alıcı, verinin doğruluğunu sağlamak için veri paketlerini düzenli bir şekilde kabul edecektir.

UDP bağlantısız bir protokoldür. Veri iletiminden önce veri gönderici ve alıcısı bir bağlantı kurmaz. Bunun yerine, gönderici veriyi ağa daha hızlı ileter ve alıcı mesaj kuyruğundan mesaj segmentlerini okur. Gönderici ve alıcının iyi bir bağlantısı olmadığı için alıcı paketleri sırasız alır.

Güvenilirlik

TCP güvenilir taşıma hizmetleri sağlar, veri alımının güvenilirliğini ve düzenini sağlar. Bağlantı üzerinde güvenilir iletim hizmetlerini sağlamak için iletim sürecinde birçok yöntem kullanılır, örneğin numaralandırma ve onaylama, akış kontrolü, zamanlayıcılar vb. verinin hata içermemesini, kaybolmamasını, tekrarlanmamasını ve sırayla gelmesini sağlamak için. İletim başarısız olursa, yeniden iletim istenecektir.

UDP, teslimat sırasında güvenilir bir iletişim sağlamaz. Bunun yerine, güvenilirliği sağlamak için üst katman protokollerine güvenir. Düzensiz, doğru olmayan iletim yöntemleri, yüksek veri bozulması gerektirmeyen bazı gereksinimler için daha uygun olabilir.

TCP ve UDP nasıl seçilir?

TCP ve UDP protokollerinin avantajları ve dezavantajları nedeniyle, farklı ihtiyaçları karşılamak için daha uygun protokolü seçebiliriz.

tcp vs udp

TCP protokolü güvenilirdir, karmaşık mekanizmalar ekleyerek (örneğin; checksum, seri numara tanımlama, kaydırma penceresi, onay yanıtı, tıkanıklık kontrolü vb.) sıkıcı bir el sıkışma süreci oluşturur ve TCP’nin sistem kaynaklarını tüketimini artırır. Bu nedenle, veri iletiminde belirli bir gecikme etkisi vardır ve iletim verimliliğini azaltır.

TCP, düşük iletim verimliliği ancak yüksek doğruluk gerektiren tipik uygulamalar için uygun bir protokoldür, örneğin HTTPS (Hypertext Transfer Protocol Secure), HTTP (Hypertext Transfer Protocol), SMTP (Simple Mail Transfer Protocol) ve FTP (File Transfer Protocol) gibi.

UDP bağlantısızdır, güvenilir olmayan iletim, veri iletimini mümkün olan en kısa sürede gerçekleştirir, basit protokol, daha az kaynak gereksinimi, hızlı iletim hızı ve yüksek gerçek zamanlı performansa sahiptir. Bu nedenle, yüksek iletim verimliliği ancak düşük doğruluk gerektiren tipik uygulamalar için uygundur. Video akışı, video telefonculuk, sesli IP hizmetleri (İnternet aramaları), DNS (Alan Adı Sistemi) vb. için kullanılır.