Глава 2. Обзор базовых сетевых технологий

2.1 Введение

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

Эта глава вводит основные понятия коммутации пакетов и терминологию. а затем рассматривает базовые технологии сетевого оборудования, которые использовались в объединенной сетях TCP/IP. Следующие главы описывают, как эти сети объединяются и как протоколы TCP/IP согласованы с различиями в оборудовании. В то время как список сетей, представленный здесь, не является исчерпывающим, он хорошо демонстрирует разнообразие физических сетей, над которыми работает TCP/IP.Читатель может спокойно пропустить большую часть технических деталей, но должен попытаться понять идею пакетной коммутации и должен попытаться представить архитектуру однородной коммуникационной системы, использующей такое разнообразное оборудование. Более того, читатель должен внимательно изучить детали схем физических адресаций в различных используемых технологиях; следующие главы рассмотрят детально, как протоколы высокого уровня используют эти физические адреса.

2.2 Два подхода к сетевому взаимодействию

Независимо от того, обеспечивают ли они соединение между компьютерами или между компьютерами и терминалами, коммуникационные сети могут быть разделены на два основных типа: с коммутацией каналов и коммутацией пакетов. Сети с коммутацией каналов работают, образуя выделенное соединение(канал) между двумя точками. Телефонная сеть США использует технологию с коммутацией каналов - телефонный вызов устанавливает канал от вызывающего телефона через локальную АТС, по линиям связи, к удаленной АТС, и, наконец, к отвечающему телефону. Пока существует канал, телефонное оборудование постоянно опрашивает микрофон, кодирует полученное значение в цифровой форме, и передает его по этому каналу к получателю. Отправителю гарантируется, что опросы будут доведены и воспроизведены, так как канал обеспечивает скорость 64 Кбит/с, которой достаточно для передачи оцифрованного голоса. Преимущество коммутации каналов заключается в ее гарантированной пропускной способности: как только канал создан, ни один сетевой процесс не уменьшит пропускной способности этого канала. Недостатком при коммутации каналов является ее стоимость: платы за каналы являются фиксированными и независимыми от траффика. Например, можно заплатить за телефонный вызов, даже если две разговаривающие стороны вообще ничего не говорили.

Сети с коммутацией пакетов, тип обычно используемый при соединении компьютеров, используют совершенно другой подход. В сетях с коммутацией пакетов траффик сети делится на небольшие части, называемые пакетами, которые объединяются в высокоскоростных межмашинных соединениях. Пакет, который обычно содержит только несколько сотен байтов данных, имеет идентификатор, который позволяет компьютерам в сети узнавать, предназначен ли он им, и если нет, то помогает им определить, как послать его в указанное место назначения. Например, файл, передаваемый между двумя машинами, может быть разбит на большое число пакетов, которые посылаются по сети по одному. Оборудование сети доставляет пакеты к указанному месту назначения, а сетевое программное обеспечение собирает пакеты опять в один файл. Главным преимуществом коммутации пакетов является то, что большое число соединений между компьютерами может работать одновременно, так как межмашинные соединения разделяются между всеми парами взаимодействующих машин. Недостатком ее является то, что по мере того как возрастает активность, данная пара взаимодействующих компьютеров получает все меньше сетевой пропускной способности. То есть, всякий раз, когда сеть с коммутацией пакетов становится перегруженной, компьютеры, использующие сеть, должны ждать, пока они не смогут послать следующие пакеты.

Несмотря на потенциальный недостаток негарантируемой сетевой пропускной способности, сети с коммутацией пакетов стали очень популярными. Причинами их широкого использования являются стоимость и производительность. В связи с тем, что к сети может быть подключено большое число машин, требуется меньше соединений и стоимость остается низкой. Так как инженеры смогли создать высокоскоростное сетевое оборудование, с пропускной способностью обычно проблем не возникает. Так много компьютерных соединений использует коммутацию пакетов, что далее в книге термин СЕТЬ будет обозначать только сеть с коммутацией пакетов.

2.3 Глобальные сети, городские сети, локальные сети

Сети с коммутацией пакетов, которые разрослись до больших географических размеров(например, континентальной части США), сильно отличаются от сетей, имеющих небольшие размеры(например, одну комнату). Чтобы помочь охарактеризовать различия в пропускной способности и способах использования, технологии коммутации пакетов часто делят на три большие категории: глобальные сети(WAN), городские сети(MAN) и локальные сети(LAN). Технологии WAN, иногда называемые long haul networks(буквально - сети дальних перевозок), позволяют взаимодействующим местам быть достаточно далеко друг от друга и предназначены для использования на больших расстояниях. Обычно WAN работают на более низких скоростях, чем другие технологии, и имеют гораздо большие паузы при соединении. Обычно скорости WAN лежат в диапазоне от 9.6 Кбит/с до 45 Мбит/с.

Самый новый вид сетевого оборудования, технологии MAN позволяют взаимодействовать в географических областях средних размеров и работают на скоростях от средних до высоких. Они получили такое имя из-за способности одной MAN занимать область размером с большой город. MAN работают с меньшими паузами, чем WAN, но не могут обеспечить взаимодействие на таких же больших расстояниях. Типичные MAN работают со скоростями от 56 Кбит/с до 100 Мбит/с.

Технологии LAN обеспечивают наивысшие скорости соединений между компьютерами, но не позволяют им занимать большие области. Например, типичная LAN занимает пространство, такое же как одно здание или небольшой университетский городок, и работает со скоростями от 4 Мбит/с до 2 Гбит/с.

Мы уже говорили о компромиссе между скоростью и расстоянием: технологии, обеспечивающие более высокие скорости взаимодействия, работают на более коротких расстояниях. Существуют и другие различия среди технологий в указанных выше трех категориях. В технологиях LAN каждый компьютер обычно содержит сетевое интерфейсное устройство, которое соединяет машину напрямую с сетевой средой передачи данных(например, медным проводом или коаксиальным кабелем). Часто сеть является пассивной, полагая, что электронные устройства в присоединенных компьютерах сами будут генерировать и получать необходимые электрические сигналы. В технологиях MAN сеть содержит активные коммутирующие элементы, которые приводят к появлению коротких задержек при направлении данных к их назначению. В технологиях WAN сеть обычно состоит из групп сложных маршрутизаторов пакетов, соединенных линиями связи. Сеть может быть расширена добавлением нового маршрутизатора и еще одной линии связи. Присоединить компьютер к WAN значит соединить его с одним из маршрутизаторов пакетов. Эти маршрутизаторы вводят значительные паузы при маршрутизации траффика. Поэтому, чем больше становится WAN, тем больше времени ей надо для маршрутизации траффика.

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

2.4 Технология Ethernet

Ethernet - это имя, данное популярной технологии локальной сети с коммутацией пакетов, разработанной в Xerox PARC в начале 1970 года. Версия, описанная здесь, была стандартизована Xerox Corporation, Intel Corporation и Digital Equipment Corporation в 1978 году. Как показано на рисунке 2.1, Ethernet состоит из коаксиального кабеля приблизительно полдюйма в диаметре и до 500 метров длиной. Между центральным проводом и защитной оболочкой на каждом конце добавляется резистор для предотвращения отражения электрических сигналов. Называемый ether(для удобства будем называть его просто Е-кабель), этот кабель является полностью пассивным; все активные электронные компоненты, выполняющие сетевую функцию, связаны с компьютерами, присоединенными к сети.


     +------------+<=============внешняя изолирующая оболочка

     |+----------+|

     ||       <============полиэтиленовый заполнитель

     ||          ||

     ||    ==    |<===============металлическая оболочка

     ||    =<==  ||

     ||        \ ||

     |+---------\+|

     +-----------============центральный провод

Рисунок 2.1 Коаксиальный кабель, иcпользуемый в Ethernet

Ethernet'ы могут быть дополнены устройствами, называемыми повторителями, которые передают электрические сигналы от одного кабеля к другому. Рисунок 2.2 показывает типичное использование повторителей в здании фирмы. Один вертикальный магистральный кабель проложен через все этажи здания, и повторитель соединяет дополнительные кабели на каждом этаже с магистральным кабелем. Компьютеры присоединяются к кабелям, проложенным на каждом этаже. Только два повторителя могут быть помещены между любыми двумя машинами, поэтому общая длина простого Ethernetа довольно маленькая(до 1500 метров).

Расширение Ethernetа, используя повторители, имеет свои преимущества и недостатки. Повторители менее избыточны, чем другие типы соединяющего оборудования, что делает их самым дешевым способом расширения Ethernetа. Тем не менее, повторители имеют два недостатка. Во-первых, так как повторители повторяют и усиливают все электрические сигналы, то они копируют шумы, возникающие в одном проводе, в другой провод. Во-вторых, так как они содержат активные электронные компоненты, требующие энергии, они могут выйти из строя. В здании авария может произойти в неудобном месте(например, между перекрытиями или в розетке), делая трудным ее нахождение и устранение.


|  ___________________________

|  |    |   |   |   |   |         Этаж 3

|--O    K   K   K   K   K

|

|  ___________________________

|  |    |   |   |   |   |         Этаж 2

|--O    K   K   K   K   K

|

|  ___________________________

|  |    |   |   |   |   |         Этаж 1

|--O    K   K   K   K   K

|   \

     \________ повторитель

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

Соединения с E-кабелем делаются с помощью ответвлений, как показывает рисунок 2.3. При каждом ответвлении маленькая дырка во внешних слоях кабеля позволяет маленьким контактам касаться центрального провода и защитной металлической оболочки(некоторые производители требуют, чтобы кабель был разрезан и вставлен Т-образный соединитель). Каждое соединение с Ethernetом имеет две основные электрические компоненты. Трансивер присоединяется к центральному проводу и металлической оплетке на Е-кабеле, принимая и передавая сигналы. Интерфейс с ЭВМ соединяется с трансивером и взаимодействует с компьютером(обычно через шину компьютера).

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

Рисунок 2.4 показывает соединение между компьютером и трансивером. Каждый интерфейс ЭВМ управляет работой одного трансивера согласно командам, которые он получает от программного обеспечения компьютера. Для операционной системы интерфейс представляется в виде устройства ввода-вывода, которое воспринимает основные команды передачи данных от компьютера, управляет трансивером при их выполнении, прерывается, когда задача завершается, и сообщает информацию о состоянии. В то время как трансивер - это простое аппаратное устройство, интерфейс с ЭВМ может быть сложным(например, он может содержать микропроцессор, используемый для управления передачей данных между памятью компьютера и Е-кабелем).


                                      ______________________ 

                                    /-\     ___________      \

                                ___/_  \    \          \      |

    центральный провод       /--\    \  \    \          \     |

                     \      /    \    |  |   |          |     |

                     -------|--  |    |  |   |----------|     |

                          __\    /    |  |   |  |       |     |

    металлическая оплетка/   \--/_____/  /   /  |       /     |

                                    \   /   /___|______/      |

                                     \-/________|____|_______/

                                                |    |

                            (a)            ---------------

                                           |             |

                                           |  трансивер  |

            (b)                            |             |

                                           ---------------

                                                  |

    _______________________________               | к интерфейсу

       |   |          |                           |      ЭВМ

       |   |  ......  |                           V

       |   |          |

       O   O          O 

Рисунок 2.3 (а) Наглядное представление кабеля, показывающее детали двух электрических соединений между трансивером и кабелем при ответвлении, и (b) схематическая диаграмма Ethernetа с группой ответвлений.

2.4.1 Свойства Ethernet'а

Ethernet - это технология общей шины со скоростью 10 Мбит/с , с механизмом негарантированной(best effort) доставки и распределенным управлением доступом. Она называется технологией общей шины из-за того, что все станции разделяют один общий канал взаимодействия; она - широковещательная, так как все трансиверы принимают информацию, передаваемую всеми станциями. Метод, используемый для передачи пакетов от одной станции к другой или к группе станций, будет рассмотрен позднее. На данный момент достаточно уяснить, что трансиверы не фильтруют информацию - они передают все пакеты на интерфейс ЭВМ, который выбирает из них нужные этой ЭВМ и отбрасывает другие пакеты. Ethernet называется механизмом негарантированной доставки, так как он не информирует отправителя о том, был ли доведен пакет до получателя. Например, если случилось так, что машина получателя выключена, пакет будет потерян, но отправитель ничего не будет знать об этом. мы увидим позднее, как протоколы TCP/IP согласованы с оборудованием с негарантированным доведением.


                                          Ethernet

    _______________________________________________________

         |

         |

      -------      трансивер

      |     |<------

      |     |

      -------             ...

         |              /    /

         \             /    /<-------шина компьютера

          \_____      /    /

                |    /    /

            ---------    /

            |       |   /

            |       |<---------------плата интерфейса компьютера

            |       | /

            |       |/

            --|||||--

              |||||/

             /    /

            /    /

           /    /

          /... / 

Рисунок 2.4 Соединение между кабелем Ethernet и компьютером

Управление доступом в Ethernetе распределенное, так как, в отличие от некоторого другого сетевого оборудования, здесь нет централизованной схемы предоставления доступа. Схема доступа Ethernetа называется множественным доступом с контролем несущей и обнаружением коллизий(CSMA/CD). Она является CSMA, так как несколько машин могут получить доступ к Ethernetу одновременно, и каждая машина определяет, занят ли Е-кабель, по наличию несущей в нем. Когда интерфейс компьютера имеет пакет, который нужно передать, он слушает Е-кабель, чтобы узнать, передается ли уже чье-то сообщение(т.е. определяет наличие несущей). Когда передачи не обнаружено, интерфейс компьютера начинает передачу. Каждая передача ограничена в своей продолжительности(так как существует максимальный размер пакета). Более того, оборудование должно делать небольшие паузы между передачами пакетов, чтобы не получилось так, что сеть используется одной парой машин, и чтобы другие машины тоже имели возможность доступа к сети.

2.4.2 Обнаружение коллизий и восстановление

Когда трансивер начинает передачу, сигнал не достигает всех частей сети одновременно. На самом деле он передается по кабелю со скоростью, составляющей примерно 80% от скорости света. Поэтому возможна ситуация, когда два трансивера могут определить, что сеть незанята, и одновременно начать передачу. Когда два электрических сигнала передаются одновременно, они перемешиваются, в результате чего оба становятся искаженными. Такие события называются коллизиями.

Ethernet обрабатывает коллизии оригинальным способом. Каждый трансивер следит за состоянием кабеля, когда он передает , чтобы узнать, когда другой сигнал помешал его передаче. На техническом языке такое слежение называется обнаружением коллизий и делает Ethernet сетью CSMA/CD. Когда коллизия обнаружена, интерфейс ЭВМ аварийно завершает передачу, ждет конца работы других станций и снова пытается повторить передачу. При этом нужно соблюдать осторожность, иначе сеть может оказаться перегруженной трансиверами, впустую пытающимися передавать, причем каждая передача будет приводить к коллизии. Чтобы избежать таких ситуаций, Ethernet использует стратегию двоичной экспоненциальной задержки, при которой отправитель ждет случайное время после первой коллизии, в два раза дольше, если вторая попытка передать, также привела к коллизии, в четыре раза дольше, если третья попытка привела к коллизии, и так далее. Идея, лежащая в основе экспоненциальной задержки, заключается в том, что при коллизии возможно, что большое число станций будет пытаться передавать одновременно и может возникнуть большие помехи для траффика. При таких помехах существует большая вероятность того, что две станции выберут похожие времена задержки. Поэтому вероятность того, что возникнет новая коллизия, велика. С помощью удвоения случайного времени задержки стратегия экспоненциальной задержки быстро распределяет попытки повторной передачи станций на достаточно большой промежуток времени, что делает вероятность дальнейших коллизий крайне маленькой.

2.4.3 Пропускная способность Ethernet'а

Стандартный Ethernet работает со скоростью 10 Мбит/с, что означает, что данные могут передаваться по кабелю со скоростью 10 миллионов бит в секунду. Хотя многие современные компьютеры могут генерировать данные со скоростью Ethernetа, реальную скорость сети не следует представлять как скорость, с которой два компьютера обмениваются данными. На самом деле скорость сети является мерой пропускной способности общего траффика сети. Представьте сеть в виде высокоскоростной магистрали(highway), соединяющей группу городов. Высокие скорости при движении по магистрали означают, что она может выдержать большую загрузку траффиком, а низкие скорости - что эта магистраль не может выдержать большой объем траффика. Ethernet со скоростью 10 Мбит/с, например, может выдержать несколько компьютеров, генерирующих высокоскоростной траффик или большое число компьютеров, генерирующих медленный траффик.

2.4.4 Вариации Ethernet'а

Последние достижения в технологии сделали возможным создание Ethernetа, который нуждается в электрической изоляции коаксиального кабеля. Называемая Ethernet - витая пара, эта технология позволяет обычному Ethernetу со скоростью 10 Мбит/c передаваться по паре медных проводов, во многом похожих на те, которые используются для соединения телефонов. Преимущество использования витой пары состоит в том, что она дешевле и позволяет многим группам использовать существующие кабеля вместо установки новых.

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

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

Производители рабочих станций обнаружили, что Ethernet-тонкий кабель особенно привлекателен из-за того, что они могут интегрировать Ethernet-овское оборудование в одноплатные компьютеры и смонтировать BNC-разъемы прямо в задней стенке машины. Не требуя специальных средств, BNC-разъемы делают возможным для пользователей присоединение их рабочих станций к Ethernet-у. Конечно, предоставление пользователям возможности добавлять их машины к сетям имеет свои недостатки. Это означает, что сеть будет чувствительной к разъединениям, неправильным соединениям кабелей, и другим ошибкам. Но в большинстве случаев преимущества перевешивают недостатки.

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

2.4.5 Адресация Ethernet'а

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

Чтобы позволить компьютеру определить, какие пакеты назначены ему, каждому компьютеру, соединенному с Ethernet-ом, назначено 48-битовое число, называемое Ethernet-овским адресом. Производители оборудования для Etherneta приобретают блоки адресов Ethernetа и последовательно назначают эти адреса производимым ими интерфейсам для Ethernetа(Институт Инженеров по Электротехнике и Радиотехнике(IEEE) управляет адресным пространством Ethernetа и назначает адреса по мере необходимости). Поэтому никакие два интерфейса не будут иметь одинаковый адрес Ethernetа.

Обычно Ethernet-овский адрес фиксируется в оборудовании интерфейса компьютера. Так как адреса Ethernetа принадлежат аппаратным устройствам, то они иногда называются аппаратными адресами или физическими адресами. Отметим следующее важное свойство физических адресов Ethernetа:

Физические адреса связаны с интерфейса Ethernetа; установка интерфейса на новую машину или замена неисправного интерфейса изменяет его физический адрес.

Зная, что физические адреса Ethernetа могут меняться, легко понять, почему более высокие уровни сетевого математического обеспечения согласованы с такими изменениями. 48-битовый адрес Ethernetа не только определяет отдельный аппаратный интерфейс. Он может принадлежать одному из трех типов:

По соглашению широковещательный адрес(все единицы) зарезервирован для одновременной посылки всем станциям. Групповые адреса обеспечивают ограниченную форму широковещания, при которой группа компьютеров в сети согласна отвечать на групповой адрес. Каждый компьютер в такой группе может получать сообщения одновременно с другими компьютерами этой группы, при этом остальные машины в сети ничего не получают.

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

2.4.6 Формат кадра Ethernet'а

Ethernet можно представлять как соединение канального уровня между машинами. Поэтому имеет смысл рассматривать передаваемые данные как кадры(фреймы)(Термин фрейм (граница) ведет свое происхождение от передачи по последовательным линиям, в которых отправитель определял границы данных, добавляя специальные символы перед и после передаваемых данных). Кадры Ethernetа имеют переменную длину в пределах от 64 октетов(октетом называется блок из 8 бит, чаще называемый байтом) до 1518 октетов (заголовок, данные, ЦКС). Как и во всех сетях с коммутацией пакетов, кадр должен идентифицироваться свое назначение. Рисунок 2.5 показывает формат кадра Ethernetа, который содержит физический адрес отправителя, а также физический адрес получателя.

Помимо идентификации отправителя и получателя, каждый кадр, передаваемый по Ethernetу, содержит преамбулу, поле типа, поле данных и циклическую контрольную сумму(CRC) или ЦКС. Преамбула состоит из 64 битовой последовательности 1 и 0 и служит для облегчения синхронизации при приеме. 32-битовая ЦКС помогает интерфейсу обнаружить ошибки передачи: отправитель вычисляет ЦКС как функцию от данных, передаваемых в кадре, а получатель заново вычисляет ЦКС для того, чтобы быть уверенным в том, что пакет принят без ошибок.

Поле типа кадра содержит 16-битовое целое число, которое идентифицирует тип данных, передаваемых в кадре. С точки зрения Интернета поле типа кадра очень важно, так как это означает, что кадры Ethernetа являются самоидентифицирующимися. Когда кадр приходит на данную машину, операционная система использует тип кадра, чтобы определить, какой программный модуль обработки протоколов должен обработать это кадр. Главные преимущества самоидентифицирующихся кадров заключаются в том, что они позволяют одновременно использовать несколько протоколов на одной машине и в том, что они позволяют нескольким протоколам смешиваться при работе в одной физической сети. Например, кто-то может иметь прикладную программу, использующую Интернетовские протоколы, а кто-то использовать локальный экспериментальный протокол. Операционная система будет определять, кому послать приходящие пакеты, основываясь на значении поля типа кадра. Мы увидим, что протоколы TCP/IP используют самоидентифицирующиеся кадры Ethernetа для выделения себя среди других протоколов.


               адрес      адрес     тип 

  преамбула получателя отправителя кадра    данные       ЦКС  

  ---------------------------------------------------------------

 | 64 бита |  48 бит  |   48 бит  |16 бит|368-12000 бит| 32 бита|

  ---------------------------------------------------------------

Рисунок 2.5 Формат кадра(пакета) в том виде, в котором он передается по Ethernetу. Размеры полей не соотносятся друг с другом.

2.4.7 Мосты(bridges) и их важность

Мы уже рассматривали использование Ethernet-овских повторителей как одну из технологий расширения физического Ethernetа до нескольких физических кабельных сегментов. Хотя повторители как способ расширения были популярны много лет тому назад, многие теперь используют мосты для соединения сегментов. В отличие от повторителя, который повторяет электрические сигналы, мост повторяет пакеты. Фактически мост - это быстрый компьютер с двумя интерфейсами Ethernetа и фиксированной программой. Мост работает с обоими интерфейсами Ethernetа в режиме "без разбора", то есть интерфейсы перехватывают все корректные пакеты, появляющиеся в Ethernetах, к которым они присоединены, и предоставляют их процессору моста. Если мост соединяет два Ethernetа, Е1 и Е2, то программное обеспечение берет каждый пакет, полученный из Е1 и передает его в Е2, и наоборот.

Мосты являются более передовыми по отношению к повторителям, так как они не повторяют шум, ошибки, или испорченные кадры; должны быть получены полностью корректные кадры, чтобы они были продублированы. Более того, интерфейсы мостов следуют правилам CSMA/CD Ethernetа, поэтому коллизии и паузы при распространении в одном кабеле(сегменте) остаются изолированными от тех же явлений в других сегментах. В результате мостами может быть соединено почти любое число Ethernetов. Отметим, что мосты скрывают детали соединения: набор сегментов, связанных мостами, функционирует как один Ethernet. Компьютер может связываться с другими машинами через мосты, используя такие же аппаратные сигналы, как те, которыми он пользуется для связи в своем сегменте.

Большинство мостов не передают кадры с одного кабеля на другой: они принимают решения о том, какие кадры нужно передавать на другой сегмент, а какие нет. Такие мосты называются адаптивными, или обучающимися мостами. Адаптивный мост состоит из компьютера с двумя интерфейсами Ethernetа. Программное обеспечение адаптивного моста хранит два списка адресов, по списку для каждого интерфейса. Когда кадр приходит из Ethernetа Е1, адаптивный мост добавляет 48-битовый Ethernet-овский адрес отправителя в список, связанный с Е1. Аналогично, когда кадр приходит из Е2, мост добавляет адрес отправителя к списку, связанному с Е2. Поэтому, по прошествии некоторого времени адаптивный мост узнает, какие машины находятся в Е1, а какие в Е2.

После записи адреса отправителя кадра, адаптивный мост использует адрес получателя, чтобы определить, нужно ли передавать кадр в другой сегмент. Если список адресов показывает, что получатель находится в Ethernete, из которого прибыл кадр, то мост не передает этот кадр в другой сегмент. Если же получателя нет в списке адресов(т.е. получатель - это широковещательный или групповой адрес, или мост еще не знает местонахождение получателя), мост отправляет кадр в другой Ethernet.

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

Обобщим вышеизложенное:

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

С точки зрения TCP/IP, Ethernetы, связанные мостом, просто являются другой формой физического сетевого соединения. Важным моментом является то, что:

Так как соединение с помощью физических проводов, обеспечиваемое мостами и повторителями, прозрачно для машин, использующих Ethernet, мы будем представлять Ethernetы, связанные мостами, как одну физическую сетевую систему.

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

2.5 Технология Token Ring ProNET

ProNET-10 - это имя коммерческого сетевого продукта для ЛВС, который является интересной альтернативой Ethernetу. Основанный на сетевых исследованиях в университетах, и созданный Proteon Incorporated, proNET-10 состоит из пассивной кабельной системы, которая соединяет компьютеры. Как и Ethernet, низкоскоростная версия работает со скоростью 10 Мбит/с, ограничена короткими расстояниями, и требует, чтобы присоединяемые компьютеры имели активные интерфейсы с ЭВМ.

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

Хотя передача маркера может быть использована для шинных топологий типа Ethernetа, именно кольцевые топологии, такие, как та, что используется proNET-10, делают передачу маркера особенно простой, так как физические соединения определяют последовательность, в которой передается маркер. Главным является то, что данная машина не знает, кому она передает маркер. Мы вскоре увидим, почему циркуляция маркера, основанная на физическом порядке, важна, и как она может быть использована, чтобы сделать кольцо более надежным.

Чтобы понимать, как работает кольцо, нам нужно рассмотреть оборудование. Физически кольцевая сеть не является непрерывным кольцом - она состоит из соединений точка-точка между интерфейсами компьютеров сети. В каждом компьютере один провод передает входящие сигналы, а другой - выходящие сигналы. Концептуально каждый интерфейс компьютера работает в одном из трех режимов: режиме копирования, режиме передачи и режиме восстановления. Как показывает рисунок 2.6, первые два случая соответствуют нормальному режиму работы и отличаются наличием маркера у машины (в одном случае он есть, а в другом нет).


                          ___

         ----------------|<--|--------------|

         |               |___|              |

         |                     I1           |

        _|_                                _|_

   <---|-| | I2                           | A | I4

       |_V_|                              |_|_|

         |                                  |

         |                   I3             |

         |                _____             |

         |---------------|-| |-|------------|

                         |_|_|_|

                           | |

                           V A 

Рисунок 2.6 Сеть с маркерным кольцом, в которой интерфейс I3 находится в режиме передачи, владеет маркером и посылает пакет интерфейсу I2. Другие интерфейсы находятся в режиме копирования. Отправитель всегда получает обратно посланные им биты; другие интерфейсы выделяют копию пакета для компьютера, к которому они присоединены только в том случае, когда совпадают адреса.

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

Важно понимать, что ProNET-10 - это технология ЛВС, которая имеет маленькие паузы при передаче. Созданное на основе экранированного медного кабеля, это кольцо может охватывать самое большее несколько смежных зданий. При использовании оптоволоконного кабеля кольцо может охватывать большие расстояния(например, целый университетский городок). В любом случае задержки распространения являются маленькими. Как следствие, сигналы могут распространяться по всему кольцу и возвращаться отправителю так быстро, что начало пакета успевает вернуться тогда, когда отправитель еще продолжает передавать. Преимущество коротких пауз при распространении заключается в том, что станция может быстро определить, не разорвано ли кольцо. Она может также определить, не появились ли ошибки в пакете из-за электрических помех или неисправного оборудования где-либо в кольце. Мы рассмотрим обе эти особенности ниже.

2.5.1 Адресация ProNET-10

В отличие от Ethernetа, оборудование интерфейса proNET-10 не имеет фиксированных адресов, назначаемых производителем. Вместо этого каждый интерфейс поставляется с набором из 8 переключателей, которые позволяют системному администратору выбрать один из 255 возможных адресов(поэтому каждая сеть proNET-10 ограничена 255 машинами). Этот адрес должен быть выбран и установлен, используя физические переключатели на плате. Он не может быть быстро изменен, как только интерфейс установлен, а также не может быть изменен программно. Тем не менее, тот факт, что адрес является устанавливаемым, имеет два важных преимущества. Во-первых, это значит, что адреса proNET-10 могут иметь много меньший размер, чем адреса Ethernetа(8 бит вместо 48 бит). В-вторых, это значит:

Так как пользователи могут изменить адреса proNET-10 при установке плат, сетевой аппаратный адрес машины не нужно менять при замене оборудования интерфейса компьютера.

Конечно, то, что аппаратные адреса устанавливаемые, имеет и свой недостаток. В отличие от адресов Ethernetа, схема устанавливаемых адресов, используемая proNET-10, допускает конфликты адресов. Человек, устанавливающему адреса, должен быть уверен, что каждому интерфейсу в данном кольце назначен уникальный адрес от 0 до 254. Адрес из всех единиц(255) зарезервирован для широковещательного траффика. Как мы увидим позднее, при использовании proNET-10 с TCP/IP, тем, кто устанавливает адреса, следует избегать назначать компьютеру адрес ноль.

2.5.2 Формат кадра proNET-10

Рисунок 2.7 показывает формат кадра proNET-10. Длина полей указана в битах, так как сеть является биториентированной и не всегда выравнивает данные на границу байта. Оборудование сети требует, чтобы поле данных было целым числом октетов, облегчая передачу данных в память компьютера. Как и в Ethernetе, оборудование работает только с некоторыми полями в кадре; программное обеспечение работает с остальными полями и использует их. С точки зрения разработчика объединенной сети, это различие является несущественным.


  начало адрес  адрес     тип     данные     конец  четн. отказ

  сообщ. получ. отправ.  кадра    кадра      сообщ.

 ---------------------------------------------------------------

 |10 бит| 8 бит|8 бит  |24 бита|0-16352 бита|9 бит |1 бит|1 бит|

 --------------------------------------------------------------- 

Рисунок 2.7 Формат кадра proNET-10. Поля не масштабированы.

Каждый кадр начинается с поля начала сообщения, за которым следует два октета адресов отправителя и получателя. Поле типа кадра состоит из 3 октетов, но только первый сейчас используется; остальные два должны быть равны 0. Вслед за данными идет поле Конец Сообщения, один бит четности и бит отказа. Сразу за концом кадра может следовать другой кадр или маркер. Заметим, что как и Ethernet, proNET-10 является самоидентифицирующимся. В отличие от Ethernetа, который использует сложную 32-битовую ЦКС для поиска ошибок передачи, proNET-10 использует только один бит четности. Чтобы понять, почему нужен только один бит, вспомним, что proNET-10 - это технология ЛВС с маленькими паузами при распространении. Поэтому, отправитель принимает копию кадра во время передачи и может просто сравнить биты в копии и передаваемые биты, чтобы обнаружить изменения. Фактически бит четности не нужен, за исключением проверки бита отказа.

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

2.5.3 Восстановление маркера proNET-10.

Так как передача маркера полагается на то, что все компьютеры передают маркер другой машине, когда закончат передачу, авария на одном узле может остановить все кольцо. Предположим, например, что сбой или электрические помехи разрушили маркер. Если в кольцо не встроен механизм восстановления, вся передача будет прекращена. Для восстановления маркера при его потере на каждой станции proNET-10 запущены два таймера. Один таймер, называемый таймером флага, сбрасывается всякий раз, когда станция обнаруживает какую-либо передачу в кольце(т.е. кадр или маркер), а другой, называемый таймером маркера, сбрасывается всякий раз, когда появляется маркер. Если какой-либо из таймеров обнулился, когда станции нужно послать пакет, станция переходит в режим восстановления и в результате генерирует новый маркер для кольца. Дело в том, что в неработающем кольце маркер циркулирует постоянно. Поэтому таймер флага обнуляется быстро(после 3 мс), если в кольце не работает ни одна машина. Таймер маркера должен допускать передачу больших пакетов другими станциями, может быть даже всеми 255 станциями., поэтому он имеет гораздо большее время обнуления(400 мс). Кольцевые технологии, которые допускают большее число станций или более длинные пакеты, используют большее время обнуления(например, proNET-80 использует 700 мс). Обычно, первая станция, которая входит в режим восстановления, подразумевает, что она владеет маркером и передает пакет. Вслед за передачей пакета она передает маркер, как будто ничего не произошло. При передаче станция следит за кольцом, чтобы проверить полноту циркуляции пакета в кольце. Если пакет прошел кольцо без ошибок, то кольцо восстановлено и все начинает работать в обычном режиме. Если вдруг получится так(хотя это и маловероятно), что две станции одновременно попытаются передавать после разрыва кольца, они обнаружат ошибку, так как передаваемые ими пакеты не вернутся им обратно. Эти две станции подождут случайное время, а затем повторят попытку. Для гарантии, что они не будут ждать одинаковое количество времени, каждая станция использует время задержки, пропорциональное ее аппаратному адресу. Поэтому, если две станции начнут одновременно передавать пакеты, то только одна добьется успеха. Алгоритм восстановления как эффективен, так и надежен. Он гарантирует, что за несколько проходов кольца одна из станций примет решение, что она владеет маркером, а все остальные станции согласятся с этим.

2.5.4 Звездообразное кольцо proNET-10

На практике в большей части установок сети proNET-10 конфигурируются в виде звездообразных колец для повышения надежности. Идея состоит в том, чтобы использовать пассивный кабельный центр как концентратор(hub) в физической звездообразной топологии , несмотря на то что сеть логически работает как кольцо. Рисунок 2.8 иллюстрирует такое соединение.


                                       реле для ЭВМ 1

    кабельный центр     -------------  /

                        | интерфейс | /

              \         | для ЭВМ 1 |/

               \        ------A-----/

                \             |    /

                 \ ===========|===/========

                   |        --V--/        |

                   |   -----|R1 |<----|   |

   -------------   |   |    -----     |   |   -------------

   | интерфейс |   | --V--          ----- |   | интерфейс |

   | для ЭВМ 2 |<--->|R2 |          |R4 |<--->| для ЭВМ 4 |

   -------------   | -----          ----- |   -------------

                   |   |    -----     A   |

                   |   |--->|R3 |-----|   |

                   |        -----         |

                   ======================== 

Рисунок 2.8 Соединение трех ЭВМ через пассивный кабельный центр. Так как она не потребляет энергии, реле R3 просто передает через себя сигналы. Логически сеть является кольцом; физически - это звезда.

На этом рисунке реле R3 не потребляет энергии, так как оно подключено к ЭВМ. R3 замыкает кольцо и соединяет R2 с R4. Так как другие реле потребляют энергию, они соединяют соответствующие ЭВМ с кольцом. Поэтому электрический сигнал, посланный с ЭВМ 4 передается через реле R4 к реле R1, затем к интерфейсу ЭВМ 1 , обратно на реле R1, по реле R2 и так далее.

Этот кабельный центр не имеет активных компонент, но использует чувствительные реле, получающие питание по соединению с ЭВМ. ЭВМ обеспечивает небольшой постоянный ток для питания реле, а также сигналы, кодирующие данные, по одному многожильному кабелю. Электроника в кабельном центре отделяет переменный ток от постоянного. Пока машина включена, реле в кабельном центре делает ее присоединенной к кольцу. При отключении машины ток перестает течь в кабельный центр и соответствующее реле изменяет свое состояние, отсоединяя свою ЭВМ и соединяя другие машины в кольце. Поэтому сеть продолжает работать, даже если некоторые из присоединенных машин отключены(конечно, авария машины может остановить сеть на несколько миллисекунд, пока оставшиеся узлы восстанавливают маркер). Помимо надежности, данный производитель разработал интерфейс proNET-10 состоящим из двух плат, контроллера, который может работать в режиме копирования и восстановления маркера без помощи ЦП, и интерфейса с компьютером, который полагается на ЦП при чтении и записи пакетов. Использование этих двух плат изолирует остальную сеть от сбоев операционной системы на данной машине.

Назад | Содержание | Вперед