Qué son los sockets?

Son una herramienta que nos provee el SO que permiten realizar comunicacion de bytes entre dos procesos diferentes de misma o diferente computadora, que deberán estar conectadas de alguna manera → misma red o a través de intermediarios como internet.
Nos permiten desarrollar apps que se comuniquen mediante el modelo cliente servidor.
Modelo de capas del software de red

Esta separacion en capas nos permite encapsulamiento y abstracción.
Cada capa le ofrece servicios a la superior.
Reglas de la comunicacion: Protocolo
Tipos de servicio del software de red

Modelo OSI - Arquitectura de capas

Tiene 7 capas.