‘Networking ve Güvenlik’ Kategorisi için Arşiv

h1

Cisco Eos

Ocak 10, 2009

Merhaba,

Networking dünyasında olanlar Cisco markasını mutlaka duymuştur. Cisco Systems 1984 yılında kurulmuş networking devi bir firmadır, her türlü networking ekipmanı üretir. Ürünleri “enterprise class”tır, yani oldukça pahalı ve parasının karşılığını veren, uzun vadeli çalışan, çoğunlukla rock-solid tabir edilen ürünlerdir. Biz Türkçe’de buna “taş gibi” diyoruz. :)

Cisco Sytems bir yazılım firmasıdır ve ürettiği IOS-Internetwork Operating System isimli işletim sistemini çalıştıran network cihazlarını satar. Çok ciddi ölçekte yazılım mühendisliği ve ar-ge insan kaynağı mevcuttur.

Cisco Systems, tüm networking camiasının merkezindeki firma olsa da, bir Microsoft gibi bilişim dünyasının tümüne, hatta dünyanın tümüne ismen yayılmış bir firma değildir. Bilişim sektöründe çalışan fakat Microsoft ismini hiç duymamış bir kişi neredeyse mümkün değilken, aynı sektörde çalışan fakat Cisco Systems ismini duymamış bir kişinin olması gayet mümkündür.

Bu anlamda, Cisco Systems, kendi komünitesini oluşturmuştur. Çok fazla açılmamış, ancak kendi alt alanı dahilinde bilinmektedir.

Halbuki, biz networking camiasının insanları, hep bunun böyle olmaması gerektiğini düşünür idik. Cisco daha fazla açılmalı, daha çok yere gitmeli idi.

Cisco’nun daha çok bilinmesini istememizin nedeni ise, aslında bu firmanın ürettiği ürünlerin çok daha farklı amaçlar için, çok daha farklı alanlarda kullanılabileceği idi.

İşte gün geldi. Cisco Systems, artık, kendi yazılım üretebilme gücünü çok daha farklı bir alanın kullanımına açıyor.

Cisco, geçtiğimiz günlerde yapılan Cosumer Electronic Show fuarında Cisco Eos isimli yeni ürününü tanıttı. Bakın ismi IOS değil Eos, yani Internetwork Operating System değil, Entertainment Operating System.

Yani artık Cisco, soğuk bilgi işlem odalarına değil, tüm insanlara, tüm internet alemine yazılım sunacağını bildirdi.

Önce aşağıdaki videoyu izleyelim.

Bu videonun daha yüksek çözünürlüklü halini indirmek isteyenler, buraya tıklayarak indirebilirler.

Ne işe yarıyor Cisco Eos?

Aslında Cisco yine de “son kullanıcıya hitap etmeme” alışkanlığından vazgeçmiş değil. Bu ürün de son kullanıcıya değil de, son kullanıcılara içerik sunan eğlence firmalarına yönelik. Mesela, elinde birçok içerik olan bir kurum, bu içerikleri doğru sunabilmek, doğru konumlandırabilmek, bu içerikler sayesinde doğru kişilere ulaşıp doğru ve yerinde reklam gelirleri elde edebilmek için çok ciddi bir “içerik yönetim sistemi” yatırımı yapmalı.

Çok kısaca anlatmak gerekirse, bu sistem şunu sağlıyor. Biliyorsunuz, eskiden web sayfası yapmak zordu. Şimdi wordpress sayesinde, iki tıklama ile kendimize ait gayet güzel düzenlenmiş web sayfamıza kavuşabiliyoruz. Hiç kodlama teknikleri bilmesek bile, yazılarımızı yazabiliyor, yorumlar alıyor, yazılarımıza fotoğraflar videolar ekleyebiliyoruz. Peki Youtube ayarında, içindeki kullanıcıların birbirleri ile sohbet edebileceği, video’lara, fotoğraflara yorum yapabileceği, bunları birbirlerine gönderebileceği bir “online community” ortamını, yani şu ünlü Web 2.0 ortamını “otomatik” olarak kurmaya ve çalıştırmaya ne dersiniz? Aynen wordpress’in bize sunduğu basit web sayfası hizmeti gibi, basit bir kurulumla, basit bir şekilde Web 2.0 ortamımız olsun. Tümüyle kişiselleştirilebilir olsun hatta. Sadece yazılım olarak da değil, istersek donanımlarıyla beraber, topluca satın alalım, kuralım, Web 2.0 dükkanımızı açmış olalım mesela? Güzel olmaz mı?

İşte Cisco Eos bu.

Eskiden Community 1.0 olarak tabir edeceğimiz yapılanmada, “kişiler kişiler ile” iletişime geçiyorlardı. Sadece birbirleri ile iletişim kuruyor ve bu şekilde karşılarında canlı biri olduğu bilerek haberleşiyorlardı. Eskide kaldı bu. Evet “chat” ortamlarından bahsediyorum.

Community 2.0 olarak tabir ettiğimiz ortamlar ise “kişilerin kişiler ile” değil de, “kişilerin bir içerik etrafında birbirleri ile” iletişime geçtiği ortamlar. Bu ortamlar dahilinde, “branding” yapmak mümkün oluyor. Yani kişileri belirli bir marka veya belirli tipte bir içerik etrafında toplamak, bu kişileri “reklamlamak”, bu kişilerin aynı türde içerik üretmelerini sağlamak, daha fazla içeriğe sahip olmak mümkün oluyor. Tabii bu reklam çorbasının içine, bu “kurucuya para ve prestij kazandıran” ortama kullanıcılar seve seve geliyorlar. Çünkü siteyi kuran para kazanırken, kullanıcılar da birbirlerini kazanıyorlar. Hatta kendi reklamlarını yapıp daha fazla kazanıyorlar. Velhasıl, günümüz ortamları, 2.0 ortamları. Fakat biliyorsunuz ki, “şıp diye” basit bir web sayfası oluşturmak günümüzde gayet kolay iken, ciddi profesyonel içerikli, reklamlı, istatistiki analizli, tümüyle kişiselliştirilebilir bir Web 2.0 Online Community ortamını oluşturmak, günümüzde, wordpress’ten blog almak kadar kolay değil. İşte Cisco tam bu noktaya temas ediyor ve Cisco Eos platformu sayesinde “şıp diye” online community ortamı kurmayı mümkün kılıyor. Hem de en profesyonelinden.

Yukarıda da belirttiğim gibi, Cisco Eos sayesinde kullanıcılar hem bir içerikle, hem de o içerik ile etkileşimde bulunan kullanıcılarla iletişim dahilinde olabiliyorlar. Bu gerçek bir Web 2.0 ortamı demek. Diğer yandan, sizin izin vereceğiniz ölçüler dahilinde, sizin bu ortamda sunduğunuz profesyonel içeriğe ek olarak, kullanıcıların upload ettikleri içeriklerin de ortamda bulunması mümkün. Bu, kullanıcıların hoşuna gidiyor, markaya değer katıyor ve tabii ortamı daha da canlandırıyor. Tabii markalama için, profesyonel içerik ve amatör içerik ayrımına dikkat etmek gerekli.

Cisco Eos platformunda, sistemin video server’ları önemli yük taşıyor, çünkü aktif içerik bu server’lar üzerinden yayınlanıyor. Cisco’nun bu donanım ve yazılım altyapısını, anahtar teslim olarak sunması zaten ortalığı çalkalayan şey. :)

Tabii platformun kendisinin kullanıcılarla etkileşimi de önemli. Platform, kullanıcının hareketlerine ve upload ettiği içeriğe bağlı olarak, ona uygun içerikleri kullanıcı aramadan evvel ona sunmuş oluyor. Örneğin her türlü spor görüntülerinin yayınlandığı bir online community ortamında, sürekli basketbol ile ilgili yazılar sunan ve basketbol videoları izleyen bir kullanıcıya, basketbol ile alakalı profesyonel içerikler ve diğer kullanıcıların sağladığı ilgili içerikler sunuluyor. Böylece, bu sistem dahilinde, kullanıcı içeriği aramıyor, içerik kullanıcıyı buluyor.

Bu sistemin, Web 2.0 ortamının alt yapı uğraşları ile zaman kaybetmek istemeyen firmalar için çok ciddi avantajı var. Tümüyle kişiselleştirilebilir bir sistem satın alıyor ve bu sistemi alıp basitçe kurmak haricinde, tonla “proje yönetimi” masrafından kaçınıyorlar. Bilirsiniz, günümüzde Web 2.0 modeli bir içerik sunma ortamına sahip olmak istediğiniz vakit, bu işe ciddi kaynak ayırmalı ve bu işi yapacak coder+designer+project manager kadrosuna çok ciddi paralar ve zamanlar harcamalısınız. Bunun yerine, sistemi alıyor, kuruyor ve çalıştırıyorsunuz.

Peki gerçekte nasıl bir şey bu sistem? Bir örnek verelim..

Mesela bu sistemi Türkiye’de kim kullanabilir?

Disko Kralı programını biliyorsunuz. Okan Bayülgen, ekibi ile birlikte hafta boyunca programına hazırlanıyor. Tüm ekip katılacak konukları ayarlamak uğraşıyor, programın akışını belirlemeye çalışıyor. Diğer yandan; ekibin bir kısmı skeçler üzerinde çalışıyor, Okan Bayülgen stüdyoda yeni deneyeceği ışık sistemi ile oynuyor, editörler program metinlerini hazırlıyor, vs vs…

Bu ekip ve bu ekibin ürettiği program, Türkiye’de milyonlarca insan tarafından ilgiyle takip ediliyor. Sadece bu program takip edilmiyor; Disko Kralı ekibinin; programa hazırlanma esnasında yaşadıkları, programdan hemen önce yaşadıkları, program esnasında olan bitenler, program sonrasında yapılan toplantılar, değerlendirme sohbetleri, stüdyodaki seyircilerin çektikleri görüntüler, reklam aralarında yaşananlar. Bunların hepsi merak ediliyor. Sonuçta, eğlenceli bir ekip eğlenceli bir program yapıyor fakat tüm seyircilerin stüdyoya girebilme şansı yok. O ortamda, yayına 10 saniye kala hissedilen tatlı panik duygusunu yaşama şansı yok. Hafta içi binlerce kişinin ekibi ziyaret etmesi, onlarla beraber Okan Bayülgen’in ofisinde pizza yemesi ve hep beraber gülmesi, muhabbet etmesi, çalışması ve eğlenmesi doğal olarak mümkün değil. Bu programın tümüne imrenen, öykünen, programın önünü arkasını ilgiyle takip eden bir kitle var.

Şimdi önemli soru geliyor: Bu programı merakla takip eden, bu program hakkında internette video’lar seyreden, video’lar upload eden, program hakkında yazılar yazan, yorumlar yapan insanlar; bu işleri yapabilmek için nereleri kullanıyorlar? İşte önemli soru bu.

Bu eğlence programını takip eden ciddi kitlenin kullandığı online ortamları ben sayayım size:

Yorum yapmak ve yapılan yorumları okumak için: Ekşi Sözlük.

Video yüklemek ve seyretmek için: Youtube.

Kişiler yorumlar yapmak ve fotoğraflar eklemek için: Kişisel blog sayfaları.

Programa gidildiğinde çekilen fotoğrafları sergilemek ve karşılıklı yorumlar yapmak için: Facebook.

Ekşi Sözlük’e üye olmadan programın dedikodusunu yapmak isteyenler için: İTÜ Sözlük vs Ekşi Sözlük klonları.

Programa gidiş vs organizasyonları, program hakkında sohbetler için: Ekşi Sözlük, Facebook Disko Kralı grupları, kişisel “fan” sayfaları vs

Diğer içerikler için: www.kingodisco.com, kingodisco.org, diskokrali.fan.web.tr vs vs vs…

Sıkıldım. Görüyor musunuz, bakın, televizyonda eğlence üreten bir eğlence programı var, bir kişi bunu seviyor ve bununla alakalı “takipte” bulunması için ne kadar çok yer gezmek zorunda.

Peki, Disko Kralı ekibi neden bir “Web 2.0 enabled” sayfa yapmıyor kendisine? Cevap basit, bu tip bir platform çok pahalı ve zaman harcayıcı da o yüzden. Düşünsenize, adamlar programı mı yetiştirecekler yoksa “Project Management” toplantılarında “şurası şöyle olsun demiştik ama şöyle yapmışsınız” şeklinde klasik tantanalar içeren yüz saatlik toplantılara mı katılacaklar. Bir de üstüne tonla para verecekler öyle mi? O yüzden bu hiç mantıklı değil. Onun yerine, çok daha az “zaman ve para” harcayarak bir Web 2.0 sistemi kursalar, çok büyük hevesle program hakkında içerik arayan kesimi, inanılmaz bir hızla kendi platformlarına çekecekler ve bu ortam, çok ciddi bir pazar haline gelecek. “Disko Kralı programı, kurduğu Web 2.0 ortamında neler sunar, ne karlar elde eder, kullanıcıya ne avantaj sağlar, nasıl kişiye özel reklam yapar, yani aslında Web 2.0 ortamı ne işe yarar?” sorularını cevaplamayacağım. Web 2.0′ın faydaları ve getirileri belli. Eğer onları da yazmaya kalkarsam bu yazı bitmez :)

Dünyada Disko Kralı ile aynı durumda olan çok ama çok fazla sayıda “içerik üretici” var. Bırakın Disko Kralı’nı, milyarlarca doların döndüğü Formula 1′in resmi web sayfası Formula1.com bile basit haber içerikleri vermekten öteye gidemiyor. Halbuki ellerinde ne kadar veri var düşünün. Bunları Web 2.0 ortamı ile sunsa, oraya üye olsak, yorumlar, haberler, bizim upload ettiğimiz video’lar, onlara gelen yorumlar, açılan gruplar, birlikte katılınan organizasyonlar vs vs. Çok ciddi bir pazar, çok. Bunu yapmak lazım.

İşte artık “Web 2.0 ortamı üretmek” anlamında hayat çok daha kolaylaştı. Cisco’nun daha birkaç günlük bu çok çok küçük bebeği, ilerisi için güzel şeyler söylüyor şimdiden.

Bakalım göreceğiz, Cisco hiçbir zaman Microsoft kadar “tam saha pres pazarlama” yapmayan bir firmadır aslında. Microsoft, çok şikayet alan ürünleri az önce uzaydan gelmiş gibi satıyorken, Cisco pazarlama için bu kadar bastırmaz. Cisco’nun ürünleri kendi kendine doğru yerlerini bulurlar :) Hani şu “word of mouth marketing” dedikleri :)

Bakalım Cisco Eos için aynı şey geçerli olacak mı?

Sevgiler..

Oğuzhan Eren

Cisco Eos Resmi Web Sayfasi:

http://www.cisco.com/web/solutions/cmsg/platform.html

Konu Hakkında Resmi Basın Açıklaması:

http://newsroom.cisco.com/dlls/2009/prod_010709b.html

h1

OSI Modeli ve Standardizasyon

Ocak 5, 2009

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

h1

“Networking” Nedir?

Ocak 5, 2009

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

h1

Yeni CCNA Sertifikaları

Aralık 25, 2008

Networking dünyasının, “sertifikasyon” tarafı ile uğraşanlar veya görevleri dahilindeki sorumlulukları gereği uğraşmak zorunda kalanlar Cisco sertifikalarını iyi bilirler. Bu sertifikalar, en çok Routing&Switching alanında bilinir ve CCNA, CCNP, CCIE diye gider.

Diğer yandan Cisco’nun sertifikaları arasında, sadece Routing&Switching değil, diğer alanlarda da önemli sertifikalar, önemli uzmanlaşma yolları vardır. Bunlar “Voice”, “Security” ve “Wireless” alanlarıdır.

Şimdiye kadar, Routing&Switching’de (kısaca R&S diyebiliriz) uzmanlaşmak isteyen kişiler, CCNA sertifikasına sahip olduktan sonra CCNP sertifikası için gerekli BSCI, BCMSN, ISCW ve ONT eğitimlerini alıyor ve bu eğitimlerin sınavlarına giriyorlardı. Security alanında uzmanlaşmak isteyenler ise CCNA sonrası Security yolunu takip ediyor ve CCSP oluyorlardı. Voice için de yine CCNA sonrası CCVP olmak gerekli idi. Bu noktada şöyle bir noksanlık mevcut idi. CCSP veya CCSP olmak isteyen kişiler, sonuçta her şeyin R&S temelli olduğundan hareketle, genel bir CCNA eğitimini almak durumunda idi. Daha sonra ilgili uzmanlık yollarına devam ediliyordu. Tabii takdir edersiniz ki CCNA sonrası (yani Routing ve Switching tabanlı temel CCNA eğitimi) sonrası R&S yoluna devam etmek çok daha çekici ve kolay geliyordu. Bu noktada insanların CCSP’ye veya CCVP’ye gitmesi için herhangi bir motiv yoktu. O yüzden, herkes R&S’e yüklenirken, SP ve VP tarafında iş gücü açığı mevcut oluyordu.

Cisco bunu çözmek için CCNA Level sertifikaları da uzmanlık alanları anlamında böldü. Artık CCNA var (ki bu aslında CCNA R&S oluyor), CCNA Security var, CCNA Voice var ve tabii CCNA Wireless var.

Artık CCSP olmak isteyen bir kişi, CCNA Security aldıktan ve işini temel manada epey kolaylaştırdıktan sonra CCSP yoluna “daha kolay ve zahmetsiz” devam edebiliyor.

Peki CCNA’in uzmanlık tabanlı çeşitlerinde neler var ve konu anlatımları nasıl?

Networking camiasındaki bilgi alışverişlerinde, -diğer birçok bilgi alışveriş ortamında olduğu gibi- iki tip bilgi paylaşımı mevcuttur. Birincisi, networking cihazları ile ilgili spesifik ve değersiz bilgiler, diğerleri ise konunun neden öyle olduğunu anlatan, tabiri caiz ise biraz daha “felsefik” bilgiler. Yani elimizdeki bir firewall’in, dışarıdan gelecek ping ataklarını engelleyebilmesi için, bilmemne ekranındaki bir özelliği check etmemiz gerekliliği, bahsettiğim birinci tipteki bilgiye giriyor. Diğer yandan, o firewall üzerinde neden o özelliği kullanmamız gerektiğ, o özelliği kullanmazsak ne olacağı ve firewall’in içinde neler çevirip o özelliğin o şekilde çalışmasını sağladığı ile ilgili bilgiler ise ikinci tip bilgiler oluyorlar. Tabii ki birinci tip bilgiler değersiz ve her zaman rahatça ulaşılabilen tipte bilgiler olmakla beraber, ikinci tipte bilgiler son derece kıymetli.

Bu “iki tipte bilgi” hadisesini neden anlattım? Çoğunlukla uzmanlaşma yolu dahilindeki, misal, güvenlik eğitimlerinin kitaplarında, bu iki tip bilgi de vardır ve kimi zaman birbirine karışmış durumdadır. İşin mantık yanını öğrenmek isteyen, “nasıl çalışıyor yahu bu?” sorusunu cevaplamaya çalışıp, merak ettikleri teknolojinin nasıl çalıştığını öğrendikten sonra kitaba “iyi de neden?” sorusunu sormak isteyen aktif okuma meraklısı öğrenciler, çoğu zaman kendilerini bilmemne özelliğinin nasıl enable edileceğini anlatan yazılarla karşı karşıya bulurlar. Aktif okuma yaparken, bu iki farklı konu tipini birbirinden iyice ayırmak ve bu iki farklı konu tipine kesinlikle ve kesinlikle iki ayrı “yaklaşım” geliştirmek gereklidir.

İşin mantık kısmı için az enerji harcayıp, hangi menüde hangi özellik olduğunu “ezberlemeye” çalışan kişiler, uzaktan bakıldığında bilgili görünüp, maksimum kahve-sigaranın tüketildiği ve uçsuz bucaksız bir sorunun çözülmeye çalışıldığı sistem odası ortamlarındaki mantık yürütme sekanslarında maalesef çok fena çuvallamaktadırlar. Diğer yandan, işin mantığını bilen fakat konfigürasyon kısmı için fazla emek harcamamış kişiler ise, “evet bunu şöyle yapmamız lazım, çünkü..” diye devam eden cümleler kurarak yapılacak hamlenin mantığını sağlamca oturttuktan sonra, maalesef “ee bunun komutu neydi yahu?” diyen kişiler olmaktadırlar. O yüzden, herhangi bir uzmanlık alanı dahilindeki konuları çalışıyor iken, anlatılan konuları iyi ayrıştırmak ve doğru konulara doğru enerji harcamak “verimlilik” anlamında önemlidir. Bu iki tipte konuya da önem verilmeli ve asıl güç, diğer tarafı çok güçsüz bırakmamak kaydı ile, işin “mantık” tarafına verilmelidir. Ben eğitimlerimde, bu “iki tipte bilgi” hadisesi hakkında “ustalık bilgisi ve tornavida” şeklinde bir analoji yaparım. Birini edinmek güçtür, diğerini edinmek kolaydır. Ama kolay olan ortada yokken diğer “kudretli” olan işe yaramaz.

Biraz konudan saptık mı? Hani CCNA Security falan diyorduk. Yok, aslında fazla sapmadık, hemen bağlayayım. Önceden CCNA eğitimi sonrası, CCSP’ye devam eden security meraklısı arkadaşlar, CCSP derslerinde, yukarıda anlattığım iki değişik tipte bilgi ile boğuşuyorlardı. Bir yanda konfigürasyon, bir yanda mantık. Tabii hangisine ne kadar enerji harcayacaklarını bilemeyip, kimi zaman mantığa az, kimi zaman da konfigürasyona az zaman ayırıyorlardı. Artık, CCNA Security isimli yeni sertifikasyon sayesinde bu karmaşaya gerek kalmadı. CCNA Security’nin içeriği, gayet elekten geçirilmiş bir şekilde, neredeyse %100 oranında işin “mantık” kısmını anlatıyor. Bu sertifikasyon sonrasında CCSP’ye devam edecek kişiler yine mantık+konfigürasyon konuları ile karşılaşmakla beraber, artık ikisinin de daha rahat üstesinden gelebiliyorlar.

Tabii bu yazıda ben, özel ilgi alanım Security olduğu için CCNA Security + CCSP yolunu örnek olarak kullandım. Aynı mantık CCNA Wireless ve yakında sunulacak “Wireless Professional” sertifikasyonu için ve tabii ki CCNA Voice + CCVP için de geçerli. Orada da CCNA sertifikasyonunda işin mantık tarafı anlatılıyor.

Velhasıl; Security, Voice, Wireless gibi konularda ilerlemek isteyen ama tonla döküman arasında boğulmak istemeyen, hangi tip bilgiye ne kadar enerji harcayacağını kestiremeyen arkadaşların -ve tabii aslında verimlilik anlamında networking eğitimleri alan tüm kişilerin- özelleştirilmiş ve süzülmüş, sadece “mantık” içeren harikulade CCNA içeriklerini okumasını tavsiye ederim.

Oğuzhan Eren

h1

802.1x

Aralık 15, 2008

Merhaba,

802.1x denen protokol hakkında bir şeyler yazmak istedim. Networking ile uğraşanlar bilirler, network dünyasının bazı lafları vardır, çok basit olmasına karşın çok matah bir şeymiş gibi anlatılır. Bunlardan biri de 802.1x’dir. Birçok kişinin oldukça karmaşık ve ileri düzey bir konu olarak gördüğü 802.1x teknolojisi, aslında oldukça basit bir işleyişe sahip bir mekanizmadır.

Biraz bilgi vermek adına bu teknolojiden bahsedelim.

Normalde şirketlerimizdeki bilgisayarlarımızı bağladığımız switch’ler, kimin gelip bağlandığına bakmaksızın network hizmetini “herkese” sunmaktadır. Yani şirketimizdeki bir lan switch’e bağlanan bir PC’nin şirketin bir çalışanına ait olup olmadığı denetlenemez. Bu PC, şirkete misafir olarak gelmiş birine ait “virütik” bir bilgisayar da olabilir. Bu, şirket network’üne ve network’teki kaynaklara zarar verebilir.

Böyle durumlarda 802.1x teknolojisi uygulanmalıdır.

(Tabii hemen parantez içinde, şirketimizde bir Domain yapısının bulunduğunu ve kullanıcıların kimliklerinin merkezi bir veritabanında tutulduğunu varsayıyoruz. Bu günümüzde olmazsa olmaz bir yapılandırmadır.)

802.1x teknolojisi sayesinde, switch’ler, kendilerine bağlanan makinayı hemen network’e almak ve bağlı bulunduğu port’un VLAN’ina göre haberleşmesini sağlamak yerine, önce bilgisayardan kullanıcı bilgisi isterler. Bu kullanıcı bilgileri, kullanıcının windows’a login olurken kullandığı AD user/pass’i veya ağa dahil olma esnasında girilecek user/pass olabilir. Switch bu bilgileri ortamdaki bir RADIUS Server’a gönderir. RADIUS Server ise kendisine bağlanmak isteyen kullanıcının merkezi veritabanında var olup olmadığını, var ise hangi gruba dahil olduğunu sorgular.

Bu sorgu neticesinde, kullanıcıyı sisteme dahil edecekse eğer, dahil etme emrini ve kullanıcının dahil olacağı VLAN bilgisini switch’e gönderir. Kullanıcı merkezi veritabanında yok ise, bu durumda switch’e kullanıcının Misafir VLAN’ine dahil edilmesi gerektiğini söyler. (Genelde misafirperver network adminleri olarak, misafirleri komple dışarı atmak yerine onlara sadece internet veririz)

Böylelikle, kullanıcı, ismin bağlı dinamik VLAN ataması lüksünden faydalanmış olur. Ayrıca network’e, kimlik doğrulaması yapılmayan kişiler giremezler.

802_1x

Bu teknoloji hem kablolu hem de kablosuz sistemler için kolaylıkla kullanılmakta, network güvenliğini önemli ölçüde arttırmaktadır.

Oğuzhan Eren

h1

Subnetting…

Aralık 4, 2008

Merhaba,

Subnetting yazdım ama subnetting anlatmaya niyetim yok, çünkü subnetting tahtada anlatılır. : )

Onun yerine şundan bahsedeyim. Malum subnetting anlatırken, adım adım gitmek lazım, önce /16′yı /24′e nasıl çekeceğimizi öğrenmemiz lazım.

Sonra da “/24′lü network’leri daha ufak parçalara nasıl böleceğiz hocam?” diyenlere “bilmiyoruz, bir ara verelim belki buluruz..” demek ve 15 dk ara vermek lazım : )

Sonra da asıl subnetting olan /25, /26, /27 diye devam etmek, örneklemeler yapmak, sınıfı ayık tutmak ve VLSM anlatmak lazım.

Evet, bu konu çok zevkli ve bu hakikaten herkesçe “zor” addedilen aşırı ünlü (overrated) konuyu anlatmak da çok zevkli. Subnetting konusuna düşmanlık besleyenler, kin güdenler gördüm ben : ) Tabii ki bu konuyu anlayan birinin gözleri, dünyanın en güzel gözleri oluyor : ) Çünkü pırıl pırıl parlıyor.

Bu konu için güzel bir kısa film çekilmiş. Önceleri bu konu ile uğraşanlar gülümseyerek seyredeceklerdir. Filmde, bu filmi öğrencilere seyrettirip film sonunda bir quiz yapabilmek için, bilerek bazı ufak hatalar yapılmış.

Buyrunuz, bahsettiğim film:

Oğuzhan Eren

h1

Cisco PIX Firewall Nasıl Çalışır?

Aralık 2, 2008

Merhaba,

Yakın zamanda bir Cisco PIX Firewall ile uğraştım, kenarından köşesinden de olsa. Hazır bunun üzerinde uğraşmış iken, şu cihazın temel çalışma mantığından biraz bahsedeyim istedim.

Aslında bahsedecek olduğum “Firewall nasıl çalışır” kısmı, sadece PIX’in nasıl çalıştığını değil temel anlamda tüm firewall’ların nasıl çalıştığını anlatacak.

Kurduğumuz network’leri korumak için firewall’lar kullanıyoruz. Bu firewall’lar sayesinde, iç network’umuz ile dış network arasında bir ayrım yapmış oluyoruz. Bilindiği üzere, iç network “sakınmamız gereken, kıymetli makinalarımızın olduğu network”, dış network ise “Internet veya iç network’e erişmesini istemediğimi network” demek. Bu iki bölgeyi birbirinden ayırmak için bir firewall kullanmalıyız. Bu sayede, daha az güvenli olan network’ten daha çok güvenli olan network’e erişim sağlanmayacak. Ama tersi geçerli olacak. Yani çok güvenli network’teki bir makina, daha az güvenli bir bölgedeki makinaya istediği gibi erişebilecek.

Burada dikkat etmemiz gereken nokta şu: Örnek olarak, biz iç network dahilindeyiz ve dış network’e ulaşmaya çalışıyoruz. Bunu yapmamız mümkün, biz dış ortamdaki herhangi bir makinaya bağlanabiliriz ama o makina bize bağlanamaz. Ancak burada özellikle vurgulamak istediğim nokta, “connection-bağlantı”. Biz iç network’ten dışarıya doğru bir bağlantı açtığımız zaman, o bağlantıyı içeriden biz başlattığımız için, o bağlantıya gelecek cevapların iç network’e gelmesi mümkün. Ama dışarıdaki bir makinanın, “durup dururken” iç network’teki bir makinaya veri göndermesi mümkün değil.

İşte temel manada, Cisco PIX veya diğer firewall’lar böyle çalışıyorlar. İç network’ten dışarıya bağlanmak isteyenlerin listesini tutuyorlar ve bu bağlantı isteklerine karşılık gelecek verilerin içeri girmesine izin verirken, durup dururken dışarıdan içeriye girmeye çalışan paketlere izin vermiyorlar.

Sonuçta, firewall, dışarı çıkmak isteyen iç network’teki bir bilgisayar için, dışarı çıkış anında bir connection slot yaratıyor. Buna xlate deniyor. Bu xlate bilgisi, firewall tarafından akılda tutularak, bu bağlantıya dönen cevaplara izin veriliyor fakat bu xlate tablosunda varolmayan paketlere izin verilmiyor.

Cisco PIX’lerde, tüm bu mekanizmanın temelinde ASA algoritması yatıyor. PIX cihazlar ASA algoritması sayesinde bahsettiğim “connection list” işlemini yürütüyor. Diğer firewall’larda da temel mantık bu şekilde. Diğer anti-virus, anti-spam, content filtering vs işlemleri, bu mekanizmanın üzerine bindirilmiş diğer ek özellikler.

Şimdi şu soruya geçelim. Yukarıda, az güvenli bölgeden ve çok güvenli bölgeden bahsettik. Kural olarak, çok güvenlik bölge az güvenli bölgeye istediği gibi bağlantı başlatabiliyor ve cevabını alabiliyorken (yani sağlıklı bir biçimde haberleşebiliyorken) az güvenli bölge çok güvenli bölgeye hiç bağlantı başlatamıyordu (ama oradan başlatılan isteklere cevap dönebiliyordu) Peki sadece iki adet mi güvenlik bölgesi var. Sadece az ve çok diye iki adet mi? Hayır. Çok sayıda güvenlik bölgesi oluşturup, bunlara değişik güvenlik seviyeleri verebiliriz. Peki bu nasıl olacak?

Çok güvenli diye kastettiğimiz iç network’un güvenlik seviyesi 100 olsun. Güvensiz olarak addettiğimiz dış network’un güvenlik seviyesi ise 0 olsun. Biz “50” güvenlik seviyesine sahip bir bölge yaratabiliriz. Bu bölge tam olarak “iki arada bir derede” olacak. Tahmin edileceği üzere, bu bölge, “50” güvenlik seviyesine sahip olduğu için, güvenlik seviyesi 0 olan dış network’e istediği gibi gidecek ancak “100” güvenlik seviyesine sahip iç network’e bağlantı kuramayacak.

Şimdilik, temelde “Cisco PIX Adaptive Security Algorithm”i anlatmış olduğum bu yazı bitiyor. Daha sonra Cisco PIX veya Cisco ASA cihazlarda adres dönüşümü işlemlerini anlatacağım.

Oğuzhan Eren

h1

ZyXEL USG 200 WAN Backup Hakkında…

Kasım 27, 2008

Önceki yazımda, ZyXEL USG serisi cihazlar için dökümante edilmemiş bazı özelliklerden bahsetmiştim. Biraz lab çalışması ile, ZyXEL USG 200 cihazının WAN interface’ler arasındaki yol seçimini cihazın nasıl yapacağını keşfetmiş oldum..

Şöyle ki:

Cihaz en uygun WAN çıkışı seçimini interface’lerin metric değerlerine göre yapıyor. Bu bilgi kenarda dursun. Diğer yandan Policy Route ile ilgili trafiği istenen interface’den çıkarmak için gerekli yönlendirmeyi yapıyor. Ek olarak connection check özelliği sayesinde, belirli ip adresine ping atamayan interface atıl duruma geliyor ve otomatik olarak yedeğine geçiliyor.

Hepsi uygun yol seçimi ile alakalı değil mi? Ama ciddi bir karışıklık durumu var, çünkü hangi mekanizmanın söylediği hangi sıra ile dikkate alınacak?

Keşfettiğim şekli ile cihazın routing esnasında uyguladığı seçim mantığı şu şekilde çalışıyor:

1-Policy Route ile söylenen kurala göre işlem yapılır. Policy Route’ta hangi trafik hangi interface’den çıkarılacaksa bu belirtilmektedir. Fakat PR mekanizmasında, çıkış interface’i olarak “auto” seçmek mümkündür. Bu durumda diğer mekanizma devreye girecektir.

2-Policy Route’ta çıkış interface’i olarak “auto” seçildiğinde, çıkış interface’i otomatik olarak seçilir (boşa sallamış olduk bu cümleyi ama neyse..) Çıkış interface’inin otomatik olarak seçilmesi demek, metric değerlerine bakılarak en düşük metric değere sahip interface’in seçilmesi demektir.

Bu bilgilerle birlikte söyleyebiliriz ki, Policy Route

Diğer yandan, “Connectivity Check” işlemi nasıl çalışacak?

“Connectivity Check” yok ise, PR mekanizması otomatik olarak, herhangi bir şekilde link’i kopan veya default gateway’i ile haberleşmeyi kaybeden interface’i routing tablosundan çıkarmakta ve metric değerine göre bir sonraki daha iyi interface üzerinden routing denemektedir. Fakat bu mekanizma, düşen bir interface tekrar geri geldiğinde bu interface’i tekrar canlandıramamaktadır.

Eğer “Connectivity Check” var ise durum şu özetle şekilde gelişir:

-PR uygun interface’i seçer ve paketleri yollar.

-PR’in seçtiği ve Connectivity Check seçeneği aktif olan interface down olduğunda veya belirli bir ip adresi ile haberleşmeyi kaybettiğinde, PR, “auto” özelliği gereği bir sonraki sıradaki interface’i seçecek ve paketleri oradan yollamaya başlayacaktır.

-İlgili interface geri geldiğinde, Connectivity Check bunu farkeder ve en iyi interface’in tekrar paketlerin gönderildiği interface olmasını sağlar.

Bu arada, WAN interface’leri üzerinde bu oynamaları yaparken bu interface’lerin WAN TRUNK’tan çıkartılmış olması gerekmekte.

Buraya kadar tüm mekanizmayı anlattım. Ancak metric değerlerinin nasıl seçileceği, sanırım bu yazının en çok karıştırılabilecek noktası olabilir. O konu ile ilgili bir örnek verelim.

WAN1: Internet, WAN2: Corporate Leased Line, WAN3: Corporate Leased Line VPN Yedek olsun. İsimlerden de belli olduğu gibi WAN2′nin yedeği WAN3. Default Internet trafiği ise zaten WAN1′den çıkıp gidiyor. Bu durumda PR kuralları şu şekilde olmalıdır:

LAN to Corporate Network -> Auto

LAN to Any -> WAN1

PR mekanizması, kuralları yukarıdan aşağı doğru işlediği için önce üst kural uygulanacak ve uygun interface seçilecek (Bu noktada WAN2 seçilmeli) O interface fail ettiği zaman bir sonraki interface seçilecek. (Bu noktada da WAN3 seçilmeli)

Buna göre metric değerleri, WAN1:3, WAN2:1 ve WAN3:2 şeklinde olmalıdır.

Tabii bu cihazların, yabancıların çok sevdiği bir deyim ile “in conjunction with” kullanılıp birbirinin davranışını etkileyen tonla özelliği var ve bunların birbirleri ile çakışacak şekilde konfigürasyonun neler doğuracağı konusunda da çokça dökümante edilmemiş özellik mevcut. Bu yüzden çoğu şeyi tahmin etmek veya deneyip görmek gerekiyor. Detaylı bilgi için mail adresimden bana ulaşabilirsiniz.

Oğuzhan Eren

h1

ZyXEL ZyWALL USG Serisi Firewall’lar

Kasım 25, 2008

ZyXEL uzun zamandır, ZyWALL serisini geliştirmekteydi. Önce, bu ZyWALL denen firewall’lara UTM denilen bir özellik eklediler. UTM yani “Unified Threat Management” konsepti sayesinde, firewall’lara IDP, ADP, Anti-virus, Anti-spam, Content Filtering vs şeklinde filtrelemeler yapma özellikleri eklediler.

Aslında ZyWALL 70 denilen firewall ile ZyWALL 70 UTM denilen firewall arasında herhangi bir donanım farkı yok. Tek fark üzerindeki yazılım. Yani ZyWALL 70′e sahipseniz, ftp.zyxel.com’dan ücretsiz UTM firmware’i indirebilir ve cihazınızı UTM modeline dönüştürebilirsiniz. Böylelikle, tek bir kutudan birçok içerik filtreleme sistemine kavuşabilirsiniz.

Asıl konuya gelelim. Şimdi bir de USG serisi Firewall’lar çıktı. Bunlar ZyWALL 100 USG, 200 USG ve 1000 USG olarak gidiyor. Detayları fazla. Ama sonuçta şu söylenebilir ki, bunlar farklı. Yapısal olarak farklı ve üzerlerinde çalışan işletim sistemleri de farklı.

Neyi farklı bu USG’lerin? Bunların üzerinde klasik ZyNOS yok, onun yerine bu cihazlar, çatlayana kadar ortalığı araştırmama rağmen, mimarisi hakkında herhangi bir bilgiye ulaşamadığım, linux tabanlı olduğunu tahmin ettğim ZLD adında bir işletim sistemi içeriyor. Bu yapı ZyNOS’a göre çok daha fazla özellik barındırmasına ve korkunç esneklik sunmasına rağmen ilk kullanımlarda bana sanki biraz kırılgan gibi geldi. Bakalım, gelişecek ve göreceğiz.

Fakat ZyXEL ZyWALL USG serisi firewall’larda dökümantasyon eksikliği var maalesef. Cihazı “aktif” olarak kurcaladığınız zaman iki dakika sonra çakılabiliyorsunuz. Aktif olarak kurcalamaktan kastettiğim, cihazın menülerini incelerken, “ee burda şunu şöyle yaparsam nasıl davranır bu alet?” diye sormak. Çok değil, birazcık detay soru sorduğunuz anda, kendinizi, bu sorunun cevabını araştırırken buluyorsunuz. Ama maalesef, yok. 900 sayfalık user guide’i var cihazın, ama inanılmaz basit bir anlatımla, konuları çok yüzeysel anlatan bir user guide.

Bu USG adındaki familyanın gerçek çalışma mekanizmasını ve davranış şekillerini keşfetmek için maalesef tek şans laboratuar ortamı. Çünkü hakikaten “”Şuradan şu policy route’i yazar, static olarak şu route’i girersem ve “connectivity check”i enable edersem, acaba bağlantı koparsa cihaz ne yapar?”" şeklinde bir sorunuz varsa, bu sorunun cevabına mümkün değil user guide ile ulaşamıyorsunuz. User guide diyor ki, bağlantı kontrol özelliği sayesinde cihaz bağlantının olup olmadığını kontrol eder, bağlantı yoksa oradan veri yollamaz. Bunu ben de biliyorum.

İyice çözülüp ne menem aletler olduğu, huyları ve davranış biçimleri iyice anlaşıldıktan sonra şahane işler becerebilecek ucuz ve performanslı cihazlar bunlar.

Oğuzhan Eren