Yazar arşivleri: Oguzhan Eren

Kablosuz Ağlarda “Gürültü” Problemleri Hakkında

Bu gün sizlere kablosuz ağların kullanımının çok çok artması sonucu ortaya çıkmaya başlayan bir sıkıntıdan bahsedeceğim.  Kablosuz ağlar, kullanıldıkları ortam dahilindeki başka faktörlerden de etkilenebiliyorlar. Örneğin, 2,4Ghz veya 5Ghz  bandında çalışan AP’ler, çalıştıkları frekansa etki eden diğer cihazlar yüzünden çalışamaz hale gelebiliyorlar.

Özellikle 2.4Ghz frekansı ciddi problem. Günlük hayatta kullandığımız birçok kablosuz ekipman, bu frekanstan çalışıyor.  Kablosuz video aktarıcılar, evlerimizdedeki sabit hatlar için kullandığımız kablosuz DECT telefonlar, bebekleri  dinlemek/izlemek için kullanılan kablosuz alıcı vericiler, mikrodalga fırınlar(büyük tehlike!), bluetooth cihazlar vesaire  vesaire… Bunlara ek olarak ortamda çalışan, sinyali bize kadar ulaşan ama bizim olmayan kablosuz access point’ler.. Bu  cihazların tümü, eğer bizim kablosuz erişim cihazlarımıza kadar sinyallerini ulaştırabiliyorlarsa bizim AP’lerin  yayınlarını olumsuz etkiliyorlar, hatta tümüyle bozabiliyorlar.

İşte bu ortamda çalışan AP’lerin, sadece birinin veya birkaçının değil, hepsinin ortamı tarama ve bize detaylı bilgi  sağlama özelliğinin olması gerekir.

Belirli frekans bantlarını gerçek zamanlı olarak Layer1 ortamında tarayıp ham data alabilen bu sistemlere Spectrum Analyzer  denilir. Spectrum Analyzer cihazları önceden USB’den bilgisayarımıza bağladığımız ekipmanlardı. Bilgisayarımıza bu  cihazları takar ve inceleyeceğimiz ortamda bunları çalıştırıp o bölgenin havasını “koklardık”. Artık USB’den takılan bu  pahalı ekipmanlara ihtiyacımız yok, artık her AP’nin birer Spectrum Analyzer’lik yaptığı kablosuz ağ yapıları  kurulabiliyor. Hatta ve hatta artık AP’ler bir yandan yayın yaparken bir yandan da Spectrum Analyzer’lik yapıp ortamdaki  tüm sinyalleri bize gösterebiliyorlar.

Spectrum Analyzer olarak çalışabilen AP’ler sayesinde, bizler, artık herhangi bir AP’nin duyabildiğini her türlü sinyali  analiz edip, bu sinyalin AP’yi etkileyip etkilemediğini anlayabiliyoruz. Bu imkan önemli bir imkan, özellikle kablosuz  ağların dominant bağlantı teknolojisi haline geldiği, son kullanıcı için kablo bulunmayan ofislerin kurulduğu günümüz  dünyasında gerçekten büyük bir imkan. Önceden kablosuz network, kablolu ağ çalışmadığı zaman danışılan bir yardımcı  ortamdı. Artık kablosuz ağ olmadan veya kablosuz ağ düzgün çalışmadan işler yürümüyor, çok çok kritik işler kablosuz ağlar  üzerinden yürütülüyor.

Peki, daha açık olmak gerekirse bu sistem tam olarak ne işimize yarayacak?

Bu sistem sayesinde biz istediğimiz zaman AP’lerin tam olarak neler duyduğunu anlayabileceğiz. Yoksa bizim AP’nin  yakınlarında, binanın diğer tarafındaki ofiste olan ama orada olduğunu bilmediğimiz bir mikrodalga fırın mı var? Yoksa  bizim kattaki kablosuz ağ, üst kattaki gibi sapasağlam çalışmıyor, sebebi bu mu? Özellikle sabahları kablosuz ağ arada bir  duruyor, yoksa yan ofisteki arkadaşlar poğaçalarını mı ısıtıyorlar mikrodalgada? :))

Evet eskiden bu tip problemleri tespit edip ortadan kaldırmak çok çok zordu. Artık bir RF uzmanının yerinde müdahalesine  bile gerek yok, AP’ler otomatik olarak kendisini rahatsız eden gürültüyü anlayıp hemen boş ve rahat bir kanala  zıplayıveriyorlar.

Velhasıl artık tüm AP’lerimizde Spectrum Analyzer çalışması ve hem Kablosuz Ağ yayını yapıp hem de aynı anda Spectrum  Analzer ile veri toplanabiliyor olması çok aradığımız ve önemli bir kablosuz ağ mimarisi…

İyi çalışmalar.

Oğuzhan Eren

Kablosuz Ağlarda Option 82 desteği.

Biraz da kablosuz dünyadan bahsedelim. Kablosuz dünyaya ait tonla teknoloji var ve bunlardan birçoğu gerçekten hayatı
kolaylaştıracak türden. Ben Aruba Networks ürünleri üzerinde çok çalıştım ve Aruba Networks ürünleri merkezli olmak üzere
diğer tüm networking üreticilerinin ön plana çıkarttığı kablosuz teknolojiler hakkında biraz konuşmak isterim.
Örneğin option 82 özelliğinden bahsedelim.
Normalde kablosuz istemcilerin DHCP istekleri, bilindik bir şekilde, DHCP standardına uygun olarak DHCP sunucuya ulaşır,
DHCP sunucu bunlara bir IP adresi sunar ve o IP adresi o istemcinin olur. DHCP sunucunun istemci ile aynı yerel ağda
olmadığı durumlarda, istemcinin default gateway’inin DHCP Relay işlemi yapması gerekir. Yani, istemcinin default gateway’i
kendisine gelen DHCP isteklerini başka bir network’teki DHCP sunucuya “relay” eder. Bu şekilde, DHCP server istemci ile
aynı network dahilinde değilken de DHCP server ip sağlama hizmetini yerine getirebilir.
Peki Option 82 özelliği bu işin neresinde?
Büyük çapta bir network düşünelim. Dünya çapında bir network olsun. Her ülkenin değişik yerlerinde hot spot access
point’lerimizin olduğunu düşünelim ve AP’lere bağlanan müşterilerimizin bir captive portal sayfası aracılığı ile bizden
internet satın alıyor olduklarını varsayalım. Sonuçta bunu sağlamak için müşterilerimiz AP’lere bağlanıp otomatik IP
alacaklar ve internet’e gitmeye çalıştıklarında bizim captive portal’i görecekler. Her hot spot lokasyonunu farklı bir IP
bloğu olarak atayabilir veya belirli bir bölgedekileri (örn İst – Ortaköy bölgesi cafeleri gibi) aynı network dahilinde de
tutabiliriz, çok önemli değil. Asıl önemli olan nokta, bizim merkezde bulunan içerik sağlama yazılımlarımızın (captive
portal’i ve/veya captive portal üzerindeki reklamları sağlayan yazılımlarımızın) hangi müşterimizin hangi AP üzerinden
merkeze bağlandığını bilebilmesidir. İşte bunu option 82 ile sağlamak mümkün.
Yani olay şöyle çalışıyor, bir müşteri bir AP üzerinden bağlanıyor, DHCP isteği gönderiliyor. Bu DHCP isteği merkezdeki
controller tarafından relay edilip DHCP server’a gönderilmeden hemen önce option 82 field’ina bu müşterinin bağlandığı
access point’in mac adresi (veya essid’si) yazılıp öyle gönderiliyor. Artık DHCP server IP’yi ona göre verir, içerik
sağlamak yazılımları müşterinin göreceği captive portal’a ona göre reklam yayınlarlar, o merkezdeki yazılımlara kalmış.
Bu anlamda option 82 teknolojisi, mekan tabanlı hizmet servislerine önemli katkı sağlamış oluyor.
Teşekkürler ;)
Oğuzhan Eren

OSI Modeli ve Standardizasyon

Biraz da OSI modelinden bahsetmek istiyorum. Çünkü bu iş “networking”in kalbi. Aslında kendimden bahsederek örnek vermem gerekirse, normalde aşağıdaki konu, değişik faktörlere göre değişmekle beraber uzun günlerle ifade edilebilecek zamanlar içerisinde, interaktif bir şekilde (bol sorulu cevaplı) bol örnekli, tekrarlamalı ve tabii eğlenceli bir şekilde anlatılır :) Yani ben öyle anlatırım :)

Bu konu hakikaten çok çok önemli olduğu için, networking dünyasının en “öz” konularından biri olduğu için, bu konuyu anlamak ve öğrenmek kadar bunu birilerine anlatmak da inanılmaz zevklidir. Aşağıda anlatılan konuları bilmeyen arkadaşlara, bunları bir şekilde öğrenmelerini; bilenlerin ise bir punduna getirip bunları birilerine anlatmalarını tavsiye ederim. Hakikaten anlaması da anlatması da çok zevkli.

Tabii ben saatlerce bilgisayarımın başında oturdum ve aşağıdaki yazıyı yazdım. Fakat bu tip konuları aşağıdaki gibi bir düz yazıyı okumak sureti ile öğrenmeye çalışmak zor olabilir. O yüzden aşağıdaki yazı size sıkıcı gelirse, hemen networking camiasına ve yazıda bolca ismi geçen teknolojilere laf atmayın, profesyonel bir eğitim kurumuna gidin, bu işi derslik ortamında öğrenin :) Benim tavsiyem her zaman o yöndedir.

Kolay gelsin, haydi bakalım:

Biliyorsunuz artık bilgisayar ağları sayesinde bilgi alışverişi çok hızlandı. İnsanlar çok daha rahat bir şekilde bilgiye ulaşmaya başladılar. Peki bu kadar çok sayıda bilgisayarın hepsi nasıl birlikte çalışabiliyor? Sistemin kuralları neler?

Burada anahtar cümle “Sistemin Kuralları”dır. Madem bir sistemden bahsediyoruz, onu sistem yapan etkenlerden de bahsetmeliyiz. Bilgisayar ağları, müthiş bir şekilde çalışmakta iken, aynı zamanda belirli kurallara da uymak zorundadırlar. Örnek vermek gerekirse; büyük bir şehir dahilinde milyonlarca araç bulunabilir. Bu araçlar istedikleri vakit bütün şehri altüst edecek ve şehri yaşanmaz hale getirebilecek potansiyele sahiptirler. Fakat aynı araçlar belirli kurallar dahilinde işletildiklerinde insanlar için büyük kolaylıklar getirmektedirler. Bu örnekte bahsettiğimiz kural tabii ki trafik kurallarıdır. Eğer büyük bir sistem (milyonlarca araçtan oluşan trafik) kurallar dahilinde çalışmaz ise bu sistem dahilindeki öğelerin işe yaramamasını ve sistemin amacından sapmasını beraberinde getirir.

Bilgisayar ağları daha oluşum aşamasındayken sistemin kuralları üreticiler bazında belirlenmişti. Mesela IBM, ürettiği bilgisayar için belirli kurallar tanımlamış idi. Bu kurallar donanım ve yazılım anlamında bazı çalışma şekillerini anlatıyordu. IBM bilgisayarların tümü ağ donanımı ve yazılımı anlamında birbirinden anlayan yapıdaydılar ve tabii ki ancak birbirleri ile çalışabiliyorlardı.
Diğer üreticiler de kendilerine özel donanımsal ve yazılımsal kurallar ile bilgisayar ağlarına dahil olabilecek bilgisayarlarını ürettiler. Bu sayede bir üreticiye ait herhangi bir bilgisayar aynı üreticiye ait başka bir bilgisayar ile konuşabilir duruma geldi.

Şimdiye kadar bilgisayar ağlarından bahsettik, bilgisayarların ortaklaşa çalışmalarının ve bilgiyi paylaşmalarının öneminden bahsettik. Bilgisayarların ortaklaşa çalışmaları için belirli kurallara uymak zorunda oldukların bahsettik ve farklı üreticilerin ortaya koyduğu farklı kurallardan bahsettik. Buraya kadar anlatılanlar dahilinde söyleyebiliriz ki tek bir üreticinin ürettiği bilgisayarlar kendi aralarında gayet güzel çalışabilirler, bu bilgisayarları kullanan kişiler ürettikleri verileri paylaşabilirler. Peki biz farklı üreticilerin bilgisayarlarını birbirleri ile konuşturmak istiyorsak? Bu problemin çözümü için Uluslararası Standartlar Organizasyonu (ISO), Internet Engineering Task Force (IETF), IEEE gibi kurumlar ortak standartları belirlemek üzere çalışmaya başlamışlardır.

İletişimi belirli standartlar dahiline oturtmak ve ortak platformda geliştirilmesi çok daha karlı olacak teknolojileri (uzak-yakın mesafe bağlantı tipleri, kablo yapıları vs) ortaya koyabilmek için uluslararası kurumlar belirli standartlar oluşturdular. Gerçekten de iletişimin marka bağımlı olarak yapılması mantıksızdı ve sistemler günümüzdeki hallerine geldiler. Günümüzde sistemler belirli kurallar dahilinde işlerini yapıyorlar ve siz bir “bilgisayar ağı”na dahil etme niyetiyle hangi bilgisayarı alırsanız alın, bu cihazların tümü –temelde- aynı mantık ile çalışıyorlar.

TCP/IP ve OSI Network Modelleri

Farklı üreticiler tarafından ortaya konan farklı iletişim teknikleri, söz konusu üreticilerin bilgisayarlarının birbirleri ile haberleşmelerini sağlamakta idi. Fakat herhangi bir üreticiye bağımlı kalmadan, ortak kullanılan bir iletişim metodunun üretilmesi amaçlandı. Bu sayede bütün bilgisayarlar, hangi marka olursa olsun birbirleri ile haberleşebileceklerdi.

Bu standartlaşmış ortamının kullanıcılar açısından getirdiği fayda, kolay kullanım olmaktadır. Şu anda dünyada, belirli iletişim kurallarına uyan bilgisayarlara sahip kullanıcılar, aynı iletişim kurallarına uyan diğer bütün bilgisayarlar ile iletişim içerisinde olabilirler. Bir kullanıcı bir adet televizyon satın aldığı vakit, bu televizyonun evindeki prize takınca çalışacağını bilir. Buradaki önemli nokta standardizasyondur. Verilen örnekte, satın alınan televizyonun voltaj ve akım standartları, ülke dahilindeki elektrik prizlerinin voltaj ve akım standartlarına uymaktadır. Bu sayede televizyon satın alan kullanıcı, bu cihazın evindeki prizde çalışıp çalışmayacağı endişesine kapılmaz. Bu olay kullanıcı açısından düşünüldüğünde tek kelime ile “kolaylık”tır.

Cihazlar arasindaki standardizasyon ve uyum, üreticiler açısından düşünüldüğünde de maliyet avantajları farkedilebilir. Üreticiler, özellikle bilgisayar ağları dünyasında standardizasyonun çok önemli olduğu bilmektedirler. Çünkü bilgisayar ağları dünyası paylaşım ve iletişim dünyasıdır. Bilgisayar ağlarının temelini oluşturan yapı, internet, dağıtık bir yapıda çalışan devasa bir sistemdir ve bu sistemin temelini “kullanılan ortak dil”ler, diğer bir tabirle standartlar oluşturur. Ancak belirli standartlar ve kurallar sayesinde muhteşem büyüklükteki sistem zaptedilebilir ve yönetilebilir hale getirilmiş olur.

Bilgisayar ağları dünyasındaki temel standart, katmanlama standardıdır. Temel bilgisayar mimarisinden bahsedecek olursak (öncelikle işin içine “network”ü katmayalım) bilgisayarlar şu katmanlardan oluşurlar:

OSI_1

Bu katmanlar bilgisayar sistemlerinin en temel iskeletidir. Sistem her ne kadar karmaşık olursa olsun, en yukarıdan bakıldığında bu katmanlardan ibarettir. Bu sistem bilgisayarın çalışmasını ve cihazın karşısında oturan insanın silikondan yapılma ilginç elektronik devreleri yola getirerek onlar sayesinde iş yapabilmesini sağlayan sistemdir. Bilgisayar kullanıcısı bir “uygulama”nın karşısında oturmaktadır. Söz konusu uygulama bir “işletim sistemi” üzerinde çalışır. İşletim sistemi de “donanım” üzerinde çalışmakta ve uygulamanın (ve dolaylı yoldan kullanıcının) isteklerini yerine getirmeye uğraşmaktadır.

Bahsettiğimiz sistem, kişisel bir bilgisayarın çalışmasını anlatır ve gerçekten rahat anlaşılabilecek bir yapıdadır. Gerçekten de bizler bu sistemin katmanlarını görebilmekte, onlara olabildiğince müdahale edebilmekteyiz. Tam olarak karşımızda bir uygulama var, işletim sistemi var ve o sistemin üzerinde çalıştığı bir donanım var.

İş “ağ” olayına gelince durum farklılaşmaktadır. Bu katmanlara sahip bilgisayarlar, birbirleri ile konuşabilmelidirler. Peki bu konuşma nasıl olacaktır?

Bu soruya cevap öncelikle farklı üreticiler tarafından farklı şekillerde verilmiştir. Daha önce de bahsettiğimiz gibi farklı üreticiler değişik biçimlerde iletişim kuralları (diller) yazarak kendi ürettikleri bilgisayarların birbirleri ile konuşmalarını sağlamışlardır.Fakat iş dünya çapında ortak mantıkla çalışan bilgisayarların ortak bir dille konuşmalarına gelince, tümüyle bütün üreticilerin uyması gereken bir kurallar zinciri ortaya çıkmıştır. Bu kurallar bütünü bir “model”dir ve üreticiler bu modele uygun bilgisayar geliştirdikleri için standardizasyonu sağlamışlardır. Bu model OSI modelidir ve ISO (International Organization for Standardization) tarafından geliştirilmiştir. Bu modele göre bilgisayarlar 7 değişik katmana sahiptir ve bu katmanlar sayesinde bilgileri paketleyip iletmektedir. Bu katmanlar şu şekildedir.

7- Uygulama (Application)
6- Sunum (Presentation)
5- Oturum (Session)
4- İletim (Transport)
3- Network
2- Data-link
1- Fiziksel

Bu  7 katman sayesinde kullanıcıların verilerini uzaklara göndermekle yükümlü uygulama-işletim sistemi-donanım üçlüsü, yani bilgisayar belirli kurallara göre söz konusu gönderme işlemini yapmaktadır.

Peki OSI modeline göre ortaya çıkmış 7 katman nerededir?
Bu soru önemlidir. Gerçekten de biz, az önce bahsettiğimiz genel mimariyi gözlemleyebiliyoruz. Uygulamayı görüyor, işletim sistemini yüklüyor ve donanımı satın alıp kuruyoruz. Fakat network uygulamaları için gereken ve genel mimari diye adlandırdığımız uygulama-işletim sistemi-donanım üçlüsü ile bütünleşik çalışan 7 katmanlı mimariyi göremiyoruz. Bahsettiğimiz 7 katmanlı OSI modeli aşağıdaki şekilde gösterildiği üzere, genel mimari ile bütünleşik çalışmaktadır.

osi22

7 katmanlı OSI modelinin bilgisayar ağları dünyasında gerçekten uygulanışı TCP/IP protokol yığını (protocol stack) ile olmuştur. 7 katmanlı mimarinin katmanları aslında birer program parçacıklarıdır. Bu program parçacıkları birbirlerine data “paslarlar”. Yani en yukarıdan -uygulama katmanından- alından veri, her katmanda bazı ekler almak sureti ile aşağı doğru ilerler. Bütün katmanlar tarafından etiketlenen veri en sonunda fiziksel katman sayesinde kablo üzerine aktarılır ve gideceği yere ulaşmak üzere yola koyulur.

OSI Modeli Katmanları ve Görevleri

OSI modeli ile belirlenen katmanlar ortak bir dil ortaya koyar.  Bu katmanlara uygun şekilde gerçekleşen veri akışı global bir standart oluşturmaktadır. Aslında OSI modeli, ISO tarafından ortaya konmuş bir modeldir ve hiç bir zaman ticari olarak gerçekleşmemiştir. Sadece model olarak kalan bu mimari, şu an kullandığımız teknolojiler için referans olmaktadır.

7. Katman, Uygulama (Application) Katmanı
OSI modelinin yedinci katmanı olan uygulama katmanı, öncelikle akla geldiği üzere bilgisayarlarımızda kullandığımız uygulamaların bulunduğu katman değildir. Bu katman sayesinde kullandığımız uygulamalar, ağda yol almak üzere belirlenen veriyi, hedefine ulaşması amacı ile protokol yığınına teslim ederler. Uygulama katmanı, kullandığımız uygulamalar ile bütünleşik olabilir. Eğer biz ağ üzerine çalışmak üzere tasarlanmış, ağı kullanma kabiliyeti olan bir uygulama çalıştırıyorsak, bu program ürettiği verileri uygulama katmanına teslim eder ve hedefine doğru yol almasını sağlar. Eğer biz Internet Explorer programını çalıştırmış isek, bu program bizim ürettiğimiz verileri uygulama katmanında belirlenen protokoller dahilinde paketleyip hedefe gönderecektir. Bu katmanda, uygulamadan gelen veriye hangi protokolü kullanacak ise, o protokol ile ilgili bilgiler eklenir. Uygulama katmanı, uygulamaların network’e veri taşıması aşamasındaki ilk adımdır. Burada üretilen veri daha sonra bir sonraki katman olan sunum katmanına teslim edilir. Aşağıdaki şekilde, kullanıcının ürettiği veri (örneğin uzaktaki bilgisayara iletilmek üzere yazdığı yazı) uygulama katmanı tarafından teslim alınmıştır. Bu veriye kullanılacak 7. seviye protokolün başlığı (header) eklenir.

osi3

Yazımızın ilerleyen bölümlerinde, MSN Messenger programı ile bir sohbet gerçekleştiren kullanıcının yazdığı “Merhaba” yazısının nasıl hedef bilgisayara gittiğinden bahsedeceğiz.

6. Katman, Sunum (Presentation) Katmanı
Bu katmanda, uygulama katmanından gelen veriye, aynen diğer katmanlarda olduğu gibi bazı eklentiler yapılır. Bu katmanda, verinin tipi, üst katmandan gelen pakete eklenir. Sunum katmanına, yukarıdan gelen veri aslında uygulama katmanı eklentisi + veri şeklindedir. Yukarıdan gelen bu verinin tümüne, sunum katmanında veri tipi eklenir, ortaya çıkan pakey tümüyle bir alt katmana gönderilir.

osi4

Görüldüğü üzere, en üstte üretilen veri, her katmanda bir eklenti edinmek sureti alt katmanlara doğru yol almaktadır.

5. Katman, Oturum Katmanı
OSI modelinin bu katmanında aşağı doğru yol alan veriye oturum değişkenleri eklenir. Bu değişkenler bir çok uygulamada gerekli olan oturum değerlerini belirlerler. Bankacılık uygulamalarında kullandığımız SSL (Secure Socket Layer) teknolojisi, oturum katmanı bazında yapılan şifrelemeye dayanır. Bu teknoloji, oturum katmanının önemli bir temel teşkil ettiği teknoloji olarak oturum katmanına örnektir.

osi5

4. Katman, İletim Katmanı
Bu katman, işletim sisteminin yönetimi dahilinde olan bir katmandır. Bu seviyede, kaynak bilgisayar ve hedef bilgisayar arasındaki güvenli (reliable) iletişimin gerekleri yerine getirilir. Iletim katmanında çalışan en bilinen protokol TCP protokolüdür ve bu katmanda yukarından (oturum katmanından) gelen veriye eğer TCP protokolü kullanılıyor ise bu protokolün verileri eklenir. TCP protokolü, bu katmanda, veriye yerel işletim sisteminden çıkış ve hedef işletim sisteminin giriş sanal portlarını yazar.

osi6

3. Katman, Network Katmanı
Bu katman ise çoğunlukla IP protokolünün çalıştığı ve mantıksal adreslemenin gerçekleştiği katmandır. Bu katman dahilinde üretilen IP paketleri, üst katmandan gelen pakete IP verileri eklenmesi ile oluşur.Bu katmanda IP protokolünden başka IPX, Appletalk gibi diğer protokoller de kullanılabilir fakat bu katmanda çoğunlukla kullanılan protokol IP’dir.

osi7

2. Katman, Data-Link Katmanı
OSI modelinin 2. seviyesi olan Data-Link katmanında ortam taşıyıcısı belirlenir.
Bu katman karşımıza “taşıyıcı” kavramını çıkarır. 3. seviyede yani Network katmanında üretilen IP paketi, Data-Link katmanında kullanılan taşıyıcı ile “taşınır”. Buradaki taşıyıcı, 3. seviyede ürettiğimiz IP paketinin aldığı yol boyunca değişiklik gösterebilir. Lokal ortamlarda çoğunlukla kullandığımız Ethernet teknolojisi bir taşıyıcıdır. Uzak mesafe bağlantılarda ise kablo ve bağlantı tiplerine bağlı olmak üzere PPP, HDLC, ATM, X.25, Frame-Relay gibi protokoller de kullanılabilir. Bahsi geçen bu protokoller 2. seviye taşıyıcılardır ve adından da anlaşılacağı üzere 3. seviyedeki IP paketlerini taşımak amacıyla kullanılırlar.

osi8
1. Katman, Fiziksel Katman
OSI modelinin en alt katmanında fiziksel katman bulunur. Bu katmanda veri, elektrik sinyallerine çevrilmek sureti ile değişik kablo teknolojileri dahilinde iletilir. Ethernet gibi bazı 2. seviye protokoller çalışmak için kendilerine özel fiziksel iletim teknolojileri kullanırlar. Örneğin, Ethernet teknolojisi fiziksel seviyede UTP veya STP kablolar kullanır.

osi9

OSI Modeli ve TCP/IP Modeli
Dünya çapında bilgisayarların birbirleri ile ortak bir dil aracılığı ile konuşmasını amaçlayan katmanlama teknolojisi, OSI modeli ile ortaya atılmıştır. Ama işin pratiğe dökülmesi TCP/IP modeli ile gerçekleşmiştir.
Dünya çapındaki bilgisayarlar, OSI modeli ile standardizasyona zorlanmış olsa bile, şu an hiç bir bilgisayarın üzerinde OSI modeli yüklü değildir. Şu an çoğunlukla bilgisayarlar TCP/IP modelini kullanırlar. Peki TCP/IP modelinin katmanları nedir?

Aşağıdaki şekil TCP/IP modeli ile OSI modelinin karşılaştırılmasıdır.

osi10

Buraya kadar olan kısımda OSI modelini anlattık. Fakat OSI modelinin katmanları epeyce havada kalmış oldu. Çünkü bu katmanları anlatırken somut örnekler vermedik. Somut örnekler vermememizin sebebi, şu anda bu modelin kullanılmıyor oluşudur. Bu model hayali olarak anlaşılmalı ve birazdan anlatacağım gerçek çalışma sisteminin temelini teşkil etmelidir. Gerçek çalışma sisteminin anlaşılması, OSI modelinin anlaşılması ile mümkündür.

Şu andan itibaren somut örnekler başlayacaktır. Biz şu anda bilgisayarlarımız üzerinde TCP/IP ve OSI modelinin birleşiminden oluşan hibrid modeli kullanıyoruz. Hibrid modelde belirlenen katmanlar uyarınca veri iletimimizi gerçekleştiriyoruz. Hibrid modelde belirlenen seviyelerde, belirli protokoller kullanıyoruz.
Şu anda kullandığımız hibrid model, bilgisayarlarımız üzerinde çalışmakta ve biz bu modele uygun üretilmiş ünlü uygulama-işletim sistemi-donanım üçlümüz ile iletişimi gerçekleştiriyoruz.
Şimdi bir bilgisayardaki sohbet programının, örneğin MSN Messenger’in, girdiğimiz bir yazıyı karşı tarafa nasıl gönderdiğini, girdiğimiz yazının katmanlar arasından akarken, kabloya aktarılana kadar hangi eklentilere maruz kaldığını inceleyelim.

Bir örnek; MSN Messenger’da sohbet eden kullanıcı

MSN Messenger ile sohbet eden bir kullanıcının yazdığı yazıların nasıl karşı bilgisayara ulaştığını inceleyelim.

Örnek network diagramı:

osi111_

Senaryomuza göre, şekildeki iki bilgisayar birbiriyle MSN Mesajlaşması gerçekleştirsin. Gerçekte MSN programındaki metin tabanlı mesajlar, merkezi bir server üzerinden diğer kullanıcılara iletilir. Ama bizim örneğimizde birbirine bağlı iki bilgisayar, direkt olarak birbirlerine mesaj gönderecekler. Bu şekildeki sadeleştirme, işlemin anlaşılmasını kolaylaştıracak.

A bilgisayarında oturan kullanıcı, B bilgisayarındaki kullanıcı ile haberleşecek. Bu yapıda, ortam değişkenlerimiz şu şekilde:

A Bilgisayarı:
MSN Kullanıcısı ismi: Ali
Ethernet Adresi: abc
IP Adresi: 10.1.1.1

B Bilgisayarı:
MSN Kullanıcısı ismi: Ahmet
Ethernet Adresi: xyz
IP Adresi: 10.1.1.2

Bu iki bilgisayar birbirine cross kablo tabir edilen kablo ile bağlı. Bu, yerel ethernet ağlarında çoğunlukla kullanılan UTP kabloların farklı dizilişli bağlanması ile elde edilen bir kablodur. Bu kablo ile iki ethernet kartı arada başka cihaz olmaksızın direkt birbirine bağlanabilir.

Bu iki bilgisayarda da MSN Messenger programı yüklü olsun. Bu durumda Ahmet’in bilgisayarındaki MSN Messenger programı, Ali’nin bilgisayarındaki MSN programından gelecek verileri kabul edebilecek durumda olacaktır.

Öncelikle Ali, Ahmet’e göndermek üzere ekranındaki MSN penceresine “Merhaba” yazar. Bu, Ali’nin karşı tarafa göndermek istediği “veri”dir. Bu veri değişik aşamalardan geçtikten sonra kablo üzerinden Ahmet’in bilgisayarına varacaktır. Hedefine varan veri, yine işlendikten sonra ekrana yansıtılacaktır.

Burada belirtilen “aşama”lar TSP/IP, OSI Hibrid modelimizde belirttiğimiz katmanlardır. Ali’nin yola çıkmak üzere yazdığı “merhaba”; bu katmanlar, diğer bir deyişle program parçacıkları arasında yol alarak ve her aşamada farklı farklı bilgiler edinerek hedefine doğru yola çıkacaktır.

Öncelikle; Ali’nin yazdığı “Merhaba” yazısı MSN Messenger programı aracılığı ile uygulama katmanına teslim edilir. Bu arada şunu da belirtmeliyiz ki, her katmanda olup biteni şekiller ile destekleyerek anlatımımıza ekleyeceğiz.
İlk olarak Ali’nin “Merhaba” yazısı uygulama katmanına (Katman 7) teslim edilir, burada kendisine gerekli eklentileri edindikten sonra, sıradaki katman olan 6. katmana yani sunum katmanına teslim edilir.

osi12_

Uygulama katmanında, veriye, programa özel datalar yazılır. Burada veri’ye karşı bilgisayara gitmek üzere kullanacağı 7. seviye protokol bilgileri de –gerekiyorsa- eklenir. Örneğin biz MSN Messenger değil de ftp protokolünü kullanıyor olsaydık, 7. seviyede (Uygulama katmanı) veriye ftp header bilgisi yazılacaktı.

Uygulama katmanında oluşturulan paket, tümüyle bir alt katman olan 6. seviye sunum katmanına teslim edilir. Burada önemli olan nokta paketin tümünün bir alt katmana teslim edilmesidir. Sunum katmanında yukarıdan gelen pakete yine bazı bilgiler eklenecektir.
Sunum katmanında, üst katmandan gelen paket alınır ve bu pakete, içerisinde taşıdığı verinin tipi bilgisi eklenir. Biz örneğimizde veri tipi olarak, karşı bilgisayara “text” gönderdiğimiz için, sunum katmanında, üst katmandan alınan veriye text ibaresi eklenecek.

osi13_

Sunum katmanında yukarıdan gelen paketin tümü alındı ve ona bir başlık (header) eklendi. Bu başlıkta, taşıdığımız verinin tipi yeralmakta. Sunum katmanında elde ettiğimiz tüm paket bir alt katmana (katman 5, oturum katmanı) gönderilecek.

5. Katman olan oturum katmanında, üst katmandan gelen paket tümüyle alınacak ve ona yine bir başlık bilgisi eklenecek. Bu sefer, eklenen bilgi “oturum değişkenleri”ni içerecek. Burada “oturum” derken MSN Messenger oturumundan bahsediyoruz. Bu katmanda eklenecek oturum değişkenleri MSN Messenger’in oturum değişkenleri olacak ve bu değişkenler, MSN Takma isimleri.

Bu katmanda eklenen oturum değişkenlerinin yani MSN takma isimlerinin amacı, karşılıklı programlar arasında akan verinin uygulama bazında farklılaştırılmasını sağlamak. Bu seviyede, üst katmandan gelen veriye, Ali ve Ahmet takma isimleri yazılacak. Bu sayede karşılıklı çalışan MSN Messenger programları, kendilerine gelen verinin hangi kullanıcıdan geldiğini anlayabilecekler.

osi14_

Oturum katmanında, bir üst katman olan sunum katmanından gelen paketin tümüne oturum değişkenleri eklendi ve oluşan yeni paket bir alt katman olan iletim katmanına iletildi.
4. Katman olan İletim seviyesinde, işlemler biraz daha farklılaşmaktadır. İşlemlerin farklılaşmasından kasıt zorlaşması veya anlamının değişmesi değildir. Farklılaşmadan kasıt, katmanların hizmet ettiği kesimin değişmesidir. Önceki anlattıklarımızdan hatırlayacak olursak, genel bilgisayar mimarisi 3 temel kademeden oluşmakta idi. Bunlar donanım-işletim sistemi-uygulama üçlüsüdür. Buraya kadar anlattığımız olaylar “uygulama”nın yaptığı işlemlerdir. Buraya kadar bahsedilen uygulama katmanı, sunum katmanı ve oturum katmanı, MSN Messenger uygulaması dahilinde yapılan işlemlerdir. Şimdiden itibaren yapılacaklar ise işletim sisteminin denetiminde gerçekleşecektir.
osi15_

Üstteki şekilde de görüldüğü üzere; uygulama, sunum ve oturum katmanları, genel olarak “uygulama” çatısı altında toplanan (implement edilen) katmanlardır. Şimdi sıradaki katman ise “iletim katmanı”. Bu katman işletim sisteminin hakimiyetinde çalışmaktadır. MSN Messenger kendi içindeki uygulama sunum ve oturum katmanlarında oluşturduğu verileri şimdi işletim sisteminin iletim katmanına teslim edecek ve gitgide yeni eklentilerle büyüyen paketimiz, yolculuğuna devam edecek.

4. Seviye İletim katmanında, bir üst katmandan gelen paket alınarak, bu pakete bilgisayar üzerinde çalışan 4. seviye protokol uyarında gerekli bilgiler eklenir. Yerel veya uzak mesafe bağlantılarımızda, internet bağlantılarımızda çoğunlukla TCP protokolünü kullanırız. TCP (Transmission Control Protocol) 4. seviye bir protokoldür ve bilgisayarlar arası güvenilir (reliable) haberleşmeyi sağlar. TCP protokolü ile iletilen paketler, hedef noktaya vardıklarında, veriyi alan bilgisayar veriyi aldığına dair geri bildirimde bulunur. Bu geri bildirim (acknowledgement) mekanizması sayesinde kaynak bilgisayar, hedefe gönderdiği bilginin gerçekten yerine ulaştığından emin olur.

Bu katmanda TCP protokolünden başka protokoller de kullanılabilir. Geri bildirimin  gerekmediği ortamlar için UDP (User Datagram Protokol) kullanılır. Bu protokol, geri bildirimin gerekmediği Video ve Ses yayını, IP protokolü ile ses taşınması uygulamaları için uygundur.

Bizim örneğimizdeki iki bilgisayar birbirleri arasında MSN Mesajlaşması yapıyorlar iken, 4. seviyede TCP protokolünü kullanmaktadırlar. Bu katmanda TCP protokolü bilgileri, üst katmandan gelen pakete eklenecektir. TCP protokolü bilgileri kaynak ve hedef port numaralarıdır.

Network ortamında TCP/IP OSI Hibrid yapısına göre haberleşen ve TCP protokolünü kullanan bilgisayar sistemleri, birbirlerinin uygulamalarına erişmek için sanal portları kullanırlar. Örneğin bir Web Sunucu, bulunduğu bilgisayarın 80. portunu “dinler”. Yani bir Web Sunucu yazılımının bulunduğu bilgisayarın 80. portu hedeflenerek yapılan istekler, 80. portu Web Sunucu dinlediği için ona iletilir. Burada, port numaralarının önemi ortaya çıkmaktadır. Sanal port numaraları sayesinde bir işletim sistemi üzerindeki birden çok program ağı kullanabilir ve bunlara gelen bilgiler port numaraları sayesinde birbirinden ayrılır.
osi16_

Bizim örneğimizde, 4. seviye olan iletim seviyesinde, yukarıdan gelen veriye port numaraları eklenecek. Senaryomuza göre, B bilgisayarındaki MSN Messenger programı, 115. portu kullanıyor olsun. Bu, hedef bilgisayardaki MSN Messenger uygulamasının 115. portu dinlediğini gösterir.

osi17_

İletim katmanında, hedef bilgisayarın hangi portuna gideceğimizi yazdık. 4. seviyede oluşturduğumuz veri, hedef bilgisayarın 115 numaralı portuna gidecek. Karşı bilgisayarın 115 numaralı portu, MSN Messenger tarafından dinlendiği için, gönderdiğimiz mesaj 4. katman’dan sonra MSN Messenger’a ait olan 5. katmana teslim edilecek. Daha önce de belirtildiği gibi, 4. seviyedeki sanal port numaraları sayesinde, bir bilgisayarın üzerinde, ağı kullanan birden çok program bulunabilir. Örneğimize geri dönersek, B bilgisayarı aynı anda MSN Messenger, Web Sunucu ve FTP Sunucu yazılımlarını çalıştırabilir. Aynı anda MSN Messenger’a, Web Sunucu’ya ve FTP Sunucuya veri kabul edebilir. Çünkü bir bilgisayara gelen verilerin, o bilgisayar üzerindeki hangi yazılıma gideceği, port numaraları ile belli olur.

FTP Sunucu yazılımları bulundukları bilgisayarların 20 ve 21. portlarını dinlemektedirler. Web Sunucular ise 80. portu dinlerler. Bir bilgisayarın üzerinde hem FTP Sunucu hem de Web Sunucu aynı anda bulunuyorsa, o bilgisayara gelen verilerin hangi uygulama için geldikleri port numaralarına bakılarak anlaşılır. Bir bilgisayara gelen TCP Paketindeki hedef port numarası 80 ise, o TCP Paketi bilgisayar üzerindeki Web Sunucu yazılımına teslim edilir. Eğer bir bilgisayar a gelen paket 21. porta gelmiş ise, bu, o bilgisayar üzerinde bir FTP Sunucu yazılımı çalıştığı ve o yazılıma teslim edilmek üzere bir paket alındığı anlamına gelir.

Bizim örneğimizde ise, biz B bilgisayarının 115 numaralı portunu hedef alarak TCP paketimizi göndermekteyiz. Bu, bizim karşı bilgisayardaki 115 numaralı portu dinleyen MSN yazılımını hedef aldığımızı gösterir.

TCP paketinin üzerine, hedef port bilgisinin yanısıra kaynak port numarası da yazılır fakat o şu an için yazımız dahilinde değil. İleriki yazılarda değinebileceğimiz Network Address Translation konusu dahilinde, kaynak port numaralarından da bahsederiz.

TCP paketi üzerine hedef port numarası yazıldıktan sonra elde edilen paket, bir alt katman olan network katmanına iletilir.
osi18_

Network katmanında, mantıksal adresleme söz konusudur. Dünya çapındaki bilgisayarların haberleşmesinde, en genel 3. seviye standart olarak IP (Internet Protocol) kullanılır. Bu protokolü kullanan bütün bilgisayarların birbirlerinden farklı olacak şekilde birer IP adresleri bulunmaktadır. Bir bilgisayar eğer 3. katmanında IP çalıştırıyor ise, diğer IP protokolünü kullanan bilgisayarlar ile haberleşebilir.

Örneğimizde, 3. seviyede IP protokolü kullanılmaktadır. A bilgisayarının IP Adresi 10.1.1.1’dir. B bilgisayarının IP Adresi ise 10.1.1.2’dir. Bu durumda Network katmanına, üst katmandan gelen pakete, kaynak ve hedef IP Adresleri yazılarak IP Paketi elde edilmiş olur. Network katmanının ürettiği IP paketi bir alt katman olan Data-Link katmanına gönderilir.

Data-Link katmanında, 3. seviyeden teslim alınan IP Paketi, ortamda hangi taşıyıcı protokol kullanılıyor ise o protokol tarafından yüklenilir. Yerel ortamlarda çoğunlukla kullanılan taşıyıcı protokol “Ethernet”tir. Yerel ortamlarda taşıyıcı (2. seviye) olarak ethernet kullanılmak zorunda değildir. Ethernet protokolü en çok kullanılan yerel 2. seviye protokol olsa da; FDDI, Token Ring gibi nispeten daha eski ve daha az kullanılan 2. seviye protokoller de kullanılabilir.

Verilen MSN Mesajlaşması örneğinde, 2. seviye protokol olarak Ethernet kullanılmaktadır. Bu, 3. seviyede üretilen IP paketlerinin “yerel ortam sınırları içerisinde” Ethernet ile “taşınacağı” anlamına gelir.

Uzak mesafelerde ise ortam tipine uygun farklı taşıyıcı teknolojiler kullanılır. PPP, HDLC, Frame-Relay, ATM, X.25 gibi teknolojiler, 2. seviye taşıyıcı teknolojilerdir. Ağ teknoojilerini destekleyen, yani Internet ortamında haberleşebilen bilgisayarlar uzak mesafelere veri gönderirlerken, gönderdikleri uzak bilgisayar ile kendi aralarında kurdukları TCP oturumu ve uçtan uca iletilen IP paketleri sabittir. Değişen ise taşıyıcılardır. Bir IP paketi internet ortamında yol alırken sürekli aynı taşıyıcı ile taşınmak zorunda değildir. Bir IP paketi, yol boyunca kimi zaman ethernet, kimi zaman ATM, kimi zaman Frame-Relay teknolojisi ile taşınabilir.

Bizim örneğimizde, A bilgisayarının 3. seviyede (Network Seviyesinde) ürettiği IP paketi, 2. seviyede “Ethernet” protokolü ile taşınmaktadır.
osi19_

Şekilde de görüldüğü üzere, 3 seviyedeki IP paketi, Ethernet Frame’inin içine konulmuş ve üzerine hangi fiziksel adresten gelip hangi fiziksel adrese gittiği yazılmıştır. Ethernet protokolünde fiziksel adresleme olarak MAC (Media Access Control) Adreslemesi kullanılır. Bir bilgisayarda, network haberleşmesi için Ethernet kartı takılı ise, o bilgisayar ürettiği IP paketlerini taşımak için Ethernet protokolünü kullanıyor demektir. Aynı zamanda, ethernet kartı takılı bilgisayarın bir MAC Adresi bulunur. Bu MAC Adresi dünyada sadece o bilgisayar üzerinde bulunan bir adrestir. MAC Adresleri 2. seviye adreslerdir ve Ethernet Frame’lerinin üzerine kaynak ve hedef adresler olarak yazılır.

Bizim örneğimizde, A bilgisayarının oluşturduğu Ethernet Frame’inin üzerine B’nin (hedef) MAC adresi ve A’nın (kaynak) MAC adresi yazılmıştır.

Bu Ethernet Frame’i, artık yolculuğa hazırdır. Frame, artık 1. seviyeye (Fiziksel Katman) teslim edilebilir.
osi20_

Fiziksel katmana teslim edilen Ethernet Frame’i elektrik sinyallerine çevrilerek kablo üzerinden aktarılır.

Peki B bilgisayarına kablo üzerinden gelecek olan veri, B bilgisayarında nasıl işlenecektir?

B bilgisayarının ethernet kartı, ona takılı olan kablodan gelen elektrik sinyallerini algılayacak ve bu sinyallerin temsil ettiği 2. seviye Ethernet Frame’ini anlamlandırabilecektir.

Hatırlayacağımız üzere, A bilgisayarı kullanıcıdan aldığı “Merhaba” yazısını, her katmanında ayrı ayrı paketleyerek kablo üzerinden iletmişti. Bu esnada A bilgisayarı, her katmanda ürettiği paketi bir alt katmana yollamış, ve paketleri alt katmandaki paketler içerisine koymak suretiyle içi içe paketler üretmişti.
B bilgisayarı da içiçe paketler halinde gelen verileri, aça aça üst katmanlara iletecektir.
osi211_

Yukarıdaki şekilde de görüldüğü üzere, B bilgisayarı kendisine elektriksel sinyaller olarak gelen veriyi ethernet kartı sayesinde alarak öncelikle 2. seviyeye kadar açacaktır. B bilgisayarı da 2. seviyede Ethernet teknolojisini kullandığı için bu noktada bir uyum söz konusudur. Buradaki iki bilgisayar da aynı standardı kullandıkları için birbirlerinin dilinden anlayabilmektedirler. B bilgisayarı 2. seviye Ethernet frame’indeki kaynak&hedef MAC Adresleri kısmını kontrol eder ve Frame’in üzerinde bulunan diğer eklentiler sayesinde hata kontrolü gerçekleştirir. Eğer B bilgisayarına gelen Frame hatalı değilse ve gerçekten de B bilgisayarına gelmiş ise, B bilgisayarı bu Frame’in içindeki IP paketini çıkartır ve IP paketini bir üst katman olan Network katmanına iletir.

B bilgisayarının 3. katmanı olan Network katmanında, A bilgisayarı gibi IP protokolü çalışmaktadır. Bu durumda B üzerindeki 3. seviye protokol, kendisine alt katmandan teslim edilen IP Paketini inceyelecektir. IP paketini inceleyen IP protokolü, kaynak ve hedef IP adresleri kısmını kontrol eder. Eğer veri kendi IP adresi hedeflenerek gönderilmiş ise, bu IP paketinin içinde bulunan TCP paketini çıkartarek üst katmana (4. Katman, İletim Katmanı) teslim eder.

B bilgisayarının 4. Katmanı olan iletim katmanı, kendisine alt katmandan gelen TCP paketini teslim alır ve üzerindeki TCP Başlık bilgilerini okur. Bu nokta önemlidir. TCP Başlık bilgileri kılavuzunda B bilgisayarı, kendisine uzak makinadan gelen verilerin, kendi üzerindeki hangi uygulamaya hitaben geldiğini anlar. TCP Protokolü, kendisine varmış olan TCP paketinin üzerindeki port numaralarına bakmak sureti ile paketi iletilmesi gereken programa iletir. Bizim örneğimizde, B bilgisayarının üzerindeki MSN Yazılımı, B bilgisayarının 115 numaralı portunu dinlemekteydi. Bu durumda, A bilgisayarı, B’nin üzerindeki MSN yazılımına ulaşmak için TCP seviyesinde ürettiği paketleri B’nin 115 numaralı portuna gönderdi. Hal böyleyken, B bilgisayarının TCP protokolü, gelen TCP paketinin 115 numaralı porta geldiğini görecek ve bu paketin içindeki 5. seviye paketi (Oturum Katmanı paketi) MSN yazılımına teslim edecektir. Görüldüğü üzere, B bilgisayarının üzerinde birden çok yazılım çalışıp, hepsi aynı anda ağı kullanabilirler. Bu yazılımlara ağ aracılığı ile gelen verilen 4. seviye İletim Katmanının kullandığı sanal port numaraları sayesinde ayrıştırılıp doğru yazılımlara iletilmektedir.

4. seviyedeki iletim katmanında port numarasına bakılıp MSN Yazılımına teslim edilmesine karar verilen TCP Paketinin içeriği, MSN Yazılımının kontrolünde olan oturum katmanına (5. Katman) teslim edilir.

5. Katmanda, alt katmandan gelen veri alınarak, üzerindeki 5. katman başlık bilgileri okunur. Bizim örneğimizde, oturum değişkenleri olarak kullanıcı takma isimleri kullanılmış idi. Başka uygulamalar başka oturum değişkenleri kullanabilirler. Hatta hiç oturum seviyesi işlemi yapmayabilirler. “Hibrid TCP/IP, OSI Modeli” şekli incelenecek olursa, görülecektir ki 5. 6. ve 7. seviyeler ağ üzerinde çalışacak uygulamanın kontrolündedir. Bizim örneğimizdeki MSN yazılımı 5. 6. ve 7. seviyelerin tümünü içsel mekanizmaları dahilinde kullanmakta olup paketlere her katmanda gerekli eklentileri yapmaktadır. MSN yazılımı, şu an bahsetmekte olduğumuz 5. katmanda oturum değişkenleri olarak kullanıcı rumuzlarını yazmıştır ve bu sayede kendisine iletim katmanından teslim edilen verilerin hangi kullanıcıdan hangi kullanıcıya geldiğini anlayabilir. Örneğimizdeki MSN yazılımı bu katmanda, kendisine gelen paketin başlık bilgilerini okuyacak ve paketin Ali’den Ahmet’e geldiğini anlayacaktır. 5. seviye katman olan oturum katmanı, paketi değerlendirdikten sonra diğer katmanların da yaptığı gibi paketin içindeki bir üst katman paketini (6. seviye sunum katmanı paketi) bir üst katman olan sunum katmanına iletir.

6. Seviye sunum katmanında teslim alınan veri, yine başlık bilgileri okunmak sureti ile değerlendirilir. Hatırlanacağı üzere, sunum katmanında paketin içerisindeki verinin tipi belirtilmektedir. Örneğimizde veri tipimiz text olduğu için, sunum katmanı başlık bilgisinde text yazmaktadır. MSN Yazılımı; 6. seviye sunum katmanı sayesinde, Ali isimli kullanıcıdan Ahmet isimli kullanıcıya bir “text” mesajı geldiğini anlar. Sunum katmanının görevi tamamlanmıştır ve sunum katmanı içerisindeki bir üst katmana ait paket, bir üst katmana iletilir.

Sunum katmanının bir üst katmanı, 7. seviye uygulama katmanıdır. Burada ise verinin kodlanmasını ve gösterim metodlarını belirleyen, HTTP gibi başka 7. seviye protokoller kullanılıyor ise o protokollerin gereği olan veriler paket başlık bilgisinden okunur. Bizim örneğimizde, MSN yazılımı, veri kodlama metodlarını da 7. seviye başlık bilgisinde öğrendikten sonra bu paketin içindeki veri’yi ekrana yazar. Dikkat edilirse, diğer bütün katmanlarda, ele alınan paketin “veri” kısmı, bir üst katmanın muhatap olacağı paketin tümünü ifade etmektedir. Şekillerden de anlaşılacağı gibi en alt katmandan en üst katmana kadar paket içinde paket mevcuttur. Fakat 7. seviye paketin içinde artık başka bir paket değil, karşı bilgisayara iletmek istediğimiz veri mevcuttur.

7. Seviye paketin içindeki “text” tipindeki veriyi okuyan MSN Yazılımı, bu veriyi ekranına yansıtır. Bu sayede, A bilgisayarındaki Ali kullanıcısı, B bilgisayarındaki Ahmet kullanıcısına veri göndermiş olur. Bu sistem gerçekten de olağanüstü esnek bir şekilde internet dünyasında müthiş hızlarla çalışmaktadır. Saniyede milyarlarca paket bilgisayarlar arasında akmaktadır ve bu bilgisayarların hepsi bahsettiğimiz katmanlı mimariye sahiptirler. Bizim örneğimizde 2. seviyede Ethernet protokolü, 3. seviyede IP, 4. seviyede ise TCP kullanılmıştır. Gerçek dünyada birbirleri ile iletişim halinde bulunan milyonlarca bilgisayar aynen bizim örneğimizdeki protokolleri kullanmak zorunda değillerdir. Her ne kadar IP protokolü neredeyse zorunlu olsa da, 2. seviye protokoller çok esnektir. 2. seviye taşıyıcı olarak lokal ortamlarda çoğunlukla ethernet kullanılmakta beraber uzun mesafe bağlantılarda çok sayıda 2. seviye taşıyıcıdan faydalanılır. Sonuçta internet dünyasındaki bilgisayarlar, Hibrid modele sadık kalmak koşulu ile bir çok protokolün birlikte çalışması ile iletişim kurarlar.

Oğuzhan Eren

“Networking” Nedir?

Son zamanlarda networking ile ilgili yazılar yazmıyordum, biraz bu konulardan bahsetmek isterim. Daha sonra diğer teknolojilerden de bahsedeceğim..

Biliyorsunuz, bilgisayarların görevlerini yerine getirmek için tüm güçleri ile çalışmaya devam ettikleri günümüzde, gerçekten de iletişime olan ihtiyaç gittikçe artmakta. İnsanlar iletişime ihtiyaç duymaktalar ve bu ihtiyaç gitgide daha da fazlalaşmakta.

Bilgisayarlar günümüzde çok yaygın olarak kullanılıyor ve bilgi üretiyorlar, bizler onları kullanarak bir çok işimizi çok daha hızlı yapıyoruz, çok daha verimli bilgiler üretiyoruz. Bilgisayarların ürettiği bilgiler gerçekten de paylaşılmak için mükemmel..

Her gün kullandığımız bu makinalar çok güzel bilgiler üretiyorlar, eskiden sayfalar dolusu kağıda çizmeye (veya sığdırmaya) çalıştığımız veriler bilgisayarlar sayesinde çok daha düzenli çok daha çekici görünüyor. Bu veriler işlerimizi kolaylaştırıyor, eğer onları “paylaşabiliyorsak”.

Anahtar kelime “paylaşım”. Bilgisayarların ürettikleri paylaşıldığı vakit şirketlerin gücü katlanarak artmaktadır. Eğer “paylaşım” varsa donanımlar ve yazılımlar tatminkar grafik öğeleri ve işe yarama duygusu üretmekten çok daha fazlasını yapmaya başlamaktadırlar.

Paylaşım nasıl olacak?
Önceleri bilgisayarlar arası iletişim, disketlere koyulan verilerin bilgisayarlar arasında gezinmesi ile gerçekleştiriliyordu. Akıllıca sayılabilirdi, zira ürettiği veriyi bir diskete yükleyen çalışan, o disketi arkadaşına vermek sureti ile bu bilginin paylaşımını sağlayabiliyordu.

Bahsettiğimiz ilkel “disket ile paylaşım ortamı”nı abartarak modelleyip sistemi ve problemleri rahatça görebilmek istiyorsak örneğimize devam edelim:
Örneğimizdeki şirket dahilindeki “paylaşım” isteyen bilgisayar kullanıcıları, bilgilerini paylaşmak için disketler kullanıyorlardı ve diskete yüklenen veriler, “ziyaret ettikleri”  kullanıcıların yüklediği yükü sırtlanıp yolculuklarına devam ediyorlardı. Sonuçta ortaya herkesin katkısı ile oluşturulmuş, paylaşılmış, ortak dökümanlar çıkıyordu. Sonuç mükemmeldi.

Sonucun mükemmeliğinin, işe yaramaz hale gelişi gerçekten de kısa sürdü. Firma çalışanları disketler aracılığı ile verilerini paylaşıyorlardı fakat bu, eşleştirme (senkronizasyon) problemlerine yol açıyordu. Disketteki dosyanın dakika başı güncellenmesi gerektiği durumlar sıkıntıya yol açıyordu. Hele diskette bulunan ve çalışanlar arasında gezinen “ortak” dosya sürekli “farklı” kişiler tarafından güncellenmek zorundaysa bu durum epey can sıkıcı oluyordu.

Disketlerin ortada gezindiği ilkel ortam gitgide başa bela duruma gelmeye başladı. Üstüne üstlük artık ortada gezinen birden çok disket vardı ve dakika başı değişen dosyaların güncel tutulması neredeyse olanaksız hale gelmişti.

Bu durum “online” kavramının doğuşuna sebep oldu. Türkçe’ye de “çevrimiçi” olarak gayet düzgünce çevrilen “online” terimi ile, ortada gezinen ve içeriği sürekli değişen disket, aynı anda herkesin ulaşabileceği bir yere geldi. Evet, ortada gezinen disketin içindeki dosya, herkesin ulaşabileceği bir “bilgisayar ağı”nın içinde bir yerlerde konuşlandırıldı. Gerçekten de bilgisayar ağları sayesinde dosyalar “çevrimiçi” oldular, dosyalar artık rahatlıkla paylaşılabilir oldular. Bilgisayar ağları sayesinde dosyaların herhangi bir şekilde elden ele dolaştırılmasına gerek kalmadı ve herkes rahatlıkla –izin verilen- her dosyaya ulaşabilir hale geldiler.

Bilgisayar ağlarının doğuşu, disket ağının dezavantajlarını ortadan kaldırdı. Bilgisayar ağları sayesinde çalışanlar, ev kullanıcıları, evden işlerini yürüten insanlar aynı ortamlarda  buluşmaya başladılar. Gitgide daha fazla bilgisayar birbirine bağlanmaya başladı ve herhangi bir bilgisayarın “Paint”inde çizilen çiçek resmi artık çok daha kolay bir şekilde çok daha uzak yerlere ulaştırılabiliyor. Bir yazı dosyası oluşturup içine “Nasılsın?” yazıp, o dosyayı diskete koymak artık gerçekten konu dışı. Hele bu disketi paketleyip, zarfa koyup Amerika’daki kuzenimize göndermek akıllı işi değil!

Artık bilgisayarlar birbirine bağlı ve gün geçtikçe daha çok bilgisayar birbirine bağlanıyor. Artık “Nasılsın?” şeklindeki sorumuzu herhangi bir yere ulaştırmak için soruyu diskete koymuyoruz, neredeyse bir saniyede dünyanın istediğimiz köşesine gönderiyoruz. Artık çok fazla sayıda dosya “online”, çok fazla kullancı “online” ve bu kadar kişi bu kadar dosyanın arasında başdöndürücü bir hızla savrulup duruyorlar. Aynı anda milyonlarca insan ve bunca insanın  milyonlarca bilgisayarı durmaksızın çalışıyor. Bu kadar çok insanın ürettiği milyonlarca dosya sürekli dünyanın bir yanından diğerine gidip duruyor. Bu gizemli kargaşa ve -doğru kullanıldığı vakit- müthiş verimlilik ve karlılık “Bilgisayar Ağları” sayesinde sahnede.

Oğuzhan Eren

Hoşgeldiniz.

Merhaba, Blog’uma Hoşgeldiniz.

İsmim Oğuzhan Eren. Yandaki linklerden son yazılara ulaşabilirsiniz. Benimle ilgili bilgiler için ise “Hakkımda” sayfasına bakabilirsiniz.

Yazılarla alakalı herhangi bir soru ve/veya ekleme için bana mail atabilirsiniz.

Oğuzhan Eren

oguzhan.eren@gmail.com

Aruba Certified Mobility Professional

Cisco Certified Network Professional

Certified Cisco Systems Instructor #31096