Kategori arşivi: Networking ve Güvenlik

What are the “DFS” Channels and how are they dealing with RADAR systems?

5Ghz band is huge spectrum. However, there is a one big issue with this channel plan: DFS Channels.

DFS stands for “Dynamic Frequency Selection” and if your want to use some channels in the 5Ghz band, you should obey DFS rules.

DFS channels are used by some military and civilian RADAR systems and WiFi should be shut itself off, immediately after it detects the presence of RADAR pulses. So, if an AP has no RADAR detection capabilities, cannot operate in DFS channels.

Why are we dealing with this? Are there any non-DFS frequencies? Yes, there are.

For example, the below chart shows the band plan (5Ghz, ETSI) including DFS channels.

graphic-80211-acChannels-all

 

Let’s remove the DFS channels, and make them grey-out:

 

graphic-80211-acChannels-noDFS

 

Oh! We lost nearly all our space, right? We only have some indoor channels with limited power levels, no outdoor channels and very limited spectrum to use (only 80Mhz total)

So, this non-DFS area tells us that we MUST use DFS channels and we need to understand DFS rules.

What are the DFS rules? Where are they written?

For ETSI regulatory domain that I’m working in, these details are writting in the document called “ETSI EN 301 893 v1.8.1 (2015-03)” document. (I’m not sure if there are updated version of this doc)

Link to the original document:  http://www.etsi.org/deliver/etsi_en/301800_301899/301893/01.08.01_60/en_301893v010801p.pdf

According to this document, the section 4.7 states the details about the DFS operation, such as:

  • There should be “channel availability check” before attempting the first transmission on the channel. CAC is 60 seconds but 10 minutes (for frequencies between 5600-5650Mhz). So, APs should wait first, then if there is no RADAR transmission heard on the channel for at least 60 seconds or 10 minutes, then start transmitting.
  • The device may conduct off-channel scanning to understand the presence of RADAR signals, these off-channel scannings should last minimum 6 minutes or 1 hour for frequencies between 5600-5650Mhz.
  • If RADAR is seen in a channel, no more Tx there, in the next 30 minutes.
  • If RADAR is seen in a channel, the channel should be emptied in max 10 seconds.
  • During these 10 second channel move time, total Tx duration should not last more than 1 seconds.

Screen Shot 2017-12-07 at 18.21.52

If every WLAN device obeys these rules, then RADAR operators will be happy, but why?

Here is a civilian weather radar output for Istanbul, Turkey. This is to see rain, snow etc. Meteorological Institutions are using these RADARs to detect atmospheric events in an area. So, for the below image, we can see some rain in the south of Istanbul and some other areas as well. This is a regular output for a rainy day(s):

ist-weather-radar

However, what about the below image for Ankara?

ankara-weather-radar

What are those straight lines nearly around the top right of the image. Clouds with rain? Looks unnatural, right?

These are some WiFi signals captured by Ankara RADAR, probably coming from in the middle of the city. RADARs are using very very high gain antennas and they can pick up your very weak WiFi transmission. So, your WiFi transmission, if you do not obey DFS rules, literally blinds the RADAR and it cannot see the atmosphere, it cannot work as expected.

This is the critical point about DFS and we should all know DFS and its rules, to be careful about that.

 

 

Prioritizing Custom Apps using Aruba Firewall

When it comes to “reliable” WiFi operation, it is critical to use some QoS measures to get the best possible performance from the air. Air medium is half duplex, so there should be some mechanisms to prioritize it.

WiFi Prioritization is based on 802.11e. WMM should be utilized on the WiFi network where over-the-air prioritization is needed.

Network engineers are focusing on wired QoS and “traffic engineering” concepts for many years, but “WiFi over the air traffic engineering” is somehow under-rated. However, in many cases, the-most-studied wired medium, which is full-duplex and probably has higher speed links than WiFi, needs less QoS compared to a highly-utilized air medium. So, WiFi needs QoS badly, because of its half-duplex contention “war”.

How WMM Works.

Whole WMM operation is out of the scope of this blog post but WMM basically works by applying 4 different priority levels to the frames transmitted over the air, via WiFi.

WiFi contention basically works as “put some IFS and then, put some contention window waiting time, and then transmit”. However, this schema is not so good when we need to prioritize some frame over the others.

IFS is one variable. Contention window is another variable.

IFS is the “fixed” wait time, after the transmitter decides the medium is NOT busy. So, after detecting the availability of the medium, transmitter should wait until the IFS duration is passed. What happens after? The “contention window”. The transmitter selects a contention window time, for example a random value between 15 and 1023 and then counts down from that number. Counting down is not based on regular “seconds” that we use in our everyday life, rather, it is based on slot times. After one slot time has passed, count down one, another slot time has passed, count down again, and so on. Slot times are also variable by 802.11 technology.

So, it can be easily seen that the contention mechanism CANNOT be the same for all frame types. All types of frames cannot be forced to wait for equal times. Instead, some frames should be allowed to wait less, and some frames should wait more. Yes, this is handled by WMM. WMM does this.

So, in WMM schema, some packets get more airtime, by making them wait less and some are waiting more than the others.

For example, let’s think about the contention window. It should be “random” wait time, right? What are the lower and upper boundaries that we should choose a random number in between? In WMM, high priority packets are choosing a contention windows wait time between 3 and 7. Less important packets are choosing between 7 and 15. And the others are choosing between 15 and 1023. So, this is a good prioritization to make frames different from one another.

So, there are 4 access categories for WiFi frames, with WMM.

  • Voice
  • Video
  • Best Effort
  • Background

So, if we put our frames into these categories, these will be prioritized accordingly.

So far, we haven’t talked about Aruba, yet.

What is the role of Aruba firewall here? The role of Aruba’s stateful firewall is that it is able to classify the traffic flows according to the customizable L4-L7 rules and these rules can mark traffic to be put into these access categories to be prioritized over the air.

That means you can “catch” your critical business application and prioritize it over the air. You don’t need any other “marking” device to mark your traffic via DSCP tags. You can catch your traffic via your Aruba Firewall, which is integrated to the Aruba controller box, and then the WLAN process is prioritizing it while sending the frames to the air.

These are the default DSCP to WMM mappings:

dscp-mappings

These mean that if a packet hits to the controller to be transmitted over a WMM enabled SSID with a DSCP value of 56 or 48, it will be transmitted as WMM Voice AC. (meaning highly prioritized)

If there is a packet came with DSCP value with 32 or 40, it will be transmitted with WMM Video AC.

And so on.

However, who will tag those packets? Upper devices? Isn’t this a configuration/operational load?

Aruba Firewall does this internally, via its integrated stateful firewall. You can catch the traffic via Firewall, apply DSCP markings to them and bingo, your traffic will be prioritized over the air. So, you can provide the best priority to your business-critical custom-developed app which runs over TCP 5567

So, with Aruba Firewall, you can easily do a “traffic-engineering” work for your all traffic types to prioritize them over the air, thanks to WMM.

By the way, default DSCP to WMM mappings can be changed per SSID, as shown below:

override-dscp

So, you can catch your desired traffic accordingly, apply correct DSCP tags via Aruba integrated firewall and let them fly with priority.

fw-rule

For example, the above screenshot means that all SIP VoIP traffic gets prioritized by DSCP and then prioritized over the air via WMM.

This is done with “SIP to all destinations” however, you can make it more granular. You can make it like, “SIP to destination X will be prioritized higher than SIP to destination Y”. And also you can make your prioritization based on the time of the day, based on your location etc. Nice “traffic engineering over the air”, right?

 

IPad’lerinizi İş Yerine Getirin!

Taşınabilir cihazlar sürekli bizimle birlikte gezmeye başlayınca, insan ister istemez onlarla sarmaşdolaş oluyor. Evdeyken elde tablet PC, internete girebilen cep telefonu, masanın üstünde laptop, online filmleri tek tıkla listeleyebilen bir hdtv… Hepsi internete bağlanabiliyor. Zaten internete bağlanmadıkları zaman tatsız tuzsuz cihazlar gibi oluyorlar zira hepsi internet bağlantısının varolması tabanında şekillenmiş. Özellikle sürekli yanımızda gezdirdiğimiz cihazların üzerlerindeki yazılımlar, internet bağlantısının sürekli varolması düşünülerek yazılmış. Internet bağlantısını kestiğinizde şaşkına dönüyor Ipad mesela. 3G olmayan modelini de piyasaya sürerek sadece 20-30 usd eden 3G modülü de 130 dolar farkla satma akıllılığını gösteriyorlar tabii :)

Taşınabilir cihazlar; ipad, ipod, iphone, android cihazlar, windows mobile tabletler, cep telefonları vs vs bolca cihaz artık hem internete bağlanmak isteyip hem de bizimle birlikte gezmeye başlayınca, bizimle beraber sabah uyanıp işe de geliyorlar tabii.

Bu cihazları işe getirince, bu cihazların yapıları gereği doğal olarak onları internete bağlamak istiyoruz.

Şirkette internet var zaten, oradan bağlayalım?

Olmaz mı?

Sizin şirket network’ü için kullandığınız kullanıcı adı parolayı kullanarak (hatta sertifikayı kullanarak) taşınabilir cihazınızı şirket ağına bağlamanız çok kolay. Birçok şirket artık MS bağımlığına yaklaşan ‘machine authentication’ yapısını pek kullanmak istemiyor, kimisi baştan beri hiç kullanmıyor ve kullanıcı tabanlı EAP-TLS veya EAP-PEAP çözümlerine gidiyor.

Basit gibi görünebilir ama sizin kendi cihazınızı şirket iç ağına bağlayıp internete çıkarmanız IT departmanı için tam bir işkence. Çünkü onlar sadece onların kontrolündeki cihazların şirket ağına bağlanmasını istiyorlar. Tabii siz elinizdeki Ipad ile şirket ağı üzerinden internete bağlanmaya kalktığınızda, çok yüksek olasılıkla, onların kontrolünde olmayan bu cihazın şirket ağına dahil olmasını istemeyecekler. Haklılar çünkü bu cihazın içinde ne tür programlar olduğu belli değil, bu programların ‘güvenli’ addedilen iç network’de neler yapacakları belli değil. Bu yüzden, IT departmanı yüksek olasılıkla sizin şirket misafir network’unu kullanarak internete çıkmanızı istiyor.

Çalışanın kendisine ait taşınabilir cihazların şirket misafir ağı üzerinden internete çıkması fikri de çoğunlukla çalışanı memnun etmiyor. Çünkü bu yöntemle internete erişmeden önce, büyük ihtimal bir web sayfası aracılığı ile kimlik doğrulanması gerekiyor, bu doğrulama cihazın her açılışında gerekiyor ve hepsinden önemlisi, şirket misafir ağı üzerinden internete çıkan cihaz şirket iç kaynaklarına ulaşamaz oluyor. Çalışan tabii ki şirket iç kaynaklarına, aynen şirket bilgisayarından eriştiği gibi erişmek istediği için misafir ağ üzerinden internet erişimi yöntemi kullanıcıyı mutsuz ediyor.

Bunun tam ortasında bir yol bulmak lazım. Çünkü ne misafir olan ne de tam anlamıyla şirkete ait olan bir cihazdan bahsediyoruz. Şirketin çalışanı olan bir kişinin kullandığı şirkete ait olmayan bir cihaz. İki arada bir derede.

Artık mobil cihazlar bol bol bizimle beraber şirkete geldikleri için, bu sorun gitgide büyümeye başladı. IT yöneticileri, şirket bilgisayarlarını gönül rahatlığı ile iç ağa bağlarken, misafirleri de gönül rahatlığı ile misafir ağına bağlıyorlar fakat ‘iki arada bir derede’ cihazlar için ne yapacaklarını bilmiyorlar.

Bu sorunun çözümü için üreticileri yeni yeni yöntemler geliştiriyorlar.

Bunların en ilginç ve akıllıca çözüm sağlayanlarından biri şöyle çalışıyor:

Önce cihazınızı misafir SSID’sine bağlıyorsunuz. Browser’inizi acip bir web sayfasına erişmek istediğinizde karşınıza misafir erişimi için kullanıcı adı parola soran ekran geliyor. Tabii orada bir de “Şirket çalışanına ait cihaz girişi” diye bir kısım var. Kullanıcı o kısma tıklıyor.

Daha sonra, ilgili yazılım, kullanıcıdan gelen http paketlerine bakarak kullanıcı cihazının hangi tip bir cihaz olduğunu tanıyor (Ipad, Iphone, windows mobile device, android device vs) ve bu cihaza göre bir konfigürasyon dosyası oluşturuyor. Kullanıcı bu dosyayı indirip tıklayınca cihaz, şirket ağına 802.1x kullanarak ve EAP-TLS ile bağlanmış oluyor.

Tabii kablosuz ağ altyapısı da cihazı tanıyacak özelliklere sahip. Kablosuz ağ altyapısı da, bağlanan mobil cihazı tanıyıp onu kısıtlı bir role atıyor. Örneğin kullanıcı şirkete ait bilgisayardan tüm iç network’e bağlanırken, kendine ait cihazdan sadece kısıtlı kaynaklara ulaşabiliyor. Tabii ki kullanıcının hangi cihazdan bağlandığına göre değişen bu “rol”, aynı zamanda o kişi için geçerli firewall kurallarını da içeriyor. Tam bu noktada çok ilginç bir özellik de şu: bahsi geçen role atanmış ve ilgili firewall kurallarına tabi olan cihaz için bu firewall kuralları hem iç network <-> dış network olacak şekilde hem de iç network <-> iç network olacak şekilde çalışıyor. Bu gerçekten ilginç çünkü malum günümüzde içerden içeriye tüm iç network client trafiğini firewall’dan geçiren ve bunu da ICSA sertifikalı firewall’lar ile yapabilen sistemler yok denecek kadar az. Bu gerçekten önemli bir özellik.

Sonuçta ortaya şöyle bir yapı çıkıyor. Kullanıcı şirket bilgisayarından bağlandığında tüm haklar ile iç network’e bağlanabiliyor. Eğer kendine ait bir cihazı yanında getirip kendi şirket hesabı ile bu cihazdan bağlanırsa sistem cihazı tanıyor ve kullanıcı o cihazla birlikte “kısıtlı iç network erişimi” rolüne otomatik olarak atanıyor.

Tabii diğer yandan sistem trafik önceliklendirme de yapıyor. Yani bir yandan kritik iş trafiği aynı network üzerinden akarken, bu trafiği etkilemeyecek şekilde VoIP, Apple FaceTime, IPTV vs trafik de arkaplanda kendisine uygun önceliklendirilmiş şekilde akıyor.

Bir diğer konu da çalışanlara ait cihazların fiziksel güvenliği. Şimdi biz malum bu cihazlara özel konfigürasyon sağlar ve şirket iç kaynaklarına kısıtlı da olsa bağlanmalarını sağlarsak, bu cihazların fiziksel güvenliklerini de sağlamamız gerekir. Bu da client’larımızı izleyen ve sürekli onların “sağlıklarını” monitor eden sistemlerle sağlanıyor. Sistemin bir diğer parçası olan ağ izleme yazılımı da client’ları izliyor, onların yerlerini sürekli takip ediyor ve örneğin olmamaları gereken bir yere gittiklerinde bizi mail,sms vs bir şekilde uyarıyor.

Diğer yandan aynı yazılım normal zamanlarda da bu cihazları diğer cihazlarla birlikte izleyerek onların doğru performansla çalışıp çalışmadıklarını da bize raporluyor. Malum, IT’cilerin en kralı problem ona kullanıcı tarafından bildirilmeden önce problemden haberdar olabilendir :) Sistem bu izleme işlerini de yapıyor.

Ek bir güvenlik özelliği olarak da, yukarıda da bahsedilen, taşınabilir cihazlar için kullanıcılara download ettirilip cihazlarına yükletilen otomatik yapılandırma ayarlarında da fiziksel güvenliği arttırıcı ayarlar olabiliyor. Örneğin şirket ağına bağlanacak Ipad’iniz siz şirket için gereken sertifikayı ve ayarları otomatik olarak yüklettirince artık 1dk boşta kalınca kendi kendine kilitleniyor :) E ne yapalım, şirket network’üne bağlanıyorsunuz, bu kadar ortalıkta gezebilen bir cihaz için fiziksel güvenlik şart :)

Ayrıca, bir başka “ya şöyle olursa?” senaryosuna da cevap vermek gerekir bu noktada. Bizim “normal” senaryomuzda kullanıcılar şirkete ait PC’ler ile EAP-PEAP ile ağa dahil oluyorlar, kendilerine ait mobil cihazlarda da EAP-TLS kullanıyorlar. Ya bizim kullanıcılarımız, aynen şirket PC’lerinde olduğu gibi Ipad’leri de EAP-PEAP ile ağa bağlamaya çalışırlarsa ne olacak? İşte o zaman da yine altyapının zekası devreye giriyor ve o mobil cihaz, yapmaması gerektiği halde EAP-PEAP ile bağlanmaya çalışırsa ağa bağlanabiliyor ancak otomatik olarak ya özel bir “bloklama” rolüne atanıp hiçbir yere bağlanamadan “şöyle şöyle yaptığınız için bağlanamadınız” yazan bir sayfaya redirect oluyor veya kısıtlı role sahip olup yine iç network’e tamamıyla bağlanamamış oluyor. Yani kullanıcıların sistemi kandırma niyetleri pek sonuç getirecek gibi değil :)

Sonuçta, en yukarıdan bakarsak şöyle bir yapı ortaya çıktı:

1-Kullanıcılar kendilerine ait taşınabilir cihazları şirkete getirebiliyorlar.

2-Bu cihazları misafir olarak bağlamak yerine şirket SSID’sine bağlıyorlar.

3-Bunun için önce cihazı özel bir işlemle kablosuz ağa tanıtıp otomatik olarak bazı ayarlar yüklemek gerekiyor. Ardından cihaz şirket ağına bağlanıyor.

4-Şirket ağına bağlanan cihaz özel bir role atanıyor, gerekmeyen bazı yerlere erişemeyecek şekilde firewall’lanıyor.

5-Bu cihaz sürekli takip ediliyor ve olmaması gereken bir bölgeye gittiğinde sistem yöneticisi haberdar edilebiliyor.

6-Kullanıcı 3G bağlantısı ve ücreti ile uğraşmaktansa çok daha stabil olan şirket network’ü ile internete çıkıyor, her türlü ‘eğlence amaçlı’ haberleşmesini, QoS teknikleri sayesinde kritik şirket haberleşmelerini engellemeden gerçekleştiriyor.

Güzel bir yapı :)

İyi çalışmalar.

Oğuzhan Eren

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

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

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

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

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

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

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

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

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

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

İyi çalışmalar.

Oğuzhan Eren

Kablosuz Ağlarda Option 82 desteği.

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

OSI Modeli ve Standardizasyon

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

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

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

Kolay gelsin, haydi bakalım:

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

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

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

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

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

TCP/IP ve OSI Network Modelleri

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

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

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

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

OSI_1

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

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

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

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

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

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

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

osi22

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

OSI Modeli Katmanları ve Görevleri

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

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

osi3

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

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

osi4

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

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

osi5

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

osi6

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

osi7

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

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

osi9

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

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

osi10

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

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

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

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

Örnek network diagramı:

osi111_

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

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

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

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

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

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

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

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

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

osi12_

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

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

osi13_

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

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

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

osi14_

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

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

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

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

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

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

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

osi17_

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Oğuzhan Eren

“Networking” Nedir?

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

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

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

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

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

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

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

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

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

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

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

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

Oğuzhan Eren