
- •Оглавление
- •От авторов
- •1. Основы сетей передачи данных
- •1. Эволюция компьютерных сетей
- •Два корня компьютерных сетей
- •Первые компьютерные сети
- •Конвергенция сетей
- •2. Общие принципы построения сетей
- •Простейшая сеть из двух компьютеров
- •Сетевое программное обеспечение
- •Физическая передача данных по линиям связи
- •Проблемы связи нескольких компьютеров
- •Обобщенная задача коммутации
- •Выводы
- •Вопросы и задания
- •3. Коммутация каналов и пакетов
- •Коммутация каналов
- •Коммутация пакетов
- •Выводы
- •Вопросы и задания
- •4. Архитектура и стандартизация сетей
- •Декомпозиция задачи сетевого взаимодействия
- •Модель OSI
- •Стандартизация сетей
- •Информационные и транспортные услуги
- •Выводы
- •Вопросы и задания
- •5. Примеры сетей
- •Обобщенная структура телекоммуникационной сети
- •Корпоративные сети
- •Интернет
- •Выводы
- •Вопросы и задания
- •6. Сетевые характеристики
- •Типы характеристик
- •Производительность
- •Надежность
- •Характеристики сети поставщика услуг
- •Выводы
- •Вопросы и задания
- •7. Методы обеспечения качества обслуживания
- •Обзор методов обеспечения качества обслуживания
- •Анализ очередей
- •Техника управления очередями
- •Механизмы кондиционирования трафика
- •Обратная связь
- •Резервирование ресурсов
- •Инжиниринг трафика
- •Работа в недогруженном режиме
- •Выводы
- •Вопросы и задания
- •2. Технологии физического уровня
- •8. Линии связи
- •Классификация линий связи
- •Типы кабелей
- •Выводы
- •Вопросы и задания
- •9. Кодирование и мультиплексирование данных
- •Модуляция
- •Дискретизация аналоговых сигналов
- •Методы кодирования
- •Мультиплексирование и коммутация
- •Выводы
- •Вопросы и задания
- •10. Беспроводная передача данных
- •Беспроводная среда передачи
- •Беспроводные системы
- •Технология широкополосного сигнала
- •Выводы
- •Вопросы и задания
- •11. Первичные сети
- •Сети PDH
- •Сети SONET/SDH
- •Сети DWDM
- •Сети OTN
- •Выводы
- •Вопросы и задания
- •3. Локальные вычислительные сети
- •Общая характеристика протоколов локальных сетей на разделяемой среде
- •Ethernet со скоростью 10 Мбит/с на разделяемой среде
- •Технологии Token Ring и FDDI
- •Беспроводные локальные сети IEEE 802.11
- •Выводы
- •Вопросы и задания
- •13. Коммутируемые сети Ethernet
- •Мост как предшественник и функциональный аналог коммутатора
- •Коммутаторы
- •Скоростные версии Ethernet
- •Архитектура коммутаторов
- •Выводы
- •Вопросы и задания
- •14. Интеллектуальные функции коммутаторов
- •Алгоритм покрывающего дерева
- •Агрегирование линий связи в локальных сетях
- •Фильтрация трафика
- •Виртуальные локальные сети
- •Ограничения коммутаторов
- •Выводы
- •Вопросы и задания
- •4. Сети TCP/IP
- •15. Адресация в стеке протоколов TCP/IP
- •Стек протоколов TCP/IP
- •Формат IP-адреса
- •Система DNS
- •Протокол DHCP
- •Выводы
- •Вопросы и задания
- •16. Протокол межсетевого взаимодействия
- •Схема IP-маршрутизации
- •Маршрутизация с использованием масок
- •Фрагментация IP-пакетов
- •Выводы
- •Вопросы и задания
- •17. Базовые протоколы TCP/IP
- •Протоколы транспортного уровня TCP и UDP
- •Общие свойства и классификация протоколов маршрутизации
- •Протокол RIP
- •Протокол OSPF
- •Маршрутизация в неоднородных сетях
- •Протокол BGP
- •Протокол ICMP
- •Выводы
- •Вопросы и задания
- •Фильтрация
- •Стандарты QoS в IP-сетях
- •Трансляция сетевых адресов
- •Групповое вещание
- •IPv6 как развитие стека TCP/IP
- •Маршрутизаторы
- •Выводы
- •Вопросы и задания
- •5. Технологии глобальных сетей
- •19. Транспортные услуги и технологии глобальных сетей
- •Базовые понятия
- •Технология Frame Relay
- •Технология ATM
- •Виртуальные частные сети
- •IP в глобальных сетях
- •Выводы
- •Вопросы и задания
- •20. Технология MPLS
- •Базовые принципы и механизмы MPLS
- •Протокол LDP
- •Мониторинг состояния путей LSP
- •Инжиниринг трафика в MPLS
- •Отказоустойчивость путей MPLS
- •Выводы
- •Вопросы и задания
- •21. Ethernet операторского класса
- •Обзор версий Ethernet операторского класса
- •Технология EoMPLS
- •Ethernet поверх Ethernet
- •Выводы
- •Вопросы и задания
- •22. Удаленный доступ
- •Схемы удаленного доступа
- •Коммутируемый аналоговый доступ
- •Коммутируемый доступ через сеть ISDN
- •Технология ADSL
- •Беспроводной доступ
- •Выводы
- •Вопросы и задания
- •23. Сетевые службы
- •Электронная почта
- •Веб-служба
- •IP-телефония
- •Протокол передачи файлов
- •Выводы
- •Вопросы и задания
- •24. Сетевая безопасность
- •Типы и примеры атак
- •Шифрование
- •Антивирусная защита
- •Сетевые экраны
- •Прокси-серверы
- •Протоколы защищенного канала. IPsec
- •Сети VPN на основе шифрования
- •Выводы
- •Вопросы и задания
- •Ответы на вопросы
- •Алфавитный указатель
ГЛАВА 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) управляют процессом передачи данных путем обмена с о о б щ е н и я м Чтобыи . приложения могли «понимать» получаемую друг от друга информа цию, программисты, разрабатывавшие эти приложения, должны строго оговорить форматы
ипоследовательность сообщений, которыми приложения будут обмениваться во время выполнения этой операции. Например, они могут договориться о том, что любая операция обмена данными начинается с передачи сообщения, запрашивающего информацию о го товности приложения В\ что в следующем сообщении идут идентификаторы компьютера
ипользователя, сделавшего запрос; что признаком срочного завершения операции обмена данными является определенная кодовая комбинация и т. п. Тем самым определяется п р о
то к о л в з а и м о д е й с т в и я п р и л о ждляе н выполненияи й операции данного типа.
Аналогично тому, как при выводе данных на печать необходимо передавать принтеру дополнительно некоторый объем служебной информации —в виде команд управления принтером, так и здесь: для передачи данных из одного компьютера в другой необходимо сопровождать эти данные дополнительной информацией в виде протокольных сообщений, которыми обмениваются приложения.
Заметим, что для реализации протокола нужно, чтобы к моменту возникновения потребно сти в обмене данными были активны оба приложения: как приложение А, которое посылает инициирующее сообщение, так и приложение В, которое должно быть готово принять это сообщение и выработать реакцию на него.
Передачалюбых данных (как сообщений протокола приложений, так и собственноданных, со ставляющих цель операции обмена) происходит в соответствие с одной и той же процедурой.
На стороне компьютера А приложение, следуя логике протокола, размещает в буфере ОП либо собственное очередное сообщение, либо данные, и обращается к ОС с запросом на выполнение операции межкомпьютерного обмена данными. ОС запускает соответствую щий драйвер сетевой карты, который загружает байт из буфера ОП в буфер ИК, после чего инициирует работу ИК. Сетевая интерфейсная карта последовательно передает биты в линию связи, дополняя каждый новый байт стартовым и стоповым битами.
Настороне компьютера В сетевая ИК принимает биты, поступающие со стороны внешнего интерфейса, и помещает их в собственный буфер. После того как получен стоповый бит, интерфейсная карта устанавливает признак завершения приема байта и выполняет про верку корректности приема, например, путем контроля бита четности. Факт корректного приема байта фиксируется драйвером сетевой ИК компьютера В. Драйвер переписывает принятый байт из буфера ИК в заранее зарезервированный буфер ОП компьютера В.