PPPoE - что это? Как настроить подключение PPPoE. Настройка ppp соединения

), многоканальный протокол 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 - 0x002B.
  • Флаги протокола от 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 1994 , Аутентификация в PPP посредством (CHAP)
  • RFC 5072 , IPv6 и PPP.

Напишите отзыв о статье "PPP (сетевой протокол)"

Примечания

См. также

  • PLIP (англ.) русск.

Отрывок, характеризующий PPP (сетевой протокол)

Написав по этой азбуке цифрами слова L"empereur Napoleon [император Наполеон], выходит, что сумма этих чисел равна 666 ти и что поэтому Наполеон есть тот зверь, о котором предсказано в Апокалипсисе. Кроме того, написав по этой же азбуке слова quarante deux [сорок два], то есть предел, который был положен зверю глаголати велика и хульна, сумма этих чисел, изображающих quarante deux, опять равна 666 ти, из чего выходит, что предел власти Наполеона наступил в 1812 м году, в котором французскому императору минуло 42 года. Предсказание это очень поразило Пьера, и он часто задавал себе вопрос о том, что именно положит предел власти зверя, то есть Наполеона, и, на основании тех же изображений слов цифрами и вычислениями, старался найти ответ на занимавший его вопрос. Пьер написал в ответе на этот вопрос: L"empereur Alexandre? La nation Russe? [Император Александр? Русский народ?] Он счел буквы, но сумма цифр выходила гораздо больше или меньше 666 ти. Один раз, занимаясь этими вычислениями, он написал свое имя – Comte Pierre Besouhoff; сумма цифр тоже далеко не вышла. Он, изменив орфографию, поставив z вместо s, прибавил de, прибавил article le и все не получал желаемого результата. Тогда ему пришло в голову, что ежели бы ответ на искомый вопрос и заключался в его имени, то в ответе непременно была бы названа его национальность. Он написал Le Russe Besuhoff и, сочтя цифры, получил 671. Только 5 было лишних; 5 означает «е», то самое «е», которое было откинуто в article перед словом L"empereur. Откинув точно так же, хотя и неправильно, «е», Пьер получил искомый ответ; L"Russe Besuhof, равное 666 ти. Открытие это взволновало его. Как, какой связью был он соединен с тем великим событием, которое было предсказано в Апокалипсисе, он не знал; но он ни на минуту не усумнился в этой связи. Его любовь к Ростовой, антихрист, нашествие Наполеона, комета, 666, l"empereur Napoleon и l"Russe Besuhof – все это вместе должно было созреть, разразиться и вывести его из того заколдованного, ничтожного мира московских привычек, в которых, он чувствовал себя плененным, и привести его к великому подвигу и великому счастию.
Пьер накануне того воскресенья, в которое читали молитву, обещал Ростовым привезти им от графа Растопчина, с которым он был хорошо знаком, и воззвание к России, и последние известия из армии. Поутру, заехав к графу Растопчину, Пьер у него застал только что приехавшего курьера из армии.
Курьер был один из знакомых Пьеру московских бальных танцоров.
– Ради бога, не можете ли вы меня облегчить? – сказал курьер, – у меня полна сумка писем к родителям.
В числе этих писем было письмо от Николая Ростова к отцу. Пьер взял это письмо. Кроме того, граф Растопчин дал Пьеру воззвание государя к Москве, только что отпечатанное, последние приказы по армии и свою последнюю афишу. Просмотрев приказы по армии, Пьер нашел в одном из них между известиями о раненых, убитых и награжденных имя Николая Ростова, награжденного Георгием 4 й степени за оказанную храбрость в Островненском деле, и в том же приказе назначение князя Андрея Болконского командиром егерского полка. Хотя ему и не хотелось напоминать Ростовым о Болконском, но Пьер не мог воздержаться от желания порадовать их известием о награждении сына и, оставив у себя воззвание, афишу и другие приказы, с тем чтобы самому привезти их к обеду, послал печатный приказ и письмо к Ростовым.
Разговор с графом Растопчиным, его тон озабоченности и поспешности, встреча с курьером, беззаботно рассказывавшим о том, как дурно идут дела в армии, слухи о найденных в Москве шпионах, о бумаге, ходящей по Москве, в которой сказано, что Наполеон до осени обещает быть в обеих русских столицах, разговор об ожидаемом назавтра приезде государя – все это с новой силой возбуждало в Пьере то чувство волнения и ожидания, которое не оставляло его со времени появления кометы и в особенности с начала войны.
Пьеру давно уже приходила мысль поступить в военную службу, и он бы исполнил ее, ежели бы не мешала ему, во первых, принадлежность его к тому масонскому обществу, с которым он был связан клятвой и которое проповедывало вечный мир и уничтожение войны, и, во вторых, то, что ему, глядя на большое количество москвичей, надевших мундиры и проповедывающих патриотизм, было почему то совестно предпринять такой шаг. Главная же причина, по которой он не приводил в исполнение своего намерения поступить в военную службу, состояла в том неясном представлении, что он l"Russe Besuhof, имеющий значение звериного числа 666, что его участие в великом деле положения предела власти зверю, глаголящему велика и хульна, определено предвечно и что поэтому ему не должно предпринимать ничего и ждать того, что должно совершиться.

У Ростовых, как и всегда по воскресениям, обедал кое кто из близких знакомых.
Пьер приехал раньше, чтобы застать их одних.
Пьер за этот год так потолстел, что он был бы уродлив, ежели бы он не был так велик ростом, крупен членами и не был так силен, что, очевидно, легко носил свою толщину.
Он, пыхтя и что то бормоча про себя, вошел на лестницу. Кучер его уже не спрашивал, дожидаться ли. Он знал, что когда граф у Ростовых, то до двенадцатого часу. Лакеи Ростовых радостно бросились снимать с него плащ и принимать палку и шляпу. Пьер, по привычке клубной, и палку и шляпу оставлял в передней.
Первое лицо, которое он увидал у Ростовых, была Наташа. Еще прежде, чем он увидал ее, он, снимая плащ в передней, услыхал ее. Она пела солфеджи в зале. Он внал, что она не пела со времени своей болезни, и потому звук ее голоса удивил и обрадовал его. Он тихо отворил дверь и увидал Наташу в ее лиловом платье, в котором она была у обедни, прохаживающуюся по комнате и поющую. Она шла задом к нему, когда он отворил дверь, но когда она круто повернулась и увидала его толстое, удивленное лицо, она покраснела и быстро подошла к нему.
– Я хочу попробовать опять петь, – сказала она. – Все таки это занятие, – прибавила она, как будто извиняясь.
– И прекрасно.
– Как я рада, что вы приехали! Я нынче так счастлива! – сказала она с тем прежним оживлением, которого уже давно не видел в ней Пьер. – Вы знаете, Nicolas получил Георгиевский крест. Я так горда за него.
– Как же, я прислал приказ. Ну, я вам не хочу мешать, – прибавил он и хотел пройти в гостиную.
Наташа остановила его.
– Граф, что это, дурно, что я пою? – сказала она, покраснев, но, не спуская глаз, вопросительно глядя на Пьера.
– Нет… Отчего же? Напротив… Но отчего вы меня спрашиваете?
– Я сама не знаю, – быстро отвечала Наташа, – но я ничего бы не хотела сделать, что бы вам не нравилось. Я вам верю во всем. Вы не знаете, как вы для меля важны и как вы много для меня сделали!.. – Она говорила быстро и не замечая того, как Пьер покраснел при этих словах. – Я видела в том же приказе он, Болконский (быстро, шепотом проговорила она это слово), он в России и опять служит. Как вы думаете, – сказала она быстро, видимо, торопясь говорить, потому что она боялась за свои силы, – простит он меня когда нибудь? Не будет он иметь против меня злого чувства? Как вы думаете? Как вы думаете?

Этот протокол разработан группой 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 (англ.) русск.

И так. Так получилось, что достался DSL модем и телефонная линия для интернета. Возникла задача это всё дело настроить. Приступим.

Добавляем строки в /etc/rc.conf

ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="provider"

Слово provider — может быть произвольным. Это идентифицирует настройки именно того подключения, которое будет использоваться. На самом деле в конфигурационном файле (имеется ввиду /etc/ppp/ppp.conf ) может быть несколько описаний, и каждое может использоваться для своего подключения.

Далее, переходим в каталог /etc/ppp . Для этого вы должны обладать рутовыми правами (иначе не пустит). Чаще всего, что дефолтный конфиг уже присутствует. Но если это не так — читаем ниже. В любом случае, приводим файл ppp.conf к такому виду.

set device PPPoE:em0:provider
set speed sync
set mru 1492
set mtu 1492
set ctsrts off
set timeout 0
set redial 0 0
enable lqr
set lqrperiod 5

provider:
set authname ЛОГИН
set authkey ПАРОЛЬ
add default HISADDR

Поясним некоторые параметры.

em0 — имя внешнего интерфейса
set authname — задаём логин для доступа к интернету
set authkey — собственно пароль 🙂

Пару слов об MTU.

MTU Maximum Transmission Unit . Это максимальный размер блока данных, который может быть передан через интерфейс. Это понятие находится на пересечении L2 и L3 и его интерпретация может различаться для разных вендоров.

Например, типичный размер MTU для физического L3 -интерфейса 1500 . То есть, грубо говоря, IP -пакет размером 1500 байт будет обработан, а 1501 – отброшен или фрагментирован. Зачастую фрагментация пакетов запрещена, и потому большие пакеты отбрасываются.

Если вы используете туннелирование, размер пакета увеличивается засчёт дополнительных заголовков (GRE , IPSec и т.д.) Например:

— для GRE: 24 байта (GRE , Новый IP).
— для GRE over IPSec: 56 и более байтов (зависит от режима работы и типа шифрования)
— для PPPoE: 36 (PPP , PPPoE , Ethernet )

Если у вас на маршрутизаторе MTU=1514 , но у провайдера на физическом интерфейсе стоит MTU=1500 , и на нём пакет будет отброшен.

Для всевозможных туннелей это совершенно типичная проблема.

ОЧЕНЬ СУЩЕСТВЕННЫ ОТСТУПЫ В ЭТОМ ФАЙЛЕ!!! Слова provider и default начинаются строго с начала строки, все остальные параметры начинаются строго с отступа. Собственно это и всё. Запустить соединение можно так

#ppp -ddial provider

Для управлением настроек соединения в режиме реального времени служит утилита pppctl . С её помощью вы можете налету менять настройки соединения.

Дополнения:

При этом в логах будет отображаться меньше записей о подключении

2) Обрыв в произвольное время

Виной может быть строка набора номера для вашего модема

set dial "...... ATS10=10 OK ......"

Попробовать выставить меньше/больше таймаут

3) Прочие обрывы

Как вариант отключить компрессию

disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
deny pred1 deflate deflate24 protocomp acfcomp shortseq vj

PPP (Point-to-Point-Protocol) – протокол второго уровня модели OSI, использующийся на WAN линках. PPP – открытый протокол, что позволяет его использовать при необходимости соединения устройств Cisco с устройствами других производителей (в отличие от HDLC, в отношении спецификации которого у циски своё мнение).

Сразу стоит сделать важное замечание: протокол PPP – многофункциональный и широко распространённый, в то же время, в рамках курса CCNA рассматривается только один способ его применения: подключение двух маршрутизаторов друг к другу через serial кабель. На самом деле, сфера применения протокола не ограничивается этими случаями. PPP может работать через нуль-модемный кабель, телефонную линию, в сотовой связи. Другие популярные способы использования протокола PPP – инкапсуляция его в другие протоколы второго уровня. Поясню: сам PPP находится на втором уровне модели OSI и обеспечивает прямое соединение между двумя устройствами, но если его инкапсулировать в другой протокол второго уровня – Ethernet (PPP over Ethernet – PPPoE), то ethernet будет заниматься доставкой фреймов с мак адреса отправителя на мак адрес получателя, после получатель будет декапсулировать из Ethernet-а PPP фрейм и дальше для завёрнутых в PPP протоколов (IPv4, IPX, …) будет создаваться полная «иллюзия» того, что соединение точка-точка. Сам же PPP в этом случае будет заниматься такими вещами как аутентификация и сжатие траффика. Существуют другие способы использования PPP, например PPP over ATM – PPPoA, Microsoft Windows использует для создания VPN протокол PPTP, который так же является надстройкой над PPP. Но это всё лирическое отступление, чтобы было понятно, зачем вообще изучать PPP. В курсе «CCNA Accessing the WAN» PPP – это протокол для соединения двух маршрутизаторов через serial кабель.

Что умеет PPP в сравнении с HDLC?

  1. Управление качеством линии (PPP отключает линк, если количество ошибок превысит заданное значение).
  2. Аутентификация с помощью PAP или CHAP.
  3. Multilink – технология напоминающая Etherchannel в Ethernet-е: несколько разных линков объединяются в один логический, со скоростью, равной сумме входящих в него линков.
  4. PPP Callback – технология, использующаяся для повышения безопасности: клиент устанавливает соединение с сервером, сервер разрывает соединение и устанавливает со своей стороны новое – к клиенту.

На самом деле, при передачи данных с маршрутизатора на маршрутизатор, PPP инкапсулируется в HDLC, который выполняет «транспортные» функции для PPP фреймов. Подробнее про HDLC можно почитать в статье «Протокол HDLC – пример настройки и описание». PPP – обладает уровневой структурой, когда фрейм PPP приходит из сети он поднимается по внутренним подуровням PPP снизу вверх:

  1. Первый подуровень HDLC – получает фрейм, проверяет адрес получателя, контрольную сумму и передаёт полезнуюинформацию дальше.
  2. Подуровень LCP (Link Control Protocol), как видно из названия, занимается управлением соединением, отправляет и получает разные служебные флаги, следит за состоянием соединения (подключено/выключено), следит за качеством линии, следит за согласованностью параметров конфигурации между точками.
  3. Подуровень NCP (Network Control Protocol) состоит из большого количества модулей, каждый из которых занимается связью с каким-то конкретным протоколом третьего уровня (IPv4, IPv6, IPX, AppleTalk, …). Благодаря этому, в рамках одного установленного PPP соединения с одним логином и паролем, можно передавать траффик разных протоколов сетевого уровня.

Установка связи между двумя маршрутизаторами по протоколу PPP происходит по уровням снизу вверх, разрыв связи – сверху вниз.

То есть устанавливается связь в таком порядке: LCP,NCP, полезные данные третьего уровня. А разрывается: конец передачи полезных данных, NCP, LCP. Как видно, HDLC не устанавливает и не разрывает соединения, так как в PPP используются HDLC фреймы без подтверждения доставки.

Структура PPP фрейма имеет следующий вид:

  1. FLAG – признак начала фрейма, специальная последовательность нулей и единиц («01111110»), которая говорит получателю, что далее будет следовать тело фрэйма.
  2. ADDRESS – адрес получателя, в протоколе PPP всегда используется широковещательный «11111111».
  3. CONTROL – поле содержит значение «00000011»
  4. PROTOCOL – поле, содержащее номер протокола третьего уровня, пакет которого «завёрнут» в данный фрейм.
  5. DATA – поле с полезными данными вышестоящих протоколов.
  6. FCS – контрольная сумма, которая считается при отправке фрейма и сравнивается с полученным пересчётом, который делается при получении фрейма. В результате, если суммы не совпадают, кадр считается «битым» и отбрасывается.
  7. FLAG – признак окончания фрейма, содержит то же значение что и признак начала фрейма.

Настройка PPP на оборудовании cisco, как уже было сказано, в курсе CCNA не сложная. Выполняется она на интерфесе:

  1. Выбираем алгоритм сжатия командой compress
  2. Устанавливаем качество линии, которое будет считаться приемлемым (при количестве ошибок, больше заданного связь будет разрываться). Для этого служит команда ppp quality .
  3. Выбираем способ аутентификации PAP или CHAP (подробнее об этом можно узнать из статьи «В чём разница между PAP и CHAP ». Способ аутентификации задаётся командной ppp authentication .
  4. Необходимо настроить пользователя под которым наш маршрутизатор будет подключаться к другому. Здесь команды разнятся для CHAP и PAP. Сам поьзователь добавляется командой username <имя> password <пароль>, причём делать это надо не на интерфейсе, а в режиме глобальной конфигурации, но в случае использования PAP, надо ещё использовать на интерфейсе команду ppp pap sent-username <имя> password <пароль>.

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

Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#hostname R1 R1(config)#username R2 password 123456789 R1(config)#interface serial 0/3/0 R1(config-if)#en R1(config-if)#encapsulation ppp R1(config-if)#ppp authentication chap R1(config-if)#ip address 192.168.0.1 255.255.255.0 R1(config-if)#no shutdown %LINK-5-CHANGED: Interface Serial0/3/0, changed state to down

Настройка на втором маршрутизаторе:

Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#hostname R2 R2(config)#username R1 password 123456789 R2(config)#interface serial0/3/0 R2(config-if)#encapsulation ppp R2(config-if)#ppp authentication chap R2(config-if)#ip address 192.168.0.2 255.255.255.0 R2(config-if)#no shutdown %LINK-5-CHANGED: Interface Serial0/3/0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/3/0, changed state to up

Обратите внимание, что пользователь, которого мы заводим на маршрутизаторе R1 имеет имя R2, а на R2 – R1. Это необходимо, так как когда один роутер подключается к другому, он указывает своё имя, соответственно, другой должен знать это имя (видеть его в своём списке локальных пользователей). Ещё одна немаловажная деталь: пароли к пользователям R1 и R2 обязательно должны совпадать.

Для проверки можем выполнить команду:

R2#sh ip inter brief Interface IP-Address OK? Method Status Protocol … Serial0/3/0 192.168.0.2 YES manual up up …

Если status будет «up», а протокол – «down», то это, как правило означает, что какие-то проблемы с PPP – не та аутентификация, не совпали пароли, качество линии ниже того, что мы заказывали и т.п. В этом случае придётся проверять конфиги и запускать debug ppp, чего я не пожелаю и врагу.