Hi!
Basically gnutella is unencrypted and uses no compression, yet. Also only very basic data types are used: strings (ASCII, NO unicode, NO two byte codes), bytes, multiple bytes (Little endians, IP in network order). A detailed description could be found in the Gnutella Protocoll:
http://www.clip2.com/GnutellaProtocol04.pdf
Feel free to ask more detailed questions.