The SSL protocol runs above TCP/IP and below higher-level protocols such as HTTP or IMAP. It use TCP/IP on behalf of the higher-level protocols, and in the process allows an SSL-enabled server to authenticate itself to an SSL-enabled client, allows the client to anthenticate itself to the server, and allows both machines to establish an encrypted connection.