Компьютерные сети. Принц, техн, прот 1-303. Книга переведена на английский, испанский, китайский и португальский языки
Скачать 5.49 Mb.
|
узкими местами (bottleneck). Скорость передачи данныхIII (information rate, или throughput, оба английских термина используются равноправно) – это фактическая скорость потока данных, прошедшего через сеть или некоторые ее фрагменты. Скорость информационного потока, называемая также скоростью передачи данных, определяется как частное от деления объема данных, переданных за некоторый интервал времени, на величину этого интервала. Из определения следует, что эта характеристика всегда является усредненной. Она отражает как скорость поступления данных в сеть – предложенную нагрузку, так и скоростные свойства физических каналов – пропускную способность сети. Скорость передачи данных может быть ниже предложенной нагрузки, так как данные в сети могут искажаться или теряться, или на некоторых участках выше – когда предварительно буферизованные данные передаются скоростным каналом. Но скорость передачи данных по некоторому каналу никогда не может превысить его пропускной способности. Еще одна группа характеристик канала связи связана с возможностью передачи информации по каналу в одну или обе стороны. При взаимодействии двух компьютеров обычно требуется передавать информацию в обоих направлениях, от компьютера А к компьютеру В и обратно. Даже в том случае, когда пользователю кажется, что он только получает информацию (например, загружает музыкальный файл из Интернета) или только ее передает (отправляет электронное письмо), обмен информацией идет в двух направлениях. Просто существует основной поток данных, которые интересуют пользователя, и вспомогательный поток противоположного направления, который образуют квитанции о получении этих данных. Физические каналы связи делятся на несколько типов в зависимости от того, могут они передавать информацию в обоих направлениях или нет. Дуплексный канал обеспечивает одновременную передачу информации в обоих направлениях. Дуплексный канал может состоять из двух физических сред, каждая из которых используется для передачи информации только в одном направлении. Возможен вариант, когда одна среда служит для одновременной передачи встречных потоков. При этом применяют дополнительные методы выделения каждого потока из суммарного сигнала. Полудуплексный канал также обеспечивает передачу информации в обоих направлениях, но не одновременно, а по очереди. То есть в течение определенного периода времени информация передается в одном направлении, а в течение следующего периода – в обратном. Симплексный канал позволяет передавать информацию только в одном направлении. Часто дуплексный канал состоит из двух симплексных каналов. Подробно вопросы физической передачи дискретных данных обсуждаются в части II этой книги. Проблемы связи нескольких компьютеров До сих пор мы рассматривали вырожденную сеть, состоящую всего из двух машин. При объединении в сеть большего числа компьютеров возникает целый комплекс новых проблем. Топология физических связей Объединяя в сеть несколько (больше двух) компьютеров, необходимо решить, каким образом соединить их друг с другом, другими словами, выбрать конфигурацию физических связей, или их топологию. Под топологией сети понимается конфигурация графа, вершинам которого соответствуют конечные узлы сети (например, компьютеры) и коммуникационное оборудование (например, маршрутизаторы), а ребрам – физические или информационные связи между вершинами. Число возможных вариантов конфигурации резко возрастает при увеличении числа связываемых устройств. Так, если три компьютера мы можем связать двумя способами (рис. 2.9, я), то для четырех можно предложить уже шесть топологически разных конфигураций (при условии неразличимости компьютеров, рис. 2.9, б). Мы можем соединять каждый компьютер с каждым или же связывать их последовательно, предполагая, что они будут общаться, передавая сообщения друг другу «транзитом». Транзитные узлы должны быть оснащены специальными средствами, позволяющими им выполнять эту специфическую посредническую операцию, В качестве транзитного узла может выступать как универсальный компьютер, так и специализированное устройство. От выбора топологии связей существенно зависят характеристики сети. Например, наличие между узлами нескольких путей повышает надежность сети и делает возможным распределение загрузки между отдельными каналами. Простота присоединения новых узлов, свойственная некоторым топологиям, делает сеть легко расширяемой. Экономические соображения часто приводят к выбору топологий, для которых характерна минимальная суммарная длина линий связи. Среди множества возможных конфигураций различают полносвязные и неполносвязные. Полносвязная топология соответствует сети, в которой каждый компьютер непосредственно связан со всеми остальными (рис. 2.10, а). Несмотря на логическую простоту, этот вариант оказывается на практике громоздким и неэффективным. Действительно, в таком случае каждый компьютер в сети должен иметь большое количество коммуникационных портов, достаточное для связи с каждым из остальных компьютеров сети. Для каждой пары компьютеров должна быть выделена отдельная физическая линия связи (в некоторых случаях даже две, если невозможно использование этой линии для двусторонней передачи). Полносвязные топологии в крупных сетях применяются редко, так как для связи Nузлов требуется N(N - 1 )/2 физических дуплексных линий связей, то есть имеет место квадратичная зависимость от числа узлов. Обычно этот вид топологии используется в многомашинных комплексах или в сетях, объединяющих небольшое количество компьютеров. Все другие варианты основаны на неполносвязных топологиях, когда для обмена данными между двумя компьютерами может потребоваться транзитная передача данных через другие узлы сети. Ячеистая топология получается из полносвязной путем удаления некоторых связей (рис. 2.10,6). Ячеистая топология допускает соединение большого количества компьютеров и характерна, как правило, для крупных сетей. В сетях с кольцевой топологией (рис. 2.10, в) данные передаются по кольцу от одного компьютера к другому. Главным достоинством кольца является то, что оно по своей природе обеспечивает резервирование связей. Действительно, любая пара узлов соединена здесь двумя путями – по часовой стрелке и против нее. Кроме того, кольцо представляет собой очень удобную конфигурацию для организации обратной связи – данные, сделав полный оборот, возвращаются к узлу-источнику. Поэтому источник может контролировать процесс доставки данных адресату. Часто это свойство кольца используется для тестирования связности сети и поиска узла, работающего некорректно. В то же время в сетях с кольцевой топологией необходимо принимать специальные меры, чтобы в случае выхода из строя или отключения какого-либо компьютера не прерывался канал связи между остальными узлами кольца. Звездообразная топология (рис. 2.10, г) образуется в случае, когда каждый компьютер подключается непосредственно к общему центральному устройству, называемому концентраторомIV. В функции концентратора входит направление передаваемой компьютером информации одному или всем остальным компьютерам сети. В качестве концентратора может выступать как универсальный компьютер, так и специализированное устройство. К недостаткам звездообразной топологии относится более высокая стоимость сетевого оборудования из-за необходимости приобретения специализированного центрального устройства. Кроме того, возможности по наращиванию количества узлов в сети ограничиваются количеством портов концентратора. Иногда имеет смысл строить сеть с использованием нескольких концентраторов, иерархически соединенных между собой звездообразными связями (рис. 2.10, д). Получаемую в результате структуру называют иерархической звездой, или деревом. В настоящее время дерево является самой распространенной топологией связей как в локальных, так и глобальных сетях. Особым частным случаем звезды является общая шина (рис. 2.10, е). Здесь в качестве центрального элемента выступает пассивный кабель, к которому по схеме «монтажного ИЛИ» подключается несколько компьютеров (такую же топологию имеют многие сети, использующие беспроводную связь – роль общей шины здесь играет общая радиосреда). Передаваемая информация распространяется по кабелю и доступна одновременно всем компьютерам, присоединенным к этому кабелю. Основными преимуществами такой схемы являются ее дешевизна и простота присоединения новых узлов к сети, а недостатками – низкая надежность (любой дефект кабеля полностью парализует всю сеть) и невысокая производительность (в каждый момент времени только один компьютер может передавать данные по сети, поэтому пропускная способность делится здесь между всеми узлами сети). В то время как небольшие сети, как правило, имеют типовую топологию – звезда, кольцо или общая шина, – для крупных сетей характерно наличие произвольных связей между компьютерами. В таких сетях можно выделить отдельные произвольно связанные фрагменты (подсети), имеющие типовую топологию, поэтому их называют сетями со смешанной топологией (рис. 2.11). Адресация узлов сети Еще одной новой проблемой, которую нужно учитывать при объединении трех и более компьютеров, является проблема их адресации, точнее, адресации их сетевых интерфейсов1. Один компьютер может иметь несколько сетевых интерфейсов. Например, для создания полносвязной структуры из У компьютеров необходимо, чтобы у каждого из них имелся У - 1 интерфейс. По количеству адресуемых интерфейсов адреса можно классифицировать следующим образом: уникальный адрес (unicast) используется для идентификации отдельных интерфейсов; групповой адрес (multicast) идентифицирует сразу несколько интерфейсов, поэтому данные, помеченные групповым адресом, доставляются каждому из узлов, входящих в группу; данные, направленные по широковещательному адресу (broadcast), должны быть доставлены всем узлам сети; адрес произвольной рассылки (anycast), так же как и групповой адрес, задает группу адресов, однако данные, посланные по этому адресу, доставляются не всем узлам данной группы, а только одному из них. Выбор этого узла осуществляется в соответствии с некоторыми правилами предпочтения. Адреса могут быть числовыми (например, 129.26.255.255 или 81.la.ff.ff) и символьными (site.domen.ru, willi-winki). Символьные адреса (имена) предназначены для запоминания людьми и поэтому обычно несут смысловую нагрузку. Для работы в больших сетях символьное имя может иметь иерархическую структуру, например ftp-arch 1 .ucl.ac.uk. Этот адрес говорит о том, что данный компьютер поддерживает ftp-архив в сети одного из колледжей Лондонского университета (University College London – ucl) и эта сеть относится к академической ветви (ас) Интернета VВеликобритании (United Kingdom – uk). При работе в пределах сети Лондонского университета такое длинное символьное имя явно избыточно, и вместо него можно пользоваться кратким символьным именем ftp-arch 1. Хотя символьные имена удобны для людей, из-за переменного формата и потенциально большой длины их передача по сети не экономична. Множество всех адресов, которые являются допустимыми в рамках некоторой схемы адресации, называется адресным пространством. Адресное пространство может иметь плоскую (линейную) или иерархическую организацию. При плоской организации множество адресов никак не структурировано. Примером плоского числового адреса является МАС-адрес, предназначенный для однозначной идентификации сетевых интерфейсов в локальных сетях. Такой адрес обычно используется только аппаратурой, поэтому его стараются сделать по возможности компактным и записывают в виде двоичного или шестнадцатеричного числа, например 0081005е24а8. При задании МАС-адресов не требуется выполнять никакой ручной работы, так как они обычно встраиваются в аппаратуру компанией-изготовителем, поэтому их называют также аппаратными адресами (hardware address). Использование плоских адресов является жестким решением – при замене аппаратуры, например сетевого адаптера, изменяется и адрес сетевого интерфейса компьютера. При иерархической организации адресное пространство структурируется в виде вложенных друг в друга подгрупп, которые, последовательно сужая адресуемую область, в конце концов, определяют отдельный сетевой интерфейс. Например, в трехуровневой структуре адресного пространства адрес конечного узла может задаваться тремя составляющими: идентификатором группы (К), в которую входит данный узел; идентификатором подгруппы (£); идентификатором узла (и), однозначно определяющим его в подгруппе. Иерархическая адресация во многих случаях оказывается более рациональной, чем плоская. В больших сетях, состоящих из многих тысяч узлов, использование плоских адресов приводит к большим издержкам – конечным узлам и коммуникационному оборудованию приходится оперировать таблицами адресов, состоящими из тысяч записей. В противоположность этому иерархическая система адресации позволяет при перемещении данных до определенного момента пользоваться только старшей составляющей адреса (например, идентификатором группы К), затем (для дальнейшей локализации адресата) задействовать следующую по старшинству часть (£) и в конечном счете – младшую часть (п). Типичными представителями иерархических числовых адресов являются сетевые IP- адреса. В них поддерживается двухуровневая иерархия, адрес делится на старшую часть – номер сети и младшую - номер узла. Такое деление позволяет передавать сообщения между сетями только на основании номера сети, а номер узла требуется уже после доставки сообщения в нужную сеть – точно так же, как название улицы используется почтальоном только после того, как письмо доставлено в нужный город. На практике обычно применяют сразу несколько схем адресации, так что сетевой интерфейс компьютера может одновременно иметь несколько адресов-имен. Каждый адрес задействуется в той ситуации, когда соответствующий вид адресации наиболее удобен. А для преобразования адресов из одного вида в другой используются специальные вспомогательные протоколы, которые называют протоколами разрешения адресов. Пользователи адресуют компьютеры иерархическими символьными именами, которые автоматически заменяются в сообщениях, передаваемых по сети, иерархическими числовыми адресами. С помощью этих числовых адресов сообщения доставляются из одной сети в другую, а после доставки сообщения в сеть назначения вместо иерархического числового адреса используется плоский аппаратный адрес компьютера. Проблема установления соответствия между адресами различных типов может решаться как централизованными, так и распределенными средствами. При централизованном подходе в сети выделяется один или несколько компьютеров (серверов имен), в которых хранится таблица соответствия имен различных типов – например, символьных имен и числовых адресов. Все остальные компьютеры обращаются к серверу имен с запросами, чтобы по символьному имени найти числовой номер необходимого компьютера. При распределенном подходе каждый компьютер сам хранит все назначенные ему адреса разного типа. Тогда компьютер, которому необходимо определить по известному иерархическому числовому адресу некоторого компьютера его плоский аппаратный адрес, посылает в сеть широковещательный запрос. Все компьютеры сети сравнивают содержащийся в запросе адрес с собственным. Тот компьютер, у которого обнаружилось совпадение, посылает ответ, содержащий искомый аппаратный адрес. Такая схема использована в |