To know if the other peer is a Gnutella servent too and which protocol they speak. The v0.4 protocoll handshake is quite short, one line each. With protocol v0.6 the servents could also exchange supported features in the handshake. Handshaking is thought for identification and flexibility.
Does it help or is my answer too short? Greets, Moak
Gnutella Handshaking -
http://www.gnucleus.com/research/connect.html