*

  • osi referans modeli

    modern bilgisayar ağları yapısal olarak tasarlanmıştır. tasarım karmaşıklığını azaltmak için birçok ağ herbiri diğeri üzerine inşa edilmiş bir seri tabaka şeklinde organize edilmiştir.

    osi referans modeli international standards organization (iso) tarafından sunulan bir model üzerine geliştirilmiştir. bu model iso osi (open systems interconnection) referans modeli olarak anılır zira açık sistemlerin yani diğer sistemlerle haberleşmeye açık sistemlerin bağlantısı ile ilgilenir. osi modeli yedi tabakadan oluşur. bu tabakaların oluşturulmasında uygulanan prensipler:

    1. değişik seviye bir ayırım gerektiğinde bir tabaka oluşturulmalıdır.

    2. her tabaka iyi tanımlanmış bir fonksiyonu yerine getirmelidir.

    3. her tabakanın fonksiyonu uluslararası standartlaştırılmış protokoller açısından seçilmelidir.

    4. tabaka sınırları arabirimler arası bilgi akışını en aza indirecek şekilde seçilmelidir.

    5. tabakaların sayısı belirgin fonksiyonların aynı tabakalar üzerinde atlama yapmayacak kadar geniş, mimariyi hantallaştırmayacak kadar az olmalıdır.

    yedi tabakalı model

    tanımlanan yedi tabaka:

    7) uygulama : uygulamalara değişik servisler sağlar

    6) sunum : bilgi formatını çevirir

    5) oturum : haberleşme ile ilgili olamayan problemlerle ilgilenir.

    4) taşıma : uçtan uca haberleşme kontrolünü sağlar

    3) ağ : ağ üzerinde bilgiyi yönlendirir

    2) veri bağlantısı : bağlı uçlar arasında hata denetimini sağlar

    1) fiziksel : iletim ortamına bağlantıyı sağlar

    fiziksel katman

    fiziksel katman ham bitleri bir haberleşme kanalı üzerinden iletmekle ilgilidir. tasarımının amacı, bir uçtan 1 biti gönderildiğinde karşı taraftanda 0 değil 1 bitinin alınmasını sağlamaktır. tipik sorunlar, 1 veya 0 bitini temsil etmek için kaç volt gerilim kullanılmalıdır, bir bit kaç mikrosaniye tutulmalıdır, aynı anda iletimin iki yönlü olup olmayacağı, ilk bağlantının nasıl kurulacağı ve iki taraf iletimi bitirdiğinde bağlantının nasıl sonlandırılacağı, ağ konnektörünün kaç pinden oluşacağı ve hangi pinin ne amaçla kullanılacağı vs… tasarım konuları fiziksel katman altında yer alan mekanik, elektiriksel ve fiziksel iletim ortamıdır. fiziksel katmanın tasarımı elektrik mühendisliği domeninde ele alınabilir.

    örnek : x.21 sayısal arabirimi.

    veri bağlantı katmanı

    veri bağlantı katmanın ana görevi, ham iletim işini alıp, ağ katmanında hatasız olarak görünen bir hatta çevirmektir. bu görevi gönderenin verisini, veri pencelerine (data frame, genellikle birkaç yüz byte’ lık) bölüp, sıralı olarak gönderip, alıcının geri döndürdüğü onay pencerelerini işleyerek yerine getirir. fiziksel katman bitlerin yapısı ile ilgilenmeden ilettiğinden pencere sınırlarını oluşturmak ve algılamak veri bağlantı katmanına bağlıdır. bu her pencerenin başına ve sonuna özel bit desenleri eklenmesi ile gerçekleştirilir. eğer eklenen desenler veri bölümü içinde yer alma olasılığı varsa, karışıklığı engellemek için dikkat edilmelidir.

    veri bağlantı katmanı ayrıca bağlı noktalar arası hata denetimini sağlamalıdır.

    veri bağlantı katmanında karşılaşılan diğer bir problem ise (ayrıca diğer üst tabakalarda olacağı gibi) gönderen tarafı boğmadan yavaş bir alıcının nasıl veriyi sağlıklı alacağıdır. bunun için ileten tarafın belirli bir anda alan tarafta ne kadar miktarda tampon bellek boşluğunu bilmesini sağlayacak, trafik akışını denetleyecek bir makenizmanın kurulması gereklidir.

    eğer hat iki yönlü iletim için kullanılabiliyorsa bu veri bağlantı katmanı tarafından çözülmesi gereken başka bir problemi ortaya sunar. problem bir a ucundan b ucuna doğru olan trafikte, b’ den a’ ya onay pencereleri ile a’ dan b’ ye veri pencereleri ile çakışmasıdır.

    örnek : hdlc

    ağ tabakası

    ağ tabakası alt ağda yapılan işlerin denetimi ile ilgilidir. tasarımında anahtar konu veri paketlerinin kaynaktan hedefe nasıl yönlendirileceğidir. yönlendirmeler sabit tablolara dayalı ve sıkça değişmeyecek şekilde ağ ile birlikte tanımlanmış olabilir. bu yönlendirmeler ayrıca bir terminal oturumunda olduğu gibi, her oturum için ayrıca belirlenebilir. son olarak anlık ağ yüküne bağlı olarak her bir yeni paket için yeniden belirlenecek şekilde dinamik olabilir.

    aynı anda ağa birbirinin rotası üzerine çakışan birçok paket ağa sunulursa performans sıkıntıları oluşabilir. bu tür çakışmaların önlenmesini sağlamak ağ katmanının sorumluluğundadır.

    ağ operatörleri, servisi paralı olarak vermek istediklerinde ayrıca ağ katmanı üzerinde raporlama özellikleri de eklenir. sonuç olarak bir yazlım aracılığı ile her müşterinin ilettiği veya aldığı paket veya karakter sayısı faturalama bilgisinin üretilmesi sayılır. raporlama, değişik ücretlendirme oranlarının uygulandığı sınırları geçildiğinde daha karmaşık bir hal alabilir.

    bir paket hedefine ulaşmak için bir ağdan diğer bir ağa geçmek zorunda kaldığında başka problemler de baş gösterebilir. adresleme ağlar arasında farklı olabildiği gibi, bir ağ diğerinden çok geniş olduğu için paketi kabul etmeyebilir veya protokoller farklı olabilir. heterojen ağların arabağlantılarının sağlıklı birşekilde yapılıp bu problemlerin üstesinden gelme ağ katmanın sorumluluğundadır.

    yayın ağlarında, ağ katmanı çok ince veya hiç varolmadığından, yönlendirme problemi daha basittir.

    örnek : x.25 bağlantı kurulumu

    taşıma katmanı

    taşıma katmanın temel işlevi, oturum tabakasından veriyi alıp, ihtayaç duyulduğunda küçük bileşenlere ayırıp ağ katmanına geçirerek, diğer uca bu parçaların doğru bir şekilde ulaştığına emin olmaktır. bunun dışında, bu işlev oturum tabakasının donanım teknolojisinde kaçınılmaz gelişmelere karşı izole edilerek, verimli olarak yerine getirilmelidir.

    normal şartlar altında, taşıma katmanı, oturum katmanı tarafından ihtiyaç duyulan her taşıma bağlantısı için bir sanal ağ bağlantısı oluşturur. eğer taşıma bağlantısı yüksek bir kapasite isterse, taşıma katmanı birçok ağ bağlantısı oluşturup, kapasiteyi artırmak için veriyi bu bağlantılara paylaştırır. öte yandan, farklı ağ bağlantılarının oluşturulması maaliyeti artırdığı durumlarda taşıma katmanı çeşitli taşıma bağlantılarını bir ağ bağlantısı üzerinde maliyeti azaltmak için birleştirebilir. tüm durumlarda taşıma katmanı birleştirme işinin otutum katmanına yansımaması için gereklidir.

    taşıma katmanı ayrıca oturum katmanına sonuç olarak ağ kullanıcılarına ne tip servisler sunulacağına karar verir. taşıma bağlantısının en popüler tipi gönderildiği sıra ile hatasız uçtan-uca ulaştıran kanaldır. ancak, diğer tip taşıma, servis ve taşıma bilgisi ayrılmış mesajları değişik lokasyonlara ileten ve hedefine ulaştırma konusunda herhangi bir garanti vermeyenidir. servis tipi bağlantı sağlandığında belirlenir.

    taşıma katmanı, gerçek bir kaynaktan hedefe veya uçtan uca katmandır. başka bir değişle, kaynak sistemde çalışan bir program mesaj başlıkları ve denetim mesajlarını kullanarak, hedef sistemdeki benzeri bir programla konuşur.

    birçok bilgisayar üstünde birden fazla programı çalıştırır, yani sisteme giren ve çıkan birçok bağlantı vardır. bu yüzden hangi mesajın hangi bağlantıya ait olduğunun belirlenmesi için bir metoda ihtiyaç duyulur. taşıma başlığı bu bilginin koyulabileceği bir yerdir.

    değişik mesajları bir kanal içinde birleştirmenin yanında, taşıma katmanı ağ boyunca bağlantıların kurulması ve kaldırılmasını da takip etmelidir. bu, bir bilgisayar üzerinde kiminle konuştuğunu atrif edecek bir tür isimlendirme makenizması gerekliliğini doğurur. ayrıca hızlı bir bilgisayarın yavaş bir bilgisayarı aşmaması için bilgi akışını düzenleyecek bir makenizmanın olması gereklidir. her ne kadar ikisine de aynı prensipler uygulansa da uçlar arasındaki akış denetimi anahtarlar arası akış denetiminden ayrıdır.

    oturum katmanı

    oturum katmanı, değişi makinelerdeki kullanıcıların birbirleri arasında oturumlar açmasını sağlar. bir oturum taşıma katmanının yaptığı gibi sıradan veri taşıma işini gerçekleştirdiği gibi, bazı uygulamalarda çok yararlı gelişmiş hizmetler de sunar. bir oturum bir kullanıcının uzaktaki zaman-paylaşımlı bir sisteme bağlanmasını (log on, log in) veya iki makina arasında dosya transferi yapmasını sağlar.

    oturum katmanın sunduğu hizmetlerden biri de sistemlerin karşılıklı iletimlerinin yönetimidir. oturumlar aynı anda tek yönlü veya aynı anda çift yönlü veri akışına izin verebilirler. eğer trafik tek yönlü ise oturum katmanı iletim sırasının kimde olduğu konusunda yardımcı olur.

    ilgili diğer bir oturum hizmeti token yönetimidir. bazı protokoller için, her iki tarafın aynı anda aynı işlevi yerine getirmeye çalışmaması çok önemlidir. bu aktiviteleri yönetmek için oturum katmanı taraflar arasında değiştirilebilecek tokenlar sağlar. token’ a sahip taraf kiritik uygulamayı çalıştırma hakkına sahip olur.

    diğer bir oturum servisi senkronizasyondur. ortalama çökme süresinin 1 saat olduğu bir ağda, iki makine arasında iki saatlik bir dosya transferi sırasında ortaya çıkacak problemleri ele alalım. her çökmeden sonra dosya tranferi yeniden en baştan başlayacak ve bu yüzden dosya tranferi belki de hiç gerçekleştirilemeyecektir. bu problemi ortadan kaldırmak için, otourum katmanı veri akımının içine kontrol noktaları yerleştirir böylelikle bir çökmeden sonra en son kontrol noktasından sonraki veri gönderilir.

    sunum katmanı

    sunum katmanı, kullanıcıların problemleri kendi başlarına çözüm bulmaları yerine onlara yeterli bir genel çözüm sunar. kısaca, diğer alt katmanların aksine, bit’ leri bir uçtan diğerine güvenilir bir biçimde iletimleri ile ilgilenmek yerine oturum katmanı iletilen bilginin söz dizimi ve semantiği ile ilgilenir.

    sunum servislerine tipik bir örnek standart, üzerinde anlaşılan bir şekilde veriyi kodlamaktır. birçok kulanıcı programları rastgele bit dizilerini kendi aralarında değişimini gerçekleştirmez. şahız adları, tarih, para gibi şeyleri değişirler. bu başlıklar, karakter dizileri, tamsayılar, kayan nokta numaraları gibi daha basit veri yapıları olarak ifade edilirler. değişik bilgisayarlar karakter dizileri ve tamsayıları ifade etmek için değişik kodlar kullanırlar. bu bilgisayarlar arasında veri değişimini standartlara uygun olarak yerine getirmek sunum katmanının işidir.

    sunum katmanı ayrıca bilginin sunulmasının diğer yönleri ile de ilgilidir. örneğin veri sıkıştırması iletilmesi gereken bir sayısını artırmak için kullanılabildiği gibi kriptografi güvenlik ve kullanıcı doğrulaması için sık sık kullanılır.

    uygulama katmanı

    uygulama katmanı çokça ihtiyaç duyulan birçok protokolü içerir. örneğin dünyada birbirine uyumsuz yüzlerce terminal, uçbirim tipi vardır. örneğin herbiri farklı ekran düzenleri, metin silme ve düzenleme için farkıl escape dizileri, imleç konumlandırması vs. kullanan değişik uçbirimlerle çalışan bir tam ekran metin editörünü ele alalım.

    bu problemi çözmenin editörlerin ve diğer programların yazabildiği sanal bir ağ uçbirimi oluşturmaktır. her uçbirim tipini karşılamak için, sanal uçbirimin fonksiyonlarının gerçek uçbirim üzerine eşleşmesini sağlamak için bir yazılım yazılmalıdır. örneğin bu yazılım, editör sanal uçbirimin imlecini sol üst köşeye konumlandırdığında, yazılım gerçek uçbirimde imlecin asıl konumuna yerleşimi için düzgün komut dizisini işlemelidir. tüm sanal uçbirim yazılımları uygulama katmanındadır.

    uygulama katmanının diğer bir işlevi ise dosya transferidir. değişik dosya sistemleri, değişik dosya isimlendirme tanımlamalarına, metin bilgisinin temsili için değişik metodlara sahiptir. değişik dosya sistemlerinden dosya transferleri bu uyumsuzlukları ortadan kaldırmayı gerektirir. bu iş, yine, elektronik posta, dizin taraması ve diğer özel ve genel amaçlı işlevlerde yapıldığı gibi uygulama katmanına aittir.

    kaynak : http://www.programcilik.net/www/network/osi.htm (kaynak şu anda çalışmamaktadır)
  • birde 8. katman olan bilgisayar kullanicisi vardir ki yeri gelir sac bas yoldurur.

    (bkz: 7 segment osi layers)
    (ara: hatti diyaloglari)
  • osi modelinde iletisim problemi yedi katman ile çözülmüs. iki bilgisayar sisteminin birbiriyle iletisim kurabilmesi için önce uygulama programin sistemin 7. katmaniyla konusur. bu katman 6. katmanla ve böylece ilerler. ardindan iletisim network hattina oradan da diger sistemin 1. katmanina geçer. buradan diger katmanlara yükselir.

    bütün lan'lardaki teknolojinin anlasilmasi için osi layer olarak adlandirilan yedi katmanli modeli anlasilmasi gerekir. osi modeli modüler bir mimariye dayanir. her katmanda belli bir is yapilirarak bir sonraki katmana geçilir .

    1. katman : fiziksel katman (physical layer)

    1. katman veya fiziksel katman verinin kablo üzerinde alacagi fiziksel yapiyi tanimlar. diger katmanlar 1 ve sifir degerleriyle çalisirken, 1. katman 1 ve sifirlarin nasil elektrik, isik veya radyo sinyallerine çevrilecegini ve aktarilacagini tanimlar. gönderen tarafta 1. katman bir ve sifirlari elektrik sinyallerine çevirip kabloya yerlestirirken, alici tarafta 1. katman kablodan okudugu bu sinyalleri tekrar bir ve sifir haline getirir.

    fiziksel katman veri bitlerinin karsi tarafa, kullanilan medya(kablo, fiber optik, radyo sinyalleri) üzerinden nasil gönderilecegini tanimlar. iki tarafta ayni kurallar üzerinde anlasmamissa veri iletimi mümkün degildir. örnegin bir taraf sayisal 1 manasina gelen elektrik sinyalini +5 volt ve 2 milisaniye süren bir elektrik sinyali olarak yolluyor, ama alici +7 volt ve 5 milisaniyelik bir sinyali kabloda gördügünde bunu 1 olarak anliyorsa veri iletimi gerçeklesmez.

    fiziksel katman bu tip çözülmesi gereken problemleri tanimlamistir. üreticiler(örnegin ag karti üreticileri) bu problemleri göz önüne alarak ayni degerleri kullanan ag kartlari üretirler. böylece farkli üreticilerin ag kartlari birbirleriyle sorunsuz çalisir.
    katman 2: veri baglantisi katmani (data link layer)

    veri baglantisi katmani fiziksel katmana erismek ve kullanmak ile ilgili kurallari belirler. veri baglantisi katmaninin büyük bir bölümü ag karti içinde gerçeklesir. veri baglantisi katmani ag üzerindeki diger bilgisayarlari tanimlama, kablonun o anda kimin tarfindan kullanildiginin tespiti ve fiziksel katmandan gelen verinin hatalara karsi kontrolü görevini yerine getirir.

    veri baglantisi katmani iki alt bölüme ayrilir: media access control(mac) ve logical link control(llc).

    mac alt katmani veriyi hata kontrol kodu(crc), alici ve gönderenin mac adresleri ile beraber paketler ve fiziksel katmana aktarir. alici tarafta da bu islemleri tersine yapip veriyi veri baglantisi içindeki ikinci alt katman olan llc'ye aktarmak görevi yine mac alt katmanina aittir.

    llc alt katmani bir üst katman olan ag katmani(3. katman) için geçis görevi görür. protokole özel mantiksal portlar olusturur (service access points, saps). böylece kaynak makinada ve hedef makinada ayni protokoller iletisime geçebilir(örnegin tcp/ip<-->tcp/ip). llc ayrica veri paketlerinden bozuk gidenlerin(veya karsi taraf için alinanlarin) tekrar gönderilmesinden sorumludur. flow control yani alicinin isleyebileginden fazla veri paketi gönderilerek bogulmasinin engellenmesi de llc'nin görevidir.
    katman 3: ag katmani(network layer)

    ag katmani veri paketine farkli bir aga gönderilmesi gerektiginde yönlendiricilerin kullanacagi bilginin eklendigi katmandir. örnegin ip protokolü bu katmanda görev yapar.
    katman 4: tasima katmani (transport layer)

    tasima katmani üst katmanlardan gelen veriyi ag paketi boyutunda parçalara böler. netbeui, tcp ve spx gibi protokoller bu katmanda çalisir. bu protokoller hata kontrolü gibi görevleride yerine getirir.

    tasima katmani alt katmanlar (transport set) ve üst katmanlar (application set) arasinda geçit görevini görür. alt katmanlar verinin ne olduguna bakmandan karsi tarafa yollama isini yaparken üst katmanlarda kullanilan donanim ile ilgilenmeden verinin kendisi ile ugrasabilirler.
    katman 5: oturum katmani(session layer)

    oturum katmani bir bilgisayar birden fazla bilgisayarla ayni anda iletisim içinde oldugunda, gerektiginde dogru bilgisayarla konusabilmesini saglar. örnegin a bilgisayari b üzerideki yaziciya yazdiriken, c bilgisayari b üzerindeki diske erisiyorsa, b hem a ile olan, hem de c ile olan iletisimini ayni anda sürdürmek zorundadir.

    bu katmanda çalisan netbios ve sockets gibi protokoller farkli bilgisayarlarla ayni anda olan baglantilari yönetme imkani saglarlar.
    katman 6: sunum katmani(presentation layer)

    sunum katmaninin en önemli görevi yollanan verinin karsi bilgisayar tarafindan anlasilabilir halde olmasini saglamaktir. böylece fakli programlarin birbilerinin verisini kullanabilmesi mümkün olur.

    dos ve windows 9x metin tipli veriyi 8 bit ascii olarak kaydederken (örnegin a harfini 01000001 olarak), nt tabanli isletim sistemleri 16 bit unicode'u kullanir (a harfi için 0000000001000001). ancak kullanici tabii ki sadece a harfiyle ilgilenir. sunum katmani bu gibi farkliliklari ortadan kaldirir.

    sunum katmani günümüzde çogunlukla ag ile ilgili degil, programlarla ilgili hale gelmistir. örnegin eger siz iki tarafta da gif formatini açabilen bir resim gösterici kullaniyorsaniz, bir makinanin digeri üzerindeki bir gif dosyayi açmasi esnasinda sunum katmanina bir is düsmez, daha dogrusu sunum katmani olarak kastedilen sey, ayni dosyayi okuyabilen programlari kullanmaktir.
    katman 7: uygulama katmani(application layer)

    uygulama katmani programlarin agi kullanabilmesi için araçlar sunar. microsoft api'leri uygulama katmaninda çalisir. bu api'leri kullanarak program yazan bir programci, örnegin bir ag sürücüsüne erismek gerektiginde api içindeki hazir araci alip kendi programinda kullanir. alt katmanlarda gerçeklesen onlarca farkli islemin hiçbirisiyle ugrasmak zorunda kalmaz.

    http://ogrenci.hacettepe.edu.tr/…ilar/katmanlar.htm
  • tcp ip modelinin osi'den türediğini söyleyebiliriz. daha doğrusu tcp-ip bir protocol stack'tir ve osi referans modeli üzerine cuk oturduğu için çok yaygınlaşmıştır.

    bu arada osi'nin akılda kalması için şöyle bir cümle de uydurulmuştur;

    all people seem to need data processing

    application
    presentation
    session
    transport
    network
    data
    physical

    bir örnek de ben vereyim; osi nasıl çalışıyor bakalım.

    bir web sitesine girmek istiyorsunuz. web browser'ı açtınız. web browser bir application layer fonksiyonu değildir ancak http protokolünü harekete geçirir. bu protokol de sizin kullanıcı olarak bir process'i başlatmanızı sağlıyor.

    gitmek istediğiniz web sitesinin genel geçer bir formata ihtiyacı var. bu da presentation layer'ının görevi. açmak istediğiniz siteyi html formatında mı, jpeg formatında mı yoksa php olarak mı görüntülemek istiyorsunuz, bunu düzenliyor.

    tcp ip pek session layer'a bulaşmıyor. o yüzden bunu es geçiyorum. aslında bunun görevini transport layer üstlenmiş durumda diyebiliriz.

    bu siteye girmek istemekle siz bir client oldunuz ve web server'ın kapısına gitmiş oldunuz. transport layer da sizin ile web sitesi arasında tcp olarak bir bağlantı kuruyor. güvenilir, bol header'lı, sequence ve windowing yapılarak iletişim gerçekleşecek.

    network katmanında çalışan ip protokolü ise bilgisayarından çıkacak packet'lara uygun bir logical adress atamakla ve server'ın adresinden sorumludur. çünkü bu logic adrese göre pakediniz yönlendirilecek.

    pakediniz network'ten network'e geçerken ip adresleriyle geçerken network'ler içinde hardware address bilgisi olmadan hareket edemez. bu nedenle data link layer'da fiziksel adresine göre frame'lere dönüştürülmelidir. böylelikle fiziksel olarak komşu olduğu network host'ları arasında hareket ederek gateway'lere, oradan da route edilerek ulaşacağı adrese doğru yola çıkar.

    physical layer da aldığı frame'leri uygun teknolojiye göre bit'lere ayırıp göndermekle yükümlüdür.

    aldığım bir özet notu daha koyayım;

    application --> application, user ile interaction
    presentation --> syntax, format ve işin alfabesi
    session --> full duplex veya half duplex olarak iletim
    transport --> tcp veya udp olarak taşımanın yöntemi
    network --> network'ler arası routing, ıp protokolü
    data-link --> network içinde iletim, mac
    physical --> fiziksel katman
  • internet'in kullandığı model tcp/ip modelidir. osi ise şu an network dersleri anlatırken teorik olarak kullanılsın diye kullanılan bir referans modelidir.

    direkt anlamak icin tcp/ip modele odaklanılması daha pratik olabilir.
  • şöyle bir mimle özetlenebilecek model. görsel
hesabın var mı? giriş yap