|
Ethernet Kartı
Ethernet kartı

Ethernet kartı; gerçek anlamda isimi ağ ara birim kartıdır. (Network
Interface Card – NIC) bilgisayarın bir bilgisayar ağına bağlanabilmesi
için bilgisayara takılan bir karttır. Yerel bir ağdaki (Local Area
Network – LAN) kişisel bilgisayarlar ve iş istasyonları Ethernet ya da
Token Ring gibi LAN veri transfer teknolojileri için dizayn edilmiş
bir ağ arabirimi içerir. Ağ arabirim kartları bir ağa atanmış full-time
bağlantı sağlarlar. Çoğu PC ve taşınabilir bilgisayar Internet’e
bağlanmak için çevirmeli bağlantı kıullanırlar. Modem Internet servis
sağlayıcısına bağlantı sağlayan bir arabirimdir. Bir ağ arabirim
kartı bilgisayardaki bir genişleme yuvasına takılarak bilgisayarın bir
ağa bağlanmasını sağlayabilir. Çoğu ağ arabirim kartları özel bir tip
ağ protokol ve ortam için dizayn edilmiştir.
Malum
bilgisayar kullananlarımızın yabancı olmadığı ethernet hakkında ne
kadar bilgimiz mevcut bu konuda yaptığım bir araştırma neticesinde
ethernetini ne olduğunu ve nasıl çalıştığı hakkında bir yazı buldum,
işte aşağıda :)
Ethernet İle İlgili Temel Bilgiler
İlk başta yerel ağ(LAN) kavramı yoktu. Eğer iki bilgisayar arasında
veri aktarımı yapmak isterseniz tek yol, dosyayı diskete kopyalayıp
diğer makinaya gidip yüklemekti. Şahsen gördüğüm bir örnek şu
şekildeydi: Bir ofiste aynı DBase programını kullanan üç bilgisayar
vardı ancak aralarında ağ kurulu değildi. Bilgisayarların birinden
müşteri girişi, diğerinden ödemeler ve diğerinde de stok işlemleri
yapılıyordu. Akşam olunca her üç makinadanda disketle o bilgisayarda
üzerinde işlem yapılan dosyalar alınıyor ve diğer iki makinaya
aktarılıyordu. Böylece her makina en azından bir önceki günün tüm
bilgilerini kullanabiliyordu. Tabii arada bir disketler karışınca
tüm veri yapısı bozulup, sonra 1-2 ay gece gündüz demeden en baştan
veri girişi yapılması gerekebiliyordu :)
Kişisel bilgisayarların 80'li yılların başlarından itibaren
yaygınlaşması ile bilgisayarlar arasında hızlı ve güvenli veri
aktarımına olan ihtiyaç arttı. Çözüm ise Ethernet'ti.
Günümüzde bir çok LAN teknolojisinden söz edise de, Ethernet açık
ara farkla en yaygın LAN teknolojisidir. Ethernet ilk ortaya
çıkışından itibaren teknolojisi ve üretim haklarıyla herkese
açıktır. Kullandığı teknolojinin üretimi kolaydır ve ucuza mal
edilebilir. Aynı zamanda güvenilir olduğu ve kullanıcıların
ihtiyaçlarını karşıladığı için en yaygın yerel ağ teknolojisi haline
gelmiştir. En yaygın teknoloji olması ethernetin üreticiler için
büyük bir pazar haline gelmesine ve sürekli geliştirilmesine yol
açmaktadır.
Ethernetin tarihi
Ethernet Xerox firmasının Palo Alto araştırma merkezinde 1970'li
yıllarda Dr. Robert M. Metcalfe tarafından geliştirildi. Metcalfe
"geleceğin ofisi" projesi üzerinde çalışıyordu ve elinin altında
dünyanın ilk workstation bilgisayarlarından biri olan Xerox Alto
bilgisayarlar bulunuyordu.
1972 yılının sonlarında, Metcalfe ve Xerox'ta çalışan iş arkadaşları
Xerox Alto'ları birbirine bağlamak için deneysel olarak Ethernet'i
geliştirdiler. Böylece Alto bilgisayarlar diğer sunucular ve lazer
yazılıcılar birbiriyle haberleşebiliyordu. İlk Ethernetin çalışma
hızı Alto'larla uyumlu olması için Alto'nun çalışma hızı ile aynı
tutulmuş ve sonuçta ağ 2.94 Mega Bit/Saniye hızında çalışmıştır. İlk
ethernet tek parça bir koaksiyel kablo kullanıyordu.
Metcalfe önce Alto Aloha Network olan sistemin ismini 1973 yılında
"Ethernet" olarak değiştirdi. Böylece sistemin sadece Alto
bilgisayarlarda değil tüm bilgisayarlarda çalışabileceğini
vurgulamak istiyordu. Ethernet kelimesi bir zamanlar tüm uzayı
doldurduğuna ve elektromanyetik sinyallerin aktarımını sağladığına
inanılan "ether" den geliyordu. Metcalfe'nin sisteminde de veri
bitleri tüm sistemlere ulaştığı için sonuçta "Ethernet" doğmuş oldu.
1979 yılına kadar sadece Xerox içinde kullanılan Ethernet'in resmi
duyurusu 1980 yılında yapıldı. Xerox, DEC(Digital Equipment
Corporation) ve Intel firmaları ile beraber, sonradan "DIX Standart"
olarak anılan ethernet standardını yayınladı. DIX standardı
koaksiyel kablo üzerinden 10 MBs hızında çalışan etherneti
tanımlamıştır. Böylece ethernet, firma içi deneysel bir çalışmadan
herkese açık gerçek bir ürün haline gelmiş oldu.
Ethernet veya IEEE 802.3 ?
DIX standardından sonra Ethernet, Institute of Electrical and
Electronics Engineers (IEEE)'in 802 kodlu komisyonu tarafından
geliştirilmeye devam etti. IEEE 1985 yılında "IEEE 802.3 Carrier
Sense Multiple Access with Collision Detection (CSMA/CD) Access
Method and Physical Layer Specifications" şeklinde bir isimle yeni
ethernet standardını yayınladı. İzleyen dönemde IEEE standardı
International Organization for Standardization (ISO) tarafından
yürütülmeye devam etti. ISO günümüzde bilgisayar ağları ile ilgili
tüm standarları yürüten kuruluştur.
1985 yılından itibaren üretilen tüm ürünler IEEE 802.3 standardına
göre üretilmektedir. Aslında bu ürünleri "IEEE 802.3 CSMA/CD"
standardını kullanan ürünler olarak tanımlamak daha doğrudur. Ama
dünya çapında hala genel olarak "Ethernet" kelimesi tüm bu ürünler
ve dahil oldukları teknolojiyi tanımlamak için kullanılmaktadır.
Ethernet tek bir ağ teknolojisi olmaktan çok, aynı bus topolojisini,
frame yapısını ve network access(ağ erişimi) metodunu kullanan ağ
teknolojileri ailesini tanımlar.
Ethernetin çalışma şekli
Etherneti geliştiren ekip üç ana problemi çözmek zorundaydılar:
Kablo üzerinden veri nasıl gönderilecek
Gönderen ve alıcı bilgisayarlar nasıl tespit edilecek
Belli bir anda kabloyu kimin kullanılacağına nasıl karar verilecek
Verinin aktarımı: Paketler (Frames)
Tüm bilgisayar ağları ağ üzerinden aktarılacak veriyi sabit boyutta
küçük paketler halinde iletirler. Bu yöntemin iki önemli faydası
vardır. Birincisi büyük bir dosya transferi yapan bir bilgisayar
ağın tamamını uzun bir süre meşgul durumda tutmamış olur. Bir sistem
veriyi paketler halinde yollarken, her paketi göndermeden önce
kablonun kullanımda olup olmadığını kontrol ettikten sonra paketi
yollar. Paket karşıya ulaştığında, kablo tekrar ağdaki tüm makinalar
için boş duruma gelmiş olur. Az önceki makina ikinci paketi
yollamadan önce tekrar kabloyu kontrol etmek zorundadır. Bu arada
diğer bir sistem kendi paketini yollayabilir. Paketler küçük yapıda
olduğu için saniyelerler içinde yüzlercesi değişik bilgisayarlar
tarafından yollanıp-alınabilir. Bilgisayarları kullanan insan için
durum, ağda sanki herkes aynı anda veri alışverişi yapıyormuş
gibidir. Veri paketler halinde gönderilmeseydi, bir kullanıcı 50 MB
bir dosyayı başka bir bilgisayara yollarken belki 3-5 dakika boyunca
diğer hiçbir sistem ağı kullanamayacaktı.
Paketli yapının ikinci faydası ise şudur: 50 MB'lık dosyanın bir
biti bile aktarım esnasında bozulursa, bu tüm dosyanın en baştan
tekrar gönderilmesi anlamına gelir. Oysa veri paketlere bölünüp
yollandığında, sadece bozuk giden paketin tekrar yollanması kafidir.
Ethernet veri paketinin yapısı sabittir. Her paket şu dört bilgiyi
içerir:
Alıcının MAC adresi
Gönderenin MAC adresi
Gönderilecek veri'nin kendisi
CRC kodu
MAC adresi
Ethernet ağına dahil her cihaz ya da ethernet arayüzüne sahip her
cihaz "node" olarak adlandırılır. Bilgisayarlara ethernet kartı
takınca bir node haline gelirler, ancak ethernet girişi olan başka
cihazlar da olabildiği için(router'lar mesela) genel kavram node'dur.
Ethernet ağında sistemler birbirinden sahip oldukları MAC adresi ile
ayırdedilirler. Her node veya basitçe her ethernet kartı dünyada eşi
olmayan bir adrese sahiptir. Bu adres 48 bitlik bir sayıdır. Örneğin
bu yazının yazıldığı bilgisayara takılı ağ kartının MAC adresi
şöyle:
100100000110101001010010100011001101100000011
İlgi çekici değilmi? İkili sistemdeki bu sayıyı söylemek ve yazmak
zor olduğu için bu sayı 16'lı sayı sisteminde yazılır:
12 0D 4A 51 9B 03
Benim kartımın üreticisi Cnet isimli firma. Bu firma, ağ kartı
üretmeye karar verince önce gidip IEEE'ye başvurmuş ve IEEE buna 24
bitlik bir üretici kodu vermiş. Bu kod Organizationally Unique
Identifier(OIU) olarak adlandırılıyor ve her üreticiye farklı bir
kod veriliyor. Daha sonra Cnet ürettiği her ağ kartı için ilk 24
biti kendi OIU numarası, geri kalan 24 biti ise kartın seri
numarası(Device ID-başka bir karta daha verilmeyecek) olmak üzere
MAC adresi belirleyip, ağ kartının üzerinde programlanabilir bir
çipe bu numarayı yazar. Böylece bu kartın dünyada eşi olmayan bir
MAC adresi olur.
Bunun sayesinde sizin almış olduğunuz her ağ kartı üreticisi, üretim
tarihi, markası-modeli ne olursa olsun farklı bir MAC adresine sahip
olacaktır. Ethernet sisteminde node'ları birbirinden ayırmak için bu
MAC adresleri kullanılır.
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.
http://www.turkcenet.org/yerel_res/5_3.gif
Ethernet'in bu özelliği ciddi bir güvenlik açığına yol açabilir.
Packet 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ı olmaldı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ırdedileceğini(MAC adresi ile) çözdük.
Sıra geldi kimin veri paketini yollamak için kabloyu nasıl
kullanacağının belirlenmesine.
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
canım?(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 çenemi kaparım(Collision
Detection).
Ethernet'te 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 arayü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 W2000 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).
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ı ethernetin 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ç mikrosaniye 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
rastgele belirlenen bekleme süresini uzatmaya başlarlar. Burada süre
rastgele belirleniyorsa nasıl daha uzun veya kısa olabilir diye bir
soru akla gelebilir. Sürenin rastgele olması her iki tarafında aynı
süre bekleyip, sonra da yine aynı anda aktarım yapmalarının önüne
geçmek için rastgeledir. Ö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.
Ethernetin 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 ethernetin 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.
Ethernetin 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.
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 performasla ç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.
Ethernetin 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ürüsü
karşılaştırıldığında ethernet yine de en uygun çözüm durumundadır.
|