Eu sei que o TCP e o UDP são construídos sobre o IP, e eu sei as diferenças entre o TCP e o UDP, mas estou confuso sobre o que exatamente é "IP bruto". Seria justo dizer que o TCP e o UDP implementam o IP, mas esse IP, por si só, não é capaz de transferir dados? Ou o IP é uma forma de comunicação de nível muito baixo, que é ainda mais abstraída pelo TCP e UDP?
18
Respostas:
IP é um protocolo de camada 3 . TCP / UDP são protocolos da camada 4 . Cada um deles serve a propósitos diferentes.
A camada 3 é responsável pela entrega de ponta a ponta . Sua única função é adicionar o que for necessário a um pacote para obter um pacote de um host para outro.
A camada 4 é responsável pela entrega de serviço a serviço . Sua única função é segregar fluxos de dados. Seu computador pode ter vários programas em execução, cada um que envia / recebe bits para o fio. IE: você pode ter várias guias do navegador executando, transmitindo rádio pela Internet, executando um download, executando alguns torrents legais , usando um aplicativo de bate-papo etc. Todos recebem 1s e 0s da conexão e a Camada 4 segrega cada fluxo de dados no aplicativo exclusivo que precisa deles. Aqui está uma ilustração:
O IP não pode entregar um pacote para o serviço / aplicativo correto. E o TCP / UDP não pode entregar um pacote de uma extremidade da Internet para a outra.
O TCP e o IP trabalham juntos para permitir que ambos alcancem o "objetivo final" da comunicação na Internet.
Os dados que precisam passar de um host para outro são gerados pelas camadas superiores do modelo OSI.
Esses dados são transmitidos para o L4, que adicionará as informações necessárias para fornecer os dados de serviço para serviço, como um cabeçalho TCP com uma porta de origem e de destino. Os dados e o cabeçalho L4 agora são referidos como um segmento.
Em seguida, o segmento será passado para L3, que adicionará as informações necessárias para entregar o segmento de ponta a ponta, como um cabeçalho IP com um endereço IP de origem e de destino. O cabeçalho L3 e o segmento agora podem ser chamados de pacotes.
Esse processo é conhecido como Encapsulamento e Desencapsulamento (ou algumas vezes decapsulamento). Aqui está uma animação de como funciona:
Se isso não fizer sentido, sugiro ler mais sobre o modelo OSI e como cada camada tem responsabilidades diferentes que trabalham juntas para realizar a movimentação de um pacote pela Internet .
fonte
inside an IP header is usually a TCP or UDP header
não está correto, o cabeçalho TCP / UDP não está dentro do cabeçalho IP, está dentro da parte de dados do pacote IP.O IP pode transmitir dados muito bem, o problema é o que acontece quando esses dados chegam ao outro lado. A única informação de identificação são os endereços IP dos hosts e um número de protocolo. Nenhuma delas fornece nenhuma maneira de distinguir para qual soquete os dados são.
É possível que os programas usem o IP diretamente através do que é conhecido como "soquete bruto", mas a falta de um mecanismo adequado para decidir qual soquete enviar dados gera preocupações de segurança e desempenho (o kernel precisa enviar os dados para todos os soquetes brutos para um determinado número de protocolo). Por esse motivo, a capacidade de abrir "soquetes brutos" geralmente é restrita ao root (ou o equivalente da sua plataforma).
O UDP é uma camada mínima sobre IP. Ele adiciona números de porta para identificar para qual soquete os dados são e uma soma de verificação (para rejeitar pacotes corrompidos). O aplicativo permanece responsável por lidar com pacotes perdidos, controlar o congestionamento e dividir os dados em pacotes de tamanho apropriado.
O TCP é um protocolo mais complexo que, além de fornecer números de porta e somas de verificação, divide os fluxos de bytes em pacotes, remonta novamente ao seu destino e fornece recursos de controle e recuperação de congestionamentos.
fonte
IP é um protocolo OSI camada 3, enquanto TCP e UDP são protocolos OSI camada 4. Como um protocolo da camada 3, o IP pode transportar muitos protocolos diferentes da camada 4. TCP e UDP são provavelmente os mais comuns, mas não são os únicos. Os protocolos da camada 4 são os aplicativos que usam como conexões de ponta a ponta. O IP transporta os protocolos da camada 4 de rede para rede (host para host). Os protocolos da camada 2, como ethernet, transportam protocolos da camada 3 em uma LAN.
Você deve pesquisar o modelo OSI, mas perceba que é um modelo conceitual, e o mundo real geralmente não corresponde exatamente.
fonte