Ethernet Teknolojisi

ethernet6

ethernet2

MAC adreslerinin kullanımı

MAC adresleri sayesinde sistemler ağ üzerinden kendilerine ulaşan veri paketinin kendilerine gelip gelmediğini anlarlar. Ethernet ağında, bir bilgisayar bir veri paketi yolladığında, bu paket ağdaki tüm sistemlere ulaşır. Her makina paketin ilk bölümü olan alıcı MAC adresini okur ve kendi MAC adresiyle kontrol eder. Eğer gelen paket kendine aitse işler, değilse göz ardı eder.

Ethernet’in bu özelliği ciddi bir güvenlik açığına yol açabilir. Package Sniffer olarak adlandırılan programlar, bilgisayara gelen veri paketlerini MAC adresi ne olursa olsun alıp kullanmaya izin verirler.

Bu tip programlar iyi niyetle kullanıldığında problemlerin çözümüne yarayabileceği gibi, yerel ağınızda meraklı bir kullanıcının sizin aslında başka bir makinaya göndermekte olduğunuz her dosyayı izlemesine neden olabilir.

Multicast ve Broadcast Adresleri

Bir grup sistemin aynı veriyi alması isteniyorsa, bu gruba dahil olması istenen sistemlerde ethernet arayüzü (bilgisayardaki ağ kartı mesela) belli bir multicast adresine yollanmış veriyi kendi MAC’ ine gelen bir veriyi alır gibi alması için ayarlanabilir. Yani multicast adresler belli bir grup cihazın aynı veriyi almasını sağlar.

Broadcast adresi ise 48 biti de 1 olan özel bir adrestir. Bu adrese yollanmış bir veri paketini alan her ağ kartı bu paketi kabul eder ve işleme koyar. Bazen tüm bilgisayarlara gitmesi gereken bir mesaj göndermek gerekebilir. Bu durumda mesajı içeren veri paketleri broadcast adresine yollanır böylece ağa dahil tüm cihazlar bu mesajı alır.

CRC hata denetimi

Cyclic Redundancy Check veri paketlerinin elektrik sinyali olarak kablodan geçerken bozulmaları durumunda bu bozulmanın yani veri paketinin karşıya yolda değişmiş olarak ulaştığının tespitine yarar.

Gönderen taraf, veri paketine konacak veriyi matematiksel bir işlemden geçirir. İşlemin sonucu CRC kodudur. Veri ve CRC kodu karşı tarafa yollanır. Alıcı paketi açar, veriyi okur, aynı matematiksel işlem veriye uygulanır. Sonuç eğer veri yolda bozulmadan, yani bir bit’i bile değişmeden gelmişse, CRC kodu ile aynı olmalıdır. Aksi halde alıcı gönderen makinaya ilgili paketi tekrar yollamasını söyler.

Bu noktaya kadar en başta karşımıza çıkan iki problemi yani verinin nasıl gönderileceğini (paketler halinde) ve ağa dahil sistemlerin nasıl birbirinden nasıl ayırt edileceğini (MAC adresi ile) çözdük. Sıra geldi kimin veri paketini yollamak için kabloyu nasıl kullanacağının belirlenmesine.

ethernet4

 

Kabloyu kim kullanacak (CSMA/CD)

İlkokul öğretmenim her zaman söz size gelmeden konuşmayın derdi. Ama söz bize nasıl gelir, yoksa biz mi söze gideriz o ayrı bir konu. Bir arkadaş grubunda sohbet ederken benim taktiğim ise her zaman şöyledir. Söz almadan önce konuşanın konuşmasını bitirmesini beklerim, ancak kimse konuşmuyorsa sözümü söylerim. (Carrier Sense) Ancak benim gibi iyi aile terbiyesi almış bir arkadaşım da aynı benim taktikle sözü alabilir, kimsenin ağzını kapatamayız değil mi? (Multiple Access). Bazen işte böyle ikimizde fırsattan istifade iki laf da ben edeyim diye aynı anda söze başlarsak ne olur, gürültü olur tabii, ben böyle durumlarda hemen susarım. (Collision Detection).

Ethernet de benzer bir teknik kullanır. Carrier Sense, Multiple Access, Collision Detection veya kısaca CSMA/CD’ye göre, ethernet kartı veri gönderimine başlamadan önce kablonun kullanımda olup olmadığını kontrol eder. Eğer o anda diğer bir sistem kablodan veri aktarıyorsa buna Carrier denir. Kabloda aktarım olup olmadığını tespit Carrier Sense’ dir.

Kablo boşta olduğunda her Ethernet ara yüzüne sahip cihaz eşit hakka sahiptir ve veri aktarımına başlayabilir. Buna Multiple Access denir. Bir ethernet ağında bilgisayar üzerinde çalışan işletim sistemi veya kullanıcısı önemli değildir. Bir DOS makinası, ethernetin kabloyu kullanma şansı açısından Windows Server ile aynıdır.

Bazı durumlarda iki sistem kablonun boş olduğunu tespit ederek aynı anda veri aktarımına başlayabilir. Bu durumda iki tarafın yolladığı veri çakışır. (Collision) Ethernet kartları çakışmayı hemen tespit ederler. (Collision Detection)

ethernet5

Collision durumları

Collision veya çakışma kelimesi insanda olumsuz bir etki uyandırsa da, bir ethernet ağında çakışmaların oluşması gayet normaldir.

Eğer birden fazla ethernet kartı aynı anda veri iletimine geçerlerse çakışma oluşur. Sistemler kendi yolladıklarıyla kablodan geleni karşılaştırarak bunu hemen tespit ederler. Bunun akabinde her iki taraf da özel bir algoritma ile belirlenen rastgele bir süre boyunca beklerler.

Çakışmaların oluşması ethernet in doğasında olan bir şeydir ve her ethernet ağında çakışma olması kaçınılmazdır. Eğer ağ limitlerin dışında kullanılmıyorsa (ağa dahil sistem sayısı, kullanılan kablo uzunlukları, veri aktarım yükü vs.) çakışmalar saniyenin milyonda biri gibi sürelerde giderilir. Yani çakışmanın ardından birkaç mikro saniye bekleyen sistem veriyi yollamaya tekrar başlar.

Eğer ağ çok yoğun kullanılıyorsa, aynı frame/veri paketi gönderilirken birden fazla çakışma olabilir. Bu durumda sistemler rasgele belirlenen bekleme süresini uzatmaya başlarlar. Burada süre rasgele belirleniyorsa nasıl daha uzun veya kısa olabilir diye bir soru akla gelebilir. Sürenin rasgele olması her iki tarafın da aynı süre bekleyip, sonra da yine aynı anda aktarım yapmalarının önüne geçmek için rasgeledir. Örneğin her iki tarafta birden ona kadar bir sayı tutar ve o kadar milisaniye bekler. Ancak süre belirlenirken, aynı paketin gönderiminde üst üste çakışma oluyorsa (ağda yoğun trafik varsa) süre 1-10 arası değil belki 50-100 arasında seçilir.

Ethernet’ in bu yapısı ağdaki trafik yoğunluğu arttıkça kendisini duruma uydurmasını sağlar. Ethernet aynı veri paketini 16 denemeden sonra hala gönderemediyse bu paketi iptal eder. Bu ancak çok uzun bir süre çok aşırı yoğunluk yaşanması durumunda veya kabloda meydana gelen bir arıza nedeniyle olabilir.

Bu noktada ethernet’ in diğer ağ teknolojilerinde de olduğu gibi veri aktarımını %100 garanti etmediğini görüyoruz. Bu açık üst katman protokollerinin sağladığı veri kontrolü ile telafi edilir. Bir paket yolda kaybolursa veya 16 denemede de yollanamayıp iptal edilirse, alıcı taraftaki üst katman protokol (TCP/IP kullanılıyorsa; TCP) gönderen taraftaki TCP’ye gelen veride bir eksiklik olduğunu bildirecek ve tekrar yollanmasını isteyecektir.

Ethernet’ in kullandığı CSMA/CD tekniğinin basit yapısı ethernet ağ kartlarının ve diğer ekipmanların rakip teknolojilere (Token Ring) göre daha ucuza üretilebilmesini sağlar. Böylece ethernet ağları çok daha ucuza mal olur.

ethernet6

Ethernet ne kadar hızlı

CSMA/CD tekniği nedeniyle ethernet veri aktarımı yapabileceği belli bir süreyi çakışmalarla uğraşırken harcar. 90 kullanıcılı bir ethernet ağının olduğu firmada pazartesi sabahı 9.00’ da herkes aynı anda oturup makinalarını açıp, şifrelerini girip, gün boyunca kullandıkları programa girmeye çalıştığı anda ağda çok büyük miktarda çakışma oluşur. Kullanıcılar açısından sanki herkes aynı anda ağı kullanıyor gibidir ama aslında CSMA/CD çalışmaktadır. Sık sık “sabahları amma yavaş çalışıyor bu aletler” serzenişlerini duyarsınız. Ancak gün boyunca hiçbir zaman bu 90 kullanıcı da aynı anda ağı kullanmayacağı için, ağ daha yüksek performansla çalışır.

Her ethernet ağı belli bir süreyi çakışmalarla ve broadcast mesajlarıyla harcar. Dolayısıyla hiçbir ethernet söylendiği gibi 10Mbs veya 100Mbs’de çalışmaz. Daha doğrusu sizin birim zamanda aktardığınız veri miktarı bu değerlere hiçbir zaman ulaşamaz çünkü ağdaki bu veri aktarım kapasitesinin bir bölümü collision ve broadcast mesajları ile harcanmaktadır.

Ethernet’ in kullandığı basit iletişim yapısı nedeniyle performans kaybı kaçınılmazdır. Ancak bu basit yapı ucuz üretim maliyetleri anlamına gelir. Sonuç itibariyle getirisi-götürüsü karşılaştırıldığında ethernet yine de en uygun çözüm durumundadır.

Pages: 1 2 3 4 5

Bir Cevap Yazın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>