This information is based on packet captures.

After standard TCP handshaking an audio stream can be requested from the server by a registered player (registered means it has a sesssion ID).

Requesting a Last.fm audio stream:

GET /last.mp3?Session=1 HTTP/1.1\r\n
Connection: Keep-Alive\r\n
Host: 0.0.0.0\r\n
\r\n

This information is sent using Hypertext Transfer Protocol. The number after Session is a pre-determined string from when the player is registered. The Host is the ip address where the player is originating.

Successful reply from audio stream request:

HTTP/1.0 200 OK\r\n
Server: last.fm Streaming Server\r\n
Content-type: audio/mpeg\r\n
Cache-control: no-cache\r\n
Pragma: no-cache\r\n
Connection: close\r\n
\r\n

Immediately following this message the audio stream is continually sent at approximately 1492KB per packet.