TCP / UDP “raw ip” e ne ekliyor?


18

Hem TCP hem de UDP'nin IP üzerine inşa edildiğini biliyorum ve TCP ve UDP arasındaki farkları biliyorum, ama tam olarak "raw ip" in ne olduğu konusunda kafam karıştı. TCP ve UDP'nin hem IP uyguladığını, hem de kendi başına IP'nin veri aktaramayacağını söylemek doğru olur mu? Yoksa IP, TCP ve UDP tarafından daha da soyutlanan çok düşük düzeyde bir iletişim biçimi midir?


2
Aşağıdaki yorumlardan bazılarını ilerletmek için (tam bir cevap için yeterli değil, sadece netlik amacıyla): IP, veri ileten bir protokoldür. TCP veya UDP, verileri de taşıyan protokollerdir. TCP ve UDP genellikle IP'nin üstünde bulunur, bu nedenle IP için veri yükü TCP veya UDP olabilir. Ethernet genellikle IP taşımak için kullanılır. Örneğin, bir Ethernet çerçevesi veri yükü olarak IP paketi taşıyabilir ve IP paketi yük olarak bir TCP segmenti taşıyabilir, vb. Böyle bir protokol yığınıyla son bulursunuz goo.gl/1uEYtC
jwbensley

3
IP kesinlikle veri aktarımı yapar - örneğin, bu TCP / UDP paketlerini taşır. Yine de genellikle uygulamada kullanılabilir değildir. UDP, IP'nin üstünde çok ham bir protokoldür, ancak zaten bağlantı noktası numaraları ekleyerek birden çok hizmetin UDP trafiğini bir sistemde aynı anda işlemesine izin verir. Aksi takdirde, yalnızca IP adresleriniz kadar hizmetiniz olur.
Luaan

Yanıtlar:


23

IP, Katman 3 protokolüdür. TCP / UDP, Katman 4 protokolleridir. Her biri farklı amaçlara hizmet eder.

Katman 3, uçtan uca teslimattan sorumludur . Tek işlevi, bir ana bilgisayardan diğerine bir paket almak için bir pakete gerekli olanı eklemektir.

Katman 4, hizmetten hizmete teslimattan sorumludur . Tek işlevi veri akışlarını ayırmaktır. Bilgisayarınızda, her biri kabloya bit gönderen / alan birden fazla program olabilir. IE: Birden fazla tarayıcı sekmesi çalıştırabilir, internet radyosunu aktarabilir, indirebilir, bazı yasal torrentleri çalıştırabilir , sohbet uygulamasını kullanarak vb. ihtiyacı olan benzersiz bir uygulama. İşte bir örnek:

L4 Veri Akışlarını ayırma

IP, doğru hizmete / uygulamaya bir paket teslim edemiyor. TCP / UDP, internetin bir ucundan diğer ucuna bir paket teslim edemez.

Hem TCP hem de IP, her ikisinin de İnternet iletişiminin "nihai hedefine" ulaşmasını sağlamak için birlikte çalışır.

Bir ana bilgisayardan diğerine alınması gereken veriler OSI modelinin üst katmanları tarafından oluşturulur.

Bu veriler, Kaynak ve Hedef Portlu bir TCP üstbilgisi gibi, verileri hizmetten servise iletmek için gerekli bilgileri ekleyen L4'e aktarılır. Veri ve L4 başlığına artık bir segment adı verilir.

Daha sonra Segment, Kaynağı Hedef IP adresine sahip bir IP üstbilgisi gibi, segmenti uçtan uca iletmek için gerekli bilgileri ekleyecek olan L3'e geçirilecektir. L3 başlığı ve segment şimdi Paket olarak adlandırılabilir.

Bu işlem Kapsülleme ve Kapsülleme (veya bazen dekapsulasyon) olarak bilinir . İşte nasıl çalıştığına dair bir animasyon:

Encapsulation ve kapsülleme, Practical Networking.net'in izniyle kullanılmıştır.

Bu mantıklı değilse, OSI modeli ve her katmanın Internet'te bir paketi taşımayı başarmak için hepsinin birlikte çalıştığı farklı sorumluluklara sahip olduğunu daha fazla okumayı öneririm .


7
İnternetin sadece OSI modeline gevşek bir şekilde uyduğunu unutmayın.
user253751

2
inside an IP header is usually a TCP or UDP headerTCP / UDP üstbilgisi IP üstbilgisinin içinde değil, IP paketinin veri bölümünün içinde.
Eborbob

"Tek işlevi veri akışlarını ayırmaktır", ancak bu çoğunlukla UDP için de geçerlidir (bir sağlama toplamı da vardır ancak meh) TCP için kesinlikle doğru değildir.
Peter Green

1
@immibis Doğru, ancak henüz OSI modelini takip etmenin nerede bir boşluk uygulamasına veya travestiyi anlamasına yol açtığını henüz görmedim. Çoğunlukla ve özellikle yeni İnternet teknolojilerine yaklaşan biri için, OSI modelinin kısıtlamaları boyunca düşünmeye devam etmek daha değerlidir.
Eddie

@Eborbob Cümleye nasıl baktığına bağlı olarak bunun nasıl yanlış olduğunu görebiliyorum. Dürüst olmak gerekirse, bu paragrafın tamamı bir geri dönüş kullanabilir, bu gece daha sonra ona ulaşmaya çalışacağım. Gösterdiğiniz için teşekkürler.
Eddie

6

IP veriyi iyi iletebilir, sorun bu veri diğer uca geldiğinde olan şeydir. Tek tanımlama bilgisi, ana bilgisayarların IP adresleri ve bir protokol numarasıdır. Her ikisi de verilerin hangi soket için olduğunu ayırt etmek için herhangi bir yol sunmaz.

Programların IP'yi doğrudan "ham soketler" olarak bilinen şeyle kullanması mümkündür, ancak güvenlik ve performans endişelerini arttırmak için hangi soketin veri göndereceğine karar vermek için uygun bir mekanizmanın olmaması (çekirdek tüm ham soketlere veri göndermelidir) belirli bir protokol numarası için). Bu nedenle "ham prizler" açma yeteneği genellikle kök (veya platformunuzun eşdeğeri) ile sınırlıdır.

UDP, IP üzerinden oldukça minimal bir katmandır. Verinin hangi sokete ait olduğunu belirlemek için bağlantı noktası numaraları ve bir sağlama toplamı (bozuk paketleri reddetmek için) ekler. Uygulama, kayıp paketlerle uğraşmak, tıkanıklığı kontrol etmek ve verileri uygun boyutlu paketlere bölmekten sorumludur.

TCP, bağlantı noktası numaraları ve sağlama toplamları sağlamanın yanı sıra bayt akışlarını paketlere ayırmanın yanı sıra, hedeflerine yeniden bir araya getiren ve tıkanıklık denetimi ve kurtarma özellikleri sağlayan daha karmaşık bir protokoldür.


4

IP bir OSI katman-3 protokolüdür, TCP ve UDP ise OSI katman-4 protokolleridir. Bir katman-3 protokolü olarak IP, birçok farklı katman-4 protokolü taşıyabilir. TCP ve UDP muhtemelen en yaygın olanlarıdır, ancak yalnızca bunlar değildir. Katman-4 protokolleri, uygulamaların uçtan uca bağlantıları olarak kullandığı yöntemdir. IP, katman-4 protokollerini ağdan ağa (ana bilgisayardan ana bilgisayara) aktarır. Ethernet gibi Katman-2 protokolleri, LAN üzerindeki katman-3 protokollerini aktarır.

OSI modelini araştırmalısınız, ancak bunun kavramsal bir model olduğunu ve gerçek dünyanın genellikle tam olarak eşleşmediğini fark etmelisiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.