Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Olifer_V_G__Olifer_N_A_-_Kompyuternye_seti_-_2010.pdf
Скачиваний:
2385
Добавлен:
21.03.2016
Размер:
23.36 Mб
Скачать

ГЛАВА 2 Общие принципы построения сетей

Когда вы приступаете к изучению конкретныхтехнологий для сетей LAN, WAN и MAN, таких как Ether­ net, IP или ATM, то очень скоро начинаете понимать, что у этих технологий есть много общего. При этом они не являются тождественными, в каждой технологии и протоколе есть свои особенности, так что нельзя механически перенести знания из одной технологии в другую.

Изучение общих принципов построения компьютерных сетей поможет вам в дальнейшем быстрее «разбираться» слюбой конкретной сетевой технологией. Однако известное высказывание «Знание нескольких принципов освобождает от запоминания множества фактов» не стоит воспринимать буквально — хороший специалист, конечно же, должен знать множество деталей и фактов. Знание принципов позволяетсистематизировать эти частные сведения, связать ихдруг сдругом в стройную систему и тем самым использовать более осознано и эффективно. Конечно, изучение принципов перед изучением конкретных технологий — задача непростая, особенно для читателей с практиче­ ским складом ума. Кроме того, всегда есть опасность неверного понимания какого-нибудь общего утверждения без проверки его в практической реализации. Поэтому мы просим читателей поверить нам пока наслово, что игра стоитсвеч, атакже последовать нашемусовету: в ходе изучения материа­ лапоследующих глав книги время от времени мысленно возвращайтесь ктеоретическим вопросам

ипроверяйте себя, так ли вы понимали те или иные механизмы, когда изучали их впервые.

В этой главе мы рассмотрим такие фундаментальные понятия сетевых технологий, как коммутация

имаршрутизация, мультиплексирование и разделение передающей среды. Мы познакомимся также с общими подходами, применяющимися при адресации узлов сети и выборе топологии.

40

Глава 2. Общие принципы построения сетей

Простейшая сеть из двух компьютеров

Совместное использование ресурсов

Исторически главной целью объединения компьютеров в сеть было разделение ресурсов: пользователи компьютеров, подключенных к сети, или приложения, выполняемые на этих компьютерах, получают возможность автоматического доступа к разнообразным ресурсам остальных компьютеров сети, к числу которых относятся:

периферийные устройства, такие как диски, принтеры, плоттеры, сканеры и др.;

данные, хранящиеся в оперативной памяти или на внешних запоминающих устрой­ ствах;

вычислительная мощность (за счет удаленного запуска «своих» программ на «чужих» компьютерах).

Чтобы обеспечить пользователей разных компьютеров возможностью совместного ис­ пользования ресурсов сети, компьютеры необходимо оснастить некими дополнительными сетевыми средствами.

Рассмотрим простейшую сеть, состоящую из двух компьютеров, к одному из которых подключен принтер (рис. 2.1). Какие дополнительные средства должны быть предусмо­ трены в обоих компьютерах, чтобы с принтером мог работать не только пользователь компьютера Б, к которому этот принтер непосредственно подключен, но и пользователь компьютера Л?

КомпьютерА

Компьютер В

Принтер

 

 

компьютера В

 

Рис. 2.1. Простейшая сеть

 

Сетевые интерфейсы

Для связи устройств в них, прежде всего, должны быть предусмотрены внешние1интер­ фейсы.

Интерфейс — в широком смысле — формально определенная логическая и/или физическая граница между взаимодействующими независимыми объектами. Интерфейс задает параметры, процедуры ихарактеристики взаимодействия объектов.

1Наряду с внешними электронные устройства могут использовать внутренние интерфейсы, опреде­ ляющие логические и физические границы между входящими в их состав модулями. Так, известный интерфейс «общая шина» является внутренним интерфейсом компьютера, связывающим оператив­ ную память, процессор и другие блоки компьютера.

Простейшая сеть из двух компьютеров

 

41

Разделяют физический и логический интерфейсы.

 

Ф и з и ч е

с к и й и н т е р (фназываемыйй с

также п о р т о м

) определяется набором элек­

 

трических связей и характеристиками сигналов. Обычно он представляет собой разъем

 

с набором контактов, каждый из которых имеет определенное назначение, например,

 

это может быть группа контактов для передачи данных, контакт синхронизации данных

 

и т. п. Пара разъемов соединяется к а б е л е мсостоящим,

из набора проводов, каждый из

 

которых соединяет соответствующие контакты. В таких случаях говорят о создании

 

л и н и и или,

к а н а л а , с в я змеждуи

двумя устройствами.

 

Л о г и ч е с к и й и н т е р фназываемыйй(

с

также п р о т о к о

л о м) это набор информацион­

 

ных сообщений определенного формата, которыми обмениваются два устройства или

 

две программы, а также набор правил, определяющих логику обмена этими сообще­

 

ниями.

 

 

 

 

На рис. 2.2 мы видим интерфейсы двух типов: компьютер—компьютер и компьютер— периферийное устройство.

Компьютер А

Протокол

Компьютер В

Интерфейс компьютер—компьютер Интерфейс

компьютер—принтер

Рис. 2.2. Совместное использование принтера в компьютерной сети

Интерфейс компьютер—компьютер позволяет двум компьютерам обмениваться ин­ формацией. С каждой стороны он реализуется парой:

О аппаратным модулем, называемым с е т е в ы м а д а п т е р оилим , с е т е в о й и н т е р ф е й с н о й

к а р т о й(Network Interface Card, NIC);

О д р а й в е р о м с е т е в о й и н т е р ф е й с н о й к специальр т ы

ной программой, управляющей

работой сетевой интерфейсной карты.

 

Интерфейс компьютер—периферийное устройство (в данном случае интерфейс компьютер—принтер) позволяет компьютеру управлять работой периферийного устройства (ПУ). Этот интерфейс реализуется:

О со стороны компьютера и н т е р ф е й с н о й к а р ит од йр а й в е р о ПУм (принтера), по­ добным сетевой интерфейсной карте и ее драйверу;

42

Глава 2. Общие принципы построения сетей

О со стороны ПУ к о н т р о л л е р о м

П(принтера),У

обычно представляющий собой

аппаратное устройство1, принимающее от компьютера как данные, например байты информации, которую нужно распечатать на бумаге, так и команды, которые он от­ рабатывает, управляя электромеханическими частями периферийного устройства, например выталкивая лист бумаги из принтера или перемещая магнитную головку диска.

Связь компьютера с периферийным устройством

Для того чтобы решить задачу организации доступа приложения, выполняемого на ком­ пьютере Л, к ПУ через сеть, давайте, прежде всего, посмотрим, как управляет этим устрой­ ством приложение, выполняемое на компьютере В, к которому данное ПУ подключено непосредственно (см. рис. 2.2).

1.Пусть приложению В в какой-то момент потребовалось вывести на печать некоторые данные. Для этого приложение обращается с запросом на выполнение операции вводавывода к операционной системе (как правило, драйвер не может быть запущен на выполнение непосредственно приложением). В запросе указываются адрес данных, которые необходимо напечатать (адрес буфера ОП), и информация о том, на каком периферийном устройстве эту операцию требуется выполнить.

2.Получив запрос, операционная система запускает программу драйвер принтера. С этого момента все дальнейшие действия по выполнению операции ввода-вывода со стороны компьютера реализуются только драйвером принтера и работающим под его

управлением аппаратным модулем —интерфейсной картой принтера без участия приложения и операционной системы.

3.Драйвер принтера оперирует командами, понятными контроллеру принтера, такими, например, как «Печать символа», «Перевод строки», «Возврат каретки». Драйвер

вопределенной последовательности загружает коды этих команд, а также данные, взя­ тые из буфера ОП, в буфер интерфейсной карты принтера, которая побайтно передает их по сети контроллеру принтера.

4.Интерфейсная карта выполняет низкоуровневую работу, не вдаваясь в детали, ка­ сающиеся логики управления устройством, смысла данных и команд, передаваемых ей драйвером, считая их однородным потоком байтов. После получения от драйвера очередного байта интерфейсная карта просто последовательно передает биты в линию связи, представляя каждый бит электрическим сигналом. Чтобы контроллеру принтера стало понятно, что начинается передача байта, пере&передачей первого бита информа­ ционная карта формирует с т а р т о в ы й с и г нспецифическойа л формк, а после передачи последнего информационного бита —с т о л о в ы й с и г н аЭтил . сигналы синхронизируют передачу байта. Контроллер, опознав стартовый бит, начинает принимать информацион­ ные биты, формируя из них байт в своем приемном буфере. Помимо информационных битов карта может передавать бит контроля четности для повышения достоверности обмена. Прикорректно выполненной передаче в буфере принтера устанавливается со­ ответствующий признак.

1Встречаются и программно-управляемые контроллеры, например, для управления современными принтерами, обладающими сложной логикой.

Простейшая сеть из двух компьютеров

43

5.Получив очередной байт, контроллер интерпретирует его и запускает заданную опера­ цию принтера. Закончив работу по печати всех символов документа, драйвер принтера сообщает операционной системе о выполнении запроса, а та, в свою очередь, сигнали­ зирует об этом событии приложению.

Обмен данными между двумя компьютерами

Механизмы взаимодействия компьютеров в сети многое позаимствовали у схемы взаи­ модействия компьютера с периферийными устройствами. В самом простом случае связь компьютеров может быть реализована с помощью тех же самых средств, которые исполь­ зуются для связи компьютера с периферией, с той разницей, что в этом случае активную роль играют обе взаимодействующие стороны.

Приложения А и В (см. рис. 2.2) управляют процессом передачи данных путем обмена с о о б щ е н и я м Чтобыи . приложения могли «понимать» получаемую друг от друга информа­ цию, программисты, разрабатывавшие эти приложения, должны строго оговорить форматы

ипоследовательность сообщений, которыми приложения будут обмениваться во время выполнения этой операции. Например, они могут договориться о том, что любая операция обмена данными начинается с передачи сообщения, запрашивающего информацию о го­ товности приложения В\ что в следующем сообщении идут идентификаторы компьютера

ипользователя, сделавшего запрос; что признаком срочного завершения операции обмена данными является определенная кодовая комбинация и т. п. Тем самым определяется п р о ­

то к о л в з а и м о д е й с т в и я п р и л о ждляе н выполненияи й операции данного типа.

Аналогично тому, как при выводе данных на печать необходимо передавать принтеру дополнительно некоторый объем служебной информации —в виде команд управления принтером, так и здесь: для передачи данных из одного компьютера в другой необходимо сопровождать эти данные дополнительной информацией в виде протокольных сообщений, которыми обмениваются приложения.

Заметим, что для реализации протокола нужно, чтобы к моменту возникновения потребно­ сти в обмене данными были активны оба приложения: как приложение А, которое посылает инициирующее сообщение, так и приложение В, которое должно быть готово принять это сообщение и выработать реакцию на него.

Передачалюбых данных (как сообщений протокола приложений, так и собственноданных, со­ ставляющих цель операции обмена) происходит в соответствие с одной и той же процедурой.

На стороне компьютера А приложение, следуя логике протокола, размещает в буфере ОП либо собственное очередное сообщение, либо данные, и обращается к ОС с запросом на выполнение операции межкомпьютерного обмена данными. ОС запускает соответствую­ щий драйвер сетевой карты, который загружает байт из буфера ОП в буфер ИК, после чего инициирует работу ИК. Сетевая интерфейсная карта последовательно передает биты в линию связи, дополняя каждый новый байт стартовым и стоповым битами.

Настороне компьютера В сетевая ИК принимает биты, поступающие со стороны внешнего интерфейса, и помещает их в собственный буфер. После того как получен стоповый бит, интерфейсная карта устанавливает признак завершения приема байта и выполняет про­ верку корректности приема, например, путем контроля бита четности. Факт корректного приема байта фиксируется драйвером сетевой ИК компьютера В. Драйвер переписывает принятый байт из буфера ИК в заранее зарезервированный буфер ОП компьютера В.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]