Разное

Классы сетей. Маски подсетей

Первое, что необходимо знать и понимать сетевому специалисту, это что такое адрес, сеть и маска подсети. Без понимания этих слов и их значений нету дороги дальше в мир коммуникационных сетей.

Сначала была сеть. Звучит как в библии, неправда ли? Так вот, чтобы распознавать узлы в сети им назначали адреса. IP адрес любого хоста в интернете или какой-нибудь локальной сети состоит с четырех октетов. Например, адрес моего компьютера — 192.168.0.2, а адрес моего роутера — 192.168.0.1.  Каждый октет — это десятичное число размером с байт, то есть 2 в степени 8. Октет имеет минимальное значение 0, максимальное 255. Таким образом, в сети может быть 255*255*255*255 хостов. Вроде, большое число, но, как вы возможно слышали, оно уже исчерпывается. IP адрес также можно записать в шестнадцатеричном варианте как MAC-адреса, а можно и в двоичном варианте. Например, адрес 192.168.0.1 в двоичном варианте записывается так: 11000000.10101000.00000000.00000001.

Для того, чтобы как-то структурировать сети, их поделили на классы. Классы сетей были введены в 1981 году на заре рождения интернета. Тогда никто еще не беспокоился о возможности исчерпания адресного пространства. Именовали принцип класификации словом «classful». Всего использвалось пять классов сетей: A, B, C, D, E. Первые три класса для адресации сетей, другие два имели специальное назначение. В таблице показана структура классов сетей.

Класс А

0
N сети
N узла
Класс В
1
0
N сети
N узла
Класс С
1
1
0
N сети
N узла
Класс D
1
1
1
0
адрес группы multicast
Класс Е
1
1
1
1
0
зарезервирован
  • Если адрес начинается с 0, то сеть относят к классу А, и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса А имеют номера в диапазоне от 1 до 126. (Номер 0 не используется, а номер 127 зарезервирован для специальных целей.) В сетях класса А количество узлов должно быть больше 216 , но не превышать 224.
  • Если первые два бита адреса равны 10, то сеть относится к классу В и является сетью средних размеров с числом узлов 28 — 216. В сетях класса В под адрес сети и под адрес узла отводится по 16 битов, то есть по 2 байта.
  • Если адрес начинается с последовательности 110, то это сеть класса С с числом узлов не больше 28. Под адрес сети отводится 24 бита, а под адрес узла — 8 битов.
  • Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый, групповой адрес — multicast. Если в пакете в качестве адреса назначения указан адрес класса D, то такой пакет должны получить все узлы, которым присвоен данный адрес.
  • Если адрес начинается с последовательности 11110, то это адрес класса Е, он зарезервирован для будущих применений.

Но понятие класса сети использовалось недолго в силу того, что необходимо было економически грамотно использовать адреса в сетях, которые при подходе как у classful очень быстро заканчивались. К примеру, сетей класса А можно было бы построить только 127 штук. И если не все адреса сети были использованы, то они просто пропадали. В связи с этим в 1993 году была введена безклассовая адресация — Classless Inter-Domain Routing (CIDR). На смену классам сетей пришли маски, которые позволили разбивать сети на подсети (которые тоже являются сетями). Маска подсети существует для разделения сетей на логические подсети. Если быть точней, то маска определяет сколько хостов, с какими адресами может быть в данной подсети. Для таких хостов не нужно маршрутизации, обмен данными осуществляется на уровне коммутации.

Итак, по CIDR адрес состоит из двух логических частей — номера сети и номера хоста. Для того, чтобы определить номер сети и номер узла, необходимо на двоичную запись адреса хоста наложить двоичную запись маски подсети. Например, если у нас адрес хоста 192.168.0.1, а в двоичном варианте 11000000.10101000.00000000.00000001 и маска подсети 255.255.255.0, а в двоичном варианте 11111111.11111111.11111111.00000000, и применить к этим числам побитовое «AND», а потом дополнить пустые октеты нулями, то получим соответственно результат: 11000000.10101000.00000000.00000000  и 00000000.00000000.00000000.00000001. В десятеричном варианте записи будем иметь соответственно: 192.168.0.0 и 0.0.0.1. Первое значение это номер сети, а второе — номер узла. Если не использовать понятия масок, то наш адрес можно отнести к классу С так как адрес сети относится к классу C (начинается на 110).

Стандартным классам сетей могли бы соответствовать следующие маски:

  • Класс A — 255.0.0.0
  • Класс B — 255.255.0.0
  • Класс C — 255.255.255.0

Итак, подведем итоги. Classful делит сети на классы A, B, C, D, E. В таблице приведены диапазоны номеров сетей, соответствующих каждому классу сетей.

Класс
Наименьший адрес
Наибольший адрес
A
1.0.0.0
126.0.0.0
B
128.0.0.0
191.255.0.0
C
192.0.0.0.
223.255.255.0
D
224.0.0.0
239.255.255.255
E
240.0.0.0
247.255.255.255

С 1993 года classful не используется, введена CIDR, которая предусматривает маски подсетей. Маска подсети определяет номер сети и номер хоста. Результаты определяются наложением двоичных записей адреса и маски и применение операции «И» над ними.

Таблица соответствия префиксов и масок по CIDR:

адресов      битов   префикс     класс    маска

1             0             /32                         255.255.255.255

2             1             /31                         255.255.255.254

4             2             /30                         255.255.255.252

8             3             /29                         255.255.255.248

16           4             /28                         255.255.255.240

32           5             /27                         255.255.255.224

64           6             /26                         255.255.255.192

128         7             /25                         255.255.255.128

256         8             /24         1C           255.255.255.0

512         9             /23         2C           255.255.254.0

1K           10           /22         4C           255.255.252.0

2K           11           /21         8C           255.255.248.0

4K           12           /20         16C        255.255.240.0

8K           13           /19         32C        255.255.224.0

16K        14           /18         64C        255.255.192.0

32K        15           /17         128C      255.255.128.0

64K        16           /16         1B           255.255.0.0

128K      17           /15         2B           255.254.0.0

256K      18           /14         4B           255.252.0.0

512K      19           /13         8B           255.248.0.0

1M         20           /12         16B        255.240.0.0

2M         21           /11         32B        255.224.0.0

4M         22           /10         64B        255.192.0.0

8M         23           /9           128B      255.128.0.0

16M       24           /8           1A          255.0.0.0

32M       25           /7           2A          254.0.0.0

64M       26           /6           4A          252.0.0.0

128M    27           /5           8A          248.0.0.0

256M    28           /4           16A        240.0.0.0

512M    29           /3           32A        224.0.0.0

1024M  30           /2           64A        192.0.0.0

2048M  31           /1           128A      128.0.0.0

4096M  32           /0           256A      0.0.0.0

Оставить комментарий