- Katılım
- 29 Mar 2009
- Konular
- 2,176
- Mesajlar
- 9,577
- Online süresi
- 1y 4ay
- Reaksiyon Skoru
- 5,071
- Altın Konu
- 497
- Başarım Puanı
- 449
- TM Yaşı
- 17 Yıl 26 Gün
- MmoLira
- 136,976
- DevLira
- 27
Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!
TCP ve UDP hakkında neler biliyoruz? İnternet, blok zinciri, bulut bilişim hangi alanda olursa olsun, bilgisayarlar birbirlerine bağlı olduklarında en etkili olurlar. Ancak, veri gönderme süreci ve hedef kitleye tamamen ulaştığından emin olmak ağların ve düğümlerin karmaşık bir şekilde birbirine bağlanmasını gerektirir. Transport Control Protocol (TCP) ve User Datagram Protocol (UDP) protokollerinin ayrıntılarına dalmadan önce, önce bir adım geri gitmek önemlidir.
Tüm ağ modelleri benzer bir süreci tanımlamayı amaçlar: veri parçalarının teller üzerinden elektriksel bir darbe olarak veya ışık desenleri halinde fiber optik kablolar aracılığıyla nasıl gönderildiği. Ve yukarı akışta bu veri parçalarının nasıl alındığı ve yeniden birleştirildiği.
Bir bilgisayardaki bir uygulamadan diğerine veri aktarımı teknik olarak tek bir protokolle mümkün olurdu. Ancak, bu yöntem inanılmaz derecede kırılgan olurdu: donanımdaki herhangi bir değişiklik, tüm uygulama ve protokol yazılımının değiştirilmesi gerektiği anlamına gelirdi. Cihazları bağlamak için gereken esnekliği elde etmek için, ağ oluşturma farklı protokollerin katmanlı yığınlarını kullanır. Yığındaki her katmanın belirli bir işlevi vardır ve doğrudan üstündeki ve altındaki katmanlarla etkileşime girer.
Günümüzde en kapsamlı çerçeve Açık Sistem Bağlantısı'dır (OSI) . UDP ve TCP, ilgili katmanların bazılarını kesip değiştirir, bu nedenle OSI ile başlamak daha derinlere inmek için en iyi başlangıç noktasını sağlar.
Adından da anlaşılacağı gibi, TCP en çok taşıma katmanında etkilidir. Herhangi bir veri gönderilmeden önce, TCP üç yönlü bir el sıkışma yoluyla iki ağ uç noktası arasında kısa bir bağlantı kurar.
İlk olarak, istemci bir SYN (senkronize) mesajı göndererek bağlantıyı başlatır (rastgele bir sayı biçiminde) alındığında, sunucu bunu bir SYN-ACK ile onaylar (sadece istemcinin numarasının sonuna 1 ekler). Son olarak, bu SYN-ACK istemci tarafından bir ACK mesajıyla onaylanır. Bu sanal el sıkışma, hem gönderenin hem de alıcının iletişim kurmaya hazır olduğundan ve kanalın kurulduğunu bildiğinden emin olur. Alıcı port çevrimdışıysa veya kullanılamıyorsa, ACK mesajı bir TCP RST (sıfırlama) paketiyle değiştirilir.
Sadece ilk süreç iki yönlü bir onaya dayanmaz: iki yönlü sonlandırma ayrıca bir istemci veya sunucunun da veri göndermeyi bitirdiğini doğrular. Benzer bir düzende, tüm ilgili veri parçaları gönderildikten sonra, istemci kendi sıra numarası biçiminde bir FIN segmenti gönderir. Yine, sunucu bunu onaylar. Sunucu tarafından tüm veriler alındığında, sunucunun bir FIN paketi gönderme sırası gelir, bu onaylanır ve bağlantı sonlandırılır.
İnternete bağlı her cihaz veya etki alanının benzersiz bir IP adresi vardır . Her veri paketinin başlığında amaçlanan alıcının IP adresi bulunur, bu da verilerin ihtiyaç duyulan yere ulaştığı anlamına gelir. IP adresi tanımlandıktan sonra, TCP işlemi veri aktarımını başlatabilir. Ancak alınan verinin doğru bağlantı noktasına ulaşması gerekir; bu nedenle TCP paketleri bağlantı noktası verilerini içerir. IP'yi bir posta kodu ve TCP bağlantı noktası verilerini belirli bir ev numarası olarak düşünün. Son olarak, TCP paketleri bir sıra numarası içerir; bir mektuptaki numaralandırılmış sayfalara benzer; bunlar paketlerin hangi sırayla gönderildiğini belirler.
TCP/IP, internet üzerinden güvenli ve güvenilir veri iletimi için standart haline gelmiş olsa da , IP yaklaşımının en önemli avantajı esnekliğidir; ayrıca TCP, verileri A noktasından B noktasına taşımanın tek yolu değildir.
Her veri paketi kendi kendine yeten bir birimdir ve öncesinde veya sonrasında gelen veri parçaları hakkında hiçbir bilgi içermez. Bu şekilde, gecikmiş paketlerin bir birikimini işlemek yerine, bir sunucu istekleri tamamen doğrusal bir şekilde işleyebilir. Bu süreç, UDP'de yer alan paketlerin boyutu tarafından desteklenir. TCP paketlerinin yerleşik hata denetimi ve ardışık numaralandırmaya sahip olduğunu düşünün: tüm bu isteğe bağlı ekstraları kaldırarak, UDP veri paketleri boyutunun bir kısmı olur. Bu akıcı veri parçaları daha sonra yıldırım hızında işlenebilir.
Sonuç olarak, UDP gerçek zamanlıya yakın işleme ihtiyacı olan hizmetlerde kullanılır. Video akışı ve bilgisayar oyunlarını düşünün: çok sayıda UDP veri paketi gerektirebilirler, ancak hızları iyi bir kullanıcı deneyimi için gereklidir. Ve bir paket düşerse veya kaybolursa, gerçek hayattaki etkileri belki de bir kare boyunca süren eksik bir piksel olacaktır. Bir alan adını tanınabilir bir web adresine bağlayan Alan Adı Hizmeti (DNS) sorguları da UDP kullanır. Bu istekler küçüktür, tek bir istek ve yanıt çiftinden oluşur ancak hızlı bir şekilde gerçekleşmeleri gerekir, bu da UDP'yi doğal bir kullanım örneği haline getirir.
Tüm ağ modelleri benzer bir süreci tanımlamayı amaçlar: veri parçalarının teller üzerinden elektriksel bir darbe olarak veya ışık desenleri halinde fiber optik kablolar aracılığıyla nasıl gönderildiği. Ve yukarı akışta bu veri parçalarının nasıl alındığı ve yeniden birleştirildiği.
Bir bilgisayardaki bir uygulamadan diğerine veri aktarımı teknik olarak tek bir protokolle mümkün olurdu. Ancak, bu yöntem inanılmaz derecede kırılgan olurdu: donanımdaki herhangi bir değişiklik, tüm uygulama ve protokol yazılımının değiştirilmesi gerektiği anlamına gelirdi. Cihazları bağlamak için gereken esnekliği elde etmek için, ağ oluşturma farklı protokollerin katmanlı yığınlarını kullanır. Yığındaki her katmanın belirli bir işlevi vardır ve doğrudan üstündeki ve altındaki katmanlarla etkileşime girer.
Günümüzde en kapsamlı çerçeve Açık Sistem Bağlantısı'dır (OSI) . UDP ve TCP, ilgili katmanların bazılarını kesip değiştirir, bu nedenle OSI ile başlamak daha derinlere inmek için en iyi başlangıç noktasını sağlar.
OSI modelinin hızlı bir genel bakışı
Fiziksel katman
En temel düzeyde, bu katman veri gönderme ve alma mekanik elemanlarından oluşur. Bu, pimlerin ve tellerin 0'ları ve 1'leri ışık, elektrik ve radyo sinyalleri biçiminde yerel medyaya gönderilen bir sinyale nasıl kodladığını belirler.Veri Bağlantı Katmanı (DLL)
Veri bağlantı katmanı, bir cihazın fiziksel bileşenleri ile ağ tabanlı veri paketleri arasında aracı görevi görür. Fiziksel katmandaki veriler esasen yapılandırılmamıştır ve bu katmanın görevi, verileri çerçevelere paketlemektir. Bu, gönderilen verilerin sürekli akışını alır ve bunları kümeler halinde gruplandırır, buna çoklama adı verilir. Burada, her veri paketine, amaçlanan göndericisini ve hedefini etiketlemek için bir başlık verilir.Ağ katmanı
Veri paketleri gitmeye hazır olduğunda, ağ (veya internet) katmanı veri paketlerini bir ağ üzerinden bir cihazdan diğerine yönlendirebilir. Bunu, her cihaza benzersiz bir IP adresi atayarak yapar; bu adres, cihazı tanımlamak ve paketlerin ona ulaşmak için izlemesi gereken yolu belirlemek için kullanılır.Taşıma katmanı
Ağ ve oturum katmanları arasında bulunan taşıma katmanı, mesajları bir ana bilgisayara iletmeye odaklanır. Taşıma katmanı, yukarı akış işlemlerinin her cihazın iletişim ağının benzersiz özelliklerini dikkate alması gerekmediği için uygulamaların ve hizmetlerin daha hızlı çalışmasını sağlar. Bu katman, kısa süre sonra değineceğimiz UDP ve TCP protokollerinin temelini oluşturur.Oturum katmanı
Taşıma katmanı iki bilgisayarın önceden iletişim kurup kurmadığını umursamaz; sadece paketleri ileri geri taşımaya odaklanır. Oturum katmanı trafiği mantıksal bir başlangıç ve bitişe düzenler.Sunum katmanı
Bu veri paketlerinin hacmi çok yüksek olabilir. Sunum katmanı esas olarak bu paketlerin göndericinin cihazından ayrılmadan önce bant genişliği taleplerini azaltmak için kodlanmasına ve sıkıştırılmasına odaklanır.
Uygulama Katmanı
Son olarak, alınan bu verinin (veya gönderilmek üzere olan verinin) kullanıcıya iletilmesi gerekir. OSI kullanışlı bir model olsa da, hiçbir modern protokolün 7 katmanın tamamında kesin hatlarını takip etmediğini unutmayın. Örneğin, TCP ve UDP protokolleri yalnızca ağ ve taşıma katmanlarına odaklanır.TCP nedir?
Taşıma Kontrol Protokolü esasen ilk ağ protokolüydü. 1981'de internetin ortaya çıkışından kısa bir süre sonra icat edilen ilk biçimi, verileri paketlere ayırmaya odaklanmıştı. O zamandan bu yana geçen on yıllarda, bugünün standardı olan TCP/IP yığınına dönüştü ve gelişti . TCP içindeki paketler 4 katmana ayrılır: veri bağlantısı, ağ, taşıma ve uygulama katmanları.Adından da anlaşılacağı gibi, TCP en çok taşıma katmanında etkilidir. Herhangi bir veri gönderilmeden önce, TCP üç yönlü bir el sıkışma yoluyla iki ağ uç noktası arasında kısa bir bağlantı kurar.
İlk olarak, istemci bir SYN (senkronize) mesajı göndererek bağlantıyı başlatır (rastgele bir sayı biçiminde) alındığında, sunucu bunu bir SYN-ACK ile onaylar (sadece istemcinin numarasının sonuna 1 ekler). Son olarak, bu SYN-ACK istemci tarafından bir ACK mesajıyla onaylanır. Bu sanal el sıkışma, hem gönderenin hem de alıcının iletişim kurmaya hazır olduğundan ve kanalın kurulduğunu bildiğinden emin olur. Alıcı port çevrimdışıysa veya kullanılamıyorsa, ACK mesajı bir TCP RST (sıfırlama) paketiyle değiştirilir.
Sadece ilk süreç iki yönlü bir onaya dayanmaz: iki yönlü sonlandırma ayrıca bir istemci veya sunucunun da veri göndermeyi bitirdiğini doğrular. Benzer bir düzende, tüm ilgili veri parçaları gönderildikten sonra, istemci kendi sıra numarası biçiminde bir FIN segmenti gönderir. Yine, sunucu bunu onaylar. Sunucu tarafından tüm veriler alındığında, sunucunun bir FIN paketi gönderme sırası gelir, bu onaylanır ve bağlantı sonlandırılır.
IP'nin önemi
Bu süreç için kritik olan, her bağlantının gönderilmeden önce tanımlanmış bir hedefe sahip olması gerektiğidir. TCP el sıkışması ancak bundan sonra gerçekleşebilir. İnternet Protokolü (IP) burada TCP/IP madalyonunun diğer yüzü olarak hareket eder.İnternete bağlı her cihaz veya etki alanının benzersiz bir IP adresi vardır . Her veri paketinin başlığında amaçlanan alıcının IP adresi bulunur, bu da verilerin ihtiyaç duyulan yere ulaştığı anlamına gelir. IP adresi tanımlandıktan sonra, TCP işlemi veri aktarımını başlatabilir. Ancak alınan verinin doğru bağlantı noktasına ulaşması gerekir; bu nedenle TCP paketleri bağlantı noktası verilerini içerir. IP'yi bir posta kodu ve TCP bağlantı noktası verilerini belirli bir ev numarası olarak düşünün. Son olarak, TCP paketleri bir sıra numarası içerir; bir mektuptaki numaralandırılmış sayfalara benzer; bunlar paketlerin hangi sırayla gönderildiğini belirler.
TCP/IP, internet üzerinden güvenli ve güvenilir veri iletimi için standart haline gelmiş olsa da , IP yaklaşımının en önemli avantajı esnekliğidir; ayrıca TCP, verileri A noktasından B noktasına taşımanın tek yolu değildir.
UDP nedir
Kullanıcı Datagram Protokolü (UDP), IP'nin temelleri üzerinde çalışan hafif bir veri taşıma protokolüdür. Ancak TCP'nin uzun el sıkışma süreci yerine, UDP, önce bir bağlantıya çapraz referans vermeden datagram olarak bilinen küçük, bağımsız paketler gönderir. Bu riskli görünse de, UDP, bilgileri düşürme ve kritik bir iletişim kesintisi yaşamama yeteneğiyle oluşturulmuştur.Her veri paketi kendi kendine yeten bir birimdir ve öncesinde veya sonrasında gelen veri parçaları hakkında hiçbir bilgi içermez. Bu şekilde, gecikmiş paketlerin bir birikimini işlemek yerine, bir sunucu istekleri tamamen doğrusal bir şekilde işleyebilir. Bu süreç, UDP'de yer alan paketlerin boyutu tarafından desteklenir. TCP paketlerinin yerleşik hata denetimi ve ardışık numaralandırmaya sahip olduğunu düşünün: tüm bu isteğe bağlı ekstraları kaldırarak, UDP veri paketleri boyutunun bir kısmı olur. Bu akıcı veri parçaları daha sonra yıldırım hızında işlenebilir.
Sonuç olarak, UDP gerçek zamanlıya yakın işleme ihtiyacı olan hizmetlerde kullanılır. Video akışı ve bilgisayar oyunlarını düşünün: çok sayıda UDP veri paketi gerektirebilirler, ancak hızları iyi bir kullanıcı deneyimi için gereklidir. Ve bir paket düşerse veya kaybolursa, gerçek hayattaki etkileri belki de bir kare boyunca süren eksik bir piksel olacaktır. Bir alan adını tanınabilir bir web adresine bağlayan Alan Adı Hizmeti (DNS) sorguları da UDP kullanır. Bu istekler küçüktür, tek bir istek ve yanıt çiftinden oluşur ancak hızlı bir şekilde gerçekleşmeleri gerekir, bu da UDP'yi doğal bir kullanım örneği haline getirir.
TCP ve UDP arasındaki özellik bazında farklılıklar
| Özellik | UDP (Kullanıcı Datagram Protokolü) | TCP (İletim Kontrol Protokolü) |
| Bağlantı | Bağlantısız, veri göndermeden önce bağlantı kurmaz. | Bağlantı odaklıdır, veri aktarımından önce üçlü el sıkışma kurar. |
| Güvenilirlik | Teslimatı, siparişi veya hata kontrolünü garanti etmez. | Paket mimarisi, teslimatın doğru sırayla yapılmasını sağlar. |
| Hız | Hızlı. | Kapsamlı hata kontrol mekanizmaları nedeniyle UDP'den daha yavaştır. |
| Veri akış kontrolü | Akış kontrolü yok; verileri göndericinin üretebildiği ve ağın işleyebildiği kadar hızlı gönderir. | Veri akışını ayarlamak için pencereleme teknikleri aracılığıyla akış kontrolü yönetilir. |
| Kullanım | Bazı verilerin kaybının tolere edilebilir olduğu zamana duyarlı uygulamalarda kullanılır (örneğin canlı ses/video akışı). | Güvenilir veri iletiminin hayati önem taşıdığı durumlarda kullanılır (örneğin web'de gezinme, e-posta). |
| Başlık boyutu | Daha küçük başlık boyutu (8 bayt). | Daha büyük başlık boyutu (minimum 20 bayt). |
| Dizileme | Veri paketlerini sıralamaz. | Sıralı teslimatı garantilemek için veri paketlerini sıralar. |


