gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r6329 - GNUnet-docs/WWW


From: gnunet
Subject: [GNUnet-SVN] r6329 - GNUnet-docs/WWW
Date: Sat, 16 Feb 2008 16:29:26 -0700 (MST)

Author: grothoff
Date: 2008-02-16 16:29:26 -0700 (Sat, 16 Feb 2008)
New Revision: 6329

Modified:
   GNUnet-docs/WWW/protocol_transport.php3
   GNUnet-docs/WWW/protocol_transport_index.inc
   GNUnet-docs/WWW/protocol_transport_tcp.php3
   GNUnet-docs/WWW/protocol_transport_udp.php3
Log:
updating transport protocol docs

Modified: GNUnet-docs/WWW/protocol_transport.php3
===================================================================
--- GNUnet-docs/WWW/protocol_transport.php3     2008-02-16 22:18:28 UTC (rev 
6328)
+++ GNUnet-docs/WWW/protocol_transport.php3     2008-02-16 23:29:26 UTC (rev 
6329)
@@ -6,7 +6,7 @@
 
 BP();
 W("GNUnet uses a special type of message to bind public keys to their current 
address.");
-W("For the UDP, TCP and HTTP transport layers, an address is an IP and a 
port.");
+W("For the UDP, TCP and HTTP transport layers, an address consists of IPv4 
(and/or IPv6) addresses and a port.");
 W("Other transport mechanisms (SMTP, etc.) deploy various other forms of 
addresses.");
 W("Note that any node can have multiple addresses for the various transport 
mechanisms.");
 EP();
@@ -27,6 +27,7 @@
 BP();
 W("The best way to start implementing a new transport mechanism is to start 
with existing code that is semantically as close to the new mechanism as 
possible.");
 W("The most important criteria is if the connection is stateful and 
bidirectional (TCP, HTTP) or stateless and unidirectional (UDP, SMTP).");
+W("Implementations also can choose to only support messages of fixed size 
using some implemntation-dependent fixed MTU (UDP, SMTP), provide a streaming 
interface and use a stream (TCP) or internally convert a streaming interface 
into individual messages (HTTP).");
 W("Since reliability and delays are handled by the applications, these 
criteria are irrelevant for choosing an implementation to evolve from.");
 P();
 
@@ -45,7 +46,8 @@
 W("Depending on the implementation of the transport mechanism, it may not be 
necessary to transmit the sender identity or the size explicitly in each 
message.");
 W("For example, a stateful transport such as TCP may only transmit the sender 
identity once and use special messages to switch between plaintext and 
encrypted messages.");
 W("UDP on the other hand must transmit the sender identity each time.");
-W("However, the packet size of UDP makes it unnecessary to explicitly transmit 
the message size.");
+W("The HTTP transport encodes the sender identity in the request URL.");
+W("Also, some transports need to explicitly transmit the size of the message 
(TCP) whereas for other transports (such as UDP) the explicit packet size makes 
it unnecessary to explicitly transmit the message size.");
 EP();
 
 include("html_footer.php3");

Modified: GNUnet-docs/WWW/protocol_transport_index.inc
===================================================================
--- GNUnet-docs/WWW/protocol_transport_index.inc        2008-02-16 22:18:28 UTC 
(rev 6328)
+++ GNUnet-docs/WWW/protocol_transport_index.inc        2008-02-16 23:29:26 UTC 
(rev 6329)
@@ -1,8 +1,6 @@
 <ol>
 <li><?php intlink("protocol_transport_udp.php3","UDP"); ?></li>
 <li><?php intlink("protocol_transport_tcp.php3","TCP"); ?></li>
+<li><?php intlink("protocol_transport_http.php3","HTTP"); ?></li>
 <li><?php intlink("smtp.php3","SMTP"); ?></li>
-<!-- li><?php intlink("protocol_transport_udp6.php3","UDP6"); ?></li -->
-<!-- li><?php intlink("protocol_transport_tcp6.php3","TCP6"); ?></li -->
-<!-- li><?php intlink("protocol_transport_http.php3","HTTP"); ?></li -->
 </ol>

Modified: GNUnet-docs/WWW/protocol_transport_tcp.php3
===================================================================
--- GNUnet-docs/WWW/protocol_transport_tcp.php3 2008-02-16 22:18:28 UTC (rev 
6328)
+++ GNUnet-docs/WWW/protocol_transport_tcp.php3 2008-02-16 23:29:26 UTC (rev 
6329)
@@ -23,11 +23,19 @@
 BP();
 W("Here, <tt>data</tt> is the message as passed down by the GNUnet core.");
 P();
-W("For the TCP transport service, the sender address in the HELO has this 
format:");
+W("For the TCP transport service, the sender address in the HELLO has this 
format:");
 EP();
 LAYOUT("HostAddress",
-       F(ARRAY(N("IP", NBO_()) => 4,
+       F(ARRAY(N("IPv6 address", "") => 16,
+              N("IPv4 address", NBO_()) => 4,
                N("port", NBO_()) => 2,
-               V("reserved", 0, NBO_()) => 2)));
+               V("availability", 0, NBO_()) => 2)));
+BP();
+W("The <tt>availability</tt> field describes which of the IP protocols are 
supported.");
+W("If the lowest bit (1) is set, the given IPv4 address should be valid.");
+W("If the second lowest bit (2) is set, the given IPv6 address should be 
valid.");
+W("If both bits are set, both IPv4 and IPv6 can be used to contact the peer.");
+W("All other bits should be zero and ignored by peers at this point.");
+W("HELLOs where no bits in <tt>availability</tt> are set are invalid.");
 include("html_footer.php3");
 ?>

Modified: GNUnet-docs/WWW/protocol_transport_udp.php3
===================================================================
--- GNUnet-docs/WWW/protocol_transport_udp.php3 2008-02-16 22:18:28 UTC (rev 
6328)
+++ GNUnet-docs/WWW/protocol_transport_udp.php3 2008-02-16 23:29:26 UTC (rev 
6329)
@@ -19,8 +19,16 @@
 W("For the UDP transport service, the sender address in the HELO has this 
format:");
 EP();
 LAYOUT("HostAddress",
-       F(ARRAY(N("IP", NBO_()) => 4,
+       F(ARRAY(N("IPv6 address", "") => 16,
+              N("IPv4 address", NBO_()) => 4,
                N("port", NBO_()) => 2,
-               V("reserved", 0, NBO_()) => 2)));
+               V("availability", 0, NBO_()) => 2)));
+BP();
+W("The <tt>availability</tt> field describes which of the IP protocols are 
supported.");
+W("If the lowest bit (1) is set, the given IPv4 address should be valid.");
+W("If the second lowest bit (2) is set, the given IPv6 address should be 
valid.");
+W("If both bits are set, both IPv4 and IPv6 can be used to contact the peer.");
+W("All other bits should be zero and ignored by peers at this point.");
+W("HELLOs where no bits in <tt>availability</tt> are set are invalid.");
 include("html_footer.php3");
 ?>
\ No newline at end of file





reply via email to

[Prev in Thread] Current Thread [Next in Thread]