104 подписчика
🎯 Как эффективно принимать и обрабатывать поврежденные сетевые пакеты на Python?
Как эффективно принимать и обрабатывать поврежденные сетевые пакеты? Давайте разбираться.
В информационных системах, когда требуется высокая скорость передачи данных, довольно часто на транспортном уровне используется протокол UDP. В некоторых ситуациях при передаче UDP пакетов по сети требуется отключение вычисления контрольной суммы (сокращенно CRC – cycle reduce code) на стороне отправителя с целью ускорения времени формирования и отправки пакета (данный протокол предусматривает такую возможность путем обнуления CRC). И вот тут кроется проблема на приёмной стороне: сетевая карта приёмника может либо на аппаратном уровне вычислять CRC и отбрасывать пакеты с несовпадающими контрольными суммами, либо это делает драйвер сетевой карты. Как следствие, нужные пакеты не доходят до сокета приложения, что делает приложение неработоспособным.
Около минуты
20 августа 2022