Moneropedia: update NTCP/SSU/Transports entries

Also:
 - Add more 'terms' in other entries
 - Separate @Kovri/@I2P (currently, @I2P is implied)

Referencing:
 - monero-project/kovri#256
 - monero-project/monero-site#155
This commit is contained in:
anonimal 2016-10-15 23:32:23 +00:00
parent 92b846204f
commit 313b069453
No known key found for this signature in database
GPG key ID: 66A76ECF914409F1
9 changed files with 46 additions and 22 deletions

View file

@ -2,7 +2,7 @@
layout: moneropedia layout: moneropedia
entry: "Base32 address" entry: "Base32 address"
tags: ["kovri"] tags: ["kovri"]
terms: ["base32-address"] terms: ["base32-address", "base32-addresses"]
summary: "Base32 encoded hash of a Base64 address" summary: "Base32 encoded hash of a Base64 address"
--- ---

View file

@ -2,7 +2,7 @@
layout: moneropedia layout: moneropedia
entry: "Base64 address" entry: "Base64 address"
tags: ["kovri"] tags: ["kovri"]
terms: ["base64-address"] terms: ["base64-address", "base64-addresses"]
summary: "Base64 encoded I2P destination" summary: "Base64 encoded I2P destination"
--- ---

View file

@ -28,6 +28,6 @@ These technologies protect you from clearnet by building an anonymous network **
Here is an accurate, [interactive diagram](https://www.eff.org/pages/tor-and-https) provided by the [EFF](https://www.eff.org/) which describes *clearnet* as it relates to **Tor**. The concept also (somewhat) applies to @Kovri and @I2P in terms of anonymity with the exception that: Here is an accurate, [interactive diagram](https://www.eff.org/pages/tor-and-https) provided by the [EFF](https://www.eff.org/) which describes *clearnet* as it relates to **Tor**. The concept also (somewhat) applies to @Kovri and @I2P in terms of anonymity with the exception that:
- @Kovri/@I2P does not use exit nodes when connecting to an @eepsite - @Kovri does not use exit nodes when connecting to an @eepsite
- Your traffic ever need to leave the @I2P network. - Your traffic ever need to leave the @I2P network.
- You do not need HTTPS to use @Kovri/@I2P (with the exception of @reseed) - You do not need HTTPS to use @Kovri (with the exception of @reseed)

View file

@ -14,6 +14,6 @@ TODO(anonimal): finish
### In-depth Information ### In-depth Information
An @I2P destination can be encoded into a @base32-address or @base64-address. Most users will only care about @base32-address or a `.i2p` hostname while, internally, @Kovri/@I2P will use the @base64-address. An @I2P destination can be encoded into a @base32-address or @base64-address. Most users will only care about @base32-address or a `.i2p` hostname while, internally, @Kovri uses @base64-addresses.
TODO(anonimal): finish TODO(anonimal): finish

View file

@ -3,7 +3,7 @@ layout: moneropedia
entry: "Garlic Routing" entry: "Garlic Routing"
tags: ["kovri"] tags: ["kovri"]
terms: ["garlic-routing"] terms: ["garlic-routing"]
summary: "Routing technology as implemented in Kovri/I2P" summary: "Routing technology as implemented in Kovri"
--- ---
### The Basics ### The Basics

View file

@ -3,7 +3,7 @@ layout: moneropedia
entry: "Java I2P" entry: "Java I2P"
tags: ["kovri"] tags: ["kovri"]
terms: ["Java-I2P"] terms: ["Java-I2P"]
summary: "The original implementation of I2P; written in Java" summary: "The original implementation of I2P - written in Java"
--- ---
### The Basics ### The Basics

View file

@ -3,13 +3,32 @@ layout: moneropedia
entry: "NTCP" entry: "NTCP"
tags: ["kovri"] tags: ["kovri"]
terms: ["NTCP"] terms: ["NTCP"]
summary: "TODO(anonimal): finish" summary: "NIO-Based TCP (Non-blocking I/O based TCP): one of two Kovri transports"
--- ---
### The Basics ### The Basics
TODO(anonimal): finish *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).
### In-depth information ### In-depth information
TODO(anonimal): finish - 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)

View file

@ -3,24 +3,23 @@ layout: moneropedia
entry: "SSU" entry: "SSU"
tags: ["kovri"] tags: ["kovri"]
terms: ["SSU"] terms: ["SSU"]
summary: "I2P's Secure Semi-reliable UDP layer" summary: "Secure Semi-reliable UDP: one of two Kovri transports"
--- ---
### The Basics ### The Basics
*Secure Semi-reliable UDP* (SSU) is one of two encrypted @transport layers for @Kovri/@I2P. *Secure Semi-reliable UDP* is one of two encrypted @transports for @Kovri.
SSU's *primary* purpose is to securely transmit @in-net @I2NP messages through @tunnels over encrypted [UDP](https://en.wikipedia.org/wiki/User_Datagram_Protocol). Similar to @NTCP, @SSU's *primary* purpose is to securely transmit @in-net @I2NP messages through @tunnels but, unlike @NTCP, @SSU functions solely over encrypted [UDP](https://en.wikipedia.org/wiki/User_Datagram_Protocol).
### In-depth information ### In-depth information
- Much like its @NTCP counterpart, SSU is a connection-oriented, point-to-point data transport - Like @NTCP, @SSU is a connection-oriented, point-to-point data transport
- Termed *semi-reliable* because SSU will repeatedly retransmit *unacknowledged* messages (up to maximum number then dropped) - Termed *semi-reliable* because @SSU will repeatedly retransmit *unacknowledged* messages (up to maximum number then dropped)
- SSU also provides several unique services (in addition to its function as a @transport layer): - @SSU also provides several unique services (in addition to its function as a @transport layer):
- IP detection (local inspection + peer testing) - IP detection (local inspection or with [peer testing](https://geti2p.net/en/docs/transport/ssu#peerTesting))
- NAT traversal (using introducers) - [NAT](https://en.wikipedia.org/wiki/Network_address_translation) traversal (using [introducers](https://geti2p.net/en/docs/transport/ssu#introduction))
- Firewall status - [Firewall](https://en.wikipedia.org/wiki/Firewall_%28computing%29) status and, if implemented, @SSU can notify @NTCP if the external address or firewall status changes
- If implemented, SSU can notify NTCP if the external address or firewall status changes
### Notes ### Notes

View file

@ -3,13 +3,19 @@ layout: moneropedia
entry: "Transports" entry: "Transports"
tags: ["kovri"] tags: ["kovri"]
terms: ["transports", "transport"] terms: ["transports", "transport"]
summary: "TODO(anonimal): finish" summary: "The two encrypted transport layers for Kovri"
--- ---
### The Basics ### The Basics
TODO(anonimal): finish @Kovri comes with two encrypted [transport layer](https://en.wikipedia.org/wiki/Transport_layer) technologies that allow @Kovri to send @messages across the @I2P network. These *@transports* are @SSU and @NTCP.
@SSU is encrypted [UDP](https://en.wikipedia.org/wiki/User_Datagram_Protocol) and @NTCP is encrypted [TCP](https://en.wikipedia.org/wiki/Transmission_Control_Protocol). They both allow you to securely use @I2P over [TCP/IP](https://en.wikipedia.org/wiki/Tcp/ip) connections.
### In-depth information ### In-depth information
TODO(anonimal): finish TODO(anonimal): finish
### Notes
Read about the transport layer in the [OSI model](https://en.wikipedia.org/wiki/OSI_model)