Основные процедуры протокола ррр

Обновлено: 16.06.2024

В конце 1980 гг. Internet (крупная международная сеть, соединяющая множество иссследовательских организаций, университетoв и коммерческих концернов) начала испытывать резкий рост числа главных вычислительных машин, обеспечивающих TCP/IP. Преобладающая часть этих главных вычислительных машин была подсоединена к локальным сетям (LAN) различных типов, причем наиболее популярной была Ethernet. Большая часть других главных вычислительных машин.соединялись через глобальные сети (WAN), такие как общедоступные сети передачи данных (PDN) типа Х.25. Сравнительно небольшое число главных вычислительных машин были подключены к каналам связи с непосредственным (двухточечным) соединением (т.е. к последовательным каналами связи). Однако каналы связи с непосредственным соединением принадлежат к числу старейших методов передачи информации, и почти каждая главная вычислительная машина поддерживает непосредственные соединения. Например, асинхронные интерфейсы RS-232-С встречаются фактически повсюду.

Одной из причин малого числа каналов связи IP с непосредственным соединением было отсутствие стандартного протокола формирования пакета данных Internet. Протокол Point-to-Point Protocol (PPP) (Протокол канала связи с непосредственным соединением) предназначался для решения этой проблемы. Помимо решения проблемы формирования стандартных пакетов данных Internet IP в каналах с непосредственным соединением, РРР также должен был решить другие проблемы, в том числе присвоение и управление адресами IP, асинхронное (старт/стоп) и синхронное бит-ориентированное формирование пакета данных, мультиплексирование протокола сети, конфигурация канала связи, проверка качества канала связи, обнаружение ошибок и согласование варианта для таких способностей, как согласование адреса сетевого уровня и согласование компрессии информации. РРР решает эти вопросы путем обеспечения расширяемого Протокола Управления Каналом (Link Control Protocol) (LCP) и семейства Протоколов Управления Сетью (Network Control Protocols) (NCP), которые позволяют согласовывать факультативные параметры конфигурации и различные возможности. Сегодня PPP, помимо IP, обеспечивает также и другие протоколы, в том числе IPX и DECnet.

Компоненты PPP

  • Метод формирования дейтаграмм для передачи по последовательным каналам. РРР использует протокол High-level Data Link Control (HDLC) (Протокол управления каналом передачи данных высокого уровня) в качестве базиса для формирования дейтаграмм при прохождении через каналы с непосредственным соединением. Дополнительная информация по HDLC дается в Главе 12 "SDLC и его производные".
  • Расширяемый протокол LCP для организации, выбора конфигурации и проверки соединения канала передачи данных.
  • Семейство протоколов NCP для организации и выбора конфигурации различных протоколов сетевого уровня. РРР предназначена для обеспечения одновременного пользования множеством протоколов сетевого уровня.

Основные принципы работы

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

Требования, определяемые физическим уровнем

РРР может работать через любой интерфейс DTE/DCE (например, EIA RS-232-C, EIA RS-422, EIA RS-423 и CCITT V.35). Единственным абсолютным требованием, которое пред'являет РРР, является требование обеспечения дублированных схем (либо специально назначенных, либо переключаемых), которые могут работать как в синхронном, так и в асинхронном последовательном по битам режиме, прозрачном для блоков данных канального уровня РРР. РРР не пред'являет каких-либо ограничений, касающихся скорости передачи информации, кроме тех, которые определяются конкретным примененным интерфейсом DTE/DCE.

Канальный уровень PPP

РРР использует принципы, терминологию и структуру блока данных процедур HDLC (ISO 3309-1979) Международной Организации по Стандартизации (ISO), модифицированных стандартом ISO 3309-1984/PDAD1 "Addendum 1:Start/stop Trasmission" (Приложение 1: Стартстопная передача"). ISO 3309-1979 определяет структуру блока данных HLDC для применения в синхронных окружениях. ISO 3309-1984/PDAD1 определяет предложенные для стандарта ISO 3309-1979 модификации, которые позволяют его использование в асинхронных окружениях. Процедуры управления РРР используют дефиниции и кодирование управляющих полей, стандартизированных ISO 4335-1979 и ISO 4335-1979/Addendum 1-1979.

Нa Рис. 10-1 приведен формат блока данных РРР.

flag Длина последовательности "флаг" равна одному байту; она указывает на начало или конец блока данных. Эта последовательность состоит из бинарной последовательности 01111110. address Длина поля "адрес" равна 1 байту; оно содержит бинарную последовательность 11111111, представляющую собой стандартный широковещательный адрес. РРР не присваивает индивидуальных адресов станциям. control Поле "управление" составляет 1 байт и содержит бинарную последовательность 00000011, которая требует от пользователя передачи информации непоследовательным кадром. Предусмотрены услуги без установления соединения канала связи, аналогичные услугам LLC Type 1. Подробную информацию о типах LLC и блоков данных смотри в Главе 12 "SDLC и его производные". protocol Длина поля "протокол" равна 2 байтам; его значение идентифицирует протокол, заключенный в информационном поле блока данных. Большинство современных значений поля протокола определены в последнем выпуске Assigned Numbers Request for Comments (RFC). data Длина поля "данные" - от нуля и больше; оно содержит дейтаграмму для ротокола, заданного в поле протокола. Конец информационного поля определяется локализацией замыкающей последовательности "флаг" и предоставлением двух байтов полю FCS. Максимальная длина умолчания информационного поля равна 1500 байтам. В соответствии с априорным соглашением, разрешающие реализации РРР могут использовать другие значения максимальной длины информационного поля. frame check sequence Поле проверочной последовательности блока данных (FCS) обычно составляет 16 бит (два байта). В соответствии с априорным соглашением, разрешающие реализации РРР могут использовать 32-х битовое (четырехбайтовое) поле FCS, чтобы улучшить процесс выявления ошибок.

Link Control Protocol (LCP) может согласовывать модификации стандартной структуры блока данных РРР. Однако модифицированные блоки данных всегда будут четко различимы от стандартных блоков данных.

Протокол управления канала связи PPP (LCP)

  • Организация канала и согласование его конфигурации. Прежде чем может быть произведен обмен каких-либо дейтаграмм сетевого уровня (например, IP), LCP сначала должен открыть связь и согласовать параметры конфигурации. Эта фаза завершается после того, как пакет подтверждения конфигурации будет отправлен и принят.
  • Определение качества канала связи. LCP обеспечивает факультативную фазу определения качества канала, которая следует за фазой организации канала и согласования его конфигурации. В этой фазе проверяется канал, чтобы определить, является ли качество канала достаточным для вызова протоколов сетевого уровня. Эта фаза является полностью факультативной. LСP может задержать передачу информации протоколов сетевого уровня до завершения этой фазы.
  • Согласование конфигурации протоколов сетевого уровня. После того, как LСP завершит фазу определения качества канала связи, конфигурация сетевых протоколов может быть по отдельности выбрана соответствующими NCP, и они могут быть в любой момент вызваны и освобождены для последующего использования. Если LCP закрывает данный канал, он информирует об этом протоколы сетевого уровня, чтобы они могли принять соответствующие меры.
  • Прекращение действия канала. LCP может в любой момент закрыть канал. Этро обычно делается по запросу пользователя (человека), но может произойти и из-за какого-нибудь физического события, такого, как потеря носителя или истечение периода бездействия таймера.
  • Пакеты для организации канала связи. Используются для организации и выбора конфигурации канала.
  • Пакеты для завершения действия канала. Используются для завершения действия канала связи.
  • Пакеты для поддержания работоспособности канала. Используются для поддержания и отладки канала.

Эти пакеты используются для достижения работоспособности каждой из фаз LCP.

Протокол РРР (Point-to-Point Protocol) является стандартным протоколом Ин­тернета. Протокол РРР так же, как и HDLC, представляет собой целое семейст­во протоколов, в которое, в частности, входят:

□ протокол управления линией связи (Link Control Protocol, LCP);

□ протокол управления сетью (Network Control Protocol NCP):

□ многоканальный протокол РРР (Multi Link РРР. MLPPP);

□ протокол аутентификации по паролю (Password Authentication Protocol, PAP);

□ протокол аутентификации по квитированию вызова (Challenge Handshake Authentication Protocol, CHAP).

При разработке протокола РРР за основу был взят формат HDLC-кадров и дополнен не­сколькими полями. Эти дополнительные поля протокола РРР вложены в поле данных HDLC-кадра. Позже были разработаны стандарты, описывающие вложение РРР-кадра в кадры Frame Relay и других протоколов глобальных сетей. Хотя РРР и работает с HDLC- кадром, он не поддерживает, подобно протоколу HDLC, процедуры надежной передачи кадров и управления их потоком.

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

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

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

Многопротокольная поддержка — способность протокола РРР поддерживать не­сколько протоколов сетевого уровня — обусловила распространение РРР как стан­дарта де-факто. Внутри одного РРР-соединения могут передаваться потоки дан­ных различных сетевых протоколов, включая IP, Novell IPX, AppleTalk, DECnet, XNS, Banyan VINES и OSI, а также данные протоколов канального уровня ло­кальной сети.

Каждый протокол сетевого уровня конфигурируется отдельно с помощью соот­ветствующего протокола управления сетью (NCP). Под конфигурированием по­нимается, во-первых, констатация того факта, что данный протокол будет исполь­зоваться в текущем сеансе РРР, а во-вторых, переговорное согласование некото­рых параметров протокола. Больше всего параметров устанавливается для про­токола IP, включая IP-адреса взаимодействующих узлов, IP-адреса DNS-серве- ров, признак компрессии заголовка IP-пакета и т. д. Для каждого протокола кон­фигурирования протокола верхнего уровня, помимо общего названия NCP, ис­пользуется особое название, построенное путем добавления аббревиатуры CP (Control Protocol) к имени конфигурируемого протокола, например, для IP — это протокол IPCP, для IPX — IPXCP и т. п.




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

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

В этой статье рассказывается, как подключить компьютер под управлением ОС Linux к PPP-серверу, как использовать PPP для того, чтобы связать вместе две локальные сети, а также один из методов настройки Linux-станции для работы в качестве РРР-сервера.

РРР (Point to Point Protocol) - это механизм для создания и передачи пакетов данных IP (интернет протокола) и других сетевых протоколов через последовательный порт - будь то прямое соединение с использованием нуль-модемного кабеля, или канал через модем и телефонные линии (или цифровой канал, например ISDN).

Используя РРР, можно установить сетевое соединение между Вашим компьютером и РРР-сервером и получить доступ к его ресурсам, или к ресурсам всей сети, к которой подключен этот сервер.

Так же можно превратить Ваш компьютер под управлением ОС Linux в РРР-сервер и дать возможность другим компьютерам соединяться с ним и использовать его ресурсы или ресурсы Вашей локальной сети.

При помощи РРР можно объединить две локальные сети, или подключить локальную сеть к Интернет, создать глобальную сеть (WAN - Wide Area Network).

Главное отличие между РРР и подключением с использованием Ethernet, это, конечно же, скорость - стандартный Ethernet работает со скоростью 10 Mbs, или даже 100 Mbs (миллионы бит в секунду) передачи данных, тогда как аналоговые модемы работают со скоростью до 54 kbs (тысячи бит в секунду).

Также, в зависимости от вида РРР-соединения могут накладываться некоторые ограничения на использование отдельных приложений и сервисов.

Клиенты и серверы

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

В этой статье компьютер, который инициирует связь (дозванивается) будет называться КЛИЕНТОМ, а компьютер, который отвечает на телефонный звонок, производит распознавание запроса (используя пользовательские имена и пароли, а также другие механизмы) - СЕРВЕРОМ.

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

В этой статье также приведена процедура настройки РРР сервера и объединение двух локальных сетей вместе (с полной маршрутизацией) с использованием РРР. Часто это называется созданием WAN - глобальной компьютерной сети.

Каждое устройство, подключенное к Интернет, должно иметь свой собственный, уникальный IP адрес. Они распределяются централизованно, определенными службами для каждой страны.

Если Вы подключаете локальную сеть (LAN) к Интернет, Вы должны использовать определенное адресное пространство для всех компьютеров и устройств локальной сети. Невозможно выбирать произвольно эти адреса и использовать их для соединения с другой локальной сетью (даже неподключенной к Интернет). В худшем случае это просто не будет работать и вызовет хаос в сети, так как "украденные" IP адреса будут влиять на работу тех компьютеров, которые уже использовали эти же адреса.

Следует отметить, что IP адреса, используемые в этой статье (за некоторым исключением), взяты из "адресного пространства, неиспользуемого в сети Интернет", зарезервированного для внутрикорпоративных сетей. Эти адреса специально выделены для локальных сетей, не подключенных к Интернет. Вот они:

- одна сеть класса А 10.0.0.0 (маска 255.0.0.0)

- одна сеть класса В 172.16.0.0 - 172.31.0.0 (маска 255.255.0.0)

- одна сеть класса С 192.168.0.0 - 192.168.255.0 (маска 255.255.255.0)

Если у Вас есть локальная сеть, но Вы не получили для нее соответствующее адресное пространство, можно использовать любую сеть из описанных выше для компьютеров своей сети. Эти адреса никогда не будут использоваться в сети Интернет! Но они могут присваиваться сетевому адаптеру компьютера, который подключен к сети Интернет через другой сетевой адаптер, либо модем. Объясняется это тем, что сетевые адреса присваиваются не компьютерам, а их сетевым интерфейсам. Например, если сетевая плата компьютера имеет адрес 10.0.0.1, то при подключении к сети Интернет с использованием РРР, РРР-интерфейс (модем) получит свой IP адрес от сервера, через который установлено соединение. Этот компьютер сможет работать в сети Интернет, а другие ПК из этой же локальной сети - нет.

Конечно же, операционная система Linux позволяет использовать возможности IP Masquerade (также известный как NAT - Network address Translation, перевод сетевых адресов) и программу ipfadm для подключения локальной сети к Интернет (с ограниченным количеством сервисов) при наличии всего лишь одного реального IP адреса.

Для большинства пользователей, которые подключают свой ПК к ISP - Интернет Сервис Провайдеру через РРР канал связи, получение персонального IP (или сетевого) адреса не обязятельно.

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

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

Что нужно сделать для настройки клиентской части РРР

Поиск и установка программного обеспечения

Если Ваш дистрибутив Linux не включает программы РРР daemon - pppd, можно поискать его на FTP серверах в сети Интернет, например:

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

Получение информации от провайдера Интернет

Существует множество способов настройки РРР-сервера. При подключении к провайдеру Интернет или к корпоративному серверу (Интранет вариант), Вам необходимо узнать, как работает РРР-сервер.

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

- номер телефона, через который устанавливается соединение (или несколько номеров). Следует учесть, что если Ваша телефонная линия находится внутри корпоративной телефонной сети, следует набирать соответствующую комбинацию цифр ("0", а чаще всего "9") для выхода за пределы этой АТС.

- как сервер выделяет сетевые адреса - статически или динамически? Если сервер выделяет постоянный адрес для Вашего соединения, Вам нужно знать этот адрес. Если провайдер выделяет Вам не один адрес, а адресное пространство (подсеть), нужно знать адрес и маску этой подсети. Большинство провайдеров используют динамическое распределение сетевых адресов; как упоминалось выше, это влияет на набор сервисов и сетевых протоколов, которые Вы можете использовать. Но даже те провайдеры, которые выделяют постоянные сетевые адреса для своих клиентов, запрещают (из соображений безопасности своей сети) свободное использование этих адресов. Но даже в этом случае Вам необходимо знать эти адреса!

- какой адрес у DNS-сервера Вашего провайдера? Их должно быть, по крайней мере, два, но Вам достаточно знать один из них. На этом этапе можно столкнуться с небольшими трудностями. Дело в том, что операционная система MS Windows 95, настроенная на РРР - канал связи, способна автоматически получать эту информацию от сервера провайдера во время процесса инициализации соединения. Так что Ваш провайдер прежде всего попытается заверить Вас в том, что эта информация Вам не понадобится. Если Вы используете компьютер с операционной системой Linux для сетевого соединения, Вам необходим хотя бы один адрес сервера DNS.

- какая система идентификации пользователя (PAP или CHAP) используется сервером? В этом случае Вы должны узнать свое пользовательское имя и пароль для подключения к серверу провайдера.

- устанавливает ли сервер автоматически РРР-режим соединения, или Вам нужно выполнить какие-либо дополнительные команды? Если для запуска РРР нужно выполнить команду, то что это за команда?

- какая операционная система установлена на сервере (MS Windows NT, UNIX. )? Многие корпоративные сервера используют MS Windows NT.

Вся эта информация пригодится Вам в будущем при конфигурации Вашего компьютера.

Конфигурация модемаи последовательного порта

Для того, чтобы установить соединение с РРР-сервером с оптимальной скоростью, необходимо правильно настроить модем и последовательный порт компьютера, к которому он присоединен. Названия последовательных портов в Linux:

DOS com1: = Linux /dev/cua0 (и /dev/ttyS0)

DOS com2: = Linux /dev/cua1 (и /dev/ttyS1)

Если у Вас 4 последовательных порта, то нужно учесть, что порты com1 и com3 совместно используют прерывание IRQ4, а порты com2 и com4 делят друг с другом прерывание IRQ3. Если какое-либо устройство в Вашем компьютере подключено к последовательному порту, использующему то же прерывание, что и модем, это вызовет проблемы. Вы должны быть уверены, что последовательный порт Вашего модема использует свой собственный, уникальный номер прерывания. Многие модемы, а также материнские платы компьютеров позволяют настраивать эти параметры на нужные значения.

Если у Вас установлен Linux с кернелом версии 2 и выше, Вы можете проверить, какие прерывания используются системой при помощи команды:

которая выдаст похожий результат:

В этом примере один последовательный порт использует прерывание IRQ4 (мышь), а другой - IRQ15 (модем для РРР-соединения с Интернет). Порты com2, IRQ3 и com4, IRQ14 не показаны, так как они не используются системой.

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

Если Вы изменили стандартные номера прерываний последовательных портов на нестандартные, следует сообщить об этом операционной системе. Это делается командой setserial, и лучше всего выполнять эти команды при загрузке ОС Linux, а для этого поместите вызов этих команд в файл rc.local или rc.serial. Для моей машины эти команды выглядят так:

/bin/setserial -b /dev/ttyS2 IRQ 11

/bin/setserial -b /dev/ttyS IRQ 15

Скорость передачи последовательного порта

Если Вы используете внешний модем (который работает со скоростью 14400 бит/сек и выше), последовательный порт, к которому он подключен, обязан обеспечить еще большую скорость передачи данных, так как модем может использовать протоколы сжатия данных при их передаче. Последовательный порт должен использовать микросхему UART (Universal Asynchronous Receiver Transmitter) как минимум 16550А. Если у Вас старый компьютер, в котором установлены UART 8250, Вы сможете работать только с медленными модемами. Чтобы узнать тип этой микросхемы, можно заглянуть под крышку своего компьютера, или выполнить команду:

/bin/setserial -a /dev/ttySx

Учтите: первые партии чипа UART 16550 были выпущены с ошибкой в своей конструкции, которая была исправлена в следующей версии микросхемы - UART 16550A. Сравнительно небольшое количество этих микросхем до сих пор распространено среди пользователей старых компьютеров.

Названия последовательных портов

Исторически Linux использует имена cuaX для передающих устройств и ttySX - для принимающих. В версиях кернела начиная с 2.0.x устройство ttySX уже способно выполнять обе эти функции, так что старое доброе название cuaXможет скоро исчезнуть.

Конфигурация модема

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

- Аппаратный контроль за потоком данных (RTS/CTS) - &K3 для всех Hayes-совместимых модемов.

Остальные параметры (в стандарте команд Hayes), которые должны быть определены:

E1 - включение ЭХО сигнала (Echo ON)

Q0 - разрешение выдачи на экран результирующих кодов

S0=0 - отключение автоответа

С1 - включение сигнала CD только после соединения

&S0 - Data Set Ready (DSR) всегда активен

(разные команды для разных типов модемов) - Data Terminal Ready (DTR)

Следует также уделить внимание взаимодействию модема и последовательного порта (для внешних модемов). Современные модемы позволяют настроить последовательный порт на фиксированную скорость передачи данных, в то же время модем может автоматически подстраивать свою скорость передачи данных по телефонной линии в зависимости от ее качества и максимальной скорости, которую поддерживает модем на другим конце этой линии. Это называется разделением скорости. Для последовательного порта компьютера можно установить максимально возможную скорость передачи данных (обычно 115,200 бод, но для медленных модемов на 14,400 можно установить скорость в 38,400 бод).

Чтобы проверить текущие параметры модема, можно использовать любое коммуникационное программное обеспечение (например minicom или seyon). Многие модемы сообщают свои настройки после ввода команды AT&V. Знакомство с инструкцией по эксплуатации модема никогда не повредит.

Если Вы окончательно запутались в настройках, то всегда существует возможность возвращения к заводским параметрам, установленным при его изготовлении, вводом команды AT&F. Для большинства модемов, с которыми я встречался, их заводские установки полностью удовлетворяли требованиям протокола РРР.

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

Контроль за потоком данных

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

Два способа для последовательных каналов связи:

- Использование аппаратных сигналов модема (Clear To Send/Request To Send - CTS/RTS)

- Использование программных сигналов ( и , также известных как XON/XOFF).

Если последний способ полностью устроит передачу данных на текстовый терминал, то данные, передаваемые по РРР-каналу связи, используют все 8 бит и некоторые передаваемые символы могут быть интерпретированы как Ctrl-S и Ctrl-Q. Поэтому РРР требует использования аппаратных сигналов для контроля за потоком данных (CTS/RTS).

Тестирование модема

После настройки последовательного порта и модема пришло время проверить их работоспособность и попробовать соединиться со своим провайдером Интернет. Используя коммуникационное программное обеспечение (например, minicom), выполним команду модема "набор номера" (ATDP****/ATDT****) и попытаемся соединиться с РРР-сервером.

Примечание: на этом этапе мы не устанавливаем РРР-соединение, а только проверяем, как работает наше оборудование.

Во время этого процесса рекомендуется вести детальный протокол и сохранять всю информацию, которая будет появляться на вашем экране в файле или хотя бы на листе бумаги. Особенно это касается запросов сервера на ввод пользовательского имени и пароля (login: и password:) и всех других команд, необходимых для РРР-соединения.

Если Ваш сервер для идентификации пользователя использует протокол РАР (Password Authentication Protocol), Вы не увидите нормального текста приглашения для ввода имени и пароля пользователя. Вместо этого перед Вашими глазами побегут строки, созданные LCP (Link Control Protocol), которые выглядят, как мусор на экране.

- некоторые сервера позволяют подключение или с использованием стандартного текстового приглашения или через РАР.

- некоторые сервера ждут ввода определенного кода до запуска процедуры подключения.

- некоторые сервера находятся в пассивном режиме ожидания до тех пор, пока соединяющийся с ними компьютер не пошлет нужный LCP пакет. Если сервер, с которым Вы соединяетесь, находится в пассивном режиме, Вы никогда не увидите "мусора" на своем экране!

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

Стоит попробовать выполнить эту процедуру, по крайней мере, хотя бы два раза, - некоторые сервера изменяют вид приглашения при соединении после каждого Вашего звонка! Ваша цель - определить два основных запроса сервера для Вашей идентификации:

- запрос на ввод Вашего пользовательского имени (login);

- запрос на ввод пароля (password).

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

Это будет выглядеть примерно так:

Такой же мусор появляется на Вашем экране и при закрытии РРР-соединения.

Теперь Вы можете отключить свой модем (обычно вводом +++ и набором команды ATH0 после того, как модем ответит ОК). Если Вам не удалось заставить свой модем работать, еще раз внимательно прочитайте руководство по его использованию, а также документацию на свое коммуникационное программное обеспечение и последовательные порты своего компьютера.

Игорь Грень, gren@isir.minsk.by

Компьютерная газета. Статья была опубликована в номере 35 за 1998 год в рубрике soft :: unix

Соединение точка-точка

Соединение точка-точка обеспечивает единственную связь от клиента к отдаленной сети.

Связь точка-точка (или последовательная линия) может подключить два географически отдаленных хоста. Соединение точка-точка обычно арендуются у провайдера и поэтому часто называются арендованными каналами. Для соединения точка-точка, провайдер выделяет канал определенной пропускной способности. Провайдер будет, однако, еще использовать технологии мультиплексирования в пределах сети. Арендованный канал соединяется с сетью провайдера через DSU/CSU.
DSU(Digital Service Unit) модуль цифрового сервиса - пользовательское устройство, взаимодействующее с цифровым устройством, таким как CSU. DSU конвертирует пользовательские данные в биполярный формат для передачи.
CSU(Channel Service Unit) устройство обслуживания канала - оборудование, устанавливаемое на стороне заказчика (потребителя услуг), для подключения к линиям телефонной компании. Устройства CSU обеспечивают диагностику и защиту сети.
DSU/CSU - Внешнее устройство, объединяющее в себе возможности DSU и CSU и обеспечивающее подключение оборудования к цифровым системам.

Протокол HDLC

Бит - ориентированный протокол предусматривает передачу информацию в виде потока битов, не разделяемых на байты. Поэтому для разделения кадров используются специальные последовательности - флаги. В начале кадра ставится флаг открывающий, а в конце - флаг закрывающий.
Бит - ориентированный протокол удобен относительно коммуникационной среды, так как канал связи как раз ориентирован на передачу последовательности битов. Потенциально бит - ориентированный протоколы являются более скоростными по сравнению байт - ориентированными, что обусловливает их широкое распространение в современных вычислительных сетях.
Типичным представителем группы бит - ориентированных протоколов являются протокол HDLC (High - livel Data Link Control - высший уровень управления каналом связи) и его подмножество. Протокол HLDC управляет информационным каналом с помощью специальных управляющих кадров, в которых передаются команды.
Информационные кадры нумеруются. Кроме того, протокол HDLC позволяет без получения положительной квитанции передавать до трех - пяти кадров. Положительная квитанция, полученная, например, на третий кадр, показывает, что два предыдущих приняты без ошибок и необходимо повторить передачу только четвертого и пятого кадров. Такой алгоритм работы и обеспечивает высокое быстродействие протокола.
Различные промышленные фирмы пользуются своими производными от протокола HDLC. Протокол Cisco HDLC не совместим с разновидностями этого протокола от других фирм. Поэтому, когда необходимо обеспечить совместимость должен использоваться протокол PPP.

Протокол канала связи с непосредственным соединением (Point-to-Point Protocol)

Основная функция PPP - управление передачей данных по выделенным или коммутируемым линиям связи.
PPP обеспечивает стандартный метод взаимодействия двух узлов сети. Предполагается, что обеспечивается двунаправленная одновременная передача данных. Данные "нарезаются" на фрагменты, которые называются пакетами. Пакеты передаются от узла к узлу упорядоченно. В отличии от SLIP, PPP позволяет одновременно передавать по линии связи пакеты различных протоколов. Кроме того, PPP предполагает процесс автоконфигурации обоих взаимодействующих сторон. Собственно говоря, PPP состоит из трех частей: механизма инкапсуляции (encapsulation), протокола управления соединением (link control protocol) и семейства протоколов управления сетью (network control protocols).

Компоненты PPP

  • Метод формирования дейтаграмм для передачи по последовательным каналам. РРР использует протокол High-level Data Link Control (HDLC) (Протокол управления каналом передачи данных высокого уровня) в качестве базиса для формирования дейтаграмм при прохождении через каналы с непосредственным соединением.
  • Расширяемый протокол LCP (Link Control Protocol) для организации, выбора конфигурации и проверки соединения канала передачи данных.
  • Семейство протоколов NCP (Network Control Protocols) для организации и выбора конфигурации различных протоколов сетевого уровня. РРР предназначен для обеспечения одновременного пользования множеством протоколов сетевого уровня.

Алгоритм работы

Для того чтобы организовать связь через канал связи с непосредственным соединением, инициирующий РРР сначала отправляет пакеты LCP для выбора конфигурации и (факультативно) проверки канала передачи данных. После того, как канал установлен и пакетом LCP проведено необходимое согласование факультативных средств, инициирующий РРР отправляет пакеты NCP, чтобы выбрать и определить конфигурацию одного или более протоколов сетевого уровня. Как только конфигурация каждого выбранного протокола определена, дейтаграммы из каждого протокола сетевого уровня могут быть отправлены через данный канал. Канал сохраняет свою конфигурацию для связи до тех пор, пока явно выраженные пакеты LCP или NCP не закроют этот канал, или пока не произойдет какое-нибудь внешнее событие (например, истечет срок бездействия таймера или вмешается какой-нибудь пользователь).
Link Control Protocol (LCP) может согласовывать модификации стандартной структуры блока данных РРР. Однако модифицированные блоки данных всегда будут четко различимы от стандартных блоков данных.
Фаза Dead начинает и заканчивает процесс связи. В случае появления внешнего события (например, готовность аппаратного обеспечения осуществить связь) будет инициирована фаза Establish, в которой происходит согласование различных параметров соединения (обмен пакетами LCP). В случае невозможности согласовать некоторый параметр процесс прервется и протокол перейдет в состояние Dead. Если же все необходимые параметры согласованы, будет инициирована фаза Authenticate, в которой проводится проверка на подлинность участников сеанса (если таковая требуется). В случае неудачной аутентификации будет инициирована фаза Terminate, подготавливающая разрыв соединения. Если же фаза Authenticate прошла успешно, протокол переходит к фазе Network. В этой фазе осуществляется пересылка данных в соответствии с ранее сконфигурированными параметрами связи (в частности - типом сетевого протокола). Фаза Network начинается с того, что каждый протокол сетевого уровня (например, IP или IPX) конфигурирует различные параметры (скажем, согласует алгоритм сжатия заголовка пакета, обменивается адресной информацией) с помощью соответствующих протоколов Network Control Protocol (например, IP Control Protocol или IPX Control Protocol). Фаза Terminate (используется по окончании передачи кадров или в случае возникновения каких-либо ошибок) прерывает передачу кадров и переводит протокол РРР в состояние Dead.

Структура кадра протокола PPP

РРР использует принципы, терминологию и структуру блока данных процедур HDLC (High Level Data Link Control)

1 байт1 байт1 байт2 байта(до 1500 байтов)2 байта1 байт
FlagAddressControlProtocolInformationCRCFlag
(7E)(FF)(03) (7Е)

Длина последовательности "флаг" равна одному байту; она указывает на начало или конец блока данных. Эта последовательность состоит из бинарной последовательности 01111110.

Длина поля "адрес" равна 1 байту; оно содержит бинарную последовательность 11111111, представляющую собой стандартный широковещательный адрес. РРР не присваивает индивидуальных адресов станциям, то есть содержимое поля "адрес" никогда не изменяется.

Поле "управление" составляет 1 байт и содержит бинарную последовательность 00000011, которая требует от пользователя передачи информации непоследовательным кадром. Предусмотрены услуги без установления соединения канала связи, аналогичные услугам LLC Type 1.

Длина поля "протокол" равна 2 байтам; его значение идентифицирует протокол, заключенный в информационном поле блока данных.

Значения поля Protocol и соответствующие им пакеты
Значение поля Protocol Тип пакета
0021IP
0023ISO CLNP
0025Xerox NS IDP
0027DECnet Phase IV
0029Apple Talk
002В IPX
002D Van Jacobson Compressed TCP/IP 1
002F Van Jacobson Compressed TCP/IP 2
8021IP Control Protocol
8023ISO CLNP Control Protocol
8025Xerox NS IDP Control Protocol
8027DECnet Phase IV Control Protocol
8029Apple Talk Control Protocol
802B IPX Control Protocol
C021Link Control Protocol
C023User/Password Authentication Protocol

Длина поля "данные" - от нуля и больше; оно содержит дейтаграмму для протокола, заданного в поле протокола. Максимальная длина умолчания информационного поля равна 1500 байтам. В соответствии с априорным соглашением, разрешающие реализации РРР могут использовать другие значения максимальной длины информационного поля. Если при синхронном типе связи в поле "данные" появляется байт со значением 7E (значение байта-флага), то ситуация обрабатывается на аппаратном уровне с помощью техники вставки битов (bit stuffing). При асинхронном (стартстопном)типе связи ситуации, когда между байтами-флагами появляются байты со значениями 7E или 7D (значение символа Esc - escape) и значениями меньшими 20 (управляющие символы ASCII), обрабатываются при помощи составных последовательностей. Байт 7E передается как двухбайтовая последовательность 7D,5E; байт 7D - как последовательность 7D,5D; байты XX со значениями меньшими 20 - как XX, 01.

Поле "проверочная последовательность блока данных" (контрольная сумма) обычно составляет 16 бит (два байта). В соответствии с априорным соглашением, разрешающие реализации РРР могут использовать 32-х битовое (четырехбайтовое) поле CSC, чтобы улучшить процесс выявления ошибок.

Читайте также: