Адресация компьютеров в Internet
Для того, чтобы каждый подключенный к Internet хост-компьютер (компьютер, круглосуточно подключенный к Internet и способный передавать и принимать информацию) мог обмениваться информацией с другими компьютерами, он должен иметь уникальный адрес. Необходимо различать адресацию компьютеров на протокольном уровне, когда адреса представлены двоичными кодами, и на уровне пользователей, когда адреса представлены содержательными именами.
Известно, что каждый передаваемый по Сети TCP-пакет содержит два поля, определяющих адреса компютера-источника и компьютера-получателя. Действующая сейчас спецификация протокола IPv4 определяет, что эти поля состоят из 32 битов или четырех байтов, или октетов (octets). Содержание каждого из этих полей называется IP-адресом. Таким образом, протокол потенциально допускает адресацию 4 млрд хост-компьютеров.
Замечание. Представляется, что это число адресов огромно, но в связи с открытием новых рынков и приобщением к Internet все большего числа жителей Земли конечное число IP-адресов будет исчерпано, причем это событие прогнозируется в пределах ближайших 10 лет. Для решения этой проблемы разрабатывается протокол IP нового поколения IPv6, в котором для адреса будет использоваться 128 бит. Его использование позволит адресовать астрономическое количество объектов. Переход на новый протокол предполагается планомерно осуществить за эти годы. Внедрение IPv6 окажется весьма болезненным— ведь такие изменения требуют практически полной смены существующего программного обеспечения и активного сетевого оборудования. Поэтому в настоящее время одновременно разрабатываются различные способы рационального использования и расширения существующего адресного пространства.
Каждому компьютеру, подключенному к Интернету, присваивается идентификационный номер, который называется IP-адресом.
При сеансовом подключении к Интернету IP-адрес выделяется компьютеру только на время этого сеанса. Присвоение адреса компьютеру на время сеанса связи называется динамическим распределением IP-адресов. Оно удобно для провайдера, поскольку один и тот же IP-адрес в разные периоды времени может быть выделен разным пользователям. Таким образом, Интернет-провайдер должен иметь по одноому IP-адресу на каждый обслуживаемый им модем, а не на каждого клиента.
IP-адрес интерпретируется как состоящий из двух полей: первое (старшее) поле адреса идентифицирует сеть, в которой находится хост-компьютер, а второе (младшее) поле адреса - конкретный хост в данной сети. Очевидно, все хосты в конкретной сети разделяют один и тот же сетевой префикс, но должны иметь уникальные номера хостов. Аналогично любые два хоста в разных сетях должны иметь разные сетевые префиксы, но могут иметь один и тот же номер хоста.
Чтобы обеспечить гибкость поддержки сетей разного размера, разработчики протокола Internet Protocol решили разделить адресное пространство на пять классов адресов - A, B, C, D, E. Этот способ часто называется классовой (classful) адресацией, так как адресное пространство делится на предопределенных классы, или категории. Для каждого класса граница между сетевым префиксом и номером хоста фиксирована в разной позиции внутри 32-битового адреса.
Какая часть адреса относится к номеру сети, а какая к номеру узла, определяется классом сети (значениями первых битов адреса):
· Если адрес начинается с 0, то сеть относят к классу А, и номер сети занимает один байт, остальные 3 байта интерпретируются как номер узла в сети. Сети класса А имеют номера в диапазоне от 1 до 126 (номер 0 не используется, а номер 127 зарезервирован для специальных целей – он используется для тестирования программ и взаимодействия процессов в пределах одной машины). Таким образом, в классе А доступны только 126 различных сетевых адресов. Оставшиеся 24 бита позволяют использовать 167777214 (224- 2) адресов узлов. Адреса класса А предназначены для использования в больших сетях общего пользования. Адреса класса А занимают 50% всего адресного пространства.
· Если первые два бита адреса равны 10, то сеть относится к классу В и является сетью средних размеров. В сетях класса В под адрес сети и под адрес узла отводится по 16 битов, то есть по 2 байта. Для идентификации сети используется 16384 различных сетевых адреса. 16 бит в идентификаторе узла позволяют использовать 65534 (216-2) адреса узла. Адреса класса В предназначены для использования в сетях среднего размера (сети больших компаний, научно-исследовательских институтов, университетов). Адреса класса В занимают 25% всего адресного пространства.
· Если адрес начинается с последовательности 110, то это сеть класса С. Под адрес сети отводится 24 бита, а под адрес узла - 8 битов. Это позволяет создать максимум 2097152 различных сетевых адреса и использовать 254 (2 -2) адреса узла. Адреса класса С предназначены для использования в сетях с небольшим числом компьютеров (сети небольших компаний и фирм). Адреса класса С занимают 12,5% всего адресного пространства.
· Если адрес начинается с последовательности 1110, то он является адресом класса D, оставшиеся биты используются для обозначения логической группы узлов. Класс D используется для широковещательных сообщений, т.е. для отправки информации определенной группе узлов. Эти узлы включаются в группы после того, как они зарегистрируют себя на локальном маршрутизаторе, используя широковещательный адрес.
· Если адрес начинается с последовательности 11110, то это адрес класса Е, он зарезервирован для экспериментальных исследований.
Приведем диапазоны номеров сетей, соответствующих каждому классу сетей:
Класс | Диапазон значений первого октета | Возможное количество сетей | Возможное количество узлов | Диапазоны IP адресов в разных классах сетей |
A | 1-126 | 0.0.0.0 - 127.255.255.255 | ||
B | 128-191 | 128.0.0.0 - 191.255.255.255 | ||
C | 192-223 | 192.0.0.0 - 223.255.255.255 | ||
D | 224-239 | - | - | 224.0.0.0 - 239.255.255.255 |
E | 240-247 | - | - | 240.0.0.0 - 247.255.255.255 |
Чтобы упростить чтение и запись IP-адресов людьми, их часто представляют четырьмя десятичными числами, разделенными точками. Этот формат называется точечно-десятичной нотацией. Здесь 32-битовый адрес разделяется на четыре 8-битовых поля (байты, октеты) и значение каждого поля определяется независимо как десятичное число, а поля отделяются точками. Приведем типичный пример "точечного" IP-адреса сети:
Двоичное представление: Десятичное представление:
10010001 00001010 00100010 00000011 145.10.34.3
Например, IP-адрес сервера сети Рязанского Педагогического Университета имеет вид 194.135.103.25.
Прежде чем использовать сеть с TCP/IP, необходимо получить один или несколько официальных сетевых адресов. Уникальностью IP-адресов занимается NIC – центр сетевой информации Internet. Для того, чтобы получить адрес для своей организации, необходимо послать форму-запрос установленного образца и нам вышлют «набор» IP-адресов, выделенных для нашей сети. Обычно провайдеры услуг Internet получают диапазоны адресов у подразделений NIC, а затем распределяют их между своими абонентами.
В общем, единственно понятные компьютерам (конечно, в двоичном коде) IP-адреса напоминают телефонные номера и очень неудобны для людей. Действительно, попробуйте-ка запомнить десяток-другой таких адресов! Людям требуются адреса хост-компьютеров в виде содержательных имен, т.е. словесных описаний, которые легко запоминать и которые сразу же предоставляют гораздо больше информации, чем безликие цифры. Именно только для удобства людей была разработана доменная система именования (Domain Naming System - DNS) или доменная система имен (Domain Name System).
DNS – это распределенная база данных (РДБ - база данных, включающая фрагменты из нескольких баз данных, которые располагаются на различных узлах сети компьютеров и, возможно, управляются различными СУБД), поддерживающая иерархическую систему имен для идентификации узлов сети в Internete. Служба DNS предназначена для автоматического поиска IP-адреса по известному символьному имени узла, например, вместо того, чтобы связаться с компьютером с IP-адресом 194.226.40.1, вы называете его имя, mstuca.ru.
При DNS - адресации каждый компьютер имеет имя, состоящее из слов, разделенных точками (домен). Одно из определений термина «домен» гласит, что это есть сфера деятельности, отношений или выполнения каких-либо совместных функций.
Пример: ftp.microsoft.com - здесь метка ftp означает, что данный компьютер является хостом ftp, то есть на нем работает ftp-сервер. Эта метка описывает функцию компьютера по обслуживанию передачи файлов. Метка microsoft описывает организацию (сферу деятельности), которой принадлежит компьютер - корпорацию Microsoft. Метка com обозначает тот факт, что данный компьютер выполняет коммерческие функции. Таким образом, каждая метка в имени компьютера описывает домен, то есть сферу деятельности, принадлежности или выполняемых функций.
Часть полного доменного имени называют поддоменом. Самый правый поддомен называют "доменом верхнего уровня". Домены верхнего уровня заводятся и утверждаются международными соглашениями Интернет. При этом каждый TLD имеет координатора, который занимается регистрацией поддоменов, ведет специальную базу DNS-адресов своего уровня и т.д. Использование символьного имени узла для идентификации системы делает смену IP-адреса прозрачной для конечного пользователя.
В именах домены отделяются друг от друга точками: adctressx.msk.ru, addressy.spb.ru. В имени может быть различное количество доменов, но обычно их не больше пяти. По мере движения по доменам в имени слева направо, количество имен, входящих в соответствующую группу, возрастает.
Для перевода буквенного доменного имени в IP-адрес цифрового формата служат DNS-серверы.
В качестве примера рассмотрим адрес group.facult.univers.rst.ru.
Первым в имени стоит название рабочей машины — реального компьютера с IP-адресом. Это имя создано и поддерживается группой facult. Группа входит в более крупное подразделение univers, далее следует домен rst — он определяет имена ростовской, части сети, а ru — российской.
Каждая страна имеет свой домен. Это географические домены верхнего уровня. Обозначается двухбуквенной меткой (наименованием страны) в соответствии со списком, разработанным международной организацией по стандартам ISO.
us - США ru - Россия fr - Франция uk - Англия ca - Канада de - Германия | nl - Нидерланды ua - Украина by - Белоруссия kz - Казахстан fi - Финляндия it - Италия | dk - Дания se - Швеция nz - Новая Зеландия br - Бразилия lu - Люксембург au - Австралия |
Помимо географического признака используется организационный признак, обозначается трехбуквенной меткой и означает группу организации, к которой принадлежит владелец данной сети. В соответствии с организационным признаком существуют следующие доменные имена первого уровня:
· com - коммерческие организации; этот домен верхнего уровня встречается в Internet наиболее часто и обычно подразумевает некоторую компанию.
· edu - образовательные учреждения, т.е. университеты и колледжи.
· gov – правительственные, государственные учреждения.
· int – международные организации.
· mil - военные организации.
· net - организации, непосредственно участвующие в работе Internet, например сетевые информационные центры; как правило, в таких компьютерах имеется огромный объем информации.
· org - разнообразные организации, не попавшие в предыдущие категории, например бесприбыльные группы; как правило, в таких компьютерах также содержится очень много информации.
Структура DNS похожа на структуру дерева каталогов вашего компьютера. На вершине иерархии находится корневой каталог, не имеющий имени (ни один корневой каталог не имеет имени). Наоборот, каждый домен, так же, как и каталог компьютера имеет собственное имя. Так же как каталог может иметь подкаталоги, каждый домен в DNS может разделяться на несколько поддоменов. На рисунке показана иерархическая структура системы имен доменов Интернет:
Следующий после корневого уровень состоит из трех групп доменов:
Аrра - это специальный домен, необходимый для преобразования IP-адресов в имена DNS, но не наоборот;
Для расширения числа возможных доменов и создания конкуренции в бизнесе их регистрации, InterNIC в ноябре 2000 г. утверждила еще семь имен доменов верхнего уровня:
museum - музеи.
aero - туристический бизнес.
name - личные web-адреса.
coop - кооперативы.
biz - коммерческие организации.
pro - профессиональные группы, например врачей, адвокатов и бухгалтеров.
info - организации, предоставляющие информационные услуги.
Проблема, возникающая в связи с преобразованием адресов, решилась разработчиками путем создания сервера DNS (сервера имен доменов). Сервер DNS - это программа, преобразующая имена доменов в IP- адреса. Эта программа работает на многих компьютерах в Интернет. Когда программе нужно соединиться с удаленным компьютером, сначала она соединяется с сервером DNS и просит его найти IP- адрес по известному имени. Операция преобразования имени в адрес весьма важна, т.к. пока преобразование не произойдет, соединение не может быть установлено.