Emilsson Magazine. Обо всём, кроме политики. Как подключить интернет через PPPoE и что это такое. Наиболее важные особенности

Этот протокол разработан группой IETF (Internet Engineering Task Force) как часть стека TCP/IP для передачи кадров информации по последовательным глобальным каналам связи взамен устаревшего протокола SLIP (Serial Line IP). Протокол PPP стал фактическим стандартом для глобальных линий связи при соединении удаленных клиентов с серверами и для образования соединений между маршрутизаторами в корпоративной сети. При разработке протокола PPP за основу был взят формат кадров HDLC и дополнен собственными полями. Поля протокола PPP вложены в поле данных кадра HDLC. Позже были разработаны стандарты, использующие вложение кадра PPP в кадры frame relay и других протоколов глобальных сетей.

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

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

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

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

Протокол, в соответствии с которым принимаются параметры соединения, называется протоколом управления связью (Link Control Protocol, LCP) . Протокол, который позволяет конечным узлам договориться о том, какие сетевые протоколы будут передаваться в установленном соединении, называется протоколом управления сетевым уровнем (Network Control Protocol, NCP) . Внутри одного РРР - соединения могут передаваться потоки данных различных сетевых протоколов.


Одним из важных параметров РРР - соединения является режим аутентификации. Для целей аутентификации РРР предлагает по умолчанию протокол РАР (Password Authentication Protocol), передающий пароль по линии связи в открытом виде, или протокол CHAP (Challenge Handshake Authentication Protocol), не передающий пароль по линии связи и поэтому обеспечивающий большую безопасность сети. Пользователям также разрешается добавлять и новые алгоритмы аутентификации. Дисциплина выбора алгоритмов компрессии заголовка и данных аналогична.

Многопротокольная поддержка - способность протокола РРР поддерживать несколько протоколов сетевого уровня - обусловила распространение РРР как стандарта де-факто. В отличие от протокола SLIP, который может переносить только IP-пакеты, или LAP-B, который может переносить только пакеты Х.25, РРР работает со многими протоколами сетевого уровня, включая IP, Novell IPX, AppleTalk, DECnet, XNS, Banyan VINES и OSI, а также протоколами канального уровня локальной сети. Каждый протокол сетевого уровня конфигурируется отдельно с помощью соответствующего протокола NCP. Под конфигурированием понимается, во-первых, констатация того факта, что данный протокол будет использоваться в текущей сессии РРР, а во-вторых, переговорное утверждение некоторых параметров протокола. Больше всего параметров устанавливается для протокола IP - IP-адрес узла, IP-адрес серверов DNS, использование компрессии заголовка IP-пакета и т. д. Протоколы конфигурирования параметров соответствующего протокола верхнего уровня называются по имени этого протокола с добавлением аббревиатуры СР (Control Protocol), например протокол IPCP, IPXCP и т. п.

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

Независимость от глобальных служб . Начальная версия РРР работала только с кадрами HDLC. Теперь в стек РРР добавлены спецификации, позволяющие использовать РРР в любой технологии глобальных сетей, например ISDN, frame relay, Х.25, Sonet и HDLC.

Переговорная процедура протоколов LCP и NCP может и не завершиться соглашением о каком-нибудь параметре. Если, например, один узел предлагает в качестве MTU значение 1000 байт, а другой отвергает это предложение и в свою очередь предлагает значение 1500 байт, которое отвергается первым узлом, то по истечении тайм-аута переговорная процедура может закончиться безрезультатно.

Возникает вопрос - каким образом два устройства, ведущих переговоры по протоколу РРР, узнают о тех параметрах, которые они предлагают своему партнеру? Обычно у реализации протокола РРР есть некоторый набор параметров по умолчанию, которые и используются в переговорах. Тем не менее каждое устройство (и программа, реализующая протокол РРР в операционной системе компьютера) позволяет администратору изменить параметры по умолчанию, а также задать параметры, которые не входят в стандартный набор. Например, IP-адрес для удаленного узла отсутствует в параметрах по умолчанию, но администратор может задать его для сервера удаленного доступа, после чего сервер будет предлагать его удаленному узлу.

Хотя протокол РРР и работает с кадром HDLC, но в нем отсутствуют процедуры контроля кадров и управления потоком протокола HDLC. Поэтому в РРР используется только один тип кадра HDLC - ненумерованный информационный. В поле управления такого кадра всегда содержится величина 03. Для исправления очень редких ошибок, возникающих в канале, необходимы протоколы верхних уровней - TCP, SPX, NetBUEl, NCP и т. п.

Одной из возможностей протокола РРР является использование нескольких физических линий для образования одного логического канала, так называемый транкинг каналов. Эту возможность реализует дополнительный протокол, который носит название MLPPP (Multi Link РРР). Многие производители поддерживают такое свойство в своих маршрутизаторах и серверах удаленного доступа фирменным способом. Использование стандартного способа всегда лучше, так как он гарантирует совместимость оборудования разных производителей.

Общий логический канал может состоять из каналов разной физической природы. Например, один канал может быть образован в телефонной сети, а другой может являться виртуальным коммутируемым каналов сети frame relay.

PPP (сетевой протокол)

PPP (англ. Point-to-Point Protocol ) - двухточечный протокол канального уровня (Data Link) сетевой модели OSI . Обычно используется для установления прямой связи между двумя узлами сети, причем он может обеспечить аутентификацию соединения, шифрование (с использованием ECP, RFC 1968) и сжатие данных. Используется на многих типах физических сетей: нуль-модемный кабель, телефонная линия, сотовая связь и т. д.

Часто встречаются подвиды протокола PPP такие, как Point-to-Point Protocol over Ethernet (PPPoE), используемый для подключения по Ethernet, и иногда через DSL; и Point-to-Point Protocol over ATM (PPPoA), который используется для подключения по ATM Adaptation Layer 5 (AAL5), который является основной альтернативой PPPoE для DSL .

PPP представляет собой целое семейство протоколов: протокол управления линией связи (LCP), протокол управления сетью (NCP), протоколы аутентификации (PAP , CHAP), многоканальный протокол PPP (MLPPP).

Основные характеристики

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

Автоматическая настройка

После того, как соединение было установлено, поверх него может быть настроена дополнительная сеть. Обычно, используется Internet Protocol Control Protocol (IPCP), хотя Internetwork Packet Exchange Control Protocol (IPXCP) и AppleTalk Control Protocol (ATCP) были когда-то популярны. Internet Protocol Version 6 Control Protocol (IPv6CP) получит большее распространение в будущем, когда IPv6 заменит IPv4 как основной протокол сетевого уровня.

Многопротокольная поддержка

PPP позволяет работать нескольким протоколам сетевого уровня на одном канале связи. Другими словами, внутри одного PPP-соединения могут передаваться потоки данных различных сетевых протоколов ( , Novell IPX и т. д.), а также данные протоколов канального уровня локальной сети. Для каждого сетевого протокола используется Network Control Protocol (NCP) который его конфигурирует (согласовывает некоторые параметры протокола).

Обнаружение закольцованных связей

PPP обнаруживает закольцованные связи, используя особенность, включающую magic numbers. Когда узел отправляет PPP LCP сообщения, они могут включать в себя магическое число. Если линия закольцована, узел получает сообщение LCP с его собственным магическим числом вместо получения сообщения с магическим числом клиента.

Наиболее важные особенности

  • Link Control Protocol устанавливает и завершает соединения, позволяя узлам определять настройки соединения. Также он поддерживает и байто-, и бито-ориентированные кодировки.
  • Network Control Protocol используется для определения настроек сетевого уровня, таких как сетевой адрес или настройки сжатия, после того как соединение было установлено.

Конфигурационные опции PPP

Так как в PPP входит LCP протокол, то можно управлять следующими LCP параметрами:

  • Аутентификация . RFC 1994 описывает Challenge Handshake Authentication Protocol (CHAP), который является предпочтительным для проведения аутентификации в PPP, хотя Password Authentication Protocol (PAP) иногда еще используется. Другим вариантом для аутентификации является Extensible Authentication Protocol (EAP).
  • Сжатие . Эффективно увеличивает пропускную способность PPP соединения, за счет сжатия данных в кадре. Наиболее известными алгоритмами сжатия PPP кадров являются Stacker и Predictor.
  • Обнаружение ошибок . Включает Quality-Protocol и помогает выявить петли обратной связи посредством Magic Numbers RFC 1661 .
  • Многоканальность . Multilink PPP (MLPPP, MPPP, MLP) предоставляет методы для распространения трафика через несколько физических каналов, имея одно логическое соединение. Этот вариант позволяет расширить пропускную способность и обеспечивает балансировку нагрузки.

PPP кадр

Каждый кадр PPP всегда начинается и завершается флагом 0x7E. Затем следует байт адреса и байт управления, которые тоже всегда равны 0xFF и 0x03 соответственно. В связи с вероятностью совпадения байтов внутри блока данных с зарезервированными флагами, существует система автоматической корректировки «проблемных» данных с последующим восстановлением.

Поля «Флаг», «Адрес» и «Управление» (заголовок кадра HDLC) могут быть опущены и не передаваться, но это если PPP в процессе конфигурирования (используя LCP), договорится об этом. Если PPP инкапсулирован в L2TP -пакеты, то поле «Флаг» не передается.

Тип кадра данных в PPP

Поле «Данные», PPP кадра, в свою очередь разбиты ещё на два поля: флаг протокола (который определяет тип данных до конца кадра), и сами данные.

  • Флаги протокола от 0x0XXX до 0x3XXX идентифицируют протоколы сетевого уровня. Например, популярному протоколу соответствует флаг 0x0021, а Novell IPX - 002B.
  • Флаги протокола от 0x4XXX до 0x7XXX идентифицируют протоколы с низким уровнем трафика.
  • Флаги протокола от 0x8XXX до 0xBXXX идентифицируют протокол управления сетью (NCP).
  • Флаги протокола от 0xCXXX до 0xEXXX идентифицируют управляющие протоколы. Например, 0xC021 обозначает, что кадр содержит данные протокола управления соединением LCP .

Активации канала PPP и его фазы

Фазы PPP по RFC 1661 указаны ниже:

  • Link Dead . Эта фаза наступает, когда связь нарушена, либо одна из сторон указала не подключаться (например, пользователь завершил модемное соединение.)
  • Link Establishment Phase . В данной фазе проводится настройка Link Control. Если настройка была успешной, управление переходит в фазу аутентификации, либо в фазу Network-Layer Protocol, в зависимости от того, требуется ли аутентификация.
  • Authentication Phase . Данная фаза является необязательной. Она позволяет сторонам проверить друг друга перед установкой соединения. Если проверка успешна, управление переходит в фазу Network-Layer Protocol.
  • Network-Layer Protocol Phase . В данной фазе вызывается NCP для желаемого протокола. Например, IPCP используется для установки IP сервисов. Передача данных по всем успешно установленным протоколам также проходит в этой фазе. Закрытие сетевых протоколов тоже включается в данную фазу.
  • Link Termination Phase . Эта фаза закрывает соединение. Она вызывается в случае ошибок аутентификации, если было настолько много ошибок контрольных сумм, что обе стороны решили закрыть соединение, если соединение неожиданно оборвалось, либо если пользователь отключился. Данная фаза пытается закрыть все настолько аккуратно, насколько возможно в данных обстоятельствах.

Документы RFC

Протокол PPP определен в RFC 1661 (The Point-to-Point Protocol, июль 1994). Ряд соответствующих RFC, были написаны чтобы определить, как различные сетевые протоколы, включая TCP/IP , DECnet, AppleTalk , IPX и другие, работают с PPP.

  • RFC 1661 , Standard 51, Протокол точка-точка (PPP)
  • RFC 1662 , Standard 51, Использование HDLC в разработке PPP
  • RFC 5072 , IPv6 и PPP

Примечания

См. также

  • PLIP (англ.) русск.
  • Authentication (Аутентификация). Соединённые маршрутизаторы обмениваются сообщениями проверки подлинности. Доступны два варианта аутентификации: на основе протокола PAP и на основе протокола CHAP.
  • Compression (Сжатие). Эта функция повышает эффективную пропускную способность подключений PPP, уменьшая объём данных в кадре, передаваемом по каналу. Протокол распаковывает кадр в месте назначения. На маршрутизаторах Cisco доступно два протокола сжатия: Stacker и Predictor.
  • Error detection (Обнаружение ошибок) . Эта функция определяет состояния сбоя. Параметры Quality и Magic Number способствуют обеспечению надёжного беспетлевого канала передачи данных. Поле Magic Number используется для обнаружения каналов, в которых возникла петля. До тех пор, пока не будет успешно завершено согласование параметра настройки Magic-Number, должно передаваться нулевое значение этого параметра. Значения параметра Magic-Number генерируются случайным образом на каждом конце подключения.
  • PPP Callback (Обратный вызов PPP) . Обратный вызов PPP используется для повышения безопасности. При использовании этого параметра протокола LCP маршрутизатор Cisco может работать как клиент или сервер обратного вызова. Клиент выполняет начальный вызов, запрашивает у сервера обратный вызов и завершает начальный вызов. Маршрутизатор обратного вызова отвечает на начальный вызов и выполняет ответный вызов клиента на основе команд настройки. Используется команда ppp callback [ accept | request ] .

После настройки параметров соответствующее значение поля вставляется в поле параметра протокола LCP.

Команды базовой настройки PPP

Запуск PPP на интерфейсе

Для настройки PPP в качестве метода инкапсуляции, используемого последовательным интерфейсом, служит команда настройки интерфейсаencapsulation ppp .

В следующем примере активируется инкапсуляция PPP на интерфейсе serial 0/0/0.

R3# configure terminal

R3(config)# interface serial 0/0/0

R3(config-if)# encapsulation ppp

У команды encapsulation ppp нет аргументов. Помните, что если на маршрутизаторе Cisco не настроена инкапсуляция PPP, то по умолчанию для последовательных интерфейсов будет использоваться инкапсуляция HDLC.

На рисунке показаны маршрутизаторы R1 и R2, настроенные на использование на последовательных интерфейсах как адреса IPv4, так и адреса IPv6. PPP является инкапсуляцией уровня 2, поддерживающей различные протоколы уровня 3 протокола, включая IPv4 и IPv6.

Команды сжатия PPP

Настроить в протоколе «точка-точка» программное сжатие на последовательных интерфейсах можно после активирования инкапсуляции PPP. Поскольку в этом режиме вызывается процесс сжатия программным способом, он может повлиять на производительность системы. Если трафик уже состоит из сжатых файлов, таких как.zip, .tar или.mpeg, этой возможностью не следует пользоваться. На рисунке показан синтаксис командыcompress .

Для настройки сжатия при передаче по протоколу PPP введите следующие команды.

R3(config)# interface serial 0/0/0

R3(config-if)# encapsulation ppp

R3(config-if)# compress [ predictor | stac ]

Команда мониторинга качества канала PPP

Помните, что LCP обеспечивает дополнительный этап определения качества канала. На этом этапе LCP проверяет канал, чтобы определить, является ли качество канала достаточным для использования протоколов уровня 3.

Команда ppp quality percentage обеспечивает соответствие канала установленному требованию к качеству; в противном случае канал закрывается.

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

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

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

R3(config)# interface serial 0/0/0

R3(config-if)# encapsulation ppp

R3(config-if)# ppp quality 80

Для отключения средства LQM используется команда no ppp quality .

Команды многоканального протокола PPP

Многоканальный протокол PPP (обозначается также MP, MPPP, MLP или Multilink) предоставляет метод распределения трафика между несколькими физическими каналами WAN. Многоканальный протокол PPP обеспечивает также фрагментацию и повторную сборку пакетов, надлежащее упорядочивание, возможность использования оборудования различных поставщиков и распределение нагрузки входящего и исходящего трафика.

MPPP позволяет фрагментировать пакеты и отправлять эти фрагменты одновременно по нескольким каналам «точка-точка» по одному и тому же удалённому адресу. В ответ на определённое пользователем пороговое значение нагрузки открываются несколько физических каналов. MPPP может измерить нагрузку только во входящем трафике или только в исходящем трафике, но не общую нагрузку обоих трафиков.

Настройка MPPP выполняется в два шага (см. рисунок).

Шаг 1. Создание многоканальной группы.

  • Многоканальный интерфейс создаётся командой interface multilink number .
  • В режиме настройки интерфейса многоканальному интерфейсу назначается IP-адрес. В этом примере как адрес IPv4, так и адрес IPv6 настроены на маршрутизаторах R3 и R4.
  • На интерфейсе запускается многоканальный PPP.
  • Интерфейсу назначается номер многоканальной группы.

Шаг 2. Назначение интерфейсов многоканальной группе.

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

  • Активируется инкапсуляция PPP.
  • Активируется многоканальный PPP.
  • Производится привязка к группе посредством указания номера группы, настроенного в действии 1.

Для отключения многоканального PPP используется команда no ppp multilink .

Проверка настройки PPP

Для проверки правильности настройки инкапсуляции HDLC или PPP используется команда show interfaces serial . В выходных данных команды отображается настройка PPP (см. рис.).

После настройки HDLC в выходных данных команды show interfaces serial должна отобразиться строкаencapsulation HDL C . Если настроен протокол PPP, должны отобразиться также состояния протоколов LCP и NCP. Обратите внимание, что протоколы управления сетью IPCP и IPV6CP открыты для IPv4 и IPv6, поскольку на маршрутизаторах R1 и R2 установлены и адреса IPv4, и адреса IPv6.

На рис. показан список команд для проверки PPP.

Команда show ppp multilink проверяет, активирован ли многоканальный протокол PPP на R3 (см. рис. 3).

В выходных данных отражены интерфейс Multilink 1, имена узлов локальной и удалённой оконечных точек и последовательные интерфейсы, включённые в многоканальную группу.

Аутентификация PPP

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

Протокол PAP (Password Authentication Protocol, «протокол аутентификации по паролю») - это очень простой двухэтапный процесс. В нём не используется шифрование. Имя пользователя и пароль отправляются в незашифрованном виде. При их получении разрешается установка подключения. У протокола CHAP (Challenge Handshake Authentication Protocol, «протокол аутентификации с запросом») более высокий уровень защиты, чем у PAP. В нём применяется трёхэтапный обмен совместно используемым секретным ключом.

Этап проверки подлинности сеанса PPP не является обязательным. Если он используется, собеседник проходит проверку подлинности после того, как LCP устанавливает канал и выбирает протокол аутентификации. Если он используется, проверка подлинности выполняется до начала этапа настройки протокола сетевого уровня.

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

Password Authentication Protocol (PAP)

Одна из многих функций протокола PPP состоит в выполнении аутентификации уровня 2 в дополнение к проверке подлинности, шифрованию, управлению доступом и общим процедурам обеспечения безопасности на других уровнях.

Инициализация PAP

Протокол PAP предоставляет простой метод подтверждения узла путём двухэтапного «рукопожатия». PAP - не интерактивный протокол. Если используется команда ppp authentication pap , имя пользователя и пароль можно отправить в виде одного пакета данных LCP вместо отправки сервером запроса на ввод имени для входа и ожидания ответа, как показано на рис. 1. После того, как PPP выполнит этап установления подключения, удалённый узел повторно отправляет пару имя пользователя-пароль по каналу до тех пор, пока принимающий узел не подтвердит её или не завершит подключение.

Завершение PAP

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

PAP не является сильным протоколом аутентификации. С помощью РАР пароли отправляются в незашифрованном виде, так что защита от атак повторной передачи или повторяющихся атак методом проб и ошибок отсутствует. Удалённый узел управляет частотой и временем попыток входа в сеть.

Тем не менее, существуют ситуации, в которых использование PAP оправдано. Например, несмотря на свои недостатки, PAP можно использовать в следующих условиях.

  • Большой парк установленных клиентских приложений, которые не поддерживают протокол CHAP
  • Несовместимость между реализациями CHAP от различных поставщиков

Инкапсуляция и процесс аутентификации PPP

Схема на рис. поясняет процесс аутентификации PPP при выполнении настройки PPP. На схеме приведён визуальный пример логики принятия решений протоколом PPP.

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

Проследите за этапами на рис., чтобы ознакомиться с процессом установления маршрутизатором R1 прошедшего аутентификацию CHAP подключения РРР к маршрутизатору R2.

Шаг 1. Сначала R1 с использованием LCP выполняет согласование подключения канала с маршрутизатором R2, и две системы договариваются использовать аутентификацию CHAP во время согласования PPP LCP.

Шаг 2. R2 генерирует идентификатор и случайное число, затем отправляет маршрутизатору R1 эти данные и своё имя пользователя в качестве контрольного пакета CHAP.

Шаг 3. Маршрутизатор R1 использует имя пользователя претендента (R2) и на основе этого имени с помощью перекрёстных ссылок ищет соответствующий пароль в своей локальной базе данных. Затем R1 генерирует хэш-код MD5, используя имя пользователя маршрутизатора R2, идентификатор, случайное число и совместно используемый секретный пароль. В этом примере совместно используемый секретный пароль - boardwalk.

Шаг 4. Затем маршрутизатор R1 передает маршрутизатору R2 идентификатор контрольного пакета, значение хэш-кода и своё имя пользователя (R1).

Шаг 5. R2 генерирует своё собственное значение хэш-кода с использованием идентификатора, совместно используемого секретного пароля и случайного числа, изначально отправлявшегося маршрутизатору R1.

Шаг 6. R2 сравнивает своё значение хеш-кода со значением, отправленным маршрутизатором R1. Если значения совпадают, то R2 отправляет маршрутизатору R1 ответ об установлении канала.

Если запрос не прошёл проверку подлинности, формируется пакет CHAP с информацией об ошибке, состоящий из следующих компонентов:

  • 04 = тип сообщения CHAP об ошибке
  • id = копируется из пакета ответа

Совместно используемый секретный пароль должен быть идентичным на обоих маршрутизаторах R1 и R2.

Настройка аутентификации PPP

Для указания порядка, в котором протоколы CHAP и PAP запрашиваются на интерфейсе, используется команда настройки интерфейса ppp authentication , как показано на рисунке. Для отключения аутентификации используется вариант этой команды с отрицанием (no ).

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

  • Аутентификация PAP запрашивает у удалённого устройства имя и пароль, чтобы сравнить их с соответствующей записью в локальной базе данных имён пользователей или в удалённой базе данных TACACS/TACACS+.
  • Аутентификация CHAP отправляет удалённому устройству контрольный запрос. Удалённое устройство должно зашифровать контрольное значение с использованием совместно используемого секретного ключа и в ответном сообщении вернуть локальному маршрутизатору зашифрованное значение и своё имя. Локальный маршрутизатор использует имя удалённого устройства для поиска соответствующего секретного ключа в локальной базе данных имён пользователей или в удалённой базе данных TACACS/TACACS+. Он использует найденный секретный ключ для шифрования исходного контрольного значения и проверяет зашифрованные значения на тождественность.

Примечание . TACACS - выделенный сервер аутентификации, авторизации и учета (AAA), используемый для проверки подлинности пользователей. Клиенты TACACS отправляют запрос серверу аутентификации TACACS. Сервер выполняет проверку подлинности пользователя, авторизует действия пользователя и отслеживает выполненные пользователем действия.

Можно включить PAP, CHAP или оба протокола. Если включены оба метода, во время согласования связи запрашивается метод, указанный первым. Если удалённый узел предлагает использовать второй метод или просто отказывается использовать первый метод, предпринимается попытка использовать второй метод. Некоторые удалённые устройства поддерживают только CHAP, а некоторые - только PAP. Порядок, в котором указываются методы, основывается на соображениях относительно способности удалённого устройства правильно провести согласование соответствующего метода, а также на соображениях безопасности канала данных. Имена пользователей PAP и пароли отправляются в виде открытых строк и могут быть перехвачены и повторно использованы. В протоколе CHAP удалось устранить большинство известных брешей в защите.

Настройка PPP с аутентификацией

В таблице описана процедура настройки инкапсуляции PPP и протоколы аутентификации PAP/CHAP. Важно правильно выполнить настройку, поскольку PAP и CHAP используют эти параметры для аутентификации.

Настройка аутентификации PAP


На рис. приведён пример настройки двухсторонней аутентификации PAP. Каждый из маршрутизаторов и проводит аутентификацию, и проходит её, поэтому соответствующие команды аутентификации PAP зеркально отражают друг друга. Отправляемые каждым из маршрутизаторов имя пользователя и пароль PAP должны совпадать с указанными в командеusername name password password другого маршрутизатора.

Протокол PAP предоставляет простой метод подтверждения узла путём двухэтапного «рукопожатия». Это выполняется только после первоначального создания канала. Имя узла на одном маршрутизаторе должно совпадать с именем пользователя, настроенным для PPP другим маршрутизатором. Пароли также должны совпадать. Параметры, передающие имя пользователя и пароль, укажите в команде ppp pap sent-username name password password .

Настройка аутентификации CHAP

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

Вот, наконец и третья статья из серии "Быстрый Интернет...". Дозрела!

В предыдущей статье я довольно подробно изложил процесс установления Интернет-соединения (в тех рамках, в каких это нужно было сделать), с большим количеством различных иллюстраций, и т.п. И на этот раз я хотел было поступить так же, но, поразмыслив немного, решил сделать изложение немного попроще. С чем это связано? Главным образом, что все ISP, предоставляющие доступ в Интернет через PPPoE , по большому счёту, используют одни и те же параметры доступа. Поэтому, если у одного провайдера (у моего, например) какая-то настройка работает определённым образом, то, скорее всего, и у другого она будет работать точно так же (как я уже сказал, это может быть справедливо только в рамках одной технологии доступа). Стало быть, особенно углубляться в подробности я не стану: если что-то как-то работает - расскажу об этом, не работает - не расскажу:) Что ж, начнём пожалуй...

В качестве базовой для экспериментов была, как обычно, выбрана Windows XP . В Windows 7 существуют некоторые отличия, впрочем, незначительные; может я и расскажу о них, если понадобится, хотя всё, что касается XP , с равным успехом может быть применимо и к "семёрке". И как и в предыдущих статьях, я буду рассматривать "прямое" соединение одиночного ПК с Интернетом по технологии FTTB на PPPoE , то есть без каких-либо роутеров, и т.п.

Начать, наверное стоит с папки "Сетевые подключения ". Она у меня выглядит вот так:

Как видите, ничего необычного, разве что только я бессовестно переименовал подключение к LAN в "Выделенную линию FTTB ", да набрал название Интернет-подключения латинскими буквами:) Разберём каждое из них поподробнее.

Выделенная линия FTTB

"Выделенная линия FTTB " - это главный носитель Интернета (во всех смыслах). Двойной щелчок на этом значке выдаёт нам инфу по текущему состоянию сетевого подключения (а это именно сетевое подключение, по которому можно получить не только доступ к Интернет, но и доступ к LAN провайдера, и компьютерам других пользователей; впрочем, это тема для отдельного обсуждения). Думаю, стоит на неё взглянуть. Вначале посмотрим вкладку "Общие ":

Скорость соединения - 100 Мбит/с - это только скорость сетевого интерфейса , а не скорость доступа в Интернет (к огромнейшему сожалению; впрочем, это, вероятно, МОЖНО исправить... есть парочка идей, но об этом как-нибудь в другой раз;)))). Кнопка "Свойства " позволяет перейти к свойствам сетевого соединения; тот же эффект можно получить, щёлкнув правой кнопкой мыши на самом значке соединения. Больше ничего интересного здесь нет...

Вкладка "Поддержка " однако, более информативна:

"Тип адреса " - в данном случае, "Сконфигурирован вручную ", но может быть назначе автоматически (по умолчанию). Мне пришлось сконфигурировать IP-адрес вручную , потому что в сети моего ISP, судя по всему, нет клиентского DHCP-сервера, и поэтому при автоматическом назначении IP-адреса ставится адрес из диапазона 169.254.*.* , и ниже, там где сейчас стоит "Не удаётся обнаружить ошибки этого подключения... " высвечивалась некрасивая надпись "Подключение ограничено или отсутствует ". Кроме того, на значке подключения появлялся жёлтый треугольник с восклицательным знаком, а это как-то... нехорошо, в общем:)
"IP-адрес " - автоматический без DHCP-сервера из диапазона 169.254.*.* я заменил вручную на вполне допустимый 172.16.0.1 .
"Маска подсети " - для текущего IP определяет диапазон допустимых IP-адресов в подсети (все IP - локальные ).
"Основной шлюз " - через устройство с указанным IP осуществляется доступ к другим сетям. Это может быть адрес Вашего роутера, при его наличии. В моём случае особого смысла этот параметр, как и предыдущий, не имеет, поэтому я забил сюда произвольный IP (широковещательный, между прочим).
Кнопка "Подробности " позволяет получить дополнительную информацию:

"Физический адрес " - MAC-адрес сетевого адаптера;
"DNS-серверы " - список DNS-серверов (я использовал IP DNS-серверов Интернета, хотя лучше бы, конечно, использовать локальные адреса);
"WINS-сервер " - IP-адрес WINS-сервера, при его наличии (у меня его не было и нет). Эта штука нужна для разрешения NetBIOS-имён, а, конкретно, для доступа в Интернет - нет (в случае чего и файлы HOSTS / LMHOSTS отлично справляются 8))

Теперь можно, наконец, в подробностях поговорить и о свойствах сетевого подключения. Вкладка "Дополнительно " содержит лишь настройки параметров брандмауэра Windows, но он у меня отключен, и без него всё отлично работает. Так что детально будем рассматривать вкладку "Общие ":

Сверху ("Подключение через: ") выводится название текущего сетевого адаптера для данного подключения; кнопка "Настроить ", соответственно, позволяет настроить выбранный адаптер.< Детали настройки обсуждались мной в самой первой статье из серии "Быстрый Интернет..." >

Внизу доступны два переключателя:
" " - чтобы не загромождать трей, снимите эту галочку;
"Уведомлять при ограниченном или... " - а эту галочку нужно оставить. В случае чего в трее появится значок сетевого подключения с соответствующей символикой "Предупреждение " или "Ошибка ".

Наконец, посередине выводятся названия всех установленных сетевых компонентов. Тот набор, который установлен у меня, на мой взгляд, оптимальный (в дальнейшем слово "оптимальный " будет использоваться в кавычках). Однако, кроме этих компонентов доступны и другие, такие как "Клиент для сетей Netware ", или поддержка протокола IPX. Использование сетей Netware - скажем прямо, явление нечастое, а протокол IPX не поддерживается 64-битными ОС Windows, так что эти компоненты, и зависимые от них устанавливать не нужно. Здесь мы рассмотрим только компоненты "оптимального " набора, и в мельчайших деталях.

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

  • "Realtek Intermediate Driver for Ethernet Extended Features "
  • "Realtek VLAN Intermediate Driver "
  • "Realtek NDIS Protocol Driver " (поддержка пользовательского I/O на NDIS-устройствах)
Для чего они нужны - примерно ясно из названий, другое дело, что ни у одного из этих драйверов нет настраиваемых параметров. Впрочем, может что-то и можно настроить опосредованным путём, через реестр, но, видимо производитель решил, что без явной настройки будет лучше - мало ли чего там пользователи нахимичат... :)

Да и у Microsoft есть-таки парочка компонентов, не подлежащих настройке, это:

А теперь пришло время поговорить, о том, что настроить можно . Это следующие компоненты:
  • "Клиент для сетей Microsoft "
  • "Протокол Интернета (TCP/IP) "
"Клиент для сетей Microsoft " в отличие от "Службы доступа к файлам... " работает, можно так сказать, "наоборот" - он обеспечивает доступ данного компьютера к файлам и принтерам, располагающимся где-то на просторах LAN. Его страница свойств выглядит вот так (только вкладка "Служба RPC "):

Хоть я и сказал, что это настраиваемый компонент, но должен заметить, что настраивать здесь особенно нечего, кроме поставщика службы имен для RPC (remote procedure call). По умолчанию, это "Локатор Windows ". Правда, ещё можно выбрать "Службу каталогов ячеек DCE " и назначить ей соответствующий сетевой адрес, но на практике это, видимо, мало кем использовалось, и поэтому "Клиент для сетей Microsoft ", насчёт Vista не знаю, а вот в Windows 7 точно, перестал быть "настраиваемым".

А то, что настраивается на практике - это всеми так любимый "Протокол Интернета (TCP/IP) ", обеспечивающий связь между различными сетями (самая нужная и полезная штука:)). Вот его страница свойств (вкладка "Общие "):

Здесь можно определить такие параметры, как локальный IP-адрес компьютера в LAN и локальные же адреса DNS-серверов. Эти параметры задаются как вручную, так и с помощью автоопределения (если сеть поддерживает такую возможность). В данном случае меня интересовал только обычный Интернет, а не "сверхбыстрый" Интернет посредством LAN, поэтому оба параметра были сконфигурированы на автоматическое определение. Кроме того, они оба, похоже, имеют эффект только при подключении компьютера к LAN без возможности подключения к какой-либо другой сети, например Интернет, так что здесь они просто игнорируются. Существует также и более расширенная группа параметров, получаемая нажатием на кнопку "Дополнительно... " (эти расширенные параметры нужны, если Вам не хватает основных). Они включают в себя дополнительные IP-адреса, адреса DNS-серверов, шлюзы, метрики, адреса WINS-серверов и т.п., которые простому обывателю (читай - Интернет-пользователю) просто не нужны. Я не стану приводить их здесь, поскольку в нашей ситуации все они должны быть заданы по умолчанию.

А вот так выглядит вкладка "Альтернативная конфигурация " страницы свойств:

Напомню, что мой компьютер действительно используется в двух сетях одновременно: в LAN ISP, и в Интернете. Поэтому вкладка "Альтернативная конфигурация " - это то, что доктор прописал! Все приведённые здесь параметры могут быть настроены как вручную, так и автоматически. Я отказался от автоматической конфигурации, т.к. в этом случае адаптеру назначается частный IP-адрес из диапазона 169.254.*.* , а это воспринимается Windows XP , как "ограниченное" подключение. Поэтому я решил использовать ручные настройки. Здесь всё довольно просто:

  1. "IP-адрес " - локальный IP. Можно использовать только внутрисетевые адреса из следующих диапазонов: а) 10.*.*.* ; б) 169.254.*.* (если Вам всё-таки нужны эти адреса); в) 172.16.0.1 - 172.31.255.254 ; г) 192.168.*.* . Я использовал 172.16.0.1 , так как этот адрес гарантированно никем не используется в "моей" сети (проверено с помощью EtherPeek NX );
  2. "Маска подсети " - обычно используют 255.255.255.255 , но я использовал более расширенный вариант 255.255.255.0 , "на будущее";
  3. "Основной шлюз " - через него осуществляется доступ к другим сетям; адрес должен быть локальным . Кроме того, в качестве адреса шлюза можно использовать собственный IP-адрес компьютера (так обычно и делают). Этот адрес, как и сам IP, я выбрал произвольно (в данном случае, это не критично); на всякий случай, взял широковещательный из диапазона 192.168.*.* - 192.168.0.255 .
  4. "Предпочитаемый/Альтернативный DNS-сервер " - эти поля можно не заполнять, или же, использовать IP локальных DNS-серверов. Я правда, использовал адреса DNS-серверов Интернета, хотя их никак нельзя назвать локальными.
  5. "Предпочитаемый/Альтернативный WINS-сервер " - вот уж эти поля можно точно не заполнять! Как я уже писал выше, локальных HOSTS / LMHOSTS файлов вполне хватает.

На этом рассмотрение настроек для подключения по локальной сети "Выделенная линия FTTB " завершается.

KOMCTAP

"KOMCTAP " - это и есть высокоскоростное PPPoE -подключение к Интернету. На вкладке "Общие " страницы его состояния (открывается так же, по двойному щелчку на значке подключения), как и в случае с LAN-подключением, нет ничего интересного; вкладка же "Сведения ", напротив, содержит больше полезной информации:

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

Переключатель "При подключении вывести значок... " позволяет убедиться, что подключение к Интернету прошло успешно, и данные передаются. Желательно, чтобы он был включен.
В поле "Имя службы " заносится имя службы, или специальный код сервера - зависит от Вашего ISP. В подавляющем большинстве случаев это поле остаётся пустым (по умолчанию ).

Следующая вкладка - "Параметры ":

"Отображать ход подключения " - установлен по умолчанию ;
"Запрашивать имя, пароль, сертификат и т.д. " - установлен по умолчанию ; после того как имя учетной записи Интернета и корректный пароль будут введены, этот флажок нужно снять: тогда имя и пароль Вам не придётся каждый раз вводить заново;
"Включать домен входа в Windows " - этот параметр эффективен только при установленном флажке "Запрашивать имя... "; в дополнение к имени пользователя и паролю может быть затребован и домен входа в Windows . Такая схема сработает, если сетевое имя и пароль пользователя компьютера также используются для доступа в Интернет;
"Число повторений набора номера " - если по истечении заданного числа попыток соединения (три по умолчанию ), его так и не удаётся установить, дальнейшие попытки не предпринимаются;
"Интервал между повторениями " - по умолчанию минута; можно уменьшить до 10 секунд;
"Время простоя до разъединения " - при отсуствии активных приёма/передачи данных в течение заданного интервала времени, соединение автоматически разрывается; по умолчанию - никогда;
"Перезвонить при разрыве связи " - этот флажок должен быть установлен всегда.

Третья вкладка - "Безопасность ":

Все доступные здесь параметры зависят от метода аутентификации, используемого Вашим ISP. Параметры, как на рисунке, соответствуют протоколу PAP (пароль передаётся открытым текстом).

Вкладка "Дополнительно " используется для настройки брандмауэра Windows и ICS (общего доступа к подключению к Интернету):

Я не использую ни то, не другое, посему все параметры здесь - по умолчанию .

И, наконец, вкладка "Сеть " - самая нужная и полезная:

"Тип создаваемого высокоскоростного подключения " - всегда PPPoE , без вариантов;
кнопка "Параметры " позволяет настроить несколько специальных параметров PPP :

"Включить расширения LCP " - позволяет использовать дополнительные команды протокола LCP , такие как "Идентификация ", например. Эта опция должна поддерживаться всеми ISP, так что она должна быть включена. { У меня она точно поддерживается, проверено EtherPeek NX :)}
"Использовать программное сжатие данных " - по умолчанию, эта опция включена; однако проверка показала, что провайдерский концентратор доступа её отвергает. Это вполне понятно: ведь мы же и так используем высокоскоростное подключение, так что сжатие данных только бы СУЩЕСТВЕННО увеличило нагрузку на все Интернет-сервера. Тем более, что времена, когда через интернет передавались исключительно html-страницы, для которых сжатие было эффективным, уже давно прошли. Вот представьте себе, что через соединение со сжатием передаётся какой-нибудь большой архив, который, разумеется, уже сжат. Что произошло бы в этом случае? Правильно, серьёзное падение производительности (читай, скорости). А если одновременно передаётся несколько таких файлов, да ещё и разным пользователям? Просто катастрофа! Поэтому для PPPoE -соединения эту галочку необходимо снять. < Разумеется, сжатие данных вполне имеет право на существование на каких-нибудь медленных dial-up соединениях... >
"Согласовывать многоканальное подключение для одноканальных подключений " - я уже писал об этой опции в предыдущей статье. Опять-таки, эта опция была эффективна во времена dial-up - соединений, когда качество связи было невысоким. Её можно оставить включенной (и моя проверка показала, что провайдерский AC её не отвергает), однако на деле формирования многоканальных пакетов не происходит - нет нужды по причине и без того высокой пропускной способности канала.
Уфф, кажется, с дополнительными свойствами всё...

В центре страницы свойств Интернет-соединения, также, как и в центре страницы свойств LAN, располагается список установленных компонентов. Компоненты те же самые, что я рассматривал ранее; более того, по большому счёту, такие компоненты, как "Клиент для сетей Microsoft " и "Служба доступа к файлам... " не нужны вовсе - я установил их просто так, "на всякий пожарный". Их настройки те же самые, что и в случае LAN-соединения.
Единственное, что представляет интерес - это старый добрый "Протокол Интернета (TCP/IP) ". Взглянем на его страницу свойств. Она имеет только одну вкладку - "Общие ":

Здесь всё просто:
"Получить IP-адрес автоматически " / "Использовать следующий IP-адрес ": эти переключатели отвечают за Ваш внешний IP. В данном случае я использовал автоматическое назначение внешнего IP - так называемый динамический IP-адрес. При каждом повторном подключении внешний IP будет назначаться заново. Если же Ваш ISP предоставляет услугу покупки/аренды постоянного IP, то Вы можете записать выделенный Вам IP в находящееся ниже поле "IP-адрес ".
Кстати, и без аренды выделенного(прямого, "белого") IP-вадреса, Вы всё ещё можете "прикольнуться" 8) и "застолбить" практически навечно за собой какой-нибудь внешний IP. Замечу только, что: 1) выбирать его нужно только из пула динамических IP, доступного Вашему ISP; 2) не допускать конфликта адресов (если Ваш ПК не выключается из розетки 24 часа в сутки, то конфликта не будет %)). Например, я взял, да и установил себе "блатной" IP 46.250.66.66 :)

"Получить адрес DNS-сервера автоматически " / "Использовать следующие адреса DNS-серверов ": как и в случае с IP-адресом, можно использовать автоматическое или ручное назначение адресов. При ручном назначении чуть-чуть экономится время установления соединения за счёт того, что запрос на получение адресов DNS-серверов не отправляется. Чтобы вбить адреса вручную, их необходимо знать. Вы можете использовать общедоступные адреса, например, с www.opendns.com , но для увеличения быстродействия лучше, конечно, использовать адреса DNS-серверов Вашего ISP. Свои адреса я получил с помощью всё того же EtherPeek NX .

На этой же вкладке имеется кнопка "Дополнительно ". По нажатию на неё открывается страница расширенных параметров TCP/IP . На её вкладке "Общие " доступны следующие параметры:

"Использовать основной шлюз в удаленной сети " - этот флажок обязательно должен быть установлен - в противном случае, Интернет не будет доступен.
"Использовать сжатие IP-заголовков " - сжатие заголовков IP могло бы, в принципе, немного увеличить производительность. Однако на деле эта черта не поддерживается большинством ISP (и моим тоже), так что этот флажок нужно снять. { Впрочем, распаковка сжатых заголовков при приёме данных осуществляется независимо от состояния флажка }

Переходим к следующей вкладке - "DNS ". Вот список имеющихся там параметров:

Самое верхнее поле, "Адреса DNS-серверов... " позволяет проводить различные манипуляции с адресами DNS-серверов: добавлять, удалять, изменять значение или порядок обращения. Оно имеет тот же смысл, что и соответствующие поля на основной странице свойств "Протокола Интернета (TCP/IP) ".
Три следующих параметра используются для процедуры разрешения имён. Они обычно используются в сложных сетевых структурах, и для обычного подключения к Интернету их значения по умолчанию (как на рисунке) изменять не требуется. То же самое касается и оставшихся двух параметров: "Зарегистрировать адреса этого подключения в DNS " и "Использовать DNS-суффикс подключения... ". Для клиентского подключения, регистрация в базе DNS особого смысла не имеет.

Последняя вкладка, "WINS ", содержит ещё несколько параметров, полезных при настройке "широкомасштабной" сети, но в случае одного изолированного компьютера, совершенно бесполезных:

Поле-список "WINS-адреса, в порядке использования " позволяет задавать/управлять адресами WINS-серверов. Для обычных Интернет-подключений (в нашем случае) эти сервера не используются (используются локальные файлы HOSTS ), потому данное поле остаётся пустым.
Флажок "Включить просмотр LMHOSTS " и кнопка "Импорт LMHOSTS " позволяют использовать этот файл в дополнение к HOSTS для разрешения имён.
Последняя группа переключателей, "Параметры NetBIOS " позволяет разрешить использование NetBIOS посредством TCP/IP. По умолчанию может быть задействован переключатель "По умолчанию ", или, при его недоступности, "Включить NetBIOS... ". Впрочем, Вы можете отключить NetBIOS через TCP/IP, как это сделал я:)

Ну вот собственно, и всё! Да, разумеется, написать о каких-то особых тонкостях не получилось, потому что для настройки Интернета они просто и не нужны. Однако о некоторых аспектах, рассказать всё-таки придётся, но уже в рамках одной из будущих статей, посвященной "супербыстрому" Интернету посредством LAN 8)))

Понравилась эта и/или другие статьи?

Тогда Вы можете здорово помочь развитию моего блога следующими способами:

  1. Оставляя Ваши комментарии к материалам статьи;
  2. Добавив меня в число Ваших друзей (ответный "френдинг" гарантирован;));
  3. Одним из способов ниже %) :
Эксперимент №2

Этот протокол разработан группой IETF (Internet Engineering Task Force) как часть стека TCP/IP для передачи кадров информации по последовательным глобальным каналам связи взамен устаревшего протокола SLIP (Serial Line IP). Протокол PPP стал фактическим стандартом для глобальных линий связи при соединении удаленных клиентов с серверами и для образования соединений между маршрутизаторами в корпоративной сети. При разработке протокола PPP за основу был взят формат кадров HDLC и дополнен собственными полями. Поля протокола PPP вложены в поле данных кадра HDLC. Позже были разработаны стандарты, использующие вложение кадра PPP в кадры frame relay и других протоколов глобальных сетей.

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

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

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

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

Протокол, в соответствии с которым принимаются параметры соединения, называется протоколом управления связью (Link Control Protocol, LCP) . Протокол, который позволяет конечным узлам договориться о том, какие сетевые протоколы будут передаваться в установленном соединении, называетсяпротоколом управления сетевым уровнем (Network Control Protocol, NCP) . Внутри одного РРР - соединения могут передаваться потоки данных различных сетевых протоколов.

Одним из важных параметров РРР - соединения является режим аутентификации. Для целей аутентификации РРР предлагает по умолчанию протокол РАР (Password Authentication Protocol), передающий пароль по линии связи в открытом виде, или протокол CHAP (Challenge Handshake Authentication Protocol), не передающий пароль по линии связи и поэтому обеспечивающий большую безопасность сети. Пользователям также разрешается добавлять и новые алгоритмы аутентификации. Дисциплина выбора алгоритмов компрессии заголовка и данных аналогична.

Многопротокольная поддержка - способность протокола РРР поддерживать несколько протоколов сетевого уровня - обусловила распространение РРР как стандарта де-факто. В отличие от протокола SLIP, который может переносить только IP-пакеты, или LAP-B, который может переносить только пакеты Х.25, РРР работает со многими протоколами сетевого уровня, включая IP, Novell IPX, AppleTalk, DECnet, XNS, Banyan VINES и OSI, а также протоколами канального уровня локальной сети. Каждый протокол сетевого уровня конфигурируется отдельно с помощью соответствующего протокола NCP. Под конфигурированием понимается, во-первых, констатация того факта, что данный протокол будет использоваться в текущей сессии РРР, а во-вторых, переговорное утверждение некоторых параметров протокола. Больше всего параметров устанавливается для протокола IP - IP-адрес узла, IP-адрес серверов DNS, использование компрессии заголовка IP-пакета и т. д. Протоколы конфигурирования параметров соответствующего протокола верхнего уровня называются по имени этого протокола с добавлением аббревиатуры СР (Control Protocol), например протокол IPCP, IPXCP и т. п.

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

Независимость от глобальных служб . Начальная версия РРР работала только с кадрами HDLC. Теперь в стек РРР добавлены спецификации, позволяющие использовать РРР в любой технологии глобальных сетей, например ISDN, frame relay, Х.25, Sonet и HDLC.

Переговорная процедура протоколов LCP и NCP может и не завершиться соглашением о каком-нибудь параметре. Если, например, один узел предлагает в качестве MTU значение 1000 байт, а другой отвергает это предложение и в свою очередь предлагает значение 1500 байт, которое отвергается первым узлом, то по истечении тайм-аута переговорная процедура может закончиться безрезультатно.

Возникает вопрос - каким образом два устройства, ведущих переговоры по протоколу РРР, узнают о тех параметрах, которые они предлагают своему партнеру? Обычно у реализации протокола РРР есть некоторый набор параметров по умолчанию, которые и используются в переговорах. Тем не менее каждое устройство (и программа, реализующая протокол РРР в операционной системе компьютера) позволяет администратору изменить параметры по умолчанию, а также задать параметры, которые не входят в стандартный набор. Например, IP-адрес для удаленного узла отсутствует в параметрах по умолчанию, но администратор может задать его для сервера удаленного доступа, после чего сервер будет предлагать его удаленному узлу.

Хотя протокол РРР и работает с кадром HDLC, но в нем отсутствуют процедуры контроля кадров и управления потоком протокола HDLC. Поэтому в РРР используется только один тип кадра HDLC - ненумерованный информационный. В поле управления такого кадра всегда содержится величина 03. Для исправления очень редких ошибок, возникающих в канале, необходимы протоколы верхних уровней - TCP, SPX, NetBUEl, NCP и т. п.

Одной из возможностей протокола РРР является использование нескольких физических линий для образования одного логического канала, так называемый транкинг каналов. Эту возможность реализует дополнительный протокол, который носит название MLPPP (Multi Link РРР). Многие производители поддерживают такое свойство в своих маршрутизаторах и серверах удаленного доступа фирменным способом. Использование стандартного способа всегда лучше, так как он гарантирует совместимость оборудования разных производителей.

Общий логический канал может состоять из каналов разной физической природы. Например, один канал может быть образован в телефонной сети, а другой может являться виртуальным коммутируемым каналов сети frame relay.