29 Şubat 2012 Çarşamba

TCP/IP IPv4 Subnetting CIDR VLSM


TCP/IP

CLASSFULL IP ADDRESSING

A CLASS
Ip aralığı          : 1.0.0.0 -126.255.255.254
Subnet Mask  : 255.0.0.0

B CLASS
Ip aralığı          : 128.0.0.0 -191.255.255.254
Subnet Mask  : 255.255.0.0 yada 255.255.255.0 da kullanılabiliyor.

C CLASS
Ip aralığı          : 192.0.0.0 – 223.255.255.254
Subnet Mask  : 255.255.255.0

D CLASS
Ip aralığı          : 224.0.0.0 – 239.255.255.254
Subnet Mask  : -
Multicast iletişim için kullanılan IP adresleridir.

E CLASS
240.0.0.0 – 255.255.255.254
Subnet Mask  : -
Future Use – Gelecekteki kullanımlar yada özel amaçlar için ayrılmıştır.

Ip adresleri 4 bölümden oluşur. Bu dört bölümün herbirine octet adı verilir.
1. Octet           2. Octet           3. Octet           4. Octet
192.                 168.                 1.                     15

IP Adreslerinin başında 0 ilk octette ve sonunda son octette 0 ve 255 kullanılamaz.


0.0.0.0                 : Tüm ağ adreslirini temsil eder.
10.0.0.0           : Yerel ağ adresleri için kullanılır. Internet ortamında kullanılmaz.
127.0.0.1         : Loopbak IP adresi de denir. Her makinenin yerel IP olarak belirlenir.
                          Bilgisayarın üzerinde çalışan servisler için gerekli olabilir. Localhost
                          bilgisayarın endisini ifade eder. Localhost adı 127.0.0.1 IP adresine
                          eşlenmiştir.
169.254.0.0     : Bu IP adresi aralığı ağ ortamında elle yada dinamik olarak Ip adresi
                          belirlenmemiş bilgisayarların kendileri için belirledikleri IP adresidir. Bu
                          şekilde ağdaki bilgisayarların hiçbir IP yapılandırması olmadan birbirleri ile
                          iletişime geçebilmeleri planlanmıştır.
172.16.0.0       : Yerel ağ adresleri için kullanılır. Internet ortamında kullanılmaz.
192.168.0.0     : Yerel ağ adresleri için kullanılır. Internet ortamında kullanılmaz.

Ip adreslerinin nokta ile ayrılmış her bölümüne octet denir. Her octet 8 bitten oluşur. Ip adresi 4 octet olduğuna göre 4*8=32 bit eder. Alt ağ maskeleri bu bitlerin soldan sağa 1 rakamı olması şartı ile bu bitlerin sayılması/hesaplanması ile bulunur.

11111111.11111111.11111111.11111111    =32      255.255.255.255
11111111.11111111.11111111.00000000    =24      255.255.255.0
11111111.11111111.00000000.00000000    =16      255.255.0.0
11111111.00000000.00000000.00000000    =8        255.0.0.0

Her octetteki bitler soldan sağa doğru aşağıdaki gibi değerleri alır.

1          1          1          1          1          1          1          1
128      64        32        16        8          4          2          1

1   1   1   1   1   1   1   1.  1   1   1   1   1   1   1   1.  1   1   1   1   1   1   1   1.  1   1   1   1   1   1   1   1
128    64      32      16      8        4       2        1        128    64      32      16      8        4        2        1       128    64      32      16      8        4        2        1        128    64     32      16      8        4        2        1




192.168.1.0/24 ağındaki 192.168.1.20 Ip adresli bilgisayar 192.168.1.187 Ip adresli bilgisayarla iletişime geçmeden önce kendi Network ID’sini kontrol eder.

Bu kontrol ilşlemi için
0 ve 0 = 0
0 ve 1 = 0
1 ve 1 = 1
işlemi uygulanır. Sonuç olarak Ip adresinde ve ağ maskesinde 1 olan bitler aşağıya 1, Ip adresinde ve ağ maskesinde 1 ve 0 veya 0 ve 1 veya 0 ve 0 olan bitler aşağıya 0 olarak iner.

Localhost
Host ID           : 192.168.1.0              :11000000. 10101000. 00000001. 00010100
Subnet Mask  : 255.255.255.0          :11111111. 11111111. 11111111. 00000000
                                                           :11000000. 10101000. 00000001. 00000000
Network ID                                        :      192    .       168    .           1     .     0                   

Ağdaki Host
Host ID           : 192.168.1.187          :11000000. 10101000. 00000001. 10111011
Subnet Mask  : 255.255.255.0          :11111111. 11111111. 11111111. 00000000
                                                           :11000000. 10101000. 00000001. 00000000
Networ ID                                          :      192    .       168    .           1     .     0        

Remote Host
Host ID           : 192.168.2.10            :11000000. 10101000. 00000010. 00001010
Subnet Mask  : 255.255.255.0          :11111111. 11111111. 11111111. 00000000
                                                           :11000000. 10101000. 00000001. 00000000
Networ ID                                          :      192    .       168    .           2     .     0        

Localhost ağ maskesine bakarak iletişime geçebileceği Network ID lerini bulur. Localhost için iletişime geçilecek Network ID’si 192.168.1.0 dır. Ağdaki host 192.168.1.187 Ip adresine sahiptir. Bu IP adresinin Network ID’sini localhost kendi ağ maskesi ile karşılaştırarak bulur. Eğer network ID’leri aynı ise iletişime geçmek için ilgili işlemleri başlatır. Yine Localhost, Remotehost ile iletişime geçmek için Remotehost’un Network ID’sini hesaplar.  Remotehost’un IP adresini kendi ağ maskesine bakarak bulur. Yani 192.168.2.0. Kendi Network ID ile Remotehost’un Network ID’si uymadığından iletişime geçmek için ağ geçidine ilgili network paketlerini gönderir.

Eğer iletişime geçilecek bilgisayarın Network Id’si aynı ise iletişime geçilir. Farklı ise ilgili iletişimin kurulması yada ilgili IP adresine ulaşılması için Ağ geçidine ilgili network paketleri gönderilir. Bir bilgisayar alt ağ maskesine bakarak Network ID’sini bulur. Bu Network ID’nin iletişime geçilecek bilgisayarın Netwrok ID ‘si ile aynı olması gerekir.












CIDR
Classless Interdamin Routing
Classfull IP adresleme ile ihtiyaçtan fazla IP alınabiliyordu. Bu nedenler CIDR ortaya çıkmış ve IP adreslerinin ihtiyaca göre dağıtılması sağlanmaya çalışılmıştır.

Alt ağ maskelerinin alabileceği değerler.
255      -> 255 Ağ
254      -> 128 Ağ
252      -> 64   Ağ
248      -> 32   Ağ      
240      -> 16   Ağ
224      -> 8     Ağ
192      -> 4     Ağ      
128      -> 2     Ağ                              


2 şekilde subnetler ayarlanabilir.

1) Host sayısına göre Subnet yapılandırması:

Subnet işlemlerinde temel alınan ayrılacak subnette/ağda bulunacak host sayısıdır.
Genelde subnet hesaplamalaraı bunun üzerine yapılır.

172.16.0.0/24 Ip bloğu verilmiş. Bu Ip bloğunu her ağda 50 bilgisayar olacak şekilde bölümleyelim.

50 sayısına ulaşana kadar yada geçene kadar 2 sayısı kendisiyle çarpılır.
2x2x2x2x2x2=64       64 sayısına ulaşmak için 6 tane 2 sayısını kullandık.           
2                      : Bir tane 2
2x2=4             : İki tane 2
4x2=8             : Üç tane 2
8x2=16           : Dört tane 2
16x2=32         : Beş tane 2
32x2=64         : Altı tane 2

2n-2= Bilgisayar sayısını verir. Çünkü bölümlediğimiz her ağda 1 IP Network ID olarak, 1 IP de Broadcast için kullanılacak.
64-2=62 host. Bu sayı bizim için yeterli. 5 tane Ip fazladan kalıyor. Ama yapacak bişey yok çünkü 2’li sayı sisteminde 50 sayısından büyük ve en yakın olabilecek sayı 64.

Bir IP adresi 32 bitten oluşuyor. 64 sayısına ulaşmak için kullandığımız 2 ‘lerin sayısını toplam bit sayısından çıkarıyoruz. Yani 32 sayısından. 32-6=26 bu değer bizim kullanacağımız soldan sağa doğru olan bitlerin sayısını verir.

Aşağıda gibi soldan sağa kullanacağımız bitleri yazalım ve alt ağ maskesini bulalım.

1   1   1   1   1   1   1   1.  1   1   1   1   1   1   1   1.  1   1   1   1   1   1   1   1.  1   1   0   0   0   0   0   0
128    64      32      16      8        4       2        1        128    64      32      16      8        4        2        1       128    64      32      16      8        4        2        1        128    64     32      16      8        4        2        1
            255                             255                             255                                         192

172.16.0.0/26 ağını kullanacağız.
Peki bu ağı kaça böldük ve bölünen ağların Network ID ‘lerini nasıl bulacağız.

Bize verilen ilk Blok 172.16.0.0/24 tü Yani soldan sağa 24 adet bit kullandık. Ağ maskemiz 255.255.255.0 dı.
Şimdi elimizde 172.16.0.0/26 bloğu var. Yani soldan sağa 26 adet bit kullandık. Ağ maskemiz 255.255.255.192 oldu. Ağdaki tüm hostlara bu ağ maskesini yazacağız.
Bu durumda 26-24 =2 bit daha ağı bölümlemek için kullandık. 2’li sayı sisteminde hesaplamaları 0 ve 1 sayıları ile yapıyoruz. Eğer 2 bit kullanırsak ve her bit sadece 0 yada 1 değerini alabiliyorsa, bu durumda elimizde 4 farklı olasılık olur.

                                                                                                  128   64             
0. Ağ               11111111.11111111.11111111. 0   0 000000 = 172.16.0.0/26
1. Ağ               11111111.11111111.11111111. 0   1 000000 = 172.16.0.64/26
2. Ağ               11111111.11111111.11111111. 1   0 000000 = 172.16.0.128/26
3. Ağ               11111111.11111111.11111111. 1   1 000000 = 172.16.0.192/26


0. Ağ
1. Ağ
2. Ağ
3. Ağ
Network ID
172.16.0.0/26
172.16.0.64/26
172.16.0.128/26
172.16.0.192/26
Hostlara verilecek Ip’ler
172.16.0.1 – 172.16.0.62
172.16.0.65 – 172.16.0.126
172.16.0.129 – 172.16.0.190
172.16.0.193 – 172.16.0.254
Broadcast
172.16.0.63
172.16.0.127
172.16.0.191
172.16.0.255

                                  
2. Ağ sayısına göre subnet bölümlemesi:

Elimizdeki 100.0.0.0/16 IP bloğunu 8 subnete bölmemiz isteniyor.
8 sayısına ulaşana yada geçene kadar 2 sayısını kendisiyle çarpıyoruz.
2n=Ağ sayısı   2x2x2=8     n=8

8 sayısına ulaşmak için 3 defa 2 sayısını kendisiyle çarptık. 8 ağ elde edebilmel için 3 bit daha kullanmamız gerekiyor. Bize verilen blokta 16 bit ayrılmış. 16 bite dokunamıyoruz. O halde 8 ağ için 3 bit kullanmak gerekiyorsa
100.0.0.0/16  yani Subnet Mask 255.255.0.0
16+3=19
100.0.0.0/19 yani yeni Subnet Mask 255.255.224.0 oluyor.

Aşağıda gibi soldan sağa kullanacağımız bitleri yazalım ve alt ağ maskesini bulalım.

1   1   1   1   1   1   1   1.  1   1   1   1   1   1   1   1.  1   1   1   0   0   0   0   0.  0   0   0   0   0   0   0   0
128    64      32      16      8        4       2        1        128    64      32      16      8        4        2        1       128    64      32      16      8        4        2        1        128    64     32      16      8        4        2        1
            255                             255                             224                                         0

Şimdi Network ID’leri hesaplayalıp. 3 bitin olasılıklarını yazıp hesaplıyoruz.

                                                                 128   64   32                  
0. Ağ                    11111111. 11111111. 0   0   0 00000.00000000 = 100.0.0.0 /19
1. Ağ                    11111111. 11111111. 0   0   1 00000.00000000 = 100.0.32.0 /19
2. Ağ                    11111111. 11111111. 0   1   0 00000.00000000 = 100.0.64.0 /19
3. Ağ                    11111111. 11111111. 0   1   1 00000.00000000 = 100.0.96.0 /19
4. Ağ                    11111111. 11111111. 1   0   0 00000.00000000 = 100.0.128.0 /19
5. Ağ                    11111111. 11111111. 1   0   1 00000.00000000 = 100.0.160.0 /19
6. Ağ                    11111111. 11111111. 1   1   0 00000.00000000 = 100.0.192.0 /19
7. Ağ                    11111111. 11111111. 1   1   1 00000.00000000 = 100.0.224.0 /19

Subnetteki Netwok ID ‘leri bulalım. Ağdaki ilk IP o ağın Network ID’sidir. Verilebilecek son IP ise  o ağın broadcast adresidir. Network ID ile broad cast arasında kalan Ip adresleri hostlara verilir.
                        Network ID                 IP Aralığı                                 Broadcast
0. Ağ               100.0.0.0/19               100.0.0.1-100.0.31.254          100.0.31.255
1. Ağ               100.0.32.0/19             100.0.32.1-100.0.63.254        100.0.63.255
2. Ağ               100.0.64.0/19             100.0.64.1-100.0.95.254        100.0.95.255
3. Ağ               100.0.96.0/19             100.0.96.1-100.0.127.254      100.0.127.255
4. Ağ               100.0.128.0/19           100.0.128.1-100.0.159.254    100.0.159.255
5. Ağ               100.0.160.0/19           100.0.160.1-100.0.191.254    100.0.191.255
6. Ağ               100.0.192.0/19           100.0.192.1-100.0.223.254    100.0.223.255
7. Ağ               100.0.224.0/19           100.0.224.1-100.0.255.254    100.0.255.255




VLSM
Variable Lengt Subnet Mask
(Super Subneting)

            Bu yapıda ağ bölümlemesi ağ maskelerindeki bitlerin kullanılması ile yapılır. Yani 10.0.0.0/8 ağını 6 alt ağa bölmek isteniyorsa 6 rakamına ulaşana kadar yada geçene kadar 2 sayısı 2 ile çarpılır. 2 sayısı kaç kere kendisi ile çarpıldıysa, o kadar bit kullanılır.
2                      Bir 2
2x2=4             İki 2
4x2=8             Üç 2.
2x2X2=8         ‘da denilebilir.
2n = 8
n=8 Network

8 sayısına ulaşmak için 2 sayısının  3 defa kendisi ile çarpılması gerekti.
Yani ağı 6 ‘ya değil 8’e bölmek zorunda kalıyoruz.
Bu durumda 8+3=11 bit ağ maskesinde kullanılacak anlamına geliyor.
10.0.0.0/8        Subnet açılımı : 255.0.0.0
                                                11111111.00000000. 00000000. 00000000.

İlk 8 bite dokunamıyoruz. O halde kullanacağımız 3 biti de eklersek yeni subnet değeri aşağıdaki gibi olacaktır..

10.0.0.0/11      Subnet açılımı : 255.224.0.0
                                                11111111.11100000.0000000.00000000

1   1   1   1   1   1   1   1.  1   1   1   0   0   0  0   0.  0   0   0   0   0   0   0   0.  0   0   0   0   0   0   0   0
128    64      32      16      8        4       2        1        128    64      32      16      8        4        2        1       128    64      32      16      8        4        2        1        128    64     32      16      8        4        2        1
            255                             224                             0                                             0

Yani ağdaki bölümlenen ağlardaki her makinaya verilecek ağ maskesini bulmuş olduk.
Şimdi de;
10.0.0.0/11 ağıdaki Network ID’lerini bulmak için kullanılan 3 bitin olasıkları hesaplanır.

10.0.0.0/11      Subnet açılımı : 255.          224         .0            .0
                                                11111111.11100000.0000000.00000000

                                                                 128   64   32                  
0. Ağ                                        11111111. 0   0   0 00000.00000000.0000000 = 10.0.0.0 /11
1. Ağ                                        11111111. 0   0   1 00000.00000000.0000000 = 10.32.0.0 /11
2. Ağ                                        11111111. 0   1   0 00000.00000000.0000000 = 10.64.0.0 /11
3. Ağ                                        11111111. 0   1   1 00000.00000000.0000000 = 10.96.0.0 /11
4. Ağ                                        11111111. 1   0   0 00000.00000000.0000000 = 10.128.0.0 /11
5. Ağ                                        11111111. 1   0   1 00000.00000000.0000000 = 10.160.0.0 /11
6. Ağ                                        11111111. 1   1   0 00000.00000000.0000000 = 10.192.0.0 /11
7. Ağ                                        11111111. 1   1   1 00000.00000000.0000000 = 10.224.0.0 /11

            Yukarıda görüleceği gibi 10.0.0.0/8 ağını 10.0.0.0./11 olarak sekiz alt ağa bölmüş olduk. Bu ağların Network ID’lerinide kullandığımız 3 bitin olasılıklarıyla (1 olan bitlere denk gelen sayıyı yada sayıları hesaplayarak) buluk.

                        Network ID                 IP Aralığı                                             Broadcast
0. Ağ               10.0.0.0/11                 10.0.0.1 – 10.31.255.254                   10.31.255.255
1. Ağ               10.32.0.0/11               10.32.0.1 – 10.63.255.254                 10.63.255.255
2. Ağ               10.64.0.0/11               10.64.0.1 – 10.95.255.254                 10.95.255.255
3. Ağ               10.96.0.0/11               10.96.0.1 – 10.127.255.254               10.127.255.255
4. Ağ               10.128.0.0/11             10.128.0.1 – 10.159.255.254             10.159.255.255
5. Ağ               10.160.0.0/11             10.160.0.1 – 10.191.255.254             10.191.255.255
6. Ağ               10.192.0.0/11             10.192.0.1 – 10.223.255.254             10.223.255.255
7. Ağ               10.224.0.0/11             10.224.0.1 – 10.255.255.254             10.255.255.255

4. Ağı 4 subnete bölelim.
Yani 10.128.0.0/11

4 sayısına ulaşmak için 2 sayısı kendisiyle 4 sayısına ulaşana yada geçene kadar kendisiyle çarpılır.

2 =2     : Bir tane 2
2x2=4  : İki tane 2

Bu durumda 2 bit daha kullanmam gerekiyor. İlk 11 bite yine dokunamıyoruz. Yeni subnetleri oluşturmak için ihtiyacım olan bit sayısını bana verilen IP bloğuna ekliyorum. Bu şekilde Subnet mask adressini buluyorum. 11+2=13.

4 sayısına ulaşmak için 2 sayısının  2 defa kendisi ile çarpılması gerekti.

Bu durumda 11+2=13 bit ağ maskesinde kullanılacak anlamına geliyor.
10.128.0.0/11 Subnet açılımı : 255.224.0.0
                                                11111111.11100000. 00000000. 00000000.

İlk 11 bite dokunamıyoruz. O halde kullanacağımız 2 biti de eklersek yeni subnet değeri aşağıdaki gibi olacaktır..

10.128.0.0/13  Subnet açılımı : 255.248.0.0
                                                11111111.11111000.0000000.00000000

1   1   1   1   1   1   1   1.  1   1   1   1   1   0  0   0.  0   0   0   0   0   0   0   0.  0   0   0   0   0   0   0   0
128    64      32      16      8        4       2        1        128    64      32      16      8        4        2        1       128    64      32      16      8        4        2        1        128    64     32      16      8        4        2        1
            255                             248                             0                                             0

Yani ağdaki bölümlenen ağlardaki her makinaya verilecek ağ maskesini bulmuş olduk.


10.128.0.0/13 ağıdaki Network ID’lerini bulmak için kullanılan 2 bitin olasıkları hesaplanır. Burada önemli olan nokta elimizde 2. octette 128 rakamının olmasıdır. 2. octetteki 1 olan bitlerin değeri 128. Ve bize verilen IP aralığı 10.128.0.0/11 aralığı. Yani ilk 11 bite dokunamıyoruz. Ağı bölmek için gerekli 2 bitin değerlerini/kombinasyonlarını 2. octette önceden kalan 128 değerinin üstüne ekleme yaparak devam ediyoruz.

10.128.0.0/13  Subnet açılımı : 255.          248         .0            .0
                                                11111111.11111000.0000000.00000000
 

                                             128   64   32  16   8                 
0. Ağ                    11111111. 1   0   0   0   0 000.00000000.0000000 = 10.128.0.0 /13
1. Ağ                    11111111. 1   0   0   0   1 000.00000000.0000000 = 10.136.0.0 /13
2. Ağ                    11111111. 1   0   0   1   0 000.00000000.0000000 = 10.144.0.0 /13
3. Ağ                    11111111. 1   0   0   1   1 000.00000000.0000000 = 10.152.0.0 /13

 Yukarıda görüleceği üzere ilk 11 bite dokunamıyoruz. Bize verilen IP aralığı 10.128.0.0/11. Bu ip aralığı 10.128.0.1 ile 10.159.255.254 dür. Biz bu ip aralığını 4 subnette bölüyoruz.  
İlk 11 bit bizi sınırlandırıyor. Bu şekilde yukarıdaki 10.128.0.0 ile 10.159.255.255 aralığında bölme işlemi yapabiliyoruz. 2 bitin olasılıkları bizim ağ adreslerimizi belirliyor. Zaten elimizde 128 sayısı var. İşte bu sayının üzerine diğer bitlerin olasılıklarına göre değerlerini ekliyoruz.

Network ID’leri bulalım.
                        Network ID                 IP Aralığı                                            Broadcast
0. Ağ               10.128.0.0/13             10.128.0.1 – 10.135.255.254             10.135.255.255
1. Ağ               10.136.0.0/13             10.136.0.1 – 10.143.255.254             10.143.255.255
2. Ağ               10.144.0.0/13             10.144.0.1 – 10.151.255.254             10.151.255.255
3. Ağ               10.152.0.0/11             10.152.0.1 – 10.159.255.254             10.159.255.255

Hiç yorum yok:

Yorum Gönder