IPv4 Alt Ağ Nasıl Çalışır?


439

Bu IPv4 Alt Ağları ile ilgili Kanonik bir Soru .

İlgili:

Alt Ağ Nasıl Çalışır ve Elinizde veya Kafanızda Nasıl Yaparsınız ? Birisi hem kavramsal olarak hem de birkaç örnekle açıklayabilir mi? Sunucu Hatası, çok sayıda alt ağ ödevi sorusu alır; bu nedenle bunları Sunucu Arızasının kendisine yönlendirmek için bir yanıt kullanabiliriz.

  • Eğer bir ağım varsa, nasıl bölüneceğini nasıl bulabilirim?
  • Ağ maskesi verildi ise, bunun için hangi ağ aralığının ne olduğunu nasıl bilebilirim?
  • Bazen bir sayının ardından bir eğik çizgi vardır, bu sayı nedir?
  • Bazen bir alt ağ maskesi vardır, ancak bir joker maske de aynı şey gibi görünür, ancak farklı mıdır?
  • Birisi bunun için ikili bilgiyle ilgili bir şeyden bahsetti mi?

Bu iki bölümlü cevap , IPv4 adres hesaplaması hakkında bilmek istediğiniz her şeyi ve daha fazlasını açıklar.
Ron Maupin

Yanıtlar:


648

IP alt ağları, yönlendiricilerin paketler için uygun hedefleri seçmesini sağlamak için bulunur. Mantıksal nedenlerden (güvenlik duvarı, vb.) Veya fiziksel ihtiyaçtan (daha küçük yayın alanları, vb.) Daha büyük ağları bölmek için IP alt ağlarını kullanabilirsiniz.

Basitçe söylemek gerekirse, IP yönlendiricileri yönlendirme kararları almak için IP alt ağlarınızı kullanır. Bu kararların nasıl çalıştığını ve IP alt ağlarının nasıl planlandığını anlayın.

1'e kadar sayıyor

Zaten ikili (temel 2) gösterimde akıcıysanız, bu bölümü atlayabilirsiniz.

Geride kalanlar için: İkili gösterimde akıcı olmadığın için utan!

Evet, biraz zor olabilir. İkili sayıyı saymayı öğrenmek ve ikiliyi ondalık sayıya dönüştürmek için kısayolları öğrenmek gerçekten, gerçekten çok kolaydır. Nasıl yapılacağını gerçekten bilmelisin.

İkili olarak saymak çok basittir çünkü sadece 1'e nasıl sayılacağını bilmek zorundasınız!

Bir arabanın “kilometre sayacını” düşünün, bunun dışında geleneksel bir kilometre sayacının aksine her bir rakam yalnızca 1'den 1'e kadar sayılabilir. Otomobil fabrikadan yeni çıktığında kilometre sayacı "00000000" yazar.

İlk milinizi sürdüğünüzde kilometre sayacı “00000001” yazar. Çok uzak çok iyi.

İkinci milinizi sürdüğünüzde kilometre sayacının ilk basamağı "0" a geri döner (maksimum değer "1" olur) ve kilometre sayacının ikinci basamağı "1" e döner ve kilometre sayacının okunmasını sağlar " 00000010" . Bu, ondalık gösterimde 10 numaraya benziyor, ancak gerçekte 2 (iki ana kadar araba kullandığınız mil sayısı).

Üçüncü kilometreyi kullandığınızda, kilometre sayacı "00000011" yazıyor, kilometre sayacının ilk basamağı tekrar dönüyor. İkili gösterimde "11" sayısı, ondalık sayı 3 ile aynıdır.

Son olarak, dördüncü milinizi sürdüğünüzde, her iki hane (üçüncü milin sonunda "1" okuyordu) sıfıra dönüyor ve 3. hane "1" konumuna geliyor, bize veriyor " 00000100" . Bu 4 numaralı ondalık sayının ikili gösterimidir.

İsterseniz hepsini ezberleyebilirsiniz, ancak sayma sayısı arttıkça küçük sayacın " nasıl döndüğünü" gerçekten anlamanız yeterlidir . Geleneksel bir ondalık kilometre sayacının çalışması ile tamamen aynıdır, ancak her bir rakamın kurgusal "ikili kilometre sayacımız" da yalnızca "0" veya "1" olması gerekir.

Ondalık bir sayıyı ikiliye dönüştürmek için kilometre sayacını ileri doğru yuvarlayabilirsiniz, onay işaretini işaretleyin, ikiliye dönüştürmek istediğiniz ondalık sayıya eşit sayıda yuvarlayıncaya kadar yüksek sesle sayın. Tüm bu couting ve haddelemeden sonra kilometre sayacında ne varsa, saydığınız ondalık sayının ikili gösterimi olacaktır.

Kilometre sayacının nasıl öne geçtiğini anladığınızdan, onun da geriye nasıl döndüğünü de anlayacaksınız. Kilometre sayacında görüntülenen bir ikili sayıyı ondalık basamağa dönüştürmek için kilometre sayacını bir seferde bir tik atarak, kilometre sayacı "00000000" gösterinceye kadar yüksek sesle hesaplayabilirsiniz. Tüm bu sayma ve yuvarlanma yapıldığında, yüksek sesle söylediğiniz son sayı, kilometre sayacının başladığı ikili sayının ondalık gösterimi olacaktır.

İkili ve ondalık arasında değerleri bu şekilde dönüştürmek çok sıkıcı olurdu . Yapabilirsin, ama çok verimli olmazdı. Daha hızlı yapmak için küçük bir algoritma öğrenmek daha kolaydır.

Çabucak bir kenara: İkili sayıdaki her rakam "bit" olarak bilinir. Bu "ikili" den "b" ve "rakam" dan "o" dır. Biraz ikili bir rakamdır.

"1101011" gibi bir ikili sayıyı ondalık değere dönüştürmek, kullanışlı bir küçük algoritma ile basit bir işlemdir.

İkili sayıdaki bit sayısını sayarak başlayın. Bu durumda, 7 vardır. Bir kağıda 7 bölüm (aklınızda, bir metin dosyasında vb.) Yapın ve sağdan sola doldurmaya başlayın. En sağdaki yuvaya, "1" sayısını girin, çünkü daima "1" ile başlayacağız. Soldaki bir sonraki yuvada sağdaki yuvaya iki kat değer girin (yani, bir sonrakinde "2", bir sonrakinde "4") ve tüm yuvalar dolana kadar devam edin. (2 'nin gücü olan bu sayıları ezberlemeye başlayacaksın, bunu daha da fazla yapıyorsun. Kafamda 131,072'ye kadar tamamım, ancak genellikle bundan sonra bir hesap makinesine veya kağıda ihtiyacım var).

Öyleyse, kağıdınızda aşağıdakiler küçük yuvalarınızda olmalıdır.

 64    |    32    |    16    |    8    |    4    |    2    |    1    |

Bitleri, aşağıdaki gibi slotların altındaki ikili sayıdan kopyalayın:

 64    |    32    |    16    |    8    |    4    |    2    |    1    |
  1          1          0         1         0         1         1

Şimdi bazı semboller ekleyin ve sorunun cevabını hesaplayın:

 64    |    32    |    16    |    8    |    4    |    2    |    1    |
x 1        x 1        x 0       x 1       x 0       x 1       x 1
---        ---        ---       ---       ---       ---       ---
       +          +          +         +         +         +         =

Bütün matematiği yaparken şunu yapmalısın:

 64    |    32    |    16    |    8    |    4    |    2    |    1    |
x 1        x 1        x 0       x 1       x 0       x 1       x 1
---        ---        ---       ---       ---       ---       ---
 64    +    32    +     0    +    8    +    0    +    2    +    1    =   107

Anladım. Ondalık "1101011" 107'dir. Sadece basit adımlar ve kolay matematik.

Ondalık sayıyı ikiliye dönüştürmek de aynı derecede kolaydır ve aynı temel algoritmadır, tersten çalıştırın.

218 sayısını ikiliye dönüştürmek istediğimizi söyleyin. Bir kağıdın sağından başlayarak "1" numarasını yazın. Sola doğru, bu değeri ikiye katlayın (yani, "2") ve son değeri iki katına çıkarmak için kağıdın soluna doğru ilerlemeye devam edin. Yazmak üzere olduğunuz sayı, dönüştürülen sayıdan büyükse, yazma işlemini durdurun. aksi takdirde, önceki sayıyı ve yazıyı iki katına çıkarmaya devam edin. (34,157,216,092 gibi büyük bir sayıyı bu algoritmayı kullanarak ikiliye dönüştürmek biraz sıkıcı olabilir ama kesinlikle mümkün.)

Öyleyse, kağıdın üzerinde olmalıydı:

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

128'de sayı yazmayı bıraktınız, çünkü size 256 verecek olan 128'i ikiye katlamak, dönüştürülen sayıdan daha büyük olacaktı (218).

En soldaki sayıdan başlayarak üstüne "218" yazın (128) ve kendinize sorun: "218 128'den büyük mü yoksa 128 mi?" Cevabınız evet ise, "128" altında "1" çizin. "64" nin üstüne, 218 eksi 128 (90) sonucunu yazın.

"64" e bakın, kendinize sorun: "90, 64'ten büyük mü yoksa 64 mü?" Öyleyse, "64" altına "1" yazarsınız, sonra 64'ü 90'dan çıkarır ve "32" üzerine yazarsınız (26).

Yine de "32" ye ulaştığınızda, 32'nin 26'dan büyük veya ona eşit olmadığını görüyorsunuz. Bu durumda, "32" 'nin altına "0" yazın, (26) (32)' yi yukarıdan "yukarıdan" kopyalayın. 16 "ve sonra kendinize sayıların geri kalanıyla aynı soruyu sormaya devam edin.

Hepiniz bittiğinde, şunları yapmalısınız:

 218         90         26         26        10         2         2         0
 128    |    64    |    32    |    16    |    8    |    4    |    2    |    1    |
   1          1          0          1         1         0         1         0

En üstteki sayılar sadece hesaplamada kullanılan notlardır ve bizim için çok bir şey ifade etmiyor. Alt kısımda, "11011010" bir ikili sayı görüyorsunuz. Tabii ki, 218, ikiliye çevrilmiş, "11011010".

Bu çok basit işlemlerin ardından, hesap makinesini kullanarak ikili dosyayı ondalık sayıya çevirip tekrar değiştirebilirsiniz. Matematiğin hepsi çok basittir ve kurallar biraz pratikle ezberlenebilir.

Adresleri Bölme

IP teslimatını pizza teslimatı gibi düşünün.

"123 Ana Cadde" ye pizza vermeniz istendiğinde, sizin için, bir insan olarak, "Ana Cadde" isimli caddede "123" numaralı binaya gitmek istediğinizi açıkça belirtti. Ana caddeye 100 blok gitmeniz gerektiğini bilmek kolaydır, çünkü bina sayısı 100 ile 199 arasındadır ve çoğu şehir bloğu yüzlerce numaralandırılmıştır. Adresin nasıl bölüneceğini "sadece biliyorsun".

Yönlendiriciler paket gönderir, pizza göndermez. İşleri pizza şoförü ile aynıdır: Kargo (paketler) hedefine mümkün olduğu kadar yaklaştırmak için. Bir yönlendirici iki veya daha fazla IP alt ağına bağlı (hiç de faydalı olmak için). Bir yönlendirici, paketlerin hedef IP adreslerini incelemeli ve bu hedef adreslerini teslimat hakkında kararlar almak için pizza sürücüsü gibi "sokak adı" ve "bina numarası" bileşenlerine bölmelidir.

Bir IP ağındaki her bilgisayar (veya "ana bilgisayar") benzersiz bir IP adresi ve alt ağ maskesi ile yapılandırılmıştır. Bu IP adresi, "ana bilgisayar kimliği" adı verilen bir "bina numarası" bileşenine (yukarıdaki örnekte "123" gibi) ve "yukarıdaki örnekteki" Ana Cadde "gibi)" sokak adı "bileşenine ayrılabilir. "ağ kimliği". İnsan gözümüz için, bina numarası ve cadde adının "123 Ana Cadde" de nerede olduğunu görmek kolaydır, ancak bu bölümü "10.13.216.41" 'de, 255.255.192.0 "alt ağ maskesiyle görmek zordur.

IP yönlendiricileri, yönlendirme kararları almak için IP adreslerinin bu bileşen parçalarına nasıl ayrılacağını "bilir". IP paketlerinin nasıl yönlendirildiğini anlamak, bu süreci anlamaya dayandığından, IP adreslerinin nasıl ayrılacağını da bilmemiz gerekir. Neyse ki, ana bilgisayar kimliğini ve ağ kimliğini bir IP adresinden ve alt ağ maskesinden çıkarmak gerçekten oldukça kolaydır.

IP adresini ikili olarak yazarak başlayın (henüz kafanızda bunu yapmayı öğrenmediyseniz bir hesap makinesi kullanın, ancak bunu nasıl yapacağınızı öğrenerek bir not alın - bu gerçekten, gerçekten kolay ve karşıdaki cinsiyeti etkiliyor. partileri):

      10.      13.     216.      41
00001010.00001101.11011000.00101001

Alt ağ maskesini de ikili olarak yazın:

     255.     255.     192.       0
11111111.11111111.11000000.00000000

Yan yana yazılmış, "1" in "durduğunun" alt ağ maskesindeki IP adresindeki bir noktaya hizalandığını görebilirsiniz. Ağ kimliğinin ve ana bilgisayar kimliğinin bölündüğü nokta budur. Yani, bu durumda:

      10.      13.     216.      41
00001010.00001101.11011000.00101001 - IP address
11111111.11111111.11000000.00000000 - subnet mask
00001010.00001101.11000000.00000000 - Portion of IP address covered by 1's in subnet mask, remaining bits set to 0
00000000.00000000.00011000.00101001 - Portion of IP address covered by 0's in subnet mask, remaining bits set to 0

Yönlendiriciler, ağ kimliğini çıkarmak için IP adresinde 1'lerin kapsadığı bitleri "maskelenmek" için alt ağ maskesini kullanırlar ("maskelenmemiş" bitleri 0'larla değiştirmek):

      10.      13.     192.       0
00001010.00001101.11000000.00000000 - Network ID

Benzer şekilde, IP adresinde 0'ların kapsadığı bitleri "maskelemek" için alt ağ maskesini kullanarak (yine "maskelenmemiş" bitleri tekrar 0'larla değiştirerek) bir yönlendirici ana bilgisayar kimliğini çıkarabilir:

       0.       0.      24.      41
00000000.00000000.00011000.00101001 - Portion of IP address covered by 0's in subnet mask, remaining bits set to 0

İnsan gözümüzün, pizza teslimi sırasında fiziksel adreslerde "bina numarası" ile "sokak adı" arasında olduğu gibi, ağ kimliği ile ana bilgisayar kimliği arasında "ara" yı görmesi o kadar kolay değil, ancak nihai etki aynı.

Artık IP adreslerini ve alt ağ maskelerini ana bilgisayar kimlikleri ve ağ kimlikleri olarak bölebildiğiniz için IP'yi bir yönlendirici gibi yönlendirebilirsiniz.

Daha fazla Terminoloji

İnternet üzerinden ve bu cevabın geri kalanında (IP / sayı) yazılan alt ağ maskelerini göreceksiniz. Bu gösterim "Sınıfsız Etki Alanları Arası Yönlendirme" (CIDR) notasyonu olarak bilinir. "255.255.255.0", başlangıçta 1 bitlik 24 bitten oluşur ve bunu "/ 24" olarak yazmak "255.255.255.0" dan daha hızlıdır. Bir CIDR numarasını ("/ 16" gibi) noktalı ondalık bir alt ağ maskesine dönüştürmek için, sadece bu 1'leri yazın, 8 bitlik gruplara bölün ve ondalık karaktere dönüştürün. (Örneğin, bir "/ 16", "255.255.0.0" dır.)

"Eski günlerde", alt ağ maskeleri belirtilmedi, ancak IP adresinin belirli bitlerine bakarak elde edildi. Örneğin, 0 - 127 ile başlayan bir IP adresinde, 255.0.0.0 ("A sınıfı" IP adresi olarak adlandırılan) olarak adlandırılmış bir alt ağ maskesi vardı.

Bu zımni alt ağ maskeleri bugün kullanılmamaktadır ve sınıfsız IP adreslemeyi desteklemeyen çok eski ekipmanlarla veya eski protokollerle (RIPv1 gibi) başa çıkma konusundaki talihsizlik durumunuz olmadığı sürece, onlar hakkında bir şeyler öğrenmenizi önermiyorum. Adreslerin bu "sınıflarından" daha fazla bahsetmeyeceğim çünkü bugün uygulanabilir değil ve kafa karıştırıcı olabilir.

Bazı cihazlar "joker maskeleri" adı verilen bir işaret kullanır. Bir "joker karakter maskesi", 0'ların olacağı yerde tüm 0'ların bulunduğu 1'lerin ve 1'lerin olduğu alt ağların maskelerinden başka bir şey değildir. / 26’nın "joker maskesi":

 11111111.11111111.11111111.11000000 - /26 subnet mask
 00000000.00000000.00000000.00111111 - /26 "wildcard mask"

Genellikle, erişim kontrolü listelerinde veya güvenlik duvarı kurallarında ana bilgisayar kimlikleriyle eşleştirmek için kullanılan "joker maskeleri" görürsünüz. Onları burada daha fazla tartışmayacağız.

Router Nasıl Çalışır?

Daha önce de söylediğim gibi, IP yönlendiricileri, kargolarını (paketlerini) hedeflerine ulaştırmaları gereken bir pizza dağıtım sürücüsüne benzer bir işe sahiptir. 192.168.10.2 adresine bağlı bir paket ile sunulduğunda, bir IP yönlendiricisinin ağ arabirimlerinden hangisinin bu paketi hedefine daha yakın alacağına karar vermesi gerekir.

Bir IP yönlendiricisi olduğunuzu ve size bağlı numaralandırılmış arabirimleriniz olduğunu varsayalım:

  • Ethernet0 - 192.168.20.1, alt ağ maskesi / 24
  • Ethernet1 - 192.168.10.1, alt ağ maskesi / 24

"192.168.10.2" bir hedef adresiyle teslim edilecek bir paket alırsanız, Ethernet1 arabirim adresinin paketin hedefine karşılık geldiğinden, paketin Ethernet1 arabiriminden gönderilmesi gerektiğini (insan gözlerinizle) söylemeniz oldukça kolaydır. adres. Ethernet1 arayüzüne bağlı tüm bilgisayarlarda "192.168.10" ile başlayan IP adresleri olacaktır, çünkü Ethernet1 arayüzünüze atanan IP adresinin ağ kimliği "192.168.10.0" dır.

Bir yönlendirici için, bu rota seçim işlemi bir yönlendirme tablosu oluşturularak ve bir paketin her gönderiminde tabloya danışılarak yapılır. Bir yönlendirme tablosu, ağ kimliği ve hedef arayüz adlarını içerir. Bir IP adresinden ve alt ağ maskesinden bir ağ kimliğini nasıl elde edeceğinizi zaten biliyorsunuz, bu nedenle bir yönlendirme tablosu oluşturmaya gidiyorsunuz. İşte bu yönlendirici için yönlendirme tablomuz:

  • Ağ Kimliği: 192.168.20.0 (11000000.10101000.00010100.00000000) - 24 bit alt ağ maskesi - Arabirim Ethernet0
  • Ağ Kimliği: 192.168.10.0 (11000000.10101000.00001010.00000000) - 24 bit alt ağ maskesi - Arabirim Ethernet1

"192.168.10.2" için gelen gelen paketimiz için, yalnızca bu paketin adresini ikiliye dönüştürmemiz gerekir (yönlendirici, onu başlatmak için kablodan ikili olarak alır) ve yönlendirmemizdeki her adresle eşleştirmeye çalışırız Bir girdiyle eşleşene kadar tablo (alt ağ maskesindeki bit sayısına kadar).

  • Gelen paket varış yeri: 11000000.10101000.00001010.00000010

Bunu yönlendirme tablomuzdaki girişlerle karşılaştırarak:

11000000.10101000.00001010.00000010 - Destination address for packet
11000000.10101000.00010100.00000000 - Interface Ethernet0
!!!!!!!!.!!!!!!!!.!!!????!.xxxxxxxx - ! indicates matched digits, ? indicates no match, x indicates not checked (beyond subnet mask)

11000000.10101000.00001010.00000010 - Destination address for packet
11000000.10101000.00001010.00000000 - Interface Ethernet1, 24 bit subnet mask
!!!!!!!!.!!!!!!!!.!!!!!!!!.xxxxxxxx - ! indicates matched digits, ? indicates no match, x indicates not checked (beyond subnet mask)

Ethernet0 girişi ilk 19 bit para cezasıyla eşleşir, ancak eşleşmeyi durdurur. Bu, uygun hedef arayüz olmadığı anlamına gelir. Ethernet1 arayüzünün hedef adresin 24 bitiyle eşleştiğini görebilirsiniz. Ah, ha! Paket Ethernet1 arayüzü için bağlanmıştır.

Gerçek hayat yönlendiricisinde, yönlendirme tablosu en uzun alt ağ maskelerinin ilk eşleşmeleri (yani en özel yolları) denetleyecek şekilde ve sayısal olarak eşleşme bulunursa paketin yönlendirilebileceği şekilde sıralanır ve başka eşleştirme girişimi gerekli değildir (bunun anlamı, 192.168.10.0’ın önce listeleneceği ve 192.168.20.0’ın hiçbir zaman kontrol edilmeyeceği). İşte, bunu biraz basitleştiriyoruz. Süslü veri yapıları ve algoritmalar IP yönlendiricileri daha hızlı yapar, ancak basit algoritmalar aynı sonuçları verir.

Statik Yollar

Bu noktaya kadar, doğrudan ona bağlı ağlar olduğu varsayımsal yönlendiricimiz hakkında konuştuk. Açıkçası, dünyanın gerçekte nasıl çalıştığını değil. Pizza-sürüş benzetmesinde, bazen sürücünün binaya ön bürodan daha fazla girmesine izin verilmez ve pizzayı son alıcıya teslim edilmek üzere başka birine teslim etmek zorunda kalır (güvensizliğinizi askıya alın ve Ben analojiyi uzatırım, lütfen).

Yönelticimizi önceki "Yönlendirici A" örneklerinden arayarak başlayalım. RouterA'nın yönlendirme tablosunu zaten biliyorsunuz:

  • Ağ Kimliği: 192.168.20.0 (11000000.10101000.00010100.00000000) - alt ağ maskesi / 24 - Arabirim RouterA-Ethernet0
  • Ağ Kimliği: 192.168.10.0 (11000000.10101000.00001010.00000000) - alt ağ maskesi / 24 - Arabirim RouterA-Ethernet1

Ethernet0 ve Ethernet1 arabirimlerine atanan IP adresleri 192.168.10.254/24 ve 192.168.30.1/24 olan başka bir yönlendirici, "Router B" olduğunu varsayalım. Aşağıdaki yönlendirme tablosuna sahiptir:

  • Ağ Kimliği: 192.168.10.0 (11000000.10101000.00001010.00000000) - alt ağ maskesi / 24 - Arabirim RouterB-Ethernet0
  • Ağ Kimliği: 192.168.30.0 (11000000.10101000.00011110.00000000) - alt ağ maskesi / 24 - Arabirim RouterB-Ethernet1

Güzel ASCII sanatında, ağ şöyle görünür:

               Interface                      Interface
               Ethernet1                      Ethernet1
               192.168.10.1/24                192.168.30.254/24
     __________  V                  __________  V
    |          | V                 |          | V
----| ROUTER A |------- /// -------| ROUTER B |----
  ^ |__________|                 ^ |__________|
  ^                              ^
Interface                      Interface
Ethernet0                      Ethernet0
192.168.20.1/24                192.168.10.254/24

Yönlendirici B'nin, 192.168.30.0/24 bir ağa nasıl bağlanacağını bildiğini, Yönlendirici A'nın hakkında hiçbir şey bilmediğini görebilirsiniz.

A yönlendiricisinin Ethernet0 arabirimine bağlı ağa bağlı olan 192.168.20.13 IP adresli bir bilgisayarın teslimat için Yönlendirici A'ya bir paket gönderdiğini varsayalım. Varsayımlı paketimiz, Yönlendirici B'nin Ethernet1 arayüzüne bağlı ağa bağlı bir cihaz olan 192.168.30.46 IP adresi için tasarlanmıştır.

Yukarıda gösterilen yönlendirme tablosu ile, Yönlendirici A'nın yönlendirme tablosundaki hiçbir giriş 192.168.30.46 hedefiyle eşleşmez, bu nedenle Yönlendirici A, paketi "Hedef ağ erişilemez" mesajı ile gönderen PC'ye geri göndermez.

Yönlendirici A'yı 192.168.30.0/24 ağının varlığının "farkında" hale getirmek için, Yönlendirici A'daki yönlendirme tablosuna aşağıdaki girişi ekledik:

  • Ağ Kimliği: 192.168.30.0 (11000000.10101000.00011110.00000000) - alt ağ maskesi / 24 - 192.168.10.254 aracılığıyla erişilebilir

Bu şekilde, Yönlendirici A, örnek paketimizin 192.168.30.46 hedefine uyan bir yönlendirme tablosu girişine sahiptir. Bu yönlendirme tablosu girişi etkili bir şekilde "192.168.30.0/24 için bağlı bir paket alırsanız, 192.168.10.254'e gönderin, çünkü onunla nasıl başa çıkacağını bilir." Bu, daha önce bahsettiğim "paketi ön masada pizza teslim etme" eylemidir - paketi hedefine nasıl yaklaştırabileceğini bilen bir başkasına vermek.

Bir yönlendirme tablosuna "elle" ekleme, "statik yol" eklemek olarak bilinir.

Eğer Yönlendirici B, paketleri 192.168.20.0 alt ağ maskesi 255.255.255.0 ağına teslim etmek istiyorsa, yönlendirme tablosunda da bir girişe ihtiyacı olacaktır:

  • Ağ Kimliği: 192.168.20.0 (11000000.10101000.00010100.00000000) - alt ağ maskesi / 24 - Erişim: 192.168.10.1 (192.168.10.0 ağındaki Yönlendirici A'nın IP adresi)

Bu, 192.168.30.0/24 ağı ve 192.168.20.0/24 ağı arasında 192.168.10.0/24 ağı arasında bu yönlendiriciler arasında dağıtım yolu oluşturacaktır.

Her zaman böyle bir "geçiş reklamı ağının" her iki tarafındaki yönlendiricilerin "uzak uç" ağ için bir yönlendirme tablosu girişine sahip olduğundan emin olmak istersiniz. Bizim örneğimizde yönlendirici B 192.168.20.13 de PC'den bir varsayımsal paket yönlendirici bağlı "uzak uç" ağa 192.168.20.0/24 için bir yönlendirme tablosu girdisi olmasaydı olurdu 192.168.30.46 de hedef cihazına almak, ancak 192.168.30.46'nın geri göndermeye çalıştığı herhangi bir cevap B yönlendiricisi tarafından "Hedef ağa erişilemez" olarak döndürülür. Tek yönlü iletişim genellikle istenmez. Bilgisayar ağlarında iletişimi düşündüğünüzde her iki yönde de akan trafiği düşündüğünüzden daima emin olun .

Statik yollardan çok fazla kilometre alabilirsiniz. EIGRP, RIP, vb. Gibi dinamik yönlendirme protokolleri, aslında yönlendiricilerin, aslında statik yollarla yapılandırılabilecek yönlendirme bilgileri alışverişi yapmanın bir yolundan başka bir şey değildir. Bununla birlikte, dinamik yönlendirme protokollerini statik yollar üzerinden kullanmanın en büyük avantajı, dinamik yönlendirme protokollerinin , yönlendirme tablosunu ağ koşullarına (bant genişliği kullanımı, "aşağı inen bir arabirim vb.) Dayalı olarak dinamik bir şekilde değiştirebilmesi ve buna göre bir dinamik kullanılmasıdır. Yönlendirme protokolü, ağ altyapısındaki arızaları veya darboğazları "yönlendiren" bir yapılandırmaya neden olabilir. (Dinamik yönlendirme protokolleri YOL olsa bu yanıt kapsamı dışında.)

Oradan oraya gidemezsin

Örneğimizde Router A örneğinde, "172.16.31.92" için bağlı bir paket geldiğinde ne olur?

Yönlendirici A yönlendirme tablosuna bakıldığında, ne hedef arayüzü ne de statik yol ilk 24 bit 172.18.31.92 (10101100.0001000000.00011111.01011100, BTW olan) ile eşleşmez.

Zaten bildiğimiz gibi, Yönlendirici A, paketi "Hedef ağ erişilemez" mesajı ile gönderene iade eder.

"192.168.20.254" adresinde oturan başka bir yönlendirici (Router C) olduğunu söyleyin. Router C'nin İnternet bağlantısı var!

                              Interface                      Interface                      Interface
                              Ethernet1                      Ethernet1                      Ethernet1
                              192.168.20.254/24              192.168.10.1/24                192.168.30.254/24
                    __________  V                  __________  V                  __________  V
((  heap o  ))     |          | V                 |          | V                 |          | V
(( internet )) ----| ROUTER C |------- /// -------| ROUTER A |------- /// -------| ROUTER B |----
((   w00t!  ))   ^ |__________|                 ^ |__________|                 ^ |__________|
                 ^                              ^                              ^
               Interface                      Interface                      Interface
               Ethernet0                      Ethernet0                      Ethernet0
               10.35.1.1/30                   192.168.20.1/24                192.168.10.254/24

Yönlendirici A, Yönlendirici C'nin Internet'e gönderebilmesi için Yönlendirici C'ye herhangi bir yerel arabirimle eşleşmeyen paketleri yönlendirebilirse iyi olur. "Varsayılan ağ geçidi" yolunu girin.

Yönlendirme tablomuzun sonuna şöyle bir giriş ekleyin:

  • Ağ Kimliği: 0.0.0.0 (00000000.00000000.0000000000.00000000) - alt ağ maskesi / 0 - Hedef yönlendirici: 192.168.20.254

"172.16.31.92" yi yönlendirme tablosundaki her bir girişle eşleştirmeye çalıştığımızda, bu yeni girdiye gireriz. İlk başta biraz kafa karıştırıcı. Hedef adresin sıfır bitini ... bekle ... ne ile eşleştirmek istiyoruz? Sıfır bit eşleştirme? Yani hiç bir eşleşme aramıyoruz. Bu yönlendirme tablosu girişi, temel olarak, "Teslimattan vazgeçmek yerine, buraya gelirseniz paketi 192.168.20.254 numaralı telefondan yönlendiriciye gönderin ve işlemesine izin verin" diyor.

192.168.20.254 bir yer DO için bir paket sunmak için biliyorum. Belirli bir yönlendirme tablosu girişi olmayan bir varış noktasına bağlı bir paketle karşı karşıya kaldığımızda, bu "varsayılan ağ geçidi" girişi her zaman eşleşir (hedef adresin sıfır bitiyle eşleştiğinden) ve bize yapabileceğimiz "son çare" bir yer verir teslimat için paketleri gönderin. Bazen "son çare olarak adlandırılan ağ geçidi" adı verilen varsayılan ağ geçidini duyarsınız.

Varsayılan bir ağ geçidi yolunun etkili olması için, yönlendirme tablosundaki diğer girişleri kullanarak erişilebilen bir yönlendiriciye başvurması gerekir. Örneğin, Yönlendirici A'da 192.168.50.254 varsayılan bir ağ geçidi belirtmeye çalıştıysanız, örneğin bu tür bir varsayılan ağ geçidine teslim başarısız olur. 192.168.50.254 Yönlendirici A'nın paketleri yönlendirme tablosundaki diğer rotalardan herhangi birini kullanmaya nasıl teslim edeceğini bildiği bir adres değildir, bu nedenle böyle bir adres varsayılan bir ağ geçidi olarak etkisiz olur. Bu tam olarak belirtilebilir: Varsayılan ağ geçidi, yönlendirme tablosunda başka bir rota kullanılarak erişilebilen bir adrese ayarlanmalıdır.

Gerçek yönlendiriciler, varsayılan ağ geçidini yönlendirme tablolarındaki son yol olarak depolar; böylece tablodaki diğer tüm girişleri eşleştiremediklerinde paketleri eşleştirirler.

Kentsel Planlama ve IP Yönlendirme

Bir IP alt ağını daha küçük IP alt ağlarına bölmek, kentsel planlamadır. Kentsel planlamada imar, peyzajın doğal özelliklerine (nehirler, göller vb.) Uyum sağlamak, şehrin farklı bölgeleri arasındaki trafik akışını etkilemek ve farklı arazi kullanım türlerini (endüstriyel, konut vb.) Ayırmak için kullanılır. . IP alt ağı gerçekten aynıdır.

Bir ağı alt ağa bağlamanın üç ana nedeni vardır:

  • İletişim ortamından farklı olarak farklı iletişim kurmak isteyebilirsiniz. İki bina arasında bir T1 WAN bağlantınız varsa, T1 üzerinden iletişimi kolaylaştırmak için bu bağlantıların uçlarına IP yönlendiricileri yerleştirilebilir. Her iki uçtaki ağlar (ve muhtemelen T1'in kendisindeki "geçiş reklamı" ağı) benzersiz IP alt ağlarına atanır, böylece yönlendiriciler T1 hattı boyunca hangi trafiğin gönderilmesi gerektiğine ilişkin kararlar alabilir.

  • Bir Ethernet ağında, ağın belirli bir bölümündeki yayın trafiğini sınırlamak için alt ağ kullanabilirsiniz. Uygulama katmanı protokolleri Ethernet'in yayın özelliğini çok faydalı amaçlar için kullanır. Aynı Ethernet ağına daha fazla sayıda ana bilgisayar yerleştirildikçe, teldeki (veya kablosuz Ethernet'teki havadaki) yayın trafiği yüzdesi, yayın dışı trafiğin yayınlanması için sorun yaratacak bir noktaya kadar yükselebilir. (Eski günlerde, yayın trafiği, her yayın paketini incelemeye zorlayarak ana bilgisayarların işlemcisini zorlayabilir. Bugün bu daha az muhtemeldir.) Anahtarlamalı Ethernet üzerindeki aşırı trafik, "çerçevelerin bilinmeyen yerlere gönderilmesi" şeklinde de olabilir. Bu durum, bir Ethernet anahtarının ağdaki her hedefi takip edememesinden kaynaklanır ve anahtarlamalı Ethernet ağlarının sonsuz sayıda ana bilgisayara ölçeklenememesinin nedeni budur. Karelerin taşmasının bilinmeyen yerlere taşmasının etkisi, alt ağ oluşturma amacıyla aşırı yayın trafiğinin etkisine benzer.

  • Farklı ev sahibi grupları arasında akan trafik türlerini "polise" vermek isteyebilirsiniz. Belki de baskı sunucusu cihazlarınız var ve onlara sunucu göndermek için yalnızca yetkili baskı kuyruğu sunucu bilgisayarları istiyorsunuz. Alt ağ kullanıcıları, yazdırma sunucusu aygıtına akmasına izin verilen trafiği sınırlandırarak, bilgisayarlarını yazdırma hesaplamasını atlamak için doğrudan yazdırma sunucusu aygıtlarıyla konuşacak şekilde yapılandıramazlar. Baskı sunucusu cihazlarını kendi başlarına bir alt ağa koyabilir ve yazıcı sunucusuna trafik göndermesine izin verilen ana bilgisayarların listesini kontrol etmek için yönlendirici veya güvenlik duvarında bir kural oluşturabilirsiniz. (Hem yönlendiriciler hem de güvenlik duvarları tipik olarak paketin kaynak ve hedef adreslerine dayanarak bir paketin nasıl teslim edilip edilmeyeceği konusunda kararlar alabilir. Güvenlik duvarları tipik olarak, takıntılı bir kişiliğe sahip alt yönlendirici türleridir. Paketlerin yükü hakkında çok ama çok endişeli olabilirler, oysa yönlendiriciler genellikle yükü göz ardı eder ve paketleri teslim eder.)

Bir şehir planlarken, sokakların birbirleriyle nasıl kesişeceğini planlayabilir ve trafik akışını etkilemek için yalnızca dönüş, tek yönlü ve çıkmaz sokakları kullanabilirsiniz. Ana Caddenin 30 blok uzunluğunda olmasını isteyebilirsiniz, her blokta 99 bina bulunuyor. Sokak numaralandırmanızı, Ana Sokaktaki her bloğun her blok için 100 oranında artan bir sokak sayısı aralığına sahip olacak şekilde planlaması oldukça kolaydır. Sonraki her bir bloktaki "başlangıç ​​numarasının" ne olduğunu bilmek çok kolaydır.

IP alt ağlarını planlarken, doğru sayıda ana bilgisayar kimliği (bina numarası) ile doğru sayıda alt ağ (sokak) oluşturmak ve alt ağları birbirine bağlamak için yönlendiricileri kullanmakla (kesişimler) ilgileniyorsunuz. Yönlendiricilerde belirtilen izin verilen kaynak ve hedef adresleriyle ilgili kurallar, trafik akışını daha da kontrol edebilir. Güvenlik duvarları takıntılı trafik polisi gibi davranabilir.

Bu cevabın amaçları doğrultusunda, alt ağlarımızı oluşturmak bizim en büyük endişemizdir. Ondalık çalışmak yerine, kentsel planlamada olduğu gibi, her bir alt ağın sınırlarını tanımlamak için ikili olarak çalışırsınız.

Devam ediyor: IPv4 Alt Ağ Nasıl Çalışır?

(Evet ... bir yanıtın maksimum boyutuna ulaştık (30000 karakter).)


13
@Joseph: Kendi iyiliğim için defalarca verdiğim bir konferans. > gülümse <İkili bölümünüze bakacağım. Ben matematik hakkında öğretmekten nefret ediyorum (ki bu gerçekten ne anlama gelen ikilik, üs 2'de saymaktır) çünkü bunda pek iyi değilim.
Evan Anderson,

2
Cevabı kırmakla ilgili tek sorunum, bir IP ağını alt ağlara nasıl etkili bir şekilde ayıracağınızı anlamadan önce alt ağlamanın neden var olduğunu (IP yönlendirme) anlaması gerektiğidir. Bir konuyu diğerinin yalıtımında tartışmak için hiçbir zaman iyi bir yol bulamadım. (Gerçekten, VLSM ile bir IP ağı tasarlamak doğal olarak gelir ve IP yönlendirmesini anladıktan sonra "mantıklı olur ..."
Evan Anderson

28
Ayrılma.
Joseph Kern

3
Serverfault'da şimdiye kadar görülen en kapsamlı yayın için +1
Scott Lundberg

3
Yalnızca Kilometre sayacı metafor için yükseltildi. Şimdi ikilinin insanlara nasıl çalıştığını açıklayacağımı biliyorum.
phuzion

142

Devam: IPv4 Alt Ağ Nasıl Çalışır?

ISS'niz size 192.168.40.0/24 ağ kimliğini (11000000.10101000.00101000.00000000) verir. Ağınızın farklı bölümleri (sunucular, istemci bilgisayarlar, ağ ekipmanları) arasındaki iletişimi sınırlandırmak için bir güvenlik duvarı / yönlendirici aygıtı kullanmak istediğinizi ve bunun gibi, ağınızın bu çeşitli bölümlerini ayırmak istediğinizi biliyorsunuz. IP alt ağlarına (bu, güvenlik duvarı / yönlendirici aygıt daha sonra arasında yönlendirebilir).

Var:

  • 12 sunucu bilgisayar, ancak% 50 daha fazla alabilirsiniz
  • 9 anahtar
  • 97 istemci bilgisayar, ancak daha fazlasını alabilirsiniz

192.168.40.0/24 'ü bu parçalara ayırmanın iyi bir yolu var mı?

İkisinin güçlerini bile düşünerek ve daha fazla sayıda olası cihazla çalışarak aşağıdakileri yapabilirsiniz:

  • 18 sunucu bilgisayar - İki en büyük güç 32
  • 9 anahtar - Bir sonraki en büyük güç 16
  • 97 istemci bilgisayar - İki sonraki en büyük güç 128

Belirli bir IP alt ağında, geçerli aygıt IP adresleri olarak kullanılamayan iki adres vardır: ana bilgisayar kimliği bölümünde tüm sıfırların bulunduğu adres ve tüm ana bilgisayar kimliği bölümünde bulunanların adresi. Bu nedenle, herhangi bir IP alt ağı için, mevcut ana bilgisayar adreslerinin sayısı, 32 eksi alt ağ maskesindeki bitlerin sayısı, eksi 2'nin gücünün iki katıdır. Dolayısıyla, 192.168.40.0/24 durumunda, alt ağ maskesinde 24 bit olduğunu görebilirsiniz. Bu, ana bilgisayar kimlikleri için 8 bit bırakır. 2'den 8'e kadar olan gücün 256 olduğunu biliyoruz. Bu 11 bitin "11111111" ve "00000000" kombinasyonlarının, ana bilgisayar kimlikleri için izin verilmediğinden, bizi 192.168.40.0/24 ağında atanabilecek 254 olası ana bilgisayarla bırakıyor.

Bu 254 ana bilgisayardan, istemci bilgisayarlara, anahtarlara ve sunucu bilgisayarlara bu alana sığabileceğimize benziyor, değil mi? Hadi deneyelim.

"Oynamak" için 8 bit alt ağ maskeniz var (İSS'nizin sağladığı alt ağ maskesi kapsamına girmeyen IP adresinin kalan 8 biti 192.168.40.0/24). Yukarıdaki cihazları alabilecek bir dizi benzersiz ağ kimliği oluşturmak için bu 8 bit'i kullanmanın bir yolunu bulmalıyız.

En büyük ağla başlayın - istemci bilgisayarlar. İki olası güç sayısından sonraki büyük gücün 128 olduğunu biliyorsunuz. İkilik olarak 128 sayısının "10000000" olduğunu. Neyse ki bizim için ücretsiz olan 8 bit yuvasına sığacak (eğer olmasaydı, bu başlangıç ​​alt ağımızın tüm cihazlarımızı barındıramayacak kadar küçük olduğunun bir göstergesi olurdu).

İSS'imiz tarafından sağlanan ağ kimliğimizi alalım ve iki ağa ayırarak tek bir alt ağ maskesi ekleyelim:

11000000.10101000.00101000.00000000 - 192.168.40.0 network ID
11111111.11111111.11111111.00000000 - Old subnet mask (/24)

11000000.10101000.00101000.00000000 - 192.168.40.0 network ID
11111111.11111111.11111111.10000000 - New subnet mask (/25)

11000000.10101000.00101000.10000000 - 192.168.40.128 network ID
11111111.11111111.11111111.10000000 - New subnet mask (/25)

Mantıklı olana kadar şuna bak. Alt ağ maskesini bir bit uzunluğa yükselttik, böylece ağ kimliğinin ana bilgisayar kimliği için kullanılmış olan bir biti kaplamasını sağladık. Bir bit sıfır ya da bir olabileceğinden, 192.168.40.0 ağımızı etkin bir şekilde iki ağa böldük. 192.168.40.0/25 ağındaki ilk geçerli IP adresi, en sağda "1" olan ilk ana bilgisayar kimliği olacaktır:

11000000.10101000.00101000.00000001 - 192.168.40.1 - First valid host in the 192.168.40.0/25 network

192.168.40.128 ağındaki ilk geçerli ana bilgisayar, aynı şekilde, en sağda "1" olan ilk ana bilgisayar kimliği olacaktır:

11000000.10101000.00101000.10000001 - 192.168.40.129 - First valid host in the 192.168.40.128/25 network

Her ağdaki en son geçerli ana bilgisayar, "1" olarak ayarlanan en sağdaki bit dışında her bitin bulunduğu ana bilgisayar kimliği olacaktır :

11000000.10101000.00101000.01111110 - 192.168.40.126 - Last valid host in the 192.168.40.0/25 network
11000000.10101000.00101000.11111110 - 192.168.40.254 - Last valid host in the 192.168.40.128/25 network

Böylece, bu şekilde, istemci bilgisayarlarımızı tutacak büyüklükte bir ağ oluşturduk ve daha küçük ağlara ayrılmak için aynı prensibi uygulayabileceğimiz ikinci bir ağ oluşturduk. Bir not yapalım:

  • İstemci bilgisayarlar - 192.168.40.0/25 - Geçerli IP'ler: 192.168.40.1 - 192.168.40.126

Şimdi, sunucularımız ve anahtarlarımız için ikinci ağı parçalamak için aynı şeyi yapıyoruz.

12 sunucu bilgisayarımız var, ancak 6 taneye kadar satın alabiliriz. Bize 2 olarak 32 olarak en yüksek gücü bırakan 18'i planlayalım. İkilik olarak, 32 "100000" dir, 6 bit uzunluğundadır. 192.168.40.128/25'te 7 bit alt ağ maskemiz kaldı, bu yüzden "oynamaya" devam etmek için yeterli bitimiz var. Bir bit daha alt ağ maskesi eklemek bize iki ağ daha sunar:

11000000.10101000.00101000.10000000 - 192.168.40.128 network ID
11111111.11111111.11111111.10000000 - Old subnet mask (/25)

11000000.10101000.00101000.10000000 - 192.168.40.128 network ID
11111111.11111111.11111111.11000000 - New subnet mask (/26)
11000000.10101000.00101000.10000001 - 192.168.40.129 - First valid host in the 192.168.40.128/26 network
11000000.10101000.00101000.10111110 - 192.168.40.190 - Last valid host in the 192.168.40.128/26 network

11000000.10101000.00101000.11000000 - 192.168.40.192 network ID
11111111.11111111.11111111.11000000 - New subnet mask (/26)
11000000.10101000.00101000.11000001 - 192.168.40.193 - First valid host in the 192.168.40.192/26 network
11000000.10101000.00101000.11111110 - 192.168.40.254 - Last valid host in the 192.168.40.192/26 network

Şimdi, 192.168.40.128/25'i, her biri 26 bit alt ağ maskesine veya toplam 62 olası ana bilgisayar kimliğine sahip iki ağa böldük. 2 ^ (32 - 26) - 2.

Bu, her iki ağın da sunucularımız ve anahtarlarımız için yeterli adrese sahip olduğu anlamına gelir! Notlar yapalım:

  • Sunucular - 192.168.40.128/26 - Geçerli IP'ler: 192.168.40.129 - 192.168.40.190
  • Anahtarlar - 192.168.40.192/26 - Geçerli IP'ler: 192.168.40.193 - 192.168.40.254

Bu tekniğe değişken uzunluklu alt ağ maskeleme (VLSM) adı verilir ve uygun şekilde uygulanırsa, "çekirdek yönlendiricilerin" daha küçük yönlendirme tablolarına sahip olmalarına neden olur ("rota özetlemesi" adı verilen bir işlemle). Bu örnekte İSS’miz durumunda, 192.168.40.0/24’te alt ağ oluşturduğumuzdan tamamen habersiz olabilirler. Yönlendiricileri 192.168.40.206 (anahtarlarımızdan biri) için bağlanmış bir pakete sahipse, yönlendiricimize iletmeyi bilmeleri gerekir (192.168.40.206 tarihinden bu yana yönlendiricisinin yönlendirme tablosundaki ağ kimliği ve alt ağ maskesi 192.168.40.0/24 ile eşleşir) ) ve yönlendiricimiz hedefe ulaştıracak. Bu, alt ağ rotalarımızı yönlendirme tablolarından uzak tutar. (Ben burada sadeleştiriyorum, ama sen anladın.)

Coğrafi olarak büyük ağları bu şekilde planlayabilirsiniz. Doğru "şehir planlaması" nı ön planda tuttuğunuz sürece (her bir alt ağdaki ana bilgisayar sayısını belli bir doğrulukla ve geleceğe dikkat ederek) bekletirseniz, temel yönlendiricilerde özetleyen büyük bir yönlendirme hiyerarşisi oluşturabilirsiniz. "çok az sayıda rotaya. Yukarıda gördüğümüz gibi, bir yönlendiricinin yönlendirme tablosunda bulunan rota sayısı arttıkça işini yavaşlatır. VLSM ile bir IP ağı tasarlamak ve yönlendirme tablolarını küçük tutmak İyi Bir Şeydir (tm).

Örneklerin Gerçekleşmemesi

Bu cevaptaki kurgusal dünya, açıkçası, kurgusaldır. Genelde 254'ten (trafik profiline bağlı) daha fazla ana bilgisayara sahip modern Ethernet Ethernet alt ağları yapabilirsiniz. Yorumlarda da belirtildiği gibi, yönlendiriciler arasında / 24 ağlarının kullanılması Gerçek Hayat (tm) ile tutarlı değildir. Şirin örnekler için yapar, ancak bir adres kaybıdır. Genellikle, a / 30 veya a / 31 ( nasıl / 31'in çalışmasıyla ilgili ayrıntılar için bkz. Http://www.faqs.org/rfcs/rfc3021.html / 31'in çalışması - kesinlikle bu cevabın kapsamı dışındadır) ağı İki yönlendirici arasında kesinlikle noktadan noktaya olan bağlantılar.


Küçük hata: "Son geçerli ana makine ..." den hemen sonraki kod "ilk geçerli ana bilgisayar" olarak adlandırmaya geri döner. Sanırım hala "son" demeli.
JoeCool1986,

@ JoeCool1986 - İyi yakalar.
Evan Anderson,

2
İki cevabın düzenli tutulduğundan emin olmak için bu cevabı oyuna çevireceğim.
l46kok

192.168.40.128'den iki alt ağ oluşturduğunuz ve 192.168.40.192 ağ kimliğini oluşturduğunuz bölümde, 192 nereden geldi?
user6607

@ user6607 Alt ağlar geriye doğru sayılır (boşluksuz). Örneğin, ilk alt ağ 0olarak temsil edilir 00000000. İkinci alt ağ 128böyledir 10000000ve üçüncü alt ağ , vb. 192Olarak temsil edilir 11000000. Yeni alt ağları bulmak için geriye doğru saymaya devam edin.
Joseph Kern,

76

Alt ağ

Alt ağ zor değildir, ancak korkutucu olabilir. Öyleyse mümkün olan en basit adımla başlayalım. İkili sayımı öğrenmek.

İkili

İkili bir baz 2 sayma sistemidir. Sadece iki sayıdan oluşur (1 ve 0). Sayma bu şekilde ilerler.

1 = 001 ( 0 + 0 + 1 = 1)
2 = 010 ( 0 + 2 + 0 = 2)
3 = 011 ( 0 + 2 + 1 = 3)
4 = 100 ( 4 + 0 + 0 = 4)
5 = 101 ( 4 + 0 + 1 = 5)

Öyleyse, her 1'in bir değer için bir yer tutucusu olduğunu hayal ederseniz (tüm ikili değerler ikinin gücüdür)

1     1     1     1     1 = 31
16  + 8  +  4  +  2  +  1 = 31

Öyleyse ... 100000 = 32. Ve 10000000 = 128. VE 11111111 = 255.

"255.255.255.0 alt ağ maskem var" derken gerçekten "11111111.11111111.11111111.00000000" alt ağ maskem var. " Alt ağları kısa bir el olarak kullanıyoruz.

Adresdeki periyotlar, her 8 ikili basamağı (bir sekizli) ayırır. IPv4'ün 32 bit (8 * 4) adres alanı olarak bilinmesinin nedeni budur.

Neden Subnet

IPv4 adresleri (192.168.1.1) yetersiz tedarik edildi. Alt ağ, bize kullanılabilir ağların (veya ana bilgisayarların) miktarını artırmanın bir yolunu sunar. Bu idari nedenlerden ve teknik nedenlerden dolayıdır.

Her IP adresi, ağ ve ana bilgisayar olmak üzere iki ayrı bölüme ayrılır. Varsayılan olarak, bir C Sınıfı adres (192.168.1.1), adresin ağ kısmı için ilk 3 okteti (192.168.1) kullanır. ve konakçı kısım olarak 4. sekizinci (.1).

Varsayılan olarak, bir C Sınıfı adres için bir ip adresi ve alt ağ maskesi böyle görünür

IP     192.168.1.1 
Subnet 255.255.255.0

Böyle ikili olarak

IP     11000000.10101000.00000001.00000001
Subnet 11111111.11111111.11111111.00000000

İkili örneğe tekrar bakın. Ağ için ilk üç oktetin kullanıldığını söylediğime dikkat edin. Ağ bölümünün hepsinin nasıl olduğuna dikkat edin? Hepsi bu alt ağ. Genişleyelim.

Ev sahibi kısmım için tek bir octet'im olduğu göz önüne alındığında (yukarıdaki örnekte). SADECE 256 ana bilgisayara sahip olabilirim (256, bir octet'in maksimum değeridir, 0'dan sayılır). Ancak başka küçük bir numara var: 2 ana bilgisayar adresini mevcut olanlardan (şu anda 256) çıkarmanız gerekir. Aralıktaki ilk adres ağ için olacaktır (192.168.1.0) ve aralıktaki son adres yayın olacaktır (192.168.1.255). Yani, tek bir ağdaki ana bilgisayarlar için gerçekten 254 adresiniz var.

Bir vaka çalışması

Size aşağıdaki kağıdı verdim diyelim.

Create 4 networks with 192.168.1.0/24.

Şuna bir bakalım. / 24 CIDR gösterimi olarak adlandırılır. 255.255.255.0’a referans vermek yerine, ağ için ihtiyaç duyduğumuz bitlere referans veriyoruz. Bu durumda 32bit bir adresden 24 bit'e (3 * 8) ihtiyacımız var. Bunu ikili olarak yazmak

11111111.11111111.11111111.00000000 = 255.255.255.0
8bits   + 8bits  + 8bits  + 0bits   = 24bits

Sonra ne kadar alt ağa ihtiyacımız olduğunu bulmamız gerektiğini biliyoruz. Görünüşe göre 4. Daha fazla ağ oluşturmamız gerektiğinden (şu an sadece bir tane var) bazı bitleri çevirmemize izin

11111111.11111111.11111111.00000000 = 255.255.255.0   = 1 Network OR /24
11111111.11111111.11111111.10000000 = 255.255.255.128 = 2 Networks OR /25
11111111.11111111.11111111.11000000 = 255.255.255.192 = 4 Networks (remember powers of 2!) OR /26

Şimdi bir / 26 karar verdik, hadi ana bilgisayar tahsis etmeye başlayalım. Biraz basit matematik:

32(bits) - 26(bits) = 6(bits) for host addresses.

Her ağda ana bilgisayarlar için ayırmamız gereken 6 bit var. Her ağ için 2 çıkarmamız gerektiğini hatırla.

h = host bits    
2^h - 2 = hosts available

2^6 - 2 = 62 hosts 

Finally we have 62 hosts in 4 networks, 192.168.1.0/26

Şimdi ev sahiplerinin nereye gittiğini bulmamız gerek. İkiliye geri dön!

11111111.11111111.11111111.00,000000 [the comma is the new network/hosts division]

Begin to calculate:

11000000.10101000.00000001.00,000000 = 192.168.1.0 [First IP = Network Adress]
11000000.10101000.00000001.00,000001 = 192.168.1.1 [First Host IP]
11000000.10101000.00000001.00,000010 = 192.168.1.2 [Second Host IP]
11000000.10101000.00000001.00,000011 = 192.168.1.3 [Third Host IP]

And so on ... until ...

11000000.10101000.00000001.00,111110 = 192.168.1.62 [Sixty Second Host IP]
11000000.10101000.00000001.00,111111 = 192.168.1.63 [Last IP = Broadcast Address]

So ... On to the NEXT network ....

11000000.10101000.00000001.01,000000 = 192.168.1.64 [First IP = Network Address]
11000000.10101000.00000001.01,000001 = 192.168.1.65 [First Host IP]
11000000.10101000.00000001.01,000010 = 192.168.1.66 [Second Host IP]

And so on ... until ...

11000000.10101000.00000001.01,111110 = 192.168.1.126 [Sixty Second Host IP]
11000000.10101000.00000001.01,111111 = 192.168.1.127 [Last IP = Broadcast Address]

So ... On to the NEXT network ....

11000000.10101000.00000001.10,000000 = 192.168.1.128 [First IP = Network Address]
11000000.10101000.00000001.10,000001 = 192.168.1.129 [First Host IP]

Etc ...

Bu şekilde tüm alt ağı hesaplayabilirsiniz.

Joker Kartlar Joker kart maskesi, ters bir alt ağ maskesidir.

11111111.11111111.11111111.11000000 = 255.255.255.192 [Subnet]
00000000.00000000.00000000.00111111 = 0.0.0.63 [Wild Card]

Daha ileri

'Süper netleştirme' ve 'VLSM (değişken uzunluktaki alt ağ maskesi)' terimleri için Google, daha gelişmiş konular için.

Ben yanıt çok uzun sürdü o zaman ... şimdi görebiliyorum iç çekiş


1
"Ev sahibi kısmım için tek bir oktet bulunduğum göz önüne alındığında (yukarıdaki örnekte). SADECE 255 ana bilgisayar alabilirim (255 bir octet'in maksimum değeridir). Mevcut olanlardan (şu anda 255) Menzil içindeki ilk adres ağ için olacaktır (192.168.1.0) ve menzil içindeki son adres yayın olacaktır (192.168.1.255). bir ağdaki ana bilgisayarlar. "... Bu yanlış.
joeqwerty

1
Sekizli için 256 olası değer vardır: 0 ile 255 arası, toplam 256 için. 256 -2 (ağ ve yayın adresleri) = 254 olası ana bilgisayar adresi.
joeqwerty

Hata. Teşekkürler! :-) Tek tek, o belirli başarıyı nasıl yönettiğim hakkında hiçbir fikrim yok.
Joseph Kern

1
-1 Üzgünüm, 1993’teki RFC 1519’dan bu yana “Sınıflar” olmadı, kimse tarihsel bir bağlam dışında onlar hakkında konuşmamalı. Kafa karıştırıyorlar ve birçok yanılgıya neden oluyorlar.
Chris S

Chris muhtemelen haklısın, ancak sınıflar hala CCNA ve çoğu lisans seviyesindeki kurslarda 2000'li yılların başında öğretildi.
Joseph Kern

34

Kısa bir tarih dersi: başlangıçta, tek noktaya yayın IPv4 adresleri, her biri 'varsayılan' maske uzunluğuyla (sınıf alt ağ maskesi olarak adlandırılır) ilişkilendirilen 3 sınıfa ayrılmıştır.

  • Sınıf A: 1.0.0.0 -> 127.255.255.255 aralığında olan herhangi bir şey. 255.0.0.0 (CIDR notasyonunda / 8) 'in klasik alt ağ maskesi
  • B Sınıfı: 128.0.0.0 -> 191.255.255.255 aralığında olan herhangi bir şey. 255.255.0.0 (CIDR notasyonunda / 16) 'nın klasik alt ağ maskesi
  • C Sınıfı: 192.0.0.0 -> 223.255.255.255 aralığında olan herhangi bir şey. 255.255.255.0 (/ 24 CIDR notasyonunda) olan klasik alt ağ maskesi

Fikir, farklı büyüklükteki organizasyonlara IP adres alanını etkin bir şekilde kullanmak için farklı bir IP adresi sınıfı tahsis edilebileceği idi.

Bununla birlikte, IP ağları büyüdükçe, bu yaklaşımın kendi problemleri olduğu da ortaya çıktı. Adı üç ama:

Sınıflı bir dünyada, tüm alt ağların / 8, / 16 veya / 24 maskeli olması gerekiyordu . Bu, konfigüre edilebilecek en küçük alt ağın 254 ana bilgisayar adresi (sırasıyla ağ ve yayın adresleri olarak ayrılan sırasıyla .0 ve .255) olan bir / 24 olduğu anlamına geliyordu. Bu, özellikle bunlara yalnızca iki yönlendiricinin takılı olduğu noktadan noktaya bağlantılarda çok israftı.

Bu kısıtlamanın gevşetilmesinden sonra bile, daha önceki yönlendirme protokolleri (örneğin RIPv1 ) bir IP öneki ile ilişkili maske uzunluğunu ilan etmedi. Belirli bir maskenin yokluğunda, aynı sınıflı ağda doğrudan bağlı bir arayüzün maskesini kullanır veya sınıf maskesini kullanmaya geri döner. Örneğin, 172.16.0.0 ağını / 30 maskeli yönlendiriciler arası bağlantılar için kullanmak istiyorsanız, tümü , 172.16.0.0 - 172.16.255.255 numaralı alt ağların, her biri 2 adet kullanılabilir IP'ye sahip olan / 30 maskesi (16384 alt olması gerekir. ).

İnternet yönlendiricilerinin yönlendirme tabloları gittikçe daha fazla bellek kapmaya başladı; Bu, “yönlendirme tablosu patlaması” olarak bilinir. Bir sağlayıcı örneğin 16 bitişik / 24 ağa sahipse, tüm aralığı kapsayan tek bir özet yerine, 16 önekin hepsinin reklamını yapmaları gerekir.

İlgili iki ayrıntılandırma , yukarıdaki sınırlamaların ötesine geçmemize izin verdi.

  1. Değişken Uzunluklu Alt Ağ Maskeleri (VLSM)
  2. CIDR (Sınıfsız alanlar arası yönlendirme)

VLSM, aynı sınıflandırma ağı içindeki farklı alt ağ maskelerini destekleme yönlendirme protokolünün yeteneğini ifade eder. Örneğin:

192.168.1.0/24

Ayrılabilir:

192.168.1.0/25
192.168.1.128/26
192.168.1.192/27
192.168.1.224/27

Adres alanının çok daha verimli kullanılmasına izin verildi; alt ağlar, kendilerine eklenecek ana bilgisayar / yönlendirici sayısı için doğru şekilde boyutlandırılabilir.

CIDR, VLSM'yi alır ve diğer şekilde genişletir; Tek bir sınıflı ağı daha küçük alt ağlara bölmenin yanı sıra, CIDR, çok sayıda sınıflı ağın tek bir özet halinde toplanmasına izin verir. Örneğin, aşağıdaki Sınıf B (/ 16) ağları:

172.16.0.0/16
172.17.0.0/16
172.18.0.0/16
172.19.0.0/16

Tek bir önekle toplanabilir / özetlenebilir:

172.16.0.0/14

Alt ağ açısından: bir alt ağ maskesi 32 bit uzunluğundadır. Maske uzunluğu, kaç bitin adresin ağ bölümünü tanımladığını gösterir. Örneğin:

10.1.1.0/24
  • Klasik alt ağ maskesi / 8
  • Gerçek alt ağ maskesi / 24
  • Alt ağ kullanımı için 16 bit (24-8) ödünç alınmıştır.

Bunun anlamı, 10.0.0.0/8 ağının tamamının / 24s alt ağına bağlı olduğunu varsayarsak, bu aralık içinde 65536 (2 ^ 16) alt ağ olacağı anlamına gelir. (Bu, kullandığınız platformun 0 ve 255 alt ağ numaralarını desteklediğini varsayıyor. Bkz. Cisco'nun ip alt ağı-sıfır).

Adresin 'ana bilgisayar kısmında' kalan 8 bit var. Bu, 2'si ayrılmış (10.1.1.0 ağ adresi, 10.1.1.255 alt ağ yönlendirmeli yayın adresidir) 256 kullanılabilir IP adresi (2 ^ 8) olduğu anlamına gelir. Bu, bu alt ağda 254 kullanılabilir IP adresi bırakır. ((2 ^ 8) - 2)


4
Aslında 5 sınıf vardı.
dbasnett

5
Doğru, ancak 'alt ağa giriş' sorusu için çok noktaya yayın ve ayrılmış E sınıfı ele almamız gerekiyor mu? :)
Murali Suriar

2
Tarihi bir giriş sorusuna getirdin ... Sonra onu tamamlamadım. Hangisinin daha kötü olduğundan emin değil.
Chris S

7

Ağ aralıkları: ağlara her zaman 2 sayı ile başvurulur: biri ağı belirlemek için, diğeri de bu ağda hangi bilgisayarın (veya ana bilgisayarın) olduğunu belirlemek için. Her bir adres adresi 32 bit uzunluğunda olduğundan, her iki sayının da bu 32 bit'e uyması gerekir.

Ağ numaralandırma önemlidir, çünkü ICANN, bir ağ IP aralığı istediğinizde dağıtır. Elimizde olmasaydı, hiç kimse ağım ve AT & Ts arasındaki farkı anlatamazdı. Bu yüzden bu numaralar benzersiz olsa da, başka hiç kimse ağımdaki ana bilgisayarlara numara atamak istemiyor. Bu nedenle bölünme - ilk bölüm ağ halkı tarafından yönetiliyor, ikinci bölüm de istediğim makinelere vermek için benim.

Ağ numarası belirli bir bitte sabit değildir - örneğin, kendimi yönetmek için sadece 200 makinem olsaydı, 24 bit kullanan bir ağ numarasından tamamen mutlu olurdum, bu da beni kendim için sadece 8 bit bırakıyordu. - 255 ana bilgisayara kadar yeterli. Şebeke numarası 24 bit kullandığından, çoğumuz olabilir, yani birçok insan kendi şebekesine sahip olabilir.

Geçmişte buna C sınıfı bir ağ adı verildi. (B sınıfı ağ numarası için 16 bit ve A sınıfı 8 bit kullandı, bu nedenle yalnızca birkaç A sınıfı ağ var.)

Günümüzde, bu adlandırma kuralı modası geçmiş durumda. CIDR adlı konsept ile değiştirildi. CIDR, ana bilgisayarlarınız için eğik çizgiden sonra bit sayısını açıkça belirtir. Bu yüzden yukarıdaki örneğim (C sınıfı) şimdi CIDR / 24 olarak adlandırılıyor.

Bu bize biraz daha fazla esneklik kazandırıyor, daha önce yönetmek için 300 ana makinem olsaydı, B sınıfı bir ağa ihtiyacım olurdu! Şimdi, sadece 23 CIDR alabiliyorum, bu yüzden benim için 9 bitim ve ağ numarası için 23 bitim var. ICANN bu tür ağlara sahip olmayabilir, ancak eğer bir iç ağ bağlantım varsa ya da bir ISS'den kısmi bir ağ kiralıyorsam, bu durum yönetimi kolaylaştırıyor - özellikle tüm müşterilerine bir / 29 verilebileceği için (beni terk ediyor). (3 bit veya en fazla 8 makine), bu daha fazla insanın kendi küçük dilimini mevcut IP adreslerine sahip olmasına izin verir. IPv6'yı alana kadar, bu oldukça önemlidir.


Ancak ... a / 24 CIDR’nin eski C Sınıfı ağın eşdeğeri olduğunu ve a / 16’nın B sınıfı ve a / 8’in A sınıfı olduğunu bildiğim halde ... kafam. Neyse ki benim için bunu yapan araçlar var :)

Ancak - a / 24'ün ana bilgisayarlar için 8 bit (ve ağ için 24 bit) olduğunu biliyorsanız, o zaman a / 23'ün bana ana bilgisayar sayısını iki katına çıkaracak ekstra bir bit verdiğini biliyorum.


-1 Üzgünüz, ancak "tarihsel" bir referans dışındaki sınıflardan bahsetmek bugünlerde uygunsuz. 1993'te RFC 1519 tarafından resmen onaylanmadıkları “modası geçmediler”. Her zamanki gibi kafa karıştırıyorlar ve bir sürü yanlış algılamaya neden oluyorlar.
Chris S

Dinamik yönlendirme protokollerinin bazı uygulamaları, klasik sınırlar boyunca özetler, bu yüzden onları bilmek hala yardımcı olacaktır.
Ben

5

Yol boyunca ilgili birkaç soruyu cevaplayacağım ve cevaplayacağım:

  • Neden 255.255.255.0bu kadar sık görüyorsun ?
  • Neden 192.168.0.1?
  • Neden 127.0.0.1?

Neden bu kadar garip sayılar - 255, 192, 168, 127?


8 + 8 + 8 + 8 bit noktalı ondalık

194.60.38.10 gibi Internet adresleri, 32 bitin 8 + 8 + 8 + 8 bite bölünmesi için noktalı ondalık gösterimi kullanır. Dönüştürme Noktalı ondalık aracı ikili her sayı daha sonra sol doldurulmaları ile 0's.

Örneğin .60.→ 60 = 32 + 16 + 8 + 4 → 111100.00111100..

Böylece, 194.60.38.10, 4 × 8 = 32 bitlik adres için 11000010.00111100.00100110.0000101038 ondalık 100110, 10 → 1010, vb. 194 8 bitin tümünü gerektirir; Gerisi yastıklı.

yastıklı

8 bitlik ikili dosyada 255, 192 ve 127'yi düşündüğünüzde, belirli ondalık sayıların neden bu kadar yaygın olduğunu daha kolay anlayabilirsiniz:

  • 255 = 11111111
  • 192 = 11000000
  • 127 = _1111111
  • 128 = 10000000

Bu ondalık sayılar ■■■■■■■■, ■ □□□□□□□ ve □ ■■■■■■■ gibi görsel olarak uygun 8 bitlik blokları temsil eder. Yani = 2⁹ çünkü 8 bit limit 256 ve 127 görmedim = 128-1 = 2⁸-1, bir güç-iki-ve yetkileri-iki olan bit-flip olduğunu 10………00000's ikili.

  • 168 = 10101000

Alt ağ maskeleri: Benim olan benimdir + Senin olan nedir?

Alt ağ maskeleri daha sonra her 32 bit internet adresini bir ağ kimliğine ve bir ana bilgisayar kimliğine böler. İnternet adresleri 1 ve 0'ların herhangi bir karışımına sahipken, alt ağ maskeleri sadece 1'lerle başlar ve sadece 0'larla biter.

■■□□□□■□|□□■■■■□□|□□■□□■■□|□□□□■□■□ IP
■■■■■■■■|■■■■■■■■|■■■■■■■■|□□□□□□□□ subnet

İlk 8 + 8 + 8 = 24 bitin karartılması ve son 8 bitin çıkarılması, IP'yi bölmenin bir yoludur ■ ■ □□□□ ■ □ | □□ ■■■■ □□ | □□ ■ □□ ■ ■ □ | □□□□ ■ □ ■ □ iki parçaya ayrılır:

■■□□□□■□|□□■■■■□□|□□■□□■■□          network
                             □□□□■□■□ host

Alt ağ sahibi ( OmniCorp diyorsa ) daha fazla dahili IP istiyorsa, ağın sağ tarafından daha fazla (8 + 8 = 16 bit diyelim) satın alabilirlerdi, şöyle:

■■□□□□■□|□□■■■■□□|□□■□□■■□|□□□□■□■□ IP
■■■■■■■■|■■■■■■■■|□□□□□□□□|□□□□□□□□ subnet
■■□□□□■□ □□■■■■□□                    network
                   □□■□□■■□ □□□□■□■□ host

Açıkçası, 32-bit = 2³² = 4,294,967,296-seçenek adres alanı içinde bir tradeoff var: daha fazla ağ kimliği (sol taraf) satın alırsanız, dahili ağınızın ataması gereken daha fazla ana bilgisayar kimliği (sağ taraf) vardır.

Ucuz insanlar bu nedenle bir alt ağ maskesi var.

255.255.255.0 = ■■■■■■■■ | ■■■■■■■■■ | ■■■■■■■■ | □□□□□□□□.

Daha ucuz insanların bile

255.255.255.128 = ■■■■■■■■ | | ■■■■■■■■■ | ■■■■■■■■ | ■ □□□□□□□

veya 255.255.255.192 = ■■■■■■■■■ | ■■■■■■■■■ | ■■■■■■■■ | ■■ |

Geleneklere göre aslında Roger Miller karşın kökenleri yazdığı bir 255.255.255.254 maskesi olan bir asılıyor sistem yöneticisi değildi Yolların Kralı Hiç sigara bile yok”için“Ben büyük bir alt ağ bile yok”yerine, ”.

Sigaralarımı popodan aşağıya içiyorum

(Neden bu kadar az sayıda maskenin maskeleri bu kadar yüksek sayıyla doludur? Çünkü Miller'ın anlatıcısı gibi alt ağ maskeleri de sahip olmadığınız her şeyi sayar .)


Bir IP'den sonra gelen eğik çizgi ne anlama geliyor? (örneğin, 194.60.38.10/24)

Alt ağ maskeleri (“kendilerini” “bizimkilerden” ayıranlar) her zaman 1' larla başladığından ve ikisinin güçlerini toplamaktan nefret ettiğimizden, ikisinin güçlerini ilk sırada bulmaktan nefret ettiğimizden, biri icat etti. CIDR (IP'den sonraki eğik çizgi).

194.60.38.10/24 "alt maskede 24 tane var, sonra kalanlar sıfır" anlamına geliyor, yani

■■■■■■■■ | | ■■■■■■■■ | ■■■■■■■■ | □□□□□□□□ "onlara" ait 8 + 8 + 8 bit ve 8 bit “bize” ait.

Hobo'nun marşını yukarıda tersine çevirmek,

  • /31 söz yazarı
  • /24orta sınıftır ( 255.255.255.0= ■■■■■■■■ | ■■■■■■■■■ | ■■■■■■■■ | □□□□□□□□
  • /16 zengindir ■■■■■■■■ | ■■■■■■■■■ | □□□□□□□□ | □□□□□□□□
  • /8 süper zengindir ■■■■■■■■ | □□□□□□□□ | □□□□□□□□ | □□□□□□□□
  • /1ya /0IANA ya da başka bir şey olurdu.





bc -l; obase=10; 60Örneğin kullanın .


Cevap ile ne gibi bir ilişki içinde resimler? Sadece cevaba odaklanmak mı? :)
simhumileco

4

Yukarıdakiler doğru olsa da (üzgünüm, TL; DR), alt ağları hesaplamak hala birçok ağ yöneticisine çok fazla kedere neden olmaktadır. Alt ağ hesaplaması yapmanın çok kolay bir yolu var, çoğunu kafanızda yapabilirsiniz ve ezberlemeniz gereken çok az şey vardır. Çoğu uygulama için, ikilik gösterimi anlamak bile gerekmez, ancak alt ağ oluşturma işleminin tam olarak anlaşılması için faydalıdır. Burada sadece IPv4'ü tartışacağım; IPv6 bu tartışmanın kapsamı dışındadır.

Hatırla bunu:

Hatırlanması gereken üç önemli şey var: tüm alt ağlar ikiden oluşan güçlere dayanıyor ve iki anahtar sayı var: 256 ve 32. Bundan daha fazlası.

İlk önce, 2 olan güçleri içeren bir tabloya bakalım:

2^0 = 1
2^1 = 2
2^2 = 4
2^3 = 8
2^4 = 16
2^5 = 32
2^6 = 64
2^7 = 128
2^8 = 256

2 gücünün hesaplanması kolaydır: gücün her tamsayı artışı sonucu iki katına çıkarır. 1 + 1 = 2, 2 + 2 = 4, 4 + 4 = 8, 8 + 8 = 16 vb. Bir alt ağdaki toplam adres sayısı her zaman 2 güç olmalıdır .

Bir IPv4 alt ağının her sekizli sayısı 256'ya yükseldiğinden, 256 çok önemli bir sayıdır ve matematiğin geri kalanı için temel oluşturur.

Alt ağı boyutlandırma

Kolay bir soru ile başlayalım: "maske 255.255.255.248 ise alt ağda kaç adres var?" Şimdilik ilk üç oktuşu görmezden geleceğiz ve sonlarına bakacağız. İşte bu kadar kolay: 248'i 256'dan çıkar. 256 eksi 248 8'e eşittir. 8 adres mevcuttur (ağ ve yayın adresleri dahil). Tersi de çalışır: "16 adresli bir alt ağa sahip olmak istersem, alt ağ maskesi ne olur?" 256 eksi 16, 240'a eşittir. Alt ağ maskesi 255.255.255.248 olacaktır.

Şimdi, 256 adresin ötesine geçmek istiyorsak (tarihsel olarak, bir "C sınıfı"), sadece biraz daha karmaşık hale gelir: son oktemiz 0 ise ve üçüncü oktemiz ise 240, (255.255.240.0) matematiği üçüncü oktette yaparız ve 16 adres olacağını buluruz. Bu yüzden, 4.096 elde etmek için 16'yı 256 ile (son oktetteki adres sayısı) çarpıyoruz. Son iki sekizli her ikisi de 0 ise (ör. 255.240.0.0), ikinci çıkarımdan çıkarma sonucunu alırız (yine 16 olduğunu söyleriz), çarpı ancak 256 (üçüncü basamağın adresleri), tekrar çarpın 256 (son sayıdaki adresler) 1.048.576 adres almak için. Bu kadar kolay! (Tamam, bu yüzden tam tersi biraz daha zor. 1.048.576 adresli bir alt ağ istiyorsak, bir sayı elde etmek için bu sayıyı 256'dan birkaç defa bölmeliyiz.)

Ağ adresi

Şimdi alt ağ maskesini nasıl hesaplayacağımızı öğrendiğimize göre, ağ adresinin ne olduğunu nasıl bulacağız? Bu kolay: Her zaman alt ağımızdaki adres sayısının bir katı. Dolayısıyla, eğer alt ağımızda 16 adres varsa, olası ağ adresleri 0, 16, 32, 48, 64 vb. Kadar olacaktır, 240 kadar. 0 eşittir 0)

Ve elbette, yayın adresi kapsamdaki son adres olacaktır. Dolayısıyla eğer alt ağımızda 16 adres varsa ve 10.3.54.64 ağ adresini seçtiysek, yayın adresi (64 + 16-1 = 79) 10.3.54.79 olacaktır.

CIDR Notasyonu

Peki ya CIDR notasyonu? Bunu IPv4 stili bir alt ağ maskesine ve bu bilgisayardan nasıl çevirebilirim?

İki gücümüzü hatırlıyor musunuz? Şimdi 256: 32 dışında hatırlamamız gereken başka bir anahtar numaramız var. Unutma, CIDR notasyonu IPv4 adresindeki önemli bitlerin sayısını açıklar ve IPv4 adresinde her sekizli için 8 olan 32 bit vardır. Yani 255.255.255.240 nolu bir alt ağ maskemiz varsa, bu 16 adresdir. Yukarıdaki "2 güç" tablomuza bakarsak, 16'nın dördüncü gücün iki (2 ^ 4) olduğunu görüyoruz. Böylece güç sayısını 4'ten 32'ye çıkardık ve 28'i aldık. 255.255.255.240 alt ağ maskesi için CIDR notasyonumuz, CIDR notasyonumuz / 28.

Ve eğer / 28 CIDR'si verilirse, bunu (28) 32'den 4'e çıkarırız; 16'yı elde etmek için 2'ye (4) gücü (2 ^ 4) yükseltmek; sonra onu (16) 256'dan 240'a çıkarmak; veya 255.255.255.240.


teşekkür ederim.Ama hala pc alt ağ maskesini kullandığı konusunda hala bulanık. Bir bilgisayardaki bir uygulama veri göndermek istediğinde, onu bir paket içine alır. Alt ağ maskesi bir paketin nasıl kapsülleneceğini belirler mi? Örneğin, eğer bilgisayar yerel ağa bir paket göndermek isterse, en.wikipedia.org/wiki/Ethernet_frame bir ethernet çerçevesi kullanır ve ağ dışında istenirse bir tcp paketi en.wikipedia.org/wiki kullanır. /… ?
aquagremlin

Temel olarak, bir PC'nin verilerini nereye göndereceğini nasıl belirleyeceğini bilmiyorum. Ethernet ağı bir otobüs gibidir, her yere gider. Bir paketi bir bilgisayarın ethernet jakına koymak genel bir olaydır - bu nedenle paketin kendisine kimin cevap vereceğini belirlemesi gerekir. Yerel bir cihaz tarafından alınacak bir paketin (anahtardaki veya bilgisayardaki diğer bilgisayar) bir yönlendirici tarafından alınacak bir paketten farklı görünmesi gerekir.
aquagremlin

Bu, TCP'nin altındaki bir katmanda gerçekleşir. Her aygıtın ARP tablosundaki bir IP adresiyle ilişkilendirilmiş bir donanım adresi (MAC) vardır. Bu keşif yoluyla inşa edilmiştir. Bir paket yerel ağdaki bir ana bilgisayara yönelikse, hedef aygıtın MAC ile etiketlenir. Bir paket uzak bir ana bilgisayara yönlendirildiğinde, yerel ağdaki yönlendirici için MAC ile etiketlenir. Yönlendiriciden geçerken, MAC soyulur ve bir sonraki atlama yönlendiricisinin MAC ile etiketlenir. Alt ağ yalnızca yerel ağın kapsamını tanımlar. (Bu, basit <500 karakter versiyonu.)
Jonathan J,

2

Ayrıca en azından NAT'lerden söz edilmesi gerektiğini düşünüyorum, çünkü IPv4'ün adres tükenmesinden dolayı, diğer şeylerin yanı sıra, Alt Ağların yerine modern ağlarda çok sık kullanılıyorlar. (Ayrıca, alt ağları ilk öğrendiğimde, alt ağ oluşturmanın WiFi yönlendiricileri tarafından oluşturulan ağlarla nasıl ilişkili olduğu konusunda kafam çok karıştı.)

NAT (ağ adresi çevirisi), bir adres alanını (IP: Port) diğerine eşleyerek özel ağlar oluşturmak için kullanılan bir tekniktir (genellikle). Çoğunlukla, örneğin, Wifi yönlendiricilerinde, kuruluşlar (bir üniversite veya kurum gibi) veya bazen ISS'ler tarafından bir genel adresin arkasında birden fazla özel IP özel ağı oluşturmak için kullanılır.

Asıl adres çevirisi, NAT yönlendirici düğümlerinde, genellikle yönlendiricilerde saydam bir şekilde yapılır . Düğüm boyunca bağlantıların nasıl başlatılabileceğini belirten birçok koni olabilir; Tam Koni, Kısıtlı Adres, Sınırlı Bağlantı Noktası vb. Veya bunların bir karışımı olabilir.

Tam ayrıntı Wikipedia'da bulunabilir , ancak örneğin kendisine bağlı 2 cihaz bulunan bir Wifi yönlendiricisini düşünün. Yönlendirici kamu IP 10.9.20.21/24ve cihazların IP (Özel IP'ler) vardır A: 192.168.0.2, B: 192.168.0.3ve yönlendirici olmasıdır R: 192.168.0.1. Böylece A, sunucuya bağlanmak istiyorsa S: 10.9.24.5/24(buradaki yönlendirici ile aslında farklı bir alt ağda olan):

  1. Bir Rkaynak IP 192.168.0.2, src portu (say) 14567ve hedef IP ile bir IP paketi gönderir (varsayılan ağ geçidi olur) : 10.9.24.5(port aslında TCP başlığının bir parçası olmasına rağmen).
  2. Yönlendirici (NAT özellikli olan) bağlantı 14567noktasını cihaza eşleştirir Ave IP paketindeki kaynağı 10.9.20.21(yönlendiricinin genel IP'si) olarak değiştirir. Bu, IP paketlerinin gerçekte asla değişmediği yukarıda açıklanan alt ağın aksinedir .
  3. STCP paketi serilerini alır (src IP:, 10.9.20.21src Port: ile 14567) ve hedef alanlardaki bu değerlere sahip cevap paketleri gönderir.
  4. R14567Paketin olduğu ve iletildiği hedef portu kontrol eder A.
  5. A yanıt paketini alır.

Yukarıdaki durumda, Baynı kaynak portunda ( 14567) bir bağlantı açılmaya çalışılırsa, Rgönderilmeden önce (ve giden paketteki port değiştirilerek) farklı bir portla eşleştirilir S. Yani, sadece IP yerine port çevirisi de olacaktır.

Burada dikkat edilmesi gereken iki şey:

  1. Bu adres çevirisinden dolayı, bazı özel teknikler kullanmadan özel ağdaki cihazlarla bağlantı başlatmak çoğu zaman mümkün değildir.
  2. Aynı cihazdan bir sunucuya yapılan toplam TCP bağlantılarındaki kısıtlama (65536 = 2 ^ 16) şimdi yukarıda kullanılan NAT formundaki NAT arkasındaki tüm cihazlara toplu olarak uygulanır.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.