Red de conocimientos turísticos - Conocimientos sobre calendario chino - Análisis del código fuente de Ethernet: descubrimiento de nodos P2P

Análisis del código fuente de Ethernet: descubrimiento de nodos P2P

El descubrimiento de nodos involucra estructuras de datos de servidor, tabla y udp, cada una de las cuales tiene su propio bucle de respuesta a eventos. Cada cliente Ethernet comienza con un servidor que se ejecuta localmente y trata los nodos adyacentes en la topología de la red como nodos, mientras que la tabla es el contenedor de nodos y udp es la tabla utilizada para el descubrimiento de nodos. El contenedor y udp son responsables de mantener la conexión subyacente. A continuación se destacan los campos importantes y las partes clave de su procesamiento de bucle de eventos.

PrivateKey: la clave privada del nodo, utilizada para negociaciones de protocolo de enlace al establecer conexiones con otros nodos

Protocolos: todos los protocolos de capa superior compatibles

StaticNodes: pre- Nodo estático definido utilizado para mantener conexiones. strong>: el nodo par estático predeterminado iniciará primero una conexión cuando comience a establecer relaciones de vecino

newTransport: la implementación de la capa de transporte subyacente, que define el método de cifrado y descifrado de datos durante el proceso de intercambio. newRLPX() es creado por rlpx, que no es el tema central de este artículo

ntab: una implementación típica es una tabla donde todos los pares se representan como nodos. Nodo en la tabla

ourHandshake: información del protocolo de enlace al establecer una conexión con otro nodo, incluido el número de versión del nodo local y los protocolos de capa superior admitidos

addpeer. - Una vez completado el protocolo de enlace, el proceso de conexión notificará al servidor a través de este canal

El bucle de escucha del servidor (inicia el socket de escucha subyacente) y notifica al servidor cuando se recibe una solicitud de conexión después de la aceptación. , se llamará a setupConn () Inicie el proceso de establecimiento de conexión

El bucle de implementación de funciones y procesamiento de eventos principal del servidor

El nodo representa de forma única un nodo en la red

IP - Dirección IP

El nodo representa de forma única un nodo en la red. Dirección IP

UDP/TCP - Número de puerto UDP/TCP utilizado para conectar

Número de puerto UDP/TCP utilizado para conectar

UDP utilizado para conectar /Puerto TCP número La primera fase es el establecimiento de la clave ECDH:

La segunda fase es el protocolo de enlace, intercambiando protocolos de capa superior compatibles

Si ambos protocolos de enlace pasan, la tarea de marcación será el canal addpeer del servidor. envía información de pares.