Prima di capire cosa sia un socket dovresti capire cosa è in sostanza il protocollo TCP/IP.
Infatti, a meno che non programmi, il concetto di 'socket' non ti interessa granchè dato che non è altro che un'API che utilizzi per interfacciarti a TCP/IP, appunto.
Le tue domande, in definitiva, richiedono una lettura dei fondamenti di TCP/IP, del modello ISO/OSI e compagnia bella, non delle "socket".