Ненене
TCP/IP обеспечивает абстракцию потока данных. То есть отвечает за то что данные будут доставлены и гарантирует порядок их получения.
Ответственность за интерпритацию потока ложится уже на реализацию протокола уровня приложения, бывает что в одном tcp пакете передаются несколько пакетов уровня приложения, или наоборот.
Обычной практикой является заголовок установленной формы, в котором указан тип пакета и его длина.
В общем мог бы посоветовать почитать каких-нибудь книг по сетевым протоколам, возможно RFC и залить это чтением спеков по долгоживущим протоколам (например интересны мутации протокола ed2k)