Компьютерные сети Кабели и интерфейсы Обмен данных в сети Сетевое оборудование и топологии Служба передачи файлов FTP Беспроводные сети Архитектура Ethernet IP-адреса для локальных сетей Нагрузочная способность сети

Протокол PPP

Протокол PPP Point-to-Point Protocol предназначен для решения тех же задач, что и SLIP, но лишен многих его недостатков, он служит для передачи мультипротокольных дейтограмм от одного узла к другому. Сам по себе список RFC, приведенный выше, впечатляющ. Он говорит о том, что данный протокол относится к числу наиболее важных и широко используемых. Это и понятно, большинство региональных сетей строится с использованием соединений точка-точка. PPP поддерживает, как асинхронный режим с 8 битами данных без бита четности (согласуется со свойствами последовательного интерфейса, имеющегося практически на всех ЭВМ), так и побитовый синхронный режим. Протокол содержит в себе три составные части:

Метод инкапсуляции дейтограмм при передаче по последовательным коммуникационным каналам.

Протокол LCP для установления, конфигурирования и тестирования информационных каналов

Набор протоколов NCP для установки и конфигурирования различных протоколов сетевого уровня.

Протокол управления каналом LCP

Протокол управления каналом (LCP - Link Control Protocol) является частью PPP. Идеология NCP реализована и в протоколе TCP. Каждый кадр PPP начинается и завершается флагом 0x7E. За стартовым флагом-октетом следует байт адреса, который всегда равен 0xFF. Формат кадра PPP представлен на рисунке 3.5.1. Кадр PPP может содержать только целое число байт. При инкапсуляции других пакетов в PPP используется бит-ориентированный протокол HDLC (High-level Data Link Control).

Рис. 3.5.1 Формат кадра в протоколе PPP

Поле адрес всегда содержит байт 0xFF Это указывает на то, что все станции должны принять этот кадр, и исключает необходимость выделения каких-то специальных адресов. Байт управления всегда равен 0x03, что указывает на ненумерованный тип кадра. По умолчанию кадры PPP передаются в режиме "без установления соединения". Если требуется надежная доставка, используется версия, описанная в RFC-1663. Двухоктетное поле протокол сходно по функции с полем тип в кадре Ethernet и определяет то, как следует интерпретировать информационное поле (см. табл. 3.5.1). Значение 0x0021 этого поля говорит о том, что последующее информационное поле содержит в себе IP-дейтограмму. Поле CRC (Cyclic Redundancy Check) представляет собой циклическую контрольную сумму, предназначенную для выявления ошибок при транспортировке PPP-кадра. Применение флагов-ограничителей кадра (0x7E) создает те же проблемы, о которых говорилось при описании SLIP-протокола, - эти байты не могут присутствовать в информационном поле. В синхронном режиме эта проблема решается на аппаратном уровне. При работе в асинхронном режиме для этого используется специальный ESC-символ, равный 0x7D. Когда этот esc-символ встречается в информационном поле, шестой бит в следующем за ним байте инвертируется. Так байт 0x7E будет преобразован в последовательность 0x7D, 0x5E, а байт 0x7D - в два байта 0x7D, 0x5D. Все символы с кодами меньше 0x20 также преобразуются в ESC-последовательности. Например, 0x07 будет преобразован в 0x7D, 0x27. Это необходимо делать, так как управляющие символы могут оказать непредсказуемые воздействия на режим работы драйверов или модемов, используемых в канале. Протокол PPP в отличие от SLIP допускает мультипротокольность и динамическое определение IP-адресов партнеров. Несмотря на определенные преимущества протокола PPP перед SLIP, последний распространен достаточно широко. Не трудно видеть, что все перечисленные физические среды используют последовательный формат передачи информации.

Таблица 3.5.1. Стандартизованные DLL-номера протоколов для PPP (поле протокол)

DLL-код протокола (шестнадцатеричный)

Наименование протокола

0001

Протокол заполнения (padding)

0003-001F

Зарезервировано

0021

IP-протокол

0023

Сетевой уровень OSI

0025

Xerox NS IDP

0027

Decnet фаза IV

0029

Appletalk

002B

Novell IPX

002D

Компрессированный TCP/IP протокол Ван Джекобсона

002F

Не компрессированный TCP/IP протокол Ван Джекобсона

0031

PDU мостов

0033

Потоковый протокол (ST-II)

0035

Banyan Vines

0039

Appletalk EDDP

003B

Appletalk Smartbuffered

003D

Multi-link

003F

Кадры Netbios

0041

Cisco Systems

0043

Ascom Timeplex

0047

Удаленная локальная сеть DCA

0049

Транспортный протокол для последовательных данных (PPP-SDTP)

004B

SNA через 802.2

004D

SNA

004F

Сжатие заголовков IPv6

007D

Зарезервировано (Управл. ESC) [RFC1661]

00FD

1-ый вариант компрессии

0201

Пакеты отклика 802.1d

0203

IBM BPDU базовой маршрутизации

8021

Управляющий протокол Интернет (IPCP)

8023

Управляющий протокол сетевого уровня OSI

8025

Управляющий протокол Xerox NS IDP

8027

Управляющий протокол Decnet фаза VI

8029

Управляющий протокол Appletalk

802B

Управляющий протокол Novell IPX

8031

Бридж NCP

8033

Потоковый управляющий протокол

8035

Управляющий протокол Banyan Vines

803D

Многосвязный управляющий протокол

803F

Управляющий протокол кадров NetBIOS

8041

Управляющий протокол Cisco

8043

Ascom Timeplex

8045

Управляющий протокол Fujitsu LBLB

8047

Управляющий протокол удаленных локальных сетей DCA (RLNCP)

8049

Управляющий протокол передачи последовательных данных (PPP-SDCP)

 

Управляющий протокол для передачи sna поверх 802.2

804D

Управляющий протокол SNA

804F

Управляющий протокол сжатия заголовков IPv6

80FD

Управляющий протокол сжатия

C021

Канальный управляющий протокол

C023

Протокол аутентификации паролей

C025

Сообщение о состоянии канала

C081

Управляющий протокол для работы с контейнерами

 

Значения кодов поля протокола от 0xxx до 3xxx идентифицируют протоколы сетевого уровня, а значения в интервале 8xxx - Bxxx говорят о том, что протокол соответствует NCP (Network Control Protocol). Коды из диапазона 4xxx - 7xxx используются для протоколов с низким уровнем трафика, а коды от Cxxx до Exxx соответствуют управляющим протоколам (например, LCP).

Протокол PPP при установлении соединения предусматривает процедуру аутентификации, которая является опционной (смотри рис. 3.5.2.). После перехода на сетевой уровень вызывается NCP-протокол, который выполняет необходимую конфигурацию канала.

Рис. 3.5.2. Алгоритм установления соединения PPP

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

В поле данных PPP-пакета может быть вложен один LCP-пакет, в этом случае в поле протокол должен быть записан код 0xC021 (Link Control Protocol). LCP-протокол служит для установления соединения путем обмена конфигурационными пакетами. По завершении этого обмена система переходит в фазу аутентификации (рис.3.5.2). Формат LCP-пакета показан на рис. 3.5.3.

Рис. 3.5.3. Формат заголовка LCP-пакета

Вслед за заголовком следует поле данных. Поле код (1 октет) идентифицирует модификацию LCP-пакета. Если получен пакет с неизвестным полем код, посылается пакет-отклик “отклонение кода”. Поле идентификатор (1 октет) служит для нахождения соответствия между запросами и откликами. Если получен пакет с неправильным идентификатором, он просто уничтожается. Двухоктетное поле длина определяет размер LCP-пакета, включая размер заголовка. Октеты принятого пакета за пределами, заданными полем длина игнорируются.

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