|
Адресация
компьютеров
Еще одной новой проблемой, которую нужно
учитывать при объединении трех и более
компьютеров, является проблема их адресации. К
адресу узла сети и схеме его назначения можно
предъявить несколько требований.
- Адрес должен уникально идентифицировать
компьютер в сети любого масштаба.
- Схема назначения адресов должна сводить к
минимуму ручной труд администратора и
вероятность дублирования адресов.
- Адрес должен иметь иерархическую структуру,
удобную для построения больших сетей. Эту
проблему хорошо иллюстрируют международные
почтовые адреса, которые позволяют почтовой
службе, организующей доставку писем между
странами, пользоваться только названием страны
адресата и не учитывать название его города, а
тем более улицы. В больших сетях, состоящих из
многих тысяч узлов, отсутствие иерархии адреса
может привести к большим издержкам - конечным
узлам и коммуникационному оборудованию придется
оперировать с таблицами адресов, состоящими из
тысяч записей.
- Адрес должен быть удобен для пользователей
сети, а это значит, что он должен иметь символьное
представление например, Servers или www.cisco.com.
- Адрес должен иметь по возможности компактное
представление, чтобы не перегружать память
коммуникационной аппаратуры - сетевых адаптеров,
маршрутизаторов и т. п.
Нетрудно заметить, что эти требования
противоречивы - например, адрес, имеющий
иерархическую структуру, скорее всего будет
менее компактным, чем неиерархический (такой
адрес часто называют «плоским», то есть не
имеющим структуры). Символьный же адрес скорее
всего потребует больше памяти, чем адрес-число.
Так как все перечисленные требования трудно
совместить в рамках какой-либо одной схемы
адресации, то на практике обычно используется
сразу несколько схем, так что компьютер
одновременно имеет несколько адресов-имен.
Каждый адрес используется в той ситуации, когда
соответствующий вид адресации наиболее удобен. А
чтобы не возникало путаницы и компьютер всегда
однозначно определялся своим адресом,
используются специальные вспомогательные
протоколы, которые по адресу одного типа могут
определить адреса других типов.
Наибольшее распространение получили три схемы
адресации узлов.
- Аппаратные (hardware) адреса. Эти адреса
предназначены для сети небольшого или среднего
размера, поэтому они не имеют иерархической
структуры. Типичным представителем адреса
такого типа является адрес сетевого адаптера
локальной сети. Такой адрес обычно используется
только аппаратурой, поэтому его стараются
сделать по возможности компактным и записывают в
виде двоичного или шестнадцатеричного значения,
например 0081005е24а8. При задании аппаратных адресов
обычно не требуется выполнение ручной работы,
так как они либо встраиваются в аппаратуру
компанией-изготовителем, либо генерируются
автоматически при каждом новом запуске
оборудования, причем уникальность адреса в
пределах сети обеспечивает оборудование. Помимо
отсутствия иерархии, использование аппаратных
адресов связано еще с одним недостатком - при
замене аппаратуры, например, сетевого адаптера,
изменяется и адрес компьютера. Более того, при
установке нескольких сетевых адаптеров у
компьютера появляется несколько адресов, что не
очень удобно для пользователей сети.
- Символьные адреса или имена. Эти
адреса предназначены для запоминания людьми и
поэтому обычно несут смысловую нагрузку.
Символьные адреса легко использовать как в
небольших, так и крупных сетях. Для работы в
больших сетях символьное имя может иметь сложную
иерархическую структуру, например ftp-archl.ucl.ac.uk.
Этот адрес говорит о том, что данный компьютер
поддерживает ftp-архив в сети о дного из колледжей
Лондонского университета (University College London - ucl) и
эта сеть относится к академической ветви (ас)
Internet Великобритании (United Kingdom - uk). При работе в
пределах сети Лондонского университета такое
длинное символьное имя явно избыточно и вместо
него удобно пользоваться кратким символьным
именем, на роль которого хорошо подходит самая
младшая составляющего полного имени, то есть имя
ftp-archl.
- Числовые составные адреса. Символьные имена
удобны для людей, но из-за переменного формата и
потенциально большой длины их передача по сети
не очень экономична. Поэтому во многих случаях
для работы в больших сетях в качестве адресов
узлов используют числовые составные адреса
фиксированного и компактного форматов. Типичным
представителями адресов этого типа являются IP- и
IPX-адреса. В них поддерживается двухуровневая
иерархия, адрес делится на старшую часть - номер
сети и младшую - номер узла. Такое деление
позволяет передавать сообщения между сетями
только на основании номера сети, а номер узла
используется только после доставки сообщения в
нужную сеть; точно так же, как название улицы
используется почтальоном только после того, как
письмо доставлено в нужный город. В последнее
время, чтобы сделать маршрутизацию в крупных
сетях более эффективной, предлагаются более
сложные варианты числовой адресации, в
соответствии с которыми адрес имеет три и более
составляющих. Такой подход, в частности,
реализован в новой версии протокола IPv6,
предназначенного для работы в сети Internet. В
современных сетях для адресации узлов
применяются, как правило, одновременно все три
приведенные выше схемы. Пользователи адресуют
компьютеры символьными именами, которые
автоматически заменяются в сообщениях,
передаваемых по сети, на числовые номера. С
помощью этих числовых номеров сообщения
передаются из одной сети в другую, а после
доставки сообщения в сеть назначения вместо
числового номера используется аппаратный адрес
компьютера. Сегодня такая схема характерна даже
для небольших автономных сетей, где, казалось бы,
она явно избыточна - это делается для того, чтобы
при включении этой сети в большую сеть не нужно
было менять состав операционной системы.
Проблема установления соответствия между
адресами различных типов, которой занимается служба
разрешения имен, может решаться как полностью
централизованными, так и распределенными
средствами. В случае централизованного подхода в
сети выделяется один компьютер (сервер имен), в
котором хранится таблица соответствия друг
другу имен различных типов, например символьных
имен и числовых номеров. Все остальные
компьютеры обращаются к серверу имен, чтобы по
символьному имени найти числовой номер
компьютера, с которым необходимо обменяться
данными.
При другом, распределенном подходе, каждый
компьютер сам решает задачу установления
соответствия между именами. Например, если
пользователь указал для узла назначения
числовой номер, то перед началом передачи данных
компьютер-отправитель посылает всем компьютерам
сети сообщение (такое сообщение называется
широковещательным) с просьбой опознать это
числовое имя. Все компьютеры, получив это
сообщение, сравнивают заданный номер со своим
собственным. Тот компьютер, у которого
обнаружилось совпадение, посылает ответ,
содержащий его аппаратный адрес, после чего
становится возможным отправка сообщений по
локальной сети.
Распределенный подход хорош тем, что не
предполагает выделения специального компьютера,
который к тому же часто требует ручного задания
таблицы соответствия имен. Недостатком
распределенного подхода является необходимость
широковещательных сообщений - такие сообщения
перегружают сеть, так как они требуют
обязательной обработки всеми узлами, а не только
узлом назначения. Поэтому распределенный подход
используется только в небольших локальных сетях.
В крупных сетях распространение
широковещательных сообщений по всем ее
сегментам становится практически нереальным,
поэтому для них характерен централизованный
подход. Наиболее известной службой
централизованного разрешения имен является
служба Domain Name System (DNS) сети Internet.
|