Unverified Commit 313b0694 authored by anonimal's avatar anonimal
Browse files

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
parent 92b84620
......@@ -2,7 +2,7 @@
layout: moneropedia
entry: "Base32 address"
tags: ["kovri"]
terms: ["base32-address"]
terms: ["base32-address", "base32-addresses"]
summary: "Base32 encoded hash of a Base64 address"
---
......
......@@ -2,7 +2,7 @@
layout: moneropedia
entry: "Base64 address"
tags: ["kovri"]
terms: ["base64-address"]
terms: ["base64-address", "base64-addresses"]
summary: "Base64 encoded I2P destination"
---
......
......@@ -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:
- @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.
- 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)
......@@ -14,6 +14,6 @@ TODO(anonimal): finish
### 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
......@@ -3,7 +3,7 @@ layout: moneropedia
entry: "Garlic Routing"
tags: ["kovri"]
terms: ["garlic-routing"]
summary: "Routing technology as implemented in Kovri/I2P"
summary: "Routing technology as implemented in Kovri"
---
### The Basics
......
......@@ -3,7 +3,7 @@ layout: moneropedia
entry: "Java I2P"
tags: ["kovri"]
terms: ["Java-I2P"]
summary: "The original implementation of I2P; written in Java"
summary: "The original implementation of I2P - written in Java"
---
### The Basics
......
......@@ -3,13 +3,32 @@ layout: moneropedia
entry: "NTCP"
tags: ["kovri"]
terms: ["NTCP"]
summary: "TODO(anonimal): finish"
summary: "NIO-Based TCP (Non-blocking I/O based TCP): one of two Kovri transports"
---
### 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
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)
......@@ -3,24 +3,23 @@ layout: moneropedia
entry: "SSU"
tags: ["kovri"]
terms: ["SSU"]
summary: "I2P's Secure Semi-reliable UDP layer"
summary: "Secure Semi-reliable UDP: one of two Kovri transports"
---
### 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
- Much like its @NTCP counterpart, 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)
- SSU also provides several unique services (in addition to its function as a @transport layer):
- IP detection (local inspection + peer testing)
- NAT traversal (using introducers)
- Firewall status
- If implemented, SSU can notify NTCP if the external address or firewall status changes
- 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)
- @SSU also provides several unique services (in addition to its function as a @transport layer):
- IP detection (local inspection or with [peer testing](https://geti2p.net/en/docs/transport/ssu#peerTesting))
- [NAT](https://en.wikipedia.org/wiki/Network_address_translation) traversal (using [introducers](https://geti2p.net/en/docs/transport/ssu#introduction))
- [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
### Notes
......
......@@ -3,13 +3,19 @@ layout: moneropedia
entry: "Transports"
tags: ["kovri"]
terms: ["transports", "transport"]
summary: "TODO(anonimal): finish"
summary: "The two encrypted transport layers for Kovri"
---
### 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
TODO(anonimal): finish
### Notes
Read about the transport layer in the [OSI model](https://en.wikipedia.org/wiki/OSI_model)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment