Сокет - это общее средство связи, предоставляемое вашей операционной системой.
Существует много их видов для совершенно разных целей (не только для работы в сети).
Я думаю, что когда вы думаете о tcp / socket, Вы имеете в виду сокет, выделенный для протокола TCP.
TCP / IP можно рассматривать как две разные вещи, в зависимости от контекста.
Это может быть сетевой стек TCP / IP в целом: не только TCP и IP определяют c протоколы, но набор протоколов (и реализаций), которые мы находим вокруг них.
Конечно, другой способ увидеть TCP / IP - рассмотреть только транспортный протокол TCP, полагающийся на сеть IP протокол.
Различные операционные системы реализуют множество протоколов в стеке TCP / IP.
Чтобы использовать их, программист запрашивает у своей операционной системы указанный c ресурс: сокет.
Сложно сказать несколько слов.
Некоторые книги или онлайн-документация могут помочь go в дальнейшем.