gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r940 - GNUnet-docs/WWW/test


From: durner
Subject: [GNUnet-SVN] r940 - GNUnet-docs/WWW/test
Date: Tue, 14 Jun 2005 12:46:14 -0700 (PDT)

Author: durner
Date: 2005-06-14 12:46:09 -0700 (Tue, 14 Jun 2005)
New Revision: 940

Modified:
   GNUnet-docs/WWW/test/protocol_transport.php3
   GNUnet-docs/WWW/test/protocol_transport_tcp.php3
   GNUnet-docs/WWW/test/protocol_transport_udp.php3
   GNUnet-docs/WWW/test/smtp.php3
Log:
Reformat

Modified: GNUnet-docs/WWW/test/protocol_transport.php3
===================================================================
--- GNUnet-docs/WWW/test/protocol_transport.php3        2005-06-14 19:26:59 UTC 
(rev 939)
+++ GNUnet-docs/WWW/test/protocol_transport.php3        2005-06-14 19:46:09 UTC 
(rev 940)
@@ -4,14 +4,16 @@
 $description="GNUnet Documentation - a secure peer-to-peer framework starring 
anonymous file sharing with an excess based trust-economy";
 include("html_header.php3");
 
+BP();
 W("GNUnet uses a special type of message to bind public keys to their current 
address.");
 W("For the UDP and TCP transport layers, an address is an IP and a port.");
 W("Other transport mechanisms (HTTP, SMTP, etc.) deploy various other forms of 
addresses.");
 W("Note that any node can have multiple addresses for the various transport 
mechanisms.");
+EP();
 
 include("protocol_transport_index.inc");
 
-BR();
+BP();
 W("The configuration of the SMTP transport layer is described %s",
   intlink_("smtp.php3","here"));
 
@@ -19,9 +21,10 @@
 W("There is no guarantee that a message will be delivered.");
 W("We now describe how you can write your own transport mechanism for the 
GNUnet peer-to-peer framework.");
 
-P();
+EP();
 H4("How do I write a new transport mechanism for GNUnet?");
 
+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("Since reliability and delays are handled by the applications, these 
criteria are irrelevant for choosing an implementation to evolve from.");
@@ -37,17 +40,19 @@
 
 
 W("In addition to the message itself, the transport mechanism must 
communicate:");
+EP();
 echo "<ul>\n";
 LI("The sender identity (hash of public key)");
 LI("If the message is in plaintext or encrypted");
 LI("The CRC of the (plaintext) message");
 LI("The size of the message");
 echo "</ul>\n";
+BP();
 W("The transport layer implementation defines an appropriate message format to 
transmit this data.");
 W("The encapsulation format can be different for each transport.");
 W("Depending on the implementation of the transport mechanism, not all of 
these must be transmitted 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.");
-P();
+EP();
 
 include("html_footer.php3");
 ?>

Modified: GNUnet-docs/WWW/test/protocol_transport_tcp.php3
===================================================================
--- GNUnet-docs/WWW/test/protocol_transport_tcp.php3    2005-06-14 19:26:59 UTC 
(rev 939)
+++ GNUnet-docs/WWW/test/protocol_transport_tcp.php3    2005-06-14 19:46:09 UTC 
(rev 940)
@@ -7,11 +7,11 @@
 
 H2("The TCP transport service");
 
-
+BP();
 W("For the TCP transport service, the sender address has this %s:",
   extlink_("doxygen/html/structHostAddress.html","format"));
-P();
-echo "<table border=3>\n";
+EP();
+echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
 include("bittable.inc");
 rowIntEntryNBO("IP");
 row(shortEntry_("sender port",

Modified: GNUnet-docs/WWW/test/protocol_transport_udp.php3
===================================================================
--- GNUnet-docs/WWW/test/protocol_transport_udp.php3    2005-06-14 19:26:59 UTC 
(rev 939)
+++ GNUnet-docs/WWW/test/protocol_transport_udp.php3    2005-06-14 19:46:09 UTC 
(rev 940)
@@ -6,11 +6,12 @@
 
 
 H2("The UDP transport service");
-
+BP();
 W("The current UDP implementation encapsulates messages in this %s.",
   extlink_("doxygen/html/structMessagePack.html","format"));
+EP();
 
-echo "<table border=3>\n";
+echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
 include("bittable.inc");
 row(shortEntry_("size of the packet",
                NBO_()),
@@ -20,11 +21,11 @@
 fiveRowIntEntries("sender identity");
 rowIntEntry("Messages...");
 echo "</table>\n";
-P();
+BP();
 W("For the UDP transport service, the sender address has this %s:",
   extlink_("doxygen/html/structHostAddress.html","format"));
-P();
-echo "<table border=3>\n";
+EP();
+echo "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n";
 include("bittable.inc");
 rowIntEntryNBO("IP");
 row(shortEntry_("sender port",

Modified: GNUnet-docs/WWW/test/smtp.php3
===================================================================
--- GNUnet-docs/WWW/test/smtp.php3      2005-06-14 19:26:59 UTC (rev 939)
+++ GNUnet-docs/WWW/test/smtp.php3      2005-06-14 19:46:09 UTC (rev 940)
@@ -6,9 +6,10 @@
 
 H2("The GNUnet SMTP Transport Layer");
 
+BP();
 W("This page describes the new SMTP transport service for GNUnet.");
 W("It also describes the transport layer in more detail and gives some 
benchmarking results.");
-P();
+EP();
 echo "<ol>\n";
 LIV(extlink_("#why","Why use SMTP for a peer-to-peer transport?"));
 LIV(extlink_("#how","How does it work?"));
@@ -17,11 +18,13 @@
 LIV(extlink_("#perf","How fast is it?"));
 LIV(extlink_("#doc","Is there any additional documentation?"));
 echo "</ol>\n";
-P();
+BP();
 HR();
-P();
+EP();
 ANCHOR("why");H3("Why use SMTP for a peer-to-peer transport?");
+BP();
 W("There are many reasons why one would not want to use SMTP:");
+EP();
 echo "<ul>\n";
 LI("SMTP is using more bandwidth than TCP, UDP or HTTP");
 LI("SMTP has a much higher latency.");
@@ -31,7 +34,9 @@
 LI("SMTP may be abused by tricking GNUnet into sending mail to
      non-participating third parties.");
 echo "</ul>\n";
+BP();
 W("So why would anybody want to use SMTP?");
+EP();
 echo "<ul>\n";
 LI("SMTP can be used to contact peers behind NAT boxes (in virtual private 
networks).");
 LI("SMTP can be used to circumvent policies that limit or prohibit 
peer-to-peer traffic by masking as &quot;legitimate&quot; traffic.");
@@ -39,26 +44,30 @@
 LI("SMTP can be used to initiate a connection (e.g. initial address exchange) 
and peers can then negotiate the use of a more efficient protocol (e.g. TCP) 
for the actual communication.");
 echo "</ul>\n";
 
+BP();
 W("In summary, SMTP can for example be used to send a message to a peer behind 
a NAT box that has a dynamic IP to tell the peer to establish a TCP connection 
to a peer outside of the private network.");
 W("Even an extraordinary overhead for this first message would be irrelevant 
in this type of situation.");
-P();
+EP();
 
 ANCHOR("how");H3("How does it work?");
 
+BP();
 W("When a GNUnet peer needs to send a message to another GNUnet peer that has 
advertised (only) an SMTP transport address, GNUnet base64-encodes the message 
and sends it in an E-mail to the advertised address.");
 W("The advertisement contains a <em>filter</em> which is placed in the E-mail 
header, such that the receiving host can filter the tagged E-mails and forward 
it to the GNUnet peer process.");
 W("The filter can be specified individually by each peer and be changed over 
time.");
 W("This makes it impossible to censor GNUnet E-mail messages by searching for 
a generic filter.");
-P();
+EP();
 
 ANCHOR("cfg");H3("How do I configure my peer?");
 
+BP();
 W("First, you need to configure <tt>procmail</tt> to filter your inbound 
E-mail for GNUnet traffic.");
 W("The GNUnet messages must be delivered into a pipe, for example 
<tt>/tmp/gnunet.smtp</tt>.");
 W("You also need to define a <em>filter</em> that is used by procmail to 
detect GNUnet messages.");
 W("You are free to choose whichever filter you like, but you should make sure 
that it does not occur in your other E-mail.");
 W("In our example, we will use <tt>X-mailer: GNUnet</tt>.");
 W("The <tt>~/.procmailrc</tt> configuration file then looks like this:");
+EP();
 
 PRE(":0:\n" .
     "* ^X-mailer: GNUnet\n" .
@@ -68,10 +77,12 @@
     ":0:\n" .
     "/var/spool/mail/$USER\n");
 
+BP();
 W("After adding this file, first make sure that your regular E-mail still 
works (e.g. by sending an E-mail to yourself).");
 W("Then edit the GNUnet configuration.");
 W("In the section <tt>SMTP</tt> you need to specify your E-mail address under 
<tt>EMAIL</tt>, your mail server (for outgoing mail) under <tt>SERVER</tt>, 
your hostname under <tt>SENDERHOSTNAME</tt>, the filter (<em>X-mailer: 
GNUnet</em> in the example) under <tt>FILTER</tt> and the name of the pipe 
under <tt>PIPE</tt>.");
 W("The completed section could then look like this:");
+EP();
 
 PRE("EMAIL = address@hidden" .
     "MTU = 65536\n" .
@@ -80,17 +91,19 @@
     "SENDERHOSTNAME = www.gnu.org\n" .
     "FILTER = \"X-mailer: GNUnet\"\n" .
     "PIPE = /tmp/gnunet.smtp");
+    
+BP();
 W("Finally, you need to add <tt>smtp</tt> to the list of <tt>TRANSPORTS</tt> 
in the <tt>GNUNETD</tt> section.");
 W("GNUnet peers will use the E-mail address that you specified to contact your 
peer until the advertisement times out.");
 W("Thus, if you are not sure if everything works properly or if you are not 
planning to be online for a long time, you may want to configure this timeout 
to be short, e.g. just one hour.");
 W("For this, set <tt>HELOEXPIRES</tt> to <tt>1</tt> in the <tt>GNUNETD</tt> 
section.");
-BR();
+P();
 W("This should be it, but you may probably want to %s it first.\n",
   extlink_("#tst","test"));
-P();
 
 ANCHOR("tst");H3("How do I test if it works?");
 
+BP();
 W("Any transport can be subjected to some rudimentary tests using the 
<tt>gnunet-transport-check</tt> tool.");
 W("The tool sends a message to the local node via the transport and checks 
that a valid message is received.");
 W("While this test does not involve other peers and can not check if firewalls 
or other network obstacles prohibit proper operation, this is a great testcase 
for the SMTP transport since it tests pretty much nearly all of the 
functionality.");
@@ -104,9 +117,10 @@
 W("Note that this test always checks if a transport can receive and send.");
 W("While you can configure most transports to only receive or only send 
messages, this test will only work if you have configured the transport to send 
and receive messages.");
 
-P();
+EP();
 ANCHOR("perf");H3("How fast is it?");
 
+BP();
 W("We have measured the performance of the UDP, TCP and SMTP transport layer 
directly and when used from an application using the GNUnet core.");
 W("Measureing just the transport layer gives the better view of the actual 
overhead of the protocol, whereas evaluating the transport from the application 
puts the overhead into perspective from a practical point of view.");
 P();
@@ -121,23 +135,48 @@
 W("This way, network latency and packet loss on the wire have no impact on the 
timings.");
 W("n messages were sent sequentially over the transport layer, sending message 
i+1 after the i-th message was received.");
 W("All messages were sent over the same connection and the time to establish 
the connection was not taken into account since this overhead is miniscule in 
practice -- as long as a connection is used for a significant number of 
messages.");
+EP();
 
 echo "<center>\n";
 ?>
-<table border=5 width="90%">
-<tr><th><?php W("Transport"); ?></th><th>UDP</th><th>TCP</th>
-<th>SMTP (Purdue sendmail)</th><th>SMTP (RH 8.0)</th><th>SMTP (SGL 
qmail)</th></tr>
-<tr><th align=right>   11 bytes</th><td align=right>31 ms</td><td 
align=right>55 ms</td>
-<td align=right> 781 s     </td><td align=right>77 s </td><td align=right>24 s 
</td></tr>
-<tr><th align=right>  407 bytes</th><td align=right>37 ms</td><td 
align=right>62 ms</td>
-<td align=right> 789 s     </td><td align=right>78 s </td><td align=right>25 s 
</td></tr>
-<tr><th align=right>1,221 bytes</th><td align=right>46 ms</td><td 
align=right>73 ms</td>
-<td align=right> 804 s     </td><td align=right>78 s </td><td align=right>25 s 
</td></tr>
+<table border="0" cellspacing="0" cellpadding="0" width="90%">
+       <tr>
+               <th class="tbl"><?php W("Transport"); ?></th>
+               <th class="tbl">UDP</th>
+               <th class="tbl">TCP</th>
+               <th class="tbl">SMTP (Purdue sendmail)</th>
+               <th class="tbl">SMTP (RH 8.0)</th>
+               <th class="tbl">SMTP (SGL qmail)</th>
+       </tr>
+       <tr>
+               <th class="tbl" stlye="text-align: right;">   11 bytes</th>
+               <td class="tbl" stlye="text-align: right;">31 ms</td>
+               <td class="tbl" stlye="text-align: right;">55 ms</td>
+               <td class="tbl" stlye="text-align: right;"> 781 s     </td>
+               <td class="tbl" stlye="text-align: right;">77 s </td>
+               <td class="tbl" stlye="text-align: right;">24 s </td>
+       </tr>
+       <tr>
+               <th class="tbl" stlye="text-align: right;">  407 bytes</th>
+               <td class="tbl" stlye="text-align: right;">37 ms</td>
+               <td class="tbl" stlye="text-align: right;">62 ms</td>
+               <td class="tbl" stlye="text-align: right;"> 789 s     </td>
+               <td class="tbl" stlye="text-align: right;">78 s </td>
+               <td class="tbl" stlye="text-align: right;">25 s </td>
+       </tr>
+       <tr>
+               <th class="tbl" stlye="text-align: right;">1,221 bytes</th>
+               <td class="tbl" stlye="text-align: right;">46 ms</td>
+               <td class="tbl" stlye="text-align: right;">73 ms</td>
+               <td class="tbl" stlye="text-align: right;"> 804 s     </td>
+               <td class="tbl" stlye="text-align: right;">78 s </td>
+               <td class="tbl" stlye="text-align: right;">25 s </td>
+       </tr>
 </table>
 <?php
 
 echo "</center>\n";
-P();
+BP();
 
 W("The benchmarks show that UDP and TCP are, as expected, both significantly 
faster compared with any of the SMTP services.");
 W("Among the SMTP implementations, there can be significant differences 
depending on the SMTP configuration.");
@@ -164,9 +203,10 @@
   ARRAY(extlink_("download/transport.ps","A4"),
        extlink_("download/transport-us.ps","US-letter")));
 
-P();
+EP();
 ANCHOR("doc");H3("Is there any additional documentation?");
 
+BP():
 W("Sure.");
 W("We have the %s from our initial proposal, a research paper (%s, %s) that 
also discusses some security aspects of the design, a concluding %s and the 
%s.",
   ARRAY(extlink_("download/transport-proposal.ps","slides"),
@@ -174,6 +214,7 @@
        extlink_("download/transport-us.ps","US-letter"),
        extlink_("download/transport-presentation.pdf","presentation"),
        extlink_("man/gnunet-transport-check.1.html","man page for 
gnunet-transport-check")));
+EP();
 
 include("html_footer.php3");
 ?>





reply via email to

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