tanenbaum_seti_all.pages (525408), страница 74
Текст из файла (страница 74)
Эта стратегия больше напоминает протокол 5, нежели протокол 6. Туре = 2 означает йЕСЕ1НЕ йОТ йЕАОН (к приему не готов). При этом, как и в случае йЕСЕ!НЕ йЕАОН, нодтвсржластся прием всех кадров вплоть до №хт — 1, однако отправителю сообщается, что передачу следует приостановить. Сигнал неготовности к приему предназначен нс для использования в качестве альтернативы схеме скользящих окон, а для обозначения наличия у получателя каких-либо временных проблем, например отсутствия свободной памяти в буферах.
Когда получатель сможет продолжить работу, он пошлет сигнал готовности, отказа или другой управляющий кадр. Туре = 3 означает 5ЕСЕСТ1НЕ йЕОЕСТ (выборочный отказ). Такой байт представляет собой запрос повторной передачи только указанных кадров. В этом он больше похож на протокол 6, чем на протокол 5, н поэтому наиболее полезен, когда размер окна отправителя не превышает половины количества используемых порядковых номеров.
Таким образом, если получатель хочет сохранить в буфере несвоевременные кадры для последующего использования, оп может запросшь повторную передачу любого кадра с помощью 5ЕСЕСТ1НЕ йЕЛЕСТ. Протоколы НЕг(С и АЕ)ССР погшержнвают этот тнп кадра, а протоколы БПЕ.С и ЕАРВ— нет, то есть в этих протоколах нег команды выборочного отказа, а кадры типа 3 не используются. Третий класс кадров составляют ненумерованные кадры.
Иногда они применяются для служебных целей, но могут переносить н данные, когда требуется ненадежный, не требуюнпш' соединения сервис. В отличие от предыдуших двух классов, в которых различные бит-ориентированные протоколы были почти идентичными, в вопросе использования ненумерованных кадров они очень сильно различаются. Для обозначения типа кадра зарезервировано 5 бит, однако используются значительно мспьшс, чем 32 возможных комбинации. Примеры протоколов передачи данных 279 Все протоколы поддерживают команду О!5С (1)1БСоппесс — прервать связь), позволяюшую предупредить, что машина скоро булет выключена (например, для профилактического обслуживания), Также имеется команда, позволяющая машине, только что вернувшейся в подключенный режим (оп-!1пе), заявить о своем присутствии и принудительно обнулить все порядковые номера.
Эта команда называется 5лкй (Бес Хогша( Кезропзе Моде — установить нормальный режим ответа), К сожалению, этот «нормальный режимь является чем угодно, но не нормой. Это несбалансированный (то есть асимметричный) режим, при котором один конец линии является ведущим (шазгег), а другой — ведомым (з1аче). Команда ЯЖМ появилась еше в те времена, когда обмен данными означал общение примитивного терминала с компьютером, которое, конечно, было асимметричным. Чтобы лучше учитывать ситуацию равноправных партнеров, в протоколы Н111.С и 1 ЛРВ была добавлена команда ЯЛВМ (Ясг ЛзупсЬгопопз Ва!апсед Моде — установить асинхронный сбалансированный режим), которая инициализирует линию и объявляет равенство сторон.
Кроме того, в этих протоколах имеются дополнительные команды БАВМЕ и ЯНКМЕ, которые отличаются от БЛВМ и ЯХКМ только тем, что вводят расширенный формат кадров с 7-битовым порядковым номером вместо З-битового. Третьей командой, поддерживаемой всеми этими протоколами, является Гкнк (ГйаМе Ве)ест — отклонить кадр), применяюшаяся, когда приходит кадр с верной контрольной суммой, но недопустимой семантикой. Например, супервизорньгй кадр типа 3 в протоколе МАРВ, кадр длиной менее 32 бнт, недопустимый управляюший кадр или подтверждение кадра, находяшегося вне пределов окна и т.
д. Данные включают управляюшее поле неправильного кадра, параметры окна и набор битов, указывающих тип ошибки. Управляющие кадры могут быть повреждены или потеряны так жс, как и информационные кадры, поэтому нм также нужны подтверждения. Для этой цели предназначен специальный служебный кадр, называемый ()А (1)ппцшЬегег1 АсйпоМег1йетепс — ненумерованное подтверждение). Поскольку неполтвержленным может быть только один управляющий кадр, то не возникает вопроса о том, какой именно служебный кадр подтверждается. Остальные управляющие кадры занимаются инициализацией, опросом и сообщением состояния. Есть также управляюшнй кадр, который может солержать произвольную информацию, Ы (ПппцтЬегед 1п1огшаг1оп).
Эта информация це передастся па сетевой уровень, но получается и обрабатывается самим уровнем передачи данных. Несмотря на широкое распространение, протокол Н1)ЬС имеет большое количество недостатков. Обсуждение ряда проблем, связанных с этим протоколом, см. в (Р1ог1п1 и др., 1994). Уровень передачи данных в Интернете Интернет состоит из отдельных машин (хостов и маршрутизаторов) и связываюшей их коммуникационной инфраструктуры. В пределах одного здания лля соединения широко применяются локальные сети, но на больших территориях ин- 280 Глава 3. Уровень передачи данных фраструктура строится па основе выделенных линий, соединяющих отдельные машины по принципу «точка — точка». Локальные сети будут рассматриваться в главе 4, здесь же мы обсудим протоколы передачи ланных, используемые для линий «точка — точка» в Интернете.
На практике соединение «точка — точка» используется прежде всего в двух ситуациях. Во-псрвых, у тысяч организаций есть по одной или по несколько локальных сетей, в каждой из которых есть несколько хостов (персональных компьютеров, рабочих станций пользователя, серверов и т. д.) наряду с маршрутизаторами (или функционально близких к ним мостов). Маршрутизаторы часто соединяются магистральной локальной сетью. Обычно вся связь с внешним миром осуществляется через один или два маршрутизатора, связанных выделенными линиями «точка — точка» с удаленными маршрутизаторами. Именно эти маршрутизаторы вместе с вылеленными линиями образуют подсети, из которых состоит Интернет.
Еше одна важная роль, которую соединения «точка — точка» играют в Интернете, заключается в том, что они связывают миллионы индивидуальных пользователей с помощью модемов и телефонных линий. Обычно пользователь дозванивается со своего домашнего компьютера до поставщика услуг Интернета или, как его еше называют, провайдера, и работает как полноценный интернет-хост.
Этот метод отличается от использования выделенной линии между персональным компьютером и маршрутизатором только лишь тем, что, когда пользователь заканчивает сеанс связи, соединение прерывается. Домашний персональный компьютер, звонящий поставщику услуг Интернета, изображен на рис. ЗЛ9. Модем показан в данном случае как внешнее устройство, однако современные компьютеры могут быть укомплектованы н внутренними модемами. Офис поставщика услуг Интернета Дом пользователя , Пер к Маршрутизатор Процесс маршрутизации Рис. 3.! В.
домашний персональный компьютер, действующий как хост Интернета Как для соединения двух маршрутизаторов по выделенной линии, так и для соединения маршрутизатора с хостом требуется протокол, который бы занимался формированием кадров, обработкой ошибок и другими функциями уровня передачи данных, рассматривавшимися в данной главе. Одним из таких про- Примеры протоколов передачи данных 281 токолов, широко распространенным в Интернете, является РРР. Рассмотрим его.
РРР— протокол двухточечного соединения В Интернете двухточечные протоколы применяются очень часто в самых разных случаях, включая обеспечение соединения между маршрутизаторами, между пользователями и провайдерами. Обсуждаемый далее протокол называется РРР (Ро!пС-Го-Ро!пс Рготосо) — протокол передачи от точки к точке), описан в йРС 1661 и доработан в некоторых более поздних документах КРС (например, КРС 1662 и 1663).
Протокол РРР выполняет обнаружение ошибок, поддерживает несколько протоколов, позволяет динамически изменять 1Р-адреса во время соединения, разрешает аутентификацию, а также имеет ряд других свойств. Протокол РРР обеспечивает следующий набор методов: 1. Метод формирования кадров, однозначно обозначающий конец одного кадра и начало следующего. Формат кадров также обеспечивает обнаружение ошибок.
2. Протокол управления каналом, позволяющий устанавливать каналы связи, тестировать их, договариваться о параметрах их использования н снова отключать их, когда они не нужны. Этот протокол называется ЕСР (1!пк Сопгго1 Ргогосо!). Он поддерживает синхронные и асинхронные линии, бит- и байт- ориентированное кодирование. 3. Способ договориться о параметрах сетевого уровня, который не зависит от используемого протокола сетевого уровня.
Для каждого поддерживаемого сетевого уровня этот метод должен иметь свой сетевой протокол управления (ХСР, Хега огк Сопгго! Рготосо!). Чтобы посмотреть, как все это работает вместе, рассмотрим типичный сценарий, когда домашний пользователь звонит поставщику услуг Интернета, чтобы превратить тем самым свой домашний компьютер во временный хост. Сначала персональный компьютер звонит через модем на маршрутизатор провайдера.
После того, как,модем маршрутизатора ответит на звонок и установит физическое соединение, персональный компьютер посылает маршрутизатору серию ЕСР-пакетов в поле данных пользователя одного или нескольких РРР-кадров. Эти пакеты и ответы на них определяют параметры протокола РРР. После того как обе стороны согласовывают параметры, посылается серия ХСР- пакетов для настройки сетевого уровня. Обычно персональный компьютер желает запустить стек протоколов ТСР/1Р, для чего ему нужен 1Р-адрес.
На всех пользователей 1Р-адресов не хватает, поэтому обычно у каждого поставщика услуг Интернета имеется целый набор таких адресов, и он динамически назначает их каждому присоединившемуся персональному компьютеру на время сеанса связи. Если у провайдера есть и 1Р-адресов, он может одновременно подключить к Интернету до п машин, однако общее количество его клиентов может быть во много рзз больше. Для назначения 1Р-адреса используется протокол ХСР для 1Р. После этого персональный компьютер фактически становится хостом Интернета и может посылать и принимать 1Р-пакеты так же, как и постоянные хосты.