Общий формат пакетов протокола LCP



 

Имеются три класса пакетов LCP:

1. пакеты конфигурации связи, используемые для установления и конфигурирования канала связи ("Запрос конфигурации", "Подтверждение конфигурации", "Неподтверждение конфигурации" и "Сброс конфигурации").

2. пакеты разъединения связи, используемые для разрыва связи ("Запрос разъединения", "Подтверждение разъединения").

3. пакеты обслуживания связи, используемые для управления и отладки звена связи ("Сброс кода", "Сброс протокола", "Запрос эха", "Ответ эха" и "Запрос сброса").

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

Независимо от того, какие опции конфигурации разрешаются, все пакеты конфигурации звена LCP, разъединения связи и сброса кода (кодирование от 1 до 7) посылаются всегда, как будто никакие опции конфигурации не были установлены. В частности, каждая опция конфигурации имеет значение по умолчанию. Это гарантирует постоянную распознаваемость пакетов LCP.

В информационном поле PPP инкапсулируется только один пакет LCP, где поле протокола PPP показывает тип c021 (протокол контроля звена LCP).

Общий формат пакетов протокола LCP показан в таблице 4.1. Поля передаются слева направо.

 

 

Таблица 4.1.

Общий формат пакетов протокола LCP

0 1 2 3  
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  
Код Идентификатор Длина Данные ...

Поле "Код"

Поле "Код" - один октет, задает вид пакета LCP. Когда пакет получен с неопределенным полем "Код", передается пакет "Сброс кода".

Значения поля "Код" протокола LCP определяются в наиболее позднем издании "Assigned Numbers" RFC [3]. В настоящее время этот документ определяет следующие величины:

1 Запрос конфигурации

2 Подтверждение конфигурации

3 Неподтверждение конфигурации

4 Сброс конфигурации

5 Запрос разъединения

6 Подтверждение разъединения

7 Сброс кода

8 Сброс протокола

9 Запрос эха

10 Ответ эха

11 Запрос сброса

Поле "Идентификатор"

Поле "Идентификатор" содержит один октет и обеспечивает соответствие запросов ответам. Когда пакет получен с недействительным полем "Идентификатор", он сбрасывается без воздействия на автомат.

Поле "Длина"

Поле "Длина" (два октета) указывает длину пакетов LCP, включая поля "Код", "Идентификатор", "Длина" и "Данные". Длина не должна превышать величину MRU для звена передачи данных.

Октеты вне диапазона поля "Длина" рассматриваются как дополнение и игнорируются при приеме. Когда пакет получен с недействительным значением поля "Длина", пакет сбрасывается без воздействия на автомат.

Поле "Данные"

Поле "Данные" содержит нуль или более октетов, как показано в поле "Длина". Формат поля "Данные" определяется полем "Код".

Особенности форматов различных типов пакетов протокола LCP более подробно рассмотрены ниже.

§4.2. Формат пакетов LCP "Запрос конфигурации"

 

Общее описание

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

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

Таблица 4.2.

Формат пакетов LCP "Запрос конфигурации"

0 1 2 3  
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  
Код Идентификатор Длина Опции ...

Поле "Код"

Для запроса конфигурации принимает значение, равное 1.

Поле "Идентификатор"

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

Поле "Опции"

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

§4.3. Формат пакетов LCP "Подтверждение конфигурации"

 

Общее описание

Если каждая опция конфигурации, полученная при запросе конфигурации, распознана, и все значения приемлемы, тогда приложение должно передать пакет "Подтверждение конфигурации" (Configure-Ack). Подтвержденные опции конфигурации нельзя повторно заказывать или изменять любым способом.

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

 

 

Таблица 4.3.

Формат пакетов LCP "Подтверждение конфигурации"

0 1 2 3  
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  
Код Идентификатор Длина Опции ...

Поле "Код"

Для подтверждения конфигурации принимает значение, равное 2.

Поле "Идентификатор"

Поле "Идентификатор" - это копия поля "Идентификатор" пакета "Запрос конфигурации", который вызвал это подтверждение конфигурации.

Поле "Опции"

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

§4.4. Формат пакетов LCP "Неподтверждение конфигурации"

 

Общее описание

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

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

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

При приеме неподтверждения конфигурации поле "Идентификатор" должно соответствовать последнему переданному запросу конфигурации. Недействительные пакеты сбрасываются без уведомления.

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

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

Формат пакетов "Неподтверждение конфигурации" показан ниже. Поля передаются слева направо.

 

Таблица 4.4.

Формат пакетов LCP "Неподтверждение конфигурации"

0 1 2 3  
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  
Код Идентификатор Длина Опции ...

Поле "Код"

Для неподтверждения конфигурации принимает значение, равное 3.

Поле "Идентификатор"

Поле "Идентификатор" - это копия поля "Идентификатор" запроса конфигурации, который вызвал это неподтверждение конфигурации.

Поле "Опции"

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

§4.5. Формат пакетов LCP "Сброс конфигурации"

 

Общее описание

Если некоторые опции конфигурации, полученные в запросе конфигурации, не распознаваемы или не приемлемы, то приложение должно передать пакет "Сброс конфигурации" (Configure-Reject). Поле "Опции" пакета при этом содержит значение единственной недопустимой опции конфигурации из запроса конфигурации. Все распознанные и приемлемые опции конфигурации не изменяются при сбросе конфигурации, но, с другой стороны, опции конфигурации нельзя повторно заказывать или изменять.

При приеме сброса конфигурации поле "Идентификатор" должно соответствовать последнему переданному запросу конфигурации. Кроме того, опции конфигурации в сбросе конфигурации должны являться надлежащим поднабором из последнего переданного запроса конфигурации. Недействительные пакеты сбрасываются без уведомления.

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

Формат пакетов "Сброс конфигурации" показан ниже. Поля передаются слева направо.

Таблица 4.5.

Формат пакетов LCP "Сброс конфигурации"

0 1 2 3  
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  
Код Идентификатор Длина Опции ...

Поле "Код"

Для сброса конфигурации принимает значение, равное 4.

Поле "Идентификатор"

Поле "Идентификатор" - это копия поля "Идентификатор" запроса конфигурации, который вызвал этот сброс конфигурации.

Поле "Опции"

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

§4.6. Формат пакетов LCP "Запрос разъединения" и "Подтверждение разъединения"

 

Общее описание

Для обеспечения механизма закрытия связи протокол LCP использует пакеты "Запрос разъединения" (Terminate-Request) и "Подтверждение разъединения" (Terminate-Ack).

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

После приема запроса разъединения, должно быть передано подтверждение разъединения. Прием нетребуемого подтверждения разъединения показывает, что одноранговый объект находится в состоянии "Закрыто" или "Стоп", или указывает на необходимость новых транзакций.

Формат пакетов "Запрос разъединения" и "Подтверждение разъединения" показан ниже. Поля передаются слева направо.

Таблица 4.6.

Формат пакетов LCP "Запрос разъединения" и "Подтверждение разъединения"

0 1 2 3  
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  
Код Идентификатор Длина Данные...

Поле "Код"

Для запроса разъединения принимает значение, равное 5. Для подтверждения разъединения принимает значение, равное 6.

Поле "Идентификатор"

Поле "Идентификатор" при передаче должно изменяться всякий раз, когда изменяется содержание поля "Данные" и когда для предыдущего запроса получен корректный ответ. Для повторных передач идентификатор может оставаться неизменным.

При приеме поле "Идентификатор" пакета "Запрос разъединения" копируется в поле "Идентификатор" пакета "Подтверждение разъединения".

Поле "Данные"

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

§4.7. Формат пакетов LCP "Сброс кода"

 

Общее описание

Прием пакета протокола LCP с неизвестным кодом указывает, что одноранговый объект работает с другой версией. Об этом должно быть сообщено отправителю неизвестного кода путем передачи пакета "Сброса кода" (Code-Reject).

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

Формат пакетов "Сброс кода" показан ниже. Поля передаются слева направо.

Таблица 4.7.

Формат пакетов LCP "Сброс кода"

0 1 2 3  
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1  
Код Идентификатор Длина Сброшенный пакет...

Поле "Код"

Для сброса кода принимает значение, равное 7.

Поле "Идентификатор"

Поле "Идентификатор" должно изменяться для каждого посланного сброса кода.

Поле "Сброшенный пакет"

Поле "Сброшенный пакет" содержит копию пакета LCP, которая отклонена. Оно начинается с информационного поля и не включает никакие заголовки уровня звена передачи данных (ЗПД) и контрольную сумму (FCS). Для согласования c величиной MRU, установленной одноранговым объектом, поле "Сброшенный пакет" может сегментироваться.

§4.8. Формат пакетов LCP "Сброс протокола"

 

Общее описание

Прием пакета PPP с неизвестным полем протокола указывает, что одноранговый объект пытается использовать протокол, который не поддерживается. Это обычно происходит, когда одноранговый объект пытается сконфигурировать новый протокол. Если автомат LCP находится в состоянии "Открыто", то об этом должно быть сообщено одноранговому объекту путем передачи пакета "Сброс протокола" (Protocol-Reject).

При приеме сброса протокола, приложение должно прекратить посылать пакеты обозначенного протокола. Пакеты "Сброс протокола" могут быть посланы только в состоянии LCP "Открыто". Данные пакеты, полученные в любом другом состоянии LCP, следует сбрасывать без уведомления. Формат пакетов "Сброс протокола " показан ниже. Поля передаются слева направо.

Таблица 4.8.

Формат пакетов LCP "Сброс протокола"

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Код Идентификатор Длина

Сброшенный протокол

Сброшенная информация...

Поле "Код"

Для сброса протокола принимает значение, равное 8.

Поле "Идентификатор"

Поле "Идентификатор" должно изменяться для каждого посланного сброса протокола.

Поле "Сброшенный протокол"

Поле "Сброшенный протокол" включает два октета и содержит поле протокола PPP пакета, который был сброшен.

Поле "Сброшенная информация"

Поле "Сброшенная информация" содержит копию пакета, который сброшен. Оно начинается с информационного поля и не включает заголовки уровня ЗПД и контрольную сумму (FCS). Поле "Сброшенная информация" должно сегментироваться, чтобы согласовываться c величиной MRU, установленной одноранговым объектом.

§4.9. Формат пакетов LCP "Запрос эха" и "Ответ эха"

 

Общее описание

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

При приеме запроса эха в состояние LCP "Открыто", должен быть передан ответ эха. Пакеты "Запрос эха" (Echo-Request) и "Ответ эха" (Echo-Reply) должны посылаться только, когда LCP находится в состоянии "Открыто". Пакеты "Запрос эха" и "Ответ эха", полученные в любом другом состоянии, следует сбрасывать без уведомления. Формат пакетов "Запрос эха" и "Ответ эха" показан ниже. Поля передаются слева направо.

Таблица 4.9.

Формат пакетов LCP "Запрос эха" и "Ответ эха"

0 1

2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Код Идентификатор

Длина

Номер

Данные...
       

Поле "Код"

Для запроса эха принимает значение, равное 9. Для ответа эха принимает значение, равное 10.

Поле "Идентификатор"

При передаче поле "Идентификатор" должно изменяться всякий раз, когда изменяется содержание поля "Данные", и когда для предыдущего запроса был получен корректный ответ. Для повторных передач идентификатор может оставаться неизменным. При приеме поле "Идентификатор" пакета "Запрос эха" копируется в поле "Идентификатор" пакета "Ответ эха".

Magic-номер

Поле magic-номера содержит четыре октета и помогает в обнаружении каналов, которые находятся в состоянии зацикливания. До согласования опций конфигурации magic-номера, он должен иметь нулевое значение. Для более подробного объяснения.

Поле "Данные"

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

 

§4.10. Формат пакетов LCP "Запрос сброса"

 

Общее описание

Для обеспечения механизма сброса уровня ЗПД при контроле канала в направлении от местной к отдаленной стороне в протоколе LCP предусмотрен код запроса сброса. Это полезно при отладке, тестировании работоспособности и для многих других функций.

Пакеты "Запрос сброса" (Discard-Request) должны посылаться только, когда LCP находится в состоянии "Открыто". При приеме любой пакет "Запрос сброса" должен сбрасываться без уведомления. Формат пакетов "Запрос сброса" показан ниже. Поля передаются слева направо.

Таблица 4.10.

Формат пакетов LCP "Запрос сброса"

0 1

2 3

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Код Идентификатор

Длина

Номер

Данные...
       

Поле "Код"

Для запроса сброса принимает значение, равное 11.

Поле "Идентификатор"

Поле "Идентификатор" должно изменяться для каждого посланного запроса сброса.

Magic-номер

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

Поле "Данные"

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

ЗАКЛЮЧЕНИЕ

 

Собственно PPP - это протокол, адаптирующий IP для работы на последовательных линиях. Он представляет собой некую прокладку между IP и модемными протоколами. PPP имеет смысл использовать вкупе со скоростными модемами на достаточно скоростных линиях.

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

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

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

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

 

 

СПИСОК ЛИТЕРАТУРЫ

 

1. Олифер В.Г. Олифер Н.А. Компьютерные сети: принципы, технологии, протоколы – СПБ Питер 2001г., 668с.

2. Пятибратов А. П. Вычислительные системы, сети и телекоммуникации: учебн. - М: финансы и статистика 2003г., 509с.

3. В.Л. Бройдо «Вычислительные системы, сети и телекоммуникации 2-е издание» - Промпилот, 2004 г., 477с.

4. Симпсон В. " PPP", Сетевая рабочая группа, STD, 1994г., 53с.

5. Перкинс Д. "Требования для стандартного протокола РРР", RFC 1547, Университет Карнеги-Меллон 1993г., 21с.

6. Рейнолдс Д., Постэл Д. " Присвоенные номера ", STD 2, RFC 1340, USC/ Институт информатики 1992г., 84с.

7. Кошелев С.В., Яковлев А.В. Информационные сети: Учеб. Пособие.- Муром: Изд-полиграфический центр МИ ВлГУ, 2004.- 101с.

8. Эви Немет, Гарт Снайдер, Скотт Сибасс, Трент Р. Хейн UNIX: Руководство системного администратора: Пер. с англ. – BHV, 1997-832с.

9. А. Филимонов. Построение мультисервисных сетей Ethernet. — БХВ -Петербург, 2007г , 592с.  

10. Руководство по технологиям объединенных сетей. 4-е изд. — М.: Вильямс, 2005г, 1040 с.

11. URL: http://www.soslan.ru/tcp/tcp02.html

12. Все о PPP [Электронный Ресурс] «Журнал сетевых решений/LAN», № 10 Константин Пьянзин URL: http://www.osp.ru/lan/1999/10/134443/

13. PPP (сетевой протокол) сеть [электронный ресурс] Материал из Википедии—свободной энциклопедии, URL: http://ru.wikipedia.org/wiki/PPP_%28%D1%81%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D1%80%D0%BE%D1%82%D0%BE%D0%BA%D0%BE%D0%BB%29

14. Протокол PPP (Point-to-Point Protocol) [электронный ресурс] Центр дистанционного обучения

URL: http://cdo.bseu.by/library/ibs1/fis/ppp/ppp_n/PPPs.html

15.  Создание VPN с использованием протоколов PPP и SSH, Олег Колесников, Брайан Хетч, [электронный ресурс] Библиотека on-line URL: http://citforum.ru/operating_systems/linux/linux_vpn/

16. Протокол PPP, Джон Вобус, Пеpевод: Гоpохов Виталий [электронный ресурс] Сайт для программистов URL: http://www.codenet.ru/webmast/ppp.php

17. Настройка протокола PPP, Всеволод Далекорей [электронный ресурс] URL: http://www.netconfig.org/other/194/

18. Протокол Point-to-Point [электронный ресурс] Виртуальная энциклопедия URL: http://rus-linux.net/MyLDP/BOOKS/nag-20/ppp.htm

19. Протокол PPP, Cisco CCIE[электронный ресурс] Сайт о сетевых технологиях, оборудовании cisco. URL: http://findotvet.ru/protokol-ppp/

20. Протокол PPP [электронный ресурс] Сайт об истории компьютеров URL: http://chernykh.net/content/view/556/754/

 


Дата добавления: 2020-01-07; просмотров: 172; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!