Esta página fue actualizada por última vez el 2024-01 y es precisa con la versión 0.9.61 del router I2P.

Aquí está la pila de protocolo para I2P. Vea también el Índice a la documentación técnica.

Cada una de las capas en la pila proporciona capacidades extra. Las capacidades están listadas debajo, comenzando en el fondo de la pila de protocolo.

  • Capa de Internet:
    IP: Protocolo de Internet, permite redireccionar hacia servidores en la Internet regular y enrutar paquetes a través de Internet usando entrega de mejor-esfuerzo (`best-effort`, sin garantías)
  • Capa de transporte:
    TCP: Protocolo de Control de Transmisiones, permite la entrega de paquetes fiable y ordenada a través de Internet.
    UDP: Protocolo de Datagrama de Usuario, permite entrega de paquetes no fiable y desordenada a través de Internet.
  • Capa de Transporte I2P: proporciona conexiones cifradas entre 2 routers I2P. Estos no son aún anónimos, esta es estrictamente una conexión salto-a-salto. Se implementaron dos protocolos para proporcionar estas capacidades. NTCP (TCP basado en NIO) se construye encima de TCP, mientras que SSU (UDP Seguro Semiconfiable) usa UDP.
    NTCP2: TCP basado-en-NIO
    SSU: UDP Seguro Semi-fiable
  • Capa de Túnel I2P: proporciona conexiones de túnel con cifrado completo.
    Mensajes de túnel: Los mensajes de túnel son mensajes grandes que contienen mensajes cifrados I2NP (vea debajo), e instrucciones cifradas para su entrega. El cifrado está dividido en capas. El primer salto descifrará el mensaje de túnel y leerá una parte. Otra parte puede aún ser cifrada (con otra clave), así que será reenviada.
    Mensajes de I2NP: Los mensajes de Protocolo de Red I2P se usan para pasar mensajes a múltiples routers. Estos mensajes I2NP se combinan en mensajes de túnel.
  • Capa Garlic (ajo) de I2P: proporciona entrega de mensajes I2P extremo-a-extremo cifrada y anónima
    Mensajes I2NP: Los mensajes de Protocolo de Red I2P se envuelven unos en otros y se usan para asegurar el cifrado entre dos túneles, y se transmiten desde la fuente al destino manteniendo a ambos anónimos.

Las capas siguientes estrictamente hablando ya no forman parte de la pila del Protocolo I2P, no son parte de la funcionalidad central del 'router I2P'. Sin embargo, cada una de estas capas añade funcionalidad adicional, que permite a las aplicaciones un uso simple y conveniente de I2P.

  • Capa de cliente I2P: permite a cualquier cliente usar las funcionalidades de I2P, sin requerir el uso directo de la API (Interfaz de Programación de Aplicaciones) del router.
    I2CP: El Protocolo de Cliente I2P, permite una mensajería segura y asíncrona sobre I2P mediante la comunicación de mensajes sobre el socket TCP de I2CP.
  • Capa de transporte extremo-a-extremo: permite funcionalidades del tipo-TCP o tipo-UDP encima de I2P.
    Librería de Streaming: una implementación de streams tipo TCP sobre I2P. Esto permite importar fácilemente aplicaciones ya existentes a I2P.
    Librería de Datagramas: una implementación de mensajes tipo UDP sobre I2P. Esto permite importar más fácilmente aplicaciones ya existentes a I2P.
  • Capa del interfaz para aplicaciones I2P: librerías adicionales (opcionales) que permiten implementaciones más fáciles sobre I2P.
    I2PTunnel
    SAMv3
  • Capa proxy para las aplicaciones I2P: sistemas proxy.
    Servidor/Cliente HTTP, cliente IRC , SOCKS, Streamr.

Finalmente, la que puede puede ser considerada la 'capa de aplicación de I2P', es un gran número de aplicaciones sobre I2P. Podemos ordenar esto basándonos en las capas I2P que usan.

  • Aplicaciones de streaming/datagramas: i2psnark, Syndie, i2phex...
  • SAM applications: IMule, i2p-bt...
  • Otras aplicaciones I2P: Syndie, EepGet, complementos...
  • Regular applications: Jetty, Apache, Git, browsers, e-mail...
Pila de red I2P

Figura 1: Las capas en la pila de red de I2P.

* Note: SAM can use both the streaming lib and datagrams.