The CONNECTION is the physical communication channel between SQL Server and the applications: the TCP socket, the named pipe, the shared memory . The connections show only external connections and each connection has an spid.
A SESSION is a semi-permanent interactive information interchange, between two or more communicating devices or between an application and users.
We must open a connection in order to create a session. Normally there is one session on each connection, but there could be multiple session on a single connection.
eg. If we connect to sql server using management studio then its one connection. once we connected we can open 3 query windows then these are 3 sessions.
Microsoft has two DMVs to maintain Sessions and Connections :-