Classless InterDomain Routing - Бесклассовая адресация

Опубликовано admin в Вс, 29/08/2010 - 22:36

Classless InterDomain Routing - Бесклассовая адресация

  Как выяснить маску подсети исходя из CIDR ? (_http://alexandr.sysoev.ru/node/101#que1) 
  Как по CIDR определить адрес сети, широковещательный адрес (broadcast), число хостов в сети ? (_http://alexandr.sysoev.ru/node/101#que2) 
  Как по хосту и маске подсети определить адрес сети, широковещательный адрес (broadcast), число хостов в сети ? (_http://alexandr.sysoev.ru/node/101#que3) 
  Скрипты (функции) Perl и PHP для проверки вхождения IP-адреса в подсеть (_http://alexandr.sysoev.ru/node/102) 
CIDR Subnet Table
Subnet MaskCIDR PrefixTotal IP's Usable IP'sNumber of
Class C networks
255.255.255.255/32111/256
255.255.255.254/31201/128
255.255.255.252/30421/64
255.255.255.248/29861/32
255.255.255.240/2816141/16
255.255.255.224/2732301/8
255.255.255.192/2664621/4
255.255.255.128/251281261/2
255.255.255.0/242562541
255.255.254.0/235125102
255.255.252.0/22102410224
255.255.248.0/21204820468
255.255.240.0/204096409416
255.255.224.0/198192819032
255.255.192.0/1816,38416,38264
255.255.128.0/1732,76832,766128
255.255.0.0/1665,53665,534256
255.254.0.0/15131,072131,070512
255.252.0.0/14262,144262,1421024
255.248.0.0/13524,288524,2862048
255.240.0.0/121,048,5761,048,5744096
255.224.0.0/112,097,1522,097,1508192
255.192.0.0/104,194,3044,194,30216,384
255.128.0.0/98,388,6088,388,60632,768
255.0.0.0/816,777,21616,777,21465,536
254.0.0.0/733,554,43233,554,430131,072
252.0.0.0/667,108,86467,108,862262,144
248.0.0.0/5134,217,728134,217,7261,048,576
240.0.0.0/4268,435,456268,435,4542,097,152
224.0.0.0/3536,870,912536,870,9104,194,304
192.0.0.0/21,073,741,8241,073,741,8228,388,608
128.0.0.0/12,147,483,6482,147,483,64616,777,216
0.0.0.0/04,294,967,2964,294,967,29433,554,432

 
 
Как выяснить маску подсети исходя из CIDR ? 
 
    В кач-ве примера будем использовать IP-адрес 213.45.64.123 с CIDR /27:
 
    Необходимо взять кол-во бит из CIDR (в бинарном виде), разбить на 4-ре октета и перевести в десятичные.
 
    1. запишем первые 27 бит как 1-цу, а остальные 5-ть (т.к. их всего 32 бита) как 0-ль
   
	11111111111111111111111111100000
       
    2. Разделим на 4-ре октета
 
	11111111.11111111.11111111.11100000
 
    3. Переведем в десятичную систему
 
	255.255.255.224
		     
    Вот и все. Получили что /27 равен маске 255.255.255.224
		     
    Так же полезно просто помнить что:
	сети класса A - это CIDR /8
	сети класса B - это CIDR /16
	сети класса С - это CIDR /24
 
    
Как по CIDR определить адрес сети, широковещательный адрес (broadcast), число хостов в сети ? 
 
    В кач-ве примера будем использовать тот же IP-адрес 213.45.64.123 с CIDR /27:
    
    1. 32-27=5 бит
    
    2. 2-ка в пятой степени = 32, а значит получается что рабочих IP-адресов в этой сети 30-ть (т.к. 1-ый адрес это адрес сети, а последний это broadcast)     
 
    3. Смотрим последний октет IP-адреса (213.45.64.123), в 123-х целых 32-ек укладывается 3 раза, а значит адрес сети 213.45.64.96 - это 32 умножить на 3 (32х3=96)
 
    4. Широковещательным адресом (broadcast) будет 213.45.64.127 - это 32 умножить на 4 и отнять 1 (32х4-1=127)
 
 
Как по хосту и маске подсети определить адрес сети, широковещательный адрес (broadcast), число хостов в сети ? 
 
    В кач-ве примера будем использовать IP-адрес 192.168.32.48  с маской подсети 255.255.255.192:
 
    1. 256-192=64, где 192 это последний октет из маски (255.255.255.192), а 64 это общее кол-во хостов в сети, 
	т.к. 1-ый адрес это адрес сети, а последний это broadcast получаем 62 рабочих хоста в сети.
 
    2. Смотрим последний октет IP-адреса (192.168.32.48), в 48 целых 64-рок укладывается ноль получаем адрес сети 192.168.32.0 (0x64=0)
    
    3. Широковещательным адресом (broadcast) будет 192.168.32.63 (64x1-1=63) 
    


Статья взята с http://subnets.ru (_http://subnets.ru/wrapper.php?p=35)

( categories: )