Version Handshake

On connect, version and verack messages are exchanged, in order to ensure compatibility between peers.

Version Handshake

When the local peer (L) connects to a remote peer (R), the remote peer will not send any data until it receives a version message.

L -> R: Send version message with the local peer's version R -> L: Send version message back R -> L: Send verack message R:      Sets version to the minimum of the 2 versions L -> R: Send verack message after receiving version message from R L:      Sets version to the minimum of the 2 versions 

Note: A version number of 10300 is converted to 300 before being processed and versions below 209 are no longer supported.

Source

http://bitcoin.it/

See Also on BitcoinWiki