Типы адресов в компьютерных сетях
Для того, чтобы компьютеры могли идентифицировать друг друга в информационно-вычислительной сети, им присваиваются явные адреса. Основными типами адресов являются следующие:
- MAC -адрес;
- IP -адрес;
- доменный адрес;
- URL .
2. Иерархическая схема адресации IP.
Адрес IP состоит из 32 бит информации , которые разбиты на четыре раздела по одному байту каждый и называются октетами.
Существует три способа изображения адресов IP:
- Десятичный с точками , например 130 . 57 . 30 . 56
- Бинарный , например 10000010 . 00111001 . 00011110 . 00111000
- Шестнадцатеричный , например 82 . 39 . 1Е . 38 .
Все приведенные примеры обозначают один и тот же адрес IP . 32-битовый адрес IP является структурированным , или иерархическим , в отличие от прямого (неиерархического). Хотя можно применять любую схему адресации любого типа , в силу достаточно серьезных причин предпочтение отдано иерархической схеме.
Пример прямой схемы адресации — номер паспорта. В нем нет разрядов, обозначающих конкретные области или свойства индивида, которому он приписан. Если бы такой метод был бы применен при адресации IP , для каждого компьютера Internet потребовался бы абсолютно уникальный номер , каковым и является номер страхового полиса . Положительным свойством такой схемы является то , что в ней может быть описано большое количество адресов , а именно 4,2 млрд. (пространстао 32-битового адреса с двумя возможными значениями для каждой позиции — 0 или 1 — 2 32 , или 4,2 млрд.) . Ее недостаток и причина , по которой она не применяется , связаны с маршрутизацией . Если все адреса уникальны , то все маршрутизаторы Internet должны хранить адреса всех компьютеров сети , что делает эффективную маршрутизацию практически невозможной даже при дроблении адресов .
Решение проблемы — в использовании двухуровневой иерархической схемы адресации, структурированной по классу , рангу , степени и т.п.. Примером может служить междугородний телефонный номер . Первая его часть обозначает , возможно , очень широкий регион , за ней следует код более узкой , локальной , части телефонной сети , а конечный сегмент — номер абонента — обозначает конкретный аппарат связи. Аналогично при иерархической адресации IP все 32 бита не считаются уникальным идентификатором , как в прямой схеме ; первая часть адреса определяется как адрес сети , вторая — как адрес узла . В результате весь адрес приобретает двухуровневую иерархическую структуру .
Адрес сети уникальным образом идентифицирует каждую сеть . Он представляет собой часть адреса IP каждого из компьютеров , входящих в одну и ту же сеть . Например , в адресе IP 130 . 57 . 30 . 56 сетевым адресом является 130 . 57 .
Адрес узла присваивается каждому компьютеру сети и идентифицирует его уникальным образом. Эта часть адреса должна быть уникальной, поскольку обозначает отдельный компьютер как "индивид" , в отличие от сети , которая является группой . Его можно назвать также адресом хост-узла . В примере адреса IP 130 . 57 . 30 . 56 адрес узла — 30 . 56 .
Схемы URL
Рассмотрим несколько различных схем URL , с помощью которых можно обратиться к различным информационным ресурсам Internet .
- Наиболее часто данная схема используется для доступа к публичным архивам FTP :
ftp://astra.net.ru/pub/index01.txt
В данном случае записана ссылка на архив astra.net.ru с идентификатором " anonymous " (доступ для любых пользователей). - Если необходимо указать идентификатор пользователя и его пароль, то можно это сделать перед адресом машины:
ftp://login:password@/users/local/
В данном случае эти параметры отделены от адреса машины символом " @ ", а друг от друга - двоеточием.
Схема file - используется в локальном режиме:
file:///C|/text/html/indes.htm
В данном примере приведено обращение к локальному документу на персональном компьютере с ОС Windows .
Существует еще несколько схем URL . Однако они реально на практике не используются или находятся в стадии разработки, поэтому останавливаться на них мы не будем.
IP-адрес имеет длину 4 байта и обычно записывается в виде четырех чисел, представляющих значения каждого байта в десятичной форме, и разделенных точками, например:
128.10.2.30 - традиционная десятичная форма представления адреса,
10000000 00001010 00000010 00011110 - двоичная форма представления этого же адреса.
В таблице 4 представлена структура IP-адреса.
Табл.4. Структура IP-адреса.
Класс А | 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, то это адрес класса Е, он зарезервирован для будущих применений.
Табл.5. Диапазоны номеров в классах A-E.
Класс | Наименьший адрес | Наибольший адрес |
A | 01.0.0.0 | 126.0.0.0 |
B | 128.0.0.0 | 191.255.0.0 |
C | 192.0.1.0 | 223.255.255.0 |
D | 224.0.0.0 | 239.255.255.255 |
E | 240.0.0.0 | 247.255.255.255 |
Соглашения о специальных адресах: broadcast, multicast, loopback
Отображение физических адресов на IP-адреса и обратно: протоколы ARP и RARP
Преобразование адресов выполняется путем поиска в таблице. Эта таблица, называемая ARP-таблицей, хранится в памяти и содержит строки для каждого узла сети. В двух столбцах содержатся IP- и Ethernet-адреса. Если требуется преобразовать IP-адрес в Ethernet-адрес, то ищется запись с соответствующим IP-адресом. Ниже приведен пример упрощенной ARP-таблицы.
Табл.6. Пример ARP-таблицы.
IP-адрес | Ethernet-адрес |
223.1.2.1 | 08:00:39:00:2F:C3 |
223.1.2.3 | 08:00:5A:21:A7:22 |
223.1.2.4 | 08:00:10:99:AC:54 |
Принято все байты 4-байтного IP-адреса записывать десятичными числами, разделенными точками. При записи 6-байтного Ethernet-адреса каждый байт указывается в 16-ричной системе и отделяется двоеточием.
ARP-таблица необходима потому, что IP-адреса и Ethernet-адреса выбираются независимо, и нет какого-либо алгоритма для преобразования одного в другой. IP-адрес выбирает менеджер сети с учетом положения машины в сети internet. Если машину перемещают в другую часть сети internet, то ее IP-адрес должен быть изменен. Ethernet-адрес выбирает производитель сетевого интерфейсного оборудования из выделенного для него по лицензии адресного пространства. Когда у машины заменяется плата сетевого адаптера, то меняется и ее Ethernet-адрес.
- По сети передается широковещательный ARP-запрос для поиска в сети узла с заданным IP-адресом.
- Исходящий IP-пакет ставится в очередь.
Узел, которому нужно выполнить отображение IP-адреса на локальный адрес, формирует ARP-запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно. Все узлы локальной сети получают ARP-запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес и отправляет его уже направленно, так как в ARP-запросе отправитель указывает свой локальный адрес. ARP-запросы и ответы используют один и тот же формат пакета. Так как локальные адреса могут в различных типах сетей иметь различную длину, то формат пакета протокола ARP зависит от типа сети. В таблице 7 представлен формат пакета протокола ARP для передачи по сети Ethernet.
Табл.7. Формат пакета протокола ARP.
0 8 16 31 | Тип сети | Тип протокола |
Длина локального адреса | Длина сетевого адреса | Операция |
Локальный адрес отправителя (байты 0 - 3) | ||
Локальный адрес отправителя (байты 4 - 5) | IP-адрес отправителя (байты 0-1) | |
IP-адрес отправителя (байты 2-3) | Искомый локальный адрес (байты 0 - 1) | |
Искомый локальный адрес (байты 2-5) | ||
Искомый IP-адрес (байты 0 - 3) |
В поле типа сети для сетей Ethernet указывается значение 1. Поле типа протокола позволяет использовать пакеты ARP не только для протокола IP , но и для других сетевых протоколов. Для IP значение этого поля равно 080016.
Длина локального адреса для протокола Ethernet равна 6 байтам, а длина IP-адреса - 4 байтам. В поле операции для ARP-запросов указывается значение 1 для протокола ARP и 2 для протокола RARP .
Узел, отправляющий ARP-запрос, заполняет в пакете все поля, кроме поля искомого локального адреса (для RARP-запроса не указывается искомый IP-адрес). Значение этого поля заполняется узлом, опознавшим свой IP-адрес.
- По сети передается широковещательный ARP-запрос.
- Исходящий IP-пакет ставится в очередь.
- Возвращается ARP-ответ, содержащий информацию о соответствии IP- и Ethernet-адресов. Эта информация заносится в ARP-таблицу.
- Для преобразования IP-адреса в Ethernet-адрес у IP-пакета, поставленного в очередь, используется ARP-таблица.
- Ethernet-кадр передается по сети Ethernet.
Если в сети нет машины с искомым IP-адресом, то ARP-ответа не будет и не будет записи в ARP-таблице. Протокол IP будет уничтожать IP-пакеты, направляемые по этому адресу.
Отображение символьных адресов на IP-адреса: служба DNS
Если данные о запрошенном соответствии хранятся в базе данного DNS-сервера, то он сразу посылает ответ клиенту, если же нет - то он посылает запрос DNS-серверу другого домена, который может сам обработать запрос, либо передать его другому DNS-серверу. Все DNS-серверы соединены иерархически, в соответствии с иерархией доменов сети Internet. Клиент опрашивает эти серверы имен, пока не найдет нужные отображения. Этот процесс ускоряется из-за того, что серверы имен постоянно кэшируют информацию, предоставляемую по запросам. Клиентские компьютеры могут использовать в своей работе IP-адреса нескольких DNS-серверов, для повышения надежности своей работы.
Одной из самых важных тем при рассмотрении TCP/IP является адресация IP . Адрес IP — числовой идентификатор , приписанный каждому компьютеру в сети IP и обозначающий местонахождение в сети устройства , которому он приписан . Адрес IP — это адрес программного , а не аппаратного обеспечения, закодированный в плате компьютера . IP-адрес узла идентифицирует точку доступа модуля IP к сетевому интерфейсу , а не всю машину.
Понятие URL
URL (Uniform Resource Locator - универсальный указатель ресурсов ) - система обозначений для однозначной идентификации компьютера, каталога или файла в Internet .
В систему URL заложены следующие принципы:
- Расширяемость - новые адресные схемы должны легко вписываться в существующий синтаксис URL ; расширяемость достигается за счет выбора определенного порядка интерпретации адресов, который базируется на понятии "адресная схема". Идентификатор схемы стоит перед остатком адреса, отделен от него двоеточием и определяет порядок интерпретации остатка.
- Полнота - по возможности любая из существовавших схем должна описываться посредством URL .
- Читаемость - адрес должен легко пониматься человеком, что вообще характерно для технологии WWW , - документы вместе с ссылками могут разрабатываться в обычном текстовом редакторе.
Формат URL включает:
Для каждого вида протокола приложений выбирается свое подмножество полей из представленного выше списка. Прежде чем рассмотреть различные схемы представления адресов, приведем пример простого адреса URL :
Кроме подобной полной записи URL существует упрощенная, которая предполагает, что к моменту ее использования многие основные компоненты адреса ресурса уже определены (протокол, адрес машины в сети, некоторые элементы пути). В таком случае достаточно указывать только адрес, относительный определенных базовых ресурсов - относительный адрес.
Универсальная идентификация ресурсов ( URL )
Отображение физических адресов на IP-адреса: протоколы ARP и RARP
В протоколе IP-адрес узла, то есть адрес компьютера или порта маршрутизатора, назначается произвольно администратором сети и прямо не связан с его локальным адресом, как это сделано, например, в протоколе IPX. Подход, используемый в IP, удобно использовать в крупных сетях и по причине его независимости от формата локального адреса, и по причине стабильности, так как в противном случае, при смене на компьютере сетевого адаптера это изменение должны бы были учитывать все адресаты всемирной сети Internet (в том случае, конечно, если сеть подключена к Internet'у).
Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol, ARP. Протокол ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети - протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, frame relay), как правило не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу - нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP - RARP (Reverse Address Resolution Protocol) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.
В локальных сетях протокол ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом.
Узел, которому нужно выполнить отображение IP-адреса на локальный адрес, формирует ARP запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно. Все узлы локальной сети получают ARP запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес и отправляет его уже направленно, так как в ARP запросе отправитель указывает свой локальный адрес. ARP-запросы и ответы используют один и тот же формат пакета. Так как локальные адреса могут в различных типах сетей иметь различную длину, то формат пакета протокола ARP зависит от типа сети. На рисунке 3.2 показан формат пакета протокола ARP для передачи по сети Ethernet.
Тип сети | Тип протокола | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Длина локального адреса | Длина сетевого адреса | Операция | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Локальный адрес отправителя (байты 0 - 3) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Локальный адрес отправителя (байты 4 - 5) | IP-адрес отправителя (байты 0-1) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IP-адрес отправителя (байты 2-3) | Искомый локальный адрес (байты 0 - 1) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Искомый локальный адрес (байты 2-5) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Искомый IP-адрес (байты 0 - 3) |
Рис. 3.2. Формат пакета протокола ARP
В поле типа сети для сетей Ethernet указывается значение 1. Поле типа протокола позволяет использовать пакеты ARP не только для протокола IP, но и для других сетевых протоколов. Для IP значение этого поля равно 080016.
Длина локального адреса для протокола Ethernet равна 6 байтам, а длина IP-адреса - 4 байтам. В поле операции для ARP запросов указывается значение 1 для протокола ARP и 2 для протокола RARP.
Узел, отправляющий ARP-запрос, заполняет в пакете все поля, кроме поля искомого локального адреса (для RARP-запроса не указывается искомый IP-адрес). Значение этого поля заполняется узлом, опознавшим свой IP-адрес.
В глобальных сетях администратору сети чаще всего приходится вручную формировать ARP-таблицы, в которых он задает, например, соответствие IP-адреса адресу узла сети X.25, который имеет смысл локального адреса. В последнее время наметилась тенденция автоматизации работы протокола ARP и в глобальных сетях. Для этой цели среди всех маршрутизаторов, подключенных к какой-либо глобальной сети, выделяется специальный маршрутизатор, который ведет ARP-таблицу для всех остальных узлов и маршрутизаторов этой сети. При таком централизованном подходе для всех узлов и маршрутизаторов вручную нужно задать только IP-адрес и локальный адрес выделенного маршрутизатора. Затем каждый узел и маршрутизатор регистрирует свои адреса в выделенном маршрутизаторе, а при необходимости установления соответствия между IP-адресом и локальным адресом узел обращается к выделенному маршрутизатору с запросом и автоматически получает ответ без участия администратора.
Проблемы 4-х байтовой адресации
Если сложить все возможные IP -адреса, то получится свыше 4,7 млрд. адресов хостов. Это очень много, но, к сожалению, четырехоктетной структуре присущи серьезные ограничения. Каждый раз, когда какой-то организации назначается адрес класса А, с ним уходит около 17 млн. адресов хостов. Если назначить все 126 адресов класса А, то свыше 3 млрд. из наличных 4,7 млрд. адресов окажутся занятыми. Если назначить все 16000 адресов класса В, уйдет еще миллиард. При этом не важно, используются ли выделенные адреса или нет: все они назначены конкретной сети и повторно использоваться не могут.
Самая большая проблема, однако, связана с классом С. Тому есть две причины. Во-первых, этих адресов меньше всего (имеется лишь около 500 млн. адресов узлов). Во-вторых, эти адреса самые популярные, потому что удовлетворяют размерам большинства локальных сетей. Каждый раз, когда сетевому сегменту выделяется адрес класса С, с ним уходят 254 возможных адреса узлов. Вспомним, что для каждой отдельной сети нужен новый номер. Поэтому люди, у которых три сегмента и всего 60 узлов, тратят впустую более 700 возможных адресов рабочих станций (3 сегмента ´ 254 адреса узлов = 762 адреса - 60 активных узлов = 702 незадействованных адреса). Понятно, что при таких темпах "расходования" наличные хост-номера фактически уже закончились.
По действующей схеме (протокол IPv4 ) может быть всего 2113662 сети. Если бы для обозначения сегмента все сети применяли первые 24 бита (не используя "классовые" биты), то максимальное число сетей составило бы 16777216, по 254 узла в каждой.
Вспомним, однако, что сети TCP/IP изначально рассчитаны на использование маршрутизаторов. Естественно, узлам и маршрутизаторам проще запомнить несколько сетей, чем множество. Необходимость обработки 16 миллионов адресов сетей быстро переполнила бы базы данных маршрутизаторов, и сетевой трафик существенно замедлился бы. Наличие классов сетей позволяет маршрутизаторам легко работать с большими сетями, причем без ущерба для производительности.
Следует также помнить, что первоначально Internet состояла, в основном, из крупных сетей, соединенный друг с другом. Было удобно дать один адрес сети milnet (это сеть несекретных военных компьютеров), а другой - сети NSFnet (это сеть Национального научного фонда США). Благодаря этому маршрутизаторам, для того чтобы передавать данные буквально на миллионы хост-машин, достаточно было запомнить только адрес другого маршрутизатора.
На сегодняшний день, однако истощение запаса адресов порождает огромные проблемы. При отсутствии адресов ни одна новая организация не сможет подключиться к Internet , а существующие сети не смогут расширяться. Для решения большинства этих проблем разработана новая версия протокола IP - IPv6 ( или IPng - IP next generation) .
Автоматизация процесса назначения IP-адресов узлам сети - протокол DHCP
Как уже было сказано, IP-адреса могут назначаться администратором сети вручную. Это представляет для администратора утомительную процедуру. Ситуация усложняется еще тем, что многие пользователи не обладают достаточными знаниями для того, чтобы конфигурировать свои компьютеры для работы в интерсети и должны поэтому полагаться на администраторов.
Протокол Dynamic Host Configuration Protocol (DHCP) был разработан для того, чтобы освободить администратора от этих проблем. Основным назначением DHCP является динамическое назначение IP-адресов. Однако, кроме динамического, DHCP может поддерживать и более простые способы ручного и автоматического статического назначения адресов.
В ручной процедуре назначения адресов активное участие принимает администратор, который предоставляет DHCP-серверу информацию о соответствии IP-адресов физическим адресам или другим идентификаторам клиентов. Эти адреса сообщаются клиентам в ответ на их запросы к DHCP-серверу.
При автоматическом статическом способе DHCP-сервер присваивает IP-адрес (и, возможно, другие параметры конфигурации клиента) из пула наличных IP-адресов без вмешательства оператора. Границы пула назначаемых адресов задает администратор при конфигурировании DHCP-сервера. Между идентификатором клиента и его IP-адресом по-прежнему, как и при ручном назначении, существует постоянное соответствие. Оно устанавливается в момент первичного назначения сервером DHCP IP-адреса клиенту. При всех последующих запросах сервер возвращает тот же самый IP-адрес.
При динамическом распределении адресов DHCP-сервер выдает адрес клиенту на ограниченное время, что дает возможность впоследствии повторно использовать IP-адреса другими компьютерами. Динамическое разделение адресов позволяет строить IP-сеть, количество узлов в которой намного превышает количество имеющихся в распоряжении администратора IP-адресов.
DHCP обеспечивает надежный и простой способ конфигурации сети TCP/IP, гарантируя отсутствие конфликтов адресов за счет централизованного управления их распределением. Администратор управляет процессом назначения адресов с помощью параметра "продолжительности аренды" (lease duration), которая определяет, как долго компьютер может использовать назначенный IP-адрес, перед тем как снова запросить его от сервера DHCP в аренду.
Примером работы протокола DHCP может служить ситуация, когда компьютер, являющийся клиентом DHCP, удаляется из подсети. При этом назначенный ему IP-адрес автоматически освобождается. Когда компьютер подключается к другой подсети, то ему автоматически назначается новый адрес. Ни пользователь, ни сетевой администратор не вмешиваются в этот процесс. Это свойство очень важно для мобильных пользователей.
Однако использование DHCP несет в себе и некоторые проблемы. Во-первых, это проблема согласования информационной адресной базы в службах DHCP и DNS. Как известно, DNS служит для преобразования символьных имен в IP-адреса. Если IP-адреса будут динамически изменятся сервером DHCP, то эти изменения необходимо также динамически вносить в базу данных сервера DNS. Хотя протокол динамического взаимодействия между службами DNS и DHCP уже реализован некоторыми фирмами (так называемая служба Dynamic DNS), стандарт на него пока не принят.
Во-вторых, нестабильность IP-адресов усложняет процесс управления сетью. Системы управления, основанные на протоколе SNMP, разработаны с расчетом на статичность IP-адресов. Аналогичные проблемы возникают и при конфигурировании фильтров маршрутизаторов, которые оперируют с IP-адресами.
Наконец, централизация процедуры назначения адресов снижает надежность системы: при отказе DHCP-сервера все его клиенты оказываются не в состоянии получить IP-адрес и другую информацию о конфигурации. Последствия такого отказа могут быть уменьшены путем использовании в сети нескольких серверов DHCP, каждый из которых имеет свой пул IP-адресов.
v1.0, 31 марта 1997 года
В этом документе содержится информация о том, как и почему организуются IP-подсети, которые используют отдельную область IP-адресов класса A, B или C, для правильного функционирования нескольких связанных подсетей.
Этот документ распространяется в соответствии с GNU Public License (GPL).
Этот документ непосредственно поддерживается InterWeft IT Consultants (Мельбурн, Австралия).
Последняя версия этого документа доступна на сайте InterWeft InterWeft IT Consultants и The Linux Documentation Project .
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO, должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу
В этом документе описывается разбивка единственного IP сетевого адреса так, чтобы он мог использоваться на нескольких различных сетях.
В этом документе, в основном, содержится материал по сетевым адресам класса C, но принципы применимы и к сетям класса A и B.
Имеется ряд других источников информации, которые уместны для более детального изучения. Рекомендуемые автором:
Перед погружением в изучение организации подсетей, мы должны усвоить основы IP-адресов.
Прежде всего, выясним основную причину недоразумения - IP адреса не назначаются на компьютеры. IP адреса назначены на сетевые интерфейсы на компьютерах.
А что стоит за этим?
На настоящий момент, много (если не большинство) компьютеров в IP-сети обладают единственным сетевым интерфейсом (и имеют, как следствие, единственный IP адрес). Компьютеры (и другие устройства) могут иметь несколько (если не много) сетевых интерфейсов - и каждый интерфейс будет иметь свой IP адрес.
Так, устройство с 6 работающими интерфейсами (например, маршрутизатор) будет иметь 6 IP адресов - по одному на каждую сеть, с которой он соединен.
Несмотря на это, большинство людей ссылаются на адреса машин, когда это касается IP адреса. Только помните, что это упрощенная форма для IP-адреса конкретного устройства на этом компьютере. Много (если не большая часть) устройств в Internet имеет только один интерфейс и, таким образом, единственный IP адрес.
- пример этого - 4 (десятичных) числа разделенные (.) точками.
Поскольку каждое из этих чисел - десятичное представление байта (8 бит), каждое из них может принимать значения из диапазона от 0 до 255 (всего 256 уникальных значений, включая ноль).
Кроме того, часть IP-адреса компьютера определяет сеть, в которой находится данный компьютер, оставшиеся 'биты' IP адреса определяют непосредственно компьютер (опс - сетевой интерфейс). Биты IP адреса определяют, к какому 'классу' относится сеть.
Имеются три класса IP адресов
IP адрес сети класса A использует крайние левые 8 битов (первый байт) для идентификации сети, оставшиеся 24 бита (три байта) идентифицируют сетевые интерфейсы компьютера в сети. Адреса класса A всегда имеют крайний левый бит, равный нулю - поэтому первый байт адреса принимает значения от 0 до 127. Так доступно максимум 128 номеров для сетей класса A, с каждым, содержащим до 33,554,430 возможных интерфейсов. Однако, сети 0.0.0.0 (известный как заданный по умолчанию маршрут) и 127.0.0.0 (зарезервированы для организации обратной связи (loopback)) имеют специальные предназначения и не доступны для использования, чтобы идентифицировать сети. Соответственно, могут существовать только 126 номеров для сети класса A.
IP адрес сети класса B использует крайние левые 16 битов (первые 2 байта) для идентификации сети, оставшиеся 16 бит идентифицируют сетевые интерфейсы компьютера в сети. Адреса класса B всегда имеют крайние левые два бита, установленные в 1 0. Сети класса B имеют диапазон от 128 до 191 для первого байта, каждая сеть может содержать до 32,766 возможных интерфейсов.
IP адрес сети класса C использует крайние левые 24 бита для идентификации сети, оставшиеся 8 бит идентифицируют сетевые интерфейсы компьютера в сети. Адрес сети класса C всегда имеет крайние левые 3 бита, установленные в 1 1 0 или диапазон от 192 до 255 для крайнего левого байта. Имеется, таким образом, 4,194,303 номеров, доступных для идентификации сети класса C, каждая может содержать до 254 сетевых интерфейса. (однако, сети класса C с первым байтом, большим, чем 223, зарезервированы и недоступны для использования).
Класс сети Пригодный для использования диапазон A 1 - 126 B 128 - 191 C 192 - 254
Имеются также специальные адреса, которые зарезервированы для 'несвязанных' сетей - которые является сетями, использующими IP, но не связаны с Internet, Эти адреса:
Одна сеть класса A 10.0.0.0
16 сетей класса B 172.16.0.0 - 172.31.0.0
256 сетей класса C 192.168.0.0 - 192.168.255.0
Вы заметите, что в данном документе используются именно эти сочетания для того, чтобы не пересечься с "настоящими" сетями и машинами.
IP адреса могут иметь три возможных значения:
адрес IP сети (группа IP устройств, совместно использующих доступ к среде передачи - все находятся на том же самом сегменте Ethernet). Если в поле номера сети биты установлены в 0, то по умолчанию считается, что этот узел принадлежит той же самой сети, что и узел, с которого отправлен пакет;
адрес интерфейса (типа платы Ethernet или PPP интерфейс на компьютере, маршрутизаторе, сервере печати и т.д.).Эти адреса могут иметь любое значение в битах поля узла, исключая все нули или все единицы, т.к. если будут все нули - адрес сети, все единицы - широковещательный адрес.
Для сети класса A. (один байт - поле сети, следующие за ним - номер хоста) 10.0.0.0 адрес сети класса A, потому что все биты адреса узла равны 0 10.0.1.0 адрес узла этой сети 10.255.255.255 широковещательный адрес этой сети, потому что все биты адреса узла равны 1 Для сети класса B. (два байта - поле сети, следующие за ним - номер хоста) 172.17.0.0 адрес сети класса B 172.17.0.1 адрес узла этой сети 172.17.255.255 широковещательный адрес этой сети Для сети класса C. (три байта - поле сети, следующие за ним - номер хоста) 192.168.3.0 адрес сети класса C 192.168.3.42 адрес узла этой сети 192.168.3.255 широковещательный адрес этой сети
Почти все сетевые адреса, остающиеся доступными для распределения в настоящее время - адреса класса C.
Сетевая маска более правильно называется маской подсети. Однако, это, вообще, упоминается как сетевая маска.
Сетевая маска и ее значения показывают, как IP адреса интерпретируются локально на сегменте сети, поскольку это определяет то, как происходит организация подсетей.
Стандартная маска (под-) сети - содержит единицы в разрядах поля сети и нули в остальных разрядах. Это означает, что стандартные сетевые маски для трех классов сетей выглядят так:
маска для сети класса А: 255.0.0.0
маска для сети класса B: 255.255.0.0
маска для сети класса C: 255.255.255.0
Есть две важные вещи относительно сетевой маски, которые нужно помнить:
Сетевая маска воздействует только локально (где локальный означает - на этом специфическом сетевом сегменте);
Сетевая маска - это не IP адрес - она используется для того, чтобы изменить интерпретацию локальных IP адресов.
Подсеть - способ получить отдельный IP адрес и локальное разбиение его так, чтобы он мог использоваться на нескольких связанных локальных сетях. Помните, что отдельный IP адрес может использоваться только на одной сети.
Важное слово здесь - локальное: люди обеспокоены, чтобы деление на локальные сети оставляло все в том виде, как было - сеть оставалась отдельной. Важно, что организация подсетей имеет локальную конфигурацию, она невидима для остального мира.
Причины запоздалой организации подсетей относятся к ранним техническим требованиям IP, где лишь несколько сайтов находились в сетях класса A, которые предоставляли доступ миллионам компьютеров.
Это вызвало очевидные проблемы с огромным трафиком и администрированием, если все компьютеры на большом сайте должны быть связаны с той же самой сетью: попытка управлять таким огромным чудовищем была бы кошмаром и сеть бы терпела крах (конечно почти) от загрузки собственным трафиком.
Введите организацию подсетей: адрес сети класса A может быть разбит на несколько (если не много) отдельных сетей. Управлять каждой отдельной сетью значительно проще.
Это позволяет устанавливать и управлять небольшими сетями - весьма возможно использовать различные технологии организации сетей. Помните, вы не можете смешивать Ethernet, Token Ring, FDDI, ATM и т.п. на одной физической сети - однако они могут быть связаны!
Другие причины для организации подсетей:
Физическое размещение сайта может быть ограничено (длина кабеля), ясно, что физическая инфраструктура может быть связана, требуя множественные сети. Организация подсетей позволяет это сделать, используя единственный сетевой номер. Сейчас это обычно делают интернет-провайдеры, которые желают дать своим постоянным клиентам с локальными сетями статические IP адреса.
Сеть перегружена. Ее разбивают на подсети так, чтобы трафик был сосредоточен внутри подсетей, разгружая таким образом всю сеть, без необходимости увеличивать ее общую пропускную способность.
Разделение на подсети может быть продиктовано соображениями безопасности, т.к. трафик в общей сети может быть перехвачен. Организация подсетей обеспечивает способ, позволяющий предохранить отдел маркетинга от "сующих нос не в свои дела".
Имеется оборудование, которое использует несовместимые технологии организации сетей, и есть потребность связать их (как упомянуто выше).
После того, как вы определите, что нуждаетесь в сетевом адресе, вам надо узнать, как это сделать? Далее идет краткий обзор шагов, которые будут объясняться ниже в деталях:
Установите физическую связанность (сетевые соединения - типа маршрутизаторов);
Решите, какой (большой/маленькой) должна быть каждая подсеть, т.е. какое количество IP-адресов требуется для каждого сегмента.
Вычислите соответствующую сетевую маску и сетевые адреса;
Установите каждому интерфейсу на каждой сети его собственный IP адрес и соответствующую сетевую маску;
Установите направления связи на маршрутизаторах и соответствующих шлюзах, направления связи и/или заданные по умолчанию направления связи на сетевых устройствах;
Протестируйте систему, исправьте ошибки и расслабьтесь!
В качестве примера предположим, что мы - организуем подсеть класса C с номером: 192.168.1.0
Это предусматривает максимум 254 связанных интерфейсов (хостов), плюс обязательный сетевой номер (192.168.1.0) и широковещательный адрес (192.168.1.255).
Чтобы выполнить физическое размещение, вы должны будете установить правильную инфраструктуру для всех устройств, которые хотите связать.
Вам будет также нужен механизм, чтобы связать различные сегменты вместе (маршрутизаторы, конверторы, хабы и т.д.).
Каждая сеть имеет два адреса, не используемых для сетевых интерфейсов (компьютеров) - сетевой номер сети и широковещательный адрес. Когда вы организуете подсеть, каждая из них требует собственный, уникальный IP адрес и широковещательный адрес, и они должны быть правильными внутри диапазона адресов сети, которую вы организуете.
Фактически, самая маленькая пригодная для использования подсеть состоит из 4 IP адресов:
Два используются для интерфейсов - один для маршрутизатора в этой сети, другой для единственной машины в этой сети.
Один адрес сети.
Один широковещательный адрес.
В принципе, вы можете разделить ваш сетевой номер на 2ˆn (где n на единицу меньше, чем число битов поля машины в вашем сетевом адресе), получаем одинаковые размеры подсетей (однако, вы можете делить подсети на подсети, и/или объединять их).
Так будьте реалистом, относительно разработки вашей сети - вам необходимо минимальное число отдельных локальных сетей, которые является совместимыми по управлению, физически, по оборудованию и безопасности!
Сетевая маска позволяет разделить сеть на несколько подсетей.
Сетевая маска для сети, не разделенной на подсети - это просто четверка чисел, которая имеет все биты в полях сети, установленные в '1' и все биты машины, установленные в '0'.
Таким образом, для трех классов сетей стандартные сетевые маски выглядят следующим образом:
Класс A (8 сетевых битов) : 255.0.0.0
Класс B (16 сетевых бита): 255.255.0.0
Класс C (24 сетевых бита): 255.255.255.0
Способ организации подсетей заимствует один или более из доступных битов номера хоста и заставляет интерпретировать эти заимствованные биты, как часть сетевых битов. Таким образом, чтобы получить возможность использовать, вместо одного номера подсети, два, мы должны заимствовать один бит машины, установив его (крайний левый) в сетевой маске в '1'.
Для адресов сети класса C это привело бы к маске вида 11111111.11111111.11111111.10000000 или 255.255.255.128
Для нашей сети класса C с сетевым номером 192.168.1.0, есть несколько случаев:
Число Число машин подсетей на сеть Сетевая маска 2 126 255.255.255.128 (11111111.11111111.11111111.10000000) 4 62 255.255.255.192 (11111111.11111111.11111111.11000000) 8 30 255.255.255.224 (11111111.11111111.11111111.11100000) 16 14 255.255.255.240 (11111111.11111111.11111111.11110000) 32 6 255.255.255.248 (11111111.11111111.11111111.11111000) 64 2 255.255.255.252 (11111111.11111111.11111111.11111100)
В принципе, нет абсолютно никакой причины следовать вышеупомянутым способам организации подсетей, где сетевые биты добавлены от старшего до младшего бита хоста. Однако, если вы не выбираете этот способ, то в результате IP адреса будут идти в очень странной последовательности! Но в результате, решение, к какой подсети принадлежит IP адрес, получается чрезвычайно трудным для нас (людей), поскольку мы не слишком хорошо считаем в двоичной арифметике (с другой стороны, компьютеры, с равным хладнокровием, будут использовать любую схему, которую вы им предложите).
Выбрав подходящую сетевую маску, вы должны определить сетевые, широковещательные адреса и диапазоны адресов, для получившихся сетей. Снова, рассматриваем только сетевые номера класса C и печатаем только заключительную часть адреса, мы имеем:
Сетевая маска Подсетей Адр.сети Шир.вещат. МинIP МаксIP Хостов Всего хостов -------------------------------------------------------------------------------- 128 2 0 127 1 126 126 128 255 129 254 126 252 192 4 0 63 1 62 62 64 127 65 126 62 128 191 129 190 62 192 255 193 254 62 248 224 8 0 31 1 30 30 32 63 33 62 30 64 95 65 94 30 96 127 97 126 30 128 159 129 158 30 160 191 161 190 30 192 223 193 222 30 224 255 225 254 30 240
Как можно заметить, имеется очень строгая последовательность для этих чисел. Ясно видно, что при увеличении числа подсетей сокращается число доступных адресов для компьютеров.
С этой информацией вы теперь способны назначить адреса машин, сетевые адреса и сетевые маски.
Если вы используете Linux машину с двумя сетевыми картами, чтобы установить маршрут между двумя (или более) подсетями, вам нужно иметь ядро, скомпилированное с поддержкой пересылки IP-пакетов (Forwarding). Сделайте следущее:
cat /proc/ksyms | grep ip_forward
Вы должны получить, что-то вроде.
Если не так, тогда пересылка IP-пакетов не включена в ядро, и вам нужно перекомпилировать и установить новое ядро.
Для примера, позвольте предположить, что вы решили разделить вашу сеть класса C с адресом IP 192.168.1.0 на 4 подсети (в каждой пригодно для использования 62 IP адреса). Однако, две из этих подсетей объединяются в большую сеть, давая в общем три физических сети.
Network Broadcast Netmask Hosts 192.168.1.0 192.168.1.63 255.255.255.192 62 192.168.1.64 192.168.1.127 255.255.255.192 62 182.168.1.128 192.168.1.255 255.255.255.126 124 (см. примечание)
Примечание: последняя сеть имеет только 124 сетевых адреса (не 126, как ожидалось бы от сетевой маски) и является сетью из двух подсетей. Главные компьютеры на других двух сетях интерпретируют адрес 192.168.1.192 как сетевой адрес 'несуществующей' подсети. Подобно они будут интерпретировать 192.168.1.191 как широковещательный адрес 'несуществующей' подсети.
Так, если вы используете 192.168.1.191 или 192 как адреса хостов в третьей подсети, тогда компьютеры двух малых подсетей не смогут связаться с ними.
Это иллюстрирует важный пункт при работе с подсетями - пригодные для использования адреса определяются САМОЙ МАЛОЙ подсетью в том адресном пространстве.
Позвольте нам предположить, что компьютер с Linux действует, как маршрутизатор для этой сети. Он будет иметь три сетевых карты к локальным сетям и, возможно, четвертый интерфейс для связи с Internet (который был бы шлюзом по умолчанию).
Пусть компьютер с Linux использует самый первый доступный IP адрес в каждой подсети. Конфигурация сетевых карт будет следующей:
Interface IP Address Netmask eth0 192.168.1.1 255.255.255.192 eth1 192.168.1.65 255.255.255.192 eth2 192.168.1.129 255.255.255.128
Таблица маршрутизации при данной конфигурации будет такой
Destination Gateway Genmask Iface 192.168.1.0 0.0.0.0 255.255.255.192 eth0 192.168.1.64 0.0.0.0 255.255.255.192 eth1 192.168.1.128 0.0.0.0 255.255.255.128 eth2
На каждой из подсетей главные компьютеры были бы конфигурированы с их собственным IP адресом и сетевой маской (соответствующий специфической сети). Каждый главный компьютер объявил бы Linux PC своим шлюзом/маршрутизатором, определяя IP адрес маршрутизатора для его сетевой карты на той части сети.
Система доменных имен
DNS строится по иерархическому принципу, однако эта иерархия не является строгой. Фактически нет единого корня всех доменов Internet . В 80-е гг. были определены первые домены (национальные, США) верхнего уровня: gov, mil, edu, com, net. Позднее появились национальные домены других стран: uk ( Великобритания) , jp (Япония) , au (Австрия) , cn (Китай) и т.п. Для СССР был выделен домен su , однако после приобретения республиками Союза суверенитета многие из них получили собственные домены: ua - Украина , ru - Россия и т.п.
В настоящее время существуют домены верхнего уровня com - для коммерческих компаний, edu - для школ и университетов, org - для прочих организаций, net - для сетевых организаций и т.д.
Вслед за доменами верхнего уровня следуют домены, определяющие либо регионы, либо организации; следующие уровни иерархии могут быть закреплены за небольшими организациями, либо за подразделениями больших организациях.
DNS -серверы, реализующие перевод IP -адресов в доменные и обратно, устанавливаются обычно на машинах, которые являются шлюзами для локальных сетей. Вообще говоря, сервер имен может быть установлен на любой компьютер локальной сети. При выборе машины для установки сервера имен следует принимать в расчет то обстоятельство, что многие реализации серверов держат базы данных имен в оперативной памяти. При этом часто подгружается информация и с других серверов. Все это может вызвать задержки при разрешении запроса на адрес по имени машины, если для сервера имен будет использоваться маломощный компьютер.
Отображение символьных адресов на IP-адреса: служба DNS
DNS (Domain Name System) - это распределенная база данных, поддерживающая иерархическую систему имен для идентификации узлов в сети Internet. Служба DNS предназначена для автоматического поиска IP-адреса по известному символьному имени узла. Спецификация DNS определяется стандартами RFC 1034 и 1035. DNS требует статической конфигурации своих таблиц, отображающих имена компьютеров в IP-адрес.
Протокол DNS является служебным протоколом прикладного уровня. Этот протокол несимметричен - в нем определены DNS-серверы и DNS-клиенты. DNS-серверы хранят часть распределенной базы данных о соответствии символьных имен и IP-адресов. Эта база данных распределена по административным доменам сети Internet. Клиенты сервера DNS знают IP-адрес сервера DNS своего административного домена и по протоколу IP передают запрос, в котором сообщают известное символьное имя и просят вернуть соответствующий ему IP-адрес.
Если данные о запрошенном соответствии хранятся в базе данного DNS-сервера, то он сразу посылает ответ клиенту, если же нет - то он посылает запрос DNS-серверу другого домена, который может сам обработать запрос, либо передать его другому DNS-серверу. Все DNS-серверы соединены иерархически, в соответствии с иерархией доменов сети Internet. Клиент опрашивает эти серверы имен, пока не найдет нужные отображения. Этот процесс ускоряется из-за того, что серверы имен постоянно кэшируют информацию, предоставляемую по запросам. Клиентские компьютеры могут использовать в своей работе IP-адреса нескольких DNS-серверов, для повышения надежности своей работы.
База данных DNS имеет структуру дерева, называемого доменным пространством имен, в котором каждый домен (узел дерева) имеет имя и может содержать поддомены. Имя домена идентифицирует его положение в этой базе данных по отношению к родительскому домену, причем точки в имени отделяют части, соответствующие узлам домена.
Корень базы данных DNS управляется центром Internet Network Information Center. Домены верхнего уровня назначаются для каждой страны, а также на организационной основе. Имена этих доменов должны следовать международному стандарту ISO 3166. Для обозначения стран используются трехбуквенные и двухбуквенные аббревиатуры, а для различных типов организаций используются следующие аббревиатуры:
Каждый домен DNS администрируется отдельной организацией, которая обычно разбивает свой домен на поддомены и передает функции администрирования этих поддоменов другим организациям. Каждый домен имеет уникальное имя, а каждый из поддоменов имеет уникальное имя внутри своего домена. Имя домена может содержать до 63 символов. Каждый хост в сети Internet однозначно определяется своим полным доменным именем (fully qualified domain name, FQDN), которое включает имена всех доменов по направлению от хоста к корню. Пример полного DNS-имени :
3. Классы сетей.
Проектировщики Internet решили выделить классы сетей исходя из их размера .
Сети класса А предназначены главным образом для использования крупными организациями , так как они обеспечивают всего 7 бит для поля адреса сети.
Сети класса В выделяют 14 бит для поля адреса сети и 16 бит для поля адреса главной вычислительной машины . Этот класс адресов обеспечивает хороший копромисс между адресным пространством сети и главной вычислительной машиной .
Сети класса С выделяют 22 бита для поля адреса сети . Однако сети класса С обеспечивают только 8 бит для поля адреса главной вычислительной машины , поэтому число главных вычислительных машин , приходящихся на сеть , может стать ограничивающим фактором.
Адреса класса D резервируются для групповой адресации в соответствии с офицыальным документом RFC-1112 . В адресах класса D четыре бита наивысшего порядка устанавливаются на значения 1 , 1 , 1 и 0 .
Адреса класса Е также определены IP ,но зарезервированы для использования вбудущем . В адресах класса Е все четыре бита наивысшего порядка устанавливаются в 1 .
На рис.1.1 изображена структура адресов сетей классов А-Е
Рис. 1. 1
С целью обеспечения эффективной маршрутизации разработчики Internet определили обязательный шаблон первого битового раздела для каждого класса сетей. Например, зная, что адрес сети класса А всегда начинается с 0, маршрутизатор может ускорить движение пакета по маршруту, прочитав только первый бит его адреса .
- Если адрес начинается с 0, то сеть относят к классу А, и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса А имеют номера в диапазоне от 1 до 126. (Номер 0 не используется, а номер 127 зарезервирован для специальных целей, о чем будет сказано ниже.) В сетях класса А количество узлов должно быть больше 216 , но не превышать 224.
- Если первые два бита адреса равны 10, то сеть относится к классу В и является сетью средних размеров с числом узлов 28 - 216. В сетях класса В под адрес сети и под адрес узла отводится по 16 битов, то есть по 2 байта.
- Если адрес начинается с последовательности 110, то это сеть класса С с числом узлов не больше 28. Под адрес сети отводится 24 бита, а под адрес узла - 8 битов.
- Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый, групповой адрес - multicast. Если в пакете в качестве адреса назначения указан адрес класса D, то такой пакет должны получить все узлы, которым присвоен данный адрес.
- Если адрес начинается с последовательности 11110, то это адрес класса Е, он зарезервирован для будущих применений.
В табл.1.2 приведено соответствие классов адресов значениям первого октета и указано количество возможных IP-адресов каждого класса .
Табл. 1 . 2
Некоторые IP-адреса являются выделенными и трактуются по-особому.
Табл. 1 . 3
IP-адрес | Значение |
---|---|
Все нули | Данный узел |
Номер сети | Все нули | Данная IP-сеть |
Все нули | Номер узла | Узел в данной(локальной)IP-сети |
Все единицы | Все узлы в данной (локальной)IP-сети |
Номер сети | Все единицы | Все узлы в указанной IP-сети |
Номер сети | Все единицы | Все узлы в указанной IP-сети |
127 | Что-нибудь(часто 1) | "Петля" |
Как показано в табл.1.3, в выделенных IP-адресах все нули соответствуют либо данному узлу, либо данной IP-сети, а IP-адреса,состоящие из всех единиц, используются при широковещательных передачах. Для ссылок на всю IP-сеть в целом используется IP-адрес с нулевым номером узла.Особый смысл имеет IP-адрес, первый октет которого равен 127. Он используется для тестирования программ и взаимодействия процессов в пределах одной машины . Когда программа посылает данные по IP-адресу 127.0.0.1 ,то образуется как бы "петля". Данные не передаются по сети, а возвращаются модулям верхнего уровня, как только что принятые. Поэтому в IP-сети запрещается присваивать машинам IP-адреса, начинающиеся со 127.
Соглашения о специальных адресах: broadcast, multicast, loopback
В протоколе IP существует несколько соглашений об особой интерпретации IP-адресов:
то он обозначает адрес того узла, который сгенерировал этот пакет;
то по умолчанию считается, что этот узел принадлежит той же самой сети, что и узел, который отправил пакет;
- адрес 127.0.0.1 зарезервирован для организации обратной связи при тестировании работы программного обеспечения узла без реальной отправки пакета по сети. Этот адрес имеет название loopback.
В протоколе IP нет понятия широковещательности в том смысле, в котором оно используется в протоколах канального уровня локальных сетей, когда данные должны быть доставлены абсолютно всем узлам. Как ограниченный широковещательный IP-адрес, так и широковещательный IP-адрес имеют пределы распространения в интерсети - они ограничены либо сетью, к которой принадлежит узел - источник пакета, либо сетью, номер которой указан в адресе назначения. Поэтому деление сети с помощью маршрутизаторов на части локализует широковещательный шторм пределами одной из составляющих общую сеть частей просто потому, что нет способа адресовать пакет одновременно всем узлам всех сетей составной сети.
IP -адресация
IP -адрес является основным видом адресации в Internet . Он обозначает не только компьютер, но и сегмент сети, в котором находится данный компьютер. Например, адрес 192.123.004.010 соответствует узлу номер 10 в сети 192.123.004. У другого узла в этом же сегменте может быть номер 20 и т.д. Сети и узлы в них - это отдельные объекты с отдельными номерами.
IP -адрес - представляет собой 32-разрядное двоичное число (например, 11000000 01111011 00001010). Для удобства оно разбивается на четыре восьмиразрядных поля, называемых октетами. TCP/IP представляет эти двоичные октеты их десятичными эквивалентами (в данном примере это 192.123.004.010), что облегчает использование IP -адресов для человека.
Физические адреса
MAC -адрес, который также называют физическим адресом, Ethernet- адресом, присваивается каждому сетевому адаптеру при его производстве. Его размер - 6 байт.
Этот сетевой адрес является уникальным, - фирмам-производителям выделены списки адресов, в рамках которых они обязаны выпускать карты. Адрес записывается в виде шести групп шестнадцатеричных цифр по две в каждой (шестнадцатеричная запись байта). Первые три байта называются префиксом (что определяет 2 24 различных комбинаций или почти 17 млн адресов), и именно они закреплены за производителем.
Адаптер "слушает" сеть, принимает адресованные ему кадры и широковещательные кадры с адресом FF:FF:FF:FF:FF:FF и отправляет кадры в сеть, причем в каждый момент времени в сегменте узла сети находится только один кадр.
Собственно, MAC -адрес соответствует не компьютеру, а его сетевому интерфейсу. Таким образом, если компьютер имеет несколько интерфейсов, то это означает, что каждому интерфейсу будет назначен свой физический адрес. Каждой сетевой карте соответствует собственный MAC -адрес и IP -адрес, уникальный в рамках глобальной сети.
MAC -адреса используются на физическом и канальном уровнях, т.е. в "однородной" среде. Для того, чтобы могли связываться друг с другом компьютеры, входящие в большие составные сети, используется другой вид адресов - IP- адреса.
Маски подсетей
Часто перед администраторами локальных сетей встает необходимость разбиения вверенной им сети на несколько подсетей. Делается это с помощью маски подсети. Маска подсети заставляет сетевое программное обеспечение иначе интерпретировать IP -адреса машин, входящих в сеть.
Рассмотрим, например, адрес хоста 192.123.004.010. Это адрес класса С, в котором первые 24 бита обозначают номер сети. Остальные 8 битов обозначают хост. Можно установить сетевую маску так, чтобы первые 25 битов обозначали сеть, а остальные 7 - хост.
Последние 8 битов администратор локальной сети может использовать так, как ему нужно. Можно их использовать обычным образом, для обозначения хост-машин. Но есть и другой вариант: назначить некоторые из оставшихся 8 битов подсетям. По сути дела, сетевая часть адреса получает еще одно поле, а диапазон номеров хостов сокращается.
Рассмотрим воображаемую компанию, Windows Inc. , которая использует и сети Ethernet , и кольцевые сети с маркерным доступом. Ей выделен, однако, только один сетевой адрес класса С, 192.123.004. Вместо того чтобы использовать последний октет для обозначения 254 хостов в одной сети, компания решила ввести в адрес маску подсети, "позаимствовав" первый бит последнего октета. В результате создаются две подсети по 128 возможных хост-номера в каждой.
Изучая свои сетевые номера, Windows Inc. видит следующее:
*Номера 000 и 255 зарезервированы.
Следует, однако учесть, что устройства в сети не выполняют эту логическую разбивку автоматически. Основываясь на идентификаторе класса С в начале адреса, они продолжают считать, что последние 8 битов адреса обозначают хост. Поэтому о принятой маске нужно сообщить всем устройствам в сегменте сети.
В маске подсети используется очень простой алгоритм. Если бит маски установлен в 1, это часть номера сети. Если бит маски установлен в 0, это часть номера хоста. Следовательно, маска подсети для приведенного выше примера имеет вид 11111111 11111111 11111111 10000000.
Маска - это число, двоичная запись которого содержит единицы в тех разрядах, которые должны интерпретироваться как номер сети.
В таблице 3 приведены стандартные маски подсетей для различных классов адресов сетей.
Таблица 3. Стандартные маски подсетей
Маска подсети должна применяться при обработке адреса маршрутизаторами. Если ранее маршрутизатор просто проверял, не совпадает ли адрес сети получателя, например, 192.123.004, с адресом какой-либо непосредственно подсоединенной к маршрутизатору сети, то теперь он должен использовать маску подсети, чтобы выделить адрес сети получателя. Чтобы маска подсети работала, ее должны поддерживать все устройства данной подсети.
4. Выбор адреса.
Прежде чем вы начнете использовать сеть с TCP/IP, вы должны получить один или несколько официальных сетевых номеров. Выделением номеров (как и многими другими вопросами) занимается DDN Network Information Center(NIC). Выделение номеров производится бесплатно и занимает около недели . Вы можете получить сетевой номер вне зависимости от того , для чего предназначена ваша сеть. Даже если ваша сеть не имеет связи с об'единенной сетью Internet, получение уникального номера желательно, так как в этом случае есть гарантия, что в будущем при включении в Internet или при подключении к сети другой организации не возникнет конфликта адресов.
Одно из важнейших решений, которое необходимо принять при установке сети , заключается в выборе способа присвоения IP-адресов вашим машинам . Этот выбор должен учитывать перспективу роста сети. Иначе в дальнейшем вам придется менять адреса . Когда к сети подключено несколько сотен машин , изменение адресов становится почти невозможным.
Организации, имеющие небольшие сети с числом узлов до 126, должны запрашивать сетевые номера класса C. Организации с большим числом машин могут получить несколько номеров класса C или номер класса B.
Реклама: Аксессуары на мотоцикл: изготовление наклеек. Термоусадочные этикетки и рукав.
Каждый компьютер в сети TCP/IP имеет адреса трех уровней:
- Локальный адрес узла, определяемый технологией, с помощью которой построена отдельная сеть, в которую входит данный узел. Для узлов, входящих в локальные сети - это МАС-адрес сетевого адаптера или порта маршрутизатора, например, 11-А0-17-3D-BC-01. Эти адреса назначаются производителями оборудования и являются уникальными адресами, так как управляются централизовано. Для всех существующих технологий локальных сетей МАС-адрес имеет формат 6 байтов: старшие 3 байта - идентификатор фирмы производителя, а младшие 3 байта назначаются уникальным образом самим производителем. Для узлов, входящих в глобальные сети, такие как Х.25 или frame relay, локальный адрес назначается администратором глобальной сети.
- IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов. IP-адрес состоит из двух частей: номера сети и номера узла. Номер сети может быть выбран администратором произвольно, либо назначен по рекомендации специального подразделения Internet (Network Information Center, NIC), если сеть должна работать как составная часть Internet. Обычно провайдеры услуг Internet получают диапазоны адресов у подразделений NIC, а затем распределяют их между своими абонентами.
Номер узла в протоколе IP назначается независимо от локального адреса узла. Деление IP-адреса на поле номера сети и номера узла - гибкое, и граница между этими полями может устанавливаться весьма произвольно. Узел может входить в несколько IP-сетей. В этом случае узел должен иметь несколько IP-адресов, по числу сетевых связей. Таким образом IP-адрес характеризует не отдельный компьютер или маршрутизатор, а одно сетевое соединение.
Классы IP -сетей
Эти четыре октета в разных сетях обозначают разные вещи. В некоторых организациях создается одна большая сеть, но с миллионами узлов. Здесь первый октет адреса используется для обозначения сети, а остальные три октета - для обозначения отдельных рабочих станций. Такой адрес называют адресом класса А. Самые частые потребители адресов класса А - поставщики сетевых услуг (провайдеры), которые обслуживают очень большие сети с тысячами конечных пунктов.
В некоторых организациях могут быть тысячи узлов, включенных в состав нескольких сетей. В таких случаях используются адреса класса В, в которых первые два октета (16 битов) используются для обозначения сети, а последние два - для обозначения отдельных узлов. Наиболее известные потребители адресов класса В - университеты и крупные учреждения.
Наконец, наиболее часто используется адрес класса С, в котором первые три октета (или 24 бита) служат для обозначения сегмента, а последний октет - для обозначения рабочих станций. Такие адреса лучше всего подходят для случая, когда имеется множество отдельных сетей, в состав каждой из которых входит всего несколько десятков узлов. Адреса такого типа чаще всего встречаются в локальных сетевых средах, где в одном сетевом сегменте в среднем бывает около 40 узлов.
При соединении сети класса А с сетью класса В маршрутизатору необходимо сообщить, как он должен отличать одну сеть от другой. В противном случае он подумает, что трафик, исходящий из сети класса С и предназначенный для узла класса, можно идентифицировать по последнему октету. На самом же деле узел класса А обозначается последними тремя октетами - а это большая разница. Не зная этого, маршрутизатор попытается найти трехоктетную сеть, к которой подключен однооктетный хост. На самом же деле ему нужно послать данные в однооктетную сеть, в которой находится трехоктетный хост.
Стек протоколов TCP/IP использует первые три бита первого октета для идентификации класса сети, позволяя устройствам автоматически распознавать соответствующие типы адресов. У адресов класса А первый бит установлен в 0, а остальные семь битов служат для идентификации сетевой часть адреса (как вы полмните, в адресах класса А первый октет служит для обозначения сети, а остальные три - для обозначения узлов). Поскольку можно использовать только семь битов, максимально возможное количество сетей - 128. Номера сетей 000 и 127 зарезервированы для использования программным обеспечением, поэтому это число уменьшается до 126 (001 - 126). Для обозначения узлов можно использовать 24 бита, поэтому для каждой из этих сетей максимальное число узлов составляет 16 777 216.
У адресов класса В первый бит всегда устанавливается в 1, а второй в 0. Поскольку для обозначения сетей здесь используются два октета, то для каждого сетевого сегмента остается, таким образом, 14 битов. Следовательно, максимально возможное число адресов этого класса - 16 384, в диапазоне от 128.001 до 191.254 (номера 000 и 255 зарезервированы).
В адресах класса С первые два бита всегда равны 1, а третий установлен в 0. В этих адресах для обозначения сетей используются первые три октета, следовательно, остается 21 бит. Диапазон возможных номеров сетей - от 192.001.001 до 223.254.254, или 2 097 152 сегмента. При этом, однако, для обозначения узлов остается только один октет, поэтому в каждом сегменте может быть всего 254 устройства.
В таблице 1 приведены характеристики адресов сетей различных классов. Адреса класса D предназначены для широковещательной рассылки пакетов сразу группе машин. Адреса класса Е пока не используются. Предполагается, что со временем они будут задействованы с целью расширения стандарта.
Таблица 1. Характеристика классов IP -адресов
Среди IP -адресов несколько зарезервировано под специальные случаи использования (табл. 2). Так, значение первого октета 127 зарезервировано для служебных целей, в основном, для тестирования сетевого оборудования, поскольку IP -пакеты, направленные на такой адрес, не передаются в сеть, а ретранслируются обратно управляющей надстройке сетевого программного обеспечения как только что принятые.
Таблица 2. Значение выделенных IP -адресов
Централизованным распределением IP -адресов занимаются государственные организации. В США - Стенфордский международный научно-исследовательский институт ( Stanford Research Institute) , расположенный в г. Мэнло-Парк, штат Калифорния. Услуга по присвоению новой локальной сети IP -адресов бесплатная, и занимает она приблизительно неделю.
В небольших локальных сетях, использующих стек TCP/IP , можно назначать IP -адреса компьютерам произвольно - в том случае, если данные компьютеры не имеют непосредственного (прямого) выхода в Internet
Три основных класса IP-адресов
IP-адрес имеет длину 4 байта и обычно записывается в виде четырех чисел, представляющих значения каждого байта в десятичной форме, и разделенных точками, например:
128.10.2.30 - традиционная десятичная форма представления адреса,
10000000 00001010 00000010 00011110 - двоичная форма представления этого же адреса.
На рисунке 3.1 показана структура IP-адреса.
0 | N сети | N узла |
1 | 0 | N сети | N узла |
1 | 1 | 0 | N сети | N узла |
1 | 1 | 1 | 0 | адрес группы multicast |
1 | 1 | 1 | 1 | 0 | зарезервирован |
Рис. 3.1. Структура IР-адреса
Адрес состоит из двух логических частей - номера сети и номера узла в сети. Какая часть адреса относится к номеру сети, а какая к номеру узла, определяется значениями первых битов адреса:
- Если адрес начинается с 0, то сеть относят к классу А, и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса А имеют номера в диапазоне от 1 до 126. (Номер 0 не используется, а номер 127 зарезервирован для специальных целей, о чем будет сказано ниже.) В сетях класса А количество узлов должно быть больше 216 , но не превышать 224.
- Если первые два бита адреса равны 10, то сеть относится к классу В и является сетью средних размеров с числом узлов 28 - 216. В сетях класса В под адрес сети и под адрес узла отводится по 16 битов, то есть по 2 байта.
- Если адрес начинается с последовательности 110, то это сеть класса С с числом узлов не больше 28. Под адрес сети отводится 24 бита, а под адрес узла - 8 битов.
- Если адрес начинается с последовательности 1110, то он является адресом класса D и обозначает особый, групповой адрес - multicast. Если в пакете в качестве адреса назначения указан адрес класса D, то такой пакет должны получить все узлы, которым присвоен данный адрес.
- Если адрес начинается с последовательности 11110, то это адрес класса Е, он зарезервирован для будущих применений.
В таблице приведены диапазоны номеров сетей, соответствующих каждому классу сетей.
Класс | Наименьший адрес | Наибольший адрес | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
A | 01.0.0 | 126.0.0.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
B | 128.0.0.0 | 191.255.0.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
C | 192.0.1.0. | 223.255.255.0 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
D | 224.0.0.0 | 239.255.255.255 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
E | 240.0.0.0 | 247.255.255.255 |
Читайте также: