İnternet iletişim kuralları dizisi

İnternet iletişim kuralları dizisi

OSI modeli

Katman İletişim kuralları
7. Uygulama katmanı HTTP, DNS, SMTP, FTP, TFTP, UUCP, NNTP, SSL, SSH, IRC, SNMP, SIP, RTP, Telnet, ...
6. Sunum katmanı ISO 8822, ISO 8823, ISO 8824, ITU-T T.73, ITU-T X.409, ...
5. Oturum katmanı NFS, SMB, ISO 8326, ISO 8327, ITU-T T.6299, ...
4. Ulaşım katmanı TCP, UDP, SCTP, DCCP, ...
3. Ağ katmanı IP, IPv4, IPv6, ICMP, ARP, IGMP, IPX,...
2. Veri bağlantısı katmanı Ethernet, HDLC, Wi-Fi, Token ring, FDDI, PPP, L2TP...
1. Donanım katmanı ISDN, RS-232, EIA-422, RS-449, EIA-485, ...

İnternet protokol takımı, bilgisayarlar ve cihazları arasında iletişimi sağlamak amacıyla standart olarak kabul edilmiş kurallar dizisidir. Bu kurallar dizisi temel olarak verinin ağ üzerinden ne şekilde paketleneceğini ve iletilen veride hata olup olmadığının nasıl denetleneceğini belirlemektedir.

Ağ kavramının ortaya çıkmasından günümüze kadar geçen sürede farklı amaçlar için birçok protokol geliştirilmiştir. Bu protokoller ilk zamanlar belli bir standarda uygun olarak geliştirilmemiş, genelde bilgisayar donanımlarına bağlı olacak şekilde tasarlanmışlardır. Bu dönemde ağ yapıları donanım üreticileri tarafından kendilerine has bir biçimde geliştirilmekteydi. Bu yapılara örnek olarak IBM'in SNA[1] [2] ve DEC'in DECnet[3] [4] ağları verilebilir. Farklı markalara ait donanımlara özel tanımlanan bu tür protokollerden dolayı farklı donanımlar arası iletişimde bir ortak nokta bulunamamıştır. Bu durum, ağlar arası yazılımların geliştirilmesinde sorun oluşturmuştur. Ortaya çıkan bu sorunun çözümüne yönelik 1984 yılında ISO (International Organization for Standardization - Uluslararası Standartlık Örgütü) tarafından, donanım ve ağ alt yapısından bağımsız olarak geliştirilmiş OSI (Open Systems Interconnection) başvuru modeli ortaya konmuştur.[5] [6]

İnternet iletişim kuralları, internet ve benzeri bilgisayar ağları üzerinde kullanılan iletişim kuralları ve bilgisayar ağ modeli ve kümesidir. Genel olarak TCP/IP olarak bilinir çünkü bunlar; İletim Kontrol Protokolü (TCP) ve Internet Protokolü (IP) olarak bu standartta tanımlanmış internet iletişim kurallarıdır. Bunun yanında bunlar, Amerika Birleşik Devletleri Savunma Bakanlığı’nın bir alt kolu olan DARPA’nın finanse ettiği ağ bağlantısının geliştirilmesi nedeniyle orijinal olarak DoD olarak bilinen internet modeli olarak da tanımlanır.[7]

TCP/IP modeli ve ilgili iletişim kuralları Internet Engineering Task Force (IETF) tarafından yapılmaktadır.

Tarihçe

Ö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ı. 1972 yılında, Robert E. Kahn uydu paket ağları ve yer tabanlı paket telsiz ağları üzerine çalıştığı ve aynı zamanda genel olarak iletişim kurabilmenin değerininin farkına vardığı DARPA Bilgi İşleme Teknolojisi Ofisi’ne katıldı. 1973 baharında, Vinton Cerf, mevcut ARPANET Ağı Kontrol Programı (NCP) protokolünün geliştiricisi olan Kahn’a, ARPANET için bir sonraki nesil protokol tasarımı amacı ile açık mimari arabağlantı modelleri üzerinde çalışmak için katıldı.

1973 yazında, Kahn ve Cerf, ARPANET olarak, ana güvenilirlik için sorumlu olan ağ yerine, ağ protokolleri arasındaki farkları ortak internetwork protokolü kullanarak gizlenmiş olan temel formüle çalıştı. Cerf bu tasarıma olan önemli etkileri ile Hubert Zimmermann ve Louis Pouzin’i, CYCLADES ağının tasarımcısı olarak tanımlar.

Ağın tasarımı, bu ağın sadece bitiş düğümleri ile diğer tüm istihbarat ağlarının kenarında bulunan trafik yönlendirme fonksiyonlarını vermesi gerektiğini içerir. Basit bir örnek vermek gerekirse; Yerel özelliklere bakılmaksızın ARPANET’e neredeyse herhangi bir ağdan bağlanmak mümkün oldu. Bu şekilde Kahn’ın ilk problemi çözülmüş oldu. Bir popüler ifadesi ise TCP / IP, Cerf ve Kahn'ın çalışmalarının nihai ürününün, "İki teneke kutu ve bir dize." üzerinde çalışacak olmasıdır. (Yıllar sonra şaka olarak, Avian Carriers resmi protokol spesifikasyonu üzerinden IP oluşturulmuş ve başarıyla test edilmiştir.)

Bir yönlendirici olarak adlandırılan bir bilgisayar, her ağa bir arayüz ile sağlanır. Bu paketleri aralarında ileriye ve geriye iletir. Başlangıçta bir yönlendirici ağ geçidi olarak adlandırılan bu terim sonraki süreçte ağ geçitlerinin diğer türleri ile karışıklığı önlemek için değiştirildi.

Özellikler

1973’ten 1974’e kadar Cerf’in Stanford’daki ağ araştırma grubu TCP’in ilk özelliklerinin ortaya çıkması ile sonuçlanan fikir üzerine çalıştı. O zamannın önemli bir teknik etkisi ise o zamanda ortaya çok kez çıkan ve PARC Evrensel Paket protokol paketi üreten Xerox PARC’taki ilk ağ çalışmalarıydı.

DARPA sonra farklı donanım platformları üzerinde protokolün operasyonel sürümlerini geliştirmek için BBN Technologies, Stanford Üniversitesi ve University College London ile sözleşti. Sonrasında ise dört sürüm geliştirilmiştir: TCP v1, v2 TCP, TCP v3 ve IP v3 ve TCP / IP v4. Son protokol bugün hala kullanımdadır.

1975 yılında, TCP / IP haberleşme testi için iki ağ Stanford ve University College London (UCL) arasında yapıldı. Kasım, 1977 yılında ise üç ağ TCP / IP testi ABD, İngiltere ve Norveç'te siteler arasında gerçekleştirilmiştir. Diğer birkaç TCP / IP prototipleri ise 1978 ve 1983 yılları arasında çok sayıda araştırma merkezlerinde geliştirilmiştir. ARPANET’ten TCP/IP’ye olan ağ geçişi ise yeni protokollerin kalıcı olarak aktive edildiği ve bayrak günü olarak kabul edilen 1 Ocak 1983 tarihinde tamamlanmıştır.

Uyarlama

Mart 1982 yılında ABD Savunma Bakanlığı, TCP / IP ‘yi tüm askeri bilgisayarlar için standart ağı olarak ilan etti. 1985 yılında, Internet Danışma Kurulu protokolü teşvik ve artan ticari kullanım için önde gelen (daha sonra İnternet Mimarisi Kurulu olarak değiştirildi) 250 satıcı temsilcilerinin katıldığı bilgisayar endüstrisi için TCP / IP üzerinde üç günlük bir atölye çalışması düzenledi.

1985 yılında, ilk interop konferansı TCP / IP geniş kabulü ile ağ birlikte çalışabilirlik üzerinde yoğunlaştı. Konferans, ilk İnternet aktivistlerinden Dan Lynch tarafından kurulmuştur. Başından itibaren, IBM ve DEC gibi büyük şirketler, toplantıya katıldı. Daha sonra bu konferanslar her yıl tekrar düzenlendi. 1985’ten 1993’e kadar geçen her yıl, katılımcıların sayısı 3 katına yükseldi.

IBM, AT&T ve DEC gibi şirketler SNA, XNS vb,  büyük internet protokollerine sahip olmalarına rağmen TCP/IP’ye uyum sağlayan ilk şirketler oldu. 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 zamanlard  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 olarakta 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.

Katmanlar / Layers

TCP/IP modelinde, yollanan veriler her katmanda sarmallanır (encapsulation) ve bir alt katmana yollanır. Alıcı tarafında bu veriler teker teker açılıp (decapsulation) bir üst katmana gönderilir. Bu yöntemfarklı marka ve modellerdeki cihazların birlikte çalışmasını sağlar. Örneğin bir bilgisayarın ağ bağlantısınde Ethernet yerine Wi-fi kullanılması o bilgisayarın üzerinde başka bir web tarayıcı kullanılmasını gerektirmez.

OSI modelinde yedi ve TCP/IP modelinde ise dört katman bulunmaktadır.[8] TCP/IP modelindeki katmanlar aşağıda verilmiştir:

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ı.

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.

Örnek:

Bilgisayarınız Wikipedia ana sayfasını alırken işlemler şu şekilde gerçekleşir;

Katmanlama, her katmana özel donanımlar yapılmasına olanak sağlamıştır: fiziksel katmanda paket yönlendirmesi switch'ler, IP katmanında paket yönlendirmesi router'lar, taşıma katmanında paket yönlendirmesi ise NAT'lar tarafından yapılır. Bu sayede, basit donanımlarla yüksek TCP/IP performansları elde edilebilmektedir.

Katmanlama, uygulamalar arası uyumu kolaylaştırdığı gibi büyük bir dezavantaja da sahiptir: her katman veriye tekrarlanan (dolayısıyla gereksiz) veriler ekler. Örneğin her katman pakete ekstra bir boy bilgisi ekleyecektir. Çoğu katman verinin doğruluğundan emin olmak için muhtelif rakamlar da ekleyebilir. Bunun, dünya internet trafiğinin %15'ini oluşturduğu tahmin edilmektedir.

Katmanlama sistemindeki ilk üç katman (yani donanım, ağ ve taşıma katmanları) arasından:

Bazı IP adresleri ve maskeleri bazı kullanımlar için ayrılmıştır. Bunlar şu şekildedir:

Bu sayede, bir ağdaki IP adreslerini mantıksal olarak tasarlamak mümkündür. Buna ek olarak, kullanıcılara IP adresi, ağ maskesi ve varsayılan ağ geçidini otomatik atayabilmek için DHCP protokolü kullanılabilir.

Bazı TCP/IP protokolleri

Veri bağlantı katmanındaki protokoller

İnternet katmanındaki bazı protokoller

Taşıma katmanındaki protokoller

Uygulama katmanındaki bazı protokoller

Tüm bu protokoller (ve dahası) sayesinde TCP/IP her geçen gün daha da popülerleşen bir protokol olmuştur.

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.

Kaynakça

Bilgisayar Ağları ve İletişim - Abdullah Kuzu

Requirements for Internet Hosts – Communication Layers, R. Braden (October 1989)

Computer Networks, Vinton G. Cerf and Edward Cain (1983)

Specification of Internet Transmission Control Protocol, V. Cerf et al. (December 1974)

This article is issued from Vikipedi - version of the 1/10/2017. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.