TCP/IP

TCP/IP é um acrônimo para o termo Transmission Control Protocol/Internet Protocol Suite, ou seja é um conjunto de protocolos, onde dois dos mais importantes (o IP e o TCP) deram seus nomes à arquitetura. O protocolo IP, base da estrutura de comunicação da Internet é um protocolo baseado no paradigma de chaveamento de pacotes (packet-switching).

Os protocolos TCP/IP podem ser utilizados sobre qualquer estriutura de rede, seja ela simples como uma ligação ponto-a-ponto ou uma rede de pacotes complexa. Como exemplo, pode-se empregar estruturas de rede como Ethernet, Token-Ring, FDDI, PPP, ATM, X.25, Frame-Relay, barramentos SCSI, enlaces de satélite, ligações telefônicas discadas e várias outras como meio de comunicação do protocolo TCP/IP.
A arquitetura TCP/IP, assim como OSI realiza a divisão de funções do sistema de comunicação em estruturas de camadas. Em TCP/IP as camadas são:

Aplicação
Tranporte
Internet
Rede

A figura 1 ilustra a divisão em camadas da arquitetura TCP/IP:

Protocolo TCP-IP

Imagem 1

Camada de rede

A camada de rede é responsável pelo envio de datagramas construídos pela camada Inter-Rede. Esta camada realiza também o mapeamento entre um endereço de identificação de nível Inter-rede para um endereço físico ou lógico do nível de Rede. A camada Inter-Rede é independente do nível de Rede.

Alguns protocolos existentes nesta camada são:

  • Protocolos com estrutura de rede própria (X.25, Frame-Relay, ATM)
  • Protocolos de Enlace OSI (PPP, Ethernet, Token-Ring, FDDI, HDLC, SLIP,…)
  • Protocolos de Nível Físico (V.24, X.21)
  • Protocolos de barramento de alta-velocidade (SCSI, HIPPI,…)
  • Protocolos de mapeamento de endereços (ARP – Address Resolution Protocol) – Este protocolo pode ser considerado também como parte da camada Internet.

Os protocolos deste nível possuem um esquema de identificação das máquinas interligadas por este protocolo. Por exemplo, cada máquina situada em uma rede Ethernet, Token-Ring ou FDDI possui um identificador único chamado endereço MAC ou endereço físico que permite distinguir uma máquina de outra, possibilitando o envio de mensagens específicas para cada uma delas. Tais rede são chamadas redes locais de computadores.

Da mesma forma, estações em redes X.25, Frame-Relay ou ATM também possuem endereços que as distinguem uma das outras. As redes ponto-a-ponto, formadas pela interligação entre duas máquinas não possuem, geralmente, um endereçamento de nível de rede (modelo TCP/IP), uma vez que não há necessidade de identificar várias estações.

Camada Internet

Esta camada realiza a comunicação entre máquinas vizinhas através do protocolo IP. Para identificar cada máquina e a própria rede onde estas estão situadas, é definido um identificador, chamado endereço IP, que é independente de outras formas de endereçamento que possam existir nos níveis inferiores. No caso de existir endereçamento nos níveis inferiores é realizado um mapeamento para possibilitar a conversão de um endereço IP em um endereço deste nível.

Os protocolos existentes nesta camada são:

  • Protocolo de transporte de dados: IP – Internet Protocol
  • Protocolo de controle e erro: ICMP – Internet Control Message Protocol
  • Protocolo de controle de grupo de endereços: IGMP – Internet Group Management Protocol
  • Protocolos de controle de informações de roteamento

O protocolo IP realiza a função mais importante desta camada que é a própria comunicação inter-redes. Para isto ele realiza a função de roteamento que consiste no transporte de mensagens entre redes e na decisão de qual rota uma mensagem deve seguir através da estrutura de rede para chegar ao destino.

O protocolo IP utiliza a própria estrutura de rede dos níveis inferiores para entregar uma mensagem destinada a uma máquina que está situada na mesma rede que a máquina origem. Por outro lado, para enviar mensagem para máquinas situadas em redes distintas, ele utiliza a função de roteamento IP. Isto ocorre através do envio da mensagem para uma máquina que executa a função de roteador. Esta, por sua vez, repassa a mensagem para o destino ou a repassa para outros roteadores até chegar no destino.

Camada de Transporte

Esta camada reúne os protocolos que realizam as funções de transporte de dados fim-a-fim, ou seja, considerando apenas a origem e o destino da comunicação, sem se preocupar com os elementos intermediários. A camada de transporte possui dois protocolos que são o UDP (User Datagram Protocol) e TCP (Transmission Control Protocol).

O protocolo UDP realiza apenas a multiplexação para que várias aplicações possam acessar o sistema de comunicação de forma coerente.

O protocolo TCP realiza, além da multiplexação, uma série de funções para tornar a comunicação entre origem e destino mais confiável. São responsabilidades do protocolo TCP: o controle de fluxo, o controle de erro, a
sequenciação e a multiplexação de mensagens.

A camada de transporte oferece para o nível de aplicação um conjunto de funções e procedimentos para acesso ao sistema de comunicação de modo a permitir a criação e a utilização de aplicações de forma
independente da implementação. Desta forma, as interfaces socket ou TLI (ambiente Unix) e Winsock (ambiente Windows) fornecem um conjunto de funções-padrão para permitir que as aplicações possam ser desenvolvidas independentemente do sistema operacional no qual rodarão.

Camada de Aplicação

A camada de aplicação reúne os protocolos que fornecem serviços de comunicação ao sistema ou ao usuário. Pode-se separar os protocolos de aplicação em protocolos de serviços básicos ou protocolos de serviços para o usuário:

Protocolos de serviços básicos, que fornecem serviços para atender as próprias necessidades do sistema de comunicação TCP/IP: DNS, BOOTP, DHCP.

Protocolos de serviços para o usuário: FTP, HTTP, Telnet, SMTP, POP3, IMAP, TFTP, NFS, NIS, LPR, LPD, ICQ, RealAudio, Gopher, Archie, Finger, SNMP e outros

Posicionamento do Nível OSI

A arquitetura TCP/IP possui uma série de diferenças em relação à arquitetura OSI. Elas se resumem principalmente nos níveis de aplicação e Inter-rede da arquitetura TCP/IP.

Como principais diferenças pode-se citar:

  • OSI trata todos os níveis, enquanto TCP/IP só trata a partir do nível de Rede OSI
  • OSI tem opções de modelos incompatíveis. TCP/IP é sempre compatível entre as várias implementações
  • OSI oferece serviços orientados a conexão no nível de rede, o que necessita de inteligência adicional em cada equipamento componente da estrutura de rede. Em TCP/IP a função de roteamento é bem simples e não necessita de manutenção de informações complexas
  • TCP/IP tem função mínima (roteamento IP) nos nós intermediários (roteadores)
  • Aplicações TCP/IP tratam os níveis superiores de forma monolítica, Desta forma OSI é mais eficiente pois permite reaproveitar funções comuns a diversos tipos de aplicações. Em TCP/IP, cada aplicação tem que implementar suas necessidades de forma completa.

A figura 2 ilustra a comparação entre TCP/IP e OSI. Note que a camada Inter-rede de TCP/IP apresenta uma altura menor que o correspondente nível de Rede OSI. Isto representa o fato de que uma das funções do nível de Rede OSI é realizada pelo nível de Rede TCP/IP. Esta função é a entrega local de mensagens dentro da mesma rede. O IP só trata a entrega e a decisão de roteamento quando o origem e o destino da mensagem estão situados em redes distintas.

 

OSI - TCP-IP

Figura 2