Esta es una pregunta muy amplia. Como tal, algo como SSH opera en un espacio muy diferente de algo como TCP / IP (SSH se ejecuta sobre TCP). Hay dos partes generales en cómo se convierten estos protocolos: estándar e implementación (términos inventados en los últimos 30 segundos).
Estándar
Un grupo de personas se unen y elaboran un estándar o una especificación. Esto generalmente se transmite como un RFC. Estos explican (a menudo con gran detalle) cómo se espera que se comporten exactamente dos entidades que hablan el protocolo. Esencialmente, establecen las reglas de interacción e intentan cubrir todas las bases relacionadas con el protocolo. Puede pasar por el TCP RFC original aquí.
- ¿Caducan los códigos de autenticación de dos factores?
- ¿Qué hace Switch si enviamos paquetes falsos con alguna dirección MAC aleatoria? ¿Se transmitirá cada vez?
- ¿Por qué necesitamos TCP cuando ya tenemos IP para la transmisión de paquetes de datos?
- ¿Cuál es el protocolo de transferencia / intercambio de archivos más rápido?
- ¿Cuál es la mejor manera de aprender cómo funcionan las redes?
I mplementation
Una vez que se ha establecido el estándar (generalmente como un RFC), los programadores trabajan para codificarlo en el software (ya sea como parte del sistema operativo o como una aplicación) de manera que el software cumpla con las reglas descritas en el documento de estándares. Esto no es muy diferente de la codificación de una especificación dada. Sin embargo, no todos los protocolos de red se implementan en el software. Algunos de ellos (especialmente en el espacio de redes ópticas) también se implementan en hardware.
En pocas palabras, un protocolo primero se define claramente en un documento estándar y luego se implementa en un lenguaje de programación (o en hardware) para que coincida con ese estándar. No hace falta decir, sin embargo, que la necesidad es la madre de toda invención aquí también.