Quase, mas não inteiramente correto.
-
Sockets são a construção de software com buffers (cada soquete tem filas send & get separadas). Para TCP, cada conexão usa um soquete separado.
-
Portas são apenas rótulos numéricos usados para desmultiplexação - ajudando o SO a escolher qual soquete (ou qual receber buffer) deve receber um pacote de entrada.
Cada soquete é associado a vários parâmetros - protocolo, local & endereços remotos e locais & portas remotas - e todas elas são usadas ao procurar um pacote recebido. (Quando os endereços são idênticos, pelo menos uma das portas deve ser diferente. Mas se os endereços forem diferentes, vários soquetes poderão usar portas idênticas.)