Доставка через mKCP
mKCP - это надежный потоковый протокол. Основан на UDP.
Конфигурация:
{
"mtu": 1350,
"tti": 20,
"uplinkCapacity": 5,
"downlinkCapacity": 20,
"congestion": false,
"readBufferSize": 1,
"writeBufferSize": 1,
"header": {
"type": "none"
}
}
Где:
mtu: Maximum transmission unit. Устанавливает максимальное количество байт, которые может содержать пакет UDP. Рекомендуемое значение между576и1460. По умолчанию1350.tti: Transmission time interval, в миллисекундах. mKCP будет отправлять данные через указанный интервал. Рекомендуемое значение между10и100. По умолчанию50.uplinkCapacity: Ширина полосы исходящей линии, МБ/с. Максимальная пропускная способность для экземпляра V2Ray для выгрузки данных в Сеть. Значение по умолчанию:5.- Обратите внимание, в "МБ/с" Б - это байт, а не бит.
- Можно использовать
0для небольшой пропускной способности.
downlinkCapacity: Ширина полосы входящей линии, МБ/с. Максимальная пропускная способность для экземпляра V2Ray для загрузки данных из Сети. Значение по умолчанию:20.- Обратите внимание, в "МБ/с" Б - это байт, а не бит.
- Можно использовать
0для небольшой пропускной способности.
congestion: Следует ли включать контроль перегрузки. Значение по умолчанию:false.- Когда управление перегрузкой включено, V2Ray определяет качество сети. Он будет отправлять меньше пакетов, если потеря пакетов будет серьезной, или больше, если сеть не полностью заполнена.
readBufferSize: Размер буфера для чтения для каждого соединения, в МБ. Значение по умолчанию:2.writeBufferSize: Размер буфера для записи для каждого соединения, в МБ. Значение по умолчанию:2.header: Заголовок пакета для маскировки.type: Тип маскировки. Возможные варианты:"none": Значение по умолчанию. Без обфускации."srtp": Маскировка под SRTP трафик. Для прослушивающих выглядит как видеозвонок, например из Facetime."utp": Маскировка под uTP трафик. Со стороны выглядит как трафик от Bittorrent."wechat-video": Маскировка под WeChat."dtls": Маскировка под пакеты DTLS 1.2."wireguard"(V2Ray 3.38+): Маскировка под пакеты WireGuard. (только маскировка, НЕ настоящий протокол WireGuard)
Замечания
uplinkCapacityиdownlinkCapacityопределяют скорость mKCP. На стороне клиентаuplinkCapacityустанавливает скорость отправки данных на сервер. На стороне сервераdownlinkCapacityустанавливает скорость получения данных сервером. Реальная скорость будет определяться наименьшим значением.- mKCP использует протокол UDP. Убедитесь, что ваш брандмауэр настроен правильно.
- mKCP отправляет больше трафика для более низкой задержки. Чтобы передавать один и тот же объем данных, mKCP обычно требует большей пропускной способности, чем TCP.
Благодарности
- @skywind3000 создал оригинальный протокол KCP и воплотил его на C.
- @xtaci реализовал KCP на Go.
- @xiaokangwang встроил KCP в V2Ray.