РРР — протокол двухточечного соединения
В Интернете двухточечные протоколы применяются очень часто в самых разных случаях, включая обеспечение соединения между маршрутизаторами, между пользователями и провайдерами. Обсуждаемый далее протокол называется РРР(Point-to-Point Protocol — протокол передачи от точки к точке), описан в RFC 1661 и доработан в некоторых более поздних документах RFC (например,
RFC 1662 и 1663). Протокол РРР выполняет обнаружение ошибок, поддерживает несколько протоколов, позволяет динамически изменять IP-адреса во время соединения, разрешает аутентификацию, а также имеет ряд других свойств.
Протокол РРР обеспечивает следующий набор методов:
1. Метод формирования кадров, однозначно обозначающий конец одного кадра
и начало следующего. Формат кадров также обеспечивает обнаружение ошибок.
2. Протокол управления каналом, позволяющий устанавливать каналы связи,
тестировать их, договариваться о параметрах их использования и снова отключать их, когда они не нужны. Этот протокол называется LCP(Link Control Protocol). Он поддерживает синхронные и асинхронные линии, бит- и байт ориентированное кодирование.
3. Способ договориться о параметрах сетевого уровня, который не зависит от
используемого протокола сетевого уровня. Для каждого поддерживаемого сетевого уровня этот метод должен иметь свой сетевой протокол управления (NCP,Network Control Protocol).
Чтобы посмотреть, как все это работает вместе, рассмотрим типичный сцена рий, когда домашний пользователь звонит поставщику услуг Интернета, чтобы превратить тем самым свой домашний компьютер во временный хост. Сначала персональный компьютер звонит через модем на маршрутизатор провайдера. После того, как, модем маршрутизатора ответит на звонок и установит физическое соединение, персональный компьютер посылает маршрутизатору серию LCP-пaкетов в поле данных пользователя одного или нескольких РРР-кадров. Эти пакеты и ответы на них определяют параметры протокола РРР. После того как обе стороны согласовывают параметры, посылается серия NCP пакетов для настройки сетевого уровня. Обычно персональный компьютер желает запустить стек протоколов TCP/IP, для чего ему нужен IP-адрес. На всех пользователей IP-адресов не хватает, поэтому обычно у каждого поставщика услуг Интернета имеется целый набор таких адресов, и он динамически назначает их каждому присоединившемуся персональному компьютеру на время сеанса связи. Если у провайдера есть п IP-адресов, он может одновременно подключить к Интернету до п машин, однако общее количество его клиентов может быть во
много раз больше. Для назначения IP-адреса используется протокол NCP для IP.
После этого персональный компьютер фактически становится хостом Интернета и может посылать и принимать IP-пакеты так же, как и постоянные хосты.
Когда пользователь заканчивает сеанс связи, NCP используется, чтобы разорвать
соединение сетевого уровня и освободить IP-адрес. Затем LCP используется для разрыва соединения уровня передачи данных. Наконец, компьютер дает модему команду повесить трубку, чем освобождает линию на физическом уровне.
Чтобы не изобретать велосипед, был выбран формат кадра РРР, близкий к формату кадра HDLC. В отличие от бит-ориентированного протокола HDLC, РРР является байт-ориентированным. В частности, в РРР применяется символьное заполнение на модемных телефонных линиях, поэтому все кадры состоят из целого числа байтов. С помощью протокола РРР невозможно послать кадр, состоящий из 30,25 байт, как это можно было сделать в протоколе HDLC. Кадры РРР могут посылаться не только по телефонным линиям, но и по сети SONET или по
настоящим бит-ориентированным HDLC-линиям (например, по линиям, соединяющим маршрутизаторы). Формат кадра РРР показан на рис.
байты 1 1 1 1 или 2 переменный 2 или 4 1
Flag | Address | Control | Protocol | Payload | Checksum | Flag |
Все РРР-кадры начинаются со стандартного флагового байта протокола HDLC (01111110). Если такой байт встречается в поле данных, то применяется символьное заполнение. Следом за ним идет поле Address (адрес), которому всегда присваивается двоичное значение 11111111, что означает, что все станции должны принимать этот кадр. Использование такого адреса позволяет избежать необходимости назначения адресов передачи данных. За полем адреса следует поле Control, его значение по умолчанию равно 00000011. Это число означает ненумерованный кадр. Другими словами, РРР поумолчанию не обеспечивает надежной передачи с использованием порядковых номеров и подтверждений. В зашумленных каналах, например при беспроводной
связи, может применяться надежная передача с порядковыми номерами. Детали этого описаны в RFC 1663, но на практике такой способ применяется редко. Так как в конфигурации по умолчанию поля Address и Control являются константами, протокол LCP предоставляет возможность двум сторонам договориться 0 возможности пропускать оба поля и сэкономить, таким образом, по 2 байта на кадр. Четвертое поле кадра РРР — Protocol (протокол). Оно определяет тип пакета,
содержащегося в поле данных (Payload). Определены коды для протоколов LCP, NCP, IP, IPX, AppleTalk и др. Номера протоколов сетевого уровня, например, IP, IPX, OSI CLNP, XNS, начинаются с бита 0. С бита 1 начинаются коды, используемые для переговоров об использовании других протоколов. К ним относятся LCP, а также различные протоколы NCP для каждого поддерживаемого протокола сетевого уровня. Размер поля Protocol по умолчанию составляет 2 байта, однако путем переговоров с помощью LCP этот размер может быть уменьшен до
1 байта. Поле Payload (поле полезной нагрузки, или поле данных) может быть переменной длины, вплоть до некоего оговоренного максимального значения. Если размер не оговорен во время установки соединения при помощи LCP, то по умолчанию он может составлять до 1500 байт. При необходимости данные пользователя могут дополняться специальными символами.
Следом за полем Payload располагается поле Checksum (контрольная сумма), которое в обычном состоянии занимает 2 байта, но в случае необходимости по договоренности может занимать 4.
Итак, РРР является механизмом формирования кадров, поддерживающим различные протоколы, которым можно пользоваться при модемных соединениях, в последовательных по битам линиях HDLC, сетях SONET и других физических средах. РРР поддерживает обнаружение ошибок, переговоры о параметрах, сжатие заголовков, а также, по желанию, надежное соединение с использованием кадров HDLC.
Рассмотрим теперь способы установления и разрыва соединения. Упрощенная диаграмма на рис показывает фазы, через которые проходит линия связи при ее установлении, использовании и разъединении. Эта последовательность применима как к соединению с помощью модемов, так и к соединениям между маршрутизаторами.
Начальное состояние протокола таково: линия отключена (DEAD), физический носитель отсутствует, соединения на физическом уровне не существует. После того как физическое соединение установлено, линия переходит в состояние ESTABLISH (установка). В этот момент начинаются переговоры о параметрах с помощью протокола LCP. При успешном результате переговоров линия переходит в фазу AUTHENTICATE (идентифицировать). Теперь обе стороны по желанию могут проверить, кем является собеседник. При переходе к фазе NETWORK (сеть)
включается соответствующий протокол NCP для настройки сетевого уровня. Если настройка проходит успешно, линия переходит в фазу OPEN (открытая), приэтом может осуществляться передача данных. Когда передача данных закончена, линия переходит к фазе TERMINATE (завершение), а затем снова в состояние DEAD (отключена), когда физическое соединение разрывается. Протокол LCP используется для переговоров об используемых параметрах
уровня передачи данных во время установочной фазы (ESTABLISH). Причем в его ведении находятся отнюдь не сами обсуждаемые параметры, а механизм переговоров. Он предоставляет способ инициировать процесс подачи предложения и поддерживает ответный процесс принятия или отказа от поданного предложения целиком или частично. Кроме того, он предоставляет методы проверки качества линии, чтобы договаривающиеся процессы могли решить, стоит ли вообще устанавливать соединение на этой линии. Наконец, протокол LCP позволяет отключить линию, если она больше не используется. В RFC 1661 определены одиннадцать типов LCP-пакетов. Коды, начинающиеся со слова Terminate (завершить), используются для отключения линии, когда она перестает использоваться. Коды Code-reject (код отвергнут) и Protocol-reject (протокол отвергнут) применяются ответчиком для сообщения, что он получил что-то непонятное. Это может означать, что произошла ошибка при передаче пакета или инициатор и ответчик используют разные версии протокола LCP. Пакеты, названия которых начинаются с Echo (эхо), применяются для проверки качества линии. И наконец, Discard-request используется для отладки. Если ему удается пройти по линии, он просто игнорируется ответчиком, чтобы не мешать человеку, осуществляющему отладку.
20.Фильтрация пакетов. Firewalls.
Proxy сервер.
Прокси-сервер (от англ. proxy — «представитель, уполномоченный») — служба (комплекс программ) в компьютерных сетях, позволяющая клиентам выполнять косвенные запросы к другим сетевым службам. Сначала клиент подключается к прокси-серверу и запрашивает какой-либо ресурс (например, e-mail), расположенный на другом сервере. Затем прокси-сервер либо подключается к указанному серверу и получает ресурс у него, либо возвращает ресурс из собственного кэша (в случаях, если прокси имеет свой кэш). В некоторых случаях запрос клиента или ответ сервера может быть изменён прокси-сервером в определённых целях. Также прокси-сервер позволяет защищать клиентский компьютер от некоторых сетевых атак и помогает сохранять анонимность клиента.
Использование
Чаще всего прокси-серверы применяются для следующих целей:
· Обеспечение доступа с компьютеров локальной сети в Интернет.
· Кэширование данных: если часто происходят обращения к одним и тем же внешним ресурсам, то можно держать их копию на прокси-сервере и выдавать по запросу, снижая тем самым нагрузку на канал во внешнюю сеть и ускоряя получение клиентом запрошенной информации.
· Сжатие данных: прокси-сервер загружает информацию из Интернета и передаёт информацию конечному пользователю в сжатом виде. Такие прокси-серверы используются в основном с целью экономии внешнего сетевого трафика клиента или внутреннего — компании, в которой установлен прокси-сервер.
· Защита локальной сети от внешнего доступа: например, можно настроить прокси-сервер так, что локальные компьютеры будут обращаться к внешним ресурсам только через него, а внешние компьютеры не смогут обращаться к локальным вообще (они «видят» только прокси-сервер). См. также NAT.
· Ограничение доступа из локальной сети к внешней: например, можно запретить доступ к определённым веб-сайтам, ограничить использование интернета каким-то локальным пользователям, устанавливать квоты на трафик или полосу пропускания, фильтровать рекламу и вирусы.
· Анонимизация доступа к различным ресурсам. Прокси-сервер может скрывать сведения об источнике запроса или пользователе. В таком случае целевой сервер видит лишь информацию о прокси-сервере, например, IP-адрес, но не имеет возможности определить истинный источник запроса. Существуют также искажающие прокси-серверы, которые передают целевому серверу ложную информацию об истинном пользователе.
· Обход ограничений доступа. Прокси-серверы популярны среди пользователей стран, где доступ к некоторым ресурсам ограничен законодательно и фильтруется.
Прокси-сервер, к которому может получить доступ любой пользователь сети интернет, называется открытым.
Дата добавления: 2018-09-24; просмотров: 1185;