Протоколы SLIP, PPP. Протоколы SLIP и PPP

03.04.2019 Проблемы

Протокол SLIP

Протокол SLIP (Serial Line IP) был первым стандартом де-факто, позволяющим устройствам, соединенным последовательной линией связи, работать по протоколам TCP/IP. Он был создан в начале 80-х годов и в 1984 году встроен Риком Адамсом (Rick Adams) в операционную систему 4.2 Berkley Unix. Позднее SLIP был поддержан в других версиях Unix и реализован в программном обеспечении для ПК.

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

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

Чтобы распознать границы IP-пакетов, протокол SLIP предусматривает использование специального символа END, значение которого в шестнадцатеричном представлении равно С0. Применение специального символа может породить конфликт: если байт пересылаемых данных тождественен символу END, то он будет ошибочно определен как признак конца пакета. Чтобы предотвратить такую ситуацию, байт данных со значением, равным значению символа END, заменяется составной двухбайтовой последовательностью, состоящей из специального символа ESC (DB) и кода DC. Если же байт данных имеет тот же код, что и символ SLIP ESC, то он заменяется двухбайтовой последовательностью, состоящей из собственно символа SLIP ESC и кода DD. После последнего байта пакета передается символ END.

Механизм формирования составных последовательностей показан на рис. 6.13. Здесь приведены стандартный IP-пакет (один байт которого тождественен символу END, а другой - символу SLIP ESC) и соответствующий ему SLIP-пакет, который больше на 4 байта.

Рис. 6.13. Инкапсуляция IP-пакетов в SLIP-пакеты

Хотя в спецификации протокола SLIP не определена максимальная длина передаваемого пакета, реальный размер IP-пакета не должен превышать 1006 байт. Данное ограничение связано с первой реализацией протокола SLIP в соответствующем драйвере для Berkley Unix, и его соблюдение необходимо для поддержки совместимости разных реализации SLIP (большинство современных реализации позволяют администратору самому установить размер пакета, а по умолчанию используют размер 1500 байт).

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

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

При работе с реальными телефонными линиями, зашумленными и поэтому искажающими пакеты при пересылке, требуются процедуры обнаружения и коррекции ошибок. В протоколе SLIP такие процедуры не предусмотрены. Эти функции обеспечивают вышележащие протоколы: протокол IP проводит тестирование целостности пакета по заголовку IP, а один из двух транспортных протоколов (UDP или TCP) проверяет целостность всех данных по контрольным суммам.

Низкая пропускная способность последовательных линий связи вынуждает сокращать время передачи пакетов, уменьшая объем содержащейся в них служебной информации. Эта задача решается с помощью протокола Compressed SLIP (CSLIP), поддерживающего сжатие заголовков пакетов. Появление CSLIP объясняется тем фактом, что при использовании программ типа Telnet, Riogin и других для пересылки одного байта данных требуется переслать 20-байтовый заголовок IP-пакета и 20-байтовый заголовок TCP-пакета (итого 40 байт). Спецификация CSLIP обеспечивает сжатие 40-байтового заголовка до 3-5 байт. На сегодняшний момент большинство реализации протокола SLIP поддерживают спецификацию CSLIP.

Мы ранее рассматривали вхождение в сети через локальный интерфейс Ethernet. Рассмотрим использование в сети телефонной линии. Существует соответственное программное обеспечение.

Компьютер подключается к телефонной линии через модем или другое аналогичное устройство.

В качестве стандартных программ управляющих передачей через телефонные линии использует два протокола SLIP и PPP.

SLIP-протокол

SLIP (Serial Line IP) –.протокол последовательной передачи данных. Протокол SLIP позволяет компьютеру использовать IP в осуществлении связи в сети через телефонные линии и модемы, а также непосредственно через интерфейс RS-232.

Программное обеспечение, реализующее работу с протоколом SLIP, принимает IP-пакеты от процесса, посылающего их от программы сетевого уровня, добавляет свою служебную информацию и пере даёт устройству последовательной передачи данных (модему, COM-порту и т.д., байт-ориентированный). На другом конце последовательной линии аналогичная программа принимает символы, переходящие с устройства последовательной передачи данных, освобождает от служебной информации, восстанавливая IP-пакеты и передаёт их соответствующей программе сетевого уровня.

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

Символ SLIP END – соответствующий байту с децимальным кодом 192, который маркирует конец датаграммы. Когда принимающий SLIP получает байт с таким кодом, он определяет, что это конец датаграммы и передаёт её IP уровню.

Символ SLIP ESC – соответствующий байту с децимальным кодом 219. этот символ предназначен для исключения из последовательности SLIP-управляющих символов. Если передающий SLIP распознаёт в выводимой информации байт со значением эквивалентным SLIP END, то он преобразует этот символ в двух байтовую последовательность байт. Эти 2-х байтные последовательности, он преобразовывает их обратно в однобайтовые значения.

Протокол SLIP очень простой. Он не организует проверки правильности передачи, не умеет управлять параметрами соединения и т.д., что сильно ограничивает его применимость.

Протокол PPP

Учитывая недостатки SLIP, был разработан протокол PPP – the point-to-point protocol. Этот протокол разработан группой IETF (Internet Engineering Task Force) как часть стека TCP/IP для передачи кадров информации по последовательным глобальным каналам. Протокол PPP стал фактическим стандартом для глобальных линий связи при соединении удаленных клиентов с серверами и для образования соединений между маршрутизаторами в корпоративной сети. Протокол PPP разрабатывался с целью передачи данных для широкого круга сетевых протоколов. Протокол PPP более надёжный протокол, чем SLIP, но и более трудоёмкий в исполнении.

При разработке протокола PPP за основу был взят формат кадров HDLC и дополнен собственными полями. Поля протокола PPP вложены в поле данных кадра HDLC. Позже были разработаны стандарты, использующие вложение кадра PPP в кадры frame relay и других протоколов глобальных сетей.

PPP протокол является 3-х-уровневым протоколом, включающим в себя:

Data link layer protocol – уровень пересылки данных использует простую модификацию версии HDLC – протокола (High-level Data Link Control). HDLC – это международный стандарт для надёжной передачи данных через синхронную, последовательную линию связи, т.е. протокол PPP может гарантировать надёжную доставку сообщений, через различные типы последовательных линий.

Link Control Protocol – протокол управления связью. Производит управляющую информацию для последовательной линии. Он используется для установления соединения, конфигурирования параметров соединения, проверки качества соединения, и для закрытия соединения.

Network Control Protocol – протокол управления сетью – производит конфигурацию и управляющую информацию для протоколов сетевого уровня.

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

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

Переговорное принятие параметров соединения . В корпоративной сети конечные системы часто отличаются размерами буферов для временного хранения пакетов, ограничениями на размер пакета, списком поддерживаемых протоколов сетевого уровня. Физическая линия, связывающая конечные устройства, может варьироваться от низкоскоростной аналоговой линии до высокоскоростной цифровой линии с различными уровнями качества обслуживания. Чтобы справиться со всеми возможными ситуациями, в протоколе РРР имеется набор стандартных установок, действующих по умолчанию и учитывающих все стандартные конфигурации. При установлении соединения два взаимодействующих устройства для нахождения взаимопонимания пытаются сначала использовать эти установки. Каждый конечный узел описывает свои возможности и требования. Затем на основании этой информации принимаются параметры соединения, устраивающие обе стороны, в которые входят форматы инкапсуляции данных, размеры пакетов, качество линии и процедура аутентификации. Протокол, в соответствии с которым принимаются параметры соединения, называется протоколом управления связью (Link Control Protocol, LCP) . Протокол, который позволяет конечным узлам договориться о том, какие сетевые протоколы будут передаваться в установленном соединении, называется протоколом управления сетевым уровнем (Network Control Protocol, NCP) . Внутри одного РРР - соединения могут передаваться потоки данных различных сетевых протоколов. Одним из важных параметров РРР - соединения является режим аутентификации. Для целей аутентификации РРР предлагает по умолчанию протокол РАР (Password Authentication Protocol), передающий пароль по линии связи в открытом виде, или протокол CHAP (Challenge Handshake Authentication Protocol), не передающий пароль по линии связи и поэтому обеспечивающий большую безопасность сети. Пользователям также разрешается добавлять и новые алгоритмы аутентификации. Дисциплина выбора алгоритмов компрессии заголовка и данных аналогична.

Протокол DNS

7.6.1 Описание протокола DNS

В первые годы Internet имел небольшое число узлов. До 1980 года в сети ARPANET входило несколько сотен компьютеров. Соответствие между их именами и IP-адресами хранились в текстовом файле hosts.txt, но он хранился на компьютере Информационного центра сети в Стэнфордском исследовательском институте г. Мейло-Парк в Калифорнии (SRI-NIC – Stanford Research Institute’s Network Inform Center).

Другие компьютеры подключенные к сети ARPANET, по мере необходимости копировали этот файл с компьютера SRI-NIC. Обновление происходило один два раза в неделю. С ростом числа машин стали возникать проблемы:

Файл hosts.txt стал слишком большим;

Обновление необходимо проводить несколько раз в день;

Весь трафик сети, связанный с разрешением имён, проходил через SRI-NIC, и поддержка файла hosts.txt стала узким местом всей сети;

Файл hosts.txt использовал линейное пространство имён.

Эти и другие проблемы заставили руководство ARPANET искать механизм замены файла hosts.txt. В результате была создана доменная система имён – DNS.

DNS – это метод назначения имён путём передачи сетевым группам ответственности за их подмножество имён.

Каждый уровень этой системы называется доменом. Домены в именах отделяются друг от друга точками.

Пример: admin.isp.nsc.ru. или cyber.neic.nsk.ru.

Первым в имени стоит название рабочей машины – реального компьютера с IP-адресом.

Затем в имени стоит имя группы (например: neic –имя института, либо имя группы, которая поддерживает множество имён машин).

Группа входит в более крупное объединение (например: nsc – Сибирское отделение, nsk – г.Новосибирск).

Объединение является частью национальной сети (например: ru, su – Россия, de – Германия, pl – Польша и т.д.).

Для США наименование страны опускается, там самыми крупными объединениями является сети образовательных (.edu), коммерческих (.com), государственных (.gov), военных (.mil), других (.org) и сетевых (.net) ресурсов.

В пределах одного домена не должно быть одинаковых имён. Если группа сама занимается распределением и распознаванием своих имён она должна выделится в отдельную DNS-зону и иметь DNS-сервера (первичны и вторичный), которые ведёт информационную базу по именам компьютеров всей этой группы.

DNS – представляет собой иерархическую распределённую систему управления базой данных, основанная на архитектуре “клиент-сервер”. Назначение базы данных DNS – преобразование имён компьютеров в IP-адреса. Клиенты DNS называются определителями, а серверы – серверами имён.

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

Серверы имён разделяются на основной и резервный.

Основной сервер имён получает данные для зоны из локальных файлов. Модификация зоны – добавление (удаление) доменов или узлов – выполняется на уровне основного сервера.

Резервные серверы имён получают данные о зонах от основного сервера. Передача информации о зоне называется передачей зоны.

Сервер определяется как основной и резервный на уровне зоны. Поэтому каждый сервер может быть как основным так и резервным.

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

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

DNS-сервер имеет два файла, содержащих базу имён:

файл прямой зоны;

файл обратной зоны.

Файл прямой зоны – named.hosts используется для преобразования имён машин в IP-адреса.

Строка того файла содержит имя мащины и ее IP-адрес:

admin.isp.nsc.ru IN A 194.226.178.182

Файл обратной зоны named.rev (*.rev) преобразует IP-адрес в имя машины. Строка файла обратной зоны содержит IP-адрес машины и ее имя:

194.226.178.182 IN PTR admin.isp.nsc.ru

7.7 Протокол RIP – маршрутизации

Протокол маршрутной информации. RIP (routing information protocol) – относится к широко известному классу протоколов маршрутизации, основанных на алгоритме Беллмана-Форда. Этот протокол базируется на так называемых алгоритмах векторных расстояний.

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

Существует три наиболее общих маршрутных конфигураций:

минимальная маршрутизация – используется, когда сеть полностью изолирована от других TCP/IP сетей. Таблица минимальной маршрутизации создаётся вручную, администратором в процессе конфигурирования сети;

статическая конфигурация – используется, когда сеть имеет ограниченное число шлюзов к другим TCP/IP сетям. Таблица статической маршрутизации создаётся вручную системным администратором с помощью команды route. Таблица статической маршрутизации используется, если в структуре сети нет изменений;

динамическая маршрутизация – используется, когда в сети имеется больше, чем один маршрут к какой-либо другой машине.

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

Информация о маршрутах между хостами не зависимо, каким образом она определялась – администратором вручную или протоколом маршрутизации и хранится в таблице маршрутов.

Алгоритм, реализующий протокол RIP, основан на обмене между маршрутизаторами только информацией о расстояниях между ними в соответствующей метрике.

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

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

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

длина равняется= (длина пути, сообщённая соседом A) + (длина пути до соседа A).

Рассмотрим принцип формирования таблиц маршрутов. Пусть дана сеть, показанная на рисунке 7.7.

Рис.7.7. Пример структуры сети

Заполним таблицы маршрутов каждой сети. Очевидно, что расстояние между соседями и метрика должны быть известны заранее. Неизвестные параметры устанавливаются произвольно. Примеры начальных состояний таблиц маршрутов каждого маршрутизатора показаны на рис.7.8:

Маршрутизатор A.

Маршрутизатор B.

Маршрутизатор C.

Рис.7.8. Таблицы маршрутов

Обмены осуществляются по состоянию, и после определённого числа получаем результат.

Так после первой итерации обменов маршрутизатор А получит данные от маршрутизатора В и скорректирует метрику до сети D. Маршрутизатор С получит данные от маршрутизатора D и скорректирует метрику до сети T.

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

Алгоритм Беллмана-Форда предусматривает диагностику обрыва линии. Если сосед соседу долго не отвечает, линии назначается метрика равная бесконечности – ∞.

Протокол RIP имеет следующие недостатки:

использование фиксированных метрик;

трудности в использовании в больших сетях, так как при расширении сети увеличивается количество изменения топологии, что требует более частой передачи маршрутной информации;

таблицы маршрутизации не учитывает возникающую загрузку каналов.

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

В настоящее время введён протокол маршрутизации нового поколения OSPF (open shortest path first).

Помимо основной функции – маршрутизации он оперативно распределяет график между равноценными маршрутами.

Составление таблиц маршрутизации может выполняться алгоритмом Беллмана-Форда. А механизм сбора и использования маршрутной информации отличается от RIP.

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

Если возникает изменение, то осуществляется рассылка информации методом лавинной маршрутизации.

7.8 NFS – сетевая файловая система

NFS – позволяет директориям и файлам быть распределёнными по сети.

Исходно NFS была разработана фирмой SON Microsystem. В настоящее время используется во всех UNIX – подобных ОС и в других не UNIX – подобных.

Через NFS пользователи и программы получают доступ к файлам, размещённым на удалённых компьютерах.

NFS имеет следующие достоинства:

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

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

NFS позволяет пользователям использовать семейство UNIX-команд, для управления удалёнными файлами. Например, для копирования файла из одной PC в другую нет необходимости использовать FTP, а можно использовать команду cp (copy).

Существует две стороны NFS – одна сторона – клиент и другая – сервер.

Клиент NFS – это система, которая использует удалённые директории так, как, если они были частью их собственной локальной файловой системы.

Сервер NFS – это системы, которая делает директории доступными для использования.

Присоединение удалённой директории к локальной файловой системе (функции клиента) называется примонтированием (mounting) директории.

Предоставление директории для удалённого доступа (сервер - функции) называется экспортированием (exporting) директории.

Часто ОС загружает в одной машине и сервер – функции, и клиент – функции.

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

7.8.1 Монтирование файловой системы

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

Монтирование файловой системы производится системным вызовом mount. В качестве аргументов передаются:

тип монтируемой файловой системы;

имя каталога, к которому подключается FS;

флаги (например, доступ к FS только для чтения);

дополнительные данные (вид зависит от реализации конкретной FS).

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

#mount –r oberon: / / USR / local.

#mount –t NFS oberon: / / USR / local

7.8.2 Блокирование доступа к файлу

NFS разрешает (в соответствии с архитектурой UNIX) нескольким процессам одновременный доступ к файлу для чтения и записи.

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

Для блокирования заданного диапазона байтов файла или записи файла служит системный вызов fcntl() и библиотечнаяфункция lockf() для блокировки всего файла на запись для чтения.

struct flock lock;

// заполним структуру lock для блокирования всего файла на запись

lock.l_type = F_RDLCK

// заблокируем файл для записи

fcntl (fd, SETLKW, & lock);

// запишем данные в файл

write (fd, record, sizeof (record));

// снимем блокирование

lock l_type = F_UNLCK;

Введение
Собственно SLIP и PPP - это протоколы, адаптирующие IP для работы на последовательных линиях. Они представляют собой некую прокладку между IP и модемными протоколами. SLIP и PPP имеет смысл использовать вкупе со скоростными модемами на достаточно скоростных линиях.
Основная функция программного обеспечения SLIP/PPP - организовать пересылку IP -пакетов по последовательной линии, которая не предусматривает деления пересылаемой информации на какие-либо отдельные блоки и пересылает все данные единым непрерывным потоком. SLIP/PPP как раз и занимается организацией такой пересылки, чтобы на другом конце можно было этот сплошной и непрерывный поток данных разделить на составляющие его IP -пакеты, выделить их и передать дальше уже как IP -пакеты.
SLIP/PPP очень удобен для подключения домашнего компьютера к локальной сети, которая, в свою очередь, входит в Internet. Например, можно воспользоваться PPP , чтобы подключить свою домашнюю персоналку к сети вашей организации. И тогда ваш компьютер будет иметь такие же возможности работы в Internet, как и любой другой компьютер вашей организации, подключённый к Сети через Ethernet.
SLIP/PPP подходят и для подключения домашнего компьютера (или очень маленькой локальной сети) к собственно првайдеру, который может предоставить непосредственный доступ в Internet.
Однако следует понимать, что эти протоколы, вообще-то, совсем не предназначены для подключения к Internet сетей средней величины или больших сетей: они не предназначены для работы на высокоскоростных линиях, которые требуются для обслуживания большого количество пользователей.

Протоколы SLIP и CSLIP
Первым стандартом де-факто, позволяющим устройствам, соединенным последовательной линией связи, работать по протоколам TCP/IP , был протокол SLIP (Serial Line IP ), созданный в начале 80-х годов и в 1984 году встроенный Риком Адамсом (Rick Adams) в ОС 4.2 Berkley UNIX. Позднее SLIP был поддержан и в других версиях UNIX и реализован в программном обеспечении для ПК.
Популярность протокола SLIP объясняется тем, что он дал возможность подключаться к сети Internet посредством стандартного порта RS232, имеющегося в большинстве компьютеров. В настоящее время SLIP широко используется в основном на домашних компьютерах, подключенных к последовательным линиям, которые имеют пропускную способность от 1200 бит/с до 19,2 Кбит/с.

Ограничения

Соединение по протоколу SLIP (Serial Lines Internet Protocol). Каждый протокол обладает свойством инкапсулировать данные. Протокол SLIP использует специальные символы для ограничения кадра данных в последовательном канале. Для того чтобы распознать границы SLIP-кадров, передаваемых по последовательной линии связи, и отделить один кадр от другого, протокол SLIP предусматривает использование специального символа END, значение которого в шестнадцатеричном представлении равно C0. Применение специального символа может породить конфликт: если байт пересылаемых данных тождественен символу END, то он будет ошибочно определен как признак конца кадра. Чтобы предотвратить такую ситуацию, байт данных со значением, равным значению символа END, заменяется составной двухбайтовой последовательностью, состоящей из специального символа ESC (DB) и кода DC. (Применяемый в протоколе SLIP символ ESC, не равный символу ESC в кодировке ASCII, будем обозначать SLIP ESC.) Если же байт данных имеет тот же код, что и символ SLIP ESC, то он заменяется двухбайтовой последовательностью, состоящей из собственно символа SLIP ESC и кода DD. После последнего байта пакета передается символ END.
Механизм формирования составных последовательностей показан на рис.1. Здесь приведены стандартный пакет IP, один байт которого тождественен символу END, а другой - символу SLIP ESC, и соответствующий ему пакет SLIP, который больше на 4 байта.

Хотя в спецификации протокола SLIP не определена максимальная длина передаваемого SLIP-кадра, реальный его размер определяется длной IP- пакета и не должен превышать 1006 байтов. Данное ограничение связано с первой реализацией протокола SLIP в соответствующем драйвере для Berkley Unix, и его соблюдение необходимо для поддержки совместимости разных реализаций SLIP .
Популярность протокола SLIP объясняется тем, что он дал возможность подключаться к сети Internet посредством стандартного порта RS 232, имеющегося в большинстве компьютеров. Программа управления SLIP загружается и выгружается по мере надобности. Большинство программ управления SLIP имеют возможность набирать телефонный номер провайдера.
Программное обеспечение, реализующее работу с протоколом SLIP (TCP-manager), выполняет функции управления сетевым устройством, то есть является драйвером сетевого устройства, такого, как модем. Оно принимает IP -пакеты от программы (точнее процесса), посылающей их (от программы сетевого уровня), обкладывает своей служебной информацией и передаёт устройству последовательной передачи данных (модему, в последовательный порт и т.п.). На другом конце последовательной линии аналогичная программа принимает символы, приходящие с устройства последовательной передачи данных, освобождает от служебной информации и передаёт то, что получилось, а должны получаться при этом IP -пакеты, соответствующей программе (сетевого уровня), которая обрабатывает IP -пакеты.


Ограничения. Для установления связи по протоколу SLIP в стеке протоколов TCP/IP компьютеры должны иметь информацию об адресах IP друг друга. Однако возможна ситуация, когда, скажем, при осуществлении соединения между хостом и маршрутизатором последнему понадобится передать хосту информацию о его адресе IP. Но в протоколе SLIP нет механизмов, дающих возможность обмениваться адресной информацией. Это ограничение не позволяет использовать SLIP для некоторых видов сетевого сервиса. Например, каждый раз после установления SLIP -соединения компьютер превращается в полноправный хост Internet со своим собственным IP -адресом. Если провайдер использует динамическое присвоение IP -адресов, то при каждом новом соединении компьютер будет получать новый IP адрес. Следовательно, другие компьютеры в сети будут вынуждены искать его под неизвестно каким адресом.
Другой недостаток SLIP - отсутствие индикации типа протокола, пакет которого инкапсулируется в пакет SLIP. Поэтому через последовательную линию по протоколу SLIP можно передавать трафик лишь одного сетевого протокола.
При работе с реальными телефонными линиями, зашумленными и поэтому искажающими пересылаемые данные, требуются процедуры обнаружения и коррекции ошибок. В протоколе SLIP такие процедуры не предусмотрены. Эти функции обеспечивают:

  • Либо вышележащие протоколы, например, в стеке TCP/IP протокол IP проводит тестирование целостности пакета по заголовку IP, а один из двух транспортных протоколов (UDP или TCP) проверяет целостность всех данных по контрольным суммам. Однако в протоколе UDP не обязательно использование контрольных сумм, поэтому совместное использование UDP и SLIP нежелательно.
  • Либо нижележащие протоколы. Поскольку для установления соединения по протоколу SLIP обычно используется модем, работающий по телефонной линии и подключенный к асинхронному, последовательному порту. Два компьютера, установившие такое соединение, обмениваются данными с паузами переменной длины. К сожалению, в телефонной линии всегда присутствуют помехи, иначе называемые шумом, поэтому модемы, подключаемые к телефонной сети, отличают данные от возможных помех, пользуясь различными параметрами связи. При использовании модема и программного обеспечения для обмена данными настраиваются определенные параметры связи, такие как скорость, размер данных, контроль четности. Для успешного взаимодействия двух модемов оба они должны быть одинаково настроены.
Но, несмотря на это, для повышения эффективности работы протоколу SLIP не помешало бы иметь собственный механизм (пусть даже простейший) коррекции ошибок.

Отсутствие этих возможностей делает протокол SLIP очень простым в реализации и, следовательно, популярным.

Compressed SLIP
Низкая пропускная способность последовательных линий вынуждает сокращать время передачи пакетов, уменьшая объем содержащейся в них служебной информации. Эта задача решается с помощью протокола Compressed SLIP , поддерживающего сжатие заголовков пакетов. Этот протокол был создан в Lawrence Berkeley Labs (LBL) Ван Якобсоном, как способ повысить эффективность последовательной передачи и уровень сервиса прикладных программ, использующих TCP/IP на медленных линиях. Появление CSLIP объясняется тем, что при использовании программ типа telnet, rlogin и других для пересылки одного байта данных требуется переслать 20-байтовый заголовок пакета IP и 20-байтовый заголовок пакета TCP . Спецификация CSLIP обеспечивает сжатие 40 байтов заголовка до 3-5 байтов.
На низких скоростях передачи данных эта разница заметна только при работе с пакетами, несущими малые объёмы информации, такие пакеты порождаются, например, при работе telnet или rlogin. На больших же скоростях CSLIP даёт меньший выигрыш и почти ничего не даёт для пакетов с большими объёмами данных, например, ftp -пакетов.
CSLIP для пересылки пакета использует информацию из предыдущего пакета, т.е. передача имеет структуру цепочки. Первый пакет в цепочке - несжатый. Если какой-либо пакет теряется, то цепочка рвётся, нельзя этот же пакет запросить в самом конце, его нужно пересылать заново тут же, т.е. прекращать процесс передачи и начинать новую цепочку. Таким образом, эта технология при частых пропажах или искажениях пакетов приводит к большим потерям времени, чем обычный SLIP . Это происходит из-за задержек на остановку и передачу нового несжатого пакета.

Протокол PPP (Point-to-Point Protocol).

Библиографическая справка

В конце 1980 гг. Internet (крупная международная сеть, соединяющая множество исследовательских организаций, университетов и коммерческих концернов) начала испытывать резкий рост числа главных вычислительных машин, обеспечивающих TCP/IP . Преобладающая часть этих главных вычислительных машин была подсоединена к локальным сетям (LAN) различных типов, причем наиболее популярной была Ethernet. Большая часть других главных вычислительных машин соединялись через глобальные сети (WAN), такие как общедоступные сети передачи данных (PDN) типа Х.25 . Сравнительно небольшое число главных вычислительных машин были подключены к каналам связи с непосредственным (двухточечным) соединением (т.е. к последовательным каналами связи). Однако каналы связи с непосредственным соединением принадлежат к числу старейших методов передачи информации, и почти каждая главная вычислительная машина поддерживает непосредственные соединения. Например, асинхронные интерфейсы RS-232-С встречаются фактически повсюду.
Одной из причин малого числа каналов связи IP с непосредственным соединением было отсутствие стандартного протокола формирования пакета данных Internet. Протокол Point-to-Point Protocol (PPP) (Протокол канала связи с непосредственным соединением) предназначался для решения этой проблемы. Помимо решения проблемы формирования стандартных пакетов данных Internet IP в каналах с непосредственным соединением, РРР также должен был решить другие проблемы, в том числе присвоение и управление адресами IP , асинхронное (старт/стоп) и синхронное бит-ориентированное формирование пакета данных, мультиплексирование протокола сети, конфигурация канала связи, проверка качества канала связи, обнаружение ошибок и согласование варианта для таких способностей, как согласование адреса сетевого уровня и согласование компрессии информации. РРР решает эти вопросы путем обеспечения расширяемого Протокола Управления Каналом и семейства Протоколов Управления Сетью (Network Control Protocols) (NCP) , которые позволяют согласовывать факультативные параметры конфигурации и различные возможности. Сегодня PPP , помимо IP , обеспечивает также и другие протоколы, в том числе IPX и DECnet .
В отличие от SLIP- протокола РРР может работать через любой интерфейс DTE/DCE (например, EIA RS-232-C, EIA RS-422, EIA RS-423 и CCITT V.35). Протокол PPP достаточно неприхотлив и может работать без управляющих сигналов модемов (таких, как Request to Send, Clear to Send, Data Carrier Detect и Data Terminal Ready). Единственным абсолютным требованием, которое предъявляет РРР , является требование обеспечения дублированных схем (либо специально назначенных, либо переключаемых), которые могут работать как в синхронном, так и в асинхронном последовательном по битам режиме, прозрачном для блоков данных канального уровня РРР . РРР не предъявляет каких-либо ограничений, касающихся скорости передачи информации, кроме тех, которые определяются конкретным примененным интерфейсом DTE/DCE.

Компоненты PPP
РРР обеспечивает метод передачи дейтаграмм через последовательные каналы связи с непосредственным соединением. Он содержит три основных компонента:
Алгоритм работы.
Для того чтобы организовать связь через канал связи с непосредственным соединением, инициирующий РРР сначала отправляет пакеты для выбора конфигурации и (факультативно) проверки канала передачи данных. После того, как канал установлен и пакетом проведено необходимое согласование факультативных средств, инициирующий РРР отправляет пакеты NCP , чтобы выбрать и определить конфигурацию одного или более протоколов сетевого уровня. Как только конфигурация каждого выбранного протокола определена, дейтаграммы из каждого протокола сетевого уровня могут быть отправлены через данный канал. Канал сохраняет свою конфигурацию для связи до тех пор, пока явно выраженные пакеты или NCP не закроют этот канал, или пока не произойдет какое-нибудь внешнее событие (например, истечет срок бездействия таймера или вмешается какой-нибудь пользователь).
может согласовывать модификации стандартной структуры блока данных РРР . Однако модифицированные блоки данных всегда будут четко различимы от стандартных блоков данных. (Подробнее смотри далее).


Фаза Dead начинает и заканчивает процесс связи. В случае появления внешнего события (например, готовность аппаратного обеспечения осуществить связь) будет инициирована фаза Establish, в которой происходит согласование различных параметров соединения (обмен пакетами ). В случае невозможности согласовать некоторый параметр процесс прервется и протокол перейдет в состояние Dead. Если же все необходимые параметры согласованы, будет инициирована фаза Authenticate, в которой проводится проверка на подлинность участников сеанса (если таковая требуется). В случае неудачной аутентификации будет инициирована фаза Terminate, подготавливающая разрыв соединения. Если же фаза Authenticate прошла успешно, протокол переходит к фазе Network. В этой фазе осуществляется пересылка данных в соответствии с ранее сконфигурированными параметрами связи (в частности - типом сетевого протокола). Фаза Network начинается с того, что каждый протокол сетевого уровня (например, IP или IPX) конфигурирует различные параметры (скажем, согласует алгоритм сжатия заголовка пакета, обменивается адресной информацией) с помощью соответствующих протоколов Network Control Protocol (например, IP Control Protocol или IPX Control Protocol). Фаза Terminate (используется по окончании передачи кадров или в случае возникновения каких-либо ошибок) прерывает передачу кадров и переводит протокол РРР в состояние Dead.

Структура кадра протокола PPP.
РРР использует принципы, терминологию и структуру блока данных процедур HDLC (High Level Data Link Control ) (ISO 3309-1979) Международной Организации по Стандартизации (ISO), модифицированных стандартом ISO 3309-1984/PDAD1. ISO 3309-1979 определяет структуру блока данных HLDC для применения в синхронных окружениях. ISO 3309-1984/PDAD1 определяет предложенные для стандарта ISO 3309-1979 модификации, которые позволяют его использование в асинхронных окружениях. Процедуры управления РРР используют дефиниции и кодирование управляющих полей, стандартизированных ISO 4335-1979 и ISO 4335-1979/Addendum 1-1979.
1 байт 1 байт 1 байт 2 байта (до 1500 байтов) 2 байта 1 байт
Flag Address Control Protocol Information CRC Flag
(7E) (FF) (03) (7Е)

Flag Длина последовательности "флаг" равна одному байту; она указывает на начало или конец блока данных. Эта последовательность состоит из бинарной последовательности 01111110. Address
Длина поля "адрес" равна 1 байту; оно содержит бинарную последовательность 11111111, представляющую собой стандартный широковещательный адрес. РРР не присваивает индивидуальных адресов станциям, то есть содержимое поля "адрес" никогда не изменяется.
Control Поле "управление" составляет 1 байт и содержит бинарную последовательность 00000011, которая требует от пользователя передачи информации непоследовательным кадром. Предусмотрены услуги без установления соединения канала связи, аналогичные услугам LLC Type 1. Protocol Длина поля "протокол" равна 2 байтам; его значение идентифицирует протокол, заключенный в информационном поле блока данных. Значения поля Protocol и соответствующие им пакеты
Значение поля Protocol Тип пакета
0021 IP
0023 ISO CLNP
0025 Xerox NS IDP
0027 DECnet Phase IV
0029 Apple Talk
002В IPX
002D Van Jacobson Compressed TCP/IP 1
002F Van Jacobson Compressed TCP/IP 2
8021 IP Control Protocol
8023 ISO CLNP Control Protocol
8025 Xerox NS IDP Control Protocol
8027 DECnet Phase IV Control Protocol
8029 Apple Talk Control Protocol
802B IPX Control Protocol
C021 Link Control Protocol
C023 User/Password Authentication Protocol

Information Длина поля "данные" - от нуля и больше; оно содержит дейтаграмму для протокола, заданного в поле протокола. Максимальная длина умолчания информационного поля равна 1500 байтам. В соответствии с априорным соглашением, разрешающие реализации РРР могут использовать другие значения максимальной длины информационного поля.
Если при синхронном типе связи в поле "данные" появляется байт со значением 7E (значение байта-флага), то ситуация обрабатывается на аппаратном уровне с помощью техники вставки битов (bit stuffing).
При асинхронном (стартстопном)типе связи ситуации, когда между байтами-флагами появляются байты со значениями 7E или 7D (значение символа Esc - escape) и значениями меньшими 20 (управляющие символы ASCII), обрабатываются при помощи составных последовательностей. Байт 7E передается как двухбайтовая последовательность 7D,5E; байт 7D - как последовательность 7D,5D; байты XX со значениями меньшими 20 - как XX, 01. CRC Поле "проверочная последовательность блока данных" (CSC) обычно составляет 16 бит (два байта). В соответствии с априорным соглашением, разрешающие реализации РРР могут использовать 32-х битовое (четырехбайтовое) поле CSC, чтобы улучшить процесс выявления ошибок.

Преимущества.
По сравнению с протоколом SLIP протокол PPP является значительно более развитым инструментом для работы на последовательных линиях и имеет следующие преимущества:
    • возможность одновременной работы по различным сетевым протоколам, а не только по IP ;
    • проверка целостности данных путем подсчета контрольной суммы;
    • поддержка динамического обмена адресами IP ;
    • возможность сжатия заголовков IP - и TCР -пакетов, разработанных Van Jacobson (механизм похож на реализованный в протоколе CSLIP ).
Перспективы
Тестовые испытания, проведенные недавно в фирме Morning Star Technologies, показали, что существенной разницы в производительности протоколов SLIP и РРР нет. Различие приемо-передающих характеристик компьютеров и модемов и даже качество реализации протоколов влияет на производительность гораздо больше, чем собственно различия между протоколами.
До недавнего времени пользователей протокола SLIP было больше, чем пользователей протокола РРР , но в основном это было связано с малым число программных продуктов, поддерживающих РРР . Однако сейчас не вызывает сомнений, что будущее за протоколом РРР . Это подтверждается массовым появлением продуктов, реализующих этот протокол.
Среди последних новостей - реализация спецификации Point-to-PointTunneling Protocol (фирма US Robotic совместно с Microsoft).

Протокол управления канала связи PPP (LCP)

LCP обеспечивает метод организации, выбора конфигурации, поддержания и окончания работы канала с непосредственным соединением. Процесс LCP проходит через 4 четко различаемые фазы:
    • Организация канала и согласование его конфигурации. Прежде чем может быть произведен обмен каких-либо дейтаграмм сетевого уровня (например, IP ), LCP сначала должен открыть связь и согласовать параметры конфигурации. Эта фаза завершается после того, как пакет подтверждения конфигурации будет отправлен и принят.
    • Определение качества канала связи. LCP обеспечивает факультативную фазу определения качества канала, которая следует за фазой организации канала и согласования его конфигурации. В этой фазе проверяется канал, чтобы определить, является ли качество канала достаточным для вызова протоколов сетевого уровня. Эта фаза является полностью факультативной. LCP может задержать передачу информации протоколов сетевого уровня до завершения этой фазы.
    • Согласование конфигурации протоколов сетевого уровня. После того, как LCP завершит фазу определения качества канала связи, конфигурация сетевых протоколов может быть по отдельности выбрана соответствующими NCP , и они могут быть в любой момент вызваны и освобождены для последующего использования. Если LCP закрывает данный канал, он информирует об этом протоколы сетевого уровня, чтобы они могли принять соответствующие меры.
    • Прекращение действия канала. LCP может в любой момент закрыть канал. Это обычно делается по запросу пользователя (человека), но может произойти и из-за какого-нибудь физического события, такого, как потеря носителя или истечение периода бездействия таймера.
Существует три класса пакетов LCP :
    • Пакеты для организации канала связи. Используются для организации и выбора конфигурации канала.
    • Пакеты для завершения действия канала. Используются для завершения действия канала связи.
    • Пакеты для поддержания работоспособности канала. Используются для поддержания и отладки канала.
Эти пакеты используются для достижения работоспособности каждой из фаз LCP .

Протоколы SLIP и PPP

Интерес к этим двум протоколам вызван тем, что они применяются как на коммутируемых, так и на выделœенных телœефонных каналах. При помощи этих каналов к сети подключается большинство индивидуальных пользователœей, а также небольшие локальные сети. Такие линии связи могут обеспечивать скорость передачи данных до 115200 битов за секунду.

Протокол SLIP (Serial Line Internet Protocol). Технология TCP/IP позволяет организовать межсетевое взаимодействие, используя различные физические и канальные протоколы обмена данными (IEEE 802.3 - ethernet, IEEE 802.5 - token ring, X.25 и т.п.). При этом, без обмена данными по телœефонным линиям связи с использованием обычных модемов популярность Internet была бы значительно ниже. Большинство пользователœей Сети используют свой домашний телœефон в качестве окна в мир компьютерных сетей, подключая компьютер через модем к модемному пулу компании, предоставляющей IP-услуги или к своему рабочему компьютеру. Наиболее простым способом, обеспечивающим полный IP-сервис, является подключение через последовательный порт персонального компьютера по протоколу SLIP. Согласно RFC-1055, впервые SLIP был включен в качестве средства доступа к IP-сети в пакет фирмы 3COM - UNET. В 1984 году Рик Адамс(Rick Adams) реализовал SLIP для BSD 4.2, и таким образом SLIP стал достоянием всœего IP-сообщества. Обычно, данный протокол применяют как на выделœенных, так и на коммутируемых линиях связи со скоростями от 1200 до 19200 бит в секунду. В случае если модемы позволяют больше, то скорость можно "поднять", т.к. современные персональные компьютеры позволяют передавать данные в порт со скоростью 115200 битов за секунду. При этом, при определœении скорости обмена данными следует принимать во внимание, что при передаче данных по физической линии данные подвергаются преобразованиям: компрессия и защита от ошибок на линии. Такое преобразование заставляет определять меньшую скорость на линии, чем скорость порта. Следует отметить, что среди условно-свободно распространяемых программных IP-стеков (FreeWare), Trumpet Winsock, к примеру, обязательно включена поддержка SLIP-коммуникаций. Такие операционные системы, как FreeBSD, Linux, NetBSD, которые можно свободно скопировать и установить на своем персональном компьютере, или HP-UX, которая поставляется вместе с рабочими станциями Hewlett Packard, имеют в своем арсенале программные средства типа sliplogin (FreeBSD) или slp (HP-UX), обеспечивающими работу компьютера в качестве SLIP-сервера для удаленных пользователœей, подключающихся к IP-сети по телœефону. В протоколе SLIP нет определœения понятия "SLIP-сервер", но реальная жизнь вносит коррективы в стандарты. В контексте нашего изложения "SLIP-клиент" - это компьютер инициирующий физическое соединœение, а "SLIP-сервер" - это машина, постоянно включенная в IP-сеть. В главе, посвященной организации IP-сетей и подключению удаленных компьютеров, будет подробно рассказано о различных способах подключения по SLIP-протоколу, в связи с этим не останавливаясь на деталях такого подключения перейдем к обсуждению самого протокола SLIP. В отличии от Ethernet, SLIP не "заворачивает" IP-пакет в свою обертку, а "нарезает" его на "кусочки". При этом делает это довольно примитивно. SLIP-пакет начинается символом ESC (восьмеричное 333 или десятичное 219) и кончается символом END (восьмеричное 300 или десятичное 192). В случае если внутри пакета встречаются эти символы, то они заменяются двухбайтовыми последовательностями ESC-END (333 334) и ESC-ESC (333 335). Стандарт не определяет размер SLIP-пакета͵ в связи с этим любой SLIP-интерфейс имеет специальное поле, в котором пользователь должен указать эту длину. При этом, в стандарте есть указание на то, что BSD SLIP драйвер поддерживает пакеты длиной 1006 байт, в связи с этим "современные" реализации SLIP-программ должны поддерживать эту длину пакетов. SLIP-модуль не анализирует поток данных и не выделяет какую-либо информацию в данном потоке. Он просто "нарезает" ее на "кусочки", каждый из которых начинается символом ESC, а кончается символом END. Из приведенного выше описания понятно, что SLIP не позволяет выполнять какие-либо действия, связанные с адресами, т.к. в структуре пакета не предусмотрено поле адреса и его специальная обработка. Компьютеры, взаимодействующие по SLIP, обязаны знать свои IP-адреса заранее. SLIP не позволяет различать пакеты по типу протокола, к примеру, IP или DECnet. Вообще-то, при работе по SLIP предполагается использование только IP (Serial Line IP всœе-таки), но простота пакета должна быть соблазнительной и для других протоколов. В SLIP нет информации, позволяющей корректировать ошибки линии связи. Коррекция ошибок возлагается на протоколы транспортного уровня - TCP, UDP. В стандартном SLIP не предусмотрена компрессия данных, но существуют варианты протокола с такой компрессией. По поводу компрессии следует заметить следующее: большинство современных модемов, поддерживающих стандарты V.42bis и MNP5, осуществляют аппаратную компрессию. При этом практика работы по нашим обычным телœефонным каналам показывает, что лучше отказаться от этой компрессии и работать только с автоматической коррекцией ошибок, к примеру MNP4 или V.42. Вообще говоря, каждый должен подобрать тот режим, который наиболее устойчив в конкретных условиях работы телœефонной сети (вплоть до времени года, и частоты аварий на теплотрассах).

Соединœения типа "точка-точка" - протокол PPP (Point to Point Protocol) . PPP - это более молодой протокол, нежели SLIP. При этом, назначение у него то же самое - управление передачей данных по выделœенным или коммутируемым линиям связи. Согласно RFC-1661, PPP обеспечивает стандартный метод взаимодействия двух узлов сети. Предполагается, что обеспечивается двунаправленная одновременная передача данных. Как и в SLIP, данные "нарезаются" на фрагменты, которые называются пакетами. Пакеты передаются от узла к узлу упорядоченно. В отличии от SLIP, PPP позволяет одновременно передавать по линии связи пакеты различных протоколов. Вместе с тем, PPP предполагает процесс автоконфигурации обоих взаимодействующих сторон. Собственно говоря, PPP состоит из трех частей: механизма инкапсуляции (encapsulation), протокола управления соединœением (link control protocol) и семейства протоколов управления сетью (network control protocols). При обсуждении способов транспортировки данных при межсетевом обмене часто применяется инкапсуляция, к примеру, инкапсуляция IP в X.25. С инкапсуляцией TCP в IP мы уже встречались. Инкапсуляция обеспечивает мультиплексирование различных сетевых протоколов (протоколов межсетевого обмена, к примеру IP) через один канал передачи данных. Инкапсуляция PPP устроенна достаточно эффективно, к примеру для передачи HDLC фрейма требуется всœего 8 дополнительных байтов (8 октетов, согласно терминологии PPP). При других способах разбиения информации на фреймы число дополнительных байтов должна быть сведено до 4 или даже 2. Для обеспечения быстрой обработки информации граница PPP пакета должна быть кратна 32 битам. При крайне важно сти в конец пакета для выравнивания на 32-битовую границу добавляется "балласт". Вообще говоря, понятие инкапсуляции в терминах PPP - это не только добавление служебной информации к транспортируемой информации, но, в случае если это крайне важно, и разбиение этой информации на более мелкие фрагменты. Под датаграммой в PPP понимают информационную единицу сетевого уровня, применительно к IP - IP-пакет. Под фреймом понимают информационную единицу канального уровня (согласно модели OSI). Фрейм состоит из заголовка и хвоста͵ между которыми содержатся данные. Датаграмма должна быть инкапсулирована в один или несколько фреймов. Пакетом называют информационную единицу обмена между модулями сетевого и канального уровня. Обычно, каждому пакету ставится в соответствие один фрейм, за исключением тех случаев, когда канальный уровень требует еще большей фрагментации данных или, напротив - объединяет пакеты для более эффективной передачи.

Протоколы SLIP и PPP - понятие и виды. Классификация и особенности категории "Протоколы SLIP и PPP" 2017, 2018.

  • - Протоколы Интернет

    Что касается протоколов, в Интернете используются несколько типов протоколов, появлявшихся с течением времени и развитием компьютерных технологий. К ним относятся Протокол TCP/IT (1974) o TCP (Transmission Control Protocol) Файл делится на пакеты размером не более 1,5 КБ Пакеты передаются... .


  • - Базовые протоколы Интернет

  • - Базовые протоколы Интернет

    Адресация в Интернет Для каждого компьютера в Интернет устанавливаются два уникальных адреса: цифровой IP-адрес и доменный адрес. Оба эти адреса могут применяться равноценно. Цифровой адрес удобен для обработки на компьютере, а доменный адрес – для... .


  • - Назначение КС. Глобальные и локальные КС. Определения и возможности Интернета, протоколы и услуги Интернета.

    Локальная сеть – сеть, объединяющая ПК, размещенные на ограниченной территории и функционирующая на единых программных принципах. Появление ЛВС позволило значительно повысить эффективность применения ВТ за счет более рационального использования аппаратных,...

  • Первым стандартом канального уровня, обеспечивающим работу терминалов пользователей (TCP/IP) по линиям связи, реализующих последовательную передачу символов, стал протокол SLIP (Serial Line Internet Protocol - протокол Internet для последовательного канала).

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

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

    Протокол SLIP характеризуется тем, что он обеспечивает возможность подключаться к сети INTERNET через стандартный интерфейс RS-232, имеющийся в большинстве компьютеров. В настоящее время SLIP широко используется в оконечных компьютерах, подключенных к линиям связи, которые имеют пропускную способность 1, 2…28,8 Кбит/с.

    Псевдоструктура протокола SLIP (логическая характеристика протокола). По сути, кадр SLIP структуры не имеет, он только предусматривает разграничение последовательно передаваемых пакетов IP (пакеты сетевого уровня) и тем самым обеспечивает синхронный ввод пакетов в канал связи (физический уровень). Для этого в протоколе SLIP используется специальный символ “END” (рисунок 7), значение которого в шестнадцатеричном представлении равно “С0” (11000000). В случае если в пакете IP имеется байт, тождественный символу “END”, то он заменяется двухбайтовой последовательностью, состоящей из специальных символов “ESC”(“DB”-11011011) и “DC” (11011100). Применяемый в протоколе SLIP символ “ESC” не равен символу “ESC” в коде ASCII, поэтому обозначают его “SLIP ESC”. Если же байт данных тождествен символу “SLIP ESC”, то он заменяется двухбайтовой последовательностью, состоящей из собственно символа “SLIP ESC” и символа “DD” (11011101). После последнего байта пакета IP передается символ “END”.

    Механизм формирования кадра показан на рисунке 8, здесь приведены стандартный пакет IP, один байт которого тождествен символу “END”, а другой - символу “SLIP ESC”, и соответствующий ему кадр SLIP, который больше на четыре байта.

    Вставка символа END перед началом кадра позволяет принимающей стороне избавиться от любого шума на линии связи. Однако такими мерами все способности SLIP определить и тем более исправить ошибки данных исчерпываются. Протокол возлагает задачу по определению и исправлению пакетов данных и сообщений полностью на вышележащие протоколы, то есть на сетевой и транспортный уровень ТСР/IP.

    Рисунок 8 - Соответствие между кадром SLIP и пакетом IP

    Протокол SLIP не определяет максимально допустимую длину “информационного поля” передаваемого “кадра”, однако реальный размер “вкладываемого в кадр” пакета IP не должен превышать 1006 байтов. Данное ограничение связано с первой реализацией протокола SLIP в соответствующей ОС Berkley Unix, и поэтому соблюдение его необходимо для обеспечения требуемой совместимости разных реализаций (версий) SLIP (большинство современных реализаций позволяют администратору самому установить размер пакета, а по умолчанию используют размер 1500 байт).

    Популярность протокола SLIP объясняется тем, что он дал возможность подключаться к сети Internet посредством стандартного порта RS - 232, имеющегося в большинстве компьютеров. Программа управления SLIP загружается и выгружается по мере надобности. Большинство программ управления SLIP имеют возможность набирать телефонный номер провайдера. Программное обеспечение, реализующее работу с протоколом SLIP (TCP-manager), выполняет функции управления сетевым устройством, то есть является драйвером (специальная программа, управляющая сетевым устройством) сетевого устройства, такого, как модем. Можно загружать и выгружать программу управления SLIP по мере надобности. Сетевое устройство принимает IP - пакеты от программы (точнее процесса), посылающей их (от программы сетевого уровня), обкладывает своей служебной информацией и передаёт устройству последовательной передачи данных (модему, в последовательный порт и т.п.). На другом конце последовательной линии аналогичная программа принимает символы, приходящие с устройства последовательной передачи данных, освобождает от служебной информации и передаёт то, что получилось, а должны получаться при этом IP -пакеты, соответствующие программе (сетевого уровня), которая обрабатывает IP -пакеты.

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

    Соединение по протоколу SLIP- это наиболее экономичный и простой способ подключить компьютер к Интернет. SLIP можно использовать, если локальная сеть не имеет прямого доступа к Интернет или при присоединении отдельного компьютера. Для работы протокола необходимо, чтобы поставщик услуг Интернет также обеспечил протокол SLIP на своем компьютере (хосте Интернет).

    Установив SLIP-соединение, компьютер превращается в узел Интернет и становится полноправным членом сети с собственным IP-адресом и именем. Все это без затрат на дополнительное оборудование. Нужен лишь компьютер и модем.

    Недостатки SLIP:

    Во-первых, протокол SLIP не обеспечивает обмен адресной информацией. Это ограничение не позволяет использовать SLIP для некоторых видов сетевых услуг. Например, каждый раз после установления SLIP -соединения компьютер превращается в полноправный хост Internet со своим собственным IP -адресом. Если провайдер использует динамическое присвоение IP -адресов, то при каждом новом соединении компьютер будет получать новый IP адрес. Следовательно, другие компьютеры в сети, будут вынуждены искать его под неизвестно каким адресом;

    Во-вторых, отсутствие индикации типа протокола, пакет которого “вкладывается” в кадр SLIP. Поэтому через последовательную линию по протоколу SLIP можно передавать трафик лишь одного сетевого протокола - IP. Эти функции обеспечивают:

    либо вышележащие протоколы, например, в стеке TCP/IP протокол IP проводит тестирование целостности пакета по заголовку IP, а один из двух транспортных протоколов (UDP или TCP) проверяет целостность всех данных по контрольным суммам. Однако в протоколе UDP не обязательно использование контрольных сумм, поэтому совместное использование UDP и SLIP нежелательно;

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

    Но, несмотря на это, для повышения эффективности работы протоколу SLIP не помешало бы иметь собственный механизм (пусть даже простейший) коррекции ошибок.

    В-третьих, в протоколе SLIP не предусмотрены процедуры обнаружения и коррекции ошибок. Эти функции обеспечивают протоколы вышележащих уровней: протокол IP проводит тестирование целостности пакета по заголовку IP, а один из двух транспортных протоколов (UDP или TCP) проверяет целостность всех данных по контрольным суммам.

    Низкая пропускная способность последовательных линий связи вынуждает сокращать время передачи пакетов, уменьшая объем содержащейся в них служебной информации. Эта задача решается с помощью протокола CSLIP (Compressed SLIP).

    Протокол сжатия служебной информации CSLIP (Compressed SLIP). Для повышения эффективности использования пропускной способности последовательных линий связи используются алгоритмы сжатия данных (например, за счет уменьшения объема служебной информации, содержащейся в заголовках пакетов IP). Такую задачу решает протокол CSLIP. При использовании протоколов типа TELNET для доставки одного байта данных требуется переслать 20-байтовый заголовок пакета IP и 20-байтовый заголовок пакета TCP (итого 40 байтов). Протокол CSLIP обеспечивает сжатие 40-байтового заголовка до 3 - 5 байтов. Поэтому большинство реализаций протокола SLIP поддерживают спецификацию CSLIP. Протокол сжимает только заголовки пакетов. Для увеличения эффективности линий надо либо увеличить количество данных в пакете, либо уменьшить размер заголовков. Алгоритм CSLIP концентрирует внимание на уменьшении размеров заголовков пакетов. Кроме того, протокол соблюдает требования интерактивной реакции системы. Интерактивность реакции системы - это просто ее свойство убедить пользователя в том, что все работает. Например, когда пользователь нажимает клавишу, он, вполне понятно, хочет увидеть, как введенный символ отобразится на его мониторе. Если работа сети приводит к ощутимым задержкам при передаче пакета, пользователь расценит интерактивность сети как неудовлетворительную.

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