I2p-cp

I2CP operates as a message-based protocol, facilitating communication between two primary components: the (the application) and the Router (the I2P node).

: Since I2P is a packet-switched network where messages can be lost or delayed, I2CP is inherently asynchronous, allowing applications to manage their own reliability or use the built-in streaming library for TCP-like behavior. The Initialization Process i2p-cp

: I2CP handles the high-level requests from applications (e.g., "send this data to this destination") and translates them into the lower-level tunnel and Garlic routing mechanisms used by the I2P network. : The router builds inbound tunnels and requests

: The router builds inbound tunnels and requests a "LeaseSet" from the client. This LeaseSet serves as a signed set of "entry points" that other peers can use to reach the application anonymously. Key I2CP Message Types Message Type SendMessage I2CP operates as a message-based protocol