TCP&UDP Nedir ? Karşılaştırma





Merhaba Arkadaşlar;
Bu Konumda Sizlere TCP (Transmission Control Protocol) yani türkçe anlamı ile İletim Denetimi Protokolü ve UDP (User Datagram Protocol) yani türkçe anlamı ile Kullanıcı Datagram Protokolünü anlatacağım.


YgNzXa.jpg


TCP Nedir ?
7NEXyW.gif

TCP,Güvenilir ve Bağlantılı bir iletişim sağlayan bir protokoldür.



TCP İletişimi nasıl olur ?

-------------------------------------------
TCP İletişimde iletilmek istenen veriler segmentlere yani bölümlere ayrılır.her segmente bir sıra numarası verilir.Gönderici bilgisayar,segmentleri,yani çerçeveleri teker teker gönderip her biri için teker teker onay beklemez.Bunun yerine çerçeveleri belli bir sayıda topluca gönderir.
Mantık olarak Torrent indirmek gibi dosyaları bölümlendiriyor.


Pencerelerden bahsetmişken Kayan Pencereleride anlatmak isterim.
Kayan Pencereler Örnek olarak iletilen veri 53 segmentden oluşuyor.
ve pencere büyüklüğü olarak 10 rakamı seçiliyor
10ar 10ar çerçeveleri göndermeye başlıyor ve onay gönderiyor
fakat 23. segmentde bir sorun oldu varsayıyoruz.Bu durumda alıcı bilgisaar en son 22 segmentin onayını alıyor.ve 23.segmenti tekrar ileterek onay bekliyor ve artık normalde 10-20-30-40 gibi gideceğine 23de Kayma olduğu için 10-20-23-33-43-53 diye gidecektir bu olaya Kayan Pencelereler denir.


Bir TCP Segmenti Nelerden Oluşur ?

----------------------------------------------------

Segmentler 2 ye ayrılır.

Başlık(Header)

Başlık kısmında Şu Alanlar vardır.

Kaynak Portu=Gönderen bilgisayarın TCP Portu.

Hedef Portu=Alıcı Bilgisayarın TCP Portu.

Sıra Numarası=Segmentlere verilen numara.

Onay Numarası=İstenilen bir sonraki paketin numarası.

Veri Uzunluğu=TCP Segmentinin uzunluğu.

Rezerve=Gelecekte kullanılmak üzere rezerve edilmiş.

Bayraklar=Segmentin içeriğinde ne bulunduğuna dair bilgi.

Pencere=TCP penceresinde ne kadar yer kalmış olduğu bilgisi.

Kontrol Toplamı=Başlık Kısmının Bozulup bozulmadığını gösteren kısım.

Acil Veri göstergesi=Bayrak kısmında belirtilen acil bir verinin iletmek istendiğini gösterir.

Veri(Data)


Plryn6.jpg

Üçlü El Sıkışma(TCP 3 Way Hand shake) Nedir ?
7NEXyW.gif7NEXyW.gif
İstemci, sunucuya belli bir port içinde X sıra numarasıyla bir SYN paketi gönderir.

SYN Paketine karşılık X+1 sıra numarası ile ACK paketi ve Bambaşka bir sıra numarası ile bir SYN paketi gönderir.

İstemcide gelen Z sıra numaralı SYN paketine karşılık gelen bir Z+1 sıra numaralı bir ACK paketi gönderir ve böylece 3-yollu el sıkışma sağlanmış olur.
Bağlantı sonrasında paketler bazı etkenlere göre belirli algoritma ile iletişim sağlarlar
Paketler tek tek değil bütün ile gönderilir.



3.El Şıkışma Neden Kullanılır

----------------------------------------------------

Oturumlar Bayraklar ile birliktir. (Bunlar ; SYN, ACK, FIN, PUSH, RST, URG), dolayısıyla TCP oturumunun başlaması için bu bayrakların öncelikle anlaşabilmesi gerekir. 
Bir Yakın arkadaşınızın sizi başka bir arkadaşına tanıştırması gibi düşünebilirsiniz.İlk önce tanıştırması gerek öyle değilmi?


Kısaca SYN,ACK Nedir ?

----------------------------------------------------

SYN=Giden Cevap.TCP Oturumunu açmaya yarar

ACK=Geri Dönen cevap



8Ydp4r.png

UDP Nedir ?
7NEXyW.gif
UDP Yukarda Anlattığımın Tam tersi diyebiliriz

Hem Güvenliksiz hemde bağlantısız bir Protokoldür.

Veri iletimi gerçekleştirdiğimizde verimizi hazır yolluyoruz.Bu veri sahibine ulaştımı,ulaşmadımı bir sorun oldumu bilemiyoruz.


Neden Güvenliksiz ve Bağlantısız bir protokolü kullanıyoruz.

----------------------------------------------------------------------------------------------

UDP üstte bahsettiğim gibi çoğu şeyi kötü fakat olayın birde şurasından bakın.UDP Çok hızlı
UDP basit bir protokol olduğu için acil bir iletişimde çok yararlı oluyor.Ama yinede önemli verilerinizi iletirken UDP'yi kullanmayınız.


Peki UDP Paketlerinde Ne Bulunuyor.

--------------------------------------------------------

Bir UDP protokulde TCP gibi Başlık ve Veri ile oluşuyor.

Başlıkta (Header)'da bulunan pakete göz atalım

Kaynak Portu=Gönderen bilgisayarın kullandığı UDP Portu

Hedef Portu=Karşı tarafın kullandığı UDP portu

Mesaj Uzunluğu=UDP mesajının büyüklüğü

Kontrol Toplamı=Başlık bilgisinin bozulup bozulmadığını gösteren denetim kısmı



XPXOOo.png


TCP ve UDP'nin Farkları
7NEXyW.gif



1-TCP=Gönderilen paketlerin karşı tarafa ulaşıp ulaşmadığını kontrol edilir.

1-UDP=Gönderilen paketlerin karşı tarafa ulaşıp ulaşmadığını kontrol edemez.

2-TCP=Veriler parçalara bölünüp yollanır.

2-UDP=Veriler parçalara bölünüp yollanır.

3-TCP=Hata Oranı Yoktur.İletildiğini görebilirsiniz.Ulaşılmayan paketler tekrar gönderilir.

3-UDP=Hata Oranı Yüksektir.İletildiğini göremezsiniz.Ulaşılmayan paketler tekrar gönderilmez

4-TCP==Hızı UDP ye oranla çok azdır

4-UDP=Hız Konusunda çok iyi olduğu için en iyilerdendir.