Это наверное проблема мышления конечно если бы данные имели свои пути обнаружения и (или) исправления ошибок - их вполне можно было бы разбить на кадры и передать кудой угодно.. но... :) применимо к микроконтроллерам почему-то всегда хочется поручить обнаружение (исправление) именно внешнему протоколу :). а принимать и передавать необходимый минимум информации. :).
да и в самом slip не всё так безоблачно (имеется в виду именно реализация описанная стандартом) - позволю себе маленькую цитату:
Протокол SLIP (Serial Line IP, RFC-1055) – это простейший способ инкапсуляции IP-дейтограмм для последовательных каналов связи. Этот протокол стал популярным благодаря возможностям подключения домашних персональных машин к сети Интернет через порт RS-232, который соединен с модемом. IP-дейтограмма в случае SLIP должна завершаться специальным символом 0xC0 называемым конец. Во многих реализациях дейтограмма и начинается с этого символа. Если какой-то байт дейтограммы равен символу конец, то вместо него передается двухбайтовая последовательность 0xDB, 0xDC. Октет 0xDB выполняет в SLIP функцию ESC-символа. Если же байт дейтограммы равен 0xDB, то вместо него передается последовательность 0xDB, 0xDD. Использование протокола SLIP предполагает выполнение ряда условий:
Каждый партнер обмена должен знать IP-адрес своего адресата, так как не существует метода обмена такого рода информацией.
SLIP в отличии от Ethernet не использует контрольных сумм, поэтому обнаружение и коррекция ошибок целиком ложится на программное обеспечение верхних уровней.
Так как кадр SLIP не имеет поля тип, его нельзя использовать, в отличии от кадров Ethernet, для реализации других протоколов методом инкапсуляции.
Впервые протокол SLIP был применен в 1984 году в 4.2BSD. Скорость передачи информации при использовании протокола SLIP не превышает 19.2кб/с, что обычно достаточно для интерактивного обмена в рамках протоколов telnet или RLOGIN. Максимальный размер передаваемого блока (MTU) для SLIP лежит вблизи 256-512 байт, что обеспечивает разумный компромисс между значением задержки отклика (~256мс.) и эффективностью использования канала (~98% для CSLIP). При этом для передачи одного символа (нажатая клавиша) используется 20 байт заголовка в IP-дейтограмме и 20 байт TCP-заголовка. Если мы учтем издержки формирования SLIP-кадра, накладные расходы превосходят 40 байт. Частично этот недостаток устранен в новой версии CSLIP (Compressed SLIP, RFC-1144, предложенной Джекобсоном в 1990 году). В CSLIP заголовок сокращается до 3-5байт (против 40 в SLIP). Эта версия протокола способна поддерживать до 16 TCP-соединений на каждом из концов последовательного канала. Многие современные SLIP-драйверы поддерживают и CSLIP.
-
- Да я читал и RFC1055 и RFC1144. Возможно, это действительно проблема мышления... ReAl(1308 знак., 06.08.2004 11:43)