¿Cómo se hacen los protocolos como SSH, SMB, TCP / IP, HTPP, HTPPS, etc.?

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í.

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.