Выбрать главу

Разделение на подсети может быть также произведено из соображений безопасности. Более подробно об этой и других причинах разделения сети на подсети вы можете прочитать в руководстве IP Sub-networking-HOWTO, которое вы найдете на прилагаемом компакт-диске.

Как я уже писал, каждый компьютер в сети имеет свой уникальный адрес. Но оказывается, что и сеть (подсеть) также имеет свой уникальный адрес. Под сетью можно понимать «пачку» IP-адресов, идущих подряд, то есть 192.168.1.0…192.168.1.255. Самый младший и самый старший адреса резервируются. Младший (192.168.1.0) является адресом сети, а старший является широковещательным (broadcast) адресом сети. Адрес сети может потребоваться, когда нужно указать всю сеть (подсеть), например, при задании маршрутизации для этой сети.

Представьте, что у вас есть две отдельных сети и вам нужно объединить их в одну. Тогда эта одна «большая» сеть станет называться сетью, а две «маленькие» — подсетями. Устройство, которое будет обеспечивать связь этих сетей (маршрутизацию), называется, как уже было отмечено выше, маршрутизатором. Маршрутизатор может быть как аппаратным (отдельное устройство), так и программным.

В роли программного маршрутизатора может выступать любой компьютер с двумя (или более) сетевыми интерфейсами, например, двумя сетевыми платами. В качестве операционной системы может быть установлена любая сетевая операционная система, поддерживающая перенаправление пакетов IPv4-Forwarding. Такой операционной системой может быть Linux, FreeBSD, любая UNIX-система, Windows NT/2000. Маршрутизатор можно настроить и на базе Windows 98, но делать это я не рекомендую, поскольку вряд ли он будет работать надежно. Традиционно в роли маршрутизатора используются UNIX-системы, к которым относится и Linux.

Широковещательный адрес используется для передачи сообщений «всем — всем — всем» в рамках сети, то есть когда нужно передать сообщение (пакет) сразу всем компьютерам сети. Широковещательные запросы очень часто используются, например, для построения ARP-таблиц.

Для каждой подсети определена ее маска. Фактически, маска — это размер сети, то есть число адресов в сети. Маску принято записывать в десятично-побайтном виде:

255.255.255.0 маска на 256 адресов (0…255);
255.255.255.192 маска на 64 адреса (192…255);
255.255.0.0 маска на 65536 адресов (256*256).

В общем случае IP-сети делятся на пять классов: А, В, С, D и Е.

Сети класса А — это огромные сети. Маска сети класса А: 255.0.0.0. В каждой сети такого класса может находиться 16777216 адресов. Адреса таких сетей лежат в промежутке 1.0.0.0…126.0.0.0, а адреса хостов (компьютеров) имеют вид 125.*.*.*

Сети класса В — это средние сети. Маска такой сети — 255.255.0.0. Эта сеть содержит 65536 адресов. Диапазон адресов таких сетей 128.0.0.0…191.255.0.0. Адреса хостов имеют вид 136.12.*.*

Сеть класса С — маленькие сети. Содержат 256 адресов (на самом деле всего 254 хоста, так как номера 0 и 255 зарезервированы). Маска сети класса С — 255.255.255.0. Интервал адресов: 192.0.1.0…223.255.255.0. Адреса хостов имеют вид: 195.136.12.*

Класс сети определить очень легко. Для этого нужно перевести десятичное представление адреса сети в двоичное. Например, адрес сети 128.11.1.0 в двоичном представлении будет выглядеть так:

10000000 00001011 00000001 00000000

а сети 192.168.1.0:

11000000 10101000 00000001 00000000

Если адрес начинается с последовательности битов 10, то данная сеть относится к классу В, а если с последовательности 110, то — к классу С.

Если адрес начинается с последовательности 1110, то сеть является сетью класса D, а сам адрес является особым — групповым (multicast). Если в пакете указан адрес сети класса D, то этот пакет должны получить все хосты, которым присвоен данный адрес.

Адреса класса Е зарезервированы для будущего применения. В табл. 1.2 приведены сравнительные характеристики сетей классов А, В, С, D и Е.

Характеристики сетей различных классов Таблица 1.2

Класс Первые биты Диапазон адресов Количество узлов
А 0 1.0.0.0…126.0.0.0 16777216 (224)
В 10 128.0.0.0…191.255.0.0 65536 (216)
С 110 192.0.1.0…223.255.255.0 256 (28)
D 1110 224.0.0.0...239.255.255.255 Multicast
Е 11110 240.0.0.0…247.255.255.255 Зарезервирован

Теперь самое время немного сказать о специальных адресах, о которых я упомянул немного выше. Если весь IP-адрес состоит из нулей (0.0.0.0), то значит, что он обозначает адрес того узла, который сгенерировал этот пакет.

Адрес 255.255.255.255 — это широковещательный адрес. Пакет с таким адресом будет рассылаться всем узлам, которые находятся в той же сети, что и источник пакета. Это явление называется ограниченным широковещанием. Существует также другая рассылка, которая называется широковещательным сообщением. В этом случае вместо номера узла стоят все единицы в двоичном представлении (255). Например, 192.168.2.255. Это означает, что данный пакет будет рассылаться всем узлам сети 192.168.2.0.

Особое значение имеет IP-адрес 127.0.0.1 — это адрес локального компьютера. Он используется для тестирования сетевых программ и взаимодействия сетевых процессов. При попытке отправить пакет по этому адресу данные не передаются по сети, а возвращаются протоколам верхних уровней, как только что принятые. При этом образуется как бы «петля». Этот адрес называется loopback. В IP-сети запрещается использовать IP-адреса, которые начинаются со 127. Любой адрес подсети 127.0.0.0 относится к локальному компьютеру, например: 127.0.0.1, 127.0.0.5, 127.77.0.6.

Существует также специальные адреса, которые зарезервированы для несвязанных локальных сетей — это сети, которые используют протокол IP, но не подключены к Интернет. Вот эти адреса:

10.0.0.0 (сеть класса А, маска сети 255.0.0.0).

172.16.0.0…172.31.0.0 (16 сетей класса В, маска каждой сети 255.255.0.0).

192.168.0.0…192.168.255.0 (256 сетей класса С, маска каждой сети 255.255.255.0).

В этой книге я старался использовать именно такие адреса, чтобы не вызвать пересечение с реальными IP-адресами.

1.7.4.Системадоменныхимен—DNS

Для того чтобы подключиться к какому-нибудь другому компьютеру, например, Web-серверу, нужно знать его IP-адрес. Это не очень удобно, потому что человеку намного проще запомнить символьное название сервера, чем последовательность чисел. Представьте, что вместо http://www.romb.net в окне браузера вам нужно было бы вводить http://62.244.59.193. Оба способа будут работать, но первый запоминается намного проще. Фактически, нужно запомнить только слово из четырех букв — romb, a www и net — это «само собой». Компьютеру же, наоборот, проще обрабатывать числа, а не символьную информацию.