Connection-oriented Communication(Bağlantılı İletişim):
İki node arasında, güvenli bir iletişim maksadıyla kurulan bağlantı tabanlı iletişim
yöntemleridir

Bağlantı'nın gereklerini yerine getirmek uzun bir zaman aralığı istediği için
performansı daha düşüktür
Connectionless Communication(Bağlantısız İletişim):
İki node arasında, bağlantı tabanlı olmayan iletişim yöntemleridir

Bağlantı'nın gereklerini
yerine getirmek durumunda olmadığı için performansı daha yüksektir

Transmission Control Protocol / Internet Protocol
İletim Kontrol Protokolü / İnternet Protokolü
İnternetin temel protokol paketidir

Protokol kelimesinin tanımı için bilgisayar ağları
başlığı altına bakabilirsiniz

Internet üzerinde verilerin akışını kontrol eden TCP/IP bir çok protokolün bir araya
gelmesiyle oluşturulmuş olduğu için ona protokol paketi diyoruz

TCP bu protokol
paketinin "Noktalar arası veri transferinde dikkat edilecek hususlar" kısmını yürütürken,
IP
ise "Verilerin taşınacağı yolu nasıl belirlesek!" kısmıyla ilgilenir

TCP/IP sisteminin 7
katmanlı OSI yapısına uymadığı bunu tartışan kitaplarda belirtilir

Bunun ne gibi bir soruna yol açtığını ise pek bilemiyoruz

(Aslında bilebiliriz de; uzun mesele

Boşverin gitsin)TCP/IP' yi anlatan kitapları karıştırdığımızda onun tarihi ile ilgili bazı bilgiler verilir

Bende hatırımda kaldığı kadarıyla bunları derleyeyim

ABD' de DARPA adında askeri bir
kurum bir nükleer savaş esnasında bile ayakta kalabilecek bir bilgisayar iletişim yapısı
kurulması için çalışmalar başlatır

Bu projenin temel amacı, herhangi iki nokta arasındakiiletişimin kopması durumunda bile başka yollar üzerinden noktalar arası iletişimi devamettirebilen bir sistem meydana getirebilmekti

Bu dokümanda işin tarihi ya da edebiyanından çok bu noktası açıklanacak

Yani sistem bunu nasıl olabiliyor da yapabiliyor?Neyse bir kaç noktaya daha değinip bu faslı kapatalım

Daha sonra ABD çapında üniversiteöğrencileri ya da akademisyenlerden oluşan bir yazılım grubunun uzunca bir çalışması sonucunda TCP/IP yapısı oluşturuluyor
TCP/IP adreslemesi ve LAN' lardaki analizi
O zaman öncelikle TCP/IP' nin yerel ağımızdaki iletişimi nasıl sağladığıyla başlayalım
konuya

Bilgisayar Ağları kısmında da anlatıldığı gibi yerel alan ağı, 5-10 makine kadar birbilgisayar topluluğunun ethernet vb

protokollerle bağlanmasıyla ortaya çıkıyordu

Netbios gibi bir protokolü ele aldığımızda bu protokolün her makineye verilen bir isim ile
bu iletişimi sağladığını görüyoruz

Sisteminiz, ağ üzerinde şöyle bir tarama yapar ve sizeNetbios protokolünü kullanan diğer makinelerin isimlerini bir liste halinde getirir

Sonra da verilerinizi transfer edersiniz

Fakat TCP/IP global bir sistem olduğu ve öyle sadece 10 makinayı birbirine bağlamakla yetinemeyeceği için daha global bir adresleme sistemi kullanmaktadır

TCP/IP' nin adresleri , notasyonal bazda birbirinden "

" larla ayrılmış 4 eradet 8 bitlik (oktet) rakamdan oluşmaktadır
Bu adresleme sistemine bir örnek olarak193

255

88

197 adresini verebiliriz

8 bitlik parçalardan oluşmasından dolayı iki noktaarasında kalan sayılar 0-255 arasında değişen değerler alırlar

Rakam kullanmak, çok geniş bir adresleme aralığı sağlamasının yanında, bilgisayar programlamayla uğraşanların hemenyorumlayabileceği gibi, yönlendirme işlemleri için algoritmik tasarım esnekliğini de sunar

Yerel alanda zorluk gibi gelen bu numaraların kullanılması, internet alanında bir zorunluluktur

Sistemi tasarlayan kişiler de bu numaraları hafızada tutmanın zor olduğunubildiklerinden, DNS adını taşıyan ve T

C

Erciyes Üniversitesi gibi hafızada tutulması kolay(insan hafıza yapısına uygun) olan domain isimlerini, bunlara karşılık gelen IP adreslerine eşleyebilen bir sistem geliştirmişlerdir

Bu sayede bizim ezberlememiz ya da öğrenmemiz gereken IP numaralarının sayısı (kendi makinemizin ayarlarını buna katmazsak) sadece 1' e
indirilmiş oluyor

Dolayısıyla bu numaralardan kaynaklanan zorluğu da aşmış
bulunuyoruz
ARP
(Address Resolution Protocol - Adres Çözümleme Protokolü)
Adres Çözümlemesi' nden kasıt, karşı bilgisayarın IP adresini sisteme vermemize karşılıkethernet katmanından karşı makinanın ethernet adaptörüne ait olan MAC adresini elde etmektir

Biliyorsunuz ethernet katmanında yazılımsal protokollerin (TCP/IP, Netbios gibi) adreslerinin hiç bir önemi yoktur

Bu adresler ethernet gibi daha alt seviyedeki protokoller tarafından, herhangi bir veriden farksız biçimde işlem görürler

Dolayısıyla LAN' ımızda yaptığımız her türlü iletişim için karşı bilgisayarın ethernet kartının donanımsal adresini bilmemiz gerekiyor

(Bu arada sürekli olarak ethernet üzerinden örnekler veriyorum

Çünkü TCP/IP nin token-ring veya FDDI gibi protokoller üzerindeki uygulamaları hakkında bir bilgiye sahip değilim

Ama önemli olan şu ki TCP/IP açısından değişen birşey yok

)İşte bu karşı IP adresine sahip olan makinanin ethernet adaptörünün MAC adresini öğrenme işine ARP adı verilmektedir

Yapısal olarak son derece basittir

Yaptığımız iş bütün bilgisayarlara aranan IP adresinin o makineye ait olup olmadığını sormak ve eğer ait ise MAC adresinin geri gönderilmesini istemektir

Peki burada neden DNS' e benzer bir sistemle bu adresleri öğrenerek, sistemin performansını artırmıyoruz? Çünkü LAN' larımız çoğunlukla basit amaçlarla kurulmuş ucuz sistemlerdir ve fazla bir performansa ihtiyaç duymamaktadırlar

Ve her LAN için bu tür bir sistem son derece maliyetlidir

Daha yüksek performansa ihtiyacı olan LAN' larda kullanlılan bridge vb

aktif cihazlar bu işin birbenzerini yapmaktadırlar
Routing - Yönlendirme
Yukarıda da bahsedildiği üzere IP adreslerini LAN'ımızdaki makineleri birbirlerinden
ayırmak için kullanıyoruz

"E o zaman tek oktetli bir adres kullansaydık

Bu kadar uzununa ne gerek var?" diyenleriniz olabilir

Tahmin edilebileceği üzere oktetlerin sadece bir kısmı LAN' ımızdaki uç makineleri (node) tarif eder

Geri kalan kısmı internet üzerindeki paket yönlendirme işlemlerinde işe yarar

Eğer 193

255

88

197 gibi bir adresin 197 olarak gördüğümüz dördüncü okteti nodelarımızı tarif etmekte kullanılacaksa, geri kalan 193

255

88' lik kısım, yerel alan ağımızı tarif etmekte kullanılır

Fakat biz değişken olarak seçtiğimiz 197' nin yerine sıfır koyarız

"193

255

88

0 ağı" diyerek ağımızı adlandırırız

Tek oktetin değişken olarak seçildiği bu tür ağ IP adreslerine C sınıfı IP adresleri denilir

0, ağ adresini 255 de broadcast(yayınlama - paketin bütün nodelara gönderilmesi durumu)
adresi olduğu için C sınıfı ağlarda 254 tane uç eleman tanımlanabilir

Eğer iki oktet
kullanılırsa B sınıfı olur

65534 uç eleman olur

Üç oktet kullanılması durumunda ise A
sınıfı ve yaklaşık 16 milyon adet uç IP olur

1' den başlayıp 120 gibi bir rakama kadar
giden (şu anda bunun kaç olduğunu hatırlayamıyorum

Çok da önemli değil zaten
İhtiyaç anında öğrenilebilir) numaralarla başlayan IP adresleri A sınıfı olarak tanımlanmışlardır ve internet üzerinde bu makinelerin düzgün çalışabilmesi için A sınıfı olduklarını belirten bir subnet mask ayarlaması yapmalıdırlar

(Subnet Mask' a birazdan değineceğim

) 192' ye kadar olanlar B sınıfı, 192' den 255' e kadar olanlar da C sınıfı



İstisnalar haricinde bu olay böyle

Eğer bizim göndereceğimiz paketin sahibi bizim ağımızda değil de internet üzerinde başka bir ağda ise bu paket için ARP işlemi yapmayız

Paketimizi, makinemizde tanımlaması daha önceden yapılmış olan Çıkış Noktası (Gateway)' na göndeririz

Çıkış Noktası IP' sine sahip olan cihaz bir bilgisayar olabileceği gibi router dediğimiz özel tasarlanmış cihazlar da olabilir

Yaptığı işe routing(yönlendirme) denir
Bu cihazin birden fazla arayüzü vardır

Her arayüzü farklı bir ağa bakar ve her arayüz baktığı ağa ulaşabilmek için o ağdan bir IP adresi alır

Üzerinde çalışan algoritmaya bakarak, bir arayüzünden aldığı paketi hangi arayüzünden göndereceğine karar verir

Göndereceği paketin hedefi, paketin gerçek sahibi
olabileceği gibi, yol üzerindeki başka bir router da olabilir

Paketin gittiği yolda, üzerinden geçtiği her bir router bir "hop" tur

Router' ların üzerindeki algoritmalar tarafından her interface için hedef ağa varmak amacıyla kaç hop' tan geçmek gerektiği bulunur ve paketin yollanacağı yöne bu hop sayılarına bakarak karar verilebilir

Bu yöntemlerden sadece biridir

Diğer başka bir yöntem ise her bir yöndeki ağ yoğunluğunun bulunmasıdır
Yoğunluğu daha az olan interface üzerinden gönderilir

Bir başka mesele de makinamıza kendi ağ adresini ve göndereceği paketlerin hedef IP' lerinin ağ adreslerini bulmasını öğretmektir

Hedef ağların tam ve net olarak bulunması pek önemli değilse de en azından makinemizin hedef IP' nin kendi LAN' ında olup olmadığını
fark edebilmesi önemlidir

Bunun için kullandığımız yönteme maskeleme diyoruz ve IP
adresine benzer bir 4 okteti daha bu işe ayırıyoruz

Bu 4 oktetlik rakamlar zincirine Subnet Mask denir

C class IP' ler için standart subnet mask 255

255

255

0' dır

Bu olayı en iyi şekilde bir örnekle açıklayabiliriz

Uygulama katmanımızdan TCP/IP katmanlarına 193

255

100

1 adresine gönderilmek üzere bir paket geldiğini düşünelim

Bizim IP adresimiz ise 193

255

88

1 olsun

Subnet mask ise C class olduğu için 255

255

255

0

255' li kısımlar ayırt edici kısımlar, yani ağ tanımlayıcısını belirleyen kısımlar olduğu için hedef ağ 193

255

100

0 olarak bulunur

Kendi IP' miz için de aynı işlem uygulandığında 193

255

88

0 ağı olduğu görülür

İki ağın aynı olmadığı anlaşıldığı için paket gateway' e yollanır

Fakat Subnet Mask eğer 255

255

0

0 seçilseydi, ağ tanımlayıcıları 193

255

0

0 olarak bulunacağından gateway' e gidilmeyecek, LAN protokolü üzerinden direkt olarak ulaşılmaya çalışılacaktı

Şimdi bu 255' li kısımların ayırt edici olma meselesine bir göz atalım

Burası lojikle alakalı bir mesele olduğu için dileyen burayı atlayabilir
Önceki örneğe bağlı kalarak,193

255

100

1 adresi bitler seviyesinde açılır

11000001

11111111

01011000

00000001 olduğu görülür

1111111

11111111

11111111

00000000 (Subnet Mask da bitler seviyesinde açılır) Yukarıdaki gibi olduğu görülür

Alt alta gelen sayılar lojik AND işlemine tabi tutulur

Bu işlem sonucunda 255' li kısımların kopya almakta, 0' lı kısımların ise yutmakta olduğu açıkça görülmektedir

Öyleyse hangi oktet Subnet Mask'ta 0' lardan oluşmakta ise, adres kısmındaki o oktet, ağ adresi bulunurken yutulacağı için ayırt edici olma özelliğini yitirecektir
Ayrıca Subnet Mask'ta daha çok biti 1'olarak ayırırsak ne olur bir de ona bakalım

Subnet Mask'ımız 11111111

11111111

11111111

11111100 olsun

Eski örneğe bağlı kalarak 193

255

88

0'ın bir ağ, 193

255

88

4'ün bir ağ,

8'in bir ağ, 12'nin bir ağ



şeklinde ağ sayısının arttığını görmekteyiz

Ağ sayıları artmış fakat node sayıları azalmıştır

Demek ki C class bir IP'miz varsa ve biz onu sıkarak suyunu çıkarmak istiyorsak, böyle bir yöntem kullanmalıymışız

Pratik bir hesaplama yöntemiyle; 2 üzeri 1'li bit adedi kadar (bu örnekte 2 üzeri 6 = 64) ağa parçalamak mümkün

Her parçada da 2 üzeri 0'lı bit adedi - 2 (yazıyla: iki üzeri sıfırlı bit adedi eksi iki) adet nodeumuz oluyor
Yine bir adresin ağ tanımlayıcısına, diğerinin de broadcast' e gittiğini unutmayalım; niye - 2 oluyor diye sormayalım

Bugünlük de bu kadarla bitirelim

OSI Modeli' ne bir bakış
OSI, ismini standartlaşma konusunda sıkça duymuş olduğunuz ISO (9001, 9002 vs

)
International Standards Organization'in bilgisayar ağlarına bir standart getirmek için ortaya atmış olduğu bir standartlar yapısıdır

Open Systems and Interconnections kelimelerinin kısaltılmasından oluşuyor OSI ifadesi

Şimdi bu standartlaşma işini biraz açmakta fayda var

Dünya üzerinde bir çok bilgisayar sistemi vardır ki; birinde kullanabildiğiniz disketi diğerinde doğrudan kullanamazsınız

Dosya sistemleri farklıdır vs

yani kısacası biz bu sistemlere "birbirleriyle uyumsuz sistemler" deriz
Eğer bu sistemler arasındaki bilgisayar ağı yeterince esnek dizayn edilmezse, sistemler birbirleriyle ağ üzerinden haberleşemez hale gelirler

Varın internetinhalini siz düşünün artık



Her ne kadar sistemler birbirleriyle uyumsuz olsa da her sistemin dizaynı esnasında göz önünde bulundurulan Bilgisayar Mimarisi, İşletim Sistemleri gibi bilimler vardır

Sistemler bu bilimlere uygun dizayn edildiklerinden ötürü bir sistemin yaptığı bir işe karşı öbür sistemde de aynı ya da benzeri işi yapan bir birim vardır

Ve eğer siz iki bilgisayarın haberleşmesi sırasında yapılan işleri tam ve net olarak tarif edebilirseniz, her sistemde bu yapılan işlere denk gelen bölümleri birbirlerinden bağımsız olarak düşünebilirsiniz
Sistemlerin birbirleriyle uyumsuz oldukları noktalarda, her sistem için o sisteme özgü modüller oluşturur, transfer edilmesi istenen veriyi diğer sistemle uyumlu olacağı noktaya kadar o modüller ile işler ve karşı tarafla uyumlu olacağı bir noktaya kadar getirirsiniz

Daha sonra bu sistemler birbileriyle uyumlu oldukları bir kıvama geldiklerinde iki sistem arasında bir ortak dil/arayüz bulunmuş olur ve bu noktada veriyi transfer edebiliriz

Sonra karşı tarafa ulaşan veri bu sefer ters işlemlere tabi tutulur ve karşı tarafa özgü olan modüllerle işlenir

Ve işlenme bittiğinde o verinin karşı sistemdeki tam karşılığı elde edilmiş olur
Bir örnekle bu konuya yaklaşalım: Eski zamanda iki ülke hükümdarından birinin diğerine
bir mektup yollamak istediğini hayal edelim

Bu noktada, iyi bildiğimizi
düşündüğümüzden dolayı fazlaca önem vermediğimiz bazı ayrıntıları vurgulamak
istiyorum

Bir hükümdar, hiçbir zaman yazacağı mesaja muhattap olarak, kendinden daha alt seviyede bir insanı almaz

Bu ne demektir? Yani hükümdarın muhattabı ancak diğer ülkenin hükümdarıdır

Söylemek istediği şeyleri hükümdarlar arasında alışılagelmiş bir ortak üsluba dikkat ederek söyler

Yani birbirlerinin ne demek istediklerini gayet iyi
anlamaktadırlar

Buraya kadar olan yer mektubun içeriği meselesiydi
Peki mektubun iletilmesi problemini hükümdar nasıl çözecek? İşini gücünü bırakıp atına
binerek dört nala sürecek mi? Yoldan geçen herhangi bir atlıya rica mı edecek? Ya da
bütün yolculuk organizasyonunu kendisi mi yapacak? Hayır, bunların hiçbiri değil

Evet;
cevabı siz de tahmin etmiş olmalısınız

Tabii ki en güvendiği bir vezirini çağırıp; "Şu
mektubun icabına bak!" diyecektir

Bu şekilde bütün işinin gücünün arasında, herhangi bir mektuba mesaisini ayırmaktan kurtulmuş olur

Hesap sormak istediğinde de yalnız bir tek kişiyle muhattap olur

Peki vezir ne yapar? Onun da işi başından aşkın

Tabii ki, o da kendinden bir alt kademedeki memuruna bu işi havale eder

Ta ki atlı elçiye mektubun teslim edilme noktasına kadar

İşte bu şekilde işlerimizin daima tıkırında işlemesine vesile olan ve adına bürokrasi(!) denen kavramı hep birlikte icad ederek tarih sahnesine sunmuş olduk

Şaka bir yana yukarıda tarif etiğimiz yöntemle her birim bir altındaki birime bir görev havale ediyor ve o görevin nasıl yapılması gerektiğini, hassasiyetlerini, inceliklerini vb

ayrıntıları en iyi şekilde biliyor ve kendinden bir üstteki birime karşı da göreviyle alakalı sorumluluk duyuyor

Ve tabii gerektiğinde hesabını da oraya veriyor
İşte buraya kadar anlatmış olduğumuz bu hikaye, bilgisayar ağlarının haberleşme
algoritmasına karşılık benim uydurduğum bir yaklaşımdır

Hikayede adı geçen birimler,
haberleşmede tarif edilen katmanlara karşılık gelir

En alt birim olan atlı-elçi, fiziksel
katman adı verilmiş olan ve bilgisayarlarımız arasına döşenen kablolar ile içlerinden akan sinyaller olarak düşünülebilir

Hem nasıl bir atlının yolu üzerinde başına bir iş gelse veya atı hastalanıp ölse, o problemini kendi uzmanlık alanı olduğu şekliyle çözerek aldığı görevi yerine getirir ve hükümdarın da bundan haberi bile olmaz; haberleşen sistemlerde de üstteki katman alttaki katmana yapması gereken işi söyler ve yapılıp yapılmadığını kontrol eder, ama oranın kendi iç problemlerinin ne olduğuyla ilgilenmez

Çünkü üst katmanın asıl işi kendisine ait olan problemleri çözmektir
Yapılan işlemleri birbirlerinden ayrı düşünmenin bir faydası da bunları modül modül ele
alarak kazanmış olduğumuz esneklik avantajıdır

Tasarımcılar her seviye üzerine ayrı ayrı konsantre de olabilirler

Bir bilgisayar sisteminde kullanıcıya yakın olan seviye üst seviye, elektroniğe yakın olan seviye ise alt seviye olarak bilinir

Seviyeler bu bakış açısıyla belirlenir

İşlevleri tam olarak tarif edilmiş olan bu seviyelere katman(layer) adı verilmiştir

ISO uzmanları oturmuşlar bunları tarif ederek bir standarda bağlamışlardır

Katmanlar 1 den 7' ye kadardır ve şöyle tarif edilmişlerdir

Application, Presentation, Session, Transport, Network, Data-Link, Physical
Net olarak ne iş yaptıklarıyla alakalı bir miktar bilgi staj notlarında olacak

Oradan
bakabilirsiniz

Zaten ulaşılması da son derece kolay bir bilgidir

Biz biraz yorumuna
bakalım isterseniz
Şimdi bu katmanlar bir seviyeye kadar donanımsal, ondan sonra ise yazılımsal bazda
işliyorlar

Donanımsal sistemler son derece hızlı fakat yeterince esnek değillerdir

Yazılımsal sistemler ise son derece esnektir fakat donanımsal sistemler kadar hızlı
değillerdir

Dolayısıyla işlerimizi olabildiğince donanım üzerinden yapmaya çalışıyoruz

Yapamadığımız yerde ise yazılımsal sistemlerin esnekliğinden istifade ediyoruz

Genel itibariyle Data-Link ve Physical katmanları donanımsaldır ve çoğunlukla ethernet
kartları gibi LAN adaptör kartları gibi donanımlar ile uygulanırlar
Network ve daha yukarı katmanlar ise yazılımsaldır

Fakat eğer bu işler için özellikle
yapılmış bir donanım üzerinden akan bir veriden söz ediyorsak, bu donanım için
donanımsal işler daha üst katmanlara kadar çıkabilir

Bir sistemin herhangi bir katmanı üzerinde çalışan bir protokol, ancak karşı sistemin aynı katmanında çalışan aynı protokol ile haberleşebilir

Böylece sistemler arasında bir uyumsuzluk olma ihtimali tamamen ortadan kaldırılmış olur

(Macintosh üzerinde çalışan TCP/IP ile IBM mimarisi bir PC'nin üzerinde çalışan TCP/IP'nin haberleşebilmesi gibi)OSI modeli katmanlarının Physical ve Data-Link katmanlarında LAN protokolleri olarak bildiğimiz Ethernet, Token-Ring ve FDDI çalışır

Bu protokoller genelde bilgisayarlarımıza taktığımız bir takım adaptör kartları tarafından uygulamaya geçirilirler

Katmanlı yapının temel özelliği olarak daha önce de anlattığımız gibi, adaptör kartı tarafından kablo üzerinden çekilen bilgi, işlenmek üzere yukarı katman protokolünün emrine verilir

Network Layer kısmında genelde yazılımsal adresleme işleriyle uğraşırız
Bizim kendi yaılımsal adresimiz ve karşıdaki makinanın adresi gibi



Transport'ta ise verilerin parçalara bölünmesi ve bu parçaların gönderiliş-alış esnasında karışmaması gibi meseleler halledilir

TCP/IP nin TCP ve UDP' si, Netbios, IPX gibi protokollerin bu katmanlarda çalıştıklarını söyleyebiliriz

TCP/IP; bazen data-link'ten sonrasını bütünüyle ele alması (örnek: telnet) gibi özelliklerinden dolayı OSI modeline uymaz

Bu şekilde işlene işlene gelen bilgi masanızın üzerinde bazen bir chat sürecindeki bir satır bilgi olur, bazen de bir html dokümanı olarak web browserınız tarafından işlenir

OSI modeli Tannenbaum'un Computer Networks kitabında da ayrıntısıyla kritik edildiği
gibi pratik hayatta pek de uyulmayan bir standartlar bütünüdür

Fakat ağ sistemlerinin
çalışma prensiplerini kavrayabilmek açısından çok faydalı olduğundan, ağları anlatan
kitaplarda başköşelerdeki yerini daha uzun süreler koruyacağa benziyor

En önemli dört katmanın da görevlerinden az da olsa bahsettiğimize göre bu bahsi burada noktalayabiliriz
Aktif Network Cihazları
Ethernet'ten bahsederken collision denen bir hadiseden bahsetmiştik

Hakikaten ethernet'in en büyük baş belası bu collision denen hadise olsa gerek

En
basitinden şöyle bir örnek verelim: Geçen bir arkadaşla ağ üzerinden oyun oynuyorduk

Başka bir kullanıcı da aynı ağ üzerinden internet bağlantısı alıyordu

Daha sonra bu
internet kullanıcısı yok yere makinasını mı denemek için yaptı artık orasını bilmiyoruz, 14 tane IExplorer penceresi açtı arka arkaya

Herhelde açılan her pencere de ağ üzerinden bir sorgulama mı yapıyor onu da bilmiyoruz, oyunumuzun kesilmesine sebep oldu

Eğer siz de oyun oynamak gibi, ağ üzerinden zaman-kritik işler yapıyorsanız; beklenmedik bir anda,bilinmeyen bir sebeple gelen bir veri dalgası işinizin aksamasına, daha da kötüsü kesilmesine sebep olabilir

(Ağ üzeinde oynanan oyunlarda zaman senkronizasyonu çok önemlidir

Çünkü her oyuncunun aynı anda, aynı ortamda bulunduğu duygusu verilmelidir

)
Genelde LAN'ınızdaki makine sayısı 10'un üzerine çıktığında ve ağ üzerinde yoğun
sayılabilecek veri trafiği varsa bu collision meselesi problem olmaya başlıyor

(Burada,
normal ev kullanıcısı olarak bilinen ve hataya tolerans gösterebilen bir kullanıcı üzerine
yapılan pratik bir yorum sözkonusu

Ağ ile taşınan verinin kritikliğine göre ve hata
tahammülüne göre bu yorum değişebilir

) Ama tabii profesyonel uygulamalarda buna bile bakılmayıp birden fazla cihazın aynı collision domain'de bulunması zararlı görülerek,
pahalı cihazlar kullanılmak kaydıyla bu problem aşılmaya çalışılıyor

Şimdi, nedir bu cihazlar? Ne iş görürler onu inceleyelim

Aktif bir cihaz olmamasına rağmen önce hub'dan başlamak, konu bütünlüğü açısından daha doğru olacak


Hub
Göbek/dingil manasına gelen bu kelime, elektronik sinyalleri çoğaltarak, bütün ayaklarına ulaştıran basit yapıdaki bir cihaz için kullanılmaktadır

Üzerinde hafıza üniteleri olmadığından ve akıllı bir sistem olmadığı için aktif cihaz sınıfına girmez

Bilindiği gibi ethernet'de sinyallerin bütün uç elemanlara ulaştırılması esastır

Biz de uç
elemanımızı bu cihaza bağlayarak, ağda dolaşan sinyallerin bizim makinamıza da
uğramasını sağlamış oluruz yani ağa adapte oluruz
Bir kablo üzerine birden çok uç elemanın bağlanmasıyla ethernet oluşturulabiliyorken,
daha çok kablo kullanması gereği aşikar olan böyle bir sisteme niçin geçilme ihtiyacı
duyulmuştur Çünkü, bu sayede fiziksel bağlantıların herhangi birinde bir sorun olduğunda, sadece o fiziksel bağlantının sahibi olan bilgisayarın ağ ile olan bağlantısı kesilir

Ağın faaliyeti ise normal olarak işlemeye devam eder

Sorunsuzluk; ufak maliyet artışlarından çok daha önemli bir tasarım kriteridir

Bridge Bridge(Köprü) adı verilen cihazlar, gerçek bir köprüde de olduğu gibi iki ayağa sahiptirler
Şöyle bir örnek verirsek:
Bir şirkette, muhasebe ve bilgi işlem departmanlarının bilgisayarları aynı ağda olsunlar

Burada sizin de tahmin edebileceğiniz gibi, bu grupların kendi içlerindeki veri trafiğinin
gayet yoğun, birbirleri arasındaki veri trafiğinin ise çok seyrek olarak yaşanması beklenir
Peki böyle bir durumda bir önlem alınmalı mıdır?
Evet

Çünkü ethernet sisteminin yukarıda da bahsettiğimiz Multiple Access özelliğinden
dolayı, bir ağa attığımız bilgi bütün uç elemanlara ulaşır

Eğer bir uç elemana, kendisini
ilgilendirmeyen verilerin gelme olasılığı, kendisini ilgilendiren verilere oranla çok
fazlaysa; bu olay hem o uç elemanı gereksiz yere meşgul edecektir, hem de collision
olayının gerçekleşme ihtimalini artıracaktır
Öyleyse, bu iki bilgisayar grubunun arasına, mesajları süzerek filtre eden bir cihaz
konulursa, her grubun mesajını kendi bölgesinde tutmuş olur ve yukarıda saydığımız
zararları ortadan kaldırır
Bu cihazın mantığı, her bir ayağına bağlı olan ethernet adaptörlerinin MAC adreslerini
öğrenerek bunları hafızasında tutuyor olmasıdır

Bir ayağına, diğer ayağındaki makinelere ulaştırılması gereken bir paket geldiğinde, onu diğer ayağından ağa gönderir

Diğer bacağını ilgilendirmeyen bir paket geldiğinde ise hiçbir işlem yapmayarak filtre işlemini gerçekleştirmiş olur

Bir bilgisayardan ağa gönderilen bir paket, muhattabına ulaşmasının hemen ardından gereken cevap da postalandığından; bridge cihazı, bir haberleşmede iki adet bilgisayarın hangi bacaklarında bulunduğunu öğrenmiş olur
Switch
İkiden fazla sayıda ayağı olan bridge'lere switch adı verilir

Pratik hayatta bridge'lerden
ziyade switch'lerle karşılaşmamız muhtemeldir

Çünkü profesyonel ağ tasarımları gitgide
daha çok yaygınlaşıyor ve sorunsuz sistemler isteyen tasarımcılar ve ağ yöneticileri gitgide bu cihazlara doğru yöneliyor

Switch'lerin yaptıkları iş olan anahtarlama, bu cihazların en önemli bir performans kriteri olarak bilinir

Bu kabiliyetleri ne kadar fazlaysa, o kadar yoğun bir ağ yükünün altına girebilirler

En kabiliyetli olan switch'ler, o ağın tasarımının en merkezine ya da göbeğine yerleştirilirler

Daha az kabiliyetli switchler ya da kritiklik durumu daha az olan bölgelerde ise hub'lar, merkezdeki switch'e(core switch) uç eleman olarak bağlanırlarsa; mantık olarak
düşünüldüğünde de, pratikteki uygulamalarında da, ağımız bir ağaç yapısı içerisinde
büyüyerek genişleyebilir
Standart olarak en sıklıkla karşılaştığımız switch'ler 24 port olanlarıdır

Merkeze konan
büyük switch'ler ise genelde modüler yapıda olup, ihtiyaca göre modüller eklenerek
kapasiteleri artırılabilmektedir

Ethernet'ten çok farklı olan ATM vb

sistemlerde de switch adı verilen cihazlar bulunmakta, yaptıkları iş ise paket süzmekten ziyade, gerçek manada paket anahtarlaması yapmaktır

Bu tür sistemlerde switch'lerin daha akıllı görevleri, sistem yönetim yazılımlarını üzerlerinde barındırmaya varıncaya kadar, oldukça geniş bir yelpazededir

Ayrıca bu tür sistemlerde switch, bir paketin noktadan noktaya hangi yollardan geçerek gitmesi gerektiğini bilebilmekte ya da buna karar verebilmektedir
Ethernet
Ethernet, aynı kablo üzerine bağlanmış birden fazla makinenin oluşturduğu donanımsal
bazlı bir protokoldür

Bu protokolde makinelere taktığımız ethernet adaptör kartları, ağa
elektronik sinyaller gönderme ve başkaları tarafından gönderilmiş olan sinyalleri algılama
özelliğine sahiptir

Herhangi bir protokol tarafından işlenmiş olan ve kendi içinde
bütünlüğü olan en küçük veri parçasına, o protokole ait bir paket diyoruz
Ethernet paket yapısı
(Aslında katmanlı yapıyı anlamaya daha uygun)
Ethernet için bu paketlerin IEEE 802

3 standardında da belirtilmiş olan büyüklükleri vardır

(IEEE LAN sistemlerini standardize etmiş ve onlara 802 ile başlayan kod numaraları
verilmiş

Ethernet'in payına ise 802

3 düşmüş

) Bütün adaptör kartları tek bir kablo
üzerinden veri alışverişi yaptığı için hangi verinin kimden kime gönderildiğini
anlayabilmek gerekir

Bunu belirleyebilmek için, her ethernet adaptör kartının dünya
üzerinde diğer kartlardan farklı bir sabit adresi olması öngörülmüştür

İşte bu sabit adrese Media Access Control (MAC) adresi adı verilir

Her ethernet paketinin üzerinde paketi gönderenin ve alıcısının MAC adreslerini gösteren bölgeler vardır

Ethernet kartı bu bölgelerden mesajın kendisine gelip gelmediğini ya da kimden geldiğini anlayabilir

Eğer mesaj kendisine gelmiş ise veriyi üst katman protokollerine gönderir

Eğer paket kendisine ait değilse paketi atar
Ethernet sistemi, en basit şekliyle CDMA/CD denen bir yöntem ile haberleşmeyi düzenler

Bu kısaltmanın açılımı Carrier Sense (Hattı dinlemek), Multiple Access (Çoklu erişim), Collision Detection (Çarpışmanın fark edilmesi) şeklindedir

Bu kelimeleri yorumlarsak ethernetin çalışma prensibini anlamış oluruz

Üst katmanlar tarafından ethernet katmanına indirilmiş olan paketler ethernet içinde uygun paketler haline dönüştürüldükten sonra kablo üzerinden ağa gönderilmek üzere iken, ağ üzerinde hareket eden başka verinin olup olmadığını anlamak maksadıyla hat dinlenir

(CS) Eğer hat doluysa hat boşalıncaya kadar beklenir

Bir kablo medyasına aynı anda birden çok ethernet kartı erişebilirler

(MA) Fakat hattın boş olduğunun görülmesiyle hatta aynı anda gönderilen birden fazla adaptör kartına ait veriler,çarpışma (collision) denilen verilerin bozulması olayına maruz kalırlar

Hattı dinleyen diğer bağlı makineler çarpışmanın varlığını anlayabilirler

(/CD) Paketlerinin böyle bir duruma maruz kaldığını algılayan adaptör kartları, paketlerini yeniden göndermek üzere rasgele bir süre beklerler

İşte ethernet sisteminin çalışma mantığı bundan ibarettir ve gayet basittir
Alıntı