Introducción a la herramienta de aceleración UDP de código abierto UDPspeeder

Hoy encontré tres buenas herramientas en github. Este artículo presenta primero las herramientas de aceleración UDP.

Esta herramienta tiene una estructura Cliente-> Servidor. Los paquetes de datos procesados ​​por esta herramienta pueden reducir efectivamente la tasa de pérdida de paquetes UDP. El principio es utilizar el algoritmo FEC. La desventaja es que el tráfico ha aumentado: con 1,5 veces el tráfico, la tasa de pérdida de paquetes del 10% se puede reducir a menos de una diezmilésima. Este algoritmo es muy bueno para jugar a DOTA y Warcraft en la plataforma de batalla.

FEC: Es una tecnología de corrección de errores hacia adelante. El remitente envía los datos que se enviarán junto con un cierto código de corrección de errores redundante, y el receptor realiza la detección de errores en los datos recibidos de acuerdo con el código de corrección de errores. Si se encuentra un error, El receptor realiza la corrección de errores. El algoritmo FEC se usa ampliamente en la transmisión de video.

El principio del documento oficial ha sido muy claro, consulte los siguientes documentos:

https://github.com/wangyu-/UDPspeeder/blob/branch_libev/doc/README.zh-cn.md

 

 

Se informará un error al compilar:

g++   -o speederv2          -I. main.cpp log.cpp common.cpp lib/fec.cpp lib/rs.cpp packet.cpp delay_manager.cpp fd_manager.cpp connection.cpp fec_manager.cpp misc.cpp tunnel_client.cpp tunnel_server.cpp my_ev.cpp -isystem libev  -std=c++11   -Wall -Wextra -Wno-unused-variable -Wno-unused-parameter -Wno-missing-field-initializers  -lrt -ggdb -static -O2
/usr/bin/ld: cannot find -lrt
/usr/bin/ld: cannot find -lstdc++
/usr/bin/ld: cannot find -lm
/usr/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
make: *** [makefile:29: all] Error 1

La razón es que hay un parámetro -static. Modifique el archivo MAKE y elimine el parámetro -static para compilar correctamente.

prueba:

./speederv2 -s -l 0.0.0.0:4096 -r 127.0.0.1:7777 -f 20:10 -k "123456"

./speederv2 -c -l 0.0.0.0:3333 -r 172.19.112.178:4096 -f 20:10 -k "123456"

El siguiente paso es simular el envío de un paquete UDP al puerto del Cliente 3333. El Cliente transferirá el paquete UDP al puerto 4096 del servidor, y el servidor lo enviará al puerto 7777 después del procesamiento.

Puede ejecutar echo "hello"> /dev/udp/127.0.0.1/3333 en esta máquina para simular el envío de paquetes UDP. Si no es esta máquina, debe usar socat para el reenvío de puertos. Esta herramienta es compatible con tcp / reenvío de datos udp.

 

proyecto socat

Dirección del proyecto socat: http://www.dest-unreach.org/socat/

Descarga del código fuente: http://www.dest-unreach.org/socat/download/

 

Supongo que te gusta

Origin blog.csdn.net/langeldep/article/details/113613382
Recomendado
Clasificación