stringtranslate.com

Подмена протокола

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

Техники спуфинга

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

Подмена передачи файлов

Протоколы исправления ошибок и передачи файлов обычно работают путем вычисления контрольной суммы или CRC для блока данных, известного как пакет , и передачи полученного числа в конце пакета. На другом конце соединения получатель повторно вычисляет число на основе полученных данных и сравнивает этот результат с тем, что было отправлено с удаленного компьютера. Если они совпадают, пакет был передан правильно, и получатель отправляет ACKсигнал о том, что он готов принять следующий пакет.

Время обратной передачи ACKотправителю зависит от телефонных линий, а не от скорости модема , и обычно составляет около 1/10 секунды на коротких каналах связи и может быть намного дольше на междугородных соединениях или сети передачи данных, такие как X.25 . Для протокола, использующего небольшие пакеты, эта задержка может быть больше, чем время, необходимое для отправки пакета. Например, протокол UUCP «g» и Kermit используют 64-байтовые пакеты, отправка которых по каналу со скоростью 9600 бит/с занимает около 1/20 секунды . XMODEM использовал немного больший пакет размером 128 байт, отправка которого занимает около 1/10 секунды .

Следующий пакет данных не может быть отправлен до тех пор, пока ACKне будет получен предыдущий пакет. Например, в случае XMODEM это означает, что для завершения всего цикла для одного пакета требуется минимум 210 секунды. Это означает, что общая скорость составляет лишь половину теоретического максимума, а эффективность канала составляет 50% .

Подмена протокола решает эту проблему, заставляя локальный модем распознавать, что идет передача данных, часто путем поиска заголовков пакетов. Когда они обнаружены, модем ищет конец пакета, обычно зная количество байтов в одном пакете. Например, XMODEM имеет 132 байта в пакете из-за того, что заголовок и контрольная сумма добавляются к 128 байтам реальных данных. Когда модем видит, что пакет закончился, он немедленно отправляет поддельное ACKсообщение обратно на хост. Это заставляет локальный компьютер немедленно отправить еще один пакет, избегая задержки ожидания ответа ACKот удаленного компьютера. Данные для нескольких пакетов хранятся во внутреннем буфере, пока модем отправляет их на удаленный компьютер. Это позволяет отправлять пакеты непрерывно, что значительно повышает эффективность канала. Однако для этого также необходимо, чтобы соединение между двумя системами было безошибочным, поскольку модем уже ACKотредактировал пакеты еще до их отправки. Обычно эта проблема решалась с помощью протокола исправления ошибок на уровне модема, такого как сетевые протоколы Microcom .

Подмена протокола также широко использовалась вместе с еще одной особенностью более ранних высокоскоростных модемов. До введения эхоподавления в протоколах V.32 и более поздних версиях высокоскоростные модемы обычно имели очень медленный «обратный канал» для отправки подобных сообщений ACKобратно отправителю. Например, на TrailBlazer со скоростью ~18 500 бит/с модем мог отправлять получателю до 35 пакетов UUCP в секунду, но обратный канал предлагал только 75 бит/с, что недостаточно для 35 байт (280 бит) ACKсообщения, генерируемые удаленным хостом.

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

TCP-спуфинг

TCP-соединения могут страдать от ограничений производительности из-за недостаточного размера окна для каналов с высокой задержкой полосы пропускания , а на каналах с большой задержкой, например, через спутники GEO , алгоритм медленного запуска TCP значительно задерживает запуск соединения. Поддельный маршрутизатор локально разрывает TCP-соединение и преобразует TCP в протоколы, адаптированные к длительным задержкам по спутниковому каналу, такие как XTP .

Подмена RIP/SAP

SAP и RIP периодически передают сетевую информацию, даже если таблицы маршрутизации/услуг не изменились. Таким образом, каналы WAN с коммутируемым доступом по требованию в сетях IPX никогда не простаивают и не отключаются. Поддельный маршрутизатор или модем перехватывает широковещательные сообщения SAP и RIP и повторно транслирует рекламные объявления из своей собственной таблицы маршрутизации/сервиса, которая обновляется только тогда, когда канал активен по другим причинам.

Смотрите также

Внешние ссылки