La pile I2P est une conception en couches qui permet la communication anonyme. Chaque couche ajoute des capacités spécifiques par-dessus celles qui se trouvent en dessous. Consultez l’Index de la Documentation Technique pour des détails supplémentaires sur chaque composant.
Couche Internet
IP - Internet Protocol permet l’adressage des hôtes sur l’internet régulier et le routage des paquets à travers l’internet en utilisant une livraison au mieux.
Couche de transport
- TCP - Transmission Control Protocol permet la livraison fiable et ordonnée des paquets
- UDP - User Datagram Protocol permet la livraison non fiable et désordonnée des paquets
Couche de transport I2P
Connexions chiffrées router-à-router (pas encore anonymes) :
Couche tunnel I2P
Fournit des connexions tunnel chiffrées entièrement anonymes :
- Messages de tunnel - Messages I2NP chiffrés et instructions chiffrées pour leur livraison
- Messages I2NP - Messages de protocole avec chiffrement en couches pour le routage anonyme multi-saut
Couche Garlic d’I2P
Fournit une livraison de messages I2P chiffrés et anonymes de bout en bout :
- Messages garlic - Messages I2NP encapsulés pour la livraison anonyme
Couche Client I2P
- I2CP - I2P Control Protocol permet aux applications d’accéder au réseau I2P sans avoir à utiliser directement l’API du router
Couche de transport de bout en bout I2P
- Streaming Library - Fournit une livraison fiable et ordonnée similaire à TCP
- Datagram Library - Fournit une livraison non fiable similaire à UDP
Couche d’interface d’application I2P
Interfaces optionnelles pour les développeurs d’applications :
- I2PTunnel - Tunnelise les connexions TCP vers et depuis I2P
- SAMv3 - Protocole Simple Anonymous Messaging pour les applications non-Java
Couche Proxy d’Application I2P
Proxies pour les protocoles internet standard :
- HTTP - Proxy de navigation web
- IRC - Proxy Internet Relay Chat
- SOCKS - Proxy SOCKS4/4a/5
- Streamr - Proxy de streaming UDP
Applications
Les applications peuvent s’interfacer avec I2P à différents niveaux :
Applications Streaming/Datagram : - Applications natives I2P utilisant directement les bibliothèques streaming ou datagram
Applications SAM : - Applications dans n’importe quel langage utilisant le protocole SAM
Applications spécifiques à I2P : - Applications conçues spécifiquement pour I2P (I2PSnark, SusiMail, etc.)
Applications Internet Standard : - Applications régulières utilisant les proxies I2P (navigateurs web, clients IRC, etc.)
Diagramme de pile

Note : SAM peut utiliser à la fois la bibliothèque de streaming et les datagrammes.