Ağ Sistemi Protokolleri
UDP ( User Datagram Protocol ):
TCP’ nin tersine hem bağlantısız hem de güvensiz bir protokoldür . Ama bu eksiklik ona önemli bir avantaj sağlıyor , HIZ . Yani işimizde hız gerekliyse ve verilerin güvenli bir şekilde ulaşıp ulaşmadığı çok önemli değilse , UDP tercihi doğru bir tercih olacaktır . Örnek olarak 161 nolu portu kullanan SNMP ( Simple Network Management Protocol : basit ağ yönetimi protokolü ) verilebilir .
UDP’ nin başlık kısmı ise şunlardan meydana gelir :
Source port : Gönderen bilgisayarın kullandığı UDP portu
Destination port : Karsı bilgisayarın kullandığı UDP portu
Message length : UDP mesajının büyüklüğü
Checksum : Başlık kısmının bozulup bozulmadığını belirleyen kısım.
ARP ( Adress Resolution Protocol ) :
ARP ile IP adresinin MAC adresine nasıl çevrildiği anlatılmıştı . Bu konuda biraz daha bilgi verelim . ARP uygulaması sonucunda elde edilen bilgiler aynı zamanda ARP kaşesine kaydedilir . Eğer aynı IP adresine yeniden ulaşılmak istenirse , bu sefer doğrudan kaşeden alınır . Bu kaşede bilgiler iki türlü şekilde bulunur : Statik ve dinamik . Dinamik kayıtlar broadcast mesaj sonucu elde edilen kayıtları gösterir . Bu kayıtlar belli bir sure sonunda kendiliğinden silinirler . Bu kaşede kalma süreleri değiştirilebilir .
Statik kayıtlar ARP kaşesine elle girilir ve bilgisayar kapatılıncaya kadar kaşede saklanır .
IP ADRESLEME :
IP adresi, herhangi bir bilgisayarı gösteren 32 bitlik bir numaradır. Bu adres hem bilgisayarın dahil olduğu ağı , hem de bilgisayarın o ağ içindeki adresini belirler . Peki bu 32 bitle ne yapabiliriz ?
Elimizde 32 bitlik bir adres varsa toplam 4 milyar tane bilgisayarı adresleyebiliriz . Hesap basit : 232 = 4 milyar .
Ancak gerçekte adresleyebileceğimiz bilgisayar sayısı bu sayının çok altında çıkıyor . Adresi oluşturan 32 bit kolayca okunması için 8 bitlik dört gruba ayrılmış . Bu gruplara “oktet” deniyor . Örnek olarak ;
10000011 01101011 00000001 00001100
Galiba okumak halen zor . İşte bu yüzden okteti onluk düzene çevirip arasına nokta koyuyoruz . Yukarıdaki örnek için : 131.107.1.12 seklinde oluyor .
Bu hesabı nasıl yaptığımıza gelince :
Yukarıda IP adresinin hem bilgisayar ağını ( network ID : ağ adresi ) hem de o ağ içindeki tek bir bilgisayarı ( host ID : bilgisayar adresi) gösterdiğini söylemiştik . Peki bir IP adresinde neresi ağ adresini neresi bilgisayar adresini gösterir .
İnternet adresleri beş sınıfa bölünmüştür . Bu sınıflara bakarak anlayabiliriz . Sınıflar A, B, C, D, E seklinde sıralanır .
A sınıfı adreslerde ağ adresi ilk oktet ile belirlenmiştir . Geri kalan oktetler ise o ağdaki bilgisayarı gösterir . Örneğin IBM İnternet üzerinde A sınıfı bir adres kullanır .
B sınıfı adreslerde ağ adresi ilk iki oktet ile belirlenir . Geri kalanlar ise o ağdaki bir bilgisayarı gösterir . Örneğin Microsoft’ a bir B sınıfı adres alanı ayrılmıştır .
C sınıfı adreslerde ağ adresi ilk üç oktet ile belirlenir . Son oktet ise o ağdaki bir bilgisayarı gösterir .
D ve E sınıfı adresler ise özel test adresleridir . Bizim tarafımızdan kullanılmazlar .
İlk oktet 0 ile 126 arasında ise o adres A sınıfı bir adrestir .128 ile 191 arasında ise B sınıfı , 192 ile 223 arasında ise C sınıfı bir adrestir .
Burada dikkat edilirse 127 ile başlayan adres kayıp…
127 ile başlayan adresler özel adreslerdir ve herhangi bir bilgisayara verilmezler . Örneğin, 127.0.0.1 adresi kendi adresimizi gösterir ( loopback adresi ) . 223′ un yukarısı ise D ve E sınıfı adreslere girer . Onlar da bizim tarafımızdan verilemezler .
Bu sınıflar herhangi bir bilgisayar ağında kaç adet bilgisayar tanımlanabileceğini gösteriyor . Örneğin , A sınıfı bir adresi ele alalım . Bu adreste ağımızın adresi ilk oktet ile belirleniyor . Buna göre yaklaşık 256 adet A sınıfı adres kullanabiliriz gibi geliyor ama bu adreslerin en soldaki bitleri “0” yapılıyor . Bu yüzden 7 bit kullanabiliyoruz. bu da yaklaşık 126 adet farklı A sınıfı adrese karşılık geliyor .
27 = 128 ( neden 126, biraz sonra göreceğiz…)
Bunu bir örnekle açıklamak gerekirse :
A sınıfı bir adres ve ilk oktetimiz 10 olsun . Geri kalan üç oktet ise 10 adresine sahip ağdaki bilgisayarları tanımlamak için kullanıyoruz .
Elimizde üç oktet olduğuna göre adresleme için 3 X 8 = 24 bit var .
224 = yaklaşık 16 milyon
O halde , yaklaşık 16 milyon bilgisayar bu ağda bulunabilir .
C sınıfı bizim en çok hesaplamalarımızda kullanılan adres olduğu için bu konuda bir örnek yapalım .
İlk oktetin 192 ile 223 arasında olması gerektiğini unutmadan hesaplarsak 2.097.152 adet C sınıfı ağ tanımlayabiliriz. Bu durumda bize yalnızca 8 bit kalıyor .8 bit ile de biz 254 bilgisayar tanımlayabiliriz .
Peki bu adresleri kim veriyor ? İnternet genelinde adres dağıtımını Internet Society yapıyor. Bu kurum ülkelere verilecek adresleri ayarlıyor ve her ülkede adreslerden sorumlu bir organizasyon belirliyor. Türkiye’ de bu işi ODTU-Tübitak ikilisi yapıyor.
Şu an A ve B sınıfı adresleri ne kadar para öderseniz ödeyin alamazsınız çünkü tükenmiş durumda .
Az önce A sınıfı bir adres örneği vermiştik ve bu örnekte , bu ağ için yaklaşık 16 milyon bilgisayar bulunabileceğini göstermiştik .
Bir şirketin bu kadar bilgisayara sahip olması pek mümkün değil . Yani bir A sınıfı adrese sahip olan şirketin diyelim ki 1 milyon bilgisayarı varsa 15 milyon kullanılamayan IP adresi var demektir . Adresler tümüyle dağıtıldı , geriye bir şey kalmadı diye üzülmeyin . Bu konuda yapılan çalışmalar devam ediyor ve
” Ipv6 ” adında yeni bir adresleme şeması öneriliyor. Bu yeni şemada adresleme için 32 bit değil tam 128 bit kullanılıyor. Bu da yaklaşık 4 milyar kere 4 milyarın karesi anlamına geliyor .
SUBNET MASK
Bir bilgisayar yalnızca kendisiyle aynı ağda bulunan bir bilgisayarla doğrudan iletişime geçebilir . Diğer durumda ise bu olay dolaylıdır .
Bilgisayarlar iletişime geçmek istediği bilgisayarın hangi ağda olduğunu nasıl anlayacak ? Tabii ki IP adresini kullanarak .
Bir bilgisayar IP adresinin hangi bölümünün ağı tanımladığını, hangi bölümünün ise bilgisayarları tanımladığını bilmek zorundadır. Bunun için subnet mask bilgisi kullanılır.
Bilgisayarlar ağ tanımlayıcılarını bulmak için , IP adreslerini subnet maskeleri ile mantıksal bir “AND” işleminden geçirirler . Mantıksal AND ( VE ) işlemini biraz anlatalım . Elimizde 0 ve 1 değerleri alabilen x ve y değişkeni olsun . Bu iki değişkeni olabilecek dört ayrı kombinezon için AND işlemi yapalım .
| X | Y | AND |
|
|
||
| 0 | 0 | 0 |
| 1 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 1 | 1 |
|
|
||
Tablodan görüldüğü gibi yalnızca her iki değişkenin değeri “1” olduğunda sonuç “1” oluyor. İşte bu özellik bu konuda bizim işimize yarayacak.
Mesela iki bilgisayar düşünelim ve bunlar aynı ağ üzerinde mi hesaplayalım . İlk bilgisayarın adresi 194.134.60.2 , ikinci bilgisayarın IP’ si ise 194.134.60.110 olsun . Şimdi iki bilgisayar birbirlerinin ayni ağda olup olmadıklarını anlamak için subnet mask değerinden faydalanırlar demiştik . Bunun için :
194.134.60.2 AND 255.255.255.0 = 194.134.60.0
194.134.60.110 AND 255.255.255.0 = 194.134.60.0
İki bilgisayarın ağ adresleri aynı olduğu için iki bilgisayar doğrudan iletişime geçebilirler. Şimdi bir router vasıtasıyla bu ağda yeni bir ağ oluşturalım .
| 1.bilgisayar 195.60.24.35 |
2.bilgisayar 195.60.24.36 |
|
| Router | ||
| 3.bilgisayar 195.60.42.100 |
4.bilgisayar 195.60.42.101 |
İlk ağdaki ilk bilgisayarla 2. ağdaki ismi 4.bilgisayar olan bilgisayarları iletişime geçirmeye çalışalım.
1.bilgisayar için 195.60.24.35 AND 255.255.255.0 = 195.60.24.0
4.bilgisayar için 195.60.42.101 AND 255.255.255.0 = 195.60.42.0
Görüldüğü gibi bilgisayarlar farklı ağdalar . O halde doğrudan iletişime geçemezler . Peki nasıl yaparlar ?
1.bilgisayarin gönderdiği paket router’ a gider , router paketin üstündeki adrese bakarak onu 4.bilgisayara yönlendirir .
Subnet maskesinde olabilecek hatalar ise her zaman olmasa bile sorunlar verebilir . Dikkat etmek gereklidir .
Eğer dikkat ettiyseniz , IP adreslerini subnet mask değerleri ile AND’ lediğimizde son oktet 0 oluyor . C sınıfı için bu adres ağdaki tüm bilgisayarları gösterir . Yani, yukarıdaki örnek için 195.60.24.0 ile 195.60.42.0 bulundukları ağın adresidir .
Benzer şekilde mesela ilk ağımız için 195.60.24.255 de hiçbir bilgisayara verilemez . Çünkü , bu adres de özel bir adrestir ve o ağ içinde broadcast yaparken kullanılır . İşte C sınıfı için hesaplama yaptığımızda , neden 256 değil de 254 sorusunun cevabı da budur.
