Недавно была завершена работа над сетевым протоколом SNT/IP (часть компонента SkyNT), разрабатываемым для Sky Engine 2, его референсной реализацией и эмулятором сети для её тестирования и отладки. Полученные характеристики протокола хоть и оказались несколько хуже ожидаемых при начале работы, но вполне приемлемые:
- Способность поддерживать непрерывное соединение в течении 48.5 суток
- Способность работать как по IPv6, так и по IPv4 сетям (в IPv4 сетях имеется поддержка NAT)
- Способность сервера к обслуживанию 1024 клиентов через интерфейс Ethernet 10G
- Способность клиента к работе с сервером через интерфейс Ethernet (10 Mbps)
- Способность не разрывать соединение при смене клиентом сетевого подключения и IP-адреса (а при работе через NAT ещё и порта)
- Оптимизация для обработки железными реализациями (фильтры и распределители пакетов сетевых карт и маршрутизаторов, offload-реализации непосредственно SkyNT на FPGA)
- Защита всех передаваемых данных и почти всей служебной информации протокола AES-256 шифрованием в режиме CTR с уникальным nonce для каждого пакета
- Поддержка целостности всех передаваемых данных и всей служебной информации протокола с помощью CRC32 хеша
- Наличие специального двухступенчатого механизма быстрого восстановления связи при кратковременном (до 15 секунд и до 5 минут) отказе интернет соединения
- Способность ежесекундно передавать серверу следующие данные:
- До 64000 малых (8 байт) команд, критичных к скорости доставки, с негарантированной доставкой (передача осуществляется методов скользящего окна в 64 последние команды и в реальности не предполагает передачу более чем 64 команд в секунду)
- До 900 больших (512 байт) команд с гарантированной доставкой (механизм передачи подобен таковому в TCP)
- 50 звуковых фреймов по 512 байт каждый, с двух кратным отправлением
- Способность ежесекундно передавать клиенту, с использованием избыточного XOR-кодирования 4+1, следующие данные:
- 700 блоков данных репликации состояния игрового мира по 1КБ с негарантированной доставкой и очерёдностью (потеря очерёдности возможна только при восстановлении потерянного пакета)
- 50 звуковых фреймов по 1КБ
- Наличием встроенного механизма мониторинга качества связи (пинг, потери пакетов от и к клиенту)