Temel Bilgiler


Bilgisayar Ağlarının Temel İlkeleri


Bilgisayar dunyasında yeni teknolojileri daha iyi kavramanın yolu coğu zaman bu teknolojinin, teknolojiyi geliştiren şirketin tarihine bakmaktan geciyor. Teknolojiyi geliştirmekteki amac neydi, nasıl bir urun ortaya kondu, piyasada ne kadar tutuldu ve devamında ne var soruları netlikle cevaplanırsa teknolojiyi satın alırken ve uygularken yanlış kararlar verilmesinin onune gecilir.



İsterseniz bizde once bilgisayar ağlarının tarihsel gelişimine bir goz atalım.

Bilgisayar ağları nasıl doğdu

Bilgisayarların gercek manada kullanılmaya başladığı 60'lı yıllarda, bilgisayar dendiğinde akla gelebilecek tek şey buyuk mainframe'lerdi. İsmindeki haşmete rağmen, bu mainframe'ler bugun hepimizin masasında duran kişisel bilgisayarlara gore cok daha yavaş calışan makinalardı. Sakın aklınıza bugunkune benzer bir bilgisayar getirmeyin, bu cihazlar klavyesi ve monitoru olmayan, dev dosya dolapları gibi aletlerdi.


[IMG]file:///C:/Users/PRO2000/AppData/Local/Temp/moz-screenshot.jpg[/IMG][IMG]file:///C:/Users/PRO2000/AppData/Local/Temp/moz-screenshot-1.jpg[/IMG][IMG]file:///C:/Users/PRO2000/AppData/Local/Temp/moz-screenshot-2.jpg[/IMG][IMG]http://img297.**************/img297/1156/pegasus1959zj5.jpg[/IMG]
Yanda Londra Bilim Muzesinde sergilenen bir mainframe'in acıklama kartı var.

İş dunyasında kullanılan ilk bilgisayarlardan birisidir. Sınırlı sayıda uretilen bu makinalardan birisi buyuk bir sigorta şirketince kullanıldı ve bu cihaz da 1984 yılında muzeye devredildi.

[IMG]http://img175.**************/img175/3435/pegasus1ub3.jpg[/IMG]
Gunumuz bilgisayarlarından biraz!! farklı.

[IMG]http://img175.**************/img175/5402/whatwaspegasususedforrh7.jpg[/IMG]
1950 yılında maden yorgunluğundan bir cok ucağın duşmesi sonucu, bu bilgisayarlardan 40 tanesi cok fazla matematiksel işlem gerektiren stres hesaplamarında kullanıldı, aralarından Sidney Opera binasının da bulunduğu bir cok bina ve koprunun yapımında bu bilgisayarlardan faydalanıldı.



1955 yılında, bilgisayarların ureticisi Ferranti şirketi, bilgisayarlardan birini herkesin (daha cok bilim adamları ve matematikciler tabii ki) hizmetine sundu. Boylece elle yapılması yıllar surebilecek hesaplamalar gerektiren bilimsel veya teknik calışmalar bu firmaya getiriliyor, hesaplamalar bilgisayarda yapıldıktan sonra sonucu kişiye teslim ediliyordu.

[IMG]http://img175.**************/img175/1153/pegasus2ny1.jpg[/IMG]

Monitor, klavye hak getire...

İlk başlarda klavye ve monitoru olmayan bu cihazlar bir veya daha fazla operator tarafından programlanıyor ve calışmaları sağlanıyordu. Bir sure sonra ekran ve klavyeler kullanılmaya başlandı. Bir mainframe'e birden fazla klavye ve monitor bağlanılabiliyor aynı anda birden fazla kişi bu makina uzerinde program yazabiliyordu. Boylece eskiden olduğu gibi bu cihazları kullanmak icin bugun git-yarın gel donemi kapanmıştı. Dikkat ederseniz program yazmaktan bahsettim, oyle hazır programı alıp kullanmak yok, bir programa ihtiyacın varsa oturup yazıyordun.



Ancak bu sistemlere "ağ" diyemeyiz, cunku bu klavye ve monitorler sadece veri giriş-cıkış aygıtıydılar. Belki aptal terminal terimini duymuşsunuzdur, işte kendi uzerlerinde CPU'su olmayan bu cihazlar Dumb terminal-Aptal terminal olarak adladırılıyordu.



Zaman icinde mainframe'ler geliştiler, hard diskler kullanılmaya başlandı. Kullanıcılar, mainframe uzerindeki veriye erişebiliyorlardı. Ancak ulaşılan veri hala aynı bilgisayar uzerindeydi.



Mainframe'ler arasında veri paylaşımı fikri cok gecmeden ortaya cıktı. Ancak mainframe'ler genellikle birbirinden binlerce kilometre uzaktaydılar. Aynı bina icinde bulunan mainframe'ler ise coğu zaman farklı ureticilerin cihazlarıydı ki, bu birbirlerinden cok farklı yapıda oldukları anlamına geliyordu.

[IMG]http://img175.**************/img175/340/23db2.gif[/IMG]

Gercek networkler varolmadan cok once, bilim adamları farklı iki sistemin verilerini nasıl paylaşabileceklerini tasarlamaya başlamışlardı. Bir cok insan pratik manada ilk bilgisayar ağının ARPANET olduğunda birleşir. ARPANET Advanced Research Agency(ARPA) isimli kurum tarafından kuruldu. ARPA 1958 yılında kurulan ve Amerikan devleti icin yuksek teknoloji projeleri ureten bir kurumdur . 1972 yılında ismi DARPA(Defence Advanced Research Agency) olarak değişti, 1993'te tekrar ARPA, 1996'da ise tekrar DARPA oldu. DARPA bilgisayar ağları ile ilgili dağınık haldeki yuzlerce projeyi bir araya toplayan ve bir form kazanmasını sağlayan kuruluştur. Bu kurum sayesinde ilk bilgisayar ağı projesi ve sonradan internet'in temelini oluşturacak TCP/IP ve benzeri teknolojiler geliştirildi.



Peki mainframe'lere ne oldu sorusu akla gelebilir. Aslında hicbirşey olmadı ancak, 80'li yıllarla ortaya atılan "insanların evlerine ve kucuk/orta olcekli iş yerlerine bilgisayar alması fikri" ilk başta bazılarına "cılgınca" geldiyse de, IBM'in Personal Computer (PC) adıyla piyasaya surduğu "cihaz" yeni bir cığır actı. Kısa zamanda cok değişik ureticiler IBM'in bu cihazının aynısı bilgisayarlar urettiler. Bu bilgisayarları sıradan insanların da kullanabilmesi hatta uzerinde program yazılabilmesi icin işletim sistemleri (DOS, Windows vs.) uretildi. Bu bilgisayarlarda kullanılan işlemci, disk, bellek ve diğer tum bileşenler inanılmaz hızda gelişti ve yaygınlaştı.



Sonucta PC veya mini-computer olarak anılan bu bilgisayarlar dunya uzerinde milyonlarca-milyarlarca adede ulaştı. Bu arada mainframeler de teknolojideki bu gelişmelerden nasiplerini aldılar ve ilk başta uretildikleri amaca hizmet etmeye devam ettiler ve hala ediyorlar. Belli bir kapasitenin uzerinde veri işleme ihtiyacı duyan firmalar hala veritabanlarını IBM'in As400 makinalarında veya benzeri mainframe sistemleri uzerinde tutuyorlar. Bunun yanında universitelerde ve araştırma kurumlarında kullanılan "super bilgisayarları" da unutmamak gerekir.



PC'lerin cok yaygınlaşması sonucu, mainframe alamayacak/ihtiyac duymayacak firmalara ağ imkanlarını sağlamak amacıyla mini-computer/PC ağ işletim sistemleri uretildi. Novell'in Netware işletim sistemi, Microsoft'un NT'si ve devamı olan Windows 2000 buna ornek verilebilir. PC'lerin CPU gucunun tavana vurması ve Windows 2000 gibi guclu işletim sistemleri gunun birinde belki mainframe'lerin sonu olabilir, tabii olmayabilir de

Bilgisayar ağlarının amacı nedir

Bilgisayar ağlarını anlamanın ilk adımı en basit bir ağın bile cok kompleks bir yapıya sahip oduğunun kavranmasıdır. Bilgisayar ağlarının amacı genellikle soylendiği gibi veri paylaşımı değildir. Ancak paylaşım bilgisayar ağları icin anahtar kelimedir.



Binlerce terminali olan bir mainframe duşunun, evet tum bu terminaller mainframe'e ve uzerindeki dataya erişiyorlar, ancak veri hala tek bir bilgisayarın ustunde tutuluyor. Dolayısı ile buna ağ diyemeyiz.



Cunku bir bilgisayar ağı en az iki bilgisayardan oluşur.



Neyi paylaşacağız

Gunumuzdeki normal bir ofis kullanıcısı icin cevap hazır, "dosyaları ve yazıcıları, hımm..., bir de internete bağlanıyoruz biz ofiste...".



Oysa 60'lı yıllarda bilgisayar ağlarının tasarımı yapanlarlar icin bu o kadar da acık değildi. Elbette veri paylaşımını istiyorlardı ama zaman icinde geliştirilecek yeni teknolojilere de uyum sağlayabilecek bir yapı kurmaları gerektiğini biliyorlardı. O zamanlar kimse WWW'i hayal bile edemezdi, ancak yarattıkları ağ teknolojisi, bugun bizim WWW'yi kullanmamızı sağlıyor.



Bilgisayar ağları, bilgisayarların kaynaklarını(resources) paylaşmalarını sağlar.



Bir kaynak bir cihazın diğerleriyle paylaşmak isteyebileceği herhangi bir şeydir. Kaynaklar'a ornek olarak hemen dosyalar, dizinler ve yazıcılar verilebilir. Ancak orneğin e-mail mesajların iletilmesine yarayan bir kaynaktır. İnternet paylaşımında bir bilgisayarın internet bağlantısını paylaşıyoruz değil mi?



Sonuc olarak bilgisayar ağlarının amacı paylaşımdır. Ancak paylaşım sadece dosya ve yazıcılarla sınırlı değildir.

Sunucu - istemci (Server - client)

Paylaşım konusunu biraz acıkladıktan sonra, peki kim paylaşıyor, kim bu paylaşımı kullanıyor sorusu akla gelebilir. En azından benim aklıma geldi, neyse, uzerindeki herhangi bir kaynağı paylaşan bilgisayara sunucu(server), bu kaynağa erişen cihaza da istemci(client) adı veriliyor.



Bir dakika, sunucu dediğin şey şu kapalı kapılar arkasında duran, milyon megabayt diski, zilyon megabayt belleği olan bilgisayarlar değil mi? Evet, bu tip bilgisayarlar sunucu olarak anılıyor ve muhtemelende oyleler. Ancak bir bilgisayarı sunucu yapan şey, uzerindeki donanım miktarı, hatta ozel bir donanım olup olmaması değil, uzerindeki bir kaynağı paylaştırmasıdır. Doğal olarak uzerindeki kaynağı paylaştıran ve bir cok kullanıcının hizmetine sunan bir bilgisayar, talebi karşılamak icin daha "guclu" olmalıdır. Ancak akılda tutulması gereken şey şudur; sunucu'yu sunucu yapan uzerindeki donanım değil, kaynaklarını paylaştırmasını sağlayan yazılımdır (coğunlukla işletim sistemi veya işletim sistemi icindeki bir yazılım modulu).



Eğer bir sunucu yazılımı calıştıran bilgisayar, sunucu oluyorsa bir ağ uzerinde birden fazla sunucu olabilir mi? Evet. Peki bir bilgisayar uzerinde birden fazla sunucu yazılımı calıştırabilir mi? Evet, evet, evet...



Orneğin Windows 2000 veya Linux yuklu bir bilgisayar cok rahat 5-10 farklı sunucu programını calıştırabilir. Dosya sunucusu, e-mail, web, yazıcı...



Bir bilgisayar hem sunucu hem de istemci olabilir. Novell Netware haric tum işletim sistemleri (Windows, Unix/Linux ve Machintosh işletim sistemleri) bilgisayarın hem sunucu hem de istemci olarak calışmasını sağlayabilir. Coğu ofis ortamında bilgisayarlar hem sunucu hem de istemci olarak calışırlar. Uzerindeki yazıcıyı paylaştırmış PC2 bilgisayarı, PC1 uzerindeki dosyalara erişirken, PC1'de PC2'nin yazıcısını kullanıyorsa, bu iki bilgisayarda hem sunucu hem de istemci olarak gorev yapıyor demektir. Oysa PC3 sadece bu iki bilgisayarın paylaştırdığı kaynaklara erişiyor, kendi uzerinde paylaşılmış bir kaynak yoksa, sadece istemci durumda demektir.

[IMG]http://img175.**************/img175/1386/25mh1.gif[/IMG]

Kaynaklar kolayca kullanılabilir olmalı

Sunucu paylaştırıyor, istemci de kullanıyor. Ancak istemci bilgisayar(ve onu kullanan vatandaş) paylaşılan kaynağı gercekte nasıl kullanacaklar. Yani bu karmaşık yapı nasıl son kullanıcı icin problemsizce hizmet edecek?



Cozum: paylaşılan kaynak, istemci uzerinde sanki istemci bilgisayara ait yerel bir cihaz gibi gorulmeli, boylece istemci uzerinde calışan programların her biri(yazı editoru, dosya yonetisici-Word, Windows Explorer...) ağmış, sunucuymuş vs. uğraşmadan, sanki o bilgisayarın kendi kaynağına erişiyor gibi bu cihazı kullanabilmelidir.



Tabii ki, bu paylaşılan kaynak istemci uzerinde ufak bir farkla gozukmeli ki normal aygıtlardan ayrılabilsin. Mesela azıcık farklı bir ikonla..


Sonuc olarak...

Bilgisayar ağlarının amacı paylaşımdır. Bilgisayar ağı en az iki cihazdan oluşur. Kaynaklarını paylaşan cihaz sunucu, paylaşılan kaynağı kullanan cihaz ise istemci olarak adlandırılır.



Bir bilgisayarda aynı anda bir cok sunucu yazılımı calışabilir. Bir bilgisayar hem sunucu hem de istemci olabilir.


Bilgisayar Ağları Nasıl Acılır?


İsterseniz gunumuzde hemen hemen her ofiste gorebileceğiniz bir bilgisayar ağını ele alarak, bilgisayar ağlarının temel calışma prensiplerini inceleyelim.



Firmanın ismi Ak Tic. olsun. Ofiste Windows 2000 yuklu bilgisayarlar var. Windows 2000 ağ ozelliklerini sağlayan bir işletim sistemi, bu da onu OS(Operating System-İşletim Sistemi) olmanın yanısıra bir de NOS(Network Operating System-Ağ İşletim Sistemi) yapıyor. Ak Tic.'in bilgisayar ağı en populer kablolama şekli olan Unshielded Twisted Pair(UTP) kullanıyor.



Ancak bu bolumde anlatılacaklar ne işletim sistemiyle ne de kablo tipiyle alakalı değil. Dunyada farklı ağ işletim sistemleri ve kablolamalar mevcut. Bu yazıda sadece bir bilgisayar ağını meydana getiren değişik yazılım ve donanım bileşenleri ve herbirinin işlevleri uzerinde genel bir goruş edinmenizi sağlamak istiyorum. Bu nedenle değişik ağlar değişik kablo tipleri veya işletim sistemleri kullansalar da, burada anlatılacaklar prensip olarak tum ağ sistemlerini kapsayacaktır.

Kablo



Ağ ilk başta bilgisayarlar arasında fiziksel bir bağlantıya ihtiyac duyar. Boylece veri bitleri bilgisayarlar arasında aktarılabilir. Gunumuzde bir cok ağ altta gorduğunuze benzer unshielded twisted pair-kaplamasız dolanmış cift (UTP) kabloyu kullanıyor. Bu tip kablo 4 veya 8 telden oluşuyor ve bu teller birbirine dolanmış ciftler halinde. Unutmayın farklı kablo tipleri, hatta kablosuz teknolojiler de kullanılabilir, burada amacımız, ağ'ın calışabilmesi icin veriyi aktaracak bir ortama ihtiyacı olduğunu kavramanız.



Hub

Bir diğer ağ bileşeni ise hub. Ağa bağlı her bilgisayardan hub'a bir kablo gidiyor. Hub bir uctan gelen bilgiyi, gitmesi gereken uca yollamıyor, ancak tum uclara birden yolluyor(bu onemli bir bilgi, ilerde cok karşımıza cıkacak). Bu durumda her bilgisayar hub'dan gelen verinin kendine ait olup olmadığını tespit etmek zorunda.



İki sarı ve bir gri kablo bilgisayarlardan geliyor. Renklerin hicbir onemi yok. Kablolar değişik renklerde olabilir. En sağdaki siyah kablo dikkatinizi cektiyse, cekmediyse de ben cektim işte şimdi, bu kablo da hub'ın calışmasını sağlayan elektik bağlantısı, yani adaptorden geliyor.



Hub'lar aktif cihazlardır, yani calışmak icin elektriğe ihtiyac duyarlar.

Tekrar belirtiyorum, biz burada hub kullanan bir ağ sistemini ornek aldık, farklı ağ sistemleri de mevcut. Ancak birazdan okuyacaklarınız hepsi icin gecerli.


Ağ kartı





Peki ağ kartının gorevi ne? Bilgisayarlar verileri ikilik sayı sisteminde yani 1 ve 0'lar olarak işler ve saklarlar. Ağ kartları da sayısal(dijital) veriyi elektrik, ışık veya radyo sinyalleri olarak diğer sistemlere iletme gorevini yerine getirir. Elektrik sinyallerini kullanan ağ kartları en yaygın tip olduğu icin isterseniz onlarla devam edelim.




Bilgisayarın devre kartları uzerinde saniyede milyonlarca kucuk elektrik akımı oluşur. Orneğin sabit diskten okuma yapılırken, sabit disk'ten cıkan elektrik sinyalleri disk kablosundan ana karta girer. Oradan da CPU ve bellek modullerine ulaşır.



Sinyaller bilgisayarın kasası icindeki devreler uzerinde nispeten problemsizce seyahat eder. Ancak bu sinyaller bilgisayarın dışına cıktıklarında ister istemez daha uzun mesafelerde yol almak zorundadır. Bu aslında oldukca zor bir iştir. Cunku yuksek frekanstaki zayıf elektrik sinyallari dış etkenlere karşı cok hassastır. Ağ kartları işte bu verinin iletiminde oldukca iyi bir iş cıkarırlar ve sinyallerin bilgisayarın veri yollarından ağ kablosuna aktarılması(veri gonderirken) ve kablodan tekrar bilgisayarın veri yoluna aktarılması(veri alırken) işini gorurler. Dolayısı ile ağ kartının ilk goze carpan gorevi bilgisayarın veri yollarındaki veriyi dış dunyaya aktarmaktır.



Ancak ağ kartlarının gorevi bununla bitmez. Ağ kartları bilgisayarın ağ uzerindeki kimliğini de temsil ederler. Kimlikten ne mi kastediyorum, şu orneği duşunelim isterseniz. İki bilgisayarı uzerlerindeki seri veya paralel port'lardan bağladığımızı duşunelim. İki bilgisayarı haberleştirmenin en basit yolu budur. Boyle bir bağlantıda sadece iki bilgisayar soz konusudur. Bir bilgisayarın veri gonderim portu diğerinin alım portuna bağlıdır. Diğerinin gonderimi de otekinin alım portuna. Ve en basit yontemlerle bir taraf gonderilecek veriyi gonderim portuna koyar, karşı tarafta alım portundan bunu okur.



Ancak ikiden fazla bilgisayarın bağlı olduğu bir sistemde ister istemez şu soru akla gelir, bir taraf veriyi istediği bilgisayara nasıl ulaştıracak?



Değişik ağ sistemleri (ethernet, token-ring) bu soruya değişik cevap vermiştir. Orneğin Token-Ring ağlarında aradaki fiziksel bağlantı star olsa da, yani tum makinalardan cıkan birer kablo ortadaki bir hub'a girse de, sistem calışırken ağ uzerinde Token/Jeton adı verilen bir sinyal dolaşır. Bu sinyal sırayla tum terminalleri dolaşır. İşte "Ring" buradan gelmektedir. Bir terminal veri gondermek istediğinde boş token sinyalinin kendine gelmesini bekler. Token gelince yollayacağı veriyi token mesajına iliştirir. Mesaj uzerinde alıcı ve gonderen makinanın ağ kartı adresi de bulunmaktadır. Dolu token sırayla terminalleri dolaşmaya devam eder. Her makina gelen dolu token'e bakar ancak sadece "alıcı" adresi kendi adresi ise veriyi alır ve geriye onay mesajını yollar. Token onay mesajını gonderen makinaya ulaştırdığında artık veri gonderilmiştir. Token boşalmıştır ve ring yapmaya devam eder. Tabii bu işlem saniyede milyonlarca kez gercekleşir. Bu sistemde diğer makinaların nasıl kendi sıralarını beklediklerine dikkat ediniz.





Ethernet ise farklı bir cozum sunar. Ethernet ağında ağ kartı veri gondermeden once kabloyu kontrol eder, kimse kullanmıyorsa, alıcı ve gonderen makinanın ağ kartı adresinin yazılı olduğu veriyi kabloya salar. Bu veri tum terminaller tarafından alınır. Ancak sadece "alıcı" adresi kendi adresi olan makina bu veriyi işler diğerleri goz ardı eder.



Token-Ring ve Ethernetin kabloyu kullanma sırası ve verinin aktarım yonteminde farklılaştığını gorduk. Ancak her iki sistemde de ağ kartlarının, ağ uzerinde eşi benzeri olmayan, bir adrese sahip olduklarına dikkat ediniz. Sistemler birbirini işte bu benzersiz kimlik ile birbirinden ayırıyorlar. Ve bu adrese MAC adresi diyoruz.


NOT
Yukarıda Token-Ring ile ilgili bilgi konunun tam anlaşılması icin verilmiştir. Bu sayfanın devamında ve diğer tum sayfalarda anlatılanlar, ozellikle farklı bir şey belirtilmediyse, ethernet icin gecerlidir.

MAC adresi



Her ağ kartı icinde uretilirken kaydedilmiş ve dundaya bir eşi olmayan bir numara mevcuttur. Media access control address (MAC) olarak adlandırılan bu adres 48 bit'tir.



Ağ kartları bir diğer ağ kartına veri yollarken alıcıyı diğerlerinden ayırmak icin bu MAC adresini kullanır.



Ağ kartı ureten firmalar, once IEEE (Institue of Electrical and Electronics Engineers) isimli kuruma başvurur ve 24 bit'lik bir uretici kodu(her ureticiye farklı kod veriliyor) alırlar. Sonra urettikleri her karta ilk 24 biti uretici kodu, son 24 biti ise her kartta farklı olacak şekilde MAC adresini koyarlar.



Bir ağ kartı MAC adresi şu şekilde olabilir:


MAC Adresi
110011110110111011101111 011101111011011101110001
Uretici kodu

Kart seri numarası



Tabii bu şekilde ikili sistemdeki sayıların okunması insanlar icin zor olduğundan MAC adresleri onaltılı sayı sistemine cevrilerek ifade edilir. Tipik bir MAC adresi 00-50-05-1A-00-AF şeklindedir. Hexadecimal(yani 16'lı sayı sisteminde) olan bu adreste her bir rakam (mesela B) 4 bite karşılık gelir.



Boylece 12x4=48'dir. Buna gore ilk 6 rakam yani 00-50-05 uretici kodu, son 6 rakam ise bu kartın seri numarasıdır. MAC adresi butun olarak değerlendirildiğinde dunyada uretilen her ağ kartı farklı bir MAC adresine sahip demektir.



Ağ kartları istekte bulunan her yazılıma MAC adreslerini bildirirler. Eğer Win9x kullanıyorsanız Winipcfg programı ile ağ kartınızın MAC adresini gorebilirsiniz.


Adapter Address MAC adresini gosteriyor.

MAC adresi ağ kartını satın aldığınıza zaten kartın ustundeki bir elektronik cipe kodlanmış haldedir. Bu adres normalde değiştirilemez(ancak son donemde bu işi yapan programlar ortaya cıktı). Ancak MAC adresini değiştirmeniz, hatta ne olduğunu bilmeniz bile coğu zaman gereksizdir.

Veri paketleri(Frame)

Ağ kartları veriyi kablo uzerinde sinyaller halinde iletiyor dedik, peki sinyaller dolayısıyla veri, karşı tarafa nasıl ulaşıyor?



Karşıya yollanacak veri, orneğin ağ uzerinden karşı makinaya kopyalanan bir Word dosyası, tek parca halinde gonderilmez. Sabit boyutta kucuk parcalara bolunur ve bu parcaralara da bazı ek bilgiler eklenerek gonderilir. Bu veri blokları da veri paketi(frame veya ethernet frame) olarak adlandırılır.



Veriler ağ uzerinden sabit yapıda paketler(frame) halinde iletilirler dedik, aslında bu paket aktarılacak veriyi ve diğer gerekli bilgileri iceren bir sinyal bloğudur. Ağ kartı bu veri paketlerini oluşturur, yollar ve gelen paketleri alıp işler.



İsterseniz ağ kartını aşağıdaki gibi bir karikaturle temsil edelim. Veri paketleri burada hazırlanıp yollanıyor ve gelen paketler işleniyor. Ağ kartı icinde bu işleri yapan bir elemanımız da olsun(ismi Ethem-doğal olarak.... ).

[IMG]http://img175.**************/img175/6399/313tv7.gif[/IMG]

İşte MAC adresi bu paketler oluşturulurken onem kazanır. Altta diğer yazılı kaynaklarda karşınıza cıkabilecek klasik bir paket tasviri goruyorsunuz. Her bir bolum bir ve sıfırlardan oluşuyor ve paketin(frame'in) bir parcası.


Dikkat


Değişik ağların kullandığı ceşitli frame tipleri vardır. Ağ uzerindeki tum ağ kartları aynı frame tipini kullanacak şekilde ayarlı değillerse birbirleriyle haberleşemezler. Bununla beraber tum modern ağ kartları artık ağda kullanılan frame tipini otomatik secebilmektedirler.


Ağ uzerine yollanan her paket tum bilgisayarlara ulaşır. Her bir ağ kartı kendisine gelen bu paketi kontrol eder. Alıcı MAC adresi eğer kendisinin MAC adresi ise "demek ki bu paket bana gelmiş" der ve işleme koyar. Ancak tersi soz konusu ise, bu paketi siler. Bu nokta cok onemli olduğu icin tekrar etmek istiyorum(bu ilerde cok karşımıza cıkacak cunku) ağ uzerinden yollanan (aslında ağ uzerine bırakılan demek daha doğru) her paket(frame) tum bilgisayarların ağ kartına ulaşır ama sadece gercek alıcısı tarafından işlenir, diğerleri ise bu paketi kontrol edip kendilerine gelmediğini anlayınca goz ardı ederler. Bu da demek oluyor ki ethernet ağlarında aynı anda sadece bir makina veri gonderebilir. İleride bunu daha derin inceleyeceğiz.


Adım adım verinin aktarımı

Temel kavramları oğrendikten sonra isterseniz basit bir ağ iletişimi nasıl oluyor onu inceleyelim. Bir bilgisayar diğerine ulaşmak istediğinde elbette once karşı tarafın kim olduğunu bilmesi gerekir. Biz bilgisayar kullanıcıları olarak karşı bilgisayarın ya ismini, ya da (eğer TCP/IP kullanılıyorsa) IP adresini biliyoruz demektir. Veya ağ komşularım'a girdiğimiz anda, "ağ uzerindeki tum bilgisayarları bana goster" komutunu vererek "ağ komşularımızı" goruruz.



Kullanıcı isterse belli bir IP adresiyle, isterse de bilgisayar ismi ile iletişime gecmek istesin, ağ kartları sadece MAC adresleriyle haberleşebilirler.



Siz 192.168.0.56 IP'li bilgisayara bir dosya kopyalamak istediğinizde ne olur? Ağ kartı eğer daha onceden bu IP'ye sahip bilgisayar ile iletişim kurmuşsa zaten MAC de adresini biliyor demektir ve bunu kullanır. Bilmiyorsa (orneğin bilgisayarınız ilk acıldığı anda) ağa bir Broadcast(Genel yayın) mesajı yollar. Broadcast mesajı şu şekildedir "Eğer IP adresin 192.168.0.56 ise bana MAC adresini bildir.". Bu mesaj ağdaki tum sistemlere ulaşır. Her bir sistem Broadcast mesajını alır ve inceler, eğer kendi IP adresi sorulan IP ise, MAC adresini Broadcast'i yollayan ağ kartına bildirir.



Artık veri aktarımına gecilebilir.

1. Ağ kartı yollanacak veriyi işletim sisteminden alır. Karşıya yollanacak paketi oluşturur. CRC kodunu oluşturur. CRC kodunu ve veriyi pakete koyar. Kendi MAC adresi ve alıcının MAC adresini pakete ekler. Paket yola cıkmaya hazırdır.
2. Kabloda o anda başka bir veri aktarımı olup olmadığını kontrol eder, kablo boşsa paketi hub'a yollar.
3. Hub bu paketin kopyalarını oluşturur ve her bir portuna bağlı bilgisayarlara(yani ağ kartlarına) yollar.
4. Tum ağ kartları paketi alır ve "alıcı MAC adresi" kendi MAC adresleri mi diye kontrol eder. Eğer paket kendisine gelmişse paketi işler, aksi halde paketi siler.


[IMG]http://img175.**************/img175/7863/317yz6.gif[/IMG]

Veri ve CRC pakete ekleniyor. Pakete gonderen ve alıcı MAC adresleri yazılıyor.

[IMG]http://img253.**************/img253/1781/318ii1.gif[/IMG]

Ağ'ı kullanan başka birisi var mı diye kontrol edildikten sonra paket yollanıyor.

Alıcı ağ kartı MAC gelen paketin MAC adresini kontrol ediyor, kendisine gelmişse işliyor, değilse siliyor.



Alıcı ağ kartı paketin kendisine geldiğini anlayınca once CRC kodunu kullanarak veri yolda bozulmuş mu kontrol eder. Eğer problem yoksa, frame/paket bilgisini (MAC adresleri, CRC vs.) temizleyerek, saf veriyi işletim sistemine iletir.

Protokol

Aynı hub'a bağlı, aynı frame/paket tipini kullanan bilgisayarlar arasında veri aktarımını gorduk. Peki Selin Hn. (tamam soyluyorum zayıf olanı) internete bağlanmak istediğinde ne olacak? İnternete telefon hattını kullanarak bağlanacak, oysa ne modem ne de telefon sistemi MAC adresi kullanmaz.



Demek oluyor ki; MAC adresinin otesinde her sisteme farklı bir kimlik sağlayan, her tip ağ kartı, frame yapısı ve donanım ile calışabilecek bir yazılıma/tanımlamaya veya kimlik bilgisine ihtiyacımız var.



Bu ozel yazılıma ağ protokolu diyoruz. Ağ protokolu her sisteme tekil bir kimlik sağlamanın otesinde, işlerin nasıl yurutuleceğini belirleyen bir kurallar dizesini de icerir. Bundan once eğer yollanacak veri ağ paketinin boyutundan buyukse, işletim sisteminin veriyi parcalara ayrılmış halde ağ kartına yolladığını, ağ kartının verinin iceriği ve butunluğuyle hic ilgilenmeden ne geliyorsa yolladığını soylemiştik. İşte verinin paketlere bolunmesi ve alıcı tarafa da birleştirilmesi gibi bir cok iş de ağ protokolunun gorevidir.



Değişik ağ sistemlerinin kullandığı değişik protokol tipleri vardır. Ancak ağ uzerindeki bilgisayarlarda aynı tip protokolun yuklu olması gerektiği sanırım gayet acık. Bu protokoller icinde one cıkan ve en yaygın kullanıma sahip olanı şuphesiz TCP/IP(Transmit Control Protocol/Internet Protocol)'dir. TCP/IP icin "protokol" kelimesi yerine "bir protokoller grubudur" demek daha doğrudur. TCP/IP'nin IP bolumu şu an bizim ilgilendiğimiz ağ protolu gorevini goren kısmıdır. TCP'ye sonra bakacağız.



IP'nin gorevi basitce veri paketinin gitmesi gereken sisteme ulaşmasını sağlamaktır(ee MAC'de aynı işe yaramıyor mu?.... dur hele anlatıyo işte.) . IP bunu ağa dahil her sisteme tekil bir adres vererek yapar. İşte bir IP adresi: 192.168.0.1



IP adresleri 0-255 arası değerler alabilecek 4 bolumden oluşur. Bolumler arasında nokta işareti bulunur. Aslında bu dort bolumun her biri 8 bitlik bir sayıdır. Bilgisayarların ikili sayı sistemi ile, yani 1 ve 0'lar ile calıştığını tekrar hatırlayın.



Ağ uzerinde her cihaz farklı bir IP adresine sahip olmak zorundadır. IP sistemi ile, donanım ve frame tipi ne olursa olsun sistemler arasında veri aktarımı yapılabilir. Bu durumda karşımıza gonderen ve alıcının IP adreslerini iceren ikinci bir frame/paket cıkıyor. Yani paket icinde paket olayı...

NOT


Burada bir kavram kargaşasının onune gecmek adına bir not duşmemiz gerekiyor. Şu ana kadar gorduğumuz veri paketi kavramının İngilizcesi "frame" dir. Biz bu yabancı kelime yerine "paket" kelimesini kullandık. Sık sık da bu ikisini "paket/frame" diye yanyana yazarak belirttik.



Şimdi karşımıza IP paketi kavramı cıktı. Bunun da İngilizcesi "IP Packet". Şimdi elimizde iki paket var, paketler elimizde patlamadan, isterseniz biz bunlardan birine "ağ paketi" diğerine "IP paketi" diyelim, olay kapansın...

Paket paket icinde...

Ağ protokolu daha ust katmanlardan gelen veriyi ağ kartına yollamadan once veriyi kendi paketinin icine yerleştirir ve ağ kartına yollar. Ağ kartı acısından ağ protokolunden gelen bu IP paketi sıradan bir veriden farksızdır(hatırlayın: ağ kartları verinin iceriği ile ilgilenmezler). Ağ kartıda veriyi onceden anlatıldığı gibi kendi paketi icine yerleştirip yollar.



Aşağıda cok basit indirgenmiş bir IP paketi goruyorsunuz.





Ağ uzerinde her sistemin MAC ve IP adresi:



Şoyle bir soru akla gelebilir: paket icinde paket olayına veya IP adreslerine ne gerek var, bilgisayarları birbirinden ayırmak icin MAC adresi yok mu zaten? Var olmasına var ama bakın neler oluyor...



Hatırlarsanız Selin Hn. internete bağlanacaktı, bunu yapabilmek icin AK Tic.'in bilgisayar ağını internete bağlamamız gerekiyor. Bu bağlantıyı sağlayacak cihazın adı Router(Yonlendirici)'dır.



Yonlendiriciler faklı "ağ paketi yapısı" kullanan iki ağı birbirine bağlamaya yararlar. Tipik bir yonlendiricinin iki bağlantı noktası bulunur. Bu bağlantılardan birisi yerel ağa yapılacak bağlantıdır. Bu bağlantı noktası aslında yonlendirici icine yerleştirilmiş bildiğimiz bir ağ kartıdır. Diğer bağlantı noktası ise yonlendiriciyi telefon hattına bağlamaya yarar. Yani bu bağlantı noktası da aslında yonlendirici icine gomulu bir modem'dir.

NOT


Yonlendiriciler ile ilgili bu noktada soylenmesi gereken 2 şey var:

1. Bazı yonlendiriciler, yukarıda bahsedildiği gibi gomulu modem icermezler, ama modem'e bağlanırlar.
2. Yonlendirici ayrı bir cihaz olmak zorunda değildir. İki ağ kartı veya bir ağ kartı ve bir modem'i olan her bilgisayar yonlendirici olarak gorev yapabilir.




Yonlendiriciler faklı "ağ paketi yapısı" kullanan iki ağı birbirine bağlamaya yararlar demiştik. Şimdi Selin Hn.'ın yerel ağı ethernet sistemini kullanıyor. Oysa Selin Hn.'ın bilgisayarından cıkan veri paketi bu yerel ağın otesine gecip, telefon hatlarından internete ulaşmak zorunda. Oysa telefon hatları ve otesindeki internet yapısında MAC adresi veya ethernetin frame yapısı gecerli değil. İşte bu noktada IP adresi devreye giriyor.



Yonlendirici "ağ paketi" icinde bir "IP paketi" aldığında, "ağ paketini" kırpar(MAC adresleri CRC vs.). Geriye kalan IP paketini ise telefon şebekesinin kullandığı paket yapısı icine yerleştirir ve yollar.



İşte bu noktada IP paketinin ve IP adresinin ne işe yaradığını goruyoruz. Yonlendirici ağ paketi bilgilerini yok edince, veriyi yollayan ve alacak olan sistemleri tanımlayacak ayrı bir bilgiye ihtiyac duyulur. Evet, evet, IP bilgisine...




Eğer internetle işimiz yoksa, basit bir yerel ağ kuracaksak TCP/IP kullanmak zorunda mıyız? Hayır. Kullanabileceğiniz farklı protokoller var. Hatta bazı protokoller hic bir ayar yapmadan her bilgisayara yuklediğiniz anda calışır (NETBeui protokolu mesela). Oysa TCP/IP kullandığımızda en başta IP adreslerinin girilmesi gibi daha bir cok ayar yapmamız gerekecektir. Diğer protokollerin tek problemleri internet uzerinde calışmamalarıdır. Yani internet kullanacaksanız (veya sadece yerel ağ uzerinde olsa bile IP ile calışan programlar kullanacaksanız) TCP/IP'ye ihtiyacınız var demektir.



Gunumuzde hemen hemen her ağ'da internet bağlantısı gerekiyor. Bu durumda ister istemez TCP/IP yukleniyor. Onu bir kere yukledikten sonra ikinci bir protokolu yuklemenin ise anlamı kalmıyor.

Dikkat


MAC adresleriyle ilgili ilk bolum sanki ağ sistemi protokol olmadan da calışırmış gibi bir izlenim bıraktıysa, cok yanlış, cook cok...



Her hangi bir ağ'ın calışabilmesi icin en az bir protokolun, daha doğrusu aynı protokolun, her bilgisayarda yuklu olması gerekiyor.



Cunku ağ kartları verinin paketlere ayrılması ve tekrar birleştirilmesi gibi işleri yapmazlar. Bu işlemler icin protokole ihtiyacımız var.

Bol parcala yolla-TCP

Ağ uzerinde yollanacak veri coğu zaman bir ağ paketinin taşıyabileceğinden fazladır. Bu nedenle verinin yollanmadan once parcalanması gerekir. Ağ protokolu daha ust katmanlardan kendisine gelen veriyi(bir dosya, web sayfası, yazdırma işi....) ağ paketi boyutunda parcalara boler, alıcının tekrar birleştirebilmesi icin parcaları organize eder, yollar ve her bir paketin karşıya hatasız ulaşıp ulaşmadığını kontrol eder.



Alıcı sistemin protokolu gelen paket serisini algılar, paketleri birleştirerek esas veriyi tekrar elde eder.



TCP/IP'nin TCP(Transmit control protocol-gonderim kontrol protokulu) bu işi yapar. Nasıl mı yapar, tabii ki IP paketinin icine başka bir paket koyarak..



Bir TCP paketi aşağıdaki bolumlerden oluşur.

Aynı anda bircok iş yapmak:Oturumlar

Veri paketlerini bolme ve birleştirme işini yapan bir yazılım olduğunu oğrendikten sonra sıra geldi ağların başka bir yonunu incelemeye.



Gorduğunuz gibi Ayşe'nin bilgisayarına bir yazıcı bağlı ve tum kullanılar tarafından kullanılabiliyor. Selin Ayşe'nin Excel dosyasına bakarken, Ali'de aynı anda Ayşe'nin yazıcısını kullanıyor olabilir.



Ayşe'nin sistemi gelen bu istekleri gerekli programlara veya donanımlara ulaştırmak zorunda. Diğer taraftan istekte bulunan bilgisayarda once karşı tarafa bağlanıp, isteğin yerine getirilip getirilemeyeceğini kontrol etmek zorunda.



Bunları yapan katmana oturum(session) katmanı diyoruz. Bu katmanın gorevi bir bilgisayarın aynı anda birden fazla bilgisayarla iletişim icinde olmasını sağlamaktır.

Ortak veri bicimleri kullanalım, dost kalalım!

Eskiden her program sadece ve ancak kendi oluşturduğu dosyayı kullanabiliyordu. Orneğin A firmasında X kelime işlemcisi kullanılıyorsa, burada oluşturulmuş bir dosyayı B firmasının kullandığı Y kelime işlemcisinde acmak mumkun değildi. Yani MS Word'un 4. versiyonu ile yazılmış bir yazı, Corel'in kelime işlemcisi ile uyumlu değildi.



Oysa bugun ister Microsoft Word kullanalım, istersek Linux altında calışan Open Office kullanalım, eğer yazımızı DOC formatında kaydedersek karşı taraf kullandığı kelime işlemci ve işletim sisteminden bağımsız olarak bu dosyayı kullanabilir.



Ayrıca işletim sistemleri verileri kaydederken ve işlerken farklı teknikler kullanabilirler. Orneğin DOS ve Windows 95,98,ME metinleri 8 bit olarak (ASCII) kaydeder. Ancak Windows 2000, NT ve XP 16 bit Unicode sistemini kullanır. Buna gore bir Win9x makinası A harfini 01000001 olarak kayıt edecektir. Windows 2000, NT veya XP ise 0000000010000001 olarak kaydedecektir. Tabii ki bilgisayarı kullanan vatandaş sadece A harfiyle ilgilenir.



İşte ağ'ı oluşturan katmanlardan birisi olan sunum(presentation) katmanı bu noktada devreye girer. Sunum katmanının gorevi değişik sistemler arasında olabilecek bu gibi farklılıkları ortadan kaldırmaktır. Ağ uzerinde eriştiğiniz bilgisayarın işletim sistemi, kullandığı dosya yapısı onemli değildir. Orneğin W9x ailesi NTFS dosya formatını okuyamaz. W9x calışan bir makinaya NTFS formatlı ek bir disk taksanız, windows icinden bu diske ulaşamazsınız. Oysa, bir W9x makinası ağ uzerinden NTFS disk kullanan bir Windows 2000, NT veya XP makinasının diskine ulaşabilir.

Ağ programları

Bir kullanıcı ağ uzerinde calışırken şimdiye kadar anlatılanların hicbirisini gormez. Ağların guzel yanıda budur zaten, bu kadar karmaşık bir işlemi, bu kadar sessizce halledebilmek...



Ancak bilgisayar kullanıcısı ağın son parcasını kesinlikle gorur. Kullandığı ağ programını. Ağ programı deyince "Allah Allah ben niye gormedim bunu şimdiye kadar" diye korkmayın. Ağ programına en basit ornek Windows Explorer'dir. Ya da namı diğer "Bilgisayarım". Bilgisarım'ı acıp, bir ağ surucusune cift tıkladığınızda ağı kullanmış olmuyor musunuz? Aynı şekilde Web'de sorf yaparken de IE veya Netscape kullanıyoruz. E-mail icin farklı bir programımız var. Sonuc olarak kullanıcılar ağ'ı bir program vasıtasıyla kullanılar. Ağı oluşturan en son bileşen bu programdır.



Ağ programları kendi icinde veri şifreleme, kullanıcı isminin kontrolu gibi ozellikler barındırabilirler. Bir onceki başlık altında incelediğimiz sunum katmanının bir cok gorevi bu programlar tarafından da yapılabilir.



Son soz

Dikkat ettiyseniz yazının başında beri bu sayfada anlatılanlar genel olarak tum ağ sistemlerinde gecerlidir demiştik. Yazı boyunca da katmanlardan, adım adım gelişen bir yapıdan bahsettik. Aslında tum bu anlatılanlar OSI Seven Layer Model(7 katmanlı OSI modeli)'den ibaret.




__________________