23 Nisan 2013 Salı

Merhaba

          Bu blog'u açmamdaki en büyük neden bugüne kadar yapmış olduğumuz tüm çalışmaların bir bütün halinde toplanarak tek kaynak üzerinden erişilmesini sağlamak. Çünkü bu materyaller 7 senelik çalışmanın ürünü olup bir çok kaynak ve kendi çalışmalarımız derlenerek oluşturulmuştur.Eğitimleriniz de başarılar dileyerek çalışmalarımı burada yayınlamaya başlıyorum. Saygılarımla...

NOT: Sizlerde çalışmalarınızla katkıda bulunmak isterseniz mail adresimden irtibata geçebilirsiniz.




22 Nisan 2013 Pazartesi

ALT AĞLAR


Alt Ağlara Bölme (Subneting)
Internet Protokolü (IP) vasıtasıyla haberleşmek durumunda olan tüm cihazlar bu haberleşmeyi sağlayabilmek için dinamik ya da statik mutlaka bir ip adresine sahip olmalıdırlar. Cihazlar ip adresleri vasıtasıyla diğer cihazlarla iletişim kurabilirler, ancak akış şeması sanıldığı kadar kolay değildir. Bunu bir örnek ile izah etmeye çalışalım; Bir okul düşünelim, bir öğretmen bu okulun tüm öğrencilerini tek bir sınıfta toplayıp ders verebilir mi? Oldukça güç olur değil mi, herkes konuşacak ama çok fazla gürültü olmayacak…  Bu karmaşanın önüne geçebilmek için öğrenciler sınıflara dağıtılırlar ve her sınıfa bir öğretmen atanır.
Mevcut network yapısı genişleyince Broadcast etki alanı da büyüyecek ve tüm networkdeki bilgisayarlar yoğun bir Broadcast trafiğinin ortasında sıkışıp kalacaklardır. Bu da ağ performansını negatif yönde etkileyecektir.
IP adreslerini de yine aynı şekilde ortamda gürültü (Broadcast trafiği) olmaması ve iletişimin daha sağlıklı yapılabilmesi için ya da gereksinimlerden kaynaklanan çeşitli network senaryoları için alt ağlara ayırırız, bu işleme Alt Ağlara Bölme işlemi (Subneting) denilir.
Herhangi bir sınıf IP ağ adresinin uç bitlerinden bir kısmını alt ağ için ayırarak alt ağlar oluşturabiliriz.
Alt ağlara ayırma işlemi yaparken;
“-Gerek duyulan kullanıcı sayısı ve Gerek duyulan alt ağ sayısı” olmak üzere iki farklı kriter kullanalabiliriz. Genel olarak örneklerimizde gerek duyulan alt ağ sayısından yola çıkacağız.
Örneklere geçmeden önce bir kaç temel bilgiyi vermemiz gerekiyor;
       a)    Oktet
IP adresi, 32-Bit olarak toplam 4 bölümden (oktet=bölüm) oluşur ve her bir oktet 8 bitliktir. Her bir oktetin değeri onluk sistemde minimum 0, maksimum 255 olabilmektedir.
       b)    İkilik Sayı Sistemi
IP hesaplaması yapılırken onluk sayı sistemi ikilik sayı sistemine matematik kuralları çerçevesinde çevrilir, ancak bu konu burada bahsedilecek bir uzmanlık alanı değildir, lütfen detaylı bilgi için matematik konulu kaynakları inceleyiniz.
Ancak, size güzel bir tablo vereceğim:
7.bit
6.bit
5.bit
4.bit
3.bit
2.bit
1.bit
0.bit
Toplam 8 bit
2^7
2^6
2^5
2^4
2^3
2^2
2^1
2^0
Onluk karşılığı böyle hesaplanır
128
64
32
16
8
4
2
1
Onluk sistemdeki karşılığı
0
0
0
0
0
0
0
0
Onluk değeri 0 olan bir oktet
1
1
1
1
1
1
1
1
Onluk değeri 255 olan bir oktet
1
1
1
0
0
0
0
0
Onluk değeri 224 olan bir oktet
Yukarıdaki tabloya dikkat edecek olursanız, son satırda “1” bit değerine sahip olan onluk değerlerin toplanarak 224 oktet değerinin olarak ortaya çıktığını görebilirsiniz.
      c)    IP Adres Sınıfları
A sınıfı: 1 – 126             Öngörülen Ağ Maskesi:255.0.0.0
B sınıfı: 128 – 191         Öngörülen Ağ Maskesi:255.255.0.0
C Sınıfı: 192 – 223        Öngörülen Ağ Maskesi:255.255.255.0
D sınıfı: 224 – 239         Çoklu yayın (Multicast)
E sınıfı: 240 – 254         Araştırma için ayrılmıştır.
127: Loopback olarak ayrılmıştır ve bu sınıfların hiçbirisine dahil edilmemektedir.

172.16.122.204 ip adresi için Oktet ayrımı;
1.Oktet: 172 (Onluk) = 10101100 (İkilik)
2.Oktet:  16  (Onluk) = 00010000 (İkilik)
3.Oktet: 122 (Onluk) = 01111010 (İkilik)
4.Oktet: 204 (Onluk) = 11001100 (İkilik)

             d) Network ID (Ağ Adresi)
172.16.122.0 yukarıdaki ip için ağ adresidir; “Aynı sınıf adresine sahip olan bilgisayarları temsil eden ve o grupta bulunan bütün bilgisayarlarda aynı olan bölümdür, IP olarak herhangi bir cihaza  atanamazlar.”
e) Broadcast Adresi
172.16.122.255 yukarıdaki ip için broadcast adresidir; “Herhangi bir ağda bütün adresleri temsil etmek için kullanılan adreslere Broadcast adres denir. Broadcast adresinin uç bölümünün bütün bitleri ağ adresinin tersine 1’dir.” Bu adresler de ağ adresi gibi ağdaki herhangi bir bilgisayara IP adresi olarak atanamazlar.

Network ID (Ağ Adresi) Nasıl bulunur?
Ağ adresi konusu biz sistemcilerin ve özellikle network işi ile içli dışlı olanların bilmesi gereken olmazsa olmaz bir konudur. Bir ip adresinin ağ adresini bulabilmek için; o ip adresi ile kendi Ağ Maskesinin (Subnet Mask) “And / Ve”  işlemine tabi tutulması gerekmektedir. IP adresi ve Subnet mask ikilik sayı sistemine çevrilerek alt alta yazılır, her iki taraftada ‘1’ bit değerine sahip bölümler aynen (yani 1 olarak) aktarılır, diğerleri ise 0(sıfır) olarak değerlendirilir. Bir örnek verecek olursak;

Ip Address:      
132.15.78.202
10000100
00001111
01001110
11001010
Subnet Mask:
255.255.0.0
11111111
11111111
00000000
00000000
Network ID:
132.15.0.0
10000100
00001111
00000000
00000000
Broadcast Address: 
132.15.255.255
10000100
00001111
11111111
11111111

Network ID Karşımıza nerede çıkar?
Burada yazacağım örnekleri incelediğinizde Ağ adresinin nerede ve nasıl karşınıza bekçi gibi dikileceğini anlamış olacağınızı düşünüyorum. Ancak burada ikilik sayı sistemini kullanmayacağım, ben örneklerimi onluk sayı sisteminde anlatacağım.

Örnek-1: 192.168.10.17 ip adresine sahip bir terminal, yine kendi yerel ağında bulunan 192.168.10.18 ip adresli bir terminale erişmek istesin ve  her ikisinin de  Ağ Maskesi: 255.255.255.240 olsun.

Ağ adreslerine bakalım;

Client1 IP Adress
192.168.10.17
Subnet Mask:
255.255.255.240
Network ID:
192.168.10.16

Client2 IP Adress
192.168.10.18
Subnet Mask:
255.255.255.240
Network ID:
192.168.10.16

.17 ve .18 IP adreslerine sahip bilgisayarların aynı yerel ağ içinde konumlandırıldığını hatırlayalım. Yukarıdaki tabloda And  işlemlerinde gördüğünüz gibi ağ adresleri aynıdır.
.17 olan pc, .18 e ulaşmak istediği zaman .18’ in bulunduğu ağ adresini hesaplar ve görür ki ağ adresleri aynıdır. Sonra şunu der; “Hımm… demek bu bilgisayar ile ben aynı yerel ağ(LAN) içerisindeyim
(Local Area Network: LAN), o halde ağ geçidine gidip bu ip nin yerini sormaya gerek yok.”

Sonuç: Haberleşme sağlanır, çünkü aynı ağ adresine sahipler.


Örnek-2:
Bu defa, farklı yerel ağlarda bulunan 192.168.10.17 ip adresine sahip bilgisayar 192.168.10.33 ip adresine sahip bilgisayara ulaşmak istesin ve Subnet Mask yine 255.255.255.240 olsun;

Ağ adreslerine bakalım;

Client1 IP Adress
192.168.10.17
Subnet Mask:
255.255.255.240
Network ID:
192.168.10.16

Client1 IP Adress
192.168.10.33
Subnet Mask:
255.255.255.240
Network ID:
192.168.10.32
(.17 ip adresli PC, .33 e ulaşmak istediği zaman .33 ü ve kendi ağ maskesini And işlemine tabi tutarak 33 ip’li PC nin hangi ağ adresinde olduğunu çözecek.)

.17 ip adresine sahip terminal, .33 ip adresine sahip olan terminalin ağ adresini hesapladı (192.168.10.32)ve bu Ağ adresi ile kendi Ağ Adresinin aynı olmadığını gördü, “Hımm, demek bu benim yerel ağda değil, o halde ben ağ geçidine gidip bir sorayım” der…  Ve Router da (ağ geçidi) 192.168.10.17 ip adresine sahip bilgisayarı 192.168.10.33 e götürür ve böylece haberleşme sağlanır.

Router bu iyiliği neden yaptı? Zira, görevi bu yönlendirmeyi yapmaktır. Adı üzerinde Router: Yönlendirici.

Dikkat: Demek ki Router, Ağ Adresi aynı olunca bir görev üstlenmiyor ama ağ adresleri farklı olunca görev alıyor.

Örnek-3: Yine, farklı yerel ağlarda bulunan 192.168.10.17 ip adresine sahip bilgisayar, 192.168.10.33 ip adresine sahip bilgisayara ulaşmak istesin, fakat bu kez Ağ Maskeleri 255.255.255.0 olsun!

Ağ adreslerine bakalım;

Client1 IP Adress
192.168.10.17
Subnet Mask:
255.255.255.0
Network ID:
192.168.10.0

Client2 IP Adress
192.168.10.33
Subnet Mask:
255.255.255.0
Network ID:
192.168.10.0

192.168.10.17 li ip 192.168.10.33 e ulaşmak istedi ve 192.168.10.33 ün Ağ Adresini hesapladı, baktı ki Ağ Adresleri aynı, “Demek ki bu benim ile aynı LAN içerisinde yer alıyor.”
Ama nafile, çünkü bu adresler farklı LAN larda bulunuyorlar.
192.168.10.17 li bilgisayar .33 ip li bilgisayarı aradı taradı bulamadı, Router’a da gidip sormuyor!

Sonuç: iletişim sağlanamadı.

Yani sen iletişim kurmak istiyor musun, istemiyor musun, kararını verip ağ maskeni yazıyorsun.

Yukarıdaki açıklamalardan sonra Subneting konusuna geçiş yapabiliriz;
Bilgi:
‘/24’ değeri; Subnet Mask’ın sahip olduğu mevcut “1” sayısını ifade eder.
2^n: “iki üzeri n” diye okunur.
>= : “Büyük eşit” diye okunur.

*  “2^n-2>=Alt ağ sayısı”  formulü ile n değeri bulunur. Bu n değeri, alt ağ bitini verecektir, yani burada bulunan değer öngörülen Subnet Mask’a eklenecek olan 1 lerin kaç tane olduğunu ifade eder.
Ekleme yapıldıktan sonra bulunan Subnet Mask, yeni Subnet Mask olacaktır.
(Yeni Subnet Mask: Eski Subnet Mask + n ) |n:network, m: machine|
*  2^m-2  formulü ile bir aralığa atanabilecek ip sayısı bulunur, m değeri oktette kalan 0 sayısı kadardır. [m = host sayısı(uç bit)]
Örnek4:
192.168.0.0/24 ip aralığını 2 subnet (alt ağ) olacak şekilde ayıralım.
2^n -2 >=2 [subnet(alt ağ) sayısı] formulü ile n değerini 2 olarak buluruz.
2^2=4  ==> Mecburen 4 subnet’ e bölmemiz gerekir.
N değeri artan bit değeridir. Yukarıdaki ip adresi C sınıfı bir ip adresi olduğundan öngörülen Ağ maskesi hesaplamadan önce:255.255.255.0 olacaktır.
Yeni(ortak) subnet mask: 255.255.255.11000000 (192) şeklinde olacaktır.
Bu durumda m:6 olacaktır. (8-n=>8-2=6) 2^6=toplam 64 ip (her alt ağ için)

Oktette kalan sıfır sayısı bize host id(m) yi verir, toplam 6 sıfır vardır ve bu durumda
2^6-2=62 (2^m-2) tane ip atanabilir.

X 1.Subnet
192.168.0.0
to
192.168.0.63
   2.Subnet
192.168.0.64
to
192.168.0.127
   3.Subnet
192.168.0.128
to
192.168.0.191
X 4.Subnet
192.168.0.192
to
192.168.0.255

2.Subnet kullanılabilir ilk subettir.
192.168.0.64 ip si 2.Subnet’in Network ID sidir ve ip olarak bir cihaza atanamaz.
192.168.0.127 ip si 2. Subnet’in Broadcast adresidir ve ip olarak bir cihaza atanamaz.

3.Subnet ise kullanılabilir son subnettir.
3.Subnet için Network ID: 192.168.0.128 and Broadcast Address: 192.168.0.191

Farklı kaynaklarda 2^n -2 formulü yerine 2^n formülünün kullanıldığını görebilirsiniz, ancak bu formüllerden bir tanesi yanlıştır denilemez.

Cisco’nun IOS-12 öncesi cihazlarında desteklenmediğinden dolayı 1.Subnet ve 4.Subnet kullanılamaz subnetlerdir. Her ne kadar IOS-12 ve sonrası sürümlerde bu subnetler kullanılabilir olsalar da, Cisconun 2008 eğitim dökümanlarına ve sınavlarına bakıldığında halen 2^n-2 formülünün esas alındığı görülmektedir. Bu nedenden ötürü makalemde hesaplama yapmayı uygun gördüm.

Örnek5:
172.17.128.255/18 adresinin sahip olduğu network id ve broadcast adresini bulalım;
Yukarıdaki ip adresi B sınıfı bir ip adresidir ve default ağ maskesi 255.255.0.0 dır. Ağ maskesinde iki tane 255, 8 + 8 =16 tane “1” değerine sahip olmak anlamına gelir. Yukarıdaki /18 değerinden 16 yı çıkardığınızda 2 bitin fazladan eklendiğini görürsünüz ki bu da yukarıdaki örneklerden hatırlayacağınız gibi artan bit değeridir. N=2 => 2^2=4 subnet e bölerek network id ve broadcast adresini bulalım;
N:2 ise m=6 olur 2^6=64
X 1.Subnet
172.17.0.0
to
172.17.63.255
   2.Subnet
172.17.64.0
to
172.17.127.255
   3.Subnet
172.17.128.0
to
172.17.191.255
X 4.Subnet
172.17.192.0
to
172.17.255.255
Yukarıdaki tabloda 3.Subnet e dikkat edecek olursanız 172.17.128.255 ip sinin 3.Subnet e ait olduğunu hemen görebilirsiniz. Bu durumda;
Sonuç: 172.17.128.255/18 için Network ID:172.17.128.0 – Broadcast Address: 172.17.191.255 olarak tespit edilir.
Subnet Mask: 255.255.192.0 dır.

Örnek6:

10.0.0.0/8 ip aralığı için 2 subnet oluşturalım.
2^n -2>=2 n=2 bit olarak bulunur.
255.192(11000000).0.0
m=6,  2^6=64

X 1.Subnet
10.0.0.0
to
10.63.255.255
   2.Subnet
10.64.0.0
to
10.127.255.255
   3.Subnet
10.128.0.0
to
10.191.255.255
X 4.Subnet
10.192.0.0
to
10.255.255.255