it-swarm-tr.com

UDP ve TCP arasındaki fark nedir?

Yönlendiricimde bağlantı noktası yönlendirmeyi ayarlarken seçebileceğim iki protokol (ve "ikisi de" seçeneği) var: UDP ve TCP. Bu iki protokol arasındaki fark nedir ve bağlantı noktası yönlendirmede birini diğerinden ne zaman seçersiniz?

47
Guy

TCP , verilerin gittiği yere ulaştığından emin olmak için acks ve yeniden denemelerle desteklenir. UDP bağlantısızdır ve "ateşle ve unut". UDP çoğunlukla akış tipi uygulamalar için kullanılır; burada bazı verileri kaybederseniz tekrar göndermeye çalışmanız gerekmez.

Hangisini kullanacağınız uygulamaya bağlıdır. Örneğin, bir web sunucusu TCP kullanır.

52
user640

Burada iyi bir özet bulabilirsiniz:

DP ve TCP internet protokolleri) arasındaki fark nedir?

Hem TCP ve UDP, taşıma katmanı TCP/IP modelinde çalışır, ancak çok farklı kullanımları vardır.

En önemli farklar:

  • Güvenilirlik :
    TCP: bağlantı odaklı
    UDP: bağlantısız
  • Sıralı :
    TCP: mesajın alınma sırası garanti edilir
    UDP: sipariş garanti edilmez
  • Protokol ağırlığı :
    TCP: bağlantı/sipariş yükü nedeniyle ağır
    UDP: hafif, çok az ek yük
  • paketler :
    TCP: akış, veri bir "akış" olarak okunur, bir paketin bittiği ve diğerinin nerede başladığını ayıran hiçbir şey yoktur. Her okuma çağrısı için birden fazla paket olabilir.
    UDP: datagramlar, her okuma çağrısı için bir paket.

Çerçeve yapısı

Ağ üzerinden veri gönderildiğinde, "çerçeveler" olarak adlandırılması gerekir. Kullanılan protokole ve topolojiye bağlı olarak çeşitli kapsülleme yöntemleri vardır. Aşağıdaki resimler TCP ve UDP çerçeve yapılarının nasıl farklı olduğunu göstermektedir.

TCP çerçeve yapısı:

TCP frame

Bu UDP çerçeve yapısı, çok daha basit:

UDP frame

TCP kullanan tipik protokoller HTTP, FTP ve SMTP'dir UDP kullanan protokol örnekleri DNS ve DHCP'dir.

74
splattne

Ve CEO seviyesi açıklaması:

UDP, kağıdınızı selenin genel yönünde attığınız zamandır.

TCP kaçırdığı zaman, aynı kağıdın tam kopyalarını seleye düşene kadar tekrar tekrar atarsınız. Kağıt israfı olurdu, yeniden gönder = TCP paketleri ağ veya sistem kaynaklarının israfına neden olur.

45
pgs

TCP ve UDP'nin her ikisi de IP üstünde çalışan protokollerdir. TCP teslim garantisi var ve UDP desteklemiyor. Hangi iletmeyi yönlendirmeye çalıştığınıza bağlı olarak bağlantı noktası yönlendirme için birini veya diğerini seçersiniz. HTTP, örneğin TCP'dir. t Yönlendirmeye çalıştığınız hizmetin hangi protokol olduğunu bilmiyorsanız, neredeyse TCP'dir.

7
Brian

Sorunuzun diğer kısmını yanıtlamak için, uygulamanızın ne kullandığını iletmeniz gerekir. HTTP trafiğini iletmek için TCP'yi seçin. TFTP trafiğini yönlendirmek için UDP'yi seçin. p2p programları çoğunlukla tcp ve udp kullanır, bu yüzden ikisini de iletin.

Her şey protokole ve kullandığınız programa bağlıdır.

3
hayalci

Şimdiye kadar bahsedilen farklılıkların yanı sıra TCP da sağlar

akış kontrolü. Bir pencere mekanizması kullanarak alıcı, gönderenin daha fazla veri göndermek için izin beklemesi gerekmeden önce gönderenden kaç sekiz (bayt) almak istediğini sınırlar. Konuşma ilerledikçe pencerenin boyutu alıcı tarafından değiştirilebilir. Bu, bir alıcının bir gönderenden gelen veri oranını 'azaltmasına' izin verir: UDP buna izin vermez ve bir alıcının yapabileceği tüm, varışta arabelleğe koyamadığı veya işleyemediği verileri atmaktır.

bitişik olmayan alındı ​​bildirimi (gönderenin eksik çerçeve yerine yalnızca eksik bir çerçeveyi yeniden iletmesine izin vermek için seçici alındı ​​bildirimleri ve daha sonra alıcının zaten normal şekilde kabul edip edemeyeceği gibi) daha teknik özellikler), tıkanıklık işleme ve uyarlanabilir yeniden iletim (bir onay alınmadığında iletilen bir karenin ne kadar sürede yeniden gönderileceğini belirleyen zamanlayıcıyı ayarlama). Bunlar UDP ile ilgili değildir, ancak aynı yük kapasitesi için ağ yükünü büyük ölçüde artırmadan UDP üzerinden ekstra hizmetler sağlamak için yardım TCP).

2
mas

TCP, verilerin alıcıya ulaşmasını sağlamak için çaba gösterir; UDP desteklemiyor.

2
J. Polfer

Birini diğerine açıklayan tüm cevaplara aldırmayın. Bir bağlantı noktası iletme ayarlamak için kurallar oldukça basittir: kullandığınız protokol/uygulama için dokümanlar UDP kullandığını söylemedikçe TCP'yi seçmeniz gerekir. Genellikle UDP kullananlar akışla veya hafif protokolleri/güvenilirlik hızını (özellikle DNS ve NTP) destekleyen çok basit şeylerle ilgilidir. TCP ve UDP de - ICMP, tünel protokolleri vb.) Dışında başka protokoller de bulunduğunu unutmayın.

1
Lee B

Protokol ne kadar iyi bilinirse, yoldaki yönlendiriciler o kadar çok protokole müdahale eder. TCP paketleri gönderin ve alınan paketlerin yüksek oranda karıştırılma olasılığı yüksektir. UDP genellikle karışık değildir ve diğer 254 IP paylod protokolüne genellikle tamamen dokunulmaz.

1
user60557

Kullanıcı Datagram Protokolü (UDP)

Internet Protokol Paketi'nin temel protokollerinin bir parçasıdır. Ağa bağlı bilgisayarlardaki programlar bazen datagram olarak adlandırılan kısa mesajlar gönderebilir. UDP herhangi bir güvenilirliği garanti etmez (datagram düzensiz gelebilir, çoğaltılabilir veya herhangi bir bildirim yapılmadan eksik olabilir). Tüm paketlerin gerçekten teslim edilip edilmediğinin kontrol edilmemesi, UDP'nin garantili teslimat gerektirmeyen uygulamalar için daha hızlı ve daha verimli olduğu kanıtlanmıştır. UDP bu gibi durumlarda kullanımını bulur:

Zaman duyarlı uygulamalar. Gecikmeli paketlerden kaynaklanan problemlerden kaçınılır

Çok sayıda istemciden gelen küçük sorguları yanıtlayan sunucular için de yararlıdır. UDP, paket yayınını (yerel ağdaki herkese iletir) ve çok noktaya yayını (tüm abonelere iletir) destekler.

İletim Kontrol Protokolü (TCP)

Internet Protokolü Paketi'ndeki bu protokolün önemi nedeniyle genellikle TCP/IP olarak adlandırılır. TCP yalnızca iki uç sistemle (ör. Web tarayıcısı ve bir web sunucusu arasında) ilgili daha yüksek bir düzeyde çalışır. TCP bir bilgisayardaki bir programdan başka bir bilgisayardaki başka bir programa veri akışının güvenilir, sıralı olarak iletilmesini sağlar. TCP yeniden gruplama e-posta desteği ve dosya aktarımı ve Web uygulamalarının yaygın kullanım alanları. Yönetim görevleri arasında TCP mesaj boyutunu, mesajların değişim hızını ve ağ trafiğini kontrol eder. IP'ye gelince, Internet'ten aktarılan bir mesaj olarak bilgisayardan bilgisayara daha düşük seviyeli iletim yapar.

0
surendran

Her ikisi de Internet Protokolü veya IP adı verilen bir şey üzerine inşa edilmiş ağ protokolleridir. İnternet Protokolü, İnternet'in ana protokolüdür ve örneğin web'e göz atmamızı sağlayan şeydir. Bu yüzden bu protokolleri genellikle TCP/IP veya UDP/IP olarak yazılmış görürsünüz. Aslında internetin temel protokolleridir.

Her iki durumda da verileriniz paket adı verilen parçalara ayrılır. TCP bu paketlerin hedeflerine, doğru sırada ve hatasız olarak ulaşmasını sağlar.

Öte yandan UDP, bir veri paketinin gelmesini bile sağlamaz. Sadece ulaşırsa hatasız olmasını sağlayacaktır.

Genellikle, diğer protokoller TCP ve UDP üzerinde) çalışır ve işletim sistemi içinde değil, bir uygulama içinde çalıştıkları için uygulama protokolleri olarak bilinir. TCP protokolü.

Etki alanı adı aramaları veya DNS sorguları genellikle UDP kullanır, ancak TCP de kullanabilir. Bazı akış hizmetleri UDP'yi başka bir uygulama protokolünün altında kullanır.

Umarım sorunuzu daha basit İngilizce olarak cevaplarsınız.

0
Matt