From 32c3d6a2cce4611f01eddb0e19712e97c61b6e71 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sun, 28 Apr 2024 11:33:58 +0300 Subject: [PATCH] =?utf8?q?=D0=9C=D0=B8=D0=BB=D0=BB=D0=B8=D0=BE=D0=BD=D1=8B?= =?utf8?q?=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=D0=BE=D0=B2=20=D1=87=D0=B5?= =?utf8?q?=D1=80=D0=B5=D0=B7=20VoRS?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Мой VoIP клиент/сервер (4a521b9d638a8d23487ff6c36ac3be97c8c464b3, 48584050c661df42c76a1026b3aebe16da078b52, 2cccf7ddd72756431263b6c3e96dfd710f2931ee) уже десятки часов успешно проработал. С момента его создания чуть ли не каждый день проводили сессии парного программирования/администрирования, и это чуть ли не на целый день. У меня FreeBSD клиент, сервер VoRS на FreeBSD VPS-ке поднят, у коллег Ubuntu. Всё работало замечательно. И за одну сессию по полмиллиона пакетов от меня проходило. Я беспокоился за то, что Opus же ведь stateful кодек, а у нас бывали большие потери пакетов. Вот недавно аж по несколько сотен за минуту -- кто-то сильно Интернет шатал. И я думал что мало ли, может там какие ошибки будут накапливаться или ещё чего подобное или там отсутствие echo cancellation или вообще хоть какой-либо обработки аудио будет мешать. Но нет, всё без нареканий с нашей стороны. В его v2 версии я заменил Poly1305, который и так уже был урезан до 64-бит, на SipHash24. Последний всё же является криптографически сильным MAC-ом, поэтому на безопасность это не должно негативно влиять. SipHash заточен под аутентификацию коротких сообщений, которыми 20мс Opus кадры и являются. И SipHash24 быстрее более чем на порядок, ведь ключ для Poly1305 генерируется из 512-бит (размер блока ChaCha20, где 256-бит к тому же отбрасываются за ненадобностью) выхлопа ChaCha20, чтобы после этого ещё один 512-бит блок сгенерировать уже для шифрования. Дороговато выглядит. -- 2.48.1