Soru IPv4 Subnetting Nasıl Çalışır?


Bu bir Kanonik Soru IPv4 Alt Ağları hakkında.

İlgili:

Subnetting nasıl çalışır ve nasıl yaparsınız el ile ya da kafanda mı?  Birisi hem kavramsal hem de birkaç örnekle açıklayabilir mi? Sunucu Hatası, ev ödeviyle ilgili soruları altüst eder, böylece onları Sunucu Arızası'nın kendisine yönlendirmek için bir cevap kullanabiliriz.

  • Bir ağım varsa nasıl anlarım nasıl ayrılmalı?
  • Bir netmask verirsem nasıl yaparım Şebekenin ne için olduğunu bilmek o?
  • Bazen bir iz kalıyor Bir sayı ile, bu sayı nedir?
  • Bazen bir alt ağ maskesi, ama aynı zamanda bir joker maske, aynı şey gibi görünüyorlar ama farklı mı?
  • Birisi bunun için ikili bilme hakkında bir şeyden bahsetti mi?

423
2017-08-04 15:51


Menşei




Cevaplar:


Yönlendiricilerin paketler için uygun hedefleri seçmelerine izin vermek için IP alt ağları bulunur. Mantıksal nedenlerden (güvenlik duvarı vb.) Veya fiziksel gereksinim (daha küçük yayın alanları, vb.) İçin daha büyük ağları ayırmak için IP alt ağlarını kullanabilirsiniz.

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

1'e kadar saymak

Eğer zaten ikili (taban 2) notasyonunda akıcıysanız, bu bölümü atlayabilirsiniz.

Sol olanlarınız için: İkili gösterimde akıcı olmamanız için utanıyorum!

Evet, bu biraz sert olabilir. İkili olarak saymayı öğrenmek ve ikili ile ondalık ve geri dönüşü kısayollar öğrenmek gerçekten çok kolay. Bunu nasıl yapacağını gerçekten bilmelisin.

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

Bir otomobilin "kilometre sayacı" nı düşünün, geleneksel bir kilometre sayacından farklı olarak, her rakam sadece 0'dan 1'e kadar sayar. Araba fabrikadan taze olduğunda, kilometre sayacı "00000000" değerini gösterir.

İlk milinizi sürdüğünüzde, kilometre sayacı "00000001" yazıyor. Çok uzak çok iyi.

İkinci milinizi sürdüğünüzde, kilometre sayacının ilk basamağı "0" a geri dönüyor (maksimum değer "1" olduğundan) ve kilometre sayacının ikinci basamağı "1" e dönüyor, kilometre sayacı okunıyor " 00000010" . Bu, ondalık gösterimdeki 10 numaraya benziyor, ancak aslında 2 numaralı gösterimde (şu ana kadar arabanızı sürdüğünüz mil sayısı).

Üçüncü mil sürdüğünüzde, kilometre sayacının ilk basamağı tekrar döndüğünden, kilometre sayacı "00000011" yazıyor. İkili gösterimdeki "11" sayısı, ondalık sayı 3 ile aynıdır.

Son olarak, dördüncü milinizi kullandığınız zaman (ki bu da üçüncü milin sonunda "1" okuyordu) sıfır pozisyona geri dönüyor ve 3. basamak "1" pozisyonuna dönüyor, bize " 00000100" . Bu ondalık sayı 4'ün ikili temsili.

İsterseniz hepsini ezberleyebilirsiniz, ama sadece gerçekten anlamanız gerekir Nasıl küçük kilometre sayacı saymaya başladığı sayı arttıkça "devrilir". Tam olarak, geleneksel ondalık odometrenin çalışmasıyla aynıdır, ancak her rakam, kurgusal "ikili kilometre sayacımızda" sadece "0" veya "1" olabilir.

Ondalık bir sayıyı ikiliye dönüştürmek için, kilometre sayacını ileri doğru yuvarlayabilir, ikili işaretine dönüştürmek istediğiniz ondalık sayıya eşit sayıda kez döndürene kadar yüksek sesle sayma yaparak, onay işaretini işaretleyin. Tüm o kodlama ve haddelemeden sonra sayabildiğiniz ondalık sayının ikili temsili olacaksa, kilometre sayacında ne görüntülenirse gösterilsin.

Kilometrenin nasıl ilerlediğini anladığınızdan beri, bunun nasıl geri döndüğünü de anlayacaksınız. Kilometre sayacında görüntülenen bir ikili sayıyı onluk değere çevirmek için, kilometre sayacını "00000000" okuyana kadar her seferinde bir onay işaretini geri çevirebilirsiniz. Tüm bu sayma ve yuvarlama yapıldığında, yüksek sesle söyleyeceğiniz son sayı, kilometre sayacının başlattığı ikili sayının ondalık gösterimi olacaktır.

Bu şekilde ikili ve ondalık arasındaki değerleri dönüştürme çok sıkıcı. Yapabilirsin, ama çok verimli olmaz. Daha hızlı yapmak için küçük bir algoritma öğrenmek daha kolay.

Hızlı bir kenara: Bir ikili sayıdaki her rakam bir "bit" olarak bilinir. Bu "ikili" den "b" ve "rakam" dan "o". Biraz ikili bir rakamdır.

Ondalık olarak "1101011" gibi bir ikili sayı dönüştürmek, kullanışlı küçük bir algoritma ile basit bir işlemdir.

İkili sayıdaki bit sayısını sayarak başlayın. Bu durumda, bir kâğıt parçasında (zihininizde, bir metin dosyasında, vb.) 7 bölme yapın ve bunları sağdan sola doldurmaya başlayın. En sağdaki yuvaya "1" rakamını girin, çünkü her zaman "1" ile başlayacağız. Soldaki sonraki yuvada, yuvadaki değeri ikiye katlayın (bir sonraki bölümde "2", bir sonraki bölümde "4") ve tüm yuvalar dolu olana kadar devam edin. (Bu sayıları ezberlemekle son bulacaksın, ki bu daha çok ve daha fazlasını yapıyor. Ben de kafamda 131.072'ye kadar iyiyim, ama genellikle bundan sonra bir hesap makinesi ya da bir kağıda ihtiyacım var).

Yani, kağıdınızda küçük yuvalarınızda aşağıdakilere sahip olmalısınız.

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

Yuvaları, aşağıdaki gibi ikilik numaradan ayırı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
---        ---        ---       ---       ---       ---       ---
       +          +          +         +         +         +         =

Tüm matematiği yapmak için şunları yapmalısınız:

 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

Bu var. Ondalıktaki "1101011", 107'dir. Bu sadece basit adımlar ve kolay matematiktir.

Ondalıktan ikiliye dönüştürme işlemi de aynı derecede kolaydır ve aynı temel algoritmadır, tersine çalışır.

Numarayı 218'e dönüştürmek istediğimizi söyle. Bir kağıdın sağından başlayarak, "1" numarasını yazınız. Sola, o değeri (yani, "2") ikiye katlayın ve kağıdın soluna doğru devam ederek son değeri ikiye katlayın. Yazmak üzere olduğunuz sayı, dönüştürülmekte olan numaradan daha büyükse, yazmayı durdurun. aksi halde, önceki sayıyı ikiye katlamaya ve yazmaya devam edin. (34,157,216,092 gibi büyük bir sayıyı bu algoritmayı kullanarak ikiliye dönüştürmek biraz can sıkıcı olabilir ama kesinlikle mümkündür.)

Yani, senin kağıda olmalı:

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

Sayıları 128'de yazmayı bıraktınız çünkü 128'i iki katına çıkararak 128'i iki katına çıkaracaksınız (218).

En soldaki sayıdan başlayarak, üzerinde "218" yazınız (128) ve kendinize sorun: "128'den büyük veya 128'e eşit mi?" Cevap evet ise, "128" in altında bir "1" çizin. "64" üstünde, 218 eksi 128 (90) sonucunu yazınız.

"64" e bakıp, kendinize şunu sorun: "90'dan büyük veya 64'e eşit mi?" Öyleyse, "64" in altında "64" yazıp, sonra da 64'ten 90'ı çıkarır ve "32" yi (26) yazarsınız.

"32" ye ulaştığınız zaman, 32'nin 32'ye eşit veya daha büyük olmadığını görürsünüz. Bu durumda, "32" nin altına "0" yazınız, sayıyı (26) 32'nin üstünden "yukarı" kopyalayınız. 16 "ve sonra kendinize aynı soruyu sayıların geri kalanıyla sormaya devam edin.

Hepiniz bittiğinde, sahip olmanız gerekir:

 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 rakamlar, hesaplamada kullanılan notlardır ve bizim için çok şey ifade etmez. Altta, olsa, bir "11011010" ikili numara görüyorsunuz. Yeterli, 218, ikiliye dönüştürülür, "11011010".

Bu çok basit prosedürleri takiben, bir hesap makinesi ile ikili değeri onluk ve tekrar dönüştürebilirsiniz. Matematik çok basit ve kurallar sadece biraz pratikle ezberlenebilir.

Adresleri Bölme

IP dağıtımını pizza dağıtımı gibi düşünün.

"123 Main Street" e pizza göndermeniz istendiğinde, bir insan olarak, "Main Street" adlı caddede "123" numaralı binaya gitmek istediğinizi açıkça göreceksiniz. Ana caddenin 100 bloğuna gitmeniz gerektiğinin bilinmesi kolay, çünkü bina numarası 100 ile 199 arasında ve çoğu şehir bloğu yüzlerce. Adresinizi nasıl bölebileceğinizi sadece "bilirsiniz".

Yönlendiriciler pizzayı değil, paket sağlar. İşleri pizza sürücüsü ile aynı: Kargo (paketler) hedefe mümkün olduğunca yakın olsun. Bir yönlendirici iki veya daha fazla IP alt ağına bağlanır (tamamen kullanışlı olması için). Bir yönlendirici, paketlerin hedef IP adreslerini incelemeli ve bu hedef adresleri, pizza sürücüsü gibi "sokak adı" ve "bina numarası" bileşenlerine teslimatla ilgili kararlar vermek için ayırmalıdır.

Bir IP ağındaki her bilgisayar (veya "ana bilgisayar") benzersiz bir IP adresi ve alt ağ maskesiyle yapılandırılır. Bu IP adresi, "ana makine kimliği" ve "sokak adı" bileşeni (yukarıdaki örnekte "Ana Cadde" gibi) adı verilen "bina numarası" bileşenine (yukarıdaki örnekte "123" gibi) bölünebilir. "ağ kimliği". İnsan gözümüz için, bina numarasının ve cadde adının "123 Main Street" in neresinde olduğunu görmek daha kolay, ancak "255.255.192.0 alt ağ maskesine sahip 10.13.216.41" bölümündeki bölümü görmek daha kolay.

IP yönlendiricileri, yönlendirme kararlarını vermek için IP adreslerini bu bileşen parçalarına nasıl böleceklerini "bilir". IP paketlerinin bu süreci anlamaya yönelik menteşeleri nasıl yönlendirdiğinin anlaşılmasından sonra, IP adreslerinin nasıl ayrılacağını da bilmeliyiz. Neyse ki, ana bilgisayar kimliğini ve ağ kimliğini bir IP adresi ve alt ağ maskesinden çıkarmak oldukça kolay.

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

      10.      13.     216.      41
00001010.00001101.11011000.00101001

Alt ağ maskesini ikili olarak da yazın:

     255.     255.     192.       0
11111111.11111111.11000000.00000000

Yan yana yazıldığında, "1" inin durduğu alt ağ maskesindeki noktanın IP adresindeki bir noktaya kadar çizildiğini görebilirsiniz. Bu, ağ kimliğinin ve ana bilgisayar kimliğinin bölünmesidir. 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 ayıklamak için IP adresindeki 1'lerin kapsadığı bitleri "gizlemek" için alt ağ maskesini kullanır (0'la birlikte "maskelenmiş" olmayan bitleri değiştirir):

      10.      13.     192.       0
00001010.00001101.11000000.00000000 - Network ID

Benzer şekilde, IP adresindeki 0'lar tarafından gizlenen bitlerin "maskelenmesi" için alt ağ maskesinin kullanılmasıyla (bir daha "maskelenmiş" olan bitlerin tekrar değiştirilmesiyle) 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, ağ kimliğiyle ev sahibi kimliğiyle "bina numarası" ile "sokak adı" arasında, pizza teslimatı sırasında fiziksel adreslerde olduğu gibi "kırılmayı" görmesi kolay değildir, ancak nihai etki; aynı.

Artık IP adreslerini ve alt ağ maskelerini ana bilgisayar kimliğine ve ağ kimliğine ayırabildiğinize göre, yönlendiricinin yaptığı gibi IP'yi de yönlendirebilirsiniz.

Daha fazla Terminoloji

İnternet'in her yerine yazılan alt ağ maskeleri ve bu cevabın geri kalanı boyunca (IP / sayı) göreceksiniz. Bu gösterim "Classless Inter-Domain Routing" (CIDR) notasyonu olarak bilinir. "255.255.255.0", başlangıçta 24 bitten oluşur ve bunu "255.255.255.0" yerine "/ 24" olarak yazmak 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 1'lerin sayısını yazın, 8 bitlik gruplara bölün ve ondalığa dönüştürün. (A "/ 16", "255.255.0.0" şeklindedir.)

"Eski günlerde" geri, alt ağ maskeleri belirtilmemiş, ancak IP adresinin belirli bitlerine bakılarak türetilmiştir. Örneğin, 0 - 127 ile başlayan bir IP adresi 255.0.0.0 ("A sınıfı" IP adresi) olarak adlandırılan bir alt ağ maskesine sahipti.

Bu örtülü alt ağ maskeleri bugün kullanılmamaktadır ve sınıfsız IP adreslemeyi desteklemeyen çok eski ekipmanlarla veya eski protokollerle (RIPv1 gibi) uğraşmanızın talihsizliğine sahip olmadığınız sürece, bunları öğrenmenizi tavsiye etmiyorum. Adreslerin bu “sınıflarını” daha fazla anlatamayacağım çünkü bugün uygulanamaz ve kafa karıştırıcı olabilir.

Bazı cihazlar "joker maskeler" adı verilen bir notasyon kullanır. Bir "joker maske", 0'ların olacağı yerde 0'ların olduğu bir alt ağ maskesinden başka bir şey değildir ve 1'ler 0'ların olduğu yerlerdir. A / 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ındaki ana bilgisayar kimliklerini eşleştirmek için kullanılan "joker maskeler" görürsünüz. Onları burada daha fazla tartışmayacağız.

Bir yönlendirici nasıl çalışır

Daha önce de söylediğim gibi, IP yönlendiricileri, kargolarını (paketlerini) hedefine götürmeleri gerektiğinden, pizza dağıtım sürücüsüne benzer bir işe sahipler. 192.168.10.2 adresine bağlı bir paketle birlikte sunulduğunda, bir IP yönlendiricisinin, hangi ağ arabirimlerinin hangisinin o paketi hedefine en yakın şekilde alacağını belirlemesi gerekir.

Bir IP yönlendiricisi olduğunuzu ve numaralandırılmış bir arayüze sahip olduğunuzu varsayalım:

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

"192.168.10.2" adresli bir adresle teslim edilecek bir paket alırsanız, paketin Ethernet1 arabiriminden gönderilmesi gerektiğini (insan gözlerinizle) anlatmak oldukça kolaydır çünkü Ethernet1 arabirimi adresi paketin hedefine karşılık gelir adres. Ethernet1 arabirimine bağlı tüm bilgisayarların "192.168.10" ile başlayan IP adresleri olacaktır, çünkü Ethernet1 arabiriminize atanan IP adresinin ağ kimliği "192.168.10.0".

Bir yönlendirici için, bu rota seçim işlemi, bir yönlendirme tablosu oluşturmak ve bir paketin her teslim edileceği zaman tabloya danışarak yapılır. Yönlendirme tablosu, ağ kimliği ve hedef arabirim adlarını içerir. Bir IP adresi ve alt ağ maskesinden bir ağ kimliğini nasıl alacağınızı zaten biliyorsunuz, bu yüzden bir yönlendirme tablosu oluşturmaya hazırsınız. İş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 paketimiz için, sadece o paketin adresini ikiliye dönüştürmeliyiz (insanlar gibi - yönlendirici, başlangıçta telin üzerinden ikili olarak alır) ve yönlendirmemizdeki her adrese eşleştirmeye çalışmalıyız. Bir girişle eşleşene kadar tablo (alt ağ maskesindeki bit sayısına kadar).

  • Gelen paket hedefi: 11000000.10101000.00001010.00000010

Yönlendirme tablomuzdaki girişlerle karşılaştırdığımızda:

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 bite eşittir, ancak eşleşmeyi durdurur. Bu, doğru hedef arayüz olmadığı anlamına gelir. Ethernet1 arayüzünün hedef adresin 24 biti ile eşleştiğini görebilirsiniz. Ah, ha! Paket, Ethernet1 arabirimi için bağlanır.

Gerçek hayattaki bir yönlendiricide, yönlendirme tablosu, en uzun alt ağ maskelerinin ilk önce eşleşmeler (yani en spesifik yollar) için kontrol edildiği ve sayısal olarak, bir eşleşme bulunur bulunmaz paketin yönlendirilebileceği şekilde sıralanır. ve daha fazla eşleşme denemesi gerekli değildir (yani, ilk olarak 192.168.10.0 listelenir ve 192.168.20.0 hiçbir zaman kontrol edilmez). İşte, bunu basitleştiriyoruz. Fantezi veri yapıları ve algoritmalar daha hızlı IP yönlendiricileri yapar, ancak basit algoritmalar aynı sonuçları üretecektir.

Statik Yollar

Bu noktaya kadar, varsayımsal yönlendiricimizden doğrudan ağa bağlı ağlar hakkında konuştuk. Açıkçası, dünyanın gerçekten nasıl çalıştığını değil. Pizza sürüş benzetmesinde bazen sürücünün binaya daha fazla girmesine izin verilmiyor ve son alıcıya teslim edilmek üzere bir başkasına pizza vermesi gerekiyor (inancınızı askıya al ve benimle birlikte ol. Benim benzetimi uzatırım, lütfen).

Yönlendiricimizi daha önceki "Router 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 YönlendiricisiA-Ethernet0
  • Ağ Kimliği: 192.168.10.0 (11000000.10101000.00001010.00000000) - alt ağ maskesi / 24 - Arabirim YönlendiricisiA-Ethernet1

192.168.10.254/24 ve 192.168.30.1/24 IP adresleri ile Ethernet0 ve Ethernet1 arabirimlerine atanmış başka bir yönlendirici, "Yönlendirici 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 YönlendiricisiB-Ethernet0
  • Ağ Kimliği: 192.168.30.0 (11000000.10101000.00011110.00000000) - alt ağ maskesi / 24 - Arabirim YönlendiricisiB-Ethernet1

Güzel ASCII sanatında, ağ şu şekilde 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 bir ağa nasıl ulaşacağını, 192.168.30.0/24, Yönlendirici A'nın hiçbir şey bilmediğini bilirsiniz.

Yönlendiricinin bir Ethernet 2.0 arabirimine bağlı ağa bağlı 192.168.20.13 IP adresine sahip bir PC'nin, teslimat için yönlendirici A'ya bir paket gönderdiğine dikkat edin. Varsayımsal paketimiz, Yöneltici B'nin Ethernet1 arabirimine bağlı ağa bağlı bir aygıt olan 192.168.30.46 IP adresi için hedeflenmiştir.

Yukarıda gösterilen yönlendirme tablosu ile, Yönlendirici A yönlendirme tablosundaki her iki girişin varış yeri 192.168.30.46 ile eşleşmediğinden, Yönlendirici A paketi "Hedef ağına ulaşılamıyor" mesajıyla gönderen PC'ye geri gönderir.

Yönlendiricinin 192.168.30.0/24 ağının varlığının "farkında" olmasını sağlamak için, aşağıdaki girişi Yönlendirici A'daki yönlendirme tablosuna ekliyoruz:

  • Ağ No: 192.168.30.0 (11000000.10101000.00011110.00000000) - alt ağ maskesi / 24 - 192.168.10.254 üzerinden erişilebilir

Bu şekilde, Yönlendirici A, örnek paketimizin 192.168.30.46 hedefiyle eşleşen bir yönlendirme tablosu girdisine sahiptir. Bu yönlendirme tablosu girdisi, "192.168.30.0/24 için bir paket bağladıysanız, 192.168.10.254 adresine gönderin, çünkü bununla nasıl başa çıkacağını biliyor." Bu, daha önce bahsettiğim "ön bürodaki pizzayı elden geçirme" eylemidir - paketi, hedefine nasıl yaklaşacağını bilen bir başkasına iletir.

"Elle" bir yönlendirme tablosuna bir giriş eklemek "statik yol" eklenmesi olarak bilinir.

Yönlendirici B, paketleri 192.168.20.0 alt ağ maskesine 255.255.255.0 ağına göndermek istiyorsa, yönlendirme tablosunda da bir girişe gerek duyar:

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

Bu, 192.168.30.0/24 ağı ile bu yönlendiriciler arasındaki 192.168.10.0/24 ağı arasındaki 192.168.20.0/24 ağı arasında dağıtım yolu oluşturur.

Bu tür bir "geçiş ağının" her iki tarafındaki yönlendiricilerin "uzak uç" ağı için bir yönlendirme tablosu girdisine sahip olduğundan emin olmak istersiniz. Örneğimizdeki yönelticinin B, yönlendiriciye bağlı 192.168.20.0/24 "uzak uç" ağı için bir yönlendirme tablosu girdisine sahip değilse, 192.168.20.13'teki PC'den gelen varsayımsal paketimiz olur 192.168.30.46 adresindeki hedef aygıta git, ancak 192.168.30.46 geri göndermeye çalıştığı herhangi bir yanıt, yönlendirici B tarafından "Hedef ağına ulaşılamıyor" olarak döndürüldü. Tek yönlü iletişim genellikle arzu edilmez. Akan trafik hakkında her zaman emin olun. her ikisi de Bilgisayar ağlarında iletişimi düşündüğünüzde yol tarifi.

Statik yollardan çok fazla mesafe alabilirsiniz. EIGRP, RIP, vb. Gibi dinamik yönlendirme protokolleri, yönlendiriciler için birbirleri arasında, aslında statik yollarla yapılandırılabilen yönlendirme bilgilerini değiştirmenin bir yolu değildir. Dinamik yönlendirme protokollerini statik yollarla kullanmanın büyük bir avantajı, dinamik yönlendirme protokolleri olabilir. dinamik yönlendirme tablosunu ağ koşullarına (bant genişliği kullanımı, bir arabirim "aşağı", vb) dayalı olarak değiştirin ve bu şekilde, bir dinamik yönlendirme protokolünün kullanılması, ağ altyapısındaki "etrafındaki" arızaları veya darboğazları engelleyen bir yapılandırma ile sonuçlanabilir. (Dinamik yönlendirme protokolleri YOL bu cevabın kapsamı dışında olsa da.)

Buradan oraya gidemezsin

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

Yönlendiriciye bakma Bir yönlendirme tablosu, ne hedef arabirimi ne de statik yol, 172.18.31.92'nin ilk 24 bitiyle eşleşmiyor (10101100.00010000.00011111.01011100, BTW).

Bildiğimiz gibi, Router A, paketi "Hedefe ulaşılamıyor" mesajıyla göndericiye geri gönderecekti.

"192.168.20.254" adresinde oturan başka bir yönlendiricinin (Router C) olduğunu söyle. Router C'nin internete 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'nın, Router C'nin Internet'e gönderebileceği şekilde, Router C'ye kadar herhangi bir yerel arabirim ile eşleşmeyen paketleri yönlendirmesi güzel olurdu. "Varsayılan ağ geçidi" yolunu girin.

Yönlendirme tablomuzun sonuna şu şekilde bir giriş ekleyin:

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

Yönlendirme tablosundaki her girdiye "172.16.31.92" eşleştirmeye çalıştığımızda, bu yeni girdiye varacağız. İlk başta biraz şaşırtıcı. Hedef adresin sıfır bitlerini eşleştirmeye çalışıyoruz ... bekle ... ne? Sıfır bit eşleniyor mu? Yani, hiç bir eşleşme aramıyoruz. Bu yönlendirme tablosu girdisi, temel olarak, "Buraya geldikten sonra, teslimattan vazgeçmek yerine, paketi 192.168.20.254 adresindeki yönlendiriciye gönderin ve ona bırakalım" diyor.

192.168.20.254 bir hedef YAP bir paketin nasıl gönderileceğini bilir. Belirli bir yönlendirme tablosu girişi olmayan bir hedefe yönelik bir paketle karşı karşıya geldiğimizde, bu "varsayılan ağ geçidi" girişi her zaman eşleşecektir (hedef adresin sıfır bitleriyle eşleştiğinden) ve bize "son çare" yeri verir. teslimat için paketler gönderin. Bazen "son çare ağ geçidi" adı verilen varsayılan ağ geçidini duyarsınız.

Bir varsayılan ağ geçidi yolunun etkili olması için, yönlendirme tablosundaki diğer girişler kullanılarak erişilebilen bir yönlendiriciye başvurmalıdır. Örneğin Router A'da 192.168.50.254 varsayılan bir ağ geçidi belirtmeyi denediyseniz, varsayılan bir ağ geçidine teslimat başarısız olur. 192.168.50.254, Yönlendirici A'nın yönlendirme tablosundaki diğer yollardan herhangi birini kullanmak için paketleri nasıl teslim edeceğini bilmediği bir adres değildir, bu nedenle bu adres bir varsayılan ağ geçidi olarak etkisiz olacaktır. Bu kısaca belirtilebilir: Varsayılan ağ geçidi, yönlendirme tablosunda başka bir yol kullanarak erişilebilen bir adrese ayarlanmalıdır.

Gerçek yönlendiriciler, genellikle varsayılan ağ geçidini, yönlendirme tablosundaki son rota olarak depolarlar; böylece, tablodaki diğer tüm girdilerle eşleşemedikleri için paketlerle eşleşir.

Kentsel Planlama ve IP Yönlendirme

IP alt ağlarının daha küçük IP alt ağlarına ayrılması lke şehir planlamasıdır. Şehir planlamasında, imar, arazinin doğal alanlarına (nehirler, göller, vb.) Uyum sağlamak, şehrin farklı bölgeleri arasındaki trafik akışını etkilemek ve farklı arazi kullanımı türlerini (sanayi, konut, vb.) Ayırmak için kullanılır. . IP alt ağları gerçekten aynıdır.

Bir ağı alt ağ olarak kullanmanın üç ana nedeni vardır:

  • Farklı iletişim ortamlarında 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önlendiriciler yerleştirilebilir. Her uçtaki ağlar (ve muhtemelen T1'in kendisindeki "geçiş" ağı), yönlendiricilerin T1 hattı boyunca hangi trafiğin gönderilmesi gerektiğine karar verebilmeleri için benzersiz IP alt ağlarına atanacaktır.

  • Bir Ethernet ağında, ağın belirli bir bölümünde yayın trafiği miktarını sınırlamak için alt ağ kullanabilirsiniz. Uygulama katmanı protokolleri, Ethernet'in yayın yeteneğini çok yararlı amaçlar için kullanır. Aynı Ethernet ağına daha fazla sayıda ana bilgisayar yerleştirildikçe, tel üzerindeki yayın trafiği yüzdesi (veya kablosuz Ethernet'te hava), yayın yapılmayan trafiğin iletilmesi için sorun yaratabilecek bir noktaya kadar artabilir. (Eski zamanlarda, yayın trafiği, her bir yayın paketini incelemeye zorlayarak, ana bilgisayarların CPU'suna zarar verebilir. Bu, bugün daha az olasıdır.) Anahtarlamalı Ethernet üzerindeki aşırı trafik, "bilinmeyen hedeflere çerçevelerin taşması" şeklinde de olabilir. Bu koşul, bir Ethernet anahtarının ağdaki her hedefi takip edememesi ve anahtarlamalı Ethernet ağlarının neden sonsuz sayıda ana makineye ölçeklenememesinin nedeni olmasıdır. Çerçevelerin bilinmeyen hedeflere taşmasının etkisi, alt ağın amaçları için fazla yayın trafiğinin etkisine benzer.

  • Farklı ana bilgisayar grupları arasında akan trafik türlerini "polis" etmek isteyebilirsiniz. Belki de baskı sunucusu aygıtlarınız var ve yalnızca yetkili yazdırma kuyruğu sunucu bilgisayarlarının bunlara iş göndermesini istiyorsunuz. Baskı sunucusu aygıtının alt ağına akmasına izin verilen trafiği sınırlandıran kullanıcılar, bilgisayarlarını, baskı muhasebesini atlamak için doğrudan baskı sunucusu cihazlarıyla konuşacak şekilde yapılandıramazlar. Baskı sunucusu aygıtlarını kendi başına bir alt ağa koyabilirsiniz ve yazdırma sunucusu aygıtlarına trafik göndermek için izin verilen ana bilgisayarların listesini denetlemek için yönlendiricide veya bu alt ağa bağlı güvenlik duvarında bir kural oluşturabilirsiniz. (Hem yönlendiriciler hem de güvenlik duvarları, paketin kaynak ve hedef adreslerine göre bir paketin nasıl ve ne zaman verileceği hakkında kararlar verebilirler .. Güvenlik duvarları, tipik olarak saplantılı bir kişiliğe sahip bir yönlendirici alt türdür. paketlerin yükü, yönlendiriciler ise genellikle yükleri dikkate almaz ve sadece paketleri teslim eder.)

Bir şehri planlarken, sokakların birbirleriyle nasıl kesiştiğini planlayabilir ve trafik akışlarını etkilemek için sadece tek yönlü ve çıkmaz sokakları kullanabilirsiniz. Her bloğun her biri 99 binaya sahip olmakla birlikte, Ana Caddenin 30 blok uzunluğunda olmasını isteyebilirsiniz. Sokak numaranızı, her bir blok için 100'lük bir artışla bir dizi cadde numarasına sahip olacak şekilde planlamak oldukça kolay. Sonraki her bloğun "başlangıç ​​numarası" nı bilmesi çok kolay.

IP alt ağlarını planlarken, doğru sayıda alt ağın (sokak sayısı) doğru sayıda mevcut ana bilgisayar kimliğiyle (yapı numaraları) oluşturulması ve alt ağların birbirine bağlanması için yönlendiricilerin kullanılmasıyla (kavşaklar) ilgilenirsiniz. Yönlendiricilerde belirtilen izin verilen kaynak ve hedef adresleri ile ilgili kurallar, trafik akışını daha fazla kontrol edebilir. Güvenlik duvarları takıntılı trafik polisleri gibi davranabilir.

Bu cevabın amaçları için, alt ağlarımızı oluşturmak tek sorunumuzdur. Ondalık olarak çalışmak yerine, şehir planlamasında 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 Subnetting Nasıl Çalışır?

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


632
2017-08-04 15:58



@Joseph: Kendi iyiliğim için çok fazla kez teslim ettiğim bir ders. > smile <Senin ikili bölümlerine bakacağım. Matematiği öğretmekten nefret ediyorum (gerçekten ikili olanın ne olduğu-- temel 2'de saymaktır) çünkü bu konuda pek iyi değilim. - Evan Anderson
Cevabını kıran tek meselem, neden alt bölümün anlaşıldığını anlamalı var Bir IP ağının alt ağlara nasıl etkili bir şekilde ayrılacağını anlayabilmeniz için (IP yönlendirme). Bir konuyu diğerinin tecritinde tartışmak için iyi bir yol bulamadım. (Gerçekten de, VLSM ile bir IP ağı tasarlanması doğal olarak geliyor ve IP yönlendirmesini anladıktan sonra "mantıklı" oluyor ...) - Evan Anderson
Kırma. - Joseph Kern
Serverfault sitesinde görülen en kapsamlı yayın için +1 - Scott Lundberg
Sadece Kilometre Sayacı metaforu için ayrılmışsa. Şimdi ikililerin insanlara nasıl çalıştığını nasıl açıklayacağımı biliyorum. - phuzion


Devam eden: IPv4 Subnetting Nasıl Çalışır?

ISS'niz size ağ kimliği 192.168.40.0/24 (11000000.10101000.00101000.00000000) aralığını verir. Ağınızın farklı bölümleri (sunucular, istemci bilgisayarlar, ağ ekipmanı) arasındaki iletişimi sınırlamak için bir güvenlik duvarı / yönlendirici aygıt kullanmak istediğinizi biliyorsunuz ve bu şekilde ağınızın bu çeşitli bölümlerini kırmak istiyorsunuz. IP alt ağlarına (güvenlik duvarı / yönlendirici aygıt daha sonra yönlendirme yapabilir).

Var:

  • 12 sunucu bilgisayar, ancak% 50 daha fazla alabilirsiniz
  • 9 anahtar
  • 97 istemci bilgisayar, ama daha fazla alabilirsiniz

Bu parçalara 192.168.40.0/24 ayrılmanın iyi bir yolu nedir?

İki iktidarda bile düşünmek ve daha büyük sayıdaki olası cihazlarla çalışmak, şunları yapabilirsiniz:

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

Belirli bir IP alt ağında, geçerli cihaz IP adresleri olarak kullanılamayan iki adres vardır - ana makine kimliği bölümündeki tüm sıfırlar ve adres, ana bilgisayar kimliği bölümündeki adresle birlikte. Bu şekilde, herhangi bir IP alt ağı için, mevcut ana bilgisayar adreslerinin sayısı, eksi 2'deki alt ağ maskesi içindeki bitlerin sayısı 32 eksi 2'ye eşittir. Yani, 192.168.40.0/24 durumunda Alt ağ maskesinin 24 bit olduğunu görebilir. Bu, ev sahibi kimlikleri için 8 bit bırakır. 8. gücün 2'sinin 256 olduğunu biliyoruz, yani bitlerin 256 olası kombinasyonu 8 bitlik bir genişliğe sığmaktadır. Bu 8 bite ait "11111111" ve "00000000" kombinasyonlarının ana bilgisayar kimlikleri için izin verilmediğinden, bu bize 192.168.40.0/24 ağında atanabilecek 254 olası ana bilgisayardan oluşuyor.

Bu 254 ana bilgisayardan, istemci bilgisayarlara, anahtarlara ve sunucu bilgisayarlarına o alana sığabileceğimiz anlaşılıyor, değil mi? Hadi deneyelim.

"Oynat" için 8 bit alt ağ maskeniz var (ISS'nizin sağladığı alt ağ maskesi tarafından kapsanmayan 192.168.40.0/24 IP adresinin kalan 8 biti). Yukarıdaki cihazları barındırabilen bir dizi benzersiz ağ kimliği oluşturmak için bu 8 biti kullanmanın bir yolunu bulmalıyız.

En büyük ağ ile başlayın - istemci bilgisayarlar. Biliyorsunuz ki, muhtemel cihazların sayısından sonraki iki büyük güç 128'dir. 128 sayısı ikili olarak "10000000" dir. Neyse ki bizim için 8 bitlik boşluğa sığarız (eğer olmasaydı, bu bizim başlangıç ​​alt ağımızın tüm cihazlarımıza uyum sağlayamayacak kadar küçük olduğunun bir göstergesi olurdu).

ISS'miz tarafından sağlanan ağ kimliğimizi alıp, 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 gözden geçirin. Alt ağ maskesini bir bit uzunluğa kadar arttırdık ve ağ kimliğinin ana bilgisayar kimliğindeki bir bitin kaplanmasına neden oluyordu. Bu bit bir sıfır veya bir tane olabileceğinden, 192.168.40.0 ağımızı iki ağa ayırdık. 192.168.40.0/25 ağındaki ilk geçerli IP adresi, en sağdaki bitte "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ğdaki bitde "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 son geçerli ana bilgisayar, her bit ile ana bilgisayar kimliği olacaktır. dışında en sağdaki bit "1" olarak ayarlandı:

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, müşteri bilgisayarlarımızı tutacak kadar büyük bir ağ oluşturduk ve daha sonra aynı ilkeyi daha küçük ağlara bölmek için uygulayabileceğimiz ikinci bir ağ oluşturduk. Bir not yazalı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ğı yıkmak için aynı şeyi yapıyoruz.

12 sunucu bilgisayarımız var, ancak 6'ya kadar daha satın alabiliriz. 18'de planlayalım, bu da bizi bir sonraki en yüksek güç olan 32'yi 32 olarak bırakır. İkilide 32, "bit 100", yani 6 bit uzunluğundadır. 192.168.40.128/25'te kalan 7 bit alt ağ maskesi var, bu yüzden "çalmaya" devam etmek için yeterli bit var. Bir alt bit maskesi daha eklemek iki tane daha ağ sağlar:

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 bitlik alt ağ maskesi veya toplam 62 olası ana bilgisayar kimliğine sahip iki ağa (2 ^ (32 - 26) - 2) ayırdık.

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 teknik, değişken uzunluklu alt ağ maskeleme (VLSM) olarak adlandırılır ve eğer uygun şekilde uygulanırsa, "ana yönlendiricilerin" daha küçük yönlendirme tablolarına ("yol özetlemesi" adı verilen bir işlem) sahip olmasına neden olur. Bu örnekte ISS'miz durumunda, 192.168.40.0/24 alt bölümüne nasıl girdiğimizden tamamen habersiz olabilirler. Yönlendiricilerinin 192.168.40.206 (anahtarlarımızdan biri) için bir pakete bağlı olması durumunda, yalnızca yönlendiricimize iletmeleri gerektiğini bilmeleri gerekir (192.168.40.206 ağ yönlendiricisi ve alt ağ maskesi 192.168.40.0/24 ile yönlendiricinin yönlendirme tablosunda eşleşir. ) ve yönlendiricimiz hedefi alacaktır. Bu, alt ağ yollarımızı yönlendirme tablolarından uzak tutar. (Burada basitleştiriyorum, ama fikri anladın.)

Coğrafi olarak geniş ağları da aynı şekilde planlayabilirsiniz. Doğru "şehir planlaması" nı yaptığınız sürece (her alt ağdaki ana bilgisayarların sayısını belirli bir doğrulukla ve geleceğe bir gözle bekleyerek), çekirdek yönlendiricilerin özetlediği büyük bir yönlendirme hiyerarşisi oluşturabilirsiniz. "çok az sayıda rotaya. Yukarıda gördüğümüz gibi, yönlendiricinin yönlendirme tablosundaki daha fazla rota, daha yavaş işini gerçekleştirir. VLSM ile bir IP ağı tasarlamak ve yönlendirme tablolarını küçük tutmak İyi Bir Şey (tm).

Örneklerin Gerçeküstücüsü

Bu cevabın kurgusal dünyası, açıkçası, kurgusaldır. Tipik olarak, modern anahtarlı Ethernet üzerinde 254'ten daha fazla ana bilgisayar (alt yapıya bağlı) ile alt ağlar oluşturabilirsiniz. Yorumlarda belirtildiği gibi, yönlendiriciler arasındaki / 24 ağları kullanmak Real Life (tm) ile tutarlı değildir. Bu sevimli örnekler için yapar, ancak adres alanı kaybıdır. Tipik olarak, bir / 30 veya a / 31 (bkz. http://www.faqs.org/rfcs/rfc3021.html / 31'in çalışmasına ilişkin ayrıntılar için, bu yanıtın kapsamı kesinlikle kesindir) ağ, iki yönlendirici arasında noktadan noktaya nokta olan bağlantılarda kullanılır.


137
2017-08-04 15:53



Küçük hata: "Son geçerli ana bilgisayar" dan hemen sonra gelen kod, "ilk geçerli ana bilgisayar" olarak adlandırmaya geri döner. Sanırım hala "son" demeliyim. - JoeCool1986
@ JoeCool1986 - İyi yakalama. - Evan Anderson
İki cevabın sırayla saklandığından emin olmak için bu cevabı tekrarlayacağım. - l46kok
192.168.40.128'den iki alt ağ oluşturduğunuz ve 192.168.40.192 bir ağ kimliği oluşturduğunuz bölümde, 192 nereden geldi? - user6607
@ user6607 Alt ağlar geriye doğru sayılır (boşluk olmadan). Örneğin ilk alt ağ 0 olarak temsil edilir 00000000. İkinci alt ağ 128 yani 10000000 ve üçüncü alt ağ 192 olarak temsil edilir 11000000vs. Yeni alt ağ bulmak için geriye doğru saymaya devam edin. - Joseph Kern


Alt ağ

Alt ağlar zor değildir, ancak göz korkutucu olabilir. O halde en basit adımla başlayalım. İkili olarak saymayı öğrenmek.

İkili

İkili bir temel 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)

Yani eğer her 1'in bir değer için bir yer tutucu olduğunu hayal ederseniz (tüm ikili değerler ikiye ayrılır)

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

Yani ... 100000 = 32. Ve 10000000 = 128. VE 11111111 = 255.

"255.255.255.0 alt ağ maskem var" dediğimde, "11111111.11111111.11111111.00000000 alt ağ maskem var." Alt ağları kısa el olarak kullanırız.

Adresdeki dönemler, her 8 ikili basamağı (bir oktet) ayırır. Bu yüzden IPv4 32bit (8 * 4) adres alanı olarak bilinir.

Neden Alt Ağ

IPv4 adresleri (192.168.1.1) kısa sürede beslenir. Alt-netleme, mevcut ağların (veya ana bilgisayarların) miktarını arttırmanın bir yolunu sunar. Bu idari nedenlerden ve teknik nedenlerden dolayıdır.

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

Varsayılan olarak, bir Sınıf C adresi için bir ip adresi ve alt ağ maskesi buna benzer.

IP     192.168.1.1 
Subnet 255.255.255.0

İkili olarak böyle

IP     11000000.10101000.00000001.00000001
Subnet 11111111.11111111.11111111.00000000

İkili örneğe tekrar bak. İlk üç sekizli ağ için nasıl kullanıldığını söyledim? Ağ bölümünün hepsinin nasıl olduğuna dikkat edin? Tüm alt ağlar budur. Hadi genişleyelim.

Ana bilgisayar bölümüm için tek bir oktetim var (yukarıdaki örnekte). SADECE 256 tane ana makinem var (256 bir sayı değerinin 0 değeridir). Ama başka küçük bir hile var: mevcut olanlardan 2 ana bilgisayar adresini (şu an 256) çıkarmanız gerekiyor. Aralıktaki ilk adres ağ için (192.168.1.0) ve aralıktaki son adres yayın olacaktır (192.168.1.255). Dolayısıyla, bir ağdaki ana bilgisayarlar için 254 kullanılabilir adrese sahipsiniz.

Bir vaka çalışması

Diyelim ki sana aşağıdaki kağıdı verdim.

Create 4 networks with 192.168.1.0/24.

Şuna bir bakalım. / 24'e CIDR notasyonu denir. 255.255.255.0 referansından ziyade, ağ için ihtiyacımız olan bitleri referans alıyoruz. Bu durumda 32bit adresinden 24 bit (3 * 8) gerekir. Bunu ikili olarak yazmak

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

Daha sonra, ihtiyacımız olan kaç alt ağın olduğunu öğrenmemiz gerektiğini biliyoruz. 4. Görünüyor Daha fazla ağ oluşturmamız gerektiğinden (şu anda sadece bir tane var) bazı bitleri çevirelim

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'ya karar verdik, hadi ana bilgisayarları tahsis etmeye başlayalım. Biraz basit matematik:

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

Her bir ağda ana bilgisayarlar için tahsis edilecek 6 bit var. Her bir ağ için 2 çıkarmamız gerektiğini hatırlıyorum.

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

Artık ev sahiplerinin nereye gittiğini bulmamız gerek. İkiliye geri!

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.

Vahşi kartlar Bir vahşi kart maskesi, tersine çevrilmiş 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

Daha gelişmiş konular için Google 'süper netleştirme' ve 'VLSM (değişken uzunluklu alt ağ maskesi)' terimleri için.

Artık yanıt vermemenin çok uzun sürdüğünü görebiliyorum. iç çekmek


73
2017-08-04 15:12



"Ev sahibi bölümüm için tek bir octetim var (yukarıdaki örnekte). SADECE 255 ana bilgisayarım var (255 bir oktetin maksimum değeridir.) Ama başka küçük bir numara var: 2 ana adresin çıkarılması gerekiyor mevcut olanlardan (şu anda 255), aralığındaki ilk adres ağ için (192.168.1.0) olacak ve aradaki son adres yayınlanacak (192.168.1.255). Yani gerçekten 253 adresiniz var. Bir ağda barındırır. "... Bu yanlış. - joeqwerty
Oktet için 256 olası değer vardır: 0 ile 255 arasında, toplam 256 için. 256 -2 (ağ ve yayın adresi) = 254 olası konak adresi. - joeqwerty
Hata. Teşekkürler! :-) Bir defasında, o özel başarıyı nasıl yönetdiğimi bilmiyorum. - Joseph Kern
-1 Üzgünüz, ama 1993'te RFC 1519'dan beri “Sınıflar” olmadı, hiç kimse tarihsel bir bağlamın dışında konuşmamalıdır. Kafa karıştırıyorlar ve birçok yanlış anlaşılmaya neden oluyorlar. - Chris S
Chris muhtemelen haklısınız, fakat sınıflar hala 2000'li yılların başında CCNA'da ve en alt seviyedeki kurslarda öğretildi. - Joseph Kern


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

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

Buradaki fikir, farklı büyüklükteki kuruluşların IP adresi alanının verimli kullanımını sağlamak için farklı bir IP adresi sınıfına tahsis edilebilmeleriydi.

Ancak, IP ağları büyüdükçe, bu yaklaşımın problemleri olduğu ortaya çıktı. Üç adıyla:

Sınıfsal bir dünyada, tüm alt ağlar vardı / 8, / 16 veya / 24 maskesine sahip olmak. Bu, yapılandırılabilen en küçük alt ağın, 254 anasistem adreslerine (sırasıyla ağ ve yayın adresleri olarak ayrılan .0 ve .255) izin veren bir / 24 olduğu anlamına gelir. Bu, özellikle onlara bağlı sadece iki yönlendirici ile noktadan noktaya bağlantılar üzerinde muazzam bir şekilde savurgan oldu.

Bu kısıtlamadan sonra bile, önceki yönlendirme protokolleri (ör. RIPv1) bir IP öneki ile ilişkili maske uzunluğunun reklamını yapmadı. Belirli bir maskenin yokluğunda, aynı sınıftaki ağda doğrudan bağlı bir arayüzün maskesini kullanır veya klas maskeyi kullanmaya geri döner. Örneğin, / 30 maskeli yönlendiriciler arası bağlantılar için 172.16.0.0 ağını kullanmak isterseniz, herşey 172.16.0.0 - 172.16.255.255 arasındaki alt ağların, her biri 2 kullanılabilir IP ile bir / 30 maskesi (16384 alt ağa) sahip olması gerekir.

İnternet yönlendiricilerinin yönlendirme tabloları daha fazla bellek almaya başladı; Bu, 'yönlendirme tablosu patlaması' olarak biliniyordu. Bir sağlayıcı 16 bitişik / 24 ağa sahipse, örneğin tüm aralığı kapsayan tek bir özet yerine tüm 16 önekinin reklamını yapmak zorunda kalacaklardır.

İki ilgili iyileştirmeler yukarıdaki sınırlamaların ötesine geçmemize izin verdi.

  1. Değişken Uzunluk Alt Ağ Maskeleri (VLSM)
  2. CIDR (Sınıfsız inter domain yönlendirme)

VLSM, aynı sınıftaki ağ içinde farklı alt ağ maskelerini desteklemek için bir yönlendirme protokolünün yeteneğini ifade eder. Örneğin:

192.168.1.0/24

Bölünmüş olabilir:

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

Adres alanının daha verimli kullanımı için izin verilen; Alt ağlar, onlara eklenebilecek ana bilgisayar / yönlendirici sayısı için doğru boyutta olabilir.

CIDR, VLSM'yi alır ve diğer şekilde genişletir; Tek bir sınıf ağın daha küçük alt ağlara bölünmesine ek olarak, CIDR birden fazla sınıftaki ağların tek bir özet halinde toplanmasını sağlar. Ö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 önek ile toplanabilir / özetlenebilir:

172.16.0.0/14

Alt ağlar açısından: bir alt ağ maskesi 32 bit uzunluğundadır. Maske uzunluğu, adresin ağ kısmının kaç biti tanımladığını gösterir. Örneğin:

10.1.1.0/24
  • Klas alt ağ maskesi / 8
  • Gerçek alt ağ maskesi / 24
  • Alt bit kullanımı için 16 bit (24-8) 'ödünç alındı'.

Bu, 10.0.0.0/8 ağının tamamının / 24s'ye bağlı olduğunu varsayarsak, bu aralıkta 65536 (2 ^ 16) alt ağın olacağı anlamına gelir. (Kullandığınız platformun 0 ve 255 alt ağ numaralarını desteklediği varsayılmaktadır. Bkz. Cisco'nun ip alt ağı sıfır).

Adresin 'ana bilgisayar bölümünde' kalan 8 bit var. Bunun anlamı, 2'si ayrılmış olan 256 adet kullanılabilir IP adresi (2 ^ 8) vardır (10.1.1.0 ağ adresi, 10.1.1.255, alt ağ yöneltilmiş yayın adresidir). Bu, bu alt ağda 254 kullanılabilir IP adresi bırakır. ((2 ^ 8) - 2)


31



Aslında 5 sınıf vardı. - dbasnett
Doğru, ama gerçekten 'bir alt ağa girme' sorusu için çok noktaya yayın ve ayrılmış E sınıfı adreslere girmemiz gerekiyor mu? :) - Murali Suriar
Geçmişi bir intro sorusu haline getirdiniz ... Sonra tamamlanmadı. Hangisinin daha kötü olduğundan emin değilim. - Chris S


Ağ aralıkları: ağlara her zaman 2 sayıyla başvurulur: biri ağ belirlemek için, diğeri ise hangi ağın (veya ana bilgisayarın) o ağda olduğunu belirlemek için kullanılır. Her bir nertwork adresi 32 bit uzun olduğu için, her iki sayı da bu 32 bit'e sığmalıdır.

Ağ numaralandırması, ağ IP aralığını sorduğunuzda ICANN'in çıkardığı kadar önemlidir. Elimizde olmasaydı, ağım ile AT & Ts arasındaki farkı anlayamazdım. Bu sayılar benzersiz olsa da, başka hiç kimse ağımdaki ana bilgisayarlara numara atamak istemiyor. Böylelikle bölme - ilk kısım ağdaki insanlar tarafından yönetiliyor, ikinci kısım ise benim istediğim makinelere verilecek.

Ağ numarası belirli bir sayıda bitde sabitlenmez - örneğin, kendimi yönetmek için yalnızca 200 makinem olsaydı, 24 biti kullanan bir ağ numarasından mükemmel bir şekilde memnun olurdum, kendim için yalnızca 8 biti bırakıyordum - 255 ana bilgisayar için yeterlidir. Ağ numarası 24 bit kullanıyorsa, çoğumuz olabilir, bu da birçok kişinin kendi ağlarına sahip olabileceği anlamına gelir.

Geçmişte bu bir C sınıfı ağ olarak adlandırıldı. (B sınıfı ağ numarası için 16 biti kullandı ve A sınıfı 8 bit kullanıyordu, dolayısıyla yalnızca birkaç A sınıfı ağ var).

Günümüzde, bu adlandırma kuralı modaya düştü. CIDR adlı kavramla değiştirildi. CIDR, eğik çizgiden sonra ana makineleriniz için bit sayısını açıkça belirtir. Öyleyse yukarıdaki örneğim (C sınıfı) şimdi bir CIDR / 24 olarak anılacaktır.

Bu bize biraz daha esneklik sağlıyor, önce 300 ana bilgisayarı yönetmem gerekiyorsa, B sınıfı bir ağa ihtiyacım var! Şimdi, sadece bir / 23 CIDR alabilirim, bu yüzden benim için 9 bit ve ağ numarası için 23 bit var. ICANN bu tür ağlara sahip olmayabilir, ancak bir iç ağım varsa veya bir ISS'den kısmi bir ağı kiralıyorsam, bu daha kolay yönetilmesini sağlar - özellikle tüm müşterilere / 29 (beni bırakarak) verilebilir. Daha fazla kişinin kendi IP adreslerinin kendi küçük dilimlerine sahip olmasını sağlayan 3 bit veya en fazla 8 makine. IPv6'yı alana kadar, bu oldukça önemlidir.


Ancak ... / 24 CIDR'yi bildiğim zaman eski C Sınıfı ağının eşdeğeri ve a / 16 sınıfı B ve a / 8 A sınıfıdır. kafam. Neyse ki benim için bunu yapan araçlar var :)

Ancak - Eğer bir / 24 ana bilgisayarlar için (ve ağ için 24 bit) 8 bit olduğunu biliyorsanız, o zaman a / 23 bana ana bilgisayar sayısını iki katına çıkarır.


6



-1 Üzgünüz, ancak "tarihsel" referansın dışındaki sınıflardan söz etmek bu günlerde uygunsuz. 1993'te RFC 1519 tarafından resmen tasfiye edilmedikleri "modaya düşmediler". Bütün h * ll'ler gibi kafa karıştırıyorlar ve bir takım yanlış anlamalara neden oluyorlar. - Chris S
Dinamik yönlendirme protokollerinin bazı uygulamaları, sınıfsal sınırlar boyunca özetlenir, dolayısıyla bunları bilmek hala yararlıdır. - Ben


Yukarıdaki doğru olsa da (üzgünüz, TL; DR), alt ağları hesaplamak hala birçok ağ yöneticisine çok fazla keder çekmesine neden olur. Aslında, alt ağ hesaplaması yapmanın çok kolay bir yolu var, çoğunu kafanızda yapabilir ve ezberlemeniz gereken çok az şey var. Çoğu uygulama için, ikili gösterimi anlamak bile gerekli değildir, ancak alt ağın tam olarak anlaşılmasına yardımcı olur. Burada sadece IPv4'ü tartışacağım; IPv6 bu tartışmanın kapsamı dışındadır.

Hatırla bunu:

Hatırlanması gereken üç önemli nokta vardır: tüm alt ağlar ikisinin yetkilerine dayanır ve iki anahtar sayı vardır: 256 ve 32. Daha sonra bunun üzerine.

İlk olarak, 2'nin güçlerini 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'nin güçlerinin hesaplanması kolaydır: güçteki her bir tamsayı artışı sonucu ikiye katlar. 1 + 1 = 2, 2 + 2 = 4, 4 + 4 = 8, 8 + 8 = 16, vb. Bir alt ağdaki toplam adres sayısı her zaman 2 olmalıdır..

Bir IPv4 alt ağının her sekizli 256'ya çıktığı için 256 çok önemli bir sayıdır


3



teşekkür ederim.Ama hala pc alt ağ maskesini nasıl kullandığı hakkında bulanıkım. Bir bilgisayardaki bir uygulama veri göndermek istediğinde, bir paket halinde saklar. Alt ağ maskesi, bir paketin nasıl kapsandığını belirler mi? Örneğin, bilgisayar yerel ağda bir paket göndermek istiyorsa, bir ethernet çerçevesi kullanacaktır. en.wikipedia.org/wiki/Ethernet_frame ve ağ dışında istediyse bir tcp paketi kullanacaktı en.wikipedia.org/wiki/... ? - aquagremlin
Temel olarak, BILGISAYAR BILGISAYAR BILGISAYARıNıN NASIL bir veri gönderileceğini belirler. Ethernet ağı bir otobüs gibidir, her yere gider. Bir bilgisayarın ethernet soketinden bir paket koymak genel bir olaydır, bu nedenle paketin kendisi kendisine kimin yanıt verdiğini belirlemelidir. Yerel bir cihaz tarafından alınacak bir paket (anahtar veya başka bir pc), bir yönlendirici tarafından alınacak bir paketden farklı görünmelidir. - aquagremlin
Bu, TCP altındaki bir katmanda olur. Her aygıtın, her aygıtın ARP tablosunda bir IP adresiyle ilişkilendirilmiş bir donanım adresi (MAC) vardır. Bu keşif yoluyla inşa edilmiştir. Yerel ağdaki bir sunucu için bir paket hedeflendiğinde, hedef aygıt için MAC ile etiketlenir. Bir paket uzak bir ana makine için hedeflendiğinde, yerel ağdaki yönlendirici için MAC ile etiketlenir. Yönelticiden geçerken, MAC soyulur ve bir sonraki atlama yönlendiricisinin MAC ile etiketlenir. Alt ağ sadece yerel ağın kapsamını tanımlar. (Bu basit <500 karakterli versiyon.) - Jonathan J


Ayrıca, en azından NAT'lardan söz etmeliyiz diye düşünüyorum, çünkü diğer şeylerin yanı sıra IPv4 adres tükenmesi nedeniyle, Subnet'lerin yerine modern ağlarda yaygın olarak kullanılıyorlar. (Ayrıca, ilk önce alt ağları öğrendiğimde, alt ağın WiFi yönlendiricileri tarafından oluşturulan ağlarla nasıl ilişkili olduğu konusunda kafam karışmış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 (yaygın olarak). Büyük ölçüde, bu, bir kamu adresinin arkasında, örneğin Wifi yönlendiricilerde, kuruluşlar (bir üniversite veya bir şirket gibi) veya bazen İSS'ler tarafından birden çok özel IP'nin özel bir ağını oluşturmak için kullanılır.

Gerçek adres çevirisi yapıldı şeffaf NAT yetenekli düğümlerde, genellikle yönlendiriciler. Pek çok formda olabilir, Tam Koni, Adres Kısıtlı, Bağlantı Noktası kısıtlı vb. Veya bunların bir karışımı olabilir, bu da düğüm boyunca bağlantıların nasıl başlatılacağını belirler.

Tüm detaylar bulunabilir Vikipediama örneğin ona bağlı 2 cihazla bir Wifi yönlendirici düşünün. Yönlendiricinin genel IP'si 10.9.20.21/24ve cihazların IP'si (Özel IP'ler) A: 192.168.0.2, B: 192.168.0.3 ve yönlendiricinin R: 192.168.0.1. Eğer öyleyse A sunucuya bağlanmak istiyor S: 10.9.24.5/24, (aslında burada farklı bir alt ağda w.r.t yönlendirici):

  1. A bir IP paketi gönderir Rkaynak IP ile (varsayılan ağ geçidi olurdu) 192.168.0.2, src limanı (demek) 14567ve hedef IP: 10.9.24.5 (Bağlantı noktası aslında TCP başlığının bir parçası olsa da).
  2. Yönlendirici (NAT özelliği olan) bağlantı noktasını eşler 14567 cihaza A ve IP paketindeki kaynağı değiştirir 10.9.20.21(yönlendiricinin genel IP'si). Bu, yukarıda açıklanan alt ağın tersidir. IP paketlerinin hiçbir zaman değişmediği yer.
  3. S TCP paketlerinin serisini (src IP ile) alır: 10.9.20.21, src Bağlantı Noktası: 14567) ve hedef alanlara bu değerlerle yanıt paketleri gönderin.
  4. R hedef bağlantı noktasını kontrol eder 14567 ve paketi A.
  5. A yanıt paketini alır.

Yukarıdaki durumda, eğer B aynı kaynak bağlantı noktasında bir bağlantı açmaya çalıştı (14567), farklı bir portla eşleştirilecek R(ve giden paketdeki bağlantı noktası değişti) S. Yani, sadece IP yerine port çevirisi de olacaktır.

Burada dikkat edilmesi gereken iki şey:

  1. Bu adres çevirisi nedeniyle, bazı özel teknikler kullanılmadan özel ağdaki cihazlarla bağlantı kurmak çoğu zaman mümkün değildir.
  2. Aynı aygıttan bir sunucuya (65536 = 2 ^ 16) olan toplam TCP bağlantılarındaki kısıtlama, artık NAT'ın arkasında bulunan NAT aygıtında, yukarıda kullanılan tüm aygıtlara toplu olarak uygulanır.

1