¿Es un protocolo de señalización un componente importante para construir una Internet descentralizada?

Definitivamente creo que sí. Para desglosar esto, un protocolo de señalización es realmente cualquier protocolo que puede enviar una señal o mensaje desde una computadora específica a otra computadora específica. Los ejemplos incluyen SIP y XMPP. Si bien podría considerar partes de protocolos de señalización técnica de Gnutella o BitTorrent también, la capacidad de pasar mensajes entre computadoras específicas distingue a SIP y XMPP. En Gnutella y BitTorrent, descarga archivos de la nube más grande de pares. No importa qué pares específicos sean. Esto hace que sea imposible enviar un archivo a una persona específica, por ejemplo, o iniciar una llamada telefónica con una persona específica. Para construir un Internet descentralizado que sea lo más generalizable posible, esa capacidad es importante porque permite cosas como intercambiar claves con otros usuarios específicos y crear capas de redes de confianza sobre esa arquitectura descentralizada.

Más allá de eso, también hay un conjunto de protocolos realmente robustos diseñados para funcionar dentro de protocolos de señalización para establecer sesiones en configuraciones de red heterogéneas, especialmente NAT y firewalls. El establecimiento de conectividad interactiva (ICE) en particular es el estándar para establecer esas conexiones directas. La capacidad de hacerlo es uno de los componentes más importantes de una Internet distribuida porque la gran mayoría de las computadoras están detrás de NAT o firewalls y, por lo tanto, son inaccesibles. La construcción de esta pila de protocolos generales permite a los proyectos reutilizar implementaciones de código abierto existentes de cada protocolo por separado.

Por lo tanto, el protocolo de señalización es una parte fundamental de la transversalidad de NAT y firewall robusto. Una vez que haya logrado una conexión directa, hay otras preguntas que involucran cómo se intercambian los datos. El escenario típico es usar RTP para una llamada telefónica, pero una red totalmente descentralizada también necesita transportar archivos. Esto requiere una capa de confiabilidad sobre UDP, algo así como UDT en:

http://udt.sourceforge.net/

Veo los protocolos de señalización como integrados en dos fases. Primero sería una implementación SIP o XMPP más estándar donde hay una federación de servidores a los que los clientes pueden conectarse. Eso permite que los pares NATted sean al menos accesibles: el primer paso para descentralizar todo.

Sin embargo, los servidores SIP y XMPP se convertirían en puntos de control potenciales, por lo que el segundo paso sería construir una implementación SIP / XMPP totalmente descentralizada donde las búsquedas se realicen a través de una tabla hash distribuida (DHT). Esto eliminaría esos puntos de control y requeriría un diseño cuidadoso para garantizar que no sea vulnerable a los ataques. Se ha trabajado mucho en esto en el grupo de trabajo P2P SIP en el IETF aquí:

http://tools.ietf.org/wg/p2psip/

Algunos argumentarían que esto se ha visto empañado en la construcción de estándares y viola el principio de tener un código de trabajo, pero ha habido un gran esfuerzo en ese grupo con algunos ingenieros fenomenales involucrados.

La fase 1 de la arquitectura recién descrita se implementa actualmente en LittleShoot en

http://www.littleshoot.org

Sin embargo, sería bueno implementar la Fase 2 para lograr completamente el objetivo descentralizado.

Asumiré que cuando usa la palabra “señalización” se refiere al método utilizado para que un nodo encuentre, alcance y se comunique con otro. Como tal sí, porque algunos de estos dominios son espacios regulados. En las redes de radio, por ejemplo, debe cumplir con las reglas establecidas por la FCC para el uso del espectro y la intensidad.

Hablando en términos prácticos, una red de malla probablemente tendría que usar algo como la radio de banda ultra ancha, un protocolo de señalización de radio que opera por debajo de los “límites de notificación” requeridos por la FCC.