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 _______________________________________________ GNUnet-SVN mailing list GNUnet-SVN@gnu.org http://lists.gnu.org/mailman/listinfo/gnunet-svn