Redes, Modelos de Referência, suas Camadas e seus Protocolos

Vou descrever um pouco sobre redes sobre os Modelos de Referência e suas Camadas. Vou me aprofundar mais em cima do Modelo de Referência TCP/IP, porém vou descrever brevemente sobre o Modelo de Referencia OSI. Este artigo foi criado com a junção de vários pequenos artigos que criei em meu site pessoal.

[ Hits: 92.658 ]

Por: Willians em 03/07/2010 | Blog: http://www.williansribeiro.com.br


Protocolo e suas camadas



Camada de Transporte

A camada de transporte, como o próprio nome diz, é responsável por cuidar do transporte dos pacotes pela rede. No IP temos os endereços que querem se comunicar e nada mais. Não se sabe qual o host que irá receber o datagrama, assim fica a cargo da camada de transporte completar esta informação para que os pontos se comuniquem.

Na camada de transporte temos basicamente 2 protocolos. Um orientado a conexão, no caso o TCP e outro não orientado a conexão, no caso o UDP. Detalharemos mais sobre ambos abaixo.

Protocolo TCP

Este é o protocolo do Modelo TCP/IP da Camada de transporte que garante fluxo confiável e um serviço de conexão virtual para os aplicativos através de confirmações e, quando necessário, através da retransmissão de pacotes.

Como temos vários serviços e aplicativos rodando na rede, é necessário que tenhamos algo que garanta a chegada do pacote de sua origem para o seu destino. É definido uma porta TCP, ou seja um número que indica qual o tipo de serviço ele está estabelecendo uma conexão.

Fazendo uma analogia com um endereço comum, temos a rua que devemos entregar a correspondência, porém sem o número não conseguiremos ter certeza de que aquela correspondência está sendo entregue no local certo. Existem 65.536 portas TCP numeradas de 0 a 65.535, porém as portas mais conhecidas vão de 0 a 1023. Um exemplo seria a porta 80 usado para servidores Web, oi 21 para FTP ou ainda 22 para conexões SSH.

Os serviços do protocolo TCP são:

O fluxo de transferência de dados entregam um fluxo não estruturado de bytes identificados por números sequenciais. Através dele os aplicativos não precisam fragmentar blocos para enviá-los ao TCP, o TCP pode agrupar em segmentos e passar para que o IP para que sejam entregues.

A confiabilidade é garantida através de sequenciamento de bytes com um número conhecimento, assim como os número de frete, cujo o qual indicam ao destino o próximo byte a ser recebido pela origem. Bytes sem esse número é retransmitido depois de um determinado tempo.

O controle de fluxo é eficiente pois ao enviar conhecimentos para a origem, o processo recebedor do TCP indica o maior número sequencial que ele pode receber sem estourar a capacidade dos seus buffers internos.

Através de operações Full-Duplex pode-se enviar e receber pacotes simultaneamente.

Através da multiplexação várias comunicações com camadas superiores podem ser multiplexadas em uma única conexão.

Protocolo TCP

O cabeçalho TCP contém cerca de 20 octetos. As portas são utilizados para gerenciar as ligações, assim como citado anteriormente. A aplicação de TCP pode alocar 80 como a porta de origem, o TCP terá de saber a porta de destino do lado do host e coloca-o no cabeçalho.

Todos os datagramas têm um numero de sequência (Sequencial Number) para garantir a sua ordem no destino, permitindo que se possa notar algum pacote em falta. O TCP numera os octetos e não os datagramas, assim se existirem 500 octetos de dados em cada datagrama ao primeiro datagrama é posto o numero 0 no respectivo campo, enquanto ao segundo é atribuído o numero 500, terceiro 1000 etc.

Outro campo no cabeçalho é o checksum, que é calculado adicionando todos os octetos do datagrama. No destino o TCP calcula novamente e se o valor calculado for diferente do valor enviado no cabeçalho algo errado aconteceu na transmissão e o datagrama é eliminado.

O campo Acknowledgement Number é o campo contendo o número de conhecimento que tem a função de confiabilidade conforme citado anteriormente. O campo HL EN, possui número de words de 32 bits no cabeçalho TCP indica o início dos dados. O campo Reserved é reservado para uso futuro. Precisa ser zero. Os Code Bits são flags de controle. O campo window é usado para controlar a quantidade de dados que pode ser transmitida nesse determinado momento.

O campo Urgent Pointer permite a um host dizer ao outro para pular o processamento para um octeto particular, o que pode ser útil quando se quer lidar com acontecimentos assíncronos como por exemplo quando se insere um caractere de controle ou um comando qualquer que interrompa a saída. Os campos Options e Padding especificam várias opções TCP. Existem dois formatos possíveis para uma opção: apenas um octeto com o tipo da opção e um octeto com o comprimento do tipo. E o campo data possui informações para as camadas superiores.

Protocolo UDP

Este protocolo ao contrário do TCP não divide os dados em datagramas, nem tem a confiabilidade, isto é, não tem o controle se o pacote chegou ao seu destino ou não. O que o UDP fornece é o numero da Porta que é usada da mesma forma que no TCP. Neste protocolo existem várias portas pré-definidas para servidores que usam UDP.

O cabeçalho UDP para além das portas origem e destino possui também um campo de checksum e length. O length contém um contador de bytes no datagrama UDP. O valor mínimo é oito, sendo este só o comprimento do cabeçalho.

O Checksum é um campo de 16bts utilizado na detecção de erros. Embora o UDP forneça verificação de erros, ele não recupera esse erro. Algumas implementações de UDP descartam o segmento danificado, outras passam o segmento errado à aplicação acompanhado de algum aviso. Pode-se usar o protocolo UDP em aplicações que toleram perca de pacotes, fluxo de dados (vídeos, rádios online), multicasting, broadcasting.

Protocolo UDP
Lista de portas TCP e UDP: http://www.gamboas.com.br/Scripts/portas.asp

Camada de Aplicação

Como visto nos artigos do Modelo de Referência TCP/IP a camada de aplicação é a camada que fica mais próxima do usuário. É a camada que convivemos diariamente quando estamos administrando uma rede. É através dela que requisitamos algo na rede e recebemos uma resposta. Assim sendo temos muitas aplicações rodando em cima também desta camada.

Falaremos a seguir sobre as mais utilizadas.

FTP ou File Transfer Protocol, é o protocolo usado para a transferência de arquivos em formato Binário ou ASCII. É uma aplicação Cliente/Servidor, utiliza o protocolo FTP e em uma situação típica a aplicação cliente FTP utiliza o protocolo TCP para estabelecer uma conexão com o servidor remoto. Faz a requisição pela porta 20 e recebe a resposta pela porta 21, que são as portas padrão. A utilização de portas permite desta forma, que um mesmo servidor receba várias requisições pois a resposta é endereçada à diferentes portas escolhidas por cada cliente.

Telnet é utilizada para conexão remota em computadores para execução de aplicações específicas. Também usada para configuração e monitoramento remoto de equipamentos. É uma aplicação Cliente/ Servidor e utiliza o protocolo TCP.

SNMP ou Simple Network Management Protocol é utilizado para fazer gerência de equipamentos, sendo o protocolo base de todas as principais plataformas de gerenciamento. O funcionamento das aplicações está vinculado ao envio/recebimento periódico de mensagens, equipamentos/computadores respectivamente, que contém valores de parâmetros relevantes para monitoramento, análise e posterior configuração por parte dos equipamentos. Tudo isso é fica armazenado numa base de dados chamada MIB.

DNS ou Domain Name Server é também chamada de Name Service, esta aplicação relaciona endereços IP com os seus respectivos nomes atribuídos a dispositivos da rede, para que o usuário utilize nomes para executar acessos ao invés de IPs. Fica muito mais fácil gravar por exemplo um endereço de web do que o seu IP.

SMTP ou Simple Mail Transfer Protocol é utilizado nos serviços básicos de envio de mensagens, isto é emails.

NFS ou Network File System é um sistema foi desenvolvido pela Sun Microsystems e permite que computadores possam "montar" discos ou parte deles (diretórios) de dispositivos remotos e operá-los como se fossem locais.

HTTP ou HyperText Transfer Protocol é a base do ambiente World Wide Web que basicamente permite a leitura dinâmica e interativa de documentos constituídos de texto, imagens e som.

DHCP ou Dynamic Host Configuration Protocol é utilizado em redes de computadores que permite a estes obterem um endereço IP automaticamente.

Bibliografia


Página anterior    

Páginas do artigo
   1. Redes de Computadores
   2. Modelo de Referencia OSI
   3. Modelo de Referência TCP/IP
   4. Protocolo e suas camadas
   5. Protocolo e suas camadas
Outros artigos deste autor

Memórias

Funcionamento do Processador

Sistemas Operacionais, Kernel e Shell

Leitura recomendada

Conceito de NAT detalhadamente

Integração Apache => Tomcat

Ligando, conectando e desligando automaticamente com o Kurumin

Bind com suporte a sdb/PostgreSQL

Configurando um servidor de e-mail para pequenas redes

  
Comentários
[1] Comentário enviado por julio_hoffimann em 04/07/2010 - 15:32h

Oi Willians,

Primeiro parabéns pelo artigo, acho redes um assunto muito interessante. Como não sou da área fiquei voando um pouco, mas consegui absorver alguns conceitos. Fica uma sugestão para um artigo mais leve que explique de maneira simples o que foi abordado neste, talvez não tenha sido seu objetivo.

Abraço!

[2] Comentário enviado por CARADEPASTEL em 04/07/2010 - 19:56h

Willians, você nem imagina como esses artigos me ajudam, obrigado willians e obrigado viva o linux, muito obrigado. NOTA 10!

[3] Comentário enviado por femars em 05/07/2010 - 09:56h

Dae Ice, que animal teu artigo cara, parabens!

Abraçao!
Xiiico.

[4] Comentário enviado por igor_rocha em 25/03/2012 - 03:20h

Muito bom....


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts