3.2.3. Функции по управлению соединением

До того как два компьютера начнут обмениваться данными по РРР, им необходимо правильно настроить канал связи и проверить его состояние. Для этих целей используется LCP, протокол управления соединением. Программы используют LCP для проверки состояния линии связи. После этого в ход пускается NCP, протокол управления сетью, для установки некоторых параметров на сетевом уровне, например IP. Наконец, уровень соединения становится способен передавать данные до тех пор, пока NCP и LCP последовательно не договорятся закончить соединения (см. рис. 3.5).

Фаза неактивности

Фаза передачи данных по РРР-соединению всегда начинается и заканчивается фазой неактивности. В фазе неактивности физический уровень сети не готов к передаче данных. Протокол РРР переходит к фазе передачи данных только после того, как, находясь в фазе неактивности, он получит подтверждение о готовности физического уровня принимать и передавать данные. Например, если ваш канал связи представляет собой телефонную линию с модемом, РРР может следить за состоянием сигнала “наличие несущей” от модема, чтобы определить, когда физический уровень будет готов к работе. Как только сигнал устанавливается, РРР считает, что модем дозвонился и соединился с удаленным собратом, что позволяет приступить к следующей фазе — установлению соединения.

Фаза установления соединения

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

В RFC 1661 отмечено, что, выполняя фазу установления соединения, РРР должен полностью игнорировать все пакеты данных, не являющиеся пакетами LCP. (Напомним, что у пакета LCP поле “Протокол” содержит число 0хС021.) Получив “чужой” пакет, РРР не передает его дальше и не обрабатывает сам. RFC 1661 рекомендует, но не обязывает выдавать при этом сообщение о факте получения и содержимое чужого пакета на монитор или в системный файл. То, как должны выглядеть сообщения об ошибках, оставлено на усмотрение разработчиков протокола.

Фаза проверки полномочий

Фаза проверки полномочий следует за фазой установления соединения. Ее назначение — проверить, имеет ли право удаленный компьютер передавать данные. Фаза проверки полномочий может ограничивать права других компьютеров или отдельных пользователей по установлению РРР-соединения. Некоторые компьютерные сети предназначены для передачи конфиденциальной информации. Разумеется, если в какой-нибудь фирме устанавливается компьютер, работающий файл-сервером для ее сотрудников, руководству не захочется, чтобы к той же информации получил доступ кто-либо другой. Скорее всего руководство попросит своего программиста установить протокол для проверки полномочий пользователей. Некоторые сетевые протоколы имеют в составе подобные средства защиты данных. Однако TCP/IP к ним не относится. Именно это приводит к тому, что фаза проверки полномочий может иногда отсутствовать.

Фаза управления сетью

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

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

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

Фаза прекращения соединения

Как следует из названия, фаза прекращения соединения служит для завершения обмена данными. На рис. 3.5 изображено, как РРР переходит к этой фазе при отсутствии прав доступа у удаленного компьютера. Соединение прекращается также при потере несущей в модеме. Обычно фаза прекращения соединения выполняется протоколом управления соединением (LCP). При этом процессы РРР договариваются друг с другом об окончании обмена. РРР обязан сообщить соответствующему сетевому уровню о начале фазы прекращения соединения. Это производится с участием NCP. Как вы уже знаете, NCP позволяет открывать и завершать обмен по нескольким сетевым протоколам во время работы. В RFC 1661 указано, что закрытие всех сетевых протоколов в РРР не должно приводить к разрыву соединения. Другими словами, отсутствие данных на линии не является достаточной причиной, чтобы прервать соединение. Сетевое программное обеспечение должно само явно указать РРР на необходимость этого.