İnternet iletişim kuralları dizisi

Önceki Araştırmalar

İnternet protokol takımı 1960'ların sonunda İleri Araştırma Projeleri Savunma Ajansı (Defense Advanced Research Projects Agency - DARPA) tarafından yapılan araştırma ve geliştirme sonucu ortaya çıkmıştır. 1969 yılında öncü olarak başlatılan ARPANET sonrasında DARPA diğer veri iletim teknolojileri ile ilgili bir dizi çalışma başlattı. Uydu paket ağları (satellite packet networks) ve karasal radyo paket ağları (radio packet networks) üzerine çalışan ve bu iki farklı ağ arasında iletişim kurabilmenin değerininin farkına varmış olan Robert E. Kahn 1972 yılında DARPA Bilgi İşleme Tekik Ofisi’ne katıldı. 1973 baharında, mevcut ARPANET Ağı Kontrol Programı (NCP) protokolünün geliştiricisi olan Vint Cerf, yeni nesil ARPANET protokolleri tasarımı amacıyla, açık mimari arabağlantı modelleri üzerinde çalışmak için Robert E. Kahn ile birlikte çalışmaya başladı.
1973 yazında Kahn ve Cerf ağlar arası iletişim protokollerinde yeni temel bir formül geliştirdiler. Bu yeni formülde iletişimin güvenilirliğinin (reliability) sorumluluğu ARPANET'tekinin aksine olarak, ağa değil de uçlara (host) veriliyordu. Cerf, CYCLADES ağının tasarımcıları olan Hubert Zimmermann ve Louis Pouzin'i bu yeni tasarımlarına yapmış oldukları katkılardan dolayı takdir etmiştir. Kahn ve Cerf'in yapmış oldukları bu tasarım Transmission Control Protocol adıyla kodlanmış ve 1974 yılında yayınlanmıştır.
Bu ağın tasarımının temelinde şu kabul vardı: Ağ, sadece uçlar (node) arasındaki trafiğin verimli bir şekilde iletilmesi ve yönlendirilmesini sağlamaktan sorumluydu. Bunun haricindeki diğer tüm bilgiler uçlarda (node) bulunacaktı. Bu tasarım "uçtan uca prensibi (end-to-end principle)" olarak bilinir. Bu tasarım ile ARPANET'e herhangi bir ağın bağlanması mümkün olabilecekti. ARPANET'e bağlanacak olan bir ağın, sadece kendisine has özelliklerinin bulunması bile ARPANET'e bağlanabilmesine engel olmayacaktı. Böylece Kahn'ın en başta karşılaşmış olduğu problem de çözülmüş oluyordu. Cerf ve Kahn'ın nihai ürünü olan TCP/IP böylece adeta "iki teneke kutu ve bir ip" ile çalışabilecek duruma gelmişti. Yıllar sonra -şaka yollu gibi gözükse de- "IP üzerinden güvercin haberleşmesi" kavramının protokol tanımlamaları D. Waitzman tarafından yapılmış ve RFC 1449 adıyla 1 Nisan 1990 yılında resmi olarak yayınlanmıştır.

Tanımlama

Vint Cerf'in Stanford'daki ağ araştırma grubu, 1973’ten 1974’e kadar TCP’in ilk tanımlamarının yapılması üzerine çalıştı. TCP'nin bu ilk tanımlamaları, o tarihlerde yaygın olarak kullanılan ve Xerox PARC tarafından geliştirilmiş olan PARC Universal Suite ağ çalışmalarından teknik olarak önemli ölçüde etkilenmiştir.
DARPA, sonrasında TCP'nin, farklı donanımlar üzerinde çalışabilecek sürümlerinin geliştirilmesi amacıyla;  BBN, Stanford Üniversitesi ve University College London ile anlaştı. Bu çalışmalar sonrasında dört adet TCP versiyonu üretilmiştir: TCP v1, TCP v2, TCP v3 ve IP v3 ve TCP/IP v4. Son versiyon bugün hala kullanılmaktadır.
1975 yılında, Stanford Üniversitesi ve University College London tarafından iki ağdan oluşan bir TCP/IP haberleşme testi gerçekleştirilmiştir. 1977 yılının Kasım ayında ise; ABD, Birleşik Krallık ve Norveç'teki birimler arasında üç ağdan oluşan bir TCP/IP haberleşme testi yapılmıştır.
1978 ve 1983 yılları arasında birçok araştırma merkezinde bazı farklı TCP/IP prototipleri de geliştirilmiştir.
ARPANET’in TCP/IP’ye geçişi; 1 Ocak 1983 tarihinde, bir bayrak gününde tamamlanmıştır. Bu tarihten sonra ARPANET'te yeni protokoller kalıcı bir şekilde kullanılmaya başlanmıştır.

Yaygınlaşma

1982 yılının Mart ayında ABD Savunma Bakanlığı, TCP/IP‘yi tüm askeri bilgisayar ağları için standart olarak kabul ettiğini açıkladı.
1985 yılında, Dan Lynch Internet Danışma Kurulu (sonraki ismiyle Internet Mimarisi Kurulu), bilişim sektöründe TCP/IP'yi teşvik etmek ve ticari kullanımını artırmak amacıyla, 250 üretici firma temsilcisinin katıldığı, üç günlük bir atölye çalışması düzenledi.
TCP/IP'nin yaygın bir şekilde kullanılması üzerine 1985 yılında düzenlenen ilk Interop konferansı, bilgisayar ağlarında birlikte çalışabilme üzerinde yoğunlaştı. Dan Lynch 1988 yılında, ürünlerinde TCP/IP'yi destekleyen üreticilerle, San Jose (ABD) şehrinde ilk ticari Interop konferansını düzenledi. TCP/IP'nin nasıl çalıştığını ya da hangi şartlarda çalışamadığını görmek amacıyla, bu organizasyona 50 firma ve 5,000 ağ uzmanı katıldı.
SNA, XNS ve DECNET gibi kendilerine özel iletişim protokollerine sahip olmalarına rağmen; IBM, AT&T ve Digital Equipment Corporation gibi başlıca büyük firmalar, ürünlerinde TCP/IP'yi kullanmaya başladılar. 1984’ten sonra IBM’de Barry Appelman’ın grubu TCP/IP’yi geliştirdi. (Appelman sonra tüm kalkınma çabalarının başkanı olmak için AOL’a taşındı.) Bunlar çalışmalarına devam ederek MVS, VM ve OS / 2 dahil olmak üzere çeşitli IBM sistemlerinin, TCP / IP ürünlerinin akışı elde etmek için bir bağ kurdular. Aynı zamanda, FTP Yazılım ve Wollongong Grup gibi birkaç küçük şirket, DOS ve MS Windows için TCP / IP kümeleri sunmaya başladı. İlk VM / CMS TCP / IP kümesiWisconsin Üniversitesi'nden geldi.
O zamanlarda  bu TCP/IP yığınlarının çoğu, birkaç yetenekli programcı tarafından yazılmıştır. Örneğin, FTP Yazılımcısı olan John Romkey MIT PC / IP paketinin yazarıdır. John Romkey’nin PC / IP uygulaması ilk IBM PC TCP / IP yığını olmuştur. Jay Elinsky ve IBM Araştırmacısı Oleg Vishnepolsky TCP / IP VM / CMS ve sırasıyla OS / 2 için kümeler yazmıştır.
TCP / IP yayılması, AT & T’nin kamusal alana UNIX için geliştirilen bir TCP / IP kodunu yerleştirmek için anlaştığı zaman olan haziran 1989 yılında daha da hızlandı. IBM dahil olmak üzere çeşitli sunucular, bu kodu kendi TCP / IP kümelerinin içerisine dahil etti. Birçok şirket Microsoft Windows 95 yerli TCP / IP kümesi yayınlayana kadar Windows için TCP / IP kümelerini sattı. Bu süreç internetin evrimine kadar biraz geç kalsa da diğer internet iletişim kurallarının yok olduğu gibi TCP/IP’nin sunuculuğuna eklenmiştir. Bu protokoller aynı zamanda IBM Systems Ağ Mimarisi (SNA), Açık Sistem Arabağlantı (OSI), Microsoft'un yerli NetBIOS ve Xerox Ağ Sistemleri’ni de içermektedir.(XNS)

Temel Mimari Prensipler / Key Architectural Principles

İlk mimari belge olan RFC 1122, katman üzerinde mimari ilkeleri vurgular. End to End Principle; Bu prensip zamanla gelişmiştir. Orijinal açıklaması durumun devamlılığını sağlamak ve köşelerde bulunan bilginin bir uçtan bir uca transferii sağlamak, buna ek olarak internetin kenarlara hızını ve basitliğini etkilemeyecek bir şekilde bağlı olduğunu kabul etmektir. Dünya’nın bu prensipte güvenlik duvarları, ağ adresi çevirmenleri, web içeriği önbelleklerini ve benzeri zorunlu değişikliklerden dolayı ihtiyacı vardır.
Dayanıklılık Prensibi; “Genel anlamda bir uygulama göndericisine göre korunumlu ve alıcı tarafından özgür olmak zorundadır. Yani iyi biçimlenmiş datagram göndermek için dikkatli olmak gerekir, ama aynı zamanda yorumlayabileceği herhangi bir datagram kabul etmelidir. (teknik hatalardan dolayı açıklaması hala net değildir.) Ilkenin ikinci kısmı diğerleri kadar önemlidir: Diğer bilgisayarlar üzerindeki yazılım akılsızca yasal ama karanlık protokol özelliklerini istismar edebilecek eksiklikleri içerebilir.”

Soyutlama Katmanları / Abstraction Layers

İnternet protokol takımı protokolleri ve hizmetlerin soyutlama sağlamak için kapsülleme kullanır. Encapsulation genellikle genel işlevsellik katmanlarına, protokol paketinin bölümü ile uyumludur. Genel olarak, bir uygulama (modelin en üst düzeyi) her seviyede daha fazla kapsülleme olmak, katmanlar aşağı veri göndermek için bir protokol kümesi kullanır.
Protokol paketinin katmanları, alt kısımdaki katmanların veri transferine yakın olmasına rağmen, kullanıcı uygulamasına mantıksal olarak yakındır. Katmanları hizmeti sağlayan veya tüketen olarak görmek soyutlama yöntemi üzerinde bit iletilmesi ve ayrıntıları üst katman protokolleri ile izole etmektir. Örneğin Ethener ve çarpışma algılaması, alt tabakaların her ayrıntılarını ve her uygulama ve protokol bilmek zorunda olmasından kaçınmasıdır.
Katmanlar, çeşitli mimari belgeler incelendiğinde bile -ISO 7498, Açık Sistemler Bağlantısı (OSI) modu gibi tek mimari model var- OSI modelinin daha az veya daha az katı olarak tanımlanan katmanları ve bu nedenle dünya protokolleri için daha kolay bir uyum sağlar. Sık başvurulan başka bir belge ise, RFC 1958, tabakalar yığınını içermemesidir. Tabakaların vurgu eksikliği IETF ve OSI yaklaşımlar arasındaki önemli bir farkdır. Sadece bu üst tabakalar, genel olarak iletişim tabakasının varlığını ifade eder; Aslında bu belge 1996 yılının anlık mimarisi olarak düşünülmüştü. “İnternet ve mimarisi oldukça görkemli bir plandan ve daha mütevazı başlangıçtan evrimsel biçimde büyüdü. Evrim bu sürecin teknolojisinin başarısı için ana nedenlerinden biri iken yine de internet mimarisinin mevcut ilkelerin bir anlık kaydetmek için yararlı olacaktır.”
RFC 1122, Sunucu Gereksinimleri başlıklı, katmanlara atıfta olacak şekilde paragraflarda yapılandırılmıştır, ancak belge vurgulayan katmanlardan ziyade diğer pek çok mimari ilkelere hitap eder. Bahsi geçen RFC 1122 aşağıdaki gibi gevşek, katmanların sayılarını değil,  isimlerini, dört katmanlı bir model olarak tanımlar:
Uygulama katmanı uygulamaları kullanıcı verilerini oluşturmak ve başka diğer uygulamalar veya aynı ana bilgisayara bu verileri ileten bir katmandır. Uygulamalar veya işlemler, temel, alt tabakalar tarafından sağlanan hizmetlerin özellikle diğer işlemlere güvenilir veya güvenilmez komutları sağlayan taşıma katmanının kullanımını gerçekleştirir. Iletişim ortakları, istemci-sunucu modeli ve peer-to-peer network olarak, uygulama mimarisi ile karakterize edilebilir. Bu tür SMTP, FTP, SSH, HTTP gibi tüm yüksek seviyeli protokoller, faaliyet gösterdikleri tabakadır. Süreçler esas hizmeti temsil eden portlar üzerinden ele alınmaktadır.
Taşıma Katmanı ya aynı ya da farklı bilgisayarlar ve yerel ağ veya yönlendirici bulunan uzak ağlar ya da üzerinde host-to-host iletişimi gerçekleştirir Bu katman uygulamaların iletişim ihtiyaçları için bir kanal sağlar. UDP güvenilmez bir datagram hizmeti veren, basit bir temel taşıma katmanı protokolüdür. İletim Kontrol Protokolü akış kontrolü, bağlantı kurulması ve verilerin güvenilir biçimde iletilmesini sağlar.
Internet katmanı’nın ağ sınırları boyunca datagramları alışverişi görevi vardır. Bu temel ağ bağlantılarının gerçek topolojisini (düzenini) gizleyen bir üniforma ağ arabirimi sağlar. Bu nedenle, aynı zamanda internetworking'i kuran tabaka olarak adlandırılır. Aslında gerçekten de interneti kurar ve tanımlar. Bu katman, TCP / IP protokol takımı için kullanılan adresleme ve yönlendirme yapıları tanımlar. Bu kapsamda, öncelikli olan protokol IP adreslerini tanımlayan Internet Protokolü vardır. Bu protokolün amacı verileri final bağlantısına yönlendiren bir ağa sahip olan bir sonraki IP dağıtıcısına ulaştırmaktır.
Link katmanı iletişimin yerel ağ ağlantısı kapsamında ana yönlendiricilerin müdahale olmadığı ağ yöntemlerini tanımlar. Bu katman, yerel ağ topolojisini tanımlamak için kullanılan protokol ve sonraki komşu hosts internet tabakası datagramlarının iletimini gerçekleştirmek için gerekli arabirimler içerir.
İnternet İletişim kuralı ve katmanlı iletişim kuralları tasarımı OSI modeli kurulmadan önce kullanımdaydı. Bu süreçten beri TCP / IP modeli kitap ve dersliklerde, sonuç olarak karışıklık ile sonuçlanan OSI modeli ile karşılaştırılmıştır. Çünkü iki model de sıkı katman göreceli önemi de dahil olmak üzere farklı varsayımları ve amaçları kullanmaktaydı.
Bu soyutlama aynı zamanda alt tabakaların sağlayamadığı fakat üst katmanların sağladığı hizmetin sağlanmasına olanak tanır. Orijinal OSI modeli bağlantısız hizmetleri (OSI RM CL) kapsayacak şekilde genişletilmişken, IP güvenilir olarak tasarlanmamış fakat yine de en iyi veri teslimi için çaba gösteren bir protokoldür. Bu, tüm ulaşım katmanı uygulamalarının güvenirlik sağlayıp sağlayamayacağı yahut nasıl sağlayacağı konusunda seçim yapılması gerektiğini belirtir. UDP, sağlama yoluyla veri bütünlüğünü sağlar, ancak teslimini garanti etmez; bunun yanında TCP, alıcı paket alımını kabul edene kadar retransmitting üzerinde veri bütünlüğü ve dağıtım garantisini sağlar.
Bu model OSI modeli ve ilgili belgelerin formalizminden yoksundur ancak IETF bir model kullanmaz ve David D.Clark’ın bir yorumunda özetlediği gibi bunu bir sınırlama olarak da algılamaz” Bizler; kralları, başkanları ve oylamayı reddediyoruz. İnandığımız şey kabaca uzlaşma ve kod çalıştırmadır.” OSI modeline göre yapılan bu modelin eleştirisi, bu modele göre ISO’nun sonraki geliştirmelerini hesaba katmamıştır.
Adresleme sistemlerinin kendi multiaccess bağlantıları için (örneğin Ethernet) bir adres eşleme protokolü gereklidir. Bu protokoller IP’nin altında, ancak mevcut bağlantı sistemi üzerinde olarak kabul edilebilir. IETF teminolojiyi kullanmaz iken, bu durum ağ katmanı (IONL) iç organizasyonu olan OSI modeli bir uzantısına göre bir alt ağ bağımlı yakınsama kolaylığıdır.
ICMP & IGMP IP üstünde çalışır ancak UDP veya TCP gibi veri transferi gerçekleştirmez. Yine de, bu işlevselliği kendi Yönetim Çerçevesinde (OSIRM MF)[, OSI modeli katman yönetimi uzantıları olarak var eder.
SSL/TLS Kütüphanesi ise yukarıda belirtilen ve TCP kullanan taşıyıcı katmanlarını aşağıda belirtilen uygulama protokolleri kapsamında kullanır. Yine, OSI mimarisine uymak için, bu protokollerin tasarımlarının parçalarının hiçbir amacı yoktur.
Bağlantıya karşı kara kutuya benzer bir davranış sergilenir. IETF açık bir şekilde, OSI modeline nazaran daha az akademik fakat pratik bir alternatif olan iletim sistemlerini tartışmak niyetinde değildir.

Uygulama Katmanı / Application Layer

Uygulama Katmanı, bünyesinde ağ yönlendirici protokolleri ve sunucu düzenleme protokolleri gibi basit ağ destekli servisleri içeren fakat düşük seviyedeki katmanlar tarafından kurulan ağ bağlantıları üzerindeki uygulama verilerinin değişimini yahut kullanıcılara servis sağlayan protokoller içerir. Uygulama katmanı protokolleri örnekleri Hypertext Transfer Protocol [Köprü Metni Aktarım Protokolü] (HTTP), the File Transfer Protocol [Dosya Transferi Protokolü] (FTP), the Simple Mail Transfer Protocol [Basit Mail Transfer Protokolü] (SMTP) ve the Dynamic Host Configuration Protocol [Aktif Sunucu Düzenleme Protokolü] (DHCP)’dür. Veri, protokol birimler halinde kapsüllü bir biçimde uygulama katmanı protokollerine göre taşıma katmanı yani gerçek veri transferi gerçekleştirilmesi için alt katman protokolleri halinde kodlanmıştır.
IP modeli biçimlendirme ve veri sunma özelliklerini dikkate almaz ve OSI modeli (Sunum ve sezon katmanları) gibi uygulama ve ulaşım katmanları arasında ilave katmanları tanımlamaz. Bu tür işlevler ise kütüphane bölümleri ve uygulama programları arayüzleridir.
Uygulama Katmanı protokolleri taşıyıcı katmana veya daha altındaki katmanlara, taşıyıcı katmanların özelliklerinden olan çıkmaz IP adresleri ve port numaraları gibi uygulamalara rağmen iletişim kurmaya yarayan ağ bağlatıları sağlayan siyah kutulara davrandığı gibi davranır. Uygulama katman protokolleri genel olarak sunucu server uygulamaları ile bağdaştırılır ve Internet Assigned Numbers Authority (IANA) tarafından rezerve edilmiş iyi bilinen port numaraları gibi servis görür. Örneğin; the HyperText Transfer Protokolü 80 numaralı portu ve Telnet ise 23 numaralı portu kullanır. Bir servise bağlanmaya müşteriler ise genellikle bağlantı noktası numaralarının rastgele veya uygulama yapılandırılmış belirli bir mesafeden işlem süresince atanan kısa ömürlü bağlantı noktalarını kullanır. 
Taşıma katmanı ve alt düzey katmanları uygulama katmanı protokolleri özellikleri ile ilgisizdir. Yönlendiriciler ve anahtarlar genellikle kapsüllü trafiği incelemek yerine sadece bir kanal sağlarlar. Yine de, bazı güvenlik duvarı ve bant genişliği daraltma uygulamaları, uygulama verilerini yorumlamak zorundadır. Bunun bir örneği Kaynak Rezervasyon Protokolüdür (RSVP). Bu uygulama yükü, ayrıca ağ adresi çeviricisi (NAT) geçişi için bazen gereklidir.
TCP/IP modelindeki uygulama katmanı, Open System Interconnection (OSI) modelinin beşinci (oturum), altıncı (sunum), ve yedinci (uygulama) katmanlarını kapsamaktadır.
Ayrıca, TCP/IP referans modeli kullanıcı protokolleri ve destek protokolleri arasında çeşitlere ayrılır. Destek protokolleri sisteme servis sağlar. Kullanıcı protokolleri ise kullanıcı uygulamaları için kullanılır. Örneğin, FTP bir kullanıcı protokolü ve DNS ise sistem protokolüdür.

Taşıma Katmanı / Transport Layer

Taşıma katmanı uygulama görevinin özel veri alışverişini kullanan bir temel veri kanalı kurar. Katman kullanıcı verisinin yapısından bağımsız olarak end-to-end servisinin sağlandığı ve herhangi belirli bir amaç için bilgi alışverişinin gerçekleştiği process-to-process bağlantısı kurar. Sorumluluğu kapsamında bağımsız temel ağın end-to-end mesaj transferini, hata kontrolünü, segmentasyonu, akış kontrolünü, tıkanma kontrolünü ve port numaraları ile birlikte uygulama adreslemesini içerir. Uçtan uca aktarım katmanındaki mesaj iletimi veya bağlantı uygulamaları bütün bunları ya TCP’de uygulanan bağlantı yönelimi ya da UDP’de uygulanan bağlantısız yönelimi olarak kategorize edebilir.
Uygulamalar için process-specific iletim kanallarını sağlamak amacıyla, katman port kavramını ortaya çıkarmıştır. Bu, bir uygulamanın ihtiyacı olan iletişim kanallarının her biri için özel olarak tahsis edilen numaralı bir mantıksal yapıdır.
TCP güvenilir bir veri akışı sağlayan güvenilirlik sorunlarını gideren bir bağlantı tabanlı (connection oriented) protokoldür:
·       Veri bir düzen içerisinde ulaşır
·       Veride minimum düzeyde hata vardır (Örneğin; hata düzeltme)
·       Kopya veri atılmıştır
·       Kayıp veya atılan paketler yok edilmiştir.
·       Trafik sıkışıklığı kontrolü içerir
Yeni olan Bağlantı Transferi Kontrol Protokolü de (SCTP: Stream Control Transmission Protocol) aynı zamanda güvenilir, bağlantı yönelimli taşıma mekanizmasıdır. Bu protokol mesaj bağlantı odaklı – TCP gibi bit bağlantı odaklı değil- ve  tek bir bağlantı üzerinden çoklu bağlantılar sağlayabilir. Aynı zamanda bir bağlantının kopması durumunda diğer bağlantının  otomatik olarak devreye girdiği çoklu IP’nin başlangıcı ile son bulan farklı bir bağlantı olan multi-homing desteği de sağlar. Bu, ilk başta telefon uygulamaları için geliştirilsede (IP üzerinden SS7’i transfer etmek için), farklı uygulamalar tarafından da kullanılabilmiştir.
UDP (Kullanıcı Datagram Protokolü) bir bağlantı tabanlı olmayan (connectionless) bir protokolüdür. IP gibi, en iyi bir çabası, "güvenilmez" bir protokoldür. Güvenilirlik, zayıf sağlama algoritması kullanılarak hata tespiti yoluyla ele alınmaktadır. UDP tipik olarak akış ortamı gibi güvenilirlikten ziyade zamanında ulaşımın önemli olduğu ya da basit bir sorgu / DNS aramaları gibi güvenilir bağlantı kurma yükünün orantısızca fazla olduğu uygulamalar için kullanılır. (ses, video, vb.)  Real-time Transport Protocol (RTP) ise bu tür akışı ses ve video gibi gerçek zamanlı veriler için tasarlanmış bir datagram protokolüdür.
Herhangi bir ağ adresindeki uygulamalar kendi TCP veya UDP bağlantı noktası ile ayırt edilir. Geleneksel olarak belli bir şekilde tanınmış portlar özel uygulamalar ile ilişkilidir.
TCP/IP modelinin ulaşım ya da host-to-host katmanı OSI modelindeki dördüncü katmana karşılık gelmektedir.

İnternet Katmanı

İnternet katmanının,  potansiyel çoklu ağlar üzerinden paketleri gönderme sorumluluğu vardır. Internetworking hedef ağa kaynak ağdan veri göndermeyi gerektirir. Bu süreç yönlendirme işlemi olarak tanımlanır. Internet Protokolü iki temel işlevleri gerçekleştirir:
Host addressing and identification: Bu süreç hiyerarşik bir IP adresleme sistemi ile gerçekleştirilir
Paket Yönlendirme: Bu süreç veri paketlerinin kaynak üzerinden hedefe en yakın ağ yönlendiricisi üzerinden ulaştırılmasıdır.
İnternet katmanı sadece taşıma katmanında agnostik veri yapıları değil, bunun yanı sıra çeşitli ulaşım katmanı protokollerinin operasyonu arasında ayırım yapmaz. IP, farklı üst katman protokolleri için çeşitli veri taşır. Bu protokollerin her biri bünyesindeki benzersiz protokol sayısına göre tespit edilir. Örneğin; Internet Denetim İletisi Protokolü (ICMP) ve Internet Grup Yönetimi Protokolü (IGMP) sırasıyla 1 ve 2 numaralı iletişim kurallarıdır.
IP üzerinden taşınan bu protokollerin bazıları Tanı bilgilerini aktarmak için kullanılan ICMP gibi veya IP Multicast verileri yönetmek için kullanılan IGMP’dir. Bu, internet TCP / IP yığını ve OSI modelinin mimarisinde farklılıkları göstermektedir. TCP / IP modeli internet katmanı ağ katmanına hitap eden Açık Sistemler Bağlantısı (OSI)’nın üç katmanına tekabül eder.
Internet Katmanı potensiyel olarak aldığı verileri hedefine ulaştırmak üzere en yakınındaki yönlendiriciye gönderen ve  farklı IP’ler üzerinde yer alan sunucular arasında sadece güvenilmez bir datagram iletim tesisi sağlar. Bu işlevsellik ile internet katmanı temel olarak internet üzerine kurulu internetworking’i, farklı IP’ler üzerindeki internetworking’i mümkün kılar. Internet Protokolü İnternet katmanın başlıca bileşenidir ve ağ sunucuları bilgisayarlarını tanımlamak için iki adresleme sistemleri tanımlar ve onların ağ üzerindeki yerini belirler.  ARPANET’in orijinal adresleme sistemi ve onların arkasından gelenler ise; internet üzerindeki internet iletişim kuralları versiyon 4 (IPv4)’tür. 32 bit IP adresi kullandığından dolayı yaklaşık 4 milyar sunucuyu tanımlama kapasitesindedir. Bu sınırlama, 1998’te yayınlanan Internet Protokolü 6. sürüm standardizasyonu dahilinde elimine edildi ve 2006 yılında üretim çalışmaları başladı.

Veri Bağlantı Katmanı / Link Layer

Bağlantı katmanın, sunucunun bağlı olduğu yerel ağ bağlantısına ait bir ağ kapsamı vardır. Bu kapsama literatürde, TCP / IP bağlantısı denir. TCP / IP donanım bağımsız olacak şekilde tasarlandığından dolayı bu bağlantı internet protokolleri arasındaki en yavaş bağlantı olarak tanımlanır. Sonuç olarak TCP / IP hemen hemen herhangi bir donanım ağ teknolojisi ile birlikte uygulanabilir.
Bağlantı katmanı aynı linke iki farklı türdeki internet katman ara yüzleri arasındaki paketleri taşımak için kullanılır. Belirli bir bağlantıyı paketleri gönderme ve alma işlemleri hem ağ kartı için yazılım aygıt sürücüsünde hem de software veya özel yonga setinde kontrol edilebilir. Bunlar iletim için hazırlamak için bir paket başlığını ekleme sonrasında çerçeveyi fiziksel bir ortam üzerinde iletmek gibi veri bağlantısını çalıştırır. TCP/IP modeli,  İnternet iletişim kuralları kapsamındaki Media Access Control (MAC) gibi veri yönlendirme ağları içeren özellikler içermektedir. Bu düzeyin altındaki tüm diğer yönleri ise, örtülü bağlantı katmanı var varsayılır, fakat açıkça tanımlanmamıştır.
Bu da paketlerin bir sanal özel ağ ya da diğer ağ tüneli üzerinden gönderilmek üzere seçilebilir tabakadır. Bu senaryoda, bağlantı katmanı veri başka bir IP bağlantısı üzerinden iletimi ya da alımı için IP yığını başka örneğinin erişir uygulama verileri kabul edilebilir. Böyle bir bağlantı veya sanal bağlantı, protokol kümesinin bağlantı katmanında bir tünel olarak hizmet veren bir taşıma protokolü ya da bir uygulama kapsamı protokolü ile kurulabilir. Böylece, TCP / IP modeli sıkı bir hiyerarşik kapsülleme dizisi dikte etmez.
TCP/IP modelinin bağlantı katmanı fiziksel ve veri bağlantı katmanları olan Açık Sistemler- Interconnection (OSI) modeli, katmanlar tek ve OSI modeline tekabül etmektedir.

TCP/IP ve OSI Modellerinin Karşılaştırılması

OSI modelindeki en üst katman olan; uygulama katmanı, sunucu katmanı ve oturum katmanı, taşıcıyı katmanı üzerinde sadece uygulama katmanı bulunan TCP/IP gibi ayrı ayrı çeşitlenmez. OSI uygulama protokollerini birbirine bağlayan X.400 gibi, TCP/IP’de, taşıyıcı katmanı üzerinde kurulu monolitik mimariyi impoze etmeyi gerektirecek bir zorunluluk yoktur. Örneğin, NFS uygulama protokolleri Remote Procedure Call (RPC) gibi bir protokol çalıştıran External Data Representation (XDR) sunucu protokolleri üzerinde çalışır. RPC güvenilir kayıt iletimini sağlar ve en iyi eforu verecek UDP taşıyıcısını güvenlice kullanabilir.
Değişik yazarlar TCP/IP’yi farklı bir şekilde yorumlamıştır ve bağlantı katmanının yahut tüm TCP/IP modelinin OSI 1. Katmanını kapsayıp kapsamadığının yahut donanım katmanının bağlantı katmanı altında farzedilip edilmediği konusunda anlaşamamışlardır.
Birkaç yazar, OSI modelinin katmanlarının bir yahut ikisini modern standartlara atfettiğinden dolayı  TCP/IP modelinde birleştirmeye çalışmıştır. (Örneğin; IEEE ve ITU). Bu da ağlardan birinin OSI Modeli’nin katmanlarından birinci ve ikinciye bağlı beş katmanlı bir modelin ortaya çıkması ile sonuçlanmıştır.
Bazı protokolleri, OSI’nin katman numaralarını kullansa ve RFC bazen buna atfetse bile, OSI modele uyum sağlayamayabilir. IETF defalarca Internet protokolü ve mimari gelişimini değil OSI ile uyumlu olmasını amaçladığını ifade etmiştir. RFC 3439 Internet mimarisini şu şekilde başlıklı bir bölüm içerir. “Zararlı olarak değerlendirildiğinde Katmanlama”
Örneğin, OSI paketinin oturumu ve sunum katmanları, TCP/IP paketinin uygulama katmanına dahil olarak kabul edilirler.  Bu oturumun katman işlevselliği HTTP ve SMTP gibi protokollerde bulunabilir ve Telnet ve Oturum Başlatma Protokolü (SIP) gibi protokollerden daha belirgindir. Oturum katmanı işlevselliği TCP ve UDP protokolleri, TCP/IP modelinin taşıyıcı katmanını kaplayan port numaralandırma ile gerçekleştirilmektedir. TCP/IP uygulamalarındaki Sunum katmanı fonksiyonları MIME standartındaki veri alışverişi ile gerçekleştirilmektedir.
Orijinal OSI modelinde ISO 7498/4 Management Framework yahut ISO 8648 Internal Organization of the Network layer (IONL) gibi ekler bu model için göz önüne alınmadığonda özellikle ISO7498’de çatışmalar daha belirgindir. IONL ve Management Framework belgeleri dikkate alındığında, ICMP ve IGMP, ağ katmanı için katman yönetimi protokolleri olarak tanımlanırlar. Benzer şekilde, ARP ve RARP gibi IONL ekleri  "alt ağ bağımlı yakınsama imkanları" için bir yapı sunmaktadır.
Generic Routing Encapsulation (GRE) gibi tünel protokolleri tarafından gösterildiği için IETF protokolleri ardışık bir şekilde sarmalanabilir. GRE,  OSI’nin ağ katmanında tünel için kullandığı aynı mekanizmayı kullanır.

Uygulamalar / Implementations

İnternet iletişim kuralları herhangi bir donanım veya yazılım ortamı varsaymaz. Sadece bilgisayar ağı üzerinde gönderme ve alma kapasitesine sahip olan donanım ve yazılım katmanlarına gerek duymaktadır. En küçük TCP/IP uygulamaları şunları içermektedir: Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), ve IGMP. IP ye ek olarak ICMP, CP, UDP, Internet Protocol versiyon 6 Neighbour Discovery Protocol (NDP), ICMPv6 ve IGMPv’ ye ihtiyaç duyar ve genellikle entegre edilmiş IPSec koruma katmanı tarafından eşlik edilir.
Alt katmanlar yönetici sistemindeki sıkışmış TCP/IP tarafından desteklenirken, uygulama programcıları genellikle taşıma katmanında yalnızca uygulama katmanında arayüzleri ile ilgilidir. IP’lerin çoğu soketler ve API gibi programlar sayesinde ulaşılabilirdir.
Benzersiz uygulamalar, gömülü sistemler için tasarlanmış açık kaynak yığını olan Lightweight TCP/IP ve amatör paket radyo sistemleri ve seri hatlar üzerinden bağlanan kişisel bilgisayarlar ile ilgili protokollere sahip olan KA9Q NOS içerir.
Ağ adaptöründeki mikro kontrolcü işletim sistemindeki sürücü yazılım tarafından desteklenerek yazılım üzerinde tipik olarak bağlantı sorunları ile ilgilenir. Programlanamaz analog ve dijital elektronikler tipik olarak her bir ağ arayüzü veya fiziksel standart için yongaseti olarak application-specific integrated circuit (ASIC)’i kullanarak, normal olarak bağlantı katmanının altındaki fiziksel parçalardan sorumludur. Yüksek performanslı yönlendiriciler büyük ölçüde bağlantı düzeyi geçişini ortaya koyan ve programlanamayan hızlı dijital elektronik üzerine kuruludur.