La mejor práctica número uno es hacer todo lo posible por utilizar un protocolo estándar y no diseñar un nuevo protocolo personalizado. Ya existen muchos protocolos estándar o al menos conocidos, y si puede hacer que sus comunicaciones se ajusten a uno de ellos, su vida será mucho más fácil.
Recuerde que si desarrolla el suyo propio, no solo tendrá que preocuparse por la solidez y flexibilidad de su protocolo, sino que también deberá desarrollar herramientas para probar y solucionar problemas, así como documentación e información de capacitación para cualquier otra persona que esté planeando hablar con su aplicación. Para los protocolos estándar, puede aprovechar las herramientas y la documentación ya creadas por otros. Los protocolos estándar ya pasaron por alto las pruebas del mundo real y pasaron. Si no puede usar un protocolo existente como está, intente ver si hay uno que pueda extender o modificar, o si nada más intente usar una estructura de mensajería similar a otros protocolos para que su protocolo sea más fácil de entender para otros. y aprender.
La razón principal por la que puedo pensar para requerir un nuevo protocolo es si su red se ejecuta en una capa física fundamentalmente diferente. Por ejemplo, si tiene un dispositivo de ultra baja potencia que necesita enviar una actualización periódica de datos importante a través de una radio de ancho de banda limitado a un servidor que puede estar encendido o no, eso es algo que probablemente requerirá un manejo especial.
- ¿Puede proporcionar un ejemplo para transmitir datos entre hosts a través de TCP utilizando Unix?
- Si trato de crear un protocolo de confiabilidad, monitoreo en tiempo real y puedo elegir la ruta más corta de manera inteligente, ¿qué tipo de protocolo es adecuado?
- ¿No es HTTPS un protocolo?
- ¿Cuál de los siguientes no es uno de los protocolos de Internet, NetBIOS, HTTP, PPP o SMTP?
- ¿Qué protocolos de red son los más importantes para la computación en la nube?
Si termina necesitando crear un nuevo protocolo, preste atención a la red subyacente.
- Intente y asegúrese de que los tamaños de los mensajes se ajusten al tamaño de paquete estándar de las capas de transporte subyacentes incluso después de haber sido rellenados con los encabezados de las capas inferiores.
- Tenga un método para asegurarse de que puede manejar mensajes perdidos, fuera de servicio, inesperados o corruptos.
- Agregue tiempos de espera y documente claramente qué son y cómo se usan. Las redes del mundo real no entregan con éxito cada bit que envía, ¡y a veces ni siquiera la mitad de lo que envía!
- Documente claramente los diversos escenarios de transmisiones buenas y malas y cómo manejar cada situación.
También preste atención a los tipos de dispositivos que tendrán que implementar su protocolo. Muchos dispositivos móviles e integrados tienen limitaciones de ancho de banda, memoria y tiempo para tener en cuenta. Los enrutadores y otros dispositivos que no son puntos finales dentro de su red también pueden tener limitaciones, especialmente cuando se trata de una gran cantidad de dispositivos que se comunican entre sí.