VERİ İLETİM ORTAMLARI. VERİ İLETİMİ. ASENKRON

advertisement
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bölüm 1:
VERİ İLETİM ORTAMLARI. VERİ İLETİMİ. ASENKRON İLETİM (RS232)
Türkçe (İngilizce) karşılıklar
Bantgenişliği (bandwidth)
Sayısal (digital)
Salınım (oscilation)
Microdalga (microwave)
Kızılötesi (infrared)
Bükümlü Tel Çifti (twisted pair)
Eşeksenel (coaxial)
Karışma (crosstalk, interference)
Optik Lifler (optical fibers)
Algılayıcı (detector)
Dalgaboyu (wavelength)
Tek-modlu (single mode)
Çok-modlu (multi mode)
Telsiz haberleşme (wireless communication)
Transponder (uydu alıcısı-vericisi)
Gecikme (latency)
Baud miktarı (baud rate)
Çoğullama (multiplexing)
Çift yönlü (full duplex ya da duplex)
Yarı çift yönlü (half duplex),
Tek yönlü (simplex)
Frekans bölümlü çoğullama (frequency division multiplexing)
Dalgaboyu bölümlü çoğullama (wavelength division multiplexing)
Zaman bölümlü çoğullama (time division multiplexing)
Kodlayıcı-kodçözücü (codec)
Eşzamansız (asynchronous)
Bölüm Hedefi
Bu bölümü bitirdiğinizde
• Veri iletim ortamlarını (bakır teller, optik lifler, radyo dalgaları, haberleşme
uyduları, mikrodalga ve kızılötesi dalgalar)
• Bir sinyal üzerinden aktarılabilecek veri miktarını
• Sayısal verinin analog sinyal üzerinden aktarımını
• Baud miktarı nedir?
• Çoğullama tekniklerini
• Eşzamansız haberleşme nedir?
öğrenmiş olacaksınız.
1.1 Veri İletimi İçin Kullanılan Ortamlar
Veri iletimi için pek çok ortam kullanılır. Bu ortamları, bakır tel, cam lifler, hava olarak
sıralayabiliriz. Bakır teller kullandığımızda veri elektrik akımı kullanarak, cam lifler
1
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
üzerinde ışık yardımı ile, hava da ise radio dalgaları, mikrodalga ya da kızılötesi ışınlar
ile aktarılır. Doğal olarak, her ortamda o ortamın özelliklerine uygun bir kodlama
yapılması gerekir.
LF-low frequency (düşük frekans)
MF-medium frequency (orta frekans)
HF-high frequency (yüksek frekans)
VHF-very high frequency (çok yüksek frekans)
UHF-ultra high frequency (ultra yüksek frekans)
SHF-super high frequency (super yüksek frekans)
EHF-extremely high frequency (aşırı yüksek frekans)
THF-tremendously high frequency (muazzam yüksek frekans)
Şekil 1.1 Elektromanyetik spectrum ve haberleşmede kullanımı [1]’den alınmıştır
Boşlukta tüm elektromanyetik dalgalar, frekanslarında bağımsız olarak, aynı hızda ilerler.
Bu hız ışık hızı olarak adlandırılır ve 3x108 m/sn’dir. Işık hızı bir üst limittir. Hiçbir
sinyal bundan daha hızlı gidemez. Bakırda ve camda yayılma hızı bunun 2/3’üne düşer ve
frekansa bağımlı hale gelir. Frekans (f), dalga boyu (λ) ve boşluktaki ışık hızı (c)
arasındaki ilişki:
fλ=c
şeklinde ifade edilir.
1.1.1 Bakır Teller
Bakır kablo üzerinde taşınan elektrik sinyali bir elektromanyatik enerji oluşturur. Bu
enerji havada aktarılır ve başka bir bakır tele ulaşınca o tel üzerinde, elektromanyatik
enerjinin şiddetine bağlı olarak, o tel üzerinde elektrik akımı oluşturur. Buna da karışma
(crosstalk, interference) denir. Eğer iki bakır tel birbirine dik açı oluşturacak şekilde
duruyorsa karışma en az seviyede olur. Teller birbirine parallel ve yakın ise, bir tel
üzerindeki güçlü bir akım diğer tel üzerinde de oluşturulabilir. Bu problemi çözmek için,
bakır teller bükümlü tel çifti ya da eşeksenel kablo şeklinde veri iletimi için kullanılır.
2
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bükümlü tel çifti veri aktarımı için kullanılan en eski ortamlardan biridir. Bir mm
kalınlığındaki yalıtılmış iki bakır telin bükülmesi ile meydana gelir. Genellikle telefon
bağlantıları için kullanılır. Bükümlü bakır teller üzerindeki sinyali güçlendirmeye gerek
duymadan birkaç kilometre taşıyabiliriz. Bükümlü tel çiftleri analog ve sayısal sinyal
taşımak için kullanılabilir. Kategori 3 bükümlü tel çiftleri dört çift bükümlü telin bir
araya gelmesi ile oluşur ve bilgisayar ağlarında da kullanılır. Kategori 5 bükümlü tel
çiftleri 1988’de tanıtılmıştır. Bunların kategori 3’ten farkı cm’ye düşen büküm sayısının
daha fazla olmasıdır. Büküm sayısının artması karışma oranının düşmesini ve sinyal
kalitesinin daha iyileşmesini sağlar.
Şekil 1.2 Kategori 3(a) ve kategori 5(b) bükümlü tel çiftleri. [1]’den alınmıştır.
Eşeksenli kablolarda, bakır kablo güçlü bir metal zırh ile kaplanır. Bu zırh içteki bakır tel
üzerinde taşınan sinyalin elektromanyetik enerji oluşturmasını engelleyeceği gibi
dişarıdaki elektromanyetik enerjinin içteki bakır telde karışma oluşturmasını engeller. Bu
durumda eşeksenli kablolar birbirlerine parallel olarak konumlandırılabilirler.
1.1.2 Optik Lifler
Optik iletim sistemleri üç temel birimden oluşur: ışık kaynağı, iletim ortamı (çok ince
cam lifler) ve algılayıcı. Optik lifin bir tarafına ışık kaynağını, diğer tarafına da
algılayıcıyı yerleştirerek tek yönlü bir iletim ortamı oluşturulur. Optik ortamda, bakır
tellerde görülen karışma problemi yoktur. Farklı veriler, bir optik lif üzerinde, eş zamanlı
olarak, pek çok dalgaboyu üzerinden aktarılabileceği için optik liflerin veri taşıma
kapasitesi çok büyüktür.
Şekil 1.3 Bir optik lifin yapısı. [1]’den alınmıştır.
Veri genelde elektrik siyali üzerinden aktarıldığı için optik liflerin kullanıldığı
ortamlarda, önce elektrik sinyalinin ışığa dönüştürülmesi, aktarılması ve sonra da verinin
optik sinyalden elektrik sinyaline dönüştürülmesi gerekir. Işık kaynağı olarak LED (Light
Emitting Diode) ya da lazer kullanılır. Işığın varlığı bir değerini, olmaması ise sıfır
değerini ifade eder. Optik lifler üzerinde sinyal, güçlendirmeye gerek duymadan
3
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
kilometrelerce gidebilir. Ayrica verinin bozulma olasılığı da çok düşüktür. Buna karşın
optik liflerin çekilmesi, lifte kırık oluştuğunda yerinin bulunması ve tamir edilmesi güçtür
Optik lifleri tek-modlu ve çok-modlu olmak üzere iki grupta toplayabiliriz. Çok-modlu
liflerde ışın lif içinde birkaç farklı yol kullanabilir. Tek-modlu liflerde, lifler çok dardır
ve ışının takip edebileceği tek bir yol vardır.
1.1.3 Radyo Dalgaları
Radyo, televizyon yayınlarında olduğu gibi elektromanyetik radyasyon bilgisayar verisi
aktarmak için de kullanılır. Elektromanyatik radio dalgalarını kullanarak aktarım yapılan
ağlara radyo frekansında (RF) çalışıyor denir. RF üzerinden yapılan aktarımlarda iki
birim arasında fiziksel bir bağlantı olması gerekmez, her bir birimde bir anten olması
yeterlidir. Bu nedenle, bu tip haberleşmeye telsiz (wireless) haberleşme denir. RF
ağlarında sinyalin aktarılacağı alanın büyüklüğüne bağlı olarak farklı boyutlarda antenler
kullanılır. Kilometrelerce uzağa yapılan bir aktarım için bir kaç metrelik anten gerekirken
bir bina içindeki aktarım için bilgisayara sığan bir anten yeterli olur.
Şekil 1.4 VLF, LF,MF ve HF bantlarındaki radio dalgalarının davranışı. [1]’den
alınmıştır.
Şekil 1.4(a)’da gösterildiği gibi VLF, LF ve MF bantlarındaki radio dalgaları
yerkabuğunun şekline göre hareket ederler. HF bantındaki radio dalgaları ise
atmosferdeki iyonosfer tabakası tarafından yansıtılırlar.
1.1.4 Haberleşme Uydular
Telsiz haberleşmede kullanılan araçlardan biri de haberleşme uydularıdır. Uydular
kendilerine gelen sinyali alır güçlendirir ve, gelen sinyal ile karışmaması için, farklı bir
frekans üzerinden yeryüzüne gönderirler. Bazı uydu vericileri daha karmaşık işlemler de
yapabilir. Bir uydu üzerinde birden fazla alıcı ve verici bulunabilir. Bir uydu vericisi
yayın yaptığı alanın boyutunu ayarlayabilir. Bir uydu pek çok müşteriye hizmet verebilir.
Uydunun yerleştirildiği yükseklik (yörüngesi) onun periyodunu da belirler. 35,800 km’ye
yerleştirilen bir uydunun periyodu 24 saattir. Bu dünyanın dönüş hızına eşit olduğu için
uydu her zaman bulunduğu yerde duruyormuş hissi uyandırır.
Uyduların yerleri belirlenirken Van Allen kuşaklarına da dikkat edilmelidir. Bu
kuşaklarda dünyanın manyetik alanı nedeniyle çok yüklü parçacıklar bulunur. Bu
kuşaklara yerleştirilecek uydular bu yüksek enerjiye sahip parçacıklar tarafından kolayca
4
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
yok edilebilirler. Haberleşme uydularının yerleştirileceği yükseklik, yörünge tipi, sinyalin
iki uç arasındaki gecikmesi (latency) ve tüm yer kürenin kapsanması için gerekli uydu
sayıları A. Tanenbaum’un Computer Networks kitabından alınan Şekil 1.5’te verilmişir.
GEO-geostationary/geosynchronous orbit (yeryüzü ile eşzamanlı yörünge)
MEO-medium-earth orbit (yeryüzüne orta yakınlıkta yörünge)
LEO-low-earth orbit (yeryüzüne yakın yörünge)
Şekil 1.5. Uyduların yörüngeleri ve yörüngelerin özellikleri. [1]’den alınmıştır.
Şekilde de gösterildiği gibi yörünge yüksekliği arttıkça gecikme artar. Bu da verinin daha
uzun sürede yerine ulaşması demektir. Yörünge yüksekliği azaldığında ise yeryüzünün
tümünü kapsamak için gerekli uydu sayısı ve bunların koordinasyonunun karmaşıklığı
artar.
Diğer yöründelerde olduğu gibi, yeryüzü ile eşzamanlı yörüngelere de dilediğiniz kadar
uydu yerleştiremezsiniz. Örnegin ekvator üzerindeki yörüngede yer kalmamış gibidir.
Çünkü uydu sinyallerinin birbirine karışmaması için aralarında 4-8 derece fark olması
gerekir. Bu da 360 derece düşünüldüğünde 90-45 uyduya karşılık gelmektedir.
1.1.5 Mikrodalga
Mikrodalga sinyalleri uzun mesafelerdeki telefon verilerini aktarmak amacıyla
kullanılmıştır. Yüksek frekanslarda çalıştıkları için düşük frekanslardaki dalgalardan
daha fazla veri taşıyabilirler. Ne yazik ki, mikrodalgalar metal yapılardan geçemez, iyi
bir aktarım için açık bir görüş alanı gereklidir. Bu nedenle mikrodalga aktarım arada hiç
bir engel bulunmayacak şekilde konumlandırılmış iki kule arasında uygun hava şartları
altında başarılı bir şekilde gerçeklenebilir.
1.1.6 Kızılötesi Dalgalar
Uzaktan kumanda aygıtları kızılötesi dalgaları kullanarak veri aktarırlar. Kızıl ötesi
dalgalar küçük alanlarda kullanılır. Sinyal gönderen aletin alıcıya yönlendirilmiş olması
gerekir. Kızıl ötesi donanım ucuzdur ve antene ihtiyaç duyulmaz.
5
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bilgisayar ağlarında oda boyutunda bir alan içinde haberleşme gerçeklenecekse kızılötesi
teknoloji kullanılır. Bilgisayar ile yazıcının haberleşmesi buna bir örnek olabilir.
1.2 Bir Sinyal Üzerinde İletilebilecek Veri Miktarı
Her iletim sisteminin bir bantgenişliği vardır ve veri iletimi sırasında bu bantgenişliğinin
üzerine çıkılamaz. Bantgenişliği bir iletim hattında taşınabilecek en fazla frekansa sahip
sinyali gösterir ve Hertz (Hz) ile ölçülür. Eğer bir iletim hattının kapasitesi 5000 Hz ise
bu sistem saniyede 5000 ya da daha az salınım yapan sinyalleri iletebilir. Sonuç olarak,
radyo dalgaları, ses, ışık, elektrik akımını kullanan tüm veri iletim sistemlerinin bir
bantgenişliği vardır.
1920lerde Nyquist, B bantgenişliğine sahip bir hattın, V voltaj seviyesi kullanması
durumunda (ki bu ikili sistemlerde 2 dir), aktarılabilecek en fazla veri miktarının (D)
aşağıda gösterilenden fazla olamayacağını ispatlamıştır.
D = 2Blog2V
Buna göre 3 000Hz kapasiteli bir hat üzerinde iki seviyeli aktarım yapıldığında 6 000b/sn
iletim kapasitesinin üzerine çıkılamaz.
1948’de Shannon bu çalışmaya sinyal-gürültü (S/N) oranını da ekleyerek gerçek
kapasitenin sistemdeki gürültüye de bağlı olduğunu ve aktarılan veri miktarının, voltaj
seviyesi ne olursa olsun, etkin/efektif kapasiteden (C) fazla olamayacağını göterdi.
C (saniyede aktarılan bit miktarı) = Blog2(1+S/N)
Sinyal-gürültü oranı hattın fiziksel özelliklerine bağımlıdır ve, genelde, decibel(dB)
birimi ile 10log10S/N şeklinde ifade edilir. Bu oran analog telefon hatlarında 30dB’dir. Bu
da S/N’nin 1000 olduğunu gösterir. Bu da, bantgenişliği 3 000Hz olan bir telefon
hattında 30 000 bitten fazlasının aktarılamayacağı anlamına gelir.
1.3 Sayısal Verinin Analog Sinyal Üzerinden Aktarılması
Sayısal veriyi doğru akım üzerinden taşımak çok zordur. Çünkü oluşan kare dalgalar
kolayca bozulabilir. Bu sorun verinin alternatif akım üzerinde taşınması ile çözülür.
Taşıyıcı olarak sinüs dalgası kullanılır. Bu dalganın genlik (amplitude), frekans
(frequency) ya da fazını (phase) değiştirerek 0 ve 1’ler ifade edilir. Bu yöntemler ile
verinin sinüs sinyali üzerinde taşınmasına genlik modülasyonu, frekans modülasyonu ve
faz modülasyonu denir.
6
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 1.6 Genlik (b), frekans (c) ve faz (d) modülasyonu ile sayısal verinin(a) ifade
edilmesi. [1]’den alınmıştır.
Şekil 1.6’da görüldüğü gibi her bitin aktarımı için belli bir zaman aralığı ayrılmıştır. Bu
teknoloji modemlerde, sayısal veriyi analog iletim ortamlarında taşınabilecek hale
getirmek için kullanılır.
Faz modülasyonunda faz değişimi 45, 135, 225 veya 315 derece olabilir. Donanım
sinyaldeki faz değişimini ölçülebilir. Bu durumda her bir faz değişimine bir bitten daha
fazla veri kodlanabilir. Ölçülen faz değişimi kodlanan bitleri de ortaya çıkarır.
Bir iletim hattından saniyede alınan örnek sayısı o hattın baud miktarını (baud rate) verir.
Alınan her örnek tek bir biti ifade ediyorsa baud rate iletilen veri miktarına (bit rate)
eşittir. Örneğin, günümüz modemlerinde genelde saniyede 2400 örnekleme yapılır. Bu da
2400 baud miktarına karşılık gelir. Ancak her örneklemenin birden fazla veri ifade ettiği
durumlar olabilir. Örneğin voltaj seviyelerinin arttırılması ya da pek çok faz kayma
derecesinin kullanılması gibi. Bu durumda veri miktarı baud miktarının birkaç katı
olabilir. Örneğin dört faz kayması iki biti kodlayabilir. Bu da veri miktarını 2400baud’luk bir hat üzerinde 2x2400=4800b/sn’ye çıkarmak demektir. Yeni teknolojilerle
donatılmış modemler birkaç modülasyon tekniğini bir arada kullanarak, veri miktarını
daha da arttırırlar. Örneğin dört faz değişimi ve 4 genlik değişimi, 16 değişime karşılık
7
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
gelir. 16 değişim dört bit ifade eder. Bu da 2400 baudluk bir hat üzerinde
4x2400=9600b/sn’lik veri iletimine karşılık gelir.
Veri iletimi gerçekleyen bağlantılar çift yönlü (full duplex ya da duplex), yarı çift yönlü
(half duplex), tek yönlü (simplex) olmak üzere gruplara ayrılabilir. Çift yönlü
bağlantılarda haberleşme cihazı aynı anda, tek bir bağlantı üzerinden, hem geliş hem de
gidiş yönünde veri aktarımı yapabilir. Bu, farklı yönlerde farklı frekansa sahip dalgalar
kullanarak günümüz modern modemlerinde gerçeklenebilir. Yarı çift yönlü bağlantılarda
aynı anda sadece tek bir yönde aktarıma izin verilir. Tek yönlü bağlantılarda ise
bağlantının yönü bellidir ve değiştirilemez. Bağlantıların özellikleri kullanılan
teknolojiye göre de değişiklik gösterebilir.
1.4 Çoğullama Teknikleri
Çoğullama teknikleri iki ana başlık altında toplanabilir: frekans bölümlü çoğullama
(frequency division multiplexing) ve zaman bölümlü çoğullama (time division
multiplexing). Ancak günümüzde frekans bölümlü çoğuşamanın bir şekli olan dalgaboyu
bölümlü çoğullamanın (wavelength division multiplexing) yoğun bir şekilde kullanılması
o konuyu da bir alt başlık olarak ele almamıza neden olmuştur.
1.4.1 Frekans Bölümlü Çoğullama (FBÇ)
Değişik frekanslara sahip sinyaller, birbirleri ile karışmayacak şekilde sinyal aralıklarına
yerleştirildikten sonra birlikte taşınabilir. Şekil 1.7, üç frekansın çoğullanmasını
gösterilmiştir.
Şekil 1.7 Üç kanaldan gelen sinyalin FBÇ ile birleştirilmesi. [1]’den alınmıştır.
8
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Genelde kullanılan yöntem oniki 4000Hz’lik ses kanalının 60-108 kHz bantına
çoğullanmasıdır.
1.4.2 Dalgaboyu Bölümlü Çoğullama (DBÇ)
Dalgaboyu bölümlü çoğullamada da frekans bölümlü çoğullamada olduğu gibi, aynı
ortam üzerinde, aynı anda, farklı sinyallerin taşınması amaçlanmıştır. Şekil 1.8’de dört
dalgaboyu için çoğullama işlemi gösterilmiştir. Farklı dalgaboyundaki sinyaller
birleştirici (combiner) kullanarak bir araya getirilir ve varış noktasında bir ayrıştırıcı
(splitter) yardımıyla birbirlerinden ayrılırlar.
Şekil 1.8 Dört farklı dalda boyunun aynı optik lif üzerine çoğullanması. [1]’den
alınmıştır.
Frekans bölümlü çoğullamadan farklı olarak, dalgaboyu bölümlü çoğullamada
dalgaboylarının ayrılması (kırınım ızgarası, diffraction grating) pasif olarak yapılır ve bu
nedenle daha güvenilirdir.
1.4.3 Zaman Bölümlü Çoğullama
Frekans ve dalgaboyu çoğullamadan farklı olarak, zaman bölümlü çoğullamada veri
taşıyan ortamın farklı kaynaklar tarafından zaman içinde paylaşımı söz konusundur. Bir
modem tarafından yaratılan analog veri uç birimlerde kodlayıcı-kodçözücü (codec)
kullanarak sayısallaştırılır. 4 KHz bantgenişliğindeki bir telefon kanalı kodlayıcı
tarafından saniyede 8000 kez örneklenir (125 μsn’de bir örneklenerek). Her örneklemede
7 bitlik veri üretilir. Her örnekleme süresi 125 μsn olduğu için çoğullama sırasında her
kanala 125 μsn’de topladıkları veriyi aktarabilecek kadar süre verilir. Doğal olarak
çoğullanan verinin taşındığı kanalın kapasitesi, çoğullanan tüm kanallardan gelen veriyi
taşıyacak kadar olmalıdır. Şekil 1.9’daki gibi 24 kanalın çoğullandığı düşünülürse
çoğullama kanalının kapasitesi 125 μsn’de en az 24x7=168 bit taşıyabilmelidir. Bazı
kontrol bitlerinin eklenmesi ile bu sayı şekilde de gösterildiği gibi 193 bite ulaşmıştır.
Şekildeki örnek Kuzey Amerika ve Japonya’da T1 olarak bilinen taşıyıcının yapısını
gösterir. 125 μsn’de 193 bit taşınması kapasitenin 1.544 Mb/sn olduğunu gösterir.
9
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 1.9 T1 (1.544 Mb/sn) taşıyıcısının veri yerleşim yapısı. [1]’den alınmıştır.
Çoğullanmış veri de çoğullanabilir. Şekil 1.10’da dört T1 taşıyıcısının çoğullanması ile
oluşan T2 taşıyıcısı (6.312 Mb/sn), yedi T2 taşıyıcısının çoğullanması ile oluşan T3
taşıyıcısı (44.736 Mb/sn) ve altı T3 taşıyıcısının çoğullanması ile oluşan T4 taşıyıcısı
(274.176 Mb/sn) gösterilmiştir.
Şekil 1.10 T1 verisinin daha yüksek kapasiteli taşıyıcılar üzerine çoğullanması. [1]’den
alınmıştır.
1.5 Eşzamansız Yerel İletime Örnek: RS-232
RS-232 EIA (Electronic Industries Association) tarafından geliştirilmiş bir standarttır.
+15V ve -15V arasında iki voltaj seviyesi kullanarak 15 metre civarındaki birimler ile
haberleşmek için kullanılır. Modem, klavye ya da terminal gibi kısa mesafelerdeki
birimlere sayısal veri aktarmak için geliştirilmiştir. Veri karakter olarak taşınır. İletim seri
yapılır (bitler ardışıl gönderilir).
İletimin eşzamansız (asynchronous) olması nedeniyle gönderici ve alıcının koordine
olması gerekmez. Gönderen birim belli bir formatta hazırlanan veriyi hatta aktarır. Alıcı
ise devamlı olarak hattı dinlemektedir, verinin gelişini bildiren işareti aldıktan sonra
gelen veriyi toplar ve karakterleri oluşturur. Her karakterin yedi bitten oluşması gelen
verinin işlenmesinde kolaylık sağlar. RS-232’de, eksi voltaj seviyesi 1, artı voltaj seviyesi
10
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
0 anlamındadır. Hattın boş olduğu eksi voltaj seviyesi ile ifade edilir. Veri gönderileceği
voltajın artı değere çekilmesi (0, başlangıç biti) ile ifade edilir ve ardından yedi bitlik
karakter verisi gönderilir. Her bit için voltaj belli bir süre aynı seviyede tutulur. Gönderici
ve alıcı birimler bu süreye göre ayarlanmıştır. Her karakterin sonuna bir bitiş biti (1)
eklenir.
15
0
-15 hat boş
zaman
başlangıç 1
biti
0
1
0
1
1
0
bitiş
biti
hat boş
Şekil 1.11 RS-232’de veri iletimi
RS-232’de, başlangıç ve bitiş bitleri de göz önüne alındığında, yedi bitlik karakter
verisini taşımak için dokuz bit göndermek gerekir.
RS-232 iletim ortamının yapısı ile, haberleşme protokolleri hakkında da bilgi vermeye
başladık. Görüldüğü gibi veri aktarımında birimler belli kurallara uymak zorundadır ve
haberleşme cihazlarındaki donanım ve yazılımlar bu kurallara uyulmasını sağlar. Bu
kurallara standart adı verilir. Uluslararası standartlar ISO (International Standards
Organization) tarafından üretilir ve yayınlanır. Bunun dışında ITU (International
Telecommunications Union), ANSI (American National Standards Institute), EIA
(Electronic Industries Association), IEEE (Intitute for Electrical and Electronic
Engineers), IETF (Internet Engineering Task Force) standart üretimine katkıda bulunur.
Bu organizasyonlar belli bir konu üzerinde standart üretirken birlikte çalışmaya ya da
farklı zamanlarda üretilmiş standartların birbiri ile çelişmemesine özen gösterirler.
11
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bölüm 2 :
ANAHTARLAMA : DEVRE ANAHTARLAMA. MESAJ ANAHTARLAMA.
PAKET ANAHTARLAMA.
Türkçe (İngilizce) karşılıklar
Devre Anahtarlama (circuit switching)
Mesaj Anahtarlama (message switching)
Paket Anahtarlama (packet switching)
Sakla-ve-gönder (store-and-forward)
Çerçeve (frame)
Ek yük (overhead)
Sanal devre (virtual circuit)
Bölüm Hedefi
Bu bölümü bitirdiğinizde
• Anahtarlama nedir?
• Devre anahtarlama
• Mesaj anahtarlama
• Paket nedir?
• Genel çerçeve yapısı
• Ek yük
• Paket anahtarlama
• Paket anahtarlamada kaynakları niçin daha verimli kullanırız
• Sanal devreleri
öğrenmiş olacaksınız.
Haberleşmede amaç verinin bir noktadan, haberleşmek istenen diğer noktaya
aktarılmasıdır. Ne yazık ki, bu iki nokta arasında doğrudan bir hat bulunması pratik
olarak çok masraflı ya da imkansızdır. Bu nedenle, veri anahtar adı verilen bağlantı
noktalarında bir hattan diğerine aktarılarak uçtan uca iletilir. Anahtarlar ilk telefon
hatlarından günümüze kadar, haberleşme sistemlerinin vazgeçilmez elemanları
olmuşlardır. Anahtarların yapılarını daha sonraki bölümlerde inceleyeceğiz. Bu bölümde
anahtarlama teknikleri üzerinde duracağız.
2.1 Devre Anahtarlama
Devre anahtarlamada haberleşecek iki uç düğüm arasında bir yol (devre) kurulur.
Bağlantı boyunca belirlenen yol kurulu kalır ve veri aktarımı bu yol üzerinden
gerçeklenir. Devre anahtarlamalı veri aktarımında iki aşama vardır :
1) Devrenin kurulması. Bu aşamada ilgili uç düğümler arasında özel sinyalleşme
mesajları kullanılarak bir yol kurulur.
2) Veri aktarımının başlatılması.
1
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 2.1 Devre anahtarlama
Birinci aşamada uç düğümler arasında bir yol kurulamazsa bağlantı gerçeklenemez.
Bağlantı iki uç düğümden biri tarafından koparılabilir (bitirilebilir). Telefon şebekesi bu
anahtarlama tipinin en güzel örneğidir. Zamana duyarlı gerçek zaman uygulamaları için
devre anahtarlama en uygun ortamı oluşturur. Daha önceden kurulmuş devre üzerinden
yaratılan trafik bekletilmeden aktarılır.
2.2 Mesaj Anahtarlama
Devre anahtarlamanın en önemli dezavantajı bağlantı süresi boyunca kurulan yolun ve bu
yol üzerinde aktarılacağı öngörülen kapasitenin korunmasıdır. Ne yazık ki, tüm
haberleşme tiplerinde sabit bir veri aktarımı söz konusu değildir. Telefon konuşmalarınızı
düşünün bazen konuşur, bazen dinler, bazen düşünürsünüz. Ya da aktarılan bir video
filmini düşünün bazı sahneler hareketli bazıları ise durağandır. Aktarılan veri miktarı
zamana göre değişim gösterir. Bu durumda, devre anahtarlamalı bağlantılar için
belirlenmiş kapasite efektif olarak kullanılamayabilir.
Devre anahtarlamaya getirilen alternatiflerden biri mesaj anahtarlamadır. Mesaj
anahtarlamada aktarılması planlanan veri mesaj adını alır. Mesaj yaratıldıktan sonra
iletilmek üzere ağa gönderilir. Mesajin iletimi öncesinde bir yol kurulması söz konusu
değildir. Mesaj bir düğümden bir sonrakine sakla-ve-gönder yöntemi ile iletilerek varış
noktasına kadar yönlendirilir. Bu yöntemde bir mesajı kaynak düğümden varış düğümüne
aktarırken geçilen tüm düğümlerde gelen mesaj öncelikle saklanır, ulaşması gereken
kaynak düğüm düşünülerek bir sonraki düğüm belirlenir ve o düğüme göndermek için
işlemler başlatılır.
2.3 Paket Anahtarlama
2.3.1 Paket Nedir ?
Paketler bir bağlantı sırasında aktarılması planlanan verinin küçük parçalara bölünmüş
halidir. Mesaj anahtarlamanın geliştirilmiş halidir. Mesaj boyutunun değişken olması
mesaj anahtarlamanın uygulamasında anahtarlarada bellek sorunu yaratır. Ayrıca uzun
mesajlarda mesajin başındaki veri, mesajın sonundaki veri gelene kadar bekletilir. Bu da,
zamana duyarlı uygulamalarda sorunlara neden olur.
2
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Herkes tarafından kabul edilen tek bir paket yapısı yoktur. Donanım teknolojisine bağlı
olarak paket yapısı da değişir. Belli bir ağ teknolojinde paket aktarımı için oluşturulan
yapıya çerçeve (frame) denir. Bir çerçeve genellikle Şekil 2.2’deki yapıya sahiptir.
çerçeve başı
veri bloğu
çerçeve sonu
Şekil 2.2 Çerçevenin genel yapısı
Şekilde de görüldüğü gibi verinin önünde ve arkasında çerçevenin başlangıcını ve sonunu
gösteren küçük bloklar vardır. Bu bloklarda adres, hata kontrolü vb gibi veri aktarımı
sırasında kullanılan ağ teknolojisine özel kontrol bilgisi bulunur.
Şekilden de anlaşıldığı gibi paketlere bölerek aktarırım sırasında taşınan veri miktarı
artar. Gerçekte taşınması istenen veriye ek olarak gönderilen fazlalıklara ek yük diyoruz.
Aktarım sırasında ek yük ne kadar azaltılırsa kullanıcı verisine o kadar fazla alan
(kapasite) kalır.
Paket Anahtarlamaya dönüş
Paket anahtarlama temelde mesaj anahtarlamanın sakla-ve-gönder yöntemini kullanır.
Ancak veri tek bir mesaj halinde gönderilmez. Daha küçük boyutlardaki paketlere
yerleştirilir. Küçük paketlere yerleştirilmiş veri daha hızlı hareket edebilir. Bir bağlantıya
ait paketlerden biri herhangi bir düğüme varırken aynı bağlantının başka bir paketi o
düğümden çıkabilir. Paket anahtarlamada da mesaj anahtarlamada olduğu gibi bağlantı
öncesinde yol kurulmaya gerek duyulmaz. Paket, mesaj ve devre anahtarlamanın
çalışması, zaman bazında, Şekli 2.3’te incelenebilir.
3
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 2.3 Zaman bazında paket (a), mesaj (b) ve devre(c) anahtarlamanın incelenmesi
Paket anahtarlamada aynı bağlantıya ait bir paket bir öncekinden farklı bir yolu
kullanarak varış noktasına ulaşabilir. Bu da paketlerin varış düğümünde sıralanmasını
gerektirir. Paketlerin varış düğümüne ulaştırılırken farklı yollar izlemesi her paketin
düğümler üzerinde ayrı ayrı işlenmesi ve o an için en uygun yoldan varış düğümüne
yönlendirilmesinin sonucudur. Bu nokta hataya duyarlılık söz konusu olduğunda bir
avantaja dönüşür. Kaynak-varış arasındaki bir düğüm bozulduğunda ya da bir bağlantı
koptuğunda alternatif yolların kullanılması mümkündür. Devre anahtarlamalı yöntemde
kurulan yolun değiştirilmesi mümkün değildir. Paket anahtarlama yöntemi ağ üzerindeki
kaynakları en iyi şekilde kullanmayı hedefler. Kaynakları önceden rezerve etmesi söz
konusu değildir. Ancak bu durum gerçek zamanlı ve belli bir kapasiteye ihtiyaç duyan
uygulamalar için istenmeyen sonuçlar yaratabilir. Bu nedenle, gerçek zamanlı
uygulamalarda tercih edilen bir yöntem değildir.
2.3.2 Paket Anahtarlama Temelli Ağlarda Ağ Kaynakları Daha İyi Paylaşılır
Bu konuyu aşağıdaki basit örnek üzerinde anlatmak daha kolay olabilir. Altı düğümlü (A,
B, C, D, E ve F düğümleri) bir haberleşme ağımız olduğunu ve bu ağ üzerinde devre
temelli bağlantıların kurduğunu düşünelim. Bu durumda, B ve D düğümleri arasında
kurulmuş bir bağlantı D-E, E-F ve F-B hatlarını kullanacaktır. Aynı ağ üzerinde, daha
sonra, A ve C düğümleri arasında başka bir bağlantı kurmak istersek D ve B düğümleri
arasındaki bağlantının bitmesini beklememiz gerekir. Çünkü E-F hattının kullanılıyor
4
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
olması A ve C düğümleri arasında yeni bir bağlantı kurulmasını engeller. Şekil 2.4’te
gösterildiği gibi.
A
Yeni bağlantı
istegi
B
Bağlantı
E
D
F
C
Şekil 2.4 Devre anahtarlamada aynı kaynakları kullanacak iki bağlantı isteğinin ardışıl
gelmesi durumu
Aynı ağ yapısı üzerinde paket anahtarlama tekniğini kullanılırsa her iki bağlantı da Şekil
2.5’de görüldüğü gibi gerçeklenebilir. Bu durumda ikinci bağlantı birinci bağlantının
sona ermesini beklemeden paket aktarımına başlayabilir. Bu da kaynakların nasıl daha
verimli kullanıldığını gösterir.
5
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
A
B
E
D
F
C
Şekil 2.5 Paket anahtarlamada aynı kaynakları kullanacak iki bağlantı isteğinin ardışıl
gelmesi durumu
Uç noktalar arasında bir yol kurulurken hangi düğümlerin seçileceği konusundan bu
bölümde bahsedilmemiştir. Bu konu daha sonraki bölümlerde detaylı olarak
incelenecektir.
2.4 Sanal Devreler
Görüldüğü gibi devre anahtarlamanın ve paket anahtarlamanın kendilerine göre hem
avantaj hem de dezavantajları var. İki tekniğin avantajlarından yararlanmak için sanal
devreler (virtual circuits) geliştirilmiştir.
• Sanal devrelerde, devre anahtarlamada olduğu gibi, bağlantı isteği geldiğinde
bağlantının gerçekleneceği yol belirlenir ve bu yol üzerindeki kapasitenin bir
bölümü bağlantı için ayrılır. Ayrılan kapasite bağlantının ihtiyaçlarına cevap
verecek düzeyde olmalıdır. Aksi halde bir devre kurulamaz ve bağlantı
gerçeklenemez.
• Sanal devreler üzerinde veri paketler halinde taşınır. Ancak bu paketlerin başlık
bölümleri paket anahtarlamada kullanılan paketlerin başlık bölümlerinden daha
küçüktür. Çünkü kurulmuş bir yol üzerinde yönlendirme yapmak daha kolaydır.
Bu nedenle paketlerdeki ek yük daha az olur. Paketlerin başlıklarındaki
yönlendirme amaçlı bilgiler bağlantının kurulması sırasında belirlenir ve daha
sonra yaratılan paketlerin başlığında bu bilgiler kullanılır.
• Bir sanal devreye ait paketler her zaman aynı yolu takip ederek varış noktasına
ulaşır. Paketlerin sırasının değişmesi mümkün değildir.
• Bir hat, kapsitesi elverdiğince, pek çok sanal devre tarafından paylaşılır.
6
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
•
Bir sanal devre, kaynak veya varış düğümlerinden birinin isteği sonucu
koparılabilir. Bu durumda, o sanal devre için ayrılmış kaynaklar (hatlar üzerindeki
kapasite vd) diğer sanal devrelerin kurulumunda kullanmak için ağa iade edilir.
7
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bölüm 4:
AĞ TOPOLOJİSİ ve YEREL ALAN AĞLARI
Türkçe (İngilizce) karşılıklar
Yerel alan ağları (Local Area Networks, LANs)
Metropol alan ağları (Metropolitan Area Networks, MAN)
Geniş alan ağları (Wide Area Networks, WAN)
Çizge (graph)
Örgü (mesh)
Yıldız (star)
Ağaç (tree)
Halka (ring)
Veriyolu (bus)
Alıcı-verici (transceiver)
Tekrarlayıcı (repeater)
Çatışma (collision)
Dolgu (pad)
Gidiş-geliş süresi (round-trip time)
Çerçeve hata sınaması (checksum)
Hub (kablo göbeği)
Ternary (üçlü)
Jetonlu halka (token ring)
Yapısız (ad-hoc)
Bölüm Hedefi
Bu bölümü bitirdiğinizde
• Ağ topolojilerini
• Ethernet standardını
• Manchester kodlamasını
• CSMA/CD tekniğini
• Ethernet çerçeve yapısını
• Hızlı Ethernet’i
• Gigabit Ethernet’i
• Jetonlu halka ağını
öğrenmiş olacaksınız.
Bilgisayar ağlarını boyutlarına (kapsadıkları alanın büyüklüğüne) göre Yerel Alan Ağları
(YAA), Metropol Alan Ağları (MAA) ve Geniş Alan Ağları (GAA) olmak üzere üç grup
altında toplamaktayız. YAAlar bir odayı, binayı ya da kampüsü kapsayabilecek boyutta
olup, en fazla birkaç km uzunluğunda ağlardır. MAAlar bir şehri kapsayacak
boyuttadırlar. Bir şehirdeki kablolu TV ağı MAA olarak gösterilebilir. GAAlar ise
coğrafi olarak büyük alanları (bir ülke ya da kıta boyutunda) kapsarlar. Bu bölümde
YAAlar üzerinde durulacaktır. Protokol seviyesine inmeden önce ağ topolojisi ve farklı
topolojiler hakkında bilgi verilecektir.
4.1 Ağ Topolojileri
1
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Haberleşme ağlarını topolojik yapılarına göre gruplandırırız. Bu bölümde sıkça kullanılan
özel ağ topolojileri tanıtılacaktır.
Düğümler (ki bu düğümler ağımızdaki bilgisayarları ve diğer haberleşme birimlerini
gösterir) arasında bağlantılar oluşturarak, tüm düğümlerden diğerlerine bir kaç yol
üzerinden erişimi sağlayan topolojilere örgü (mesh) topoloji diyoruz. Örgü topolojilerde
her zaman olası tüm bağlantıların bulunması beklenmez. Eğer tüm bağlantılar
gerçeklenmişse buna tam bağlı örgü topolojisi denir. Şekil 4.1’de sekiz düğümden
oluşmuş tam bağlı bir örgü topolojisi gösterilmiştir.
Bir örgü topolojinin tam bağlı olması için N(N-1)/2 bağlantısının bulunması gerekir.
Burada N düğüm sayısını göstermektedir.
Şekil 4.1. Tam bağlı örgü ağ
Yıldız (star) ağlarda tüm düğümler merkezdeki bir düğüme bağlanırlar ve düğümler
arasındaki haberleşme merkez düğüm üzerinden gerçeklenir.
2
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 4.2 Yıldız ağ
Halka (ring) ağlarda ise, ağ bir düğümden diğerine geçerek uzar. Düğümler arasındaki
bağlantıların mutlaka bir halka oluşturması gerekir.
Şekil 4.3 Halka ağ
Ağaç (tree) ağlarda ise düğümler arasındaki bağlantılar veri yapısı dersinden de
hatırlayacağınız ağaç şeklini oluşturacak biçimde gelişir. Bu yapının bir özelliği herhangi
bir düğümden bir başka düğüme sadece tek bir yol kullanılarak gidilmesidir. Bu yapılarda
iki düğüm arasında birbirinden bağımsız alternatif yollar kurulamaz.
Şekil 4.4 Ağaç ağ
Veriyolu (bus) ağlarda ise tüm bilgisayarlar tarafından paylaşılan bir veri yolu vardır.
Tüm bilgisayarlar ortamı dinleyerek kendilerine gelen veriden haberdar olurlar.
Şekil 4.5 Veriyolu ağı
3
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
4.2 Yerel Alan Ağlarında Kullanılan Standartlar
Bu bölümde standart haline getirilmiş bazı yerel alan ağ protokolleri incelenecektir.
4.2.1 Ethernet (IEEE 802.3)
Ethernet ve IEEE 802.3 standartları aynı tekniği kullanırlar ancak paket yapılarında
birkaç farklılık vardır. Orijinal Ethernet 10 Mb/sn kapasitesi için geliştirilmiştir ancak
daha sonra 100 Mb/sn ve 1 Gb/sn kapasitelerine de destek vermiş ve güncelliğini
yitirmemiştir. Bu nedenle, Ethernet üzerinde diğer standartlardan daha fazla durulacaktır.
10 Mb/sn Ethernet ortamında pek çok kablo segmanı ve tekrarlayıcı olabilir ancak
herhangi alıcı-verici çifti arasındaki uzaklık 2.5 km’yi geçmemelidir. Bir alıcı-vericiden
diğerine ulaşmak için ez fazla dört tekrarlayıcı geçilmelidir. Bir segman en fazla 500 m
uzunluğunda olabilir.
Ethernet kablolama yöntemleri Şekil 4.6’da gösterilmiştir. Hub sözcüğü için Türkçede
kablo göbeği ya da tekrarlayıcı kullanılmıştır. Bu ders boyunca her üç terim de
kullanılabilir.
Şekil 4.6. Ethernet kablolama yöntemleri. (a) vampir bağlantısı, (b) bağlayıcı üzerinden,
(c) kablo göbeği (hub) üzerinden. [1]’den alınmıştır.
4.2.1.1 Manchester Kodlaması (Manchester Encoding)
Ethernet ortamında veri taşıyıcı üzerine aktarılırken Manchester kodlaması kullanılır.
Şekil 4.7’de Manchester ve farksal (differential) Manchester kodlamasının özellikleri
verilmiştir.
4
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 4.7 a)İkili kodlama b)Manchester kodlaması c) Farksal Manchester kodlaması.
[1]’den alınmıştır.
Manchester kodlamasında + ve – voltaj seviyeleri arasındaki geçişler bit değerini gösterir.
Artıdan eksiye geçiş, 1 değerini, eksiden artıya geçiş 0 değerini gösterir. Bu yöntem veri
gönderen ve alan birimlerin eşzamanlı (senkronize) hale gelmesini kolaylaştırır ancak
gereken bantgenişliğini iki katına çıkarır.
Farksal Manchester’da ise bit gönderme aralığının başlangıcındaki voltaj değişimi (artı ve
eksi arasında) 0’ı, değişim olmaması ise 1’i ifade eder. Bu yöntemde de bit gönderme
aralığının tam ortasında mutlaka bir değişim olmalıdır.
Ethernet basitliği nedeniyle Manchester kodlamasını kullanır. Daha ileride göreceğimiz
jetonlu halka (IEEE203.5) ise farksal Manchester tekniğini kullanır.
4.2.1.2 CSMA/CD
CSMA/CD (Carrier Sense Multiple Access/Collision Detection), Ethernet’te veri iletim
yoluna erişmek için kullanılan tekniktir. Bu teknik veri iletim yoluna bağlı tüm birimlerin
ağ ortamına erişmesini sağlar. Veri iletim yolu, bağlı olan tüm birimlerin veri aktarımına
açık olduğu için aynı anda farklı birimler tarafından veri aktarılmaya çalışılması
çatışmaya (collision) neden olur. Çatışma durumunda tüm veriler bozulur ve yeniden
aktarılması gerekir. Bu nedenle veri gönderen bir düğümün aktarım sonrası hattı
dinlemesi ve olası çatışmaların farkına varması gerekir.
Şekil 4.8’de bir çatışma örneği verilmiştir.
• A bilgisayarı 0 anında ortamı dinler ve veri aktarılmadığını farkedince bir
çerçeve/paket çıkarır.
• Paket veri iletim yolunda ilerler.
• Bu sırada B bilgisayarı da bir çerçeve/paket çıkarmak ister ve hattı dinler. A’nın
gönderdiği çerçeve/paket henüz ona ulaşmadığı için hattı boş olarak algılar ve
kendi çerçevesini/paketini çıkarır.
• τ anında iki çerçeve/paket çarpışır ve çatışma olur.
• B bilgisayarı çatışmayı daha önce sezer.
• A bilgisayarı çatışmayı 2 τ kadar süre geçtikten sonra sezer.
5
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
•
Her iki bilgisayar da çatışmayı sezince, veri aktarımına bir süre ara verip (ikili
üssel geri çekilme (binary exponential backoff) algoritmasını kullanılarak)
tekrarlarlar.
Bekleme süresi belli limitler içinde rastgeledir. Her iki bilgisayarın bekleme sürelerinin
aynı olması düşük bir olasılıktır.
Şekil 4.8 Ethernet ortamındaki bir çatışma örneği
En kötü ihtimalle çatışma birbirinden en uzak (2500 m) iki bilgisayar arasında olur. Bu
durumda 2 τ süresi (gidiş-geliş ve tekrarlayıcılardan geçiş süresi düşünüldüğünde)
yaklaşık 50 μsndir. 10 Mb/sn kapasitesinde bir hatta bu sürede 500 bit aktarılır. Bu
miktarı ikinin katı haline getirmek (512 bit) anlamlıdır. Bu da Ethernet ortamında bir
çatışmanın fark edilmesi için en küçük çerçeve/paket boyunun 512 bit (64 sekizli) olması
anlamına gelir.
Ethernet hattının kapasitesi arttığında en küçük çerçeve boyu da artış gösterir. Örneğin
1Gb/sn için çerçeve boyu 6400 sekizlidir (50000 bit ikinin katı olacak şekilde 6400
sekizliye tamamlanır). Ya da maksimum uzaklık 250 metreye düşürülerek, çerçeve boyu
640 sekizli olarak belirlenir.
Doğal olarak Ethernet hattına bağlı birimlerin sayısı ya da aktarılmak istenen verinin
miktarı arttıkça çatışmalar ve bekleme süresi artar. Çatışmaların artması hattın verimsiz
kullanımına neden olur.
4.2.1.2 İkili Üssel Geri Çekilme Algoritması (Binary Exponential Backoff Algorithm)
6
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Çatışma yaşayan her bilgisayar, i çatışmadan sonra 0 ile 2i – 1 arasında bir sayıyı rastgele
seçer. Bu sayıyı 2 τ ile çarpar ve kendisi için bekleme süresini bulur. 10 çatışmadan sonra
bu aralık 0-1023 arasına sabitlenir.
Görüldüğü gibi çatışma yaşayan iki bilgisayarın seçtikleri sayıya bağlı olarak tekrar
çatışma yaşama olasılığı oldukça düşüktür.
4.2.1.3 Ethernet Çerçeve Yapısı
Şekil 4.9’da her iki Ethernet standardı için de çerçeve yapısı verilmiştir. Görüldüğü gibi
aralarındaki fark çok küçüktür. Çerçeve başı (kullanıcı verisinden, Data olarak
gösterilmiştir, önce) ve çerçeve sonundaki (kullanıcı verisinden sonra) alt alanların
çoğunu anlayabilirsiniz. Başlangıç (preamble) olarak 10101010 kalıbı kullanılır.
Dolgu (Pad) alanı küçük çerçeveleri en küçük çerçeve boyuna getirmek için kullanılır.
Şekil 4.9 Ethernet çerçeve yapısı a) DIX Ethernet, b)IEEE 802.3. [1]’den alınmıştır.
Hata kontrolü için çevrimli fazlalık sınaması tekniği kullanılır ve elde edilen hata kontrol
verisi çerçeve hata sınaması (checksum) alanında saklanır.
4.2.1.4 Ethernet Anahtarları :
Hat kapasitesinin 10Mb/sn’den 100Mb/sn’ye çıkması ile Ethernet anahtarların
kullanımına başlandı. Şekil 4.10 basit bir Ethernet anahtarını göstermektedir.
7
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 4.10 Basit bir Ethernet anahtarı. [1]’den alınmıştır.
Anahtar üzerindeki hat kartlarına yapılan bağlantılar ile çerçevelerin doğrudan
anahtarlara aktarılması sağlanır. Kartlardan gelen çerçeveler iki teknik uygulanarak
yönlendirilirler :
1) Kart üzerinde yerel alan ağı yaratılarak tüm bağlantılardan gelen çerçeveler
CSMA/CD tekniği kullanılarak bu ağ üzerinde aktarılır,
2) Gelen çerçeveler kart üzerindeki tampon bellek alanına yazılır ve daha sonra gitmek
istedikleri çıkışa yönlendirilir. Çıkışlar üzerinde çift yönlü (full-duplex) haberleşme
gerçeklenir. Bu özellik kullanıldığında CSMA/CD desteklenmez.
4.2.1.5 Hızlı Ethernet (IEEE 802.3u) :
Hızlı Ethernet’in arkasındaki temel fikir, klasik Ethernet için geliştirilmiş çerçeve
yapısını ve kuralları çok fazla değiştirmeden ortamın hızını arttırmaktır. Bunun da bit
süresinin 100 nsn’den 10 nsn’ye düşürerek yapılması planlandı. Hızlı Ethernet
sistemlerinde genellikle hub ve Ethernet anahtarları kullandı.
Hızlı Ethernet’teki en büyük sorun varolan alt yapıda büyük değişiklik yapmadan
100Mb/sn hızına geçmeyi sağlamaktı. Hızlı Ethernet’te kullanılan kablo türleri Şekil
4.11’de verilmiştir.
Şekil 4.11 Hızlı Ethernet ortamında kullanılan kabloların özellikleri. [1]’den alınmıştır.
Klasik Ethernet’i hızlı Ethernet hızlarına çıkarmak için değişiklikler yapmak gerekliydi.
Kategori 3 UTP (100Base-T4) kablolar 25 MHz sinyal kapasitesine sahipti. Bu ortam
klasik Ethernet’in hızına (10 Kb/sn, Manchester kodlaması ile 20MHz gerekli) uygundu
ancak gerekli bantgenişliği için dört 100Base-T4 kablosu gerekiyordu. Bunun yanı sıra
kodlama da değiştirilmeliydi. Standart telefon kablolarında dört 100Base-T4 kablosu
bulunması sorunların bir bölümünü çözdü. Dört kablonun veri iletiminde paralel olarak
kullanılması istenen veri kapasitesine rahatça çıkılmasını sağladı. Bu kablolardan biri
bilgisayardan hub’a, bir diğeri hub’dan bilgisayara, kalan ikisi ise verinin akış yönüne
göre değiştirilecek şekilde ayarlanabilirdi.
Gerekli veri iletim kapasitesini sağlamak için ise Manchester kodlaması kullanılmadı.
Üçlü (ternary) sinyaller üretildi. Bu durumda tek bir saat periyodunda hattan 0, 1 ya da 2
gönderilebildi. Üçlü sinyal kullanarak, üç 100Base-T4 kablosu üzerinden her saat
darbesinde 4 bit veri aktarılabilirdi. Bu da saniyede 100Mb’lik veri aktarımı demekti.
Artan bir 100Base-T4 kablosu ise ters yönde veri iletimi için kullanılabilecek şekilde
ayarlandı.
8
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Hızlı Ethernet ortamında optik kablolar da kullanılabilir. Ancak optik teçhizat pahalı
olduğu için yeterince ilgi görmemiştir.
4.2.1.6 Gigabit Ethernet (IEEE 802.3z) :
Artan veri iletim isteğine 100Mb/sn kapasite de yeterli olmadı ve Gigabit Ethernet (IEEE
802.3z) de standartlaştırıldı. Gigabit Ethernet’te, klasik Ethernet’teki aynı veri yolu
üzerine bağlanmış bilgisayarlar görülmemektedir. Bir anahtar ve hub üzerinden
bağlantılar gerçeklenir. Anahtar üzerinden yapılan bağlantılar çift yönlüdür (duplex).
Çakışma olmayacağı için CSMA/CD tekniği kullanılmaz. Hub üzerinden yapılan
bağlantılar ise yarı çift yönlüdür (half-duplex). Hublar gelen veriyi tampon belleklere
yazmazlar. Onlar benzetimini yaptıkları veri yolu yapısı üzerine CSMA/CD tekniğini
uygularlar. En küçük çerçeve boyu 64 Byte olarak kabul edilir. Bu durumda kabloların
uzunluğunun da 100 kat azaltılması gereklidir (25 metre). Bu uzunluk pek çok ofis ortamı
için yeterli olmadığından kablo uzunluğunu arttırmak için çerçeve boyunun
büyütülmesine gerek duyulmuştur. Çerçeve boyunun büyütülmesi için iki teknik
önerilmiştir:
a) Dolgu bitlerinin eklenmesi,
b) Çerçevelerin birleştirilmesi.
Gigabit Ethernet ortamında hem optik lifler hem de bakır kablolar kullanılabilir.
Kullanılan kablonun özelliklerine bağlı olarak kodlama yöntemi de değişir.
4.2.2 Jetonlu Halka (IEEE 802.5)
Halka ağları hem yerel alan hem de metropol alan ağlarında sıkça kullanılmıştır. Halka
yapısının kullanıcılarına adil davranması ve bu yapılardaki limitlerin kolayca
hesaplanması bu ağ yapılarının tercih edilmesine neden olmuştur. Şekil 4.12’de bir halka
ağı gösterilmiştir. Halka ağındaki birimler bir halka arayüzü üzerinden hatta bağlanırlar.
Halka üzerinden akan bitler arayüzlere kopyalanır. Kopyalama nedeniyle hat üzerinde bir
bitlik veri gecikmesi yaratılır. Jetonlu halkanın kapasitesi 16 Mb/sn’dir.
Şekil 4.12 Bir halka ağ
9
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Jetonlu halkalarda jeton (token) adı verilen özel bir bit dizisi kullanılır. Bilgisayarların
hiç biri ağı kullanmadığı zaman, jeton halka üzerinde döner durur. Veri göndermek
isteyen bir bilgisayar öncelikle jetona sahip olmalıdır. Bu bilgisayar 3-sekizli boyundaki
jeton üzerinden geçerken jetonun bir bitini değiştirir (buna jeton ele geçirme diyoruz) ve
ardından çerçevesini hatta gönderir.
Halka arayüzlerinin iki çalışma durumları vardır:
a) dinleme,
b) aktarma.
Dinleme durumunda gelen veri okunur ve tekrar hatta kopyalanır. Aktarma durumunda
ise, bilgisayar jetonu ele geçirmiş ve ardından çerçevesini halkaya aktarmaya başlamıştır.
Halka üzerinde dolaşan bitler tekrar onları gönderen bilgisayara geri gelirler. Bu bitler
aynı bilgisayar tarafından halkadan çekilmelidirler. Çerçeve aktarımını bitiren bilgisayar
hatta jetonu göndermeli ve dinleme durumuna geçmelidir.
Jetonlu halkalarda veri kapasitesi 16Mb/sn’ye kadar çıkarılmıştır. Verinin kodlanmasında
farksal Manchester tekniği kullanılır.
Trafik az olduğunda jetonlu halka üzerinde jeton durmadan döner. Trafiğin yoğunlaşması
ile, bilgisayarlar tarafından ele geçirilen jeton daha az görülmeye başlar. Halka boşken de
veri aktarımını başlatmak için jetonun ele geçirilmesi gerekir. Bu da, bazen, gereksiz
beklemelere neden olur. Hat yoğunlaşmaya başladığında ise bekleyen bilgisayar jetonun
ona ulaşacağından emindir. Çünkü aktarımı tamamlayan her bilgisayar jetonu bırakmak
zorundadır. Halkaya bırakılan jeton bir sonraki bilgisayara, oradan da daha sonrakine ve
nihayet bekleyen bilgisayara ulaşır. Bu nedenle halka yapısının adil bir yaklaşımı
olduğunu söyleyebiliriz.
Ancak, jetonu ele geçiren bilgisayarın aktaracağı çerçevenin büyüklüğü konusunda bir
üst limit yoktur. Bu da jetonu ele geçiren bilgisayarın isterse uzun bir süre jetonu
bırakmayacağı anlamına gelir. Bunu önlemek için dilimli halka (slotted ring) yapısı
önerilmiştir.
4.2.3 Telsiz Yerel Alan Ağları (IEEE 802.11)
Şekil 4.13’de gösterildiği gibi, telsiz ağlar farklı konfigürasyonlara sahip olabilirler.
Bazılarında ortam bir baz istasyonu tarafından yönetilir. Bazıları ise yapısızdır. 802.11
standartları her iki konfigürasyonu da göz önüne alır.
10
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 4.13 Baz istasyonu kullanan ve ad-hoc yapısındaki telsiz ağlar, [1]’den alınmıştır.
802.11 ilk önerildiğinde (1997) İnfrared ve kısa alan radyo ortamlarını (FHSS, Frequency
Hopping Spread Spectrum ve DSSS, Direct Sequence Spread Spectrum tekniklerini
kullanarak, 2.4GHz ISM bandı üzerinde) kullanmayı amaçlamıştı. Bu tekniklerin hepsi 1
veya 2 Mb/sn kapasitesine sahipti. 1999’da OFDM (Orthogonal Frequency Division
Multiplexing, 802.11a olarak tanıtıldı) ve HR-DSSS (High Rate-DSSS, 802.11b olarak
tanıtıldı) teknikleri tanıtıldı. Bu teknikleri kullanarak 54Mb/sn ve 11 Mb/sn kapasitesine
erişmek mümkün oldu. 2001’de farklı bir frekans bandı üzerinde çalışan başka bir OFDM
modülasyonu tanıtıldı.
Bu protokollerin her birinde veri aktarımı için farklı kodlama ve modülasyon tekniği
kullanıldı.
Şekil 4.14 802.11 Protokol yığınının bir bölümü, [1]’den alınmıştır.
4.2.3.1 802.11 Ortam Erişim (MAC) Protokolü
802.11’de ortam erişim protokolü Standart Ethernet’ten farklı olmak zorundaydı çünkü
veri iletimi için kullanılan ortam farklıydı ve bu ortama özel sorunlar vardı. Bu sorunlar:
1) saklı istasyon problemi (hidden station problem), 2) etkiye açık istasyon (exposed
11
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
station) problemidir. Birinci problem ortamdaki tüm yayınların duyulamamasından,
ikincisi ise tam tersi nedenlerden kaynaklanır.
Şekil 4.15 Telsiz ortamlarda karşılaşılan sorunlar, [1]’den alınmıştır.
Bu problemleri çözmek için 802.11 iki operasyon modunu destekler: DCF (Distributed
Coordination Function), PCF (Point Coordination Function). Biri dağıtılmış diğeri
merkezi control tekniğidir.
DCF kullanıldığında, CSMA/CA (CSMA/Collision Avoidance) mekanizması çalıştırılır.
Veri göndermek isteyen istasyon ortamı dinler, ortam boş ise veri gönderilir, ortam
meşgul ise beklenir. Ancak veri gönderilirken ortam dinlenemediği için oluşan
çakışmalar o anda anlaşılmaz. Çakışma durumunda ikili geri-çekme algoritması
çalıştırılır.
CSMA/CA’in diğer operasyon modunda veri gönderme öncesinde yapılması gerekenler
vardır (Şekil 4.16’da gösterilmiştir). Bu modda gönderen (A) ve alıcı (B) arasında veri
iletimi öncesinde bir haberleşme gerçeklenir. Bu haberleşmeyi duyan diğer istasyonlar da
uygun şekilde davranırlar. Aşağıdaki örnekte C istasyonunun A’nın veri iletim alanında,
D’nin ise B’nin alanında olduğunu düşünebiliriz.
Şekil 4.16 CSMA/CA’de sanal kanalın dinlenmesi, [1]’den alınmıştır.
RTS-request to send
CTS-grand to send
NAV-Network Allocation Vector
12
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
CTS mesajını alan A tüm veriyi gönderir ve bir ACK zamanlayıcısını (timer) çalıştırır. B
veriyi doğru olarak alınca bir ACK çerçevesi gönderir. ACK çerçevesi A’daki
zamanlayıcı dolmadan ulaşırsa işlem başarı ile tamamlanmış olur. Aksi halde herşey
yeniden yapılır.
Veri iletimi sırasında C ve D istasyonları bir sinyal yaymazlar sadece kanalın meşgul
olduğunu kendilerine bildirirler.
Telsiz ortamda hata olasılığı telli ortamdan çok daha fazladır.Uzun veri bloklarının hata
taşıma olasılıkları da fazladır. Bu nedenle telsiz ortamda verinin kısa çerçeveler içinde
taşınması planlanmıştır. Uzun bir veri bloğu parçalara (fragments) bölünür ve bu şekilde
gönderilir. Bu durumda hataya bağlı tekrar gönderimler gerekirse sadece hatalı parça
tekrar gönderilecektir. Bu durumda NAV’ın kullanılması sadece ilk çerçeveyi
koruyacaktır. Şekil 4.17’de gösterildiği gibi.
Şekil 4.17 Parçalanmış verinin aktarılması. [1]’den alınmıştır.
Bu sorunu çözmek için PCF ve DCF modu birlikte kullanılır. Bu kullanımda çerçeveler
arasındaki zamanlamanın önemi büyüktür.
Şekil 4.18 IEEE 802.11 için çerçeve arası zamanlama. [1]’den alınmıştır.
13
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
SIFS (Short InterFrame Spacing) o anda haberleşmekte olan birimler içindir. Onlar
kullanmazsa aktif haberleşmenin bittiği ya da bir parçanın bozulduğu anlaşılır. Herhangi
bir anda SIFS dilimini kullanabilecek en fazla bir istasyon vardır.
PIFS (PCF InterFrame Spacing) baz istasyonunun kontrol verisi göndermesine
ayrılmıştır. Bu veri göndermek isteyen istasyonları yoklayan bir mesaj da olabilir. Bu
durumda gönderdiği çerçeve bozulmuş/kaybolmuş bir istasyona tekrar çerçeve gönderme
hakkı tanınır.
DIFS (DFC InterFrame Spacing), baz istasyonunun birşey göndermediği durumda
kullanılır ve veri göndermek isteyen herhangi bir istasyon yaratabilir. Çakışma
durumunda klasik yöntemler uygulanır.
EIFS (Extended InterFrame Spacing), bozulmuş ya da bilinmeyen bir çerçeve almış bir
istasyon tarafından kullanılır. Bu kadar beklemedeki amaç varolan bir haberleşmenin
içine girip karışıklığa neden olmamaktır.
Şekil 4.19’da IEEE 802.11’in çerçeve yapısı verilmiştir. Çerçeve alanlarının detayı için
[1]’e bakınız.
Şekil 4.19. IEEE 802.11 Çerçeve yapısı [1]’den alınmıştır.
Kaynakça
[1]
A. Tanenbaum, Computer Networks, Dördüncü Basım, Prentice Hall, 2002.
14
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bölüm 5 :
ANAHTARLAR, KÖPRÜLER, YÖNLENDİRİCİLER
Türkçe (İngilizce) karşılıklar
Anahtar (Switch)
Uzam bölüşümlü anahtarlama (space-division switching)
Zaman bölüşümlü anahtarlama (time-division switching)
Çoğullayıcı (multiplexer)
Çoğullama çözücü (demultiplexer)
Çaprazlayıcı (crossbar)
Çaprazlama noktası (crosspoint)
Anahtarlama elemanı (switching element)
Çok seviyeli arabağlantı ağları (multistage interconnection networks)
Kendiliğinden yönlenebilen (self-routing)
Çekişme (contention)
Ölçeklenebilir (scalability)
Tıkanabilen (blocking)
Tıkanmaz (nonblocking)
Bölüt (segment)
Merkez yönlendiriciler (core routers)
Kenar yönlendiriciler (edge routers)
Bölüm Hedefi
Bu bölümü bitirdiğinizde
• Anahtar yapılarını
• Tek seviyeli anahtar yapılarını
• Çok seviyeli anahtar yapılarını
• Köprülerin çalışma şeklini
• Yönlendiricilerin işlevini
öğrenmiş olacaksınız.
Anahtarlar, köprüler ve yönlendiriciler, bilgisayar ağları arasında geçiş yapmamızı
sağlayan birimlerdir. Bu birimlerin yer aldığı ortamlar homojen (aynı protokolü kullanan)
ya da heterojen (farklı protokolleri kullanan) olabilir. Bu bölümde, adı geçen birimlerin
yapıları, görevleri ve çalışma prensipleri hakkında bilgi verilecektir.
5.1 Anahtarlar :
Anahtar (switch) kelimesi, telefon haberleşmesinden günümüze gelmiştir. Eski telefon
çağrılarını gerçeklerken iki uç nokta arasında adanmış fiziksel bir bağlantı oluşturulurdu.
Bu bağlantıda anahtarlar, farklı hatları birleştirerek bir uç birimden diğer uç birimine
uzayan yolun kurulması için kullanılırdı. Paket kavramı ile ağ kaynaklarının paylaşımı
gündeme geldi. Artık bir fiziksel hat aynı anda pek çok uçtan uça bağlantıya hizmet
verebiliyor ve kaynaklar daha verimli kullanılabiliyor. Doğal olarak bu ortamda
kullanılan paketlerin yapısı daha karmaşık bir hal aldı. Şekil 5.1 anahtarların temel
yapısını göstermektedir. Bu yapı aslında bir anahtarın işlevini de ortaya koyar. Bir
anahtarın amacı giriş portlarına gelen paketleri istenen çıkış portlarına aktarmaktır. Bu
1
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
aktarımın kayıpsız ve çabuk olması hedeflenir. Anahtarları N girişi ve N çıkışı olan
kutular şeklinde düşünebiliriz.
Şekil 5.1’de gösterildiği gibi giriş portlarına gelen paketler giriş kontrol (GK) birimi
üzerinden anahtarlama birimine oradan da gitmesi beklenen çıkış kontrol (ÇK)
birimlerine ulaştırılır. Anahtarlama birimi girişler ve çıkışlar arasındaki paket aktarımını
sağlayarak paketlerin istenen çıkışa ulaştırılmasını sağlar. Bu biriminin çalışması bir
işlemci grubu tarafından kontrol edilir.
Şekil 5.1 Anahtarların temel yapısı
Anahtarların iç yapıları birbirinden farklı olabilir. Genelde anahtarlar iç yapılarına göre
iki farklı grupta toplanırlar: 1) zaman bölüşümlü anahtarlama tekniğini kullananlar ve 2)
uzam bölüşümlü anahtarlama tekniğini kullananlar.
5.1.1 Zaman Bölüşümlü Anahtarlama
Zaman bölüşümlü anahtarlarda (time division switching) bütün girişler ve çıkışlar
tarafından paylaşılan hızlı bir veri yolu ya da bellek vardır. Şekil 5.2 her iki örneği de
göstermektedir. Paylaşılan ortamlar üzerinde aynı anda sadece tek bir giriş-çıkış çifti için
veri aktarımı yapılabilir. Bu nedenle, teknik zaman bölüşümlü olarak adlandırılır.
Paylaşılan ortam bellek olunca bir çoğullayıcıya ve çoğullama çözücüye ihtiyaç duyulur.
Hangi giriş-çıkış çiftleri arasında veri aktarımı yapılacağı konrol işlemcisi tarafından
belirlenir. Zaman bölüşümlü anahtarların kapasitesi paylaşılan ortamın kapasitesi ile
kısıtlıdır.
Şekil 5.2 Zaman bölüşümlü anahtarlama
2
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
5.1.2 Uzam Bölüşümlü Anahtarlama
Uzam bölüşümlü anahtarlamada (space division switching) aynı anda birden fazla girişçıkış çifti için anahtarlama yapılabilir. Bu anahtarlarda kapasite, teorik olarak,
(herhangi bir giriş hattının kapasitesi) x (giriş sayısı)
kadar arttırılabilir.
Ancak bu pratikte her zaman mümkün değildir. Anahtarlama sırasında birden fazla paket
anahtar içindeki aynı iç yolu kullanmak veya çıkış portuna ulaşmak isteyebilir. Bu
durumda çekişme (contention) olur ve paketlerden biri yoluna devam ederken diğeri yok
edilir ya da arabelleklerde bekletilir. Çekişmeler anahtar içi çekişmeler ve çıkış portu
çekişmeleri olmak üzere ikiye ayrılır. Anahtarın yapısına bağlı olarak çekişmeler farklı
teknikler kullanılarak çözülebilir. Yapısı gereği iç çekişmelerin oluşmasına imkan veren
anahtarlara tıkanabilen (blocking) anahtarlar denir. Diğerlerine ise tıkanmaz
(nonblocking) anahtarlar denir.
Uzam bölüşümlü anahtarları iki grupta inceleyebiliriz : tek seviyeli anahtarlar, çok
seviyeli anahtarlar.
5.1.2.1 Tek Seviyeli Anahtarlar
Tek seviyeli (single stage) anahtarlarda gelen paket tek bir sekme sonucunda çıkışa (çıkış
portuna) erişebilecek hale gelir. Bu anahtarlarda her bir giriş-çıkış port çifti arasında o
bağlantıya özel bir hat bulunur ya da yaratılabilir. Tek seviyeli anahtarların en basit
örneği çaprazlayıcı anahtardır (crossbar). Bu anahtarlar Şekil 5.3’te gösterildiği gibi
gerçeklenebilir. Uzam bölüşümü özelliği şekilde açıkça görülür. Birinci girişten beşinci
çıkışa bir paket aktarılırken, aynı anda ikinci girişten üçüncü çıkışa başka bir paket de
aktarılabilir. Çaprazlayıcılarda anahtar içi çekişmeler yaşanmaz. Bu da herhangi bir anda
giriş portlarına gelen paketlerin farklı çıkış portlarını istemesi durumunda her birinin
yerine ulaşacağını gösterir. Bu nedenle tıkanmasız anahtarların en iyi örneklerindendir.
Farklı girişlere gelen paketlerin aynı çıkış portunu istemesi durumunda çıkış portu
çekişmeleri yaşanır.
1
1
2
2
N
N
1
2
N
1
2
N
Şekil 5.3 Tek seviyeli uzam bölüşümlü anahtarlar
3
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Çaprazlayıcılarda her bir çaprazlama noktası (crosspoint) bir anahtarlama elemanı
(switching element) olarak adlandırılır ve paketin bir girişten diğerine aktarılmasını
sağlar. Çaprazlayıcıların karmaşıklığı anahtarlama elemanlarının ve bağlantıların miktarı
düşünüldüğünde N2’dir. N’nin değeri arttıkça çaprazlayıcıların gerçeklenmesi güçleşir
çünkü tüm giriş ve çıkış portlarına giden bağlantıların aynı yonga üzerinde olması
gerekir. Buna karşın tıkanmasız bir yapıya sahip olması bu anahtarları pek çok uygulama
için çekici hale getirir.
5.1.2.2 Çok Seviyeli Anahtarlar
Çok seviyeli (multi-stage) anahtarlar, çok seviyeli arabağlantı ağları olarak da
adlandırılır. Adından da anlaşılanileceği gibi bir paketin çıkış portuna ulaşabilmesi için
bir kaç sekme yapması gerekir. Her sekme geçilen anahtarlama elemanı sayısını gösterir.
Çaprazlayıcılarda bir olan sekme sayısı çok seviyeli anahtarlarda anahtarın yapısına bağlı
olarak değişim gösterir. Şekil 5.4’te çok seviyeli anahtar ailesinde yeralan bir grup
anahtar yapısı görülmektedir. Banyan, Clos ve Benes ağları çok seviyeli anahtar
yapılarında sıkça kullanılır.
a) Banyan anahtarı
b) Clos anahtarı
c) Benes anahtarı
Şekil 5.4 Çok seviyeli uzam bölüşümlü anahtarlar
4
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Çok seviyeli anahtarlardan Banyan anahtarlar üzerindeki paketler merkezi bir birimin
kontrolü olmadan kendiliğinden yönlenebilir (self-routing). Yolun kendiliğinden
bulunması sırasında her seviyedeki anahtarlama elemanı ilgili adres bitinin değerine
bakarak paketin gönderileceği çıkışa karar verir. Örneğin Şekil 5.5’teki 2x2 boyutundaki
anahtarlama elemanlarından oluşmuş Banyan anahtarına gelen ve 110 adresli çıkışa
gitmek isteyen paket için
1. seviyede, 1 çıkışı (alttaki çıkış),
2. seviyede, 1 çıkışı (alttaki çıkış),
3. seviyede, 0 çıkışı (üstteki çıkış) seçilir.
Sonuçta, paket 110 adresine sahip çıkışa iletilmiş olur.
Yukarıdaki örnekte görüldüğü gibi, anahtarların çıkışları gibi anahtarlama elemanlarının
çıkışları da numaralanır (sıfırdan başlayarak). Bu numaralandırma düzeni paketlerin
yönlendirilmesinde kullanılır. Bir paket hangi girişe gelirse gelsin, yönlendirilirken
Banyan anahtarındaki her anahtarlama elemanında aynı yöntem uygulanır.
Şekil 5.5 Bir Banyan anahtarında paket yönlendirme
Çok seviyeli anahtar yapılarında, Şekil 5.6’da gösterildiği gibi hem anahtar içi
çekişmeler hem de çıkış portu çekişmeleri yaşanabilir. İç çekişmeler farklı çıkışlara
ulaşmak isteyen paketlerden de kaynaklanabilir. Bunun nedeni bazı yolların farklı yollara
ulaşırken ortak kullanılmasıdır. Çıkış portu çekişmesi ise aynı çıkışa ulaşmak isteyen
paketler olduğunda kaçınılmazdır ve anahtarın yapısından bağımsızdır. Yapısından dolayı
iç çekişmelere izin veren anahtarlara tıkanabilen (blocking) anahtarlar denir. Sadece çıkış
portu çekişmesine izin veren anahtarlara ise tıkanmaz (nonblocking) anahtarlar denir.
Tıkanabilen anahtarların bu yönünü iyileştirmek için özel tekniklerin kullanılması
gerekir.
5
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 5.6 Çok seviyeli bir anahtardaki çekişme tipleri
Çok seviyeli anahtarları modüler yapıları nedeniyle birkaç yonga üzerinde gerçeklemek
mümkündür. Bu da, anahtarın ölçeklenebilir olmasını sağlar ve önemli bir avantajdır.
5.2. Köprüler
Köprüler (bridges) aynı protokolü kullanan yerel alan ağlarını birbirine bağlamak için
kullanılır. Köprülerle bağlanmış yerel alan ağları kullanıcıya tek bir yerel alan ağı varmış
izlenimini verir. Köprüler verinin adres kısmını incelerler ve yerel bir bilgisayarı hedef
alan paketleri diğer ağlara geçirmezler. Şekil 5.7’te birkaç köprü kullanarak birleştirilmiş
bir yerel alan ağ grubu görülmektedir. Köprülerin birleştirdiği yerel alan ağlarının her
birine bölüt (segment) adı verilir.
Şekil 5.7. Bir kaç köprü ile birleştirilmiş yerel alan ağları
6
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Daha büyük ve tek bir ağ kullanmak yerine küçük yerel alan ağlarını birbirine köprüler
üzerinden bağlamanın uygulamada pek çok yararı vardır.
1) Aynı bölümde çalışan ekibi tek bir yerel alan ağ üzerine toplayarak onların
arasındaki trafiğin diğer bölümlerin ağları üzerine yayılmasını önlenmiş olur. Bu
hem kaynakların verimli kullanımını sağlar hem de güvenlik açısından önemlidir.
2) Küçük yerel ağlar oluşturup bunları birbirine bağlamak büyük ve tek bir ağ
oluşturmaktan daha ekonomik olabilir.
Köprüler bağlı bulundukları yerel alan ağları üzerindeki bilgisayarların adreslerini bilirler
ve paketleri gerekli ağlara kopyalarlar. Bu bilgilendirme bazen operatör tarafından
yapılır. Eğer uyarlanır (adaptive) ya da öğrenebilen (learning) bir köprü kullanılıyorsa,
köprü bu bilgiyi ağ üzerindeki işlemleri gerçeklerken öğrenir. Bu işlemi Şekil 5.8’teki ağ
üzerinde izleyebiliriz. Köprü gelen çerçevelerdeki kaynak adreslerini takip ederek
bilgisayarların yer aldığı yerel alan ağları hakkında bilgi edinir ve bunu ilgili tabloya
yazar. Gelen çerçeveler de bu tablolardaki verilere göre ilgili yerel alan ağına gönderir.
Bir köprü, nerede olduğunu bilmediği bir bilgisayar için gelen çerçevelerin bağlı
bulunduğu tüm yerel alan ağlarına iletilmesini sağlar.
Bölüt X
A
Bölüt Y
B
B
C
D
E
F
Şekil 5.8. İki yerel alan ağını bağlayan bir öğrenebilen köprü
Şekil 5.8’teki ortama yerleştirilen köprünün akan trafiğe bakarak tablolarını oluşturmasını
Şekil 5.9’da izleyebiliriz. Senaryo her ne olursa olsun, öğrenebilen köprü gelişmelere
bakarak tablolarını oluşturur. Bu arada, hiç trafik yaratmayan bir bilgisayarın hangi
bölütte olduğunu bilmek mümkün olmayacaktır.
Olay
Köprü çalışmaya başlar
A, D’ye çerçeve gönderir
B, C’ye çerçeve gönderir
D, A’ya çerçeve gönderir
F tüme gönderir (broadcast)
E, F’ye çerçeve gönderir
C, A’ya çerçeve gönderir
TabloBölüt X
A
A, B
A, B
A, B
A, B
A, B, C
TabloBölüt Y
D
D, F
D, E, F
D, E, F
Şekil 5.9 Olası bir senaryo için Şekil 5.8’teki köprüye ait tabloların oluşturulması
7
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Köprülerden oluşan bir ağda halkaların oluşturulmamasına dikkat edilmelidir. Bir halka
oluşumunda halkada yer alan bölütlerdeki bilgisayarlara aynı çerçeveler bir kaç kez
ulaşacaktır. Bu durumda bazı köprülerin veri aktarmasına izin verilmemelidir.
Birbirinden uzak yerel alan ağlarını kiralık hatlar (leased lines) üzerinden birleştirmek
için, Şekil 5.10’da gösterildiği gibi uzak köprüler (remote bridges) kullanılır.
Şekil 5.10 Uzak köprüler [1]’den alınmıştır.
5.3. Yönlendiriciler
Yönlendiriciler (routers), paketlerin kaynaktan varış noktasına iletimini sağlayan
birimlerdir. İki nokta (kaynak-varış) arasındaki uygun yolun bulunması (geçilecek
düğümlerin belirlenmesi) onların görevidir. Yerel alan ağları ile geniş alan ağları
arasındaki geçişleri de sağlarlar. Yönlendiriciler, Şekil 5.11’de gösterildiği gibi, farklı
protokollere sahip yerel alan ya da geniş alan ağlarını da bir araya getirirler.
Şekil 5.11 Farklı protokolleri kullanan yerel alan ağlarının bir yönlendirici ile bağlanması
8
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Yönlendirme sırasında yönlendirme tabloları kullanılır. Yönlendirme tablolarında bir
varış noktasına giden en uygun yolun bulunması için kullanılacak parametreler saklanır.
Bu tablolar özel yönlendirme algoritmaları kullanılarak hazırlanır. Bölüm 6’da bu
algoritmalar üzerinde detaylı olarak durulacaktır. Yönlendirme tabloları ile ilgili önemli
noktalardan biri de bu tablolar üzerindeki arama süresidir. Yönlendirme tabloları çok
büyük olabilir. Yüksek kapasiteli hatlardan birim zamanda gelen paket miktarının
yoğunluğu da düşünülerek tablolardaki arama (tablolara erişim) süresinin düşürülmesi
gerekir. Bu amaçla hem yazılım hem de donanım temelli iyileştirici yöntemler kullanılır.
Yönlendiricileri merkez (core) ve kenar(edge) yönlendiriciler olmak üzere, Şekil 5.12’de
gösterildiği gibi, iki sınıfa ayırabiliriz. Merkez yönlendiriciler daha fazla porta, hızlı
hatlara ve yoğun bir trafiğe sahiptir. Bu yoğunluk altında hızla çalışabilmesi için hızlı bir
donanım ve bellek erişim (yönlendirme tablosuna ulaşmak için) mekanizmasına ihtiyacı
vardır. Merkez yönlendiricilerinin dayanıklılığı çok hassas bir noktadır. Bozulmaları
büyük kayıplara neden olabilir. Bu nedenle yedekli çalıştırılmalıdırlar. Kenar
yönlendiriciler ise geniş alan ağlarına yerel trafiğin aktarılması için kullanılır.
Şekil 5.12 Merkez ve kenar yönlendiriciler
9
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bölüm 6 :
YÖNLENDİRME TEKNİKLERİ ve ALGORİTMALARI
Türkçe (İngilizce) karşılıklar
Statik (static)
Topoloji (topology)
Ölçüt (metric)
Kaynakta yönlendirme (source routing)
Sekerek yönlendirme (hop by hop routing)
Yönlendirme tabloları (routing tables)
Taşkın (flooding)
Uzaklık vektörü yönlendirmesi (distance vector routing)
Hat durumu yönlendirmesi (link state routing)
Bölüm Hedefi
Bu bölümü bitirdiğinizde
• Bilgisayar ağlarında yönlendirme nedir?
• En kısa yol bulma (Dijkstra) algoritmasını
• Taşkın tekniğini
• Uzaklık vektörü yönlendirmesini
• Hat durumu yönlendirmesini
öğrenmiş olacaksınız.
Bu bölümde bir haberleşme ağı üzerinde yönlendirme tablolarını oluştururken kullanılan
algoritmalar/teknikler üzerinde durulacaktır. Yönlendirme tabloları temelde statik ve dinamik
olmak üzere iki yaklaşım ile oluşturulur. Statik yönlendirme tabloları belli bir algoritmaya
dayanarak önceden oluşturulur ve bir daha değiştirilmez. Bu durumda, bir düğümden diğer
düğümlere ulaşmak için kullanılacak yollar önceden bellidir ve ağdaki trafiğin değişiminden
etkilenmez. Dinamik yönlendirme tablolarında ise tabloların zaman içinde, ağ trafiğinde ya da
bağlantılarda meydana gelen değişimlerle, güncellenmesi hedeflenir.
Her iki tip yönlendirme tablosu kullanımının da olumlu ve olumsuz yönleri vardır. Statik
yönlendirme basittir. Güncelleme gerektirmez ancak zaman zaman belli noktalarda oluşan
tıkanıklıklar, trafiği farklı yollara yönlendirme imkanı olmadığı için, başarımın düşmesine
neden olur. Ya da bazı hatların kopması sonunda, önceden atanmış yolları değiştirmek
mümkün olmadığı için bazı düğümler arasında bağlantı kurulamayabilir. Dinamik
yönlendirmede ise düğümler üzerindeki trafik yükünün artması, tıkanmalar ya da bağlantıların
kopması sonucunda alternatif yollar oluşturulur. Ancak, dinamik yönlendirme algoritmaları
statik algoritmalardan daha karmaşıktır. Hataya dayanıklı olması beklenen ağlarda
yönlendirme tablolarının dinamik teknikler kullanılarak oluşturulması gerekir.
Paketlerin yönlendirilmesi (geçilecek düğümlerin belirlenmesi) iki şekilde gerçeklenir :
kaynakta yönlendirme(source routing) ve sekerek yönlendirme (hop by hop routing).
Kaynakta yönlendirmede kaynak düğüm, paketin sırası ile geçeceği düğümleri
(yönlendiricileri) belirler ve bu bilgi pakete eklenir. Yönlendiriciler bu bilginin bulunduğu
özel alana bakarak paketi sırası ile geçmesi gereken düğümlere aktarırlar. Bu yöntemde,
yönlendirme işlemi kaynak düğümde yapılır. Diğer düğümler paketin belirlenen yol üzerinden
geçmesini sağlar. Sekerek yönlendirmede ise paketin üzerindeki varış düğümü adresine
1
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
bakarak paketin gönderileceği bir sonraki düğümün adresi belirlenir ve paket o düğüme
aktarılır. Yol üzerindeki her sekmede (düğümde) bu işlem yapılır ve paket varış düğümüne
kadar ulaştırılır.
6.1 Yönlendirme Teknikleri :
Literatürde pek çok paket yönlendirme tekniğine rastlayabilirsiniz. Bu bölümde en temel
yönlendirme teknikleri üzerinde durulacaktır.
6.1.1 En Kısa Yolu Bulma Algoritması (Dijkstra’s Shortest Path Algorithm)
Yönlendirme teknikleri üzerinde düşünmeye başladığınızda aklınıza gelebilecek ilk teknik iki
nokta arasındaki en kısa yolu bulmak ve paketleri o yol üzerinden aktarmak olacaktır.
Bilgisayar ağlarında iki nokta arasındaki en kısa yolu bulurken ölçüt olarak:
- bağlantı noktaları arasındaki coğrafi uzaklık,
- geçilen düğüm (sekme) sayısı, ya da
- hatlar üzerinde ortaya çıkan aktarım süreleri, düğümlerdeki kuyruklarda bekleme süreleri
(gecikme değerleri)
kullanılabilir. Sonuçta amacımız, kullanılan ölçüte bağlı olarak kaynak noktasından varış
noktasına en kısa yolun bulunmasıdır.
Bu bölümde açıklanacak en kısa yol algoritması Dijkstra tarafından geliştirilmiştir.
Algoritmamızı Şekil 6.1’de verilen ağ üzerinde daha iyi açıklayabiliriz. Şekilde kullanılan
ölçütün gecikme değerleri olduğunu düşünelim. Amacımız A noktasından diğer düğümlere en
kısa yolu bulmak olsun.
2
B
5
C
10
3
A
G
3
7
F
2
8
6
H
D
5
3
E
Şekil 6.1 Örnek ağ yapısı
Bu durumda önce A düğümünden başlıyoruz ve ona komşu olan düğümleri inceleyip onlara
geçiçi uzaklık değerlerini atıyoruz. Şekil 6.2(a)’da B ve F düğümleri için belirlenmiş geçiçi
uzaklık değerleri bulabilirsiniz. Diğer düğümler henüz incelenmediği için onların geçici
uzaklık değerleri sonsuz işareti ile gösterilmiştir.
2
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
B(5)
A
C (∞)
G (10)
H (∞)
F(3)
D (∞)
E (11)
a)
B(5)
A
C (7)
G (8)
H (∞)
F(3)
D (∞)
E (11)
b)
B(5)
A
C (7)
G (8)
H (17)
F(3)
D (13)
E (11)
c)
3
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
B(5)
A
C (7)
G (8)
H (10)
F(3)
D (13)
E (11)
d)
B(5)
A
C (7)
G (8)
H (10)
F(3)
D (13)
E (11)
e)
B(5)
A
C (7)
G (8)
H (10)
F(3)
D (13)
E (11)
f)
4
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
B(5)
A
C (7)
G (8)
H (12)
F(3)
D (13)
E (11)
g)
Şekil 6.2 Geçici uzaklık değerlerinin belirlenmesi
Daha sonra sırası ile A’dan ulaşılan en yakın düğümden (bu örnekte F) başlayarak uzaklık
belirlemeye devam ediyoruz. F’nin seçiminden sonraki uzaklık değerleri şekil 6.2(b)’de
verilmiştir. B, C, G, H ve E’nin seçiminden sonraki uzaklık değerleri 6.2(c-g)’de
gösterilmiştir.
Örnekten de anlaşılacağı gibi bu yöntemde son düğüm dışında tüm düğümler bir kez
işlenmiştir. Yukarıdaki örnekte A düğümüne olan en kısa yollar hesaplanmıştır. Yani kaynak
düğüm A’dır. Aynı yöntem kullanılarak diğer kaynak düğümler için de hesaplama yapılır.
Dijkstra’nın en kısa yol algoritması Şekil 6.3’te verilmiştir. Bu algoritmada iki boyutlu L
matrisi duğümler arasındaki uzaklıkları (ya da gecikme değerlerini) verir. L[i,j], i ve j
düğümleri arasındaki uzaklığı (veya gecikmeyi) verir. Matriste sonsuz işareti ile gösterilmiş
alanlar ilgili iki düğüm arasında bağlantı olmadığını gösterir. Yukarıdaki ağ topolojisindeki
kenarlar çift yönlü bağlantıları göstermektedir. Yani hat üzerinde verilen değer hem i’den j’ye
ulaşmak için hem de j’den i’ye ulaşmak için kullanılır. Bu nedenle L[i,j]=L[j,i] ve matris
simetriktir. Bu özellik her ağ yapısında olmayabilir. Aşağıda, örneğimizdeki topoloji için L
matrisi verilmiştir. Bu matris Şekil 6.1’e bakarak hazırlanır.
L=
A
0
5
∝
∝
∝
3
∝
∝
B
5
0
2
∝
∝
∝
3
∝
C
∝
2
0
6
∝
∝
∝
10
D
∝
∝
6
0
3
∝
∝
∝
E
∝
∝
∝
3
0
8
∝
5
F
3
∝
∝
∝
8
0
7
∝
G
∝
3
∝
∝
∝
7
0
2
H
∝
∝
10
∝
5
∝
2
0
A
B
C
D
E
F
G
H
Aşağıdaki algoritmada tek boyutlu D matrisi kaynak düğümden diğer düğümlere olan en kısa
yolların değerini hesaplarken (geçiçi uzaklık değerlerini saklamak için) kullanılmıştır.
5
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Matrislerde indeks değeri olarak kullanılan 1, 2, 3, 4, 5, 6, 7, 8 …. sırası ile A, B, C, D, E, F,
G, H düğümlerini ifade etmektedir. n ağdaki düğüm sayısını gösterir. Bu örnekte 8’dir.
function Dijkstra(L[1..n, 1..n]) : array [2..n]
array D[2..n]
set C
{incelenecek düğümleri saklar}
C ← {2, 3, 4, 5, 6, …, n}
for i ← 2 to n
D[i] ← L[1,i]
repeat n - 2 times
v ← C’den en küçük D[v] değerini sağlayan bir eleman
v ← C \ {v}
{bu eleman C setinden çıkarılır}
for each w ∈ C do
D[w] ← min(D[w], D[v] + L[v,w])
return D
Şekil 6.3 Dijkstra’nın en kısa yolu bulma algoritması
Dijkstra algoritması ağda oluşacak değişimlere duyarlı değildir. Bu nedenle bir bağlantının
kopması ya da bir bağlantı üzerindeki trafik yükünün artması bazı düğümler arasındaki
aktarımı imkansız ya da çok güç hale getirebilir.
6.1.2 Taşkın (Flooding)
Bu yöntemde bir düğüme ulaşan paketin kopyaları çıkarılır ve bu kopyalar paketin geldiği
bağlantı (hat) dışındaki tüm bağlantılardan gönderilir. Doğal olarak bu yöntem aynı paketin
pek çok kopyasının yaratılmasına ve bu kopyaların ağdaki trafiği aşırı derecede
yoğunlaştırmasına neden olacaktır. Bu dezavantaja karşın, taşkın yönteminde seçilecek hat
için özel hesaplamalar yapılmasına gerek kalmaz. Paket, doğal olarak, ek kısa yol üzerinden
varış noktasına erişir. Ancak bu sırada aynı paketin pek çok kopyası yaratılır. Hatta aynı
kopyalar pek çok kez aynı düğümlere ulaşır. Şekil 6.4 (a-d), A düğümünden D düğümüne
gönderilen bir paketin üç sekme içindeki çoğalmasını ve eriştiği düğümleri gösterir.
D
A
a)
6
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
B
A
C
G
H
F
D
E
b)
B
A
C
G
H
F
D
E
c)
B
A
C
G
H
F
D
E
d)
Şekil 6.4 Taşkın tekniğinde paketlerin ağ içinde yayılması
Tekniğin dezavantajlarını önlemek için paketlere sekme sayacı eklenmesi önerilmiştir. Sekme
sayacına, paket yaratıldığında, kaynak düğüm tarafından kaynak ve varış düğümleri
arasındaki sekme sayısını gösteren bir değer atanır. Sekme sayacının değeri geçilen her
düğümde bir azaltılır. Sekme sayacı sıfır değerine ulaştığında, paket varış noktasına
ulaşmamışsa yok edilir. Paketlerin aynı düğüm tarafından tekrar tekrar kopyalanmasını
engellemek için önerilen bir diğer yöntem ise her düğümün yarattığı/kopyaladığı paketlerin
kaydını tutmasıdır. Yeni gelen bir paketin kopyalarının yaratılmasından önce bu kayıtlar
kontrol edilir ve paket daha önce çoğaltılmadıysa işleme devam edilir aksi halde paket yok
edilir.
7
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
6.1.3 Uzaklık Vektörü Yönlendirmesi (Distance Vector Routing)
Uzaklık vektörü yönlendirmesi dinamik bir yönlendirme algoritmasıdır. Bu teknikte her
yönlendirici bir yönlendirme tablosu tutar bu tabloda ağdaki her yönledirici için bir satır
bulunur. Her satırda ilgili yönlendiricinin tablonun bulunduğu yönlendiriciye olan uzaklığı ve
ilgili yönlendiriciye hangi çıkış hattı üzerinden ulaşılacağı bilgisi saklanır. Kullanılan ölçütün
uzaklık olması gerekmez. Bu ölçüt gecikme, sekme sayısı, … olabilir. Gecikmenin ölçüt
olarak kullanıldığı durumlarda, her yönlendirici kendisi ile komşu yönlendiriciler arasındaki
gecikmeyi doğrudan bulabilir.
Uzaklık vektörü yönlendirmesinde, her yönlendirici (periyodik olarak) her T milisaniyede bir
kendi tablosunda bulunan ölçüt değerlerini komşularına gönderir ve benzer bir tabloyu da
komşusundan alır. Gelen tablolardaki verilere bakarak her yönlendirici doğrudan bağlı
olmadığı yönlendiriciler ile arasındaki gecikme değerlerini ve o yönlendiricilere nasıl
ulaşacağını bulabilir. Şekil 6.1’deki topoloji üzerindeki değerlerin bir anlık gecikme değerleri
olduğunu ve ağın çok çok kısa bir süre önce aktif hale geldiğini varsayalım. Bu durumda her
yönlendirici sadece komşusuna olan gecikmeyi bilsin ve diğer yönlendiricilere nasıl
ulaşılacağı konusunda bilgi sahibi olmasın. Yönlendiricilerin tabloları Şekil 6.5’deki gibi
olacaktır.
8
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
2
B
C
10
3
2
D
F
H
F Yönlendiricisi
A
B
C
D
E
F
G
H
3
∞
∞
∞
8
0
7
∞
A
E
G
-
∞
2
0
6
∞
∞
∞
10
B
D
H
G Yönlendiricisi
A
B
C
D
E
F
G
H
∞
3
∞
∞
∞
7
0
2
B
F
H
A
B
C
D
E
F
G
H
Birsonraki
düğüm
A
B
C
D
E
F
G
H
gecikme
A
C
G
-
∞
∞
6
0
3
∞
∞
∞
C
E
-
H Yönlendiricisi
A
B
C
D
E
F
G
H
Birsonraki
düğüm
∞
∞
∞
3
0
8
∞
5
5
0
2
∞
∞
∞
3
∞
D Yönlendiricisi
gecikme
Birsonraki
düğüm
A
B
C
D
E
F
G
H
gecikme
E Yönlendiricisi
A
B
C
D
E
F
G
H
C Yönlendiricisi
Birsonraki
düğüm
B
F
-
B Yönlendiricisi
Birsonraki
düğüm
0
5
∞
∞
∞
3
∞
∞
3
E
Birsonraki
düğüm
Birsonraki
düğüm
A
B
C
D
E
F
G
H
gecikme
A Yönlendiricisi
5
8
F
D
Birsonraki
düğüm
7
gecikme
3
H
gecikme
G
gecikme
A
6
gecikme
5
∞
∞
10
∞
5
∞
2
0
C
E
G
-
9
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 6.5 Uzaklık vektörü yönlendirmesinde tabloların ilk durumu
Bu andan sonra B, F ve H yönlendiricilerinden gelen tablolara göre G yönlendiricisinin
kendi yönlendirme tablosunu güncelleyişi Şekil 6.6’da verilmiştir. G yönlendiricisi B, F
ve H’den kendisine ulaşan vektörlere göre yönlendirme tablosundaki değerleri günceller
ve doğrudan bağlı olmadığı yönlendiricilere olan gecikmeyi hesaplar. Güncelleme
sırasında amaç en kısa gecikmeye sahip çıkış hattını bulmaktır. Bir yönlendiriciye
ulaşmak için alternatif yollar olabilir ancak bu yolların en kısası seçilmelidir. Örneğin, G
yönlendiricisi, A’ya F (7+3) ya da B (3+5) üzerinden ulaşabilir. Ancak B üzerinden
gidilen yol daha kısa olduğu için onu tercih eder.
Uzaklık vektörlerinin aktarılmasından sonra G’nin doğrudan bağlı olmadığı A, C ve E
yönlendiricilerine olan gecikme değerlerine sahip olduğunu görmekteyiz.
A
B
C
D
E
F
G
H
∞
∞
10
∞
5
∞
2
0
C
E
G
-
A
B
C
D
E
F
G
H
Birsonraki
düğüm
A
E
G
-
G Yönlendiricisi
gecikme
3
∞
∞
∞
8
0
7
∞
Birsonraki
düğüm
A
B
C
D
E
F
G
H
H Yönlendiricisi
gecikme
A
C
G
-
Birsonraki
düğüm
5
0
2
∞
∞
∞
3
∞
gecikme
Birsonraki
düğüm
A
B
C
D
E
F
G
H
F Yönlendiricisi
gecikme
B Yönlendiricisi
3+5
3
3+2
2+5
7
0
2
B
B
B
H
F
H
Şekil 6.6 G yönlendiricisindeki tablonun güncellenmesi
Bu teknikte, uzaklık vektörleri T milisaniyede bir komşulara gönderildiği için ağ
topolojisindeki bir değişikliğin (bir yönlendiricinin bozulması ya da bir hattın kopması)
diğer yönlendiricilere ulaşması, bozukluğun olduğu noktanın diğer noktalara olan
uzaklığı ile orantılı olarak değişim gösterir. Bilginin tüm düğümlere aynı anda ulaşma
imkanı yoktur. Bu da sonsuza sayma dediğimiz problemi ortaya çıkarır. Varsayalım ki,
ölçütümüz sekme sayısı ve ağımızdaki E yönlendiricisi bozuldu (Şekil 6.7).
10
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
1
B
C
1
1
1
A
1
G
1
1
F
1
1
H
D
1
1
E, BOZUK!
Şekil 6.7 Ağ üzerindeki E yönlendiricisinin bozulması ve sekme sayısının ölçüt olarak
kullanılması durumu
•
•
•
Bu bilgi ilk aşamada H, D ve F yönlendiricilerine ulaşacaktır. Bu yönlendiriciler
tablolarında ilgili alanı sonsuz yaparken G yönlendiricisi H’ye ‘ben E’ye 2
sekmede ulaşıyorum’ bilgisini içeren vektörünü gönderecektir (doğrudur, ölçüt
sekme sayısı olduğu için F üzerinden ulaşıyordur). H bu bilgiye güvenip
tablosunu E’ye G üzerinden 3 sekmede ulaşacak şekilde değiştirir.
Bir sonraki aktarımda F’den E’nin çöktüğü bilgisi G’ye ulaşır. Ancak H, G’nin
gönderdiği eski vektöre dayanarak E’ye 3 sekmede ulaşabileceğini bildirecektir.
Bu durumda G, H’den gelen vektöre güvenerek tablosunu E’ye 4 sekme ile
ulaşacak şekilde günceller.
Gecikme değeri hatalı olarak bu şekilde artmaya devam eder.
6.1.4 Hat Durumu Yönlendirmesi (Link State Routing)
Hat durumu yönlendirmesi de dinamik bir tekniktir. Amacı, toplojideki değişimlere
kolayca adapte olmak ve trafikteki değişimlere göre gerektiğinde alternatif yollar
bulmaktır. Hat durumu yönlendirmesini, en kısa yol bulma (Dijkstra) algoritmasının
uygulaması olarak da düşünebiliriz. Burada, yönlendiriciler bağlı oldukları hatlar
(komşuları ile aralarındaki) üzerindeki gecikmeleri gösteren verileri ağdaki tüm
yönlendiricilere ulaşması için gönderirler. Bu verileri alan yönlendiriciler ağ topolojisini
oluşturur ve diğer yönlendiricilere en kısa yoldan ulaşmak için bu topoloji üzerinde en
kısa yol algoritmasını çalıştırırlar. Uygun yolları belirlerler. Hat durumunu gösteren
paketler, en kolay taşkın yöntemi ile yayılabilir. Bu durumda paketlerin gereksiz yere ağ
içinde dolaşmasını önlemek için hat durumu paketlerinin üzerine yaş (sekme sayacı) alanı
koymak anlamlıdır.
Ağ üzerindeki trafik zamana bağımlı olarak değişim gösterebilir, yönlendiriciler bu
değişimleri yansıtmak için yeni hat durumunu paketleri yaratır ve gönderirler. Bu
11
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
durumda yeni paketlerin eskilerinden ayırt edilmesini sağlamak için paketlere sıra
numarası verilir. Bir yönlendiriciye ait daha güncel (daha büyük sıra numarasına sahip)
bir paket geldiğinde eski paket yok edilir. Sıra numarası ile ilgili olarak karşılaşılacak bir
problem sıra numarası bozulmasıdır. Örneğin iletimdeki bir hata sonucu sıra numarası
bozulur ve 1 sıra numarası 65’e dönüşürse, aynı düğüm tarafından gönderilen, 2 ile 65
sıra numarası arasındaki tüm hat durumu paketleri geçersiz sayılır. Bu tekniğe ait bir
diğer sorun ise: yönlendiricilerden bir bozulup tekrar düzeltildiğinde yarattığı hat durumu
paketlerı 0 sıra numarası ile başlar. Ne yazık ki, bu hat durumu paketi daha önce aynı
yönlendirici tarafından yaratılmış hat durumu paketlerinden daha düşük (veya eşit) sıra
numarasına sahip olduğu için diğer yönlendiriciler tarafından yok edilecektir.
--------
12
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bölüm 7:
ÇOĞAGÖNDERİM YÖNLENDİRMESİ,
GEZGİN DÜĞÜMLER İÇİN YÖNLENDİRME, ve
YAPISIZ AĞLARDA YÖNLENDİRME
Türkçe (İngilizce) karşılıklar
Çoğagönderim (multicast)
Yayın, Tümegönderim (broadcast)
Kapsayan ağaç (spanning tree)
Merkez temelli ağaç (core-based tree)
Seyyar (portable)
Gezgin (mobile)
Sabit (stationary)
Yapısız ağ (ad-hoc network)
Bölüm Hedefi
Bu bölümü bitirdiğinizde
• Kapsayan ağaç oluşturmayı,
• Çoğagönderim yönlendirmeyi,
• Gezgin düğümler için yönlendirmeyi,
• Plansız ağlar, ve
• Plansız ağlarda yönlendirmeyi
öğrenmiş olacaksınız.
Bu bölümün hedefi Bölüm 6’da incelenen yönlendirme algoritmalarının ötesinde, özel
durumlarda kullanılacak yönlendirme teknikleri/algoritmaları üzerinde durmaktır.
İncelenecek özel durumlar: çoğagönderim, gezgin düğümler ve yapısız (ad-hoc) ağlar
için yönlendirme olacak.
7.1 Kapsayan Ağaç Oluşturma
Kapsayan ağaç, bir çizge (ağın topolojik yapısı olarak düşünebiliriz) üzerindeki tüm
düğümleri içeren ve düğüm_sayısı-1 kenardan oluşan altçizgedir. Tüm düğümleri
içermesi nedeniyle kapsayan ağaç olarak adlandırılır. Kenarlar çif yönlü bağlantıları
gösterdiği ve yapı halka içermediği için bu ağaçlarda herhangi iki düğüm arasında sadece
tek bir yol bulunur.
Bu bölümde Kruskal tarafından geliştirilen en küçük kapsayan ağaç algoritması
açıklanacaktır. Kapsayan ağacın en küçük olarak adlandırılmasının nedeni kenarlar
seçilirken ağırlığı en kısa kenara öncelik verilmesindendir. Eğer kenar uzunluklarının bir
önemi yoksa, kenar uzunluklarını gösteren L matrisinde tüm kenarların uzunlukları 1
olarak gösterilebilir. Kruskal algoritması aşağıdaki gibidir:
1
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
function Kruskal(L[1..n, 1..n]) : array [1..n, 1..n]
{n düğüm sayısını verir}
array Agac[1..n, 1..n]
{seçilen kenarları saklar}
integer kenar
Kenarları uzunluklarına göre sırala
Agac ← 0
{Agac matrisinin tüm elemanlarına sıfır değeri verilir}
kenar ← 0
n küme yarat ve her birine bir düğüm koy
repeat
e ← {u, v}
{o ana kadar seçilmemiş en küçük kenarı seç}
u_kumesi ← bul(u) {u düğümünün bulunduğu kümeyi bul}
v_kumesi ← bul(v) {v düğümünün bulunduğu kümeyi bul}
if u_kumesi <> v_kumesi
then
{u ve v farklı kümelerden geliyor, halka olasılığı yok}
birleştir(u_kumesi, v_kumesi) {iki kümeyi birleştir}
Agac[u,v] = Agac [v,u] = L[u,v]
{bu kenarı ağaç kenarları
arasına ekle}
kenar ++
until (kenar = = n-1)
return Agac
Bu algoritma her düğümü öncelikle ayrı bir kümeye koyar daha sonra bu kümeler
arasındaki en kısa yolları seçerek bağlantı oluşturur ve aralarında bağlantı oluşan
kümelerin elemanlarını aynı kümeye koyar. Bu işlem tüm düğümler aynı kümede
toplanana ya da n-1 çift yönlü kenar seçilene kadar devam eder. Sonuçta seçilen kenarlar
en küçük kapsayan ağacı oluşturur. Kenarlar çift yönlü olduğu için (u ve v düğümleri
arasındaki kenar, hem u’dan v’ye hem de v’den u’ya bağlantı olduğunu gösterir) secilen
her bir kenar Agac matrisinde iki güncelleme gerektirir.
2
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
1
1
4
6
4
3
4
4
2
2
3
5
6
8
5
7
6
3
7
Şekil 7.1 En küçük kapsayan ağaç algoritması için topoloji örneği
Şekil 7.1’de verilen topolojiye Kruskal algoritması uygulandığında aşağıdaki adımlar
gerçekleşir:
1. adım
2.adım
3. adım
(1, 2) kenarı seçilir
(2,3) kenarı seçilir
(4,5) ya da (6,7) kenarları eşit uzunlukta, biri rastgele seçilir. Diyelim ki
(4,5) kenarı seçilir
4. adım
(6,7) kenarı seçilir
5. adım
(1,4) ya da (4,7) ya da (2,5) kenarı eşit uzunlukta biri rastgele seçilir.
Diyelim ki, (1,4) kenarı seçilir
6. adım
(4,7) ve (2,5) kenarları aynı uzunlukta, biri rastgele seçilir. Diyelim ki,
(2,5) kenarı seçilir ancak iki düğüm de aynı kümede olduğu için bu kenar
kabul edilmez.
7.adım
(4,7) kenarı seçilir
6 kenar seçildiği için işlem tamamlanır.
Seçilen kenarlar sonrasında oluşan kapsayan ağaç Şekil 7.2’de kalın kenarlarla
gösterilmiştir.
3
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
1
1
4
6
4
3
4
4
2
2
3
5
6
8
5
7
6
3
7
Şekil 7.2 Örnek topoloji üzerindeki ek küçük kapsayan ağaç
7.2 Çoğagönderim Yönlendirme
Tümegönderim ve çoğagönderim bilgisayar haberleşmesinde sıkça karşılaşılan
durumlardır. Tümegönderim de hedeflenen bir paketin/verinin bir ağdaki/altağdaki tüm
bilgisayarlara iletilmesidir. Çoğagönderim ise bir paketin/verinin belli bir grup
bilgisayara iletilmesidir. Tümegönderim tüm bilgisayarları hedef aldığı için
gerçeklenmesi daha kolaydır.
Verinin birden fazla bilgisayara iletilmesi durumunda kaçınılması gereken en önemli
nokta aynı verinin aynı hatlar üzerinden tekrar tekrar aktarılmasıdır. Bu durum ağ
kaynaklarının verimsiz kullanımına yol açar. Yapılması gereken: kaynak ve varış
noktaları arasında ortak yollar oldukça, bu yollar üzerinde aynı verinin tek bir kez
aktarılmasını ve gerek duyuldukça verinin kopyalanmasını sağlamaktır. Bu durum Şekil
7.3’de açıklanmıştır.
4
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
C (varış)
(kaynak)
A
B
D (varış)
E
I
F(varış)
G
H (varış)
(a) Grubun her elemanı için bir paket yaratma durumu (1. sekme)
C
A
B
D
E
I
F
G
H
(b) Grubun her elemanı için bir paket yaratma durumu (2. sekme)
5
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
C
(varış)
(kaynak)
A
B
D (varış)
E
I
F (varış)
G
H (varış)
(c) Çoğagönderim ağacı üzerinde en az paket yaratma durumu (1. sekme)
C
A
B
(kopyala)
D
E
I
F
G (kopyala)
H
(d) Çoğagönderim ağacı üzerinde en az paket yaratma durumu ( kopyalama ve 2. sekme)
Şekil 7.3 Çoğagönderim paketlerinin iletimi (iki durum için)
Çoğagönderim, grup yönetimi gerektirir. Verinin iletilecegi bilgisayarlar/düğümler/
kullanıcılar bir grup oluşturur. Gruba yeni elemanlar katılması ya da varolan bir elemanın
ayrılması durumunda gerekli güncellemelerin yapılması gerekir. Yönlendiriciler de
kendilerine bağlı düğümlerin hangi gruplarda yer aldıklarını bilmelidirler. Bu işlem
düğümlerin yönlendiricileri bilgilendirmesi ya da yönlendiricilerin periyodik olarak
6
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
sorgulaması ile gerçeklenir. Yönlendiriciler tarafından elde edilen bilgiler komşu
yönlendiricilerle paylaşılır. Böylece gruplara ait bilgiler ağ içinde yayılır.
Çoğagönderim yönlendirmesi yapmak için her yönlendirici diğer yönlendiricileri içeren
bir kapsayan ağaç oluşturur. Daha sonra belli bir gruba bu kapsayan ağaç üzerinden
erişmek için gerekli olmayan tüm yollar budanır ve kullanılacak yollar bulunur. Örneğin
Şekil 7.4’te gösterilen ağ üzerinde iki çoğagönderim grubu olsun (grup 1 ve grup 2).
Şekildeki ağ üzerinde ilgili yönlendiriciler 1 ve 2 ile belirtilmiştir (Şekil 7.4(a)). Kaynak
düğümün en üst sol köşedeki düğüm olduğunu düşünürsek, diğer düğümlerin altısı
birinci çoğagönderim grubu ile, beşi ikinci çoğagönderim grubu ile ilgilidir. Bu durumda
kaynak düğümden her iki grubun yönlendiricilerini içeren kapsayan ağaç Şekil 7.4(b)’de,
sadece birinci grubun yönlendiricilerini içeren kapsayan ağaç Şekil 7.4(c)’de, sadece
ikinci grubun yönlendiricilerini kapsayan ağaç ise Şekil 7.4(d)’de verilmiştir.
Şekil 7.4 İki çoğagönderim grubuna sahip ağ. [1]’den alınmıştır.
Kapsayan ağaçlar tüm düğümleri içerir oysa ki biz, her bir çoğagönderim grubu için bir
kapsayan ağaç oluşturmak ve bu ağacında grubun üyelerini içermesini istiyoruz. Bu
durumda gereksiz kenarların kesilerek (bu işleme budama denir) ağacın küçültülmesi
anlamlıdır. Kapsayan ağacın budanması (pruning) için pek çok yöntem kullanılabilir.
Bunların en basiti hat durumu yönlendirmesinde görülür. Çünkü bu teknik her düğümde
tüm topolojinin yaratılmasını sağlar. Budama işlemi kaynağa uzak düğümlerden kaynağa
doğru yapılır. Dikkat edilmesi gereken bir diğer nokta ise bazı düğümlerin çoğagönderim
grupları içinde yer almamasına karşın grubun uzaktaki elemanlarına ulaşmak için
kapsayan ağaca dahil edilmesidir. Şekil 7.4(c)’de görüldüğü gibi.
7
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Uzaklık vektörü yönlendirmesinde ise kapsayan ağacı budamak için dağıtılmış bir teknik
kullanılır. Bu teknikte herhangi bir yönlendirici kendisinin ya da komşularının yer
almadığı bir çoğagönderim grubuna ait bir mesaj aldığında o mesaji gönderen
yönlendiriciye budama mesajı gönderir. Budama mesajını alan yönlendirici o mesajı
gönderen yönlendiriciye ait hattı budar.
Her yönlendiricinin, her grup için bir kapsayan ağaç oluşturması durumunda, ağdaki
düğüm ve grup sayısına bağlı olarak gerekli bellek kapasitesi ciddi bir şekilde artabilir.
Bu sorunu çözmek için, merkez temelli ağaç (core-based tree) tekniği önerilmiştir. Bu
teknik ile her çoğagönderim grubu için tek bir ağaç oluşturulur. Bu ağacın kökü (merkezi)
olarak, gruptaki tüm yönlendiricilere eşit uzaklıkta bir yönlendirici seçilir. Her zaman bu
kriterin tam olarak sağlanması mümkün olmayabilir, ancak önemli olan merkez
yönlendirici ile diğer yönlendiriciler arasında dengeli bir uzaklığın olmasıdır. Gruba
mesaj göndermek isteyen yönlendirici, mesajını merkez yönlendiriciye gönderir ve mesaj
merkez yönlendiriciden diğer yönlendiricilere yayılır. Bu durumda, ağ üzerindeki herbir
çoğagönderim grubu için tek bir ağaç oluşturulur.
7.3 Gezgin (Mobile) Düğümler için Yönlendirme
Gelişen teknoloji ile pek çok insan seyyar (portable) bilgisayarları ile dolaşmakta ve
gittikleri yerlerden kendilerine gelen e-posta mesajlarını okumak, kendi dosyalarına
erişmek istemektedir. Günümüzde bu, bir sunucuya bağlanmak şeklinde
gerçeklenmektedir. Üzerinde çalışılan konulardan biri de benzeri durumlarda mesajların
doğruca ilgili bilgisayara iletilmesi içindir. Cep telefonlarında olduğu gibi. Bu durum için
örnek bir ortam Şekil 7.5’te verilmiştir.
Şekil 7.5 Yerel alan ağlarının, telsiz ağların bağlı olduğu bir geniş alan ağı. [1]’den
alınmıştır.
Hiç hareket etmeyen bilgisayarları sabit (stationary) olarak adlandırıyoruz. Gezgin
bilgisayarları ise iki grupta toplayabiliriz. Bunların biri sistem değiştiren (migratory)
8
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
bilgisayarlar grubu, diğeri ise dolaşan (roaming) bilgisayarlar grubudur. Sistem
değiştiren gezgin bilgisayarlar, gidilen yerdeki bilgisayar ağını kullanırlar ve kullanım
sırasında hareketli değildirler. Dolaşan gezgin bilgisayarlar ise, devamlı hareket
halindedir ve bu sırada haberleşme ağına erişmek ihtiyacındadırlar.
Bu yaklaşımda, tüm bilgisayarların değişmez bir adresi, ev yeri (home location) olduğu
kabul edilmektedir. Telefon numaralarımız ev yeri için iyi bir örnek oluşturur.
Şekil 7.5’teki gibi dünyanın coğrafi olarak küçük birimlere (alanlara) bölündüğünü
düşünebiliriz. Bu birimler yerel alan ağları, telsiz ağların kapsadığı alanlar, ... olabilir. Bu
alanlara kayıtlı, yani orayı ev yeri olarak kullanan bilgisayarlar (düğümler) olduğu gibi,
bu alanlarda dolaşan ziyaretçi (visiting) bilgisayarlar da olabilir. Bu alanlarda ziyaretçi
bilgisayarlarla ilgili bir ya da birden fazla yabancı ajan (foreign agent) bulunur. Bu
ajanların görevi ziyaretçi bilgisayarları algılamak ve onlarla ilgili işlemleri yapmaktır.
Benzer şekilde, bir alana ait bilgisayarların diğer alanlardaki varlıkları ile ilgili kayıtları
tutan ev ajanları (home agents) da vardır.
Yeni bir bilgisayar (birim) ev alanından farklı bir alana girerse öncelikle o alana
kaydolmalıdır. Kayıt işlemi aşağıdaki gibidir:
1) Periyodik olarak her yabancı ajanı kendi alanına giren ziyaretçi bilgisayarları
belirlemek için paket yayar. Bazı durumlarda, ortamda yabancı ajanı olup olmadığı
ziyaretçi bilgisayarlar tarafından da sorgulanabilir
2) Ziyaretçi bilgisayar kendini yabancı ajanına kaydettirir. Adresini, ortama erişim için
gerekli verileri ve güvenlik bilgilerini aktarır.
3) Yabancı ajanı, ziyaretçi bilgisayarın ev ajanı ile bağlantı kurar ve onu ziyaretten
haberdar eder. Bu bilgileri güvenilir kılmak için gerekli güvenlik kodlarını ekler.
4)İlgili ev ajanı, gelen verileri inceler, uygun görürse yabancı ajanın işleme devam
etmesine izin verir.
5) Yabancı ajanı gerekli izni alınca ziyaretçi bilgisayarı kendi tablosuna kaydeder.
Gezgin bilgisayarlara gönderilmek istenen veri öncelikle onların ev adreslerine gider.
Şekil 7.6’da bu konuyu açıklayan bir örnek verilmiştir.
9
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 7.6 Gezgin bilgisayarlar için paket yönlendirmesi. [1]’den alınmıştır.
Bu örnekte gezgin bilgisayarın ev yeri New York’tur ve Seattle’daki bir bilgisayardan
ona veri göndermek istenmektedir. Ancak bu sırada gezgin bilgisayar Los Angeles’dadır.
Paketler öncelikle gezgin bilgisayarın ev yerine gelir ve buradan gezgin bilgisayarın
geçici adresi öğrenilir.
Bu işlem sırasında ev ajanı, gezgin bilgisayar için gelen paketleri kapsülleyerek Los
Angeles’taki yabancı ajanına gönderir. Bu ajan gerekli kapsülleri açarak veriyi gezgin
bilgisayara ulaştırır.
Bunun yanı sıra, ev ajanı, gönderen bilgisayara, paketleri kapsülleyerek Los Angeles’taki
yabancı ajanına göndermesini de bildirir. Bu durumda paketler boş yere New York’a
gönderilmezler, kapsüllenerek doğrudan gezgin bilgisayarın geçiçi adresine gönderilirler.
7.4 Yapısız (Ad Hoc) Ağlarda Yönlendirme
Telsiz ortamlarda baz istasyonunun varsa tüm haberleşme baz istasyonu (bazen erişim
noktası, access point, olarak da adlandırılır) üzerinden aktarılır. Diğer durumlarda ise
bilgisayarlar çevrelerindeki bilgisayarlara doğrudan veri gönderilerek bir haberleşme ağı
yaratabilirler. Bu durumda veri bir bilgisayardan diğerine geçerek ilerler. Bu presip
üzerine kurulmuş ağlara yapısız ağlar (ad hoc networks) denir. Pek çok ortam yapısız
ağların kullanımı için uygun olabilir. Bunları:
• hareketli araçların oluştuduğu bir savaş ortamı,
• denizdeki bir filo,
• deprem sonrasında ilkyardım hizmeti verilen bir ortam
olarak sıralayabiliriz.
10
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bu durumda her bilgisayar hem yönlendirici hem de konak (host) görevini üstelenir. Bu
ağlara MANET’ler (Mobile Ad hoc NETworks) de denir. Yapısız ağlarda hem kullanıcılar
hem de yönlendiriciler hareketli olduğu için sabit bir topoloji yoktur. Zaman içinde
düğümlerin komşuları değişir. Bu nedenle klasik telli ağlarda kullanılan teknikler yapısız
ağlarda kullanılmaz.
Yapısız ağlar için önerilmiş yönlendirme algoritmalarından biri AODV (Ad hoc Ondemand Distance Vector) yönlendirme algoritmasıdır. Bu teknik, ortamdaki düşük bant
genişliğini ve kısa ömürlü pilleri göz önüne alır. Bu tekniğin bir diğer özelliği de
gönderilecek bir paket olduğunda yol bulma çalışmalarının yapılmasıdır.
Bu ağlarda iki bilgisayar birbirlerinin kapsama alanına giriyorsa komşu olarak
görülmektedir. Yani aralarında bir hat (bağlantı) varmış gibi düşünülebilir. İki
bilgisayardan biri diğerinden daha güçlü bir vericiye sahipse bu bağlantı tek yönlü de
olabilir. Genelde çalışmalarda, kolaylık olması amacıyla, tüm vericilerin güçlerinin eşit
olduğu varsayılır. Ancak bilgisayarların kapsama alanları içinde olmaları onların
haberleşebileceği anlamına gelmez. Aralarında binalar, dağlar vb gibi haberleşmeyi
engelleyici unsurlar olabilir.
Yönlendirme algoritmasının çalışmasını Şekil 7.7’yi takip ederek daha iyi anlayabiliriz.
Şekildeki A düğümünün, I düğümüne bir paket göndermek istediğini düşünelim. AODV
algoritması her düğümde bir tablo oluşturur. Bu tabloda hangi varış noktasına hangi
komşu düğüm üzerinden erişileceği bilgisi vardır. A’nın tablosunda I’ya nasıl erişileceği
hakkında veri bulunmadığını varsayalım. Bu durumda A, I’ya ulaşmak için bir yol
bulmalıdır. Yol bulma girişimi, bir istek mesajı ile yapılır.
Şekil 7.7 Yapısız ağlarda yönlendirme. [1]’den alınmıştır.
I’nın yerini öğrenmek için, A, ROUTE REQUEST paketi oluşturur ve yayar (broadcast).
Bu paket Şekil 7.7’de görüldüğü gibi B ve D’ye ulaşır.
11
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
ROUTE REQUEST paketinin yapısı Şekil 7.8’de verilmiştir. Bu paket kaynak ve varış
adreslerinin (Source address, Destination address) yanı sıra istek-numarası (Request ID)
olarak adlandırılan bir alana sahiptir. Bu yerel bir sayaçtır ve her düğümde saklanır. Bu
sayaç her ROUTE REQUEST mesajı ile bir arttırılarak gönderilir. Böylece kaynak-adresi
ve istek-numarası alanlarındaki değerler ROUTE REQUEST paketlerini tanımlar ve
birbirleri ile karışmamasını sağlar. Bu durumda, aynı paketten bir tane daha geldiğinde
ikinci paket hemen silinir.
İstek-numarası sayacı dışında, her düğüm ikinci bir sıralama-sayacı (sequence counter)
tutar. Bu sayaç ne zaman birinin isteğine cevap göderilse bir arttırılır. ROUTE
REQUEST paketindeki dördüncü alan kaynağın sıralama-sayacını saklar. Beşinci alan ise
A’nın I’nın sıralama sayacını en son gördüğü değerdir (hiç görmediyse sıfırdır). Sekmesayacı (hop count) paketin kaç kez sektiğini gösterir. İlk yaratıldığında sıfırdır.
Şekil 7.8 (5.21) ROUTE REQUEST paketinin yapısı. [1]’den alınmıştır.
ROUTE REQUEST paketini alan bir düğüm aşağıdaki adımları tamamlar:
1) (kaynak-adresi, istek-numarası) yerel geçmiş tablosunda (history table) aranır
(daha önce görülmüş ve cevaplanmış olup olmadığını anlamak için). Eğer tekrar
gelmiş bir mesaj ise silinir. Aksi halde (kaynak-adresi, istek-numarası) geçmiş
tablosuna yazılır ve işleme devam edilir.
2) Mesajı alan düğüm yönlendirme tablosundan varışa daha yeni bir yol bilip
bilmediğini kontrol eder. Biliyorsa ROUTE REPLY paketi yaratılır kaynağa bu
bilgi gönderilir. Yolun yeni olup olmadığını anlamak için paketteki varış-sıranumarası ile tablodaki varış-sıra-numarası karşılaştırılır. Daha yeni yol tablodaki
varış-sıra-numarasının pakettekinden büyük ya da eşit olması ile anlaşılır. Eğer
daha küçükse kaynağın yol bilgisinin daha güncel olduğu anlaşılır ve 3. adıma
geçilir.
3) Paketi alan düğüm daha yeni bir yol bilmediği için sekme-sayacını bir arttırır ve
ROUTE REQUEST paketini tekrar yayar. Ayrıca paketteki verilerin bir kopyasını
dönüş-yönlendirme-tablosuna (reverse routing table) yazar. Gelen cevabı
kaynağa iletebilmek için. Şekil 7.7’deki oklar dönüş yönlendirmesi için
kullanılırlar.
Örneğimize geri dönersek ne B ne de D, I’nın yerini bilmektedir. Her biri A’ya geri
dönmeyi sağlayacak dönüş-yolu bilgisini saklar, sekme sayacını 1 yapar ve paketi tekrar
yayarlar (broadcast). B’nin yaydığı paket C’ye ve D’ye ulaşır. D paketi ikinci kez aldığı
için siler. Aynı şekilde D’nin yaydığı paketi de B siler. Ancak D’nin yaydığı paket F ve G
tarafından kabul edilir ve saklanır (Şekil7.7(c)). E, F ve I’da yayılan ROUTE REQUEST
mesajı varış noktasına erişmiş olur. Dikkat edileceği gibi farklı düğümlerin yaydığı
mesajlar bir koordinasyon gerektirmemektedir.
12
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Gelen pakete cevap olarak I, ROUTE REPLY paketi yaratır. Bu paketin yapısı Şekil
7.9’da verilmiştir. Kaynak-adresi, varış-adresi, sekme-sayacı gelen mesajdan kopyalanır.
Varış-sıra-numarası I’nın sıralama-sayacından okunur. Sekme-sayacı, 0 yapılır. Yaşam
süresi (lifetime) alanı yolun ne süredir geçerli olduğunu tutar. Yaratılan paket ROUTE
REQUEST paketinin geldiği düğüme (G) gönderilir. Oradan dönüş yolu bilgisini
kullanarak D’ye oradan da A’ya gönderilir. Her düğümde sekme sayacı bir arttırılır.
Şekil 7.9 ROUTE REPLY paketinin yapısı. [1]’den alınmıştır.
Geri dönüş yolu üzerinde her bir düğüm gelen mesaji inceler ve bulunan yol yerel
yönlendirme tablosuna I’ya ulaşılacak yol olarak girilir. Bunun gerçekleşmesi için
aşağıdaki durumlardan birinin sağlanması gereklidir:
1) I’ya ulaşmak için bir yol bilinmiyorsa,
2) ROUTE REPLY paketi üzerindeki sıra numarası yerel yönlendirme tablosundakinden
daha büyükse,
3) Sıra numaraları eşit ancak yeni yol daha kısa ise (Sekme-sayacına bakılarak anlaşılır).
Bu şekilde dönüş yolu üzerindeki tüm düğümler I’ya nasıl erişileceğini öğrenmiş ve
tablolarını güncellemiş olurlar. ROUTE REQUEST paketini almış ancak dönüş yolu
üzerinde olmayan düğümler (B, C, E, F, H) belli bir süre sonra dönüş-yönlendirmetablolarındaki ilgili kayıtları silerler.
Bu teknikte pek çok yayın (broadcast) yapılır. Yayınların sayısını düşürmek için IP
paketlerinde olduğu gibi yaşam-süresi (Time to Live) alanı kullanılır ve kaynak tarafından
belli bir değer verilir. Bu değer her sekmede azaltılır sıfıra erişince paket silinir. Böylece
paketlerin sekme sayısı belirlenmiş bir alanın dışına yayılması engellenmiş olur.
7.4.1. Yolların güncellenmesi
Yapısız ağlarda düğümler gezgin olduğu ve bazı düğümlerin zaman içinde enerjisi bittiği
için topoloji anlık değişimler gösterebilir. Eğer Şekil 7.7’deki G düğümünün enerjisi
biterse, A düğümü I’ya ulaşmak için kullanacağı yolun (ADGI) artık aktif olmadığının
farkına varamaz. Bu gibi sorunları çözmek için, düğümler periyodik olarak hello mesajı
yayarlar ve komşularının bu mesaja cevap vermesini beklerler. Gelen cevaplar komşu
düğümlerin hangileri olduğunu gösterir. Daha önce komşu olan bir düğümden cevap
gelmemesi o düğümün yerinin değiştiğini ya da enerjisinin bittiğini gösterir. Bu veriler
doğrultusunda yönlendirme tabloları güncellenir.
Ağdaki her düğüm, her varış noktası için, ΔT süre içinde kendisine paket gönderen
düğümleri kaydeder. Bu düğümler o varış noktasına ulaşmada düğümümüzün aktif
komşuları (active neighbours) olarak bilinirler. Belli bir varış düğümüne erişmek için
takip edilecek düğüm, sekme sayısı, o varışa ait aktif komşular, en yeni varış sıra
13
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
numarası bir tabloda varış adresine göre indekslenerek tutulur. D düğümü için olası bir
yönlendirme tablosu Şekil 7.10(a)’da verilmiştir.
Şekil 7.10 a) D için olası yönlendirme tablosu, G varken, b) G düğümünden sonra
topoloji. [1]’den alınmıştır.
Bir düğümün komşularından biri erişilmez hale gelince (yer değiştirme ya da pil
bitmesine bağlı olarak yok-olma) o düğümün tablosunun güncellenmesi gerekir. Bu
düğümün hangi yollar üzerinde olduğu incelenir ve bu yollara ait aktif komşulara bilgi
verilir. Bu durumda yok-olan düğüme ait verilerin tablolardan çıkarılması gerekir. Aktif
komşular bu bilgiyi kendi aktif komşularına iletirler. Böylece haber ağ içinde yayılır.
Örnek olarak, G’nin enerjisinin bittiğini düşünelim. Değişen topoloji Şekil 7.10(b)’de
verilmiştir. D, G’nin yok olduğunu anlayınca yönlendirme tablosunu kontrol eder ve E, G
ve I’ya erişimin bu durumdan etkilendiğini fark eder. Bu durumdan etkilenen aktif
komşular A ve B’dir. D onlara paket göndererek bilgilendirir ve E, G ve I’ya ait satırları
tablosundan siler.
AODV’de tabloların düğümler arasında gönderilmesi gibi işlemler yoktur. Çünkü bu
işlemlerin enerji gereksinimi fazladır ve düğümün enerjisinin bitmesine yol açarlar. Bu
nedenle mümkün olduğunca kısa ve az mesaj gönderilmesi hedeflenir.
14
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bölüm 8 :
PROTOKOLLER VE KATMANLI YAPI: OSI, TCP/IP REFERANS
MODELLERİ.
Türkçe (İngilizce) karşılıklar
Servis Kalitesi (Quality of Service, QoS)
Uçtan-uca (end-to-end)
Düğümden-ağa (host-to-network)
Bölüm Hedefi
Bu bölümü bitirdiğinizde
• Katmanlı yapı nedir
• OSI Referans modelini ve
• TCP/IP referans modelini
öğrenmiş olacaksınız.
8.1 OSI Referans Modeli
Haberleşme ağları karmaşık bir yapıya sahiptir. Ortamın fiziksel olarak yaratılması, bu
ortam üzerinde veri aktarımı için gerekli kodlamanın yapılması, paketlerin oluşturulması,
paketlerin varış noktasına yönlendirilmesi, veri aktarımı sırasında oluşan tıkanıklıkların
giderilmesi, ağdaki bir hattın ya da birimin bozulması durumunda alternatif yolların
bulunması, paketlerin birleştirilmesi, hataların farkedilmesi/düzeltilmesi, verinin bir
uygulama protokolü aracılığı ile kullanıcıya sunulması .... gibi pek çok karmaşık işlemin
yapılması gerekir. Bunların hepsi haberleşme donanımı üzerinde çalışan haberleşme
yazılım programları ile gerçeklenir. Bu işlemleri bir düzen içinde gerçeklemek için ISO
(International Standards Organization) tarafından Şekil 8.1’de görülen OSI (Open
Systems Interface) Referans Modeli önerilmiştir.
7.
Uygulama Katmanı
(Application Layer)
6.
Sunum Katmanı
(Presentation Layer)
5.
Oturum Katmanı
(Session Layer)
4.
Ulaşım Katmanı
(Transport Layer)
3.
Ağ Katmanı
(Network Layer)
1
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
2.
Veri bağı Katmanı
(Data Link Layer)
1.
Fiziksel Katman
(Physical Layer)
Şekil 8.1 OSI Referans Modeli
OSI referans modeli yedi katmandan oluşmuştur. Her katmanda, aktarılan veri farklı bir
isim alır (Şekil 8.2’de gösterildiği gibi). Alt katmanlarda bit katarı, çerçeve, paket gibi
isimler verilirken, üst katmanlara gidildikçe isimlendirme ulaşım katmanı protokolü veri
birimi (Transport Protocol Data Unit - TPDU) gibi katmana özel hale gelir.
Uygulama
Sunum
Uygulama
APDU
Sunum
PPDU
Oturum
Oturum
SPDU
Ulaşım
TPDU
Ulaşım
Ağ
Paket
Ağ
Veri bağı
Çerçeve
Veri bağı
Fiziksel
Bit katarı
Fiziksel
Şekil 8.2 Katmanlara göre taşınan verinin isimlendirilmesi
Bu katmanların görevi aşağıdaki gibidir.
8.1.1 Fiziksel Katman:
Verinin fiziksel (bakır tel, optic lif, hava…) ortamda taşınması için gerekli yapıyı,
kodlamayı oluşturur. Bu katman için veri bir bit katarı (dizisi) demektir. Ortamda
kullanılacak kablo standartları, gerilim seviyeleri, işaret şekilleri, işaret hızları, örnekleme
hızı, bit süresi bu katmanın bilgisindedir. Hat üzerinden aktarılacak 0/1’lerin fiziksel
2
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
olarak ne şekilde ifade edileceği bu katmanın görevidir. Taşıma ortamına göre
kullanılacak yöntemler de değişim gösterir.
8.1.2 Veri Bağı Katmanı:
Bu katmanda hat kavramı oluşmaya başlar. Katmanın amacı verinin bir noktadan bir
sonraki noktaya ulaştırılmasıdır. Bu katmanda veri çerçeve adı verilen bloklara bölünür.
Hat üzerinden aktarım sırasında oluşan hataların sezilmesi bu katmanın görevidir. Hattın
iki ucundaki birimin aynı hızlarda çalışmasını ayarlamak da bu katmanın görevidir. İletim
ortamına erişim bu katman tarafından organize edilir.
8.1.3 Ağ Katmanı:
Bu katmanda taşınan veri paket adını alır. Verinin kaynaktan varışa ulaşması için takip
edeceği yolun bulunması bu katmanın görevidir. Veri aktarımı sırasında bazı düğümler
(yönlendiriciler) üzerinde tıkanıklıklar olabilir. Bunların sezilmesi ve gerekli önlemlerin
alınması da ağ katmanının görevidir. Bunları servis kalitesini (Quality of Service, QoS)
arttırıcı görevler olarak da adlandırabiliriz. Heterojen altağların bulunduğu bir ortamda,
altağlardan geçiş sırasında adresleme, paket boyu farklılığı gibi problemler bu katmanda
çözülür.
8.1.4 Ulaşım Katmanı:
Bu katman, kaynak tarafında, oturum katmanından aldığı veriyi paketlere böler. Varış
tarafında ise gelen paketleri birleştirerek oturum katmanına iletir. Bölünen verinin
numaralandırılması ve varış noktasında karışmış paketlerin tekrar sıralanması, yolda veri
üzerinde oluşmuş hatalarla ilgili işlemlerin yapılması bu katmanın görevidir. Ulaşım
katmanı uçtan-uca çalışır. Bu da kaynak ve varış düğümlerinde etkinlik göstermesi
anlamına gelmektedir.
8.1.5 Oturum Katmanı:
Bu katman yardımı ile farklı bilgisayarlardaki kullanıcılar arasında oturumlar kurulması
sağlanır. Bu işlem oturumların kurulmasını, yönetilmesini ve bitirilmesini içerir.
İletişimin kopması durumunda oturumun devam etmasi için eşzamanlama
(synchronization) bilgileri tutulur. Oturumlara farklı kalitede servisler de sunabilir.
8.1.6 Sunuş Katmanı:
Bu katmanda iletilecek verinin yapısı belirtilir. İletilecek veri karakter şeklinde ifade
edilecekse hangi formatın (EBCDIC, ASCII, ...) kullanılacağını belirtmek, ya da format
dönüşümleri bu katmanın işidir. Uygulamaya bağlı olarak verinin sıkıştırılması/açılması,
şifrelenmesi/çözülmesi yine bu katmanın görevleri arasındadır.
8.1.7 Uygulama Katmanı:
3
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Uygulama katmanı, uygulama protokolleri yardımı ile ağa erişmek için gerekli alt yapıyı
sağlar. HTTP (HyperText Transfer Protocol), Telnet, FTP, ... uygulama protokollerinden
birkaçıdır.
8.1.8 Katman Bazında Düğümler Arasındaki İlişki:
Şekil 8.3 katman bazında düğümler arasındaki ilişkiyi gösterir.
Şekil 8.3 OSI Referans Modeline göre katman bazında düğümler arasındaki ilişki.
[1]’den alınmıştır.
8.2 TCP/IP Referans Modeli
Bir başka referans modeli de TCP/IP’dir. Bu modelin temelini ABD Savunma Bölümü
tarafından desteklenerek geliştirilen ARPANET oluşturur. ARPANET’te amaç heterojen
(telli, telsiz) altağların oluşturduğu bir ortamda kesintisiz bir bağlantı oluşturmaktı. Önem
verilen bir diğer nokta ise bazı hatların kopması ya da düğümlerin bozulması sonrasında
bile alternatif yolların bulunarak bağlantıların yaşatılmasını sağlamaktı. TCP/IP referans
modelinin yapısı Şekil 8.4’te verilmiştir.
4
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Uygulama
(Application)
Ulaşım - TCP/UDP
(Transport)
Internet
Düğümden-Ağa
(Host-to-Network)
Şekil 8.4 TCP/IP Referans modeli
TCP/IP referans modelindeki katmanların açıklaması aşağıdaki gibidir:
TCP/IP protokolünde düğümden-ağa katmanı hakkında fazla birşey söylenmez. Bu
katmanın amacı düğüm ile ağ arasında IP paketlerini gönderecek bir bağlantının
kurulmasıdır.
Internet katmanı bir paket yapısı ve IP (Internet Protocol) adı verilen protokol tanımlar.
Paketlerin oluşturulması, yönlendirilmesi, ortamdaki tıkanıklıkların giderilmesi bu
protokolün görevidir.
Internet katmanının üzerinde ulaşım katmanı çalışır. Ulaşım katmanında kullanılmak
üzere iki uçtan-uca protokol tanımlanmıştır. Bu protokoller: TCP (Transmission Control
Protokol) ve UDP’dir (User Datagram Protocol).
TCP/IP referans modelinde de uygulama katmanı tanımlanmıştır. Bu katman OSI
referans modelinde olduğu gibi, ağa erişmek için gerekli uygulama protokollerini içerir.
OSI ve TCP/IP referans modellerinin karşılaştırılmasını Şekil 8.5’te bulabilirsiniz.
Şekilde de görüldüğü gibi TCP/IP referans modeli sunuş ve oturum katmanlarına sahip
değildir. OSI referans modelindeki veri bağı katmanı ve fiziksel katmanın işlevleri,
TCP/IP referans modelinde düğümden-ağa katmanında gerçeklenmiştir.
5
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 8.5 OSI ve TCP/IP referans modellerinin karşılaştırılması. [1]’den alınmıştır.
TCP/IP modeli ilk önerildiğinde içinde yeralan protokoller ve ağlar aşağıdaki şekilde
gösterilmiştir.
Şekil 8.6 TCP/IP ile ilgili protokoller ve ağlar (ilk önerildiğinde). [1]’den alınmıştır.
6
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bölüm 9 : IP PAKET YAPISI ve IP ADRESLEME
Türkçe (İngilizce) karşılıklar
Satır (word in IP)
Tanıtıcı (identification)
Parça no (Fragment offset)
Yaşam süresi (Time-to-live)
Başlık sınaması (Header checksum)
Noktalı ondalık gösterim (dotted decimal notation)
Döngü sınaması (Loopback test)
Bölüm Hedefi
Bu bölümü bitirdiğinizde
• IP datagram yapısını
• IP adreslemeyi ve
• IP yönlendirmeyi
öğrenmiş olacaksınız.
9.1 IP Paket (Datagram) Yapısı
Şekil 9.1’de bir IP Sürüm 4 (v4) paketinin yapısı gösterilmiştir. IP paketlerine datagram
da denir.
1
4
Sürüm
(Version)
8
Başlık
Uzunluğu
(IHL)
16
Servis Tipi
(Type of Service)
Tanıtıcı
(Identification)
Time to Live
(Yaşam Süresi)
24
32
Toplam Uzunluk
(Total Length)
D
F
Parça No
(Fragment offset)
M
F
Başlık Sınaması
(Header Checksum)
Protokol
Kaynak Adresi
(Source Address)
Varış Adresi
(Destination Address)
Seçenekler (0 veya daha fazla satır)
(Options)
Veri
(Data)
Şekil 9.1 IP paket yapısı
1
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
IP paketlerini 32 bitlik satırlar (words) halinde düşünebiliriz. Paketteki bazı alanların
içeriği açıktır. Diğerleri için bu bölümde kısa açıklama yapılacaktır:
Başlık uzunluğu satır cinsinden verilir. En kısa başlık beş satır uzunluğundadır. Servis tipi
paketin servis sınıfını belirtir. Toplam Uzunluk başlık ve verinin toplam uzunluğunu byte
cinsinden verir. Tanıtıcı parçalanmış IP datagramlarının birleştirilmesinde yardımcı olur.
DF (Don’t Fragment) biti datagramın parçalanmaması gerektiğini gösterir. MF (More
Fragments) biti arkadan aynı datagrama ait başka bir parça gelip gelmediğini gösterir.
Son parça dışındaki tüm parçalarda 1 değerine sahiptir. Parça No (bazen parka kayıklığı
olarak da adlandırılır) ilgili parçanın bütündeki yerini gösterir. Yaşam Süresi alanındaki
değer her sekmede bir azaltılır. Değer sıfıra eriştiğinde paket hala varış düğümüne
ulaşmadıysa yok edilir. Protokol alanı hangi ulaşım protokolünün kullanıldığını gösterir.
Başlık Sınaması başlıktaki hataları farketmek için kullanılır. Hatalı bir başlığa sahip olan
paket yok edilir. Seçenekler alanı protokolün daha sonraki sürümlerine kolaylık tanımak
için tasarlanmıştır. Sürüm 4 için planlanan seçenekler güvenlik, kaynak yönlendirme,
yolun kaydedilmesi, zaman bilgilerinin tutulması içindir. İlgili bilgiler gerektiğinde
seçenekler bölümüne eklenir.
9.2 IP Adresleme
IP adresleri 32 bitten oluşur. Bu adresler, genelde, 8 bitlik gruplar halinde noktalarla
ayırarak gösterilir.
- - - - - - - -.- - - - - - - -.- - - - - - - -.- - - - - - - - şeklindedir.
Bu durumda noktalarla ayrılmış her grup 0 ile 255 arasında değer alabilir. Buna noktalı
ondalık gösterim (dotted decimal notation) de denir.
IP adreslerini, Şekil 9.2’de gösterildiği gibi, beş sınıfa ayırabiliriz.
bitno 0
Sınıf
A
0
B
10
C
110
8
16
Ağ
24
31 IP adresi (32 bit)
1.0.0.0
127.255.255.255
arası
Düğüm
Ağ
128.0.0.0
191.255.255.255
arası
Düğüm
Ağ
Düğüm
192.0.0.0
223.255.255.255
arası
2
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
D
E
1110
11110
Çoğa Gönderim Adresleri
Gelecekteki Uygulamalar İçin Ayrılmış Adresler
224.0.0.0
239.255.255.255
arası
240.0.0.0
247.255.255.255
arası
Şekil 9.2 IP adres formatı
Her adres sınıfı özel bir bit dizisi ile başlar. A, B ve C sınıfı adresler ağ ve düğüm olmak
üzere iki bölümden oluşmuştur. Bazen, ağ adresini gösteren bölüme önek (prefix), düğüm
adresini gösteren bölüme de sonek (suffix) denir. Soneki en uzun adres sınıfı A olduğu
için en fazla düğüm, A sınıfına ait bir ağda adreslenebilir. D sınıfı adresler çoğagönderim
grupları için kullanılır. E sınıfı adresler ise protokol tanımlandığında ileride kullanılmak
üzere ayrılmıştır. Adreslerin dağıtılması ICANN (Internet Corporation for Assigned
Names and Numbers) tarafından organize edilir. Her ülkede ICANN’ye bağlı olarak
çalışan yerel birimler vardır.
Aynı ağın içindeki tüm düğümler aynı ağ adresine (önek) sahiptir. Bir yönlendirici
kendisine gelen IP paketinin ağ adresine (ya da adresin önekine) bakarak o ağa hangi port
üzerinden ulaşılabileceğini bulurlar ve paketi de uygun şekilde yönlendirirler.
Bir IP adresinden ağ adresini çekebilmek için maske (mask) kullanılır. Bir IP adresi kendi
ağının maskesi ile bit bazında mantıksal VE işlemine girdiğinde ortaya ağ adresi çıkar.
Ağ adresleri de paketlerin yönlendirilmesinde kullanılır. Adres sınıflarına göre maske
değerleri aşağıdaki gibidir:
A sınıfı ağ maskesi: 255.0.0.0
B sınıfı ağ maskesi: 255.255.0.0
C sınıfı ağ maskesi: 255.255.255.0
IP adreslemenin sunduğu olanaklar bazen yetersiz kalabilir. Örneğin B sınıfı bir adres
kullanarak ulaşılabilecek düğüm sayısı sizin kurumunuz için yeterli olabilir ancak siz bu
adresleri kurum içinde altağlara ayırmak isteyebilirsiniz. Bu durumda düğüm adresi
belirtmek için kullanılan bir grup bitini altağ adresi belirtmek için kullanmanız gerekir.
Subnet adresinin nerede başladığını göstermek için bir altağ maskesi tanımlamanız
gerekir. Şekil 9.3’te B sınıfındaki bir adresin, altı düğüm bitinin altağ adreslemek için
kullanılması durumunda kullanılacak altağ maskesi gösterilmiştir. Bu durumda aynı
öneki (10 + ağ) kullanarak 64 (26) altağ adreslenebilir. Her altağ içinde de yaklaşık 1024
(210) düğüm adreslenebilir.
3
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Adres 1 0
Maske 1 1
Ağ (14 bit)
11111111111111
Altağ(6 bit)
Düğüm (10 bit)
111111 0000000000
Şekil 9.3 A sınıfı bir adresin 64 altağa bölünmesi durumunda kullanılacak altağ maskesi
Normalde maskeler ağ adreslerini bulmak için kullanılır. A, B ve C sınıflarındaki adresler
yukarıda verilmiştir. Ancak bir adres altağlara bölündüğünde maskenin uzunluğunun
ayrıca verilmesi gerekir. Bu da
IP_adresi / maske_uzunluğu
şeklinde ifade edilir. Maske_uzunluğu verilen IP_adresinin altağ adresini (ağ adresi ile
birlikte) gösteren ilk bölümünün uzunluğunu verir. Şekil 9.3’teki örnek için
maske_uzunluğu 22 olmalıdır. Adreslemenin ve maskelemenin bu şekilde yapılmasına
CIDR (Classless InterDomain Routing) denir.
Şekil 9.4’teki IP ağında, iki A sınıfı ağ (22.0.0.0, 50.0.0.0), bir B sınıfı ağ (128.1.0.0) ve
bir de C sınıfı ağ (198.4.12.0) bulunmaktadır. Şekilde dikkat edilmesi gereken, bir
düğümün birden fazla ağa bağlanması durumunda her ağ üzerinde o ağa özel bir IP
adresinin olması gerektiğidir.
Şekil 9.4 Örnek bir IP ağı
9.2.1 Özel IP Adresleri:
Bazı IP adreslerinin özel anlamı vardır. 0.0.0.0 adresi düğümler sistemlerin önyüklemesi
(boot) sırasında kullanılır.
Ağ adresi olarak 0 verilen IP adresleri içinde bulunulan IP ağını ifade etmektedir.
255.255.255.255 IP adresi içinde bulunulan (yerel) ağa yayın (broadcast) için kullanılır.
Bir ağ adresi belirttikten sonra adresin kalan kısmı 1’lerle doldurulursa, bu da belirtilen
ağ adresine yayını ifade eder.
127 öneki ile başlayan tüm adresler döngü sınaması (loopback test) için kullanılır. Bu
ağrese gönderilen paketler ağa çıkarılmaz. Yerel olarak işlenir ve ağdan gelmiş bir paket
gibi davranılır.
4
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
9.3 IP Datagramlarının Yönlendirilmesi
IP datagramları yönlendirilirken sekmede-yönlendirme (hop-by-hop routing) tekniği
kullanılır. Bir yönlendirici aldığı datagramların varış adreslerine bakar, kendi
yönlendirme tablolarındaki maskeleri kullanarak (mantıksal VE işlemi ile) varılmak
istenen ağ adresine en çok benzeyen tablo adresini bulur ve paketin aktarılacağı port
bilgisine erişir. Paket yönlendiricinin bağlı bulunduğu ağlardan biri üzerindeki düğüme
gönderilmişse, doğrudan o düğüme gönderilir. Aksi halde gitmesi gereken yöndeki
porttan bir sonraki yönlendiriciye ulaşması için aktarılır. Şekil 9.5’te verilen ağda
ortadaki yönlendiricinin yönlendirme tablosu gösterilmiştir. 128.1.0.0 adresli ağdaki
düğümlerden biri (diyelim ki 128.1.0.7 IP adresine sahip olan), 22.0.0.0 adresli ağdaki
düğümlerden birine (diyelim ki 22.0.0.50’ye) bir paket göndersin. Bu paket ortadaki
yönlendiriciye ulaşınca tablodan 22.0.0.0 adresli ağa ulaşmak için Port_sol üzerinden
aktarılır ve soldaki yönlendirici tarafından alınır. Soldaki yönlendirici paketi aldıktan
sonra tablosunu kontrol eder ve 22.0.0.0 nolu ağa bağlı olduğu için paketi doğrudan ilgili
düğüme iletir.
Varış adresi
22.0.0.0
50.0.0.0
128.1.0.0
198.4.12.0
Maske
255.0.0.0
255.0.0.0
255.255.0.0
255.255.255.0
Port
Port_sol
Port_sol
Port_sağ
Port_sağ
Bir sonraki düğüm
50.0.0.7
doğrudan iletim
doğrudan iletim
128.1.0.9
Şekil 9.5 IP ağlarında yönlendirme
5
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
9.4 NAT (Network Address Translation)
Şekil 9.6 Ağ Adres Çevrimi için örnek bir senaryo [1]
6
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bölüm 10:
ADRES ÇÖZÜMLEME. ADRES ÇÖZÜMLEME PROTOKOLÜ. IP
DATAGRAMLARI.
Türkçe (İngilizce) karşılıklar
Adres çözümleme (Address resolution)
Ayarlanabilir (Reconfigurable)
Dağıtılmış (distributed)
Parçalama (fragmentation)
Birleştirme (reassembly)
Bölüm Hedefi
Bu bölümü bitirdiğinizde
• Adres çözümlemeyi
• Adres Çözümleme Protokolünü
• IP datagramlarının kapsüllenmesini
• MTU’yu
• Datagramların parçalanmasını ve
• Datagramların birleştirilmesini
öğrenmiş olacaksınız.
9.1 Adres Çözümleme
Yönlendiriciler kendilerine gelen IP paketlerini varış adreslerine bakarak bir sonraki
düğüme gönderirler ancak bu aktarım sırasında paketlerin farklı özelliklere sahip altağlar
üzerinden geçmesi söz konusu olabilir. Ethernet ortamında yaratılmış bir paket daha
sonra bir FDDI ağından, daha sonra bir ATM ağından geçebilir. Üstteki IP yapısına
destek veren alttaki ağlara fiziksel ağlar (ya da altağlar) diyebiliriz.
Fiziksel ağların da kendilerine has bir adresleme ve çerçeve mekanizması vardır. Örneğin
Ethernet ağlarına bağlı her bilgisayarın bir Ethernet adresi vardır. Bu adres üretim
sırasında değişmeyecek şekilde Ethernet kartının üzerine kaydedilir. Bu adrese fiziksel
adres, donanım adresi ya da mac (medium access control) adresi denir. Bu durumda bir
IP paketi her geçtiği fiziksel ağ üzerinde o ağın çerçevesinin içine konur ve varış IP
adresine ulaşabilecek şekilde fiziksel ağ içinde yönlendirilir.
Adres çözümleme IP adresine bakarak ilgili fiziksel adresin bulunmasıdır. Kaynak ve
varış düğümleri aynı fiziksel ağ üzerinde ise varış düğümünün adresi tam olarak
çözümlenebilir (Şekil 10.1’deki A ve B düğümleri gibi). İki düğüm farklı fiziksel ağlar
üzerindeyse (A ve C düğümleri gibi) fiziksel adres çözümlenemez ve yaratılan çerçeve
diğer ağlarla bağlantı sağlayan yönlendiricilere gönderilir ve adres çözümlemenin ilgili
yönlendirici tarafından yapılması beklenir.
A ile D arasındaki haberleşmede, D farklı bir ağda olduğu için paket önce Y1
(Yönlendirici 1), sonra Y2’ye gönderilir. Adres çözümlemesi aşağıdaki gibidir:
-A düğümü, Y1’in adresini çözümler,
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
-Y1, Y2’nin adresini çözümler ve
-Y2 de D’nin adresini çözümler.
Şekil 10.1 Üç altağdan oluşmuş bir ağ
10.2 Adres Çözümleme Teknikleri
Kullanılan protokol ve donanım adresleme yöntemine bağlı olarak adres çözümleme
teknikleri farklılık gösterebilir. Farklı ağ tiplerine bağlanmış bir yönlendirici ya da düğüm
her bir ağ üzerinde o ortama uygun bir adres çözümleme tekniği kullanabilir. Adres
çözümleme tekniklerini üç başlık altında toplayabiliriz: 1) tablodan bakma, 2) hesaplama
ve 3) mesajlaşma.
10.2.1 Tablodan Bakma
Düğümlerde protokol ve fiziksel adreslerin saklandığı tablolar bulunur. Gerektiğinde bu
tablolara bakılarak fiziksel adresler bulunur. Bu uygulaması en kolay adres çözümleme
yöntemlerinden biridir. Yerel ağdaki bilgisayar sayısı az ise tablo ardışıl olarak
incelenerek gerekli adres bulunur. Büyük tablolarda, daha hızlı erişim için indeksleme
yapılabilir. Şekil 10.2’de bir Ethernet ağında IP adresi-donanım adresi çözümlemesi
yapmak için kullanılan tablo verilmiştir.
IP adresi
160.75.26.24
160.75.26.31
160.75.26.34
160.75.26.40
160.75.26.47
160.75.26.50
160.75.26.55
160.75.26.57
160.75.26.60
Fiziksel Adres (Donanım Adresi)
00:02:44:66:D1:04
00:08:02:B9:19:68
00:02:44:65:DD:69
00:02:3F:68:06:E1
00:50:FC:5C:FD:8F
00:50:FC:69:1B:86
00:0E:7F:62:26:0D
00:20:ED:54:2B:75
00:04:75:c8:62:0d
Şekil 10.2 Bir Ethernet ağında Ethernet adreslerinin, IP adresleri ile eşleştirilmesi
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Aynı yerel alan ağı içindeki düğümlerin protokol adresi (IP) aynı ağ adresine sahiptir.
Bellekten tasarruf etmek için tabloda ağ adresini gösteren önekler tutulmayabilir.
Tablodan bakma yönteminde, olası adres değişiklikleri tüm düğümlerin tablolarının
değiştirilmesine neden olur.
10.2.2 Hesaplama
Çoğu ağlarda statik fiziksel adres kullanılmasına karşın, bazı ağ teknolojileri
ayarlanabilir (reconfigurable) adres kullanır. Ayarlanabilir adres kullanımında port
adresleri dinamik olarak yaratılır. Bu ortamlarda, adres çözümlemede kolaylık olması için
protokol adresinden hesaplanabilecek (türetilebilecek) fiziksel adresler kullanılabilir.
Örneğin C sınıfı bir IP ağında, ağ adresindeki son sekizli fiziksel adres olarak
kullanılabilir. Bu durumda fiziksel adresler basit bir şekilde bulunabilir (hesaplanabilir).
IP Adresi
221.123.5.1
223.123.5.2
223.123.5.3
223.123.5.4
.
. gibi
Fiziksel adres (Donanım adresi)
1
2
3
4
Bu örnek için fiziksel adres aşağıdaki gibi hesaplanabilir.
Fiziksel_adres = IP_adresi & 0xFF
Hesaplama tekniğinde tablo tutmak gerekmediği için bellek harcanmaz.
10.2.3 Mesajlaşma
Daha önceki yöntemlerde adres çözümleme tek bir bilgisayar üzerinde gerçeklenebilirdi.
Mesajlaşma yaklaşımında ise adres çözümlemek için birden fazla düğüme ihtiyaç vardır.
Mesajlaşma tekniği iki farklı şekilde gerçeklenebilir:
1) Ağdaki bilgisayarlardan biri adres çözümleme isteklerine cevap sunmakla
görevlendirilmiştir. Fiziksel adrese ihtiyaç duyan düğümler isteklerini bu sunucuya
gönderirler. Bazı durumlarda birden fazla adres çözümleme sunucusu olabilir. İstekler
cevap gelene kadar sırasıyla farklı sunuculara gönderilir.
2) Belli bir adres çözümleyicisi yoktur. Ağ üzerindeki her bilgisayar adres çözümlemeye
yardımcı olur. Dağıtılmış (distributed) bir yaklaşımdır. Adres çözümlemesi isteyen
bilgisayar isteğini ağa yayar (broadcast). Yayılan mesajdaki protokol adresine sahip
bilgisayar da mesaja cevap verir.
Mesajlaşma tekniğinde fiziksel adresin bulunması diğer tekniklerden daha uzun sürer.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
10.3 Adres Çözümleme Protokolü (Address Resolution Protocol, ARP)
TCP/IP protokolü ağın yapısına bağlı olarak yukarıda tanıtılan adres çözümleme
tekniklerinin hepsini kullanabilir. Gerekli durumlardaki mesajlaşmalarda kolaylık
sağlaması için bir ARP mesaj yapısı oluşturulmuştur. Bu mesaj yapısı herhangi bir
protokol için fiziksel/donanım adres çözümlemesi amaçlasa da genelde IP ağlarında
Ethernet adresine ulaşmak için kullanılır. Kullanılan mesaj formatı aşağıda verilmiştir.
0
Donanım Adres Tipi
Donanım Adr. Uzunl.
8
16
24
31
Protokol Adres Tipi
Protokol Adr. Uzunl.
Operasyon
Gönderen Donanım Adresi (ilk dört sekizli)
Gönderen Donanım Adresi (son iki sekizli)
Gönderen Protokol Adresi (ilk iki sekizli)
Gönderen Protokol Adresi (son iki sekizli)
Varış Donanım Adresi (ilk iki sekizli)
Varış Donanım Adresi (son dört sekizli)
Varış Protokol Adresi (tümü)
Donanım Adres Tipi, Ethernet için 1 değerini alır. Protokol Adres Tipi olarak IP için
0x0800 verilir. Operasyon alanı donanım adresi isteği için 1, cevabı için 2 değerini alır.
Bir istek mesaji gönderilirken Varış Donanım Adresi’nin tamamı sıfır yapılır.
Bir ARP mesaji gönderileceği ağın çerçevesinin veri alanına yerleştirilir (Şekil 10.3’deki
gibi). Ethernet ortamında bu bir Ethernet çerçevesidir.
ARP Mesajı
Çerçeve Başlığı
Çerçeve Veri Alanı
Son ek
Şekil 10.3 Bir ARP mesajının yerel alan ağı çerçevesi içinde taşınması
Ethernet üzerinde adres çözümleme, mesajlaşma tekniği kullanılarak yapılır. ARP istek
mesajının Ethernet ağı üzerinde yayılması ve ilgili bilgisayardan cevap mesajının gelmesi
Şekil 10.4’te gösterilmiştir.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
A
B
C
D
C
D
C
D
(a)
A
B
(b)
A
B
(c)
Şekil 10.4 Ethernet’te mesajlaşarak donanım adresinin öğrenilmesi
10.4 Bir ARP Mesajının İşlenmesi
Mesajlaşarak adres çözümlemesi nedeniyle, bir IP datagramını göndermeden önce
Ethernet ağlarında iki paket daha aktarılır ve datagram’ın gönderileceği düğümün fiziksel
adresi bulunur. Bu işlemi aynı varış düğümüne gidecek datagramlar için tekrar tekrar
yapmak anlamsızdır. Bu nedenle bir IP_adresi-Donanım_adresi eşlemesi (binding)
yapıldığında bu bilgi bir süre ARP cep belleğinde tutulur. Belli bir süre kullanılmamış
adresler, bellekte yer sorunu varsa silinir.
Bir ARP mesajı alan düğüm aşağıdaki işlemleri gerçekleştirir:
1) Mesaji gönderenin IP ve donanım adreslerinin ARP cep belleğinde bulunup
bulunmadığı kontrol edilir. Varsa eski donanım adresinin yerine gelen mesajdaki
donanım adresi yazılır.
2) Mesajın operasyon bölümüne bakılır:
• İstek mesajı ise bir cevap mesajı hazırlanır. Cevap mesajında, gelen mesajdaki
gönderen ve varış adreslerinin yerleri değiştirilir. Gönderen donanım adresi
bölümüne mesajı hazırlayan bilgisayarın donanım adresi yazılır. Operasyon alanına 2
değeri verilir.
• Cevap mesajı ise daha önce istek gönderilmiştir. Gelen bilgiler cep belleğe eklenir.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Yayın yolu ile Ethernet ağına gönderilmiş ARP çerçevelerini bütün bilgisayarlar
okuyabilirler ve içlerindeki protokol ve donanım adreslerine erişebilirler. Ancak
yayınlanan tüm ARP mesajlarındaki verilerin ARP cep belleğine konması cep belleğin
kısa sürede dolmasına neden olur. Bu nedenle, bilgisayarlar sadece kendilerini hedef
alan ARP mesajları ile ilgilenirler.
10.5 Ters ARP (RARP, Reverse Address Resolution Protocol)
RARP yeni çalıştırılmış (new-booted) bilgisayarların Ethernet adreslerini ağa duyurması
ve kendi IP adreseini sormasını sağlar. Bunlar disksiz bilgisayarlardır. RARP sunucusu
bu sorulara cevap verir. IP adres istekleri yerel alan ağı dışına çıkamadığı için isteklerin
oluştuğu yerel alan ağlarında bir RARP sunucusu olması gerekir. Bu sorunu çözmek için
alternative bir başlangıç protokolü (bootstrap) önerilmiştir: BOOTP. BOOTP UDP
mesajları ile haberleşir bu nedenle yerel alan ağlarını geçebilir. BOOTP gerekli adresleri
ve maskeyi disksiz bilgisayara bildirir. BOOTP’nin detayları RFC 951, 1048 ve 1084’te
verilmiştir.
BOOTP’nin dezavantajı IP ve Ethernet address eşlemesinin manuel olarak yapılmasıdır.
Daha sonra önerilen DHCP (Dynamic Host Configuration Protocol) ile hem RARP’nin
hem de BOOTP’nin yarattığı sorunların çözülmesi amaçlanmıştır. Şekil 10.5’te
görüldüğü gibi, DHCP sunucusu olmayan yerel alan ağlarında DHCP aktarım ajanları
(DHCP Relay Agents) bulunur.
Şekil 10.5 DHCP’nin çalışması
Yeni çalışan bilgisayar DHCP DISCOVER mesajı yayar. Bu mesaj DHCP aktarım ajanı
tarafından alınır ve DHCP sunucusuna gönderilir. IP adresi otomatik olarak DHCP
sunucusundan verilir. Verilen adresin ne süre ile aktif olacağı önemlidir. Burada kiralama
(leasing) yöntemi kullanılır. Belli bir süre için verilen IP adreslerinin kullanım süresini
uzatmak için kullanıcı bilgisayardan yenileme (renewal) isteği gitmelidir. Aksi halde süre
bittiğinde bu adresler başka bilgisayarlara kiralanabilir.
10.6 IP Datagramlarının Kapsüllenmesi
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Yaratılan IP datagramları geçtikleri fiziksel ağlarda o ağın çerçevesi içinde taşınırlar. Bu
işleme kapsülleme denir. Şekil 10.6’da gösterildiği gibi kapsüllenen bir datagram ilgili
çerçeve yapısında çerçeve verisi bölümüne yerleştirilir. Çerçevelerin başlığı vardır ancak
sonek bazı çerçevelerin yapısında bulunmayabilir. Çerçeve uzunluğu ve yapısı ağdan ağa
değişim gösterir.
Datagram
Çerçeve Başlığı
Çerçeve Veri Alanı
Son ek
Şekil 10.6 IP datagramlarının kapsüllenmesi
Kapsülleme işlemi Şekil 10.7’de da gösterildiği gibi varış düğümüne ulaşana kadar
geçilen her fiziksel ağda tekrarlanır.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 10.7 Pek çok altağ üzerinden geçen bir datagramın kapsüllenmesi
10.7 MTU (Maksimum Transmission Unit)
Fiziksel bir ağın çerçevesindeki veri bölümünde taşıyabileceği en fazla veri miktarı
bellidir. Bu miktara MTU (Maksimum Transmission Unit) denir. MTU değeri ağdan ağa
değişebilir. Şekil 10.8’de farklı MTU değerlerine sahip bir altağ grubu gösterilmiştir.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Şekil 10.8 Farklı MTU’lara sahip altağlar
10.8 Parçalama ve Birleştirme
Şekil 10.8’deki altağların MTU değerleri sırası ile 1500, 1000 ve 2000 sekizlidir. Bu
durumda A düğümünden gönderilen 1500 sekizli uzunluğundaki bir datagram, Ağ2’nin
MTU değeri 1000 sekizli olduğu için Y1 yönlendiricisi tarafından parçalanacaktır. Ancak
datagramın DF (Don’t Fragment) alanı bir değerine sahip ise datagram parçalanmaz.
Parçalama (fragmentation) işlemi Şekil 10.9’da gösterildiği gibi yapılır.
Datagram Veri Alanı
IP Başlığı
IP Başlığı1
Veri 1
IP Başlığı2
Veri 2
IP Başlığı3
Şekil 10.9 Bir IP datagramının parçalanması
Parçalanan datagramdan oluşan parçalara orijinal datagramın IP başlığı kullanılarak yeni
başlıklar hazırlanır. Bu başlıklar yardımı ile datagramın parçalandığı ve parçaların
numaraları gösterilir.
Son parça, MF alanına yazılmış sıfır değeri ile gösterilir.
Parçalanmış paketlerden orijinal datagramı oluşturmaya birleştirme (reassembly) denir.
Parçalanmış bir datagramın varış noktasından önce birleştirilmesi mümkün değildir.
Veri 3
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Varış noktasında, parçalanmış datagram, tanıtıcı alanı (identification) ve parça
numaraları (fragment offset) yardımı ile birleştirilir.
Bir datagramın parçaları varış noktasına sıraları bozulmuş olarak ulaşabilir. Çünkü
parçalar farklı yolları takip edebilir. Bu durumda parçalar sıralanır.
Parçalanmış bir datagramın parçaları varış noktasına ilerlerken tekrar parçalanabilir.
Bir datagram ancak tüm parçaları geldiğinde birleştirilir. Varış düğümüne parçalanmış bir
datagramın bir parçası geldiğinde bir sayaç (timer) çalıştırılır. Eğer sayacın süresi
dolmadan tüm parçalar gelirse datagram oluşturulur. Aksi halde gelen parçalar yok edilir
ve datagram oluşturulamaz. IP’de kaybolan parçaların tekrar gönderilmesi mümkün
değildir.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Bölüm 11:
HATA RAPORLAMA PROTOKOLÜ ve IPv6
Türkçe (İngilizce) karşılıklar
Sürüm (Version)
Trafik sınıfı (Traffic class)
Akış etiketi (Flow label)
Veri uzunluğu (Payload length)
Sonraki başlık (Next header)
Sekme limiti (Hop limit)
Asıllama (Authentication)
Bölüm Hedefi
Bu bölümü bitirdiğinizde
• Hata raporlama mekanizması nedir
• ICMP (Internet Control Message Protocol)
• IPv6
• IPv6’da adresleme ve paket yapısı nedir
• Uzatma başlığı nedir
öğrenmiş olacaksınız.
11.1 Hata Raporlama Mekanizması
Internette beklenmeyen bir durum ortaya çıktığında, bu durum ICMP (Internet Control
Message Protocol) mesajları kullanılarak bildirilir. Beklenmedik durumlar olası bir hatayı
ya da sorunu ifade eder çoğu kez. ICMP mesajları bu sorunları bildirmek ya da algılamak
için kullanılır ve çoğunlukla yönlendiriciler tarafından yaratılırlar. ICMP mesaj
tiplerinden bazıları aşağıda gösterilmiştir:
Varışa Ulaşılamaz
(Destination Unreachable)
Zaman Aşımı
(Time Excedded)
Parametre Problemi (Parameter Problem)
Kaynak Yavaşlatma (Source Quench)
Yeniden Yönlendir
(Redirect)
Eko
(Echo)
Eko Cevabı
(Echo Reply)
Adres Maskesi İsteği (Address Mask Request)
Adres Maskesi Cevabı (Address Mask Reply)
Zaman İsteği
(Timestamp Request)
Zaman Cevabı
(Timestamp Reply)
Varışa Ulaşılamaz ICMP mesajı, IP datagramında belirtilen ağ ya da düğüm adresinin
yeri belirlenemediğinde ya da başlıktaki DF biti seçilmiş olduğu için parçalanması
gereken bir datagramın parçalanamaması durumunda yaratılır ve datagramın kaynağı
olan düğüme gönderilir.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Zaman Aşımı ICMP mesajı, iki durumda yaratılır:
1) Datagram üzerindeki yaşam-süresi alanı (Time-to-Live) sıfıra ulaştığında
datagram hala varış adresine ulaşmadıysa. Bu durumda datagram yok edilir.
2) Parçalanmış bir datagramın parçaları birleştirilirken birleştirme süresi aşılırsa. Bu
durumda da gelen parçalar yok edilir.
Parametre Problemi ICMP mesajı, başlıktaki parametrelerle ilgili bir sorun varsa
yaratılır. Sorun, kaynaktan ya da geçilen bir yönlendiriciden dolayı oluşmuş olabilir.
Trafiğin yoğunlaştığı, IP datagramlarının çoğaldığı bir ortamda tampon bellek alanlarının
dolması sonucu, datagramlar yokedilebilir. Bu durumda Kaynak Yavaşlatma ICMP
mesajı, yokedilen paketleri yaratan kaynak düğümleri hızlarını düşürmeleri konusunda
uyarmak için yaratılır.
Yeniden Yönlendir ICMP mesajı, yanlış yönlendirildiğinden kuşku duyulan bir datagram
ile karşılaşıldığında kaynak düğümü bilgilendirmek için kullanılır.
Eko/Eko cevabı ICMP mesajları verilen bir IP düğümüne erişilip/erişilmediğini kontrol
etmek için kullanılan mesajlardır.
Adres Maskesi İsteği/Cevabı ICMP mesajları, bir düğümün bulunduğu ağın adresini
bilmemesi durumunda kullanılır.
Zaman İsteği/Cevabı ICMP mesajları, eko mesajlarına çok benzerler. Ek olarak burada,
istek mesajının geliş ve cevap mesajının ayrılış zamanları da bildirilir.
11.1.1 Bir ICMP mesajının iletimi
ICMP mesajları IP paketleri tarafından kapsüllenerek taşınır. Bu IP paketleri daha sonra
onları taşıyan alt ağlarda kullanılan çerçeveler tarafından kapsüllenir.
ICMP başlığı
IP başlığı
Çerçeve başlığı
IP veri alanı
Çerçeve veri alanı
Şekil 11.1 Bir ICMP mesajının iletimi
ICMP veri alanı
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
ICMP mesajlarını taşıyan datagramların önceliği yoktur!
Eğer ICMP mesajı taşıyan bir datagramda hata olursa, başka bir hata mesajı (ICMP
mesajı) gönderilmez. Bunun nedeni hata mesajları ile ağdaki trafiği yoğunlaştırmamaktır.
11.1.2 ICMP Mesajlarının Hayatımızı Kolaylaştırması
ICMP mesajlarını sadece hata durumunda değil ağ hakkında bilgi sahibi olmak için de
kullanabiliriz. Bu konudaki birkaç örnek aşağıda verilmiştir:
•
•
•
Eko mesajları kullanılarak belli bir düğüme erişilip erişilemeyeceği kontrol
edilebilir.
Bir düğüme ulaşmak için hangi yönlendiriciler üzerinden geçildiğini yine ICMP
mesajları yardımı ile bulabiliriz. Bu durumda aynı varış noktasını hedef alan IP
datagramlarımızın başlığındaki yaşam-süresi (time-to-live) alanına önce 1 değeri
veririz ve göndeririz. Bu datagram bir sonraki yönlendirici tarafından atılacak ve
Zaman Aşımı ICMP mesajı yaratılacaktır. Daha sonra benzer bir IP datagramını
başlığındaki yaşam-süresi alanını 2 yaparak göndeririz. Bu durumda datagram yol
üzerindeki ikinci yönlendirici tarafından yok edilecek ve Zaman Aşımı ICMP
mesajı gönderilecektir. Bu işlemi datagramımız varış düğümüne ulaşana kadar
tekrarlarız. Böylece yol üzerindeki tüm yönlendiriciler ICMP mesajı yaratacakları
için datagramların geçtiği yol (yani varış düğümüne gitmek iöçin kullanılan yol)
belirlenebilir.
Ancak, unutulmaması gereken bir nokta: IP ortamında datagramların takip
ettikleri yolların statik olmamasıdır. Ortamdaki hatalara (hat kopması,
yönlendirici bozulması) bağlı olarak kullanılan yollar zaman içinde değişim
gösterebilir.
ICMP mesajları geçilecek yoldaki MTU değerinin bulunması için de
kullanılabilir. Burada Varışa Ulaşılamaz ICMP mesajının ve datagram
başlığındaki DF alanının yardımı gereklidir.
11.2 IPv6 (IP sürüm 6)
Internet ve IP’nin kullanımının artması ile bir süre sonra IP adresleri yetersiz kalmaya
başladı. IPv4 planlandığında 32 bitten oluşan adresler bu alan yardımıyla
adreslenebilecek kullanıcı kitlesi çok büyük görünüyordu. Ancak Internet’in günlük
yaşamımıza girmesi ile bu kitlenin oluşturulması hiç de zor olmadı. Ayrıca,
uygulamaların özellikleri de farklılık göstermeye başlamıştı. Gerçek zamanlı uygulamalar
için planlanmamış IPv4, gerçek zamanlı uygulamalar kullanıldığında istenen başarıma
ulaşamıyordu. IP datagramlarının başlığındaki servis-tipi (type-of-service) alanı servisler
arasında farklılaşmayı karşılamak için yeterli değildi. Güvenlik konusuna daha çok önem
verilmesi gerekiyordu. Çoğagönderim uygulamalarında artış görülüyordu. Yönlendirme
tablolarının ciddi boyutlara ulaşması bu tablolar üzerindeki aramaları zorlaştırıyordu.
Tüm bunları çözümlemek amacı ile IPv6 önerildi. IPv6’nın, IPv4 ile uyum içinde
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
çalışması ve IPv4’ün desteklediği protokolleri (TCP, UDP, ICMP, ...) desteklemesi
planlandı.
11.2.1 IPv6’de Adresler
IPv6’de adres alanı 4 sekizliden, 16 sekizliye çıkarıldı. Bu da 128 bit demekti. IPv6
adresleri dört bitlik gruplar halinde onaltılık olarak gösterildi. Onaltılık düzene göre
gösterilen değerler dörder dörder gruplandı.
8000:0000:0000:0000:0123:4567:89AB:CDEF
gibi
Sayılar arasındaki iki nokta onaltılık düzenin kullanıldığını göstermektedir. Adreste çok
miktarda sıfır varsa, sıfırları yazmamak için iki nokta çifti de kullanılabilir. Bu durumda
yukarıdaki adres
8000::123:4567:89AB:CDEF şeklinde de ifade edilir.
11.2.2 IPv6’da Başlık Alanı
IPv6’da başlık alanı, Şekil 11.2’de gösterildiği gibi, basitleştirilmiştir. Başlığın
basitleştirilmesi ile yönlendiricilerde gerçeklenen işlemlerin de azaltılması planlandı.
Gerekli durumlarda seçenekler (options) alanının daha iyi kullanılması amaçlandı ve bu
alanlar uzatma başlığı (extension header) olarak adlandırıldı.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Sürüm (Version)
Trafik sınıfı (Traffic class)
Akış etiketi (Flow label)
Veri uzunluğu (Payload length)
Sonraki başlık (next header)
Sekme limiti (hop limit)
Kaynak adresi (source address)
Varış adresi (destination address)
Şekil 11.2 IPv6 datagram başlığı
Sürüm alanı datagramın yaratıldığı sürüme uygun bir şekilde incelenmesini sağlar. Bu
alanın en başta bulunması önemlidir. Trafik sınıfı, farklı özelliklere sahip trafiklerin
birbirinden ayırt edilerek uygun şekilde taşınmasını amaçlar. Akış etiketi, şu an için
deneysel olmakla birlikte, akışlara ait özel bilgiler içerir. Bu bilgiler bağlantı için önceden
ayrılacak bant genişliğini içerebilir. Bir akış (flow), kaynak adresi, varış adresi ve akış
numarası ile ifade edilir. Bir kaynak-varış çifti arasında aynı anda aktif olan pek çok akış
olabilir. Veri uzunluğu, 40 sekizliden oluşan datagram başlığının arkasından gelen
bölümün (uzatma başlıkları ve veri) uzunluğunu sekizli cinsinden verir. Sonraki başlık
alanı datagram başlığını takip eden uzatma başlığının özelliğini belirtir. Uzatma başlığı
yoksa verinin özelliklerini gösterir. Sekme limiti, pratikte, IPv4’teki yaşam süresi alanının
görevini üstlenir. Datagramın geçtiği her yönlendiricide değeri azaltılır. IPv4’te saniyeler
ile ifade edilmesi planlanmasına karşın bir sekme sayacı şeklinde çalışmaktaydı. Kaynak
ve varış adreslerinin amacı zaten bilinmektedir.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
IPv6 datagram başlığında hata kontrol (checksum) alanı bulunmamaktadır. IPv4’te bu
alanla ilgili olarak yapılan işlemlerin yönlendiricilerde zaman kaybına yol açtığı
görülmüş ve güvenilir ağlarda azalan hata olasılığı ile birlikte bu alanın IPv6’da
kullanılmaması planlanmıştır.
11.2.3 Uzatma Başlıkları
Aşağıda IPv6’da, şimdilik, kullanılan uzatma başlıkları ve açıklamaları verilmiştir.
Uzatma Başlığı
Sekme seçenekleri (hop-by-hop options)
Varış seçenekleri (destination options)
Yönlendirme (routing)
Parçalama (fragmentation)
Asıllama (authentication)
Kodlanmış güvenlik verisi (encrypted
security payload)
Açıklama
Yönlendiriciler için bilgi içerir
Varış düğümü için bilgi içerir
Yönlendirme sırasında takip edilecek yol
hakkında bilgi içerir
Datagramların parçalanmasına yönelik
bilgi içerir
Gönderenin kimliğinin asıllanmasına ait
bilgi içerir
Kodlanmış içerik hakkında bilgi verir
Gelişen teknoloji ve farklılaşan uygulamalar için yeni uzatma başlıklarının tanımlanması
mümkündür. Bazı uzatma başlıklarının sabit bazılarının ise değişken uzunluğu vardır.
11.2.3.1 Örnek Bir Uzatma Başlığı
Şekil 11.3 yönlendirme uzatma başlığının yapısını gösterir. Yönlendirme uzatma başlığı
datagram varış düğümüne giderken geçmesi istenen düğümlerin listesini taşır. Burada,
sonraki başlık, bir sonraki uzatma başlığının özelliğini verir. Uzatma başlığı uzunluğu, alt
başlığın uzunluğunu sekizli cinsinden verir. Yönlendirme tipi, başlığın diğer bölümlerinin
yapısı hakkında bilgi verir. Ziyaret edilmemiş bölütler alanı ise, datagram
yönlendirilirken geçilmemiş bölütlerin listesini tutar. Listedeki tüm bölütler geçildiğinde
bu başlığın görevi yerine getirilmiş olur.
İTÜ Bilgisayar Mühendisliği Bölümü, BLG433-Bilgisayar Haberleşmesi ders notları, Dr. Sema Oktuğ
Sonraki başlık (next header)
Uzatma başlığı uzunluğu (header extension length)
Yönlendirme tipi (routing type)
Ziyaret edilmemiş bölütler (segments left)
Tipe özel veri (type-specific data)
Şekil 11.3 Yönlendirme uzatma başlığının yapısı
Download