Gnutella Protocol Development

Our blue logo

Gnutella Protocol Development

Home :: Developer :: Press :: Research :: Servents

Appendix C : Known GGEP Extension Blocks




C.1 Summarizing table of GGEP extensions
ID Name Est. Data Size Locations More Info URL Format Implemented by
< LimeWire XML Metadata   Query, QHD Private area

Metadata :
http://rfc-gnutella.sourceforge.net/developer/testing/metadata.htm
XML : http://www.w3.org/TR/REC-xml

Well-formed XML. No need to include <?xml> declaration; XML can default to UTF-8. Should be compressed either at the GGEP or packet level, not both. COBS is not necessary.  
ALT alternate locations 6 bytes per alternate location        
AUTH Webserver Authentication ~30 bytes QHD Private Area http://groups.yahoo.com/group/the_gdf/message/16997   SWAP
BH Browse Host GGEP Header 0 QHD Private Area http://groups.yahoo.com/group/the_gdf/files/Proposals/Browse%20Host/   SWAP, ZIGA, Phex
DU Daily average uptime 1-3 bytes ping replies http://groups.yahoo.com/group/the_gdf/message/7820    
GUE This node supports GUESS 0 Pong   There is no payload SWAP
H File hash 21-22 bytes Query Hit between the NULs, Query after the NUL. If supported, set bit 12 of MinSpeed. http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/gtk-gnutella/gtk-gnutella-current/doc/public/GGEP/H COBS encoded if in Query Hit. If supported, set bit 11 of MinSpeed. ZIGA
HNAME HostName hostname.length QHD Trailer http://groups.yahoo.com/group/the_gdf/messages/17507?expand=1   GTKG
MCAST Present when you are responding directly to a multicast query 0 QueryHit http://groups.yahoo.com/group/the_gdf/message/15458 There is no payload SWAP
PUSH A list of your push proxies 6 bytes per proxy QueryHit http://groups.yahoo.com/group/the_gdf/files/Proposals/Working%20Proposals/Push%20Proxy%20HTTP%20%28PPH%29/PushProxy_v06 ArrayOf(4 byte IP Address, 2 byte port)  
UP Ultrapeer 3 Pong   {VersionGuessStyle VersionUP, byte SlotsFreeUP, byte SlotsFreeLeaf}  
VC VendorCode 5 Pong   {byte[4] VendorCode, VersionGuessStyle VersionUA}  
SWAP.q Query Stuff 16 bytes Query http://mywebpages.comcast.net/jthomas497/swapper/extensions/querystuff.html    
SWAP.s Servent Info 100 bytes QHD Private Area http://mywebpages.comcast.net/jthomas497/swapper/extensions/serventinfo.html    
 
C.2 Detailed specifications

C.2.1 ALT GGEP Extension

Name: ALT
Where: Query Hit (per File Entry)
Status: Experimental
Date: Mon Jul 14 20:05:36 MEST 2003
Format: Array of  
COBS-Encoding: Maybe
Deflate: Never

[Those specs written by Raphael Manfredi after a proposal from BearShare]

The "ALT" extension is used to carry alternate locations on a file entry
basis. It is used only for servers that can understand
"/uri-res/N2R?urn:sha1:" requests, and for files that have a known SHA1,
so that the servent may construct the URLs manually.

The payload is an array of 6-byte entries. The first 4 bytes encode
the IP of the server (in little-endian, watch out!), and the remaining
2 bytes encode the port (in little-endian).

There is no size indication for the array. The length of the payload
must be a multiple of 6 bytes (after COBS decoding, or course).

URL :
http://groups.yahoo.com/group/the_gdf/message/16725

[ANY OTHER SPECS AVAILABLE ?]



 

 

 

Home :: Developer :: Press :: Research :: Servents

SourceForge.net Logo