Browse files

added readme

  • Loading branch information...
1 parent 989bb9a commit 4067a01be3938eaa74673e26b8610dd70f3cacdc @alexander-bauer alexander-bauer committed Apr 12, 2012
Showing with 31 additions and 0 deletions.
  1. +31 −0 README
@@ -0,0 +1,31 @@
+The code included in this repository is a combination of implimentation and protocol. Its primary use will be in plaintext and encrypted communication and data transfer between ships via peer-to-peer network. The protocol the current version follows is below.
+1. Addressing
+The Basic Transfer Packet assumes that every ship has two identifiers: ID, and Unique ID (UID.) The UID is a four-word random number (which is able to support roughly three billion players, giving each one identifier.) ID is a single random word, that extracted (by an as-yet unspecified method) from the UID.
+The UID would be useful primarily in checking that one is actually the intended recipient of a packet - there is no garuentee that it would not be faked.
+The ID is only one word, so it is not unique. It could be used for quick addressing, though, for use in identifying targets within a peer-to-peer network.
+2. Header
+The Basic Transfer Packet has a 16-word header with content (in its current version) as follows.
+ 0. Magic Number (0x6270)
+ 1. Flags (documented in btpflags.txt)
+ 2. Length of content in packet
+ 3. Time To Live
+ 4. Target ID (optionally set)
+ 5
+ 6
+ 7
+ 8. Target UID (optionally set)
+ 9. Sender ID (optionally set)
+ A
+ B
+ C
+ D. Sender UID (optionally set)
+ E. reserved word
+ F. reserved word
+3. Time To Live
+Time To Live (TTL) is extremely necessary in transmission across peer-to-peer networks. It is a value that is decremented before a packet is resent across the network. When it reaches zero, the packet is not resent along the network, but instead dropped. Standard interfaces could drop packets with very high TTL values, to avoid network flooding.

0 comments on commit 4067a01

Please sign in to comment.