Галкин В.А., Григорьев Ю.А. - Телекоммуникации и сети (1053870), страница 80
Текст из файла (страница 80)
Для разделе1шя SLIP-кадров между ними вставляется служебныйбайт-разделитель - символ ESC (DB)^.Применение специального символа может породить конфликт: если байтпересылаемых данных тождественен символу END, то он будет ошибочно определен как признак конца пакета. Чтобы такой байт, встретившийся внутриIP-пакета, не воспринимался как разделитель, предусмотрен механизм вставки байта (byte staffing).Таким образом, собственно служебной информации в протоколе SLIP довольно мало: на IP-пакет добавляется один байт-разделитель (между пакетами они не дублируются), а иногда появляется несколько дополнительных байтов, вставляемых по процедуре вставки байта.Пакет IP"^1^«л^соDB\к\\ENDESC1 СОDB^^к\\\ESCDBDC1,DD\ENDсо\ ^I<адр8ЫР>Рис.
5.11. Соответствие между блоками данных протоколов IP и SLIP3405.4. Протоколы IVуровня стека TCP/IPСтандарт не определяет фиксированный размер SLIP-кадра, поэтому любой SLIP-интерфейс имеет специальное поле, в котором пользователь долженуказать эту длину. Однако в конкретных реализациях максимальный размерSLIP-кадра часто оказьшается ограниченным до очень небольшого значения(от 256 до 1006 байт). Данное ограничение связано с первой реализацией протокола SLIP в соответствующем драйвере для Berkley Unix, и его соблюдениенеобходимо для поддержки совместимости разных реализаций SLIP (больпшнство современных реализаций поддерживают эту длину и позволяют администратору самому установить его размер, а по умолчанию принимают размер1500 байг).В каждом из SLIP-кадров полностью воспроизводится IP-заголовок размером 20 байт (рис.
5.11). Из-за этого избыточность, возникающая при передачедлинньпс пакетов по протоколу SLIP, весьма велика. Существенна и избыточность, порождаемая самим асинхронным методом передачи на интерфейсе ПКмодем (минимум 20 % на дополнительные стартовый и стоповый биты на каждый байт). Но с этим ничего поделать нельзя, поскольку все персональныекомпьютеры имеют только асинхронные порты.Для установления связи по протоколу SLIP компьютеры должны иметь информацию об IP-адресах друг друга. В протоколе SLIP нет механизмов, обеспечивающих возможность обмениваться адресной информацией, так как вструктуре кадра не предусмотрено поле адреса и его специальная обработка.Поэтому компьютерам, взаимодействующим по протоколу SLIP, должны бытьназначены IP-адреса заранее.
Каждый раз после установления SLIP-соединения компьютер превращается в полноправный хост Internet со своим собственным ЕР-адресом. Если провайдер использует динамическое присвоение IP-адресов, то при каждом новом соединении компьютер будет получать новыйIP-адрес. Следовательно, другие компьютеры в сети будут вьшуждены искатьего под неизвестно каким адресом.Другим недостатком протокола SLIP является отсутствие в нем индикациитипа протокола, пакет которого инкапсулируется в SLIP-кадр. Поэтому черезпоследовательную линию по протоколу SLBP можно передавать трафик лишьодного сетевого протокола. SLIP не позволяет различать пакеты по типу протокола, например, IP или DECnet. При работе по протоколу SLIP предполагается использование только протокола IP, что определено его названием SerialLine IPПри работе с реальными телефонными линиями, зашумленными и поэтомуискажающими информацию при пересылке, необходимы процедуры обнаружения и коррекции ошибок.
В протоколе SLIP такие процедуры не предусмотрены. Эти функции обеспечивают вышележащие протоколы: протокол DP проводит тестирование целостности пакета по заголовку IP, а один из двухтранспортных протоколов (UDP или TCP) проверяет целостность всех данныхпо контрольным суммам.3415. Сетевые протоколыВ стандартном SLIP не предусмотрено сжатие данных, но существуют еговарианты со сжатием, например С SLIP. Большинство современных модемов,поддерживающих стандарты V.42bis и MNP5, осуществляют эту операцию аппаратно.Низкая пропускная способность последовательных линий связи заставляетсокращать время передачи пакетов, уменьшая объем содержащейся в них служебной информации.
Эта задача решается с помощью протокола CompressedSLIP (CSLIP), поддерживающего сжатие заголовков IP-пакетов.Протокол С SLIP бьш создан в Lawrence Berkeley Labs (LBL) Ван Якобсоном как средство повышения эффективности последовательной передачи иуровня сервиса прикладных программ, использующих TCP/IP на медленныхлиниях. Протокол CSLIP, по сравнению с протоколом SLIP, использует в шестьраз меньше избыточной информации (в виде заголовков). На низких скоростяхпередачи данных эта разница заметна только при работе с IP-пакетами, несущими малые объемы информации, такие пакеты формируются, например, приработе telnet или rlogin. На больших же скоростях CSLIP дает меньший вьшгрыш и почти никакого вьшгрыша для пакетов с большими объемами даьшых,например ftp-пакетов.Появление CSLDP объясняет тот факт, что при использовании программ типаtelnet, rlogin и других для пересьшки одного байта данных требуется переслать40 байт служебной информации.
При сжатии заголовков 20 октетов заголовкаIP и 20 октетов заголовка TCP (итого 40 байт) заменяются 3 - 7 октетами.CSLIP для сжатия - распаковки и проверки правильности пересьшки пакета (изаголовка) использует информацию из предьщущего пакета, т.е. передача имеет структуру цепочки. Первый пакет в цепочке - несжатый. Если какой-либопакет теряется, то цепочка рвется, нельзя этот же пакет запросить в самомконце передачи, его нужно пересьшать заново тут же, т.е. прекращать процесспередачи и начинать новую цепочку. Таким образом, эта технология при пропаже или искажении пакетов приводит к большим потерям времени, чем обычный SLIP. Это происходит из-за задержек на останов и передачу нового несжатого пакета.Так как в протоколе SLIP процедуры обнаружения и коррекции ошибок непредусмотрены, то нежелательно совместное использование дейтаграммногопротокола UDP и SLIP. Это объясняется тем, что в протоколе UDP не обязательно применение контрольньпс сумм.Дальнейшим развитием протокола SLIP является протокол РРР (RFC 1331),в котором устранены некоторые недостатки протокола SLIP.
Необходимо помнить что SLIP и РРР - протоколы канального уровня.Протокол РРРПротокол Point-to-Point Protocol (РРР) (протокол канала связи с непосредственным соединением) бьш официально опубликован в 1993 г. и стал стандартом для связи по последовательным каналам, например таким, которые при3425.4. Протоколы IVуровня стека TCP/IPменяют для обмена информацией между домашними компьютерами и Internetпо коммутируемым телефонным линиям.
РРР имеет значительные преимущества перед SLIP: компьютеры на противоположных концах соедршения могутдоговариваться о параметрах сеанса связи и сообщать друг другу свои IPадреса, которые в отличие от SLIP, могут назначаться динамически.Кроме формирования стандартных IP-пакетов данные, протокол РРР призван решать и другие проблемы, в том числе:• присвоение и управление ГР-адресами;• асинхронное и синхронное бит-ориентированное формирование пакета данных;• мультиплексирование протокола сети;• конфигурация канала связи;• проверка качества канала связи;• обнаружение ошибок;• согласование адреса сетевого уровня;• согласование протокола сжатия информации.Протокол РРР решает эти задачи путем обеспечения расширяемого протокола управления каналом (LCP - Link Control Protocol) и семейства протоколовуправления сетью (NCP - Network Control Protocols), которые позволяют согласовывать факультативные параметры конфигурации и различные возможности.РРР реализует метод передачи дейтаграмм через последовательные каналы связи с непосредственным соединением.
Протокол РРР содержит три основные компонента:протокол управления каналом передачи данных высокого уровня (HDLC ),используемый в качестве базиса для формирования дейтаграмм при прохождении через каналы с непосредственным соединением;расширяемый протокол LCP - для организации, выбора конфигурации и проверки соединения канала передачи данных;семейство протоколов NCP - для организации и выбора конфигурации различных протоколов сетевого уровня.РРР обеспечивает одновременное пользование множеством протоколовсетевого уровня.Основные принципы работы.
Чтобы организовать связь через каналсвязи с непосредственным соединением, инициирующий РРР сначала отправляет пакеты LCP для выбора конфигурации и (факультативно) проверки каналапередачи данных. После того, как канал установлен и пакетом LCP проведенонеобходимое согласование факультативных средств, инициирующий РРР отправляет пакеты NCP, чтобы выбрать и определить конфигурацию одного илиболее протоколов сетевого уровня. Как только конфигурация каждого выбранного протокола определена, дейтаграммы из каждого протокола сетевого уровня можно отправлять через данный канал. Канал сохраняет свою конфигурацию для связи до тех пор, пока явно вьфаженные пакеты LCP или NCP не3435.
Сетевые протоколызакроют этот канал или пока не произойдет какое-нибудь внешнее событие (например, истечет срок бездействия таймера или вмешается какой-нибуць пользователь).Требования к интерфейсам физического уровня, РРР может работатьчерез любой интерфейс DTE/DCE (например, EIA RS-232-C, EIA RS-422, EIARS-423 и CCITT V.35). Единственным требованием, которое предъявляет РРР,является обеспечение дублированных схем (либо специально назначенных, либопереключаемых), которые могут работать как в синхронном, так и в асинхронном последовательном по битам режиме, прозрачном для блоков данных канального уровня РРР.
Протокол не предъявляет каких-либо ограничений, касающихся скорости передачи информации, кроме тех, которые определеныконкретным примененным интерфейсом DTE/DCE.Канальный уровень РРР. РРР использует принципы, терминологию и структуру блока данных процедур HDLC (ISO 3309-1979), модифицированных стандартом ISO 3309-1984/PDADl (Приложение 1: Стартстопная передача). ISO3309-1979 определяет структуру блока данных HLDC для применершя в синхронных режимах передачи. ISO 3309-1984/PDADl определяет предложенныедля стандарта ISO 3309-1979 модификации, которые позволяют его использование в асинхронных режимах.
Формат блока данных РРР приведен на рис. 5.12.Длина поля Flag составляет 1 байт; она указьгоает на начало или конец блока данных. Эта последовательность состоит из бинарной последовательности01111110-(7Е)л.Длина поля y4ddress тоже равна 1 байт; оно содержит бинарную последовательность 11111111- (РР)л, представляющую собой стандартный широковещательный адрес. РРР не присваивает индивидуальньпс адресов станциям.Поле Control составляет 1 байт; содержит информацию о предоставляемыхуслугах.Длина поля Protocol равна 2 байт; его значение идентифицирует протокол,заключенный в информационном поле блока данных. Значения поля Protocol исоответствующие им пакеты представлены в табл.