Arquitetura Internet
Arquitetura Internet
A arquitetura Internet organiza os protocolos de rede da Internet em quatro camadas:
- Camada enlace/física
- É a camada inferior da arquitetura, onde estão os protocolos relacionados relacionados à comunicação entre nós vizinhos e à transmissão de bits sobre os enlaces físicos;
- Camada rede
- Onde estão agrupados os protocolos para tratar os problemas relativos ao encaminhamento de pacotes entre dois computadores remotos, passando pelos roteadores intermediários, permitindo a conectividade computador a computador.
- Camada transporte
- É responsável por implementar um canal de comunicação lógico fim a fim entre os processos de aplicação, oferecendo um serviço apropriado para que os processos de aplicação troquem mensagens.
- Camada aplicação
- É a camada superior, a qual define as regras para a troca de mensagens entre os processos de aplicação específicos.
Suporte a serviços comuns para as aplicações
O objetivo das redes de pacotes é oferecer um suporte de comunicação para que as aplicações rodando em dois computadores remotos possam trocar informações.
Intuitivamente, podemos ver a rede como provendo um canal lógico de comunicação para que os processos de aplicação cliente e servidor possam se comunicar. Para usar este canal de comunicação, os programas de aplicação cliente enviam seus pedidos através de uma porta, que conecta o cliente ao servidor, e através da qual ele espera a resposta do serviço é requisitado.
Dois tipos comuns de serviço solicitado pelas aplicações à rede são:
- Serviço tipo pedido/resposta (request/reply);
- Serviço tipo fluxo de dados tempo real (audio/video streaming).
A paginação na Web é um exemplo de serviço tipo pedido/resposta, onde um processo cliente solicita uma informação e um processo servidor fornece a informação solicitada. Não há restrições de tempo entre o pedido e a resposta, entretanto, é necessário que a informação transmitida seja livre de erros.
Uma conversa telefônica via Internet é um exemplo de fluxo de dados em tempo real, neste caso há restrições temporais na transmissão, por outro lado, um pequeno silêncio ocasionado por um erro ou ruído pode não ser um problema grave para o entendimento geral da conversa.
Para estes dois tipos de requisições de serviços, muitas redes de computadores dispõem de dois tipos de serviços de transporte:
- Serviço orientado a conexão, com transmissão de dados garantida;
- Serviço não orientado a conexão, com transmissão de dados tipo melhor esforço (best effort).
Quando uma aplicação usa o serviço orientado a conexão o cliente e o servidor trocam pacotes de controle entre si antes de enviarem os pacotes de dados. Isto é chamado de procedimento de estabelecimento de conexão (handshaking), onde se estabelecem os parâmetros para a comunicação. Uma vez concluído o handshaking a conexão é dita estabelecida e os dois sistemas terminais podem trocar dados. O serviço de transferência garantida, que assegura que os dados trocados são livres de erro, o que é conseguido a partir de temporizações, mensagens de reconhecimento e retransmissão de pacotes. Por exemplo, quando um sistema terminal B recebe um pacote de A, ele envia um reconhecimento; quando o sistema terminal A recebe o reconhecimento ele sabe que o pacote que ele enviou foi corretamente recebido; caso A não recebe confirmação, ele assume que o pacote não foi recebido por B e retransmite o pacote.
No serviço não orientado a conexão não há handshaking. Quando um lado de uma aplicação quer enviar pacotes ao outro lado ele simplesmente envia os pacotes. Como o serviço é não garantido, também não há reconhecimento, de forma que a fonte nunca tem certeza que o pacote foi recebido pelo destinatário. Como o serviço é mais simples, os dados podem ser enviados mais rapidamente.
Na Internet, o serviço orientado a conexão é implementado pelo protocolo TCP (Transmission Control Protocol) e o serviço não orientado a conexão é implementado pelo protocolo UDP (User Datagram Protocol). As aplicações conhecidas como o telnet, correio eletrônico, transferência de arquivos e WWW usam o TCP. Outras aplicações usam o UDP, como o DNS (Domain Name System) e aplicações multimídia como voz sobre Internet e aplicações de áudio e vídeo.
Funções das camadas da arquitetura Internet[1]
- Camada de Enlace/Física
- Trata da comunicação entre nós vizinhos diretamente conectados por enlaces de comunicação.
- A camada enlace/física é responsável por transferir pacotes de dados entre computadores ou roteadores conectados em uma rede local, como uma rede local Ethernet ou uma rede local sem fio, bem como entre computadores ou roteadores conectados por um enlace ponto a ponto.
- Camada de Rede
- Trata da comunicação host a host na Internet, envolvendo cada roteador do caminho entre o computador origem e o destino.
- O formato dos pacotes trocados entre hosts é definido pelo Protocolo IP (Internet Protocol) (RFC 791, 1981) e utilizam um esquema de endereçamento global, conhecido como Endereçamento IP. Além disto, a camada rede é responsável por realizar o roteamento dos pacotes pela malha de roteadores da Internet.
- Camada de Transporte
- Trata da comunicação processo a processo, cada qual rodando em um host da Internet.
- Como em cada host podem haver mais de um processo rodando, a camada transporte organiza a multiplexação de aplicações entre os diversos processos, utilizando as chamadas portas.
- Os dois Protocolos de Transporte da Internet são o TCP (RFC 793, 1981) e o UDP (RFC 768, 1980).
- Camada de Aplicação
- Define as regras para a troca de mensagens entre os processos de aplicação rodando em cada host.
- Cada aplicação da Internet utiliza um protocolo de aplicação próprio, por exemplo, a Aplicação Web usa o HTTP (RFC 1945, 1996), o Correio Eletrônico o SMTP (RFC 788, 1981), a Transferência de Arquivos o FTP (RFC 114, 1971), etc.
Encapsulamento de protocolos
Cada camada da arquitetura Internet conta com um serviço da camada inferior para realizar sua comunicação. Para tal, o dado que deseja enviar é encapsulado em um pacote da camada inferior, ao qual são agregadas informações em um cabeçalho relativas as serviço que a camada realiza, para que o dado possa ser recuperada no lado destinatário.
Por exemplo, suponha que uma aplicação cliente deseja enviar uma mensagem para o lado servidor da aplicação:
- A aplicação cliente prepara a mensagem para enviar e indica o endereço IP e a porta que será utilizada do lado do servidor para receber a mensagem e passa os dados a camada inferior;
- A camada transporte, logo abaixo da aplicação, agrega à mensagem as informações da porta, montando um novo pacote chamado segmento, e passa a camada inferior para que envie ao IP destino;
- A camada rede, recebe o segmento da camada transporte e acrescenta novas informações, como o IP fonte e destino, montando um novo pacote, chamado datagrama. O datagrama é então passado para a camada enlace/física para ser entregue ao roteador de saída da rede;
- A camada enlace/física encapsula o datagrama em um quadro da rede local, acrescentando novas informações, como o endereço físico (MAC) do roteador e envia ao barramento da rede local para que o roteador de prosseguimento ao envio do pacote.
Referências
- ↑ KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem top-down, São Paulo: Pearson, 2010.
--Evandro.cantu (discussão) 17h07min de 6 de março de 2015 (BRT)