¿Cómo podemos optimizar el tamaño del paquete durante la transmisión de datos, suponiendo que la posibilidad de que un paquete se corrompa y necesite una nueva transmisión es directamente proporcional al tamaño del paquete, y suponiendo que podamos transmitir un paquete por unidad de tiempo sin importar el tamaño del paquete?

La pregunta parece cargada pero carece de puntos de datos adecuados. El rendimiento depende de algunos factores, a saber

1) Capacidad de los compañeros.
2) Hardware conectado y la velocidad a la que puede bombear los datos.
3) Pila subyacente
4) Proceso que es el consumidor final de los datos.

Asumiré algunas herramientas fácilmente disponibles y asumiría que los pares pueden transmitir a velocidad de línea (1gig o 100mbps dependiendo del enlace).

Es posible que necesite una retransmisión sin que los datos se corrompan también, por lo que primero debe definir su tolerancia.

En general, cuanto mayor es el tamaño del paquete, más es el rendimiento, en lo que respecta a UDP. Para TCP, más que optimizar el tamaño del paquete, creo que debe garantizar una congestión mínima (tamaño de ventana, inicio lento, retransmisión rápida) y es un punto muy subjetivo porque varía para cada par al que se conecta y la cantidad de saltos entre servidores & cliente.

También puede considerar implementar un mecanismo de control de flujo a través del cual puede informar al otro par que disminuya la velocidad ya que no puede mantenerse al día con la velocidad. Esto se llama Soporte de marco de pausa y generalmente está disponible en hardware popular, pero con algunos gastos generales puede implementarlo en software.

Si la probabilidad de que el paquete se corrompa y necesite una retransmisión es directamente proporcional al tamaño del paquete, me preocuparía más sobre el esquema de codificación y las técnicas de recuperación de errores que puedo usar. La corrección de errores, si es posible, es mucho mejor que la retransmisión.