pull/1/head
Jeff Becker 6 years ago
parent 9d457cfc6a
commit 773eb21a71
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -269,6 +269,10 @@ datastructures:
all datastructures are assumed version 0 if they lack a v value
otherwise version is provided by the v value
all ip addresses can be ipv4 via hybrid dual stack ipv4 mapped ipv6 addresses,
i.e ::ffff.8.8.8.8. The underlying implementation MAY implement ipv4 as native
ipv4 instead of using a hybrid dual stack.
address info (AI)
An address info (AI) defines a publically reachable ipv6 endpoint
@ -284,6 +288,9 @@ An address info (AI) defines a publically reachable ipv6 endpoint
Exit Info (XI)
An exit info (XI) defines a exit address that can relay exit traffic to the
internet.
{
a: "<16 bytes big endian ipv6 address>",
b: "<16 bytes big endian ipv6 netmask>",
@ -291,11 +298,26 @@ Exit Info (XI)
v: 0
}
Exit Route (XR)
An exit route (XR) define an allocated exit address and any additional
information required to access the internet via that exit address.
{
a: "<16 bytes big endian ipv6 gateway address>",
b: "<16 bytes big endian ipv6 netmask>",
c: "<16 bytes big endian ipv6 source address>",
e: lifetime_in_seconds_uint64,
v: 0
}
router contact (RC)
{
a: [ one, or, many, AI, here ... ],
k: "<32 bytes public signing/encryption identity key>",
u: last_updated_seconds_since_epoch_uint64,
v: 0,
x: [ Exit, Infos ],
z: "<64 bytes signature using identity key>"
@ -393,8 +415,25 @@ routing layer messages.
any link layer message without a key v is assumed to be version 0 otherwise
indicates the protocol version in use.
link introduce message (LIM)
This message MUST be the first link message sent before any others. This message
identifies the sender as having the RC contained in r. The recipiant MUST
validate the RC's signature and ensure that the public key in use is listed in
the RC.a matching the ipv6 address it originated from.
{
a: "i",
r: RC,
v: 0
}
link relay commit message (LRCM)
request a commit to relay traffic to another node.
{
a: "c",
@ -406,7 +445,7 @@ link relay commit message (LRCM)
link relay commit record (LRCR)
record requesting path with id p relay messages for x seconds to router
on network who's i is equal to RC.k and decrypt data any messages using
-+on network who's i is equal to RC.k and decrypt data any messages using
PKE(n, rc.K, c) as symettric key for encryption and decryption.
{
@ -548,6 +587,8 @@ originated from inside a LRDM.
for direct communication between routers a direct path MUST be used, these
messages MUST NOT be sent on the link leyer.
ipv4 addresses are allowed via ipv4 mapped ipv6 addresses, i.e. ::ffff.10.0.0.1
obtain exit address message (OXAM)
sent to an exit router to obtain a NAT ip address for ip exit traffic.
@ -567,19 +608,19 @@ ip address used for exit traffic.
{
A: "G",
E: XI,
E: XR,
I: "<32 bytes signing public key of requester>",
T: transaction_id_uint64,
V: 0,
Z: "<64 bytes signature using exit info's signing key>"
}
E contains an exit info that was granted to the requester that can be used with
E contains an exit route that was granted to the requester that can be used with
IP exit traffic.
The requester will now have any ip traffic going to the address in XI forwarded
to them via the path that originally sent the OXAM and any TDFM will is recieved
on the same path will be forwarded out to the internet, given that they have
The requester will now have any ip traffic going to address S forwarded to them
via the path that originally sent the OXAM and any TDFM will is recieved on the
same path will be forwarded out to the internet, given that they have
valid signatures and addresses.
@ -745,7 +786,7 @@ for the previously provided IS, if backoff is 0 the operation was successfull
find router contact message (FRCM)
find a router by public key
find a router by long term RC.k public key
{
A: "F",

Loading…
Cancel
Save