TCP/IP Adresleme

TCP/IP Adresleme

Ağ Teknolojileri – TCP/IP Adresleme

Öncelikle Merhaba Sayın CW’liler. Aşağıda anlatımını verdiğim TCP/IP (Transfer Control Protocol – Internet Protocol)  Adresleme konusunu dikkatlice okuduğunuzda ip adreslerini kavrayabilecek, ağ için uygun ip sınıfını belirleyebileceksiniz.

TCP/IP ‘ ye Giriş

Bir ağ içerisinde aynı anda birden çok protokol kullanılıyor olabilir; çünkü işletim sistemleri, protokol kümesi farklı olan birçok bilgisayar, aynı anda ağda bulunabilir ve hepsinin birbirleriyle iletişimde bulunması gerekebilir.

Hali hazırda birçok protokol kümesi geliştirilmiştir. Bunlardan bazıları yalnızca onu geliştiren üreticiler tarafından kullanılırken bir çoğu açık sistem haline gelmiştir. Örneğin DECnet, IPX, SNA ve XNS protokol kümeleri sırasıyla Digital, Novell, IBM ve Xerox firmaları tarafından geliştirilmişlerdir ve yine bu firmalar tarafından kullanılmaktadır. TCP/IP gibi bazı protokol kümeleri ise bütün üreticiler tarafından desteklenen, tartışılmaz genel standart olmuştur.

Başta internet olmak üzere, farklı teknolojilere sahip ağların olması, bağımsız olarak yönetilmesi ve geliştirilmesi gibi özellikleri TCP/IP protokolünün en yaygın kullanılan protokol olmasına neden olmuştur.

Aslında TCP/IP protokolü diye adlandırmak çok doğru değildir. Çünkü TCP/IP çok sayıda protokol ve yardımcı programlardan oluşan bir protokol kümesidir.

Protokol, bir iletişim sürecinde, internet bağlantısını sağlayan noktalar arasındaki, gidip gelen mesajlaşmayı düzenleyen kurallar dizisidir. Bu protokoller birbirleriyle iletişim içinde bulunan gerek donanım gerekse yazılımlar arasında oluşur. İletişimin gerçekleşmesi için her öğenin bu protokolü kabul etmiş ve uyguluyor olması gerekir.  TCP/IP de bu şekilde oluşan yüzden fazla bilgi iletişim protokolün toplandığı bir protokoller ailesidir. Bunlardan en önemlileri TCP ( Transmission Control Protocol ) ve IP ( Internet Protokol ) olduğu için bu ismi almıştır. Bir bilgisayar ağında kullanılan protokol ne olursa olsun aslında bilgisayarlar fiziksel adresleri ile birbirlerini tanır ve iletişimde bulunurlar. Bu fiziksel adres ağ kartı veya ağa bağlanmayı sağlayan her hangi bir donanımın içinde hiçbir şekilde değiştirilmesi mümkün olmayan 48 bit olan bir numaradır. TCP/IP protokolünde diğer bilgisayarlardan farklı olarak her bilgisayar bir IP numarası alır. Görünüşü “ 194.62.15.2 “ şeklindedir. İnternet`te bulunan her bilgisayarın kendine ait bir IP numarası vardır ve sadece ona aittir. IP adresleri 32 bitlik düzendedirler ama kolay okunabilmeleri için 8 bitlik 4 gruba ayrılmışlardır. Internet üzerinde veri alış verişi yapan alıcı ve göndericiyi tanımlamaktadırlar. Veriler gönderilirken mutlaka gönderenin IP adresini taşırlar. Alıcının adresi de adresteki “ domain ” , adrese göre çözümlenir ve gönderilir. IP adres yapısının 2 bölümü vardır. Birincisi bilgisayarın bağlı olduğu özel bir ağın numarası ikincisi ise bilgisayarların özel numarasıdır. Veriler dolaşım sırasında Router denilen yönlendiricilerden geçerken sadece bu özel ağın numarasına bakılır.

TCP/IP Protokol Grubu

Evet kardeşlerim yukarıda görülen TCP/IP protokol grubu, OSI referans modeli hazırlanmadan önce oluşturulmuştur. TCP/IP protokol grubu DoD (Departmen of Defence-Amerikan Savunma Bakanlığı) modelini referans alır ve DoD modeli OSI modelinden farklı yapıdadır.

TCP/IP Katmanları

TCP/IP Protokolü içerisinde bir çok protokol mevcuttur. Her bir protokol belirli yeteneklerle donatılmıştır. Bu bölümde, TCP/IP Protokol ailesi içinde yer alan temel protokollerin neler olduğu, her birinin özellikleri ve birbirleriyle hangi düzen içinde çalıştıkları irdelenecektir.

İnternet ağ mimarisi katmanlı yapıdadır. Bilgisayarlar arası iletişim için gerekli bütün iş, bu katmanlar tarafından yürütülür. Her katmanda yapılacak görevler protokoller tarafından paylaşılmıştır. TCP ve IP farklı katmanlarda bulunan farklı protokollerdir. Fakat ikisi birlikte TCP/IP olarak kullanıldığında bütün katmanları ve bu katmanlarda bulunan protokollerin tamamını ifade eder. Bu sebeple TCP/IP bir protokol kümesi olarak bilinir.

TCP/IP katmanında kullanıcının kullandığı programlar ve işletim sisteminin arka planda yürüttüğü programlar uygulama programı katmanlarıdır. Uygulama programının altında bulunan katmanlar iletişim işini yapan katmanlardan oluşur. Bu katmanlarda bir hizmetin yapılabilmesi için bir alt katmandan hizmet beklenir.

Uygulama programlarının bulunduğu katman sayılmaz ise dört katman vardır. Bunlar; uygulama, ulaşım, yönlendirme ve fiziksel katmanlardır (Şekil 1.1). Uygulama katmanında SMTP (Simple Mail Transfer Protocol-Basit Posta Aktarım Protokolü), TELNET (Telecommunication Network-İletişim Ağı), FTP (File Transfer Protocol-Dosya Aktarım Protokolü), SNMP (The Simple Network Management-Basit Ağ Yönetim Protokolü), (Remote Login-Uzaktan Erişim)  gibi protokolleri vardır. Ulaşım katmanında TCP (Transmission Control Protocol-İletişim Kontrol Protokolü) ve UDP (User Datagram Protocol-Kullanıcı Veri Bloğu İletişim Protokolü) protokolleri, yönlendirme katmanında IP (Internet Protocol-İnternet Protokolü), ICMP (Internet Control Management Protocol- İnternet Kontrol Yönetim Protokolü) protokolleri vardır. Fiziksel katmanda ise gelen bilgileri iletim ortamına aktarmakla görevli protokoller olan Ethernet, switch, X25 gibi protokoller vardır.

Ağ cihazları, genel olarak TCP/IP’nin ilk üç katmanıyla işlem yapar. Eğer ağ cihazı yapılan uygulamada protokollerini kendi bünyesinde de çalıştıracaksa dördüncü katmanı da kullanır.

TCP/IP Protokolleri Arasındaki İlişki

Yukarıda da görüldüğü gibi, işletim siteminin hemen altında uygulama protokolleri vardır. Bu protokoller bir port üzerinden TCP ve UDP’nin bulunduğu katmana erişir.

TCP protokülünde her uçta 216 adet farklı port tanımlıdır. Bu 16 bitlik port numarası veya adresi ve 32 bitlik IP adresi beraberce kullanıldığında ortaya çıkan adrese soket numarası denir. TCP bağlantılar bu soketler üzerinden sağlanır. Bir soket aşağıda da verdiğim resimde de görüldüğü gibi iki parçadan oluşur.

 

Katmanların sahip olduğu görevlerin anlaşılması için, en temel hizmet olan e-posta örneği üzerinde durulabilir. E-posta, yazma ortamı sunan bir yardımcı program aracılığıyla yazılır; daha sonra uygulama katmanında SMTP protokolüne gönderilir. Burada alıcı ve gönderici adresleri yazıldıktan sonra, hazırlanan mektup bir alt katmana, yani ulaşım katmanına gönderilir. Bu katmanda kullanılan protokol TCP’dir. Burada TCP protokolünün görevi bir üst katmandan gelen veri paketini gönderebilecek şekilde parçalara ayırarak onlara sıra numarası vermektir. Daha sonra bir alt katman olan yönlendirme katmanında IP protokolüne gönderir. IP protokolü gelen veri paketlerinin önüne gidecek olan yerin adres bilgilerini yerleştirir. Adres bilgilerini de alan veri paketleri, bir alt katman olan fiziksel katman aracılığı ile karşı bilgisayarlara iletilir.

Özellikle TCP ve IP protokolleri, bilgi alışverişlerinde çok büyük bir görev üstlenmektedir. TCP protokolü bir üst katmandan gelen verilerin önüne kendi başlığını ekleyerek bir alt katmandaki IP protokolüne gönderir. Bu protokol ise gelen veriye adres bilgileri yerleştirerek fiziksel katmana gönderir.

Uygulama Katmanı (Application Layer) [ En önemlisi ]

En üst seviye katmandır. Uygulama katmanı için tanımlı olan SMTP, TELNET vs. gibi protokoller bir üstünde bulunan programlara hizmet verirler. Bunların bir üstünde de ya kullanıcının doğrudan etkileşimde bulunduğu programlar(yani kullanıcı arabirimleri) ya da bilgisayar kaynaklarını başka kullanıcılara erişme olanağı sağlayan(yani hizmet sunan) programlar bulunur. Bunlar uygulama tipine göre doğrudan uygulama katmanındaki protokollere başvururlar. Şimdi tek tek uygulama katmanında bulunan protokollerin görevlerini inceleyelim.

SMTP (Simple Mail Transfer Protocol-Basit Posta İletim Protokolü): Elektronik posta  iletimi SMTP protokolünü kullanarak bilgisayarlar arasında veri alışverişini gerçekleştirirler. Elektronik postaların güvenli bir şekilde adreslerine ulaşabilmesi için TCP servislerinden yararlanır. Oluşturulan elektronik posta mesajlarının standart olarak dizayn edilmiş formatı vardır. Mesajların iletimi sırasında bu formata uyması gerekir. Bu uyum istemci ve sunucu arasında elektronik posta veri iletiminin kolaylıkla yapılmasını sağlar. SMTP, iletim sırasında uygulanacak olan kurallar sırasını belirler. Elektronik postaların sunucularda saklanış şekli, depo alanının ne kadar sıklıkla kontrol edilmesi gerektiğini belirten detaylarla ilgilenmez. Elektronik postaların iletimi ASCII metin modundadır. Protokolün istemci ve sunucu arasında veri alışverişi ve senkronizasyonu sağlayan komutları da okunabilir, açık yazı türündedir.

SNMP (Simple Network Management Protocol-Basit Ağ Yönetim Protokolü) : Ağ içerisinde bulunan yönlendirici, anahtar ve HUB gibi cihazların yönetimi için kullanılır. SNMP desteği olan ağ cihazları SNMP mesaj alış verişiyle uzaktan yönetilebilir. Bunun için cihazlarda SNMP parçası (agent) olmalıdır. SNMP farklı türdeki makinelerin kolaylıkla yönetilmesi ve sorunlar hakkında bilgi edinilmesi amacı ile tasarlanmıştır. Farklı türde aletlerin yaptıkları farklı görevleri vardır. Bir yönlendirici yönlendirdiği datagramların (bilgi miktarı) , iletilen, iletilmeyen paketlerin sayısı ve buna benzer bilgileri depolarken, yazıcı kartuşun durumu, modem aldığı karakter sayısını, bağlantı hızı gibi bilgileri kayıt eder. Yönetim merkezi hangi aygıttan kesin olarak ne tür bilgi alacağını tam olarak bilemez. Bu nedenle bilgilerin depolandığı standart bir yapı geliştirilmiştir. SNMP kullanım alanı sadece TCP/IP ağları ile sınırlandırılmamıştır. Aynı zamanda IPX, AppleTalk ve OSI desteği de mevcuttur.

TELNET (Telecommunication Network-İletişim Ağı): Kullanıcının, bir başka makineye sanki o makinenin istasyonuymuş gibi bağlantı kurmasını sağlayan protokoldür. TCP/IP protokolünü kullanan uygulamalardan bazıları kullanıcılara uzakta olan bilgisayara ağ üzerinde oturum açmalarına olanak sağlar. TELNET protokolü TCP bağlantısı yapılarak oturum açılan bilgisayar üzerinde sanal klavye kullanılmasına izin verir. Protokol bilgisayar üzerinde komutları işleterek sunucudan aldığı çıktıların istemcinin ekranı üzerinde görüntülenmesine olanak sağlar. TELNET temel olarak üç prensip üzerine kurulmuştur. NVT(Sanal Ağ Terminali), İstemci-Sunucu TELNET Protokol Tercihlerinin Uzlaşması ve Terminallerin simetrik çalışması. Protokol, bağlantı sırasında kullanılan mesajların şifrelenmemesi, paketlerin iletimi sırasında arada yer alan, iletim vazifesi gören aygıtları kullanan insanların iletilen verileri kolayca okuyabilmesine izin vermesi nedeni ile güvenlik zafiyetlerine açıktır. Protokol tasarım yapısı itibari ile “ oturum ele geçirme” saldırılarına karşı son derece zayıftır. TELNET sağladığı hizmet avantajları sayesinde kullanıcılar arasında son derece popülerdir. NVT (Sanal Ağ Terminali) özelliği sayesinde istemciler bağlandıkları bilgisayarların mimarisi hakkında fazla bilgiye ihtiyaç duymaz. Kullanıcılar, TELNET protokol tanımı içerisinde yer alan düzenlemeler sayesinde uzaktaki bilgisayarlara kolaylıkla hükmedilebilir. TELNET protokolü istemci ve sunucu arasında verinin iletim şekli, kullanılan karakterlerin yapısı (8 bit karakter modu veya 7 bit ASCII) hakkında anlaşma yapılmasına izin verir. Bu sayede iletilen verilerin türü konusunda meydana

gelecek olan hataların önüne geçilmiş olur. TELNET protokolü terminal ve uygulamalar (process) arasında simetrik görünüm sağlar. TELNET bağlantısı kuracak olan bilgisayar, sunucu ile TCP bağlantısı kurar. Bağlantının kurulması ile birlikte istemci klavyeden aldığı tuş basım verilerini sunucuya iletir. Sunucunun aldığı veriler daha sonra istemcinin monitöründe eko şeklinde görüntülenir.

FTP (File Transfer Protocol-Dosya İletim Protokolü): Bir bilgisayardan başka bir bilgisayara bağlanarak dosya aktarımını sağlar. İnternet üzerindeki iki sistem arasında dosya aktarımı için kullanılan temel protokoldür. TCP/IP mimarisi geliştirilmeden önce de kullanılan bir protokol olan FTP, zaman içerisinde değişimlere uğrayarak günümüzde kullanılan şeklini almıştır. FTP protokolü TCP tabanlıdır. TCP protokolü sayesinde bağlantı kurulmuş olan iki nokta arasında güvenli veri alışverişi sağlanır. Protokol sayesinde tanımlanan erişim yetki sınırlamaları, isimlendirme, farklı işletim sistemleri tarafından kullanılabilme, veri gösterim çeşitliliği gibi etmenler protokolü karmaşık bir hale getirir. FTP kullanıcı ile sunucu arasında görsel iletişim sunar. Her ne kadar sadece dosya transferi için tasarlanmış olsa da kullanıcının dosyaların listelenmesi, kullanılabilecek komutların gösterilmesi gibi isteklerine yanıt verir. FTP, dosya içerisinde yer alan verinin türünün kullanıcılar tarafından tayin edilmesine olanak sağlar. Dosyalar içerisinden açık yazı içeren dokümanlar (ASCII) yada sayısal veriler (EBCDIC) barındırabilirler. FTP protokolü kullanıcıların kullanıcı ismi ve şifre kullanarak sisteme giriş yapmalarına olanak sağlar. Kullanıcılar istenen kriterleri yerine getirdikten sonra dosya transfer işlemlerini başlatabilirler. İnternet üzerinde aktif olarak çalışan protokollerin işlemesini sağlayan sunucular birden fazla istemciden gelen istekleri yanıtlamak üzere tasarlanmıştır. FTP istemcileri TCP protokolünü kullanarak FTP sunucularla bağlantı kurarlar. Sunucu çok sayıda istemciden gelen istekle baş etmek amacıyla kendi kopyalarını oluşturur. Oluşturulan kopyalar yapılması gereken tüm işlemleri yerine getiremezler. Sadece istemcilerle arasındaki kontrol bağlantıları ile ilgilenir. Bağımsız dosya transferleri sağlamak amacıyla birden fazla sayıda süreç oluştururlar. FTP sunucuları 21 numaralı TCP portundan istemcilerden gelen bağlantı isteklerini dinlerler. Port numarasını alan sunucu 20 numaralı TCP portu üzerinden istemci ile bağlantıya geçerek veri transferini başlatır. Dosya transferi sona erdiğinde bağlantı sonlandırılır.

NNP (Network News Transport Protocol-Ağ Haberleri Protokolü): USENET (Dünya üzerindeki milyonlarca ağ kullanıcısının çok değişik konularda haberler, yazılar gönderdiği bir tartışma platformu) postalanma hizmetinin yürütülmesini sağlar.

HTTP (The Hypertext Transfer Protocol-Hiper Metin İletişim Protokolü): Web istemci programları ile sunucuların iletişim kurmasını sağlar. HTTP protokolü istemcileri “ağ tarayıcısı” (web browser) olarak adlandırılır. Protokol genel olarak dokümanları sunuculardan talep eden, sunucuya bilgi gönderilmesini sağlayan komutları tanımlar. İstek-Yanıt sistemi ile çalışır. Web istemci programı ile sunucu arasında TCP bağlantısı sağladıktan sonra istemci istek mesajını sunucuya iletir. Sunucu bu isteğe karşılık yanıt gönderir. Bu istek-yanıtlar komutsal tabanlıdır. Protokol, sunucuya istemci tarafından iletilen her istek mesajı birbirinden bağımsız olacak şekilde tasarlanmıştır. Protokol iki yönlü veri alışverişine izin verir. Sunucudan istemciye dosya transferine izin verdiği gibi istemciden sunucuya dosya transfer edilmesine de olanak sağlar. HTTP protokolü yazılı ve görsel iletişimi hedef alması itibarı ile sunucu ve istemci arasında karakter uyumunu da gözetmek zorundadır. İstemci ve sunucu veri alışverişi sırasında iletilen karakter türleri arasında uzlaşma sağlarlar. Protokol daha hızlı yüklemeyi sağlamak amacıyla sunuculardan elde edilen verilerin bir dizin altında depolanmasına izin verir. İstemci aynı sayfayı yeniden almak istediği zaman sunucu ile istemci arasında talep edilen sayfanın güncellenip güncellenmediğine dair iletişim kurulabilir. Güncelleme olmadığının tespit edilmesi durumunda depo alanından eski bilgi yeniden yüklenir. İstemci ve sunucular arasında köprü vazifesi görürler.

Aktarım Katmanı (Tranmission Layer)

TCP/IP protokolü OSI modeli içerisinde, uygulamalar arasında iletişimi sağlayan katmanı oluşturur. TCP/IP, TCP ve UDP olmak üzere veri iletişimini farklı şekillerde sağlamakla görevli olan iki protokolü bünyesinde barındırır. TCP ve UDP iletim katmanı protokolleri, bir üst katmandan gelen veriyi paketleyip bir alt katmana verirler. Eğer veri bir seferde gönderilmeyecek kadar uzunsa, alt katmana verilmeden önce parçalara ayrılır (segment) ve her birine sıra numarası verilir. Genel olarak TCP kullanılır; UDP daha çok sorgulama amaçlı kullanılır.

TCP (Transmission Control Protocol-İletim Denetim Protokolü): TCP protokolü, bağlantılı ve güvenli veri akışını sağlayarak iletim katmanına çok önemli hizmetler sunar. Çoğu uygulama kendi veri iletişim kontrol mekanizmasını oluşturmaktansa TCP protokolünün sağlamış olduğu hizmetleri kullanır. TCP sunduğu hata denetimi, veri akış kontrolü gibi hizmetler sayesinde kendisini kullanan uygulamalara tatmin edici düzeyde güvenlik, hata denetimi ve akış kontrolü sağlar. TCP protokolü, bilgisayarda çalışan uygulamalar arasında <İstemci IP adresi, Port Numarası>, ikililerini temel alan bağlantılar kurar. Her TCP bağlantısı bu ikililerle ifade edilir. İnternet protokolü bağlantısızdır ve gönderilen paketlerin hedeflerine ulaşmalarını garanti edemez. Bu sorunları ortadan kaldırmak için TCP protokolüne ihtiyaç duyulur.

TCP Protokolünün Özellikleri:

Bağlantı noktaları arasında veri iletişimini sağlaması.

Güvenli veri iletimi sağlanması.

Bağlantıda olan iki bilgisayar arasında akış kontrolü sağlaması.

Çoklama(Multiplexing) yöntemi ile birden fazla bağlantıya izin vermesi.

Sadece bağlantı kurulduktan sonra veri iletimi sağlaması.

Gönderilen mesaj parçaları için öncelik ve güvenlik tanımlaması yapılabilmesi.

TCP protokolünün en önemli özelliği sürekli ve her iki yönde veri akışını sağlamasıdır. Gönderilen veriler 8 bitlik (oktet) gruplar halindedir. Bu veriler, bağlantıda olan sistemlerde yürütülen TCP protokolünü işleten uygulamalara parçalar halinde iletilir. TCP protokolü gönderilen ve alınan her biti işaretleyerek takip eder. İşaretleyerek gönderdiği her parça için bağlantıda olduğu uçtan cevap bekler. Bu işaretleme sayesinde iletim sırasında kaybolan parçalar yeniden transfer edilebilir.  TCP aldığı bu mesaj segmentlerini depolar; bunları tek bir parça veya parçalar halinde gönderir. TCP, kendisine atanmış olan bu görevleri yapabilmek amacıyla iletim katmanında veri parçalarının önüne başlık bilgisi ekler. Başlık bilgisi ve veri parçası, ikisi birlikte TCP segmenti olarak anılır. Bir alt katmana, örneğin IP katmanına bu TCP segmenti gönderilir. Oradan da bu segmente IP başlığı eklenerek alıcıya yönlendirilir.

UDP (User Datagram Protocol): İletim katmanında tanımlı tek protokol TCP değildir; UDP de bu katmanda tanımlıdır. UDP protokolü, bilgisayar ağları arasında paketlerin değişimine imkan sağlamak için tasarlanmıştır. UDP protokolü TCP gibi altyapı olarak IP datagramları kullanır, IP datagramlar içerisinde kapsüllenir. Veri akış kontrolünü sağlayacak; datagramlar arasında iletilirken kendi içerisinde meydana gelecek hataları belirlemek için kullanacağı herhangi bir mekanizması yoktur. Protokol datagramların iletilmesini garanti etmez; IP datagram içerisinde kapsüllenmiş UDP mesajının bir defadan fazla taşınmamasını sağlayamaz. TCP protokolü gibi bağlantı tabanlı değildir. UDP protokolü, DNS gibi istek-cevap temeline dayanan uygulamalar için son derece elverişlidir. UDP toplu yayın-grup mesajları için son derece kullanışlıdır. UDP protokolü içerisinde sadece isteğe bağlı olarak hata kontrol mekanizması yürütülür. UDP protokolü, TCP protokolünden daha hızlı ve daha kolaydır. Buna karşın sağlamlık, güvenirlik gibi kriterler göz önüne alındığı zaman TCP protokolüne nazaran çok fazla dezavantajı vardır.

Yönlendirme Katmanı (Tranmission Layer)

Yönlendirme katmanında tanımlı IP ve ICMP protokolleri bir üst katmandan gelen segmentleri alıcıya uygun yoldan ve hatasız olarak ulaştırmakla yükümlüdür. Bu amaçla bu katmanda da gelen segmentlere özel bir IP başlık bilgisi eklenir.

OSI Modeli ve TCP/IP Modeli

OSI referans modeli 1978 yılında ISO (International Organizations of Standarts) tarafından geliştirilmiş olup, uzun çalışmalar sonucu elde edilen bilgiler ışığında oluşturulmuştur. OSI modeli değişik işletim sistemlerine sahip makinelerin birbirileriyle haberleşmesine imkân sağlar. Model içerisinde yer alan katmanlardan her biri duyulan ihtiyaç üzerine oluşturulmuş ve kendi içerisinde belirli görevleri yerine getirmek için tasarlanmıştır. Tasarım içerisinde yer alan her yapı kendisinden bir üst seviyede bulunan diğer katmana hizmet verecek şekilde oluşturulmuştur.Bu 7 katmanın en altında yer alan iki katman yazılım ve donanım, üstteki beş katman ise genelde yazılım yolu ile çözülmüştür. OSI modeli, bir bilgisayarda çalışan uygulama programının, iletişim ortamı üzerinden başka bir bilgisayarda çalışan diğer bir uygulama programı ile olan iletişimin tüm adımlarını tanımlar. En üst katmanda görüntü ya da yazı seklinde yola çıkan bilgi, alt katmanlara indikçe makine diline dönüşür ve sonuç olarak 1 ve 0 lardan ibaret elektrik sinyalleri halini alır.

Ağ içersinde tüm haberleşmeler hedef ve kaynak arasında gerçekleşir. Bilgi ya veri ya da veri paketleri olarak iletilir. Eğer bir bilgisayar diğer bir bilgisayara bir veri göndermek istiyorsa veri ilk önce giydirilme (encapsulation) işlemine tabi tutularak paketlenir ve sonra gönderilir. Giydirme (encapsulation) işlemi sayesinde veri gönderilmeden önce gerekli protokol kuralları ile sarılır daha sonra iletilir. Dolayısıyla veri OSI katmanları arasında hareket ederek “header”, “trailers” ve diğer bilgiler eklenerek iletime sokulur.

Öncelikle gönderilmek istenen veri uygulama “Application” katmanından aşağıya doğru diğer katmanlara hareket eder. Bu işlem sırasında her katman kendi işlemini yürütür ve veri gönderileceği yere kadar bu şekilde gider ve hedef bilgisayarda işlemlerin tersi gerçekleşir. Şekil1.12 ve aşağıda ağın işlemesi için yapması gereken beş adımdan oluşan giydirme (encapsulation) işlemelerini görebiliriz.

Veri hazırlanır.

Kullanıcı bir e-posta gönderiyor olsun, öncelikle alfa nümerik karakterler ağ içerisinde hareket edebilecek veriler haline dönüştürülür.

Noktadan noktaya transfer için veri paketlenir.

Veri ağdaki transferi için paketlenir. Bu paketleme güvenli bir haberleşme sağlamak amacıyla segmentler kullanılarak yapılır.

Başlığa (Header) ağ IP adresi eklenir.

Veri kaynak ve hedef mantıksal adreslerini içeren paket başlığına sahip olan paketler içerisine konulur.

Veri hattı başlığı ve treyleri eklenir.

Tüm ağ cihazları paketleri bir çerçeve içerisine konulur. Çerçevelerin ağ içerisindeki bir sonraki cihaza direkt bağlanması sağlanır. Her cihaz ağ içerisindeki kendinden sonraki cihazın ihtiyacı olan çerçevelemeyi yapar.

Veri iletim için bitlere dönüştürülür.

Çerçeve yapısı veriyi 1 ler ve 0 lara dönüştürürler. Daha sonra cihazların saat frekanslarının da yardımıyla gönderilmek istenen yere bu şekilde taşınır ve hedef bilgisayarın veya cihazın uygulama katmanında veri orijinal haline geri döner.

OSI ve TCP/IP modellerinin benzerlikleri;

• Her ikisi de katmanlı yapıdadırlar

• Farklı işlevlere sahip olmalarına rağmen her ikisinin de uygulama katmanı vardır.

• Benzer iletim ve ağ katmanlarına sahiptirler.

• Devre anahtarlamalı değil paket anahtarlamalı teknoloji kullanılır.

• Ağ profesyonelleri her iki modeli de bilmek zorundadırlar.

OSI ve TCP/IP modellerinin farklılıkları;

• TCP/IP sunum ve oturum katmanlarını uygulama katmanında birleştirmiştir.

• TCP/IP OSI’nin veri hattı ve fiziksel katmanlarını tek bir katmanda birleştirmiştir.

• TCP/IP daha az katmanı olduğu için daha kolay görülür.

• TCP/IP iletim katmanı UDP kullandığı için veri güvenliği OSI deki kadar sağlam            değildir.

Internet Adresleri

İnternete bağlı her bilgisayarın kendine özgü bir adresi vardır. DNS (Domain Name System-Alan Adı Sistemi) olarak adlandırılan hiyerarşik bir isimlendirme sistemi ile (Internet adresi), internete bağlı bilgisayarlara ve bilgisayar sistemlerine isimler verilir. DNS de aslında bir TCP/IP servis protokolüdür. DNS, “host” olarak adlandırılan internete bağlı tüm birimlerin yerel olarak bir ağaç yapısı içinde gruplandırılmasını sağlar. Bu şekilde, bütün adreslerin her yerde tanımlı olmasına gerek kalmaz. Örnek olarak, itu.edu.tr onun altında da, titan.ehb.itu.tr vb şeklinde dallanmış birçok adres olabilir.

Her bir internet adresine 4 haneli bir numara karşılık gelir. a.b.c.d şeklindeki bu numaralara IP (Internet Protocol) numaraları denir. Burada a,b,c ve d 0-255 arasında değişen bir tamsayıdır (32 bit adresleme sistemi). Örnek olarak aurora.eng.bahcesehir.edu.tr için bu numara 193.255.84.10’ dur.

Her internet adresinin ilk kısmı bulunduğu domain’ in network adresini, son kısmı ise makinenin(host) numarasını verecek şekilde ikiye bölünür. Bir bilgisayar ağında bulunan makinelerin miktarına göre makine numarası için ayrılan kısmın daha büyük veya daha küçük olması gerekebilir.

Bu domain adreslerinin dağıtımı NIC(Network Information Center) tarafından yapılır, daha sonra her domain sahip olduğu adresi kendi ihtiyaçlarına göre parçalayarak dağıtabilir.

Bilgisayarlar birbirlerini IP numaralarından tanırlar. İnsanların aklında kolay kalsın ve hiyerarşik yapılanma rahat yapılsın diye bunlar alt ağlar, makine adları gibi isimlendirmelere tabi tutulurlar. Yukarda görüldüğü gibi, internete bağlı her bilgisayarın (teorik olarak) bir IP numarası ve o numaraya karşılık gelen de bir gerçek adı vardır. İki mekanizma arasındaki dönüştürmelerden DNS sorumludur.

IP Adresleme

IP adresi, ağ üzerinde bulunan makinenin adresini ifade eder. Bu adres ile bir makine diğerlerine ulaşma imkânı bulur. Ağ üzerinde bulunan herhangi bir bilgisayarı ifade etmek için 32 bitlik bir IP adresi kullanılır. TCP/IP protokolü kullanılan bir ağda her bilgisayarın mutlaka bir IP adresi olmak zorundadır. IP adreslerinin atanması son derece kolay bir işlem olmasına karşın bu adresler atanırken göz önünde bulundurulması gereken birkaç önemli husus vardır. Atanan IP adreslerinin ağ içerisinde “eşinin”  bulunmaması gerekir. Bununla birlikte atanan IP adresleri aynı ağ üzerinde bulunan diğer birimlerle tutarlılık göstermelidir.

IPv4 Adresleme

IPv4(32 bit) ve IPv6(128 bit) olmak üzere iki çeşit IP adresi vardır. Günümüzde yaygın olarak 32 bitlik (IPv4) adresleme mekanizması kullanılmaktadır. İnternetin yaygınlaşması ve IPv4 adreslerinin çok hızlı tükenmesi ile birlikte IPv6 adreslerinin kullanılmasına yönelim hız kanacaktır. IPv6 işlevselliği, kullanım kolaylığı sayesinde büyük faydalar sağlayacaktır.

32 bitlik bir IP adresi 8 bitlik dört oktet halinde ifade edilir. Bunun sebebi, ise okumayı kolaylaştırmak içindir. Adresleme için toplam 32 bitimiz varsa 232 = 4 milyar 294 milyon 967 bin 196 tane bilgisayar adreslenebilir. Ancak bu gerçekte böyle değildir. 32 bitlik bir adres diyelim ki 1000010.00011011.00001100.00001100 şeklinde ifade edilmiş olsun. Bu adresin okunması için ikilik sistemde bir okuma gerekmektedir, ancak bu şekilde de okuma oldukça zor olduğunda yazdığımız adres onluk sisteme çevrilerek 194.27.12.12 şekline dönüşür ve bu tür bir ifadeye noktalı yazım (dotted decimal notation) denir. Nokta ile ayrılan kısımların her biri 0 ile 255 arasında bulunan birer tamsayı olmak zorundadır.

IP adresleri ağ numarası (Net ID) ve bilgisayar numarası (Host ID) olmak üzere iki bölümden oluşur. “Net ID”  bilgisayarın bulunduğu ağı belirtirken, “Host ID” ağ içerisinde bilgisayarların birbirlerinden ayrılmasını sağlayan değerleri barındırır.

IPv4 bugün var olan internet ağının ana halkası olarak yerini almıştır.

IP Adres Sınıfları [ Önemli ]

İnternete bağlı büyüklü küçüklü binlerce ağ vardır ve bu ağlar için gerekli IP adresleri sayısı birbirinden oldukça farklı olabilmektedir. Adres dağıtımını ve ağlara atanan adreslerin ağ aygıtlarına yerleşimini kolaylaştırmak amacıyla IP adres alanı alt kümelere bölünmüştür, yani sınıflandırılmıştır. Beş temel sınıflama vardır ve bunlar A,B,C,D ve E sınıfı adresler olarak adlandırılır. Bunlardan hangisinin gerektiğini doğrudan bu adreslerin kullanılacağı ağın büyüklüğü belirler.

Adresler iki parçaya ayrılır; parçanın soldaki kısmı ağ adresi, sağdaki kısım ise sistem adresi olarak adlandırılır. Ağ adresleri yönlendiriciler için daha anlamlıdır. Tüm yönlendirme işlemleri ağ adreslerine bakılarak yapılır. Şekil 2.2’de sınıflanmış bir ağın ayrılmış hali görülmektedir.

Sınıflamalı adreslemede 32 bitlik adresin kaçar bitinin ağ ve sisteme ait olduğunu belirlemek için ağ maskesi kullanılır. Ağ maskesi IP adresiyle mantıksal VE işlemine tabii tutulur ve sonuç ağ adresini verir. Mesela, 167.34.1.1 IP adresine ve 255.255.0.0 ağ maskesine sahip bir bilgisayarın VE işleminden sonra ağ adresi 167.34.0.0 ‘dir.

Sınıflamalı adreslemede IP adresleri A,B,C,D ve E şeklinde ayrılır.

Bu bilgisayarlar internet ortamında “host” diye adlandırılır. Her bir sınıf için tanımlanabilecek host sayısı şekilsel olarak aşağıda belirtilmiştir.

h:”host” Ağ üzerinde tanımlanacak olan bilgisayarlar

A Sınıfı: 001.hhh.hhh.hhh ‘dan  126.hhh.hhh.hhh ‘a kadar

B Sınıfı: 128.001.hhh.hhh ‘dan  191.254.hhh.hhh ‘a kadar

C Sınıfı: 192.000.001.hhh ‘dan  223.255.254.hhh ‘a kadar

D Sınıfı: 224.000.000.000 ‘dan 239.255.255.255 ‘a kadar

A Sınıfı Adres

A sınıfı adres 16 milyon kullanıcı adresi barındıran geniş ağlar için kullanılan adres sınıfıdır. Sadece ilk oktet ağı temsil eder diğer üç oktet kullanıcıları temsil eder. İlk bit her zaman “0” dır. 127.0.0.0 adresi haricinde her adresi kullanabilir. Bu adres ise makinelerin kendilerine paket göndererek test amaçlı kullanılır.

B Sınıfı Adres

B sınıfı adres 4 oktetin ilk ikisini kullanarak adresleme yapan sınıftır. İlk oktetin ilk iki biti her zaman “10” dır. Buda 128 ile 191 arasındaki adresleri kullanabileceği anlamına gelir. B sınıfı her biri 65 534 bilgisayar içeren 16 382 tane alt ağa izin verir. Bu tür adres alanı büyük ve orta büyüklükte ağlar için kullanılır. Birçok büyük üniversite ve ISS’ ler bu tür adres alanına sahiptir.

C Sınıfı Adres

C sınıfı adres küçük ağlar için kullanılır. En fazla 254 kullanıcılı ağlar içindir. İlk oktetin ilk üç biti “110” dır. 192 ile 223 arasını kullanabilir.

D ve E Sınıfı Adres

D sınıfı adreste ilk dört bit “1110” dır. 224 ile 239 arasını kullanabilir.

IETF (Internet Engineering Task Force) E sınıfı adresleri kendi özel araştırmaları için kendilerine ayırmışlardır. E sınıfı adres internette kullanılamaz. 240 ile 255 arası bu adres sınıfı için ayrılmıştır.

Alt Ağlar

Alt ağlar, IP adreslerini yönetmenin başka bir yoludur. Ağ tasarımında IP adresleri sistemlere dağıtılırken ağ daha küçük birimlere parçalanarak alt ağlar oluşturulur. Bu, İnternet’in hiyerarşik adresleme yapısına uygun olduğu gibi, yönlendirme işinin kotarılması için gerekli yapının kurulmasını da kolaylaştırır. Örneğin büyük bir üniversiteye B sınıfı bir adres alındığında, bu adreslerin bölümlerde ki bilgisayarlara alt ağlar oluşturulmadan gelişi güzel verilmesi birçok sorunu da beraberinde getirir. Hâlbuki verilen B sınıfı adres alanı daha küçük alanlardan oluşan alt alanlara bölünse ve bu alt alanların her biri bölümlerdeki LAN’ lara atansa birçok kolaylık da beraberinde gelecektir. Adres yerleştirmeleri kolay olacak, hiyerarşik yapı korunacak, adrese bakılarak ilgili sistemin hangi alt ağda olduğu anlaşılacak ve bu sayede oluşan problemlere en kısa zamanda çözüm getirilebilecektir.

Ağ Maskesi

Alt ağ oluşumu ağ üzerindeki yöneticiye beraber çalıştığı her bir ağ parçasının ölçüsünü belirlemeye imkân verir. Ağ üzerinde kaç segment olduğu bir kere belirlendiği zaman hangi ağda hangi aygıtın açık olduğunu belirlemek için alt ağ maskesini kullanabilirler. Bir bilgisayar ancak aynı ağda bulunan bir bilgisayarla doğrudan iletişime geçebilir. Aynı ağda değillerse dolaylı olarak iletişime geçer. Aynı ağda olup olmadığını IP adreslerini kullanarak anlarız. IP adresinin bir bölümü ağı diğer bölümü de bilgisayarın ağ içindeki adresini tanımlar. Hangi bölümü ile ağı hangi bölümü ile bilgisayarı tanımladığını bilmek için alt ağ maskesi kullanırız. Dört bölümden oluşur ve ağ adresinin hangi bölüme kadar geldiğini göstermek için kullanılır. Bilgisayar kendi ağ tanımlayıcılarını bulmak için alt ağ maskesi kullanır. Bu yüzden alt ağ maskesinin doğru şekilde girilmesi gerekir. Yanlış girilirse bilgisayarın diğer bilgisayarlarla iletişimi engellenebilir.

Bilgisayar ağ tanımlayıcısını bulmak için alt ağ maskesini IP adresini VE mantıksal işleminden geçirerek kullanırlar. Meselâ: IP adresi:195.134.67.200 olsun ve alt ağ maskesi de 255.255.255.0 olsun. Bilgisayarın bu bilgilere dayanarak bulunduğu ağ tanımlayıcısını yani ağ adresini bulabiliriz. IP adresi ile alt ağ maskesini VE işlemine tabi tutalım:

195.134.67 .200 = 1100 0011.1000 0110.0100 0011.1100 1000

VE

255.255.255.0    = 1111 1111.1111 1111.1111 1111.0000 0000

Sonuç: 195.134.67. 0      = 1100 0011.1000 0110.0100 0011.0000 0000

Mesela, şimdi iki bilgisayardan oluşan bir ağ düşünelim  

Alt Ağ Maskesi

Şekilde görülen 195.134.67.0 adresli bilgisayarın diğer bilgisayarla iletişime geçmesi için aynı ağda olmaları gerekir. Hedef bilgisayarın aynı ağda olup olmadığını anlamak için bilgisayarların ağ adreslerine bakarız.

195.134.67.200 VE 255.255.255.0 ile işleme koyduktan sonra çıkan sonuç: 195.134.67.0 olacaktır. Bu bilgisayarın kendi ağ adresidir. Hedef bilgisayarın ağ adresi ise: 195.134.67.56 ile 255.255.255.0 VE işleme konularak 195.134.67.0 sonucu görürüz. Aynı ağ adresleri çıktığı için bu bilgisayarların iletişime geçeceklerini söyleyebiliriz.

Yayın Adresi

Ağın yayın adresi, alt ağ yapısına bağlı olarak belirlenir ve aynı ağ üzerindeki her bilgisayarda aynı değerin kullanılması gerekmektedir.

255 adresi genel duyuru "broadcast" amacı ile kullanılmaktadır. Duyuru mesajı genelde bir istasyon hangi istasyon ile konuşacağını bilemediği bir durumda kullanılan bir mesajlaşma yöntemidir. Örneğin ulaşmak istediğiniz bir bilgisayarın adı elinizde bulunabilir ama onun IP adresine ihtiyaç duydunuz, bu çevirme işini yapan en yakın "name server" makinesinin adresini de bilmiyorsunuz. Böyle bir durumda bu isteğinizi yayın mesajı yolu ile yollayabilirsiniz. Bazı durumlarda birden fazla sisteme bir bilginin gönderilmesi gerekebilir böyle bir durumda her bilgisayara ayrı ayrı mesaj gönderilmesi yerine tek bir yayın mesajı yollanması çok daha kullanışlı bir yoldur. Yayın mesajı yollamak için gidecek olan mesajın IP numarasının bilgisayar adresi alanına 255 verilir. Örneğin 144.122.99 ağı üzerinde yer alan bir bilgisayar yayın mesajı yollamak için 144.122.99.255 adresini kullanır. Yayın mesajı yollanması birazda kullanılan ağın fiziksel katmanının özelliklerine bağlıdır. Mesela bir ethernet ağında yayın mümkün iken noktadan noktaya (point-to-point) hatlarda bu mümkün olmamaktadır.

Bazı eski sürüm TCP/IP protokolüne sahip bilgisayarlarda yayın adresi olarak 255 yerine 0 kullanılabilmektedir. Ayrıca yine bazı eski sürümler alt ağ kavramına hiç sahip olmayabilmektedir.

Yukarıda da belirttiğimiz gibi 0 ve 255"in özel kullanım alanları olduğu için ağa bağlı bilgisayarlara bu adresler kesinlikle verilmemelidir. Ayrıca adresler asla 0 ve 127 ile ve 223"un üzerindeki bir sayı ile başlamamalıdır.

IPv6

Günümüzde halen internet protokolü olarak kullanılan IPv4, bilgisayarların iletişim sırasında uçtan uca adreslenebilmesini sağlamaktadır. IPv4 adresleri 32 bit ve teorik olarak 4.294.967.296 adet dir. Ancak pratikte verimsiz adres atama mekanizmalarından dolayı etkin adres sayısı bu sayıya hiçbir zaman ulaşamamaktadır. 1990 lı yıllarda patlayan internetteki host sayısındaki ve web sayfalarındaki artış nedeniyle IPv4, ihtiyacı karşılamakta yetersiz kalmaya başlamıştır. Bu problemler karşısında IPv6 geliştirilmiştir.

Internet protokollerinden sorumlu Internet Engineering Task Force (IETF) 1990 yıllarının başında yeni bir çalışma grubu kurulmuş ve o zamanki adıyla IPng (Internet protocol, next generation ) çalışma grubu, yeni IP protokolünün geliştirilmesi görevini üstlenmiştir. İnternet mimarisinin temel prensiplerinin korunarak sağlıklı gelişiminin sağlanması ve yeni uygulamaların önünün açılabilmesi için IP protokolünün yeni bir sürümünün geliştirilmesi öngörülmüştür. Yaklaşık 10 yılı aşkın bir süredir endüstri, akademi, hükümetler ve çeşitli organizasyonların ortak çalışması sonucu IPv6 protokolü oluşmuştur.

IPv6 protokolü, IETF’ in yayınlamış olduğu bir seri RFC dokümanı vasıtasıyla tanımlanmıştır. IPv6’yı IPv4’ten ayıran en temel özellik 128 bitlik genişletilmiş adres alanıdır. Bu genişlemenin sağlamış olduğu teorik adreslenebilir düğüm sayısı 340.282.366.920.938.463.463.374.607.431.768.211.456 adettir. Böylesine geniş bir adres alanının şu an yaşadığımız adres sıkıntısını çözmenin yanında internet uygulamalarında yeniliklere de yol açması beklenmektedir. Öte yandan, IP üzerinde yapılan değişiklikler sadece bununla da kalmayıp, protokolün tam anlamıyla tekrar gözden geçirilmesi ve yenilenmesi de söz konusu olmuştur. Bunlar arasında basitleştirilmiş ve 64 bitlik işlemcilere göre düzenlenmiş paket başlığı paket bölünmesinin sadece uç noktalarda yapılacak olması yönlendiricilerin veri trafiğini daha seri bir şekilde işleyebilmesi için yapılan değişikliklerdir. Temel IP başlığının yanı sıra ihtiyaca göre eklenebilir uzantı başlıklarının tanımlanabilmesi protokolün esnekliğini artıran bir faktör olmuştur. Güvenlik için IPsec (IP Security protocol ) şartı da IPv6 ile gelen özellikler arasında yer almaktadır.

128 bitten oluşan IPv6 adreslerinin ilk 64 bitlik kısmı alt ağı adreslemek için kullanılan adres blok bilgisini içermektedir. Adres bloğu, bir paketin varacağı son bağa kadar olan yolda yönlendirilmesini sağlamaktadır. Geriye kalan 64 bit ise bu bağa vardığında paketin son alıcısının tespitinde kullanılmaktadır. IPv6 adresleri 16’lık bir düzende aşağıdaki gibi ifade edilir:

2045:ab28::6cef :85a1:331e:a66f:cdd1

Servis sağlayıcılar IPv6 omurgalarını kurup, tamamen IPv6 servisleri hizmete girene kadar geçen sürede, noktadan noktaya IPv6 uygulamalarının IPv4 ağları üzerinden geçirmeleri gerekecektir. Bu, bir IPv6 paketinin bir IPv4 paketinin içerisine sokulmasıyla sağlanılmaktadır.

Örnek.1: Bir firma 6 bilgisayarı için A sınıfı IP dağıtacaktır. Bu IP’leri yazınız.

A sınıfı IP başlangıç adresimiz. 00000001.00000000.00000000.00000000 olsun. Bu adres aynı zamanda Ağı tanımlamaktadır. 6 adet bilgisayar için sırasıyla son bitten başlayarak ikilik sistemde tanımlanmış adres arttırılır. Bu durumda IP dağılımı aşağıdaki gibi olur.

00000001.00000000.00000000.00000000       1.   0.    0.  0     Ağın kendisi

00000001.00000000.00000000.00000001 1.   0.    0.  1     PC1

00000001.00000000.00000000.00000010 1.   0.    0.  2     PC2

00000001.00000000.00000000.00000011 1.   0.    0.  3     PC3

00000001.00000000.00000000.00000100 1.   0.    0.  4     PC4

00000001.00000000.00000000.00000101 1.   0.    0.  5     PC5

00000001.00000000.00000000.00000110 1.   0.    0.  6     PC6

00000001.00000000.00000000.00000111        1.   0.    0.  7     Yayın adresi

11111111.11111111.11111111.11111000         255.255.255.248  Ağ Maskesi

Burada en başta ifade edilen  bit  A sınıfı IP’ nin tanımlanması için kullanılmaktadır. Eğer IP B sınıfı olsaydı ilk bit 1 ile başlayacaktı. C sınıfında 110 D sınıfında ise 1110 olarak başta ki bitler değişecekti. Dikkat ederseniz ilk olarak ağın kendisi tanımlanmıştır. Bu IP adresi hiçbir PC ye verilmez bu adres ağın kendisini tanımlar. Aynı şekilde yayın adresi de hiçbir PC ye verilmemelidir. Yayın adresi üzerinden tüm bilgisayarlara sinyal gönderilir (broadcast). O zaman şu hesabı yaparsak 6 adet PC için tam olarak 3 bit kullanılır. 23= 8 ikisi kullanılmayacağından 8-2 = 6 bu şekilde de sağlamasını ifade ederiz.

Örnek.2: Örnek.1’ de 26 PC verilseydi kaç bit ayrılması gerekirdi. .

24= 16 yapar o zaman 4 bit yetmez 25 i düşünürsek 32 sayısını buluruz. Bu durumda

32-2=30 yapar. 2 çıkarmamızın nedeni yayın adresini ve ağı tanımlayan adresi kullanmamamızdır. 5 bit için 30 PC tanımlaması yapabiliyoruz. 26 PC için 5 bit yeterli 4 tanede yedek olarak PC tanımlaması ileride rezerve edilebilir.

Döküman Arama

Başlık :

Kapat