~ubuntu-branches/ubuntu/karmic/gtk-gnutella/karmic

« back to all changes in this revision

Viewing changes to doc/gnutella/hostname

  • Committer: Bazaar Package Importer
  • Author(s): Anand Kumria
  • Date: 2005-08-04 11:32:05 UTC
  • mfrom: (1.2.1 upstream) (2.1.1 sarge)
  • Revision ID: james.westby@ubuntu.com-20050804113205-q746i4lgo3rtlegn
Tags: 0.95.4-1
New upstream release.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
                   Propagating Server's Hostname
 
2
                            Version 0.1
 
3
 
 
4
                          Raphael Manfredi
 
5
                    <Raphael_Manfredi@pobox.com>
 
6
                        October 26th, 2003
 
7
 
 
8
 
 
9
1. OVERVIEW
 
10
 
 
11
Because most ISP today offer dynamic IP to their customers, the lifetime of
 
12
Gnutella's server IP addresses is short (around 24 hours). 
 
13
 
 
14
This is counter-productive for the file-serving features of Gnutella, as
 
15
the queued downloads and the download mesh only record the IP addresses of
 
16
the servers.
 
17
 
 
18
When users have some kind of dynamic DNS setup, it is possible for them
 
19
to provide a hostname that can be looked up through the DNS to yield
 
20
the corresponding IP address.
 
21
 
 
22
This proposal documents what is implemented in gtk-gnutella today (26/10/2003).
 
23
 
 
24
 
 
25
2. HOSTNAME CONFIGURATION
 
26
 
 
27
The GUI offers an optional configuration for a hostname.  When supplied,
 
28
this hostname will be transmitted in the query hits generated by the host
 
29
and in the HTTP headers of the server's replies for downloaders to peruse.
 
30
 
 
31
It is NOT beeing used in the mesh entries yet.  Servent authors are encouraged
 
32
to update their code to allow hostnames to be given as alternate locations,
 
33
in X-Gnutella-Alternate-Location or in X-Alt headers.  For backward
 
34
compatibility, gtk-gnutella does not use the optionally configured hostname
 
35
in those headers and sticks to supplying the node's IP address only (as
 
36
of 26/10/2003).
 
37
 
 
38
 
 
39
3. HTTP HOSTNAME PROPAGATION
 
40
 
 
41
A Gnutella node serving files and knowing its hostname will tell uploaders
 
42
about it via the X-Hostname header, provided it is not firewalled:
 
43
 
 
44
    X-Hostname: gnutella.example.com
 
45
 
 
46
It is up to the uploader to interpret this header.  The header MAY not
 
47
be always present in the server's replies, even though the hostname is
 
48
known, to save bandwidth.  In particular, follow-up HTTP/1.1 replies
 
49
SHOULD NOT contain it.
 
50
 
 
51
 
 
52
4. QUERY HIT HOSTNAME PROPAGATION
 
53
 
 
54
A Gnutella node replying to queries, knowing its hostname and not firewalled
 
55
SHOULD include its hostname in the trailer of its query hits, using the
 
56
"HNAME" GGEP extension.
 
57
 
 
58
This extension is defined as:
 
59
 
 
60
    Name: HNAME
 
61
    Where: Query Hit (trailer)
 
62
    Status: Experimental
 
63
    Date: Sun Oct 26 15:25:36 MET 2003
 
64
    Format: <string>
 
65
    COBS-Encoding: Never
 
66
    Deflate: Maybe
 
67
 
 
68
The "HNAME" extension carries the hostname of the Gnutella server, for
 
69
instance "gnutella.example.com".  The payload does not include the
 
70
trailing NUL character at the end of the string.
 
71