2016-10-15 10:03:39 +03:00
---
layout: moneropedia
entry: "NTCP"
tags: ["kovri"]
terms: ["NTCP"]
2016-10-16 02:32:23 +03:00
summary: "NIO-Based TCP (Non-blocking I/O based TCP): one of two Kovri transports"
2016-10-15 10:03:39 +03:00
---
### The Basics
2016-10-16 02:32:23 +03:00
*NIO-Based TCP (Non-blocking I/O based TCP)* is one of two encrypted @transports for @Kovri .
Similar to @SSU , @NTCP 's *primary* purpose is to securely transmit @in -net @I2NP messages through @tunnels but, unlike @SSU , @NTCP functions solely over encrypted [TCP ](https://en.wikipedia.org/wiki/Transmission_Control_Protocol ).
2016-10-15 10:03:39 +03:00
### In-depth information
2016-10-16 02:32:23 +03:00
- Passes along individual @I2NP messages (both Standard and Time Sync) after:
- TCP has been established
- Establishment Sequence has been completed
- Uses the following @encryption:
- 2048-bit [Diffie-Hellman ](https://en.wikipedia.org/wiki/Diffie-hellman )
- [AES-256 ](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard )/[CBC](https://en.wikipedia.org/wiki/Block_cipher_modes_of_operation)
- Establishment Sequence has the following *states* :
- Pre-establishment
- Establishment
- Post-establishment or "Established"
- Uses the following from the @network -database:
- Transport name: NTCP
- Host: IP (IPv4 or IPv6) or host name (shortened IPv6 address (with "::") is allowed)
- Port: 1024 - 65535
### Notes
For further details, read @Java -I2P's [NTCP ](https://geti2p.net/en/docs/transport/ntcp )