Адреса в сети TCP/IP
Одно из удобств протокола IP заключается в том, что с его помощью можно рассылать пакеты данных в широковещательном режиме, когда они достигают всех компьютеров физической сети. Протоколы IPX и NETBIOS также обладают этим свойством.
Что же касается протокла TCP, то для передачи данных с его помощью необходимо создать канал связи между компьютерами. Канал создается с использованием протокола IP.
Каждый компьютер, подключенный к сети TCP/IP, имеет свой адрес, который представляется 32-разрядным двоичным числом. Этот адрес не должен совпадать с адресами других компьютеров.
Помимо компьютеров, к сети могут подключаться и другие устройства, такие, например, как сетевые принтеры. Они также могут иметь свой адрес. Поэтому в дальнейшем для обозначения устройств, подключаемых к сети, мы будем пользоваться термином узел (название, принятое в зарубежной литературе - host).
Адрес узла логически разделяется на две части, одна из которых называется идентификатором сети Network ID, а другая - идентификатором узла Host ID (рис. 2.1).
Рис. 2.1. Компоненты адреса TCP/IP
Глобальная сеть может объединять много сетей, каждая из которых имеет свой идентификатор Network ID. В каждой сети может располагаться некоторое количество узлов, каждый из которых имеет свой идентификатор Host ID. Такми образом, с помощью пары чисел (Network ID, Host ID) можно адресовать любой узел, подключенный к глобальной сети на базе протокола TCP/IP.
Мы, однако, ничего не сказали о количестве разрядов, отведенного для указанных полей из полного 32-разрядного адреса. Дело в том, что существует три класса адресов , обозначаемых буквами A, B и С, для которых используется различная разрядность полей Network ID и Host ID.
В сети с адресами класса A (рис. 2.2) для идентификатора сети отводится 8 разрядов. При этом возможные значения номера сети лежат в диапазоне от 1 до 126. Поле идентификатора узла при этом получается 24-разрядным.
Рис. 2.2. Адресация в сети с адресами класса A
Очевидно, что сети с адресами класса A - это крупные сети, объединяющие максимально 16777214 узлов. Из-за выбранного диапазона номеров сети таких крупных сетей может быть всего 126.
Сетей с адресами класса B может быть намного больше (до 16384), так как для идентификатора таких сетей отводится два байта (рис. 2.3). Причем первый байт может принимать значения в диапазоне от 128 до 191. Для идентификатора узла отводится тоже два байта. В результате к сети с адресами класса B можно подключить до 65534 узлов.
Рис. 2.3. Адресация в сети с адресами класса B
И, наконец, больше всего существует сетей с адресами класса C, в которых идентификатор сети задается тремя байтами, а идентификатор узла - одним байтом (рис. 2.4). Таких сетей, объединяющих до 254 узлов каждая, может существовать примерно 2 миллиона (точное значение - 2097151).
Рис. 2.4. Адресация в сети с адресами класса C
Адреса TCP/IP принято записывать в виде четырех десятичных чисел, разделенных точкой, например 201.23.1.12. Каждое десятичное число соответствует одному байту 32-разрядного адреса и может принимать значение от 0 до 255.
С учетом этих обозначений узлы, например, с адресами класса A могут иметь адреса от 1.w1.w2.w3 до 126.w1.w2.w3. Здесь символами w1, w2 и w3 обозначены числа, которые могут принимать значения от 0 до 255, но с некоторыми ограничениями. А именно, адреса вида n.0.0.0 и n.255.255.255 зарезервированы, соответственно, для обозначения сети с номером n и всех узлов, подключенных к сети n.
Ниже мы привели таблицу, в которой для каждого класса адреса указано возможное начальное значение первого байта адреса и обозначение сети в виде четырех десятичных чисел:
Класс адреса | Значение первого байта адреса | Идентификатор сети | Идентификатор узла |
A | 1-126 | n | w1.w2.w3 |
B | 128-191 | n1.n2 | w1.w2 |
C | 192-223 | n1.n2.n3 | w |
Когда вы подключаетесь к глобальной сети, фирма, предоставляющая сервис Internet, может выделить для вас постоянный или временный адрес. Кроме того, вы можете получить для себя даже диапазон адресов (с целью организации собственной сети, подключенной к Internet).
Для тех, кто лишь изредка работает с Internet, используя модемное соединение, обычно выдается временный адрес, который действует лишь на один сеанс связи. Когда вы в следующий раз подключитесь к Internet, ваш адрес может стать другим.
Причина этого заколючается в дефиците адресов IP. Если, например, к серверу подключено десять модемов, с ним одновременно смогут работать десять пользователей, для которых необходимо выделить десять адресов. Но все эти пользователи не будут работать круглосуточно, поэтому можно выделять временно эти десять адресов любым пользователям, работающим через модемное соединение. В результате к серверу сможет подключаться по очереди значительно большее количество пользователей, чем имеется адресов.
Если же вы создаете собственный сервер WWW, который должен работать круглосуточно, вы должны обязательно получить постоянный адрес, а при подключении к этому серверу других пользователей (через локальную сеть или модем) - некоторый диапазон адресов.