terça-feira, 30 de março de 2010

TCP/IP


O TCP/IP é um conjunto de protocolos de comunicação entre computadores em rede (também chamado de pilha de protocolos TCP/IP). Seu nome vem de dois protocolos: o TCP (Transmission Control Protocol - Protocolo de Controle de Transmissão) e o IP (Internet Protocol - Protocolo de Interconexão). O conjunto de protocolos pode ser visto como um modelo de camadas, onde cada camada é responsável por um grupo de tarefas, fornecendo um conjunto de serviços bem definidos para o protocolo da camada superior. As camadas mais altas estão logicamente mais perto do usuário (chamada camada de aplicação) e lidam com dados mais abstratos, confiando Protocolos para internet.
Os protocolos para internet formam o grupo de protocolos de comunicação que implementam a pilha de protocolos sobre a qual a internet e a maioria das redes comerciais funcionam. Eles são algumas vezes chamados de "protocolos TCP/IP", já que os dois protocolos: o protocolo TCP - Transmission Control Protocol (Protocolo de Controle de Transmissão); e o IP - Internet Protocol (Protocolo de Internet) foram os primeiros a serem definidos.

O modelo OSI descreve um grupo fixo de sete camadas que pode ser comparado, a grosso modo, com o modelo TCP/IP. Essa comparação pode causar confusão ou trazer detalhes mais internos para o TCP/IP.

O modelo inicial do TCP/IP é baseado em 4 níveis: Host/rede; Inter-rede; Transporte; e Aplicação. Surgiu, então, um modelo híbrido, com 5 camadas, que retira o excesso do modelo OSI e melhora o modelo TCP/IP: Física; Enlace; Rede; Transporte; e Aplicação.

Resumidamente, o modelo é o que podemos chamar de uma "solução prática para problemas de transmissão de dados". Textualmente isto pode parecer muito genérico, pois na realidade para melhor compreensão de um protocolo TCP/IP deveremos usar exemplos práticos.

Segundo Tanenbaum o Modelo TCP/IP possui somente quatro camadas e não cinco como mostra o quadro abaixo.
 Camadas da pilha dos protocolos internet

O modelo TCP/IP de encapsulamento busca fornecer abstração aos protocolos e serviços para diferentes camadas de uma pilha de estruturas de dados (ou simplesmente pilha).


No caso do TCP/IP, a pilha possui cinco camadas:

Camada Exemplo

5 - Aplicação

(camadas OSI 5 até 7) HTTP, FTP, DNS

(protocolos de routing como BGP e RIP, que, por uma variedade de razões, são executados sobre TCP e UDP respectivamente, podem também ser considerados parte da camada de rede)

4 - Transporte

(camadas OSI 4 e 5) TCP, UDP, RTP, SCTP

(protocolos como OSPF, que é executado sobre IP, pode também ser considerado parte da camada de rede)

3 - Rede

(camada OSI 3) Para TCP/IP o protocolo é IP

(protocolos requeridos como ICMP e IGMP é executado sobre IP, mas podem ainda ser considerados parte da camada de rede; ARP não roda sobre IP)

2 - Enlace

(camada OSI 2) ARP

1 - Interface com a Rede

(camada OSI 1) Ethernet, Wi-Fi, MPLS,Modem, etc.
As camadas mais próximas do topo estão logicamente mais perto do usuário, enquanto aquelas mais abaixo estão logicamente mais perto da transmissão física do dado. Cada camada tem um protocolo de camada acima e um protocolo de camada abaixo (exceto as camadas da ponta, obviamente) que podem usar serviços de camadas anteriores ou fornecer um serviço, respectivamente.

Enxergar as camadas como fornecedores ou consumidores de serviço é um método de abstração para isolar protocolos de camadas acima dos pequenos detalhes de transmitir bits através, digamos, de ethernet, e a detecção de colisão enquanto as camadas abaixo evitam ter de conhecer os detalhes de todas as aplicações e seus protocolos.
Essa abstração também permite que camadas de cima forneçam serviços que as camadas de baixo não podem fornecer. Por exemplo, o IP é projetado para não ser confiável e é um protocolo best effort delivery. Isso significa que toda a camada de transporte deve indicar se irá ou não fornecer confiabilidade e em qual nível.

O TCP (Transmission Control Protocol - Protocolo de Controle de Transmissão), é um protocolo orientado a conexões confiável que permite a entrega sem erros de um fluxo de bytes.

O UDP fornece integridade de dados (via um checksum) mas não fornece entrega garantida; já o TCP fornece tanto integridade dos dados quanto garantia de entrega (retransmitindo até que o destinatário receba o pacote).

em protocolos de camadas mais baixas para tarefas de menor nível de abstração.


Sem comentários:

Enviar um comentário