Estas camadas foram simplesmente consolidadas em uma, porque, mais frequentemente, a aplicação irá lidar com funções fornecidas pelas 3 camadas superiores. Como já foi dito muitas vezes antes, as camadas destinam-se apenas a ferramentas de abstração. Ninguém projeta protocolos em estrita conformidade com as camadas dos modelos TCP / IP ou OSI. Você também está incorreto ao afirmar que o TCP lida com "sessões" - a "sessão" pode facilmente (e deve) ser considerada como uma construção específica do aplicativo. Por exemplo, quando você compra algo de um site da Internet, a sessão é específica da camada de aplicativo - há um cookie de sessão HTTP que é usado para manter o estado da sua sessão de navegação com o site, completamente separado do soquete TCP. aberto entre a sua máquina e o servidor web. A noção de cookies de sessão HTTP merece sua própria camada em um modelo porque eles servem a uma finalidade distinta e separada? Eles poderiam, mas do ponto de vista da abstração, não faz muito sentido, porque essa é uma função que o aplicativo (HTTP) manipula.