Skip to content

Protocolos de Redes – Aula 1

by Paiossin on November 18th, 2010
 
 
 

 

  • Introdução;
  • Apresentação da definição de protocolo;
  • Tipos de protocolos;
  • Entidades de padronização;
  • Modelo de referencia OSI:
  • Camada Física
  • Camadas de Enlace
  • Camada de Rede

 

 

Introdução

O OSI é um modelo usado para entender como os protocolos de rede funcionam. Normalmente quando estudamos redes de computadores este é um dos primeiros tópicos do guia de estudos. O problema, no entanto, é que muitas vezes as pessoas não entendem o porquê da existência deste modelo e/ou como ele funciona – mesmo pessoas que decoram os nomes de todas as sete camadas deste modelo para fazer prova de faculdade ou de certificação não compreendem de fato o seu funcionamento. Neste tutorial explicaremos a você o porquê da existência do modelo OSI e como ele funciona, além de fazer uma rápida correlação entre a pilha de protocolos TCP/IP e o modelo OSI.

Quando as redes de computadores sugiram, as soluções eram, na maioria das vezes, proprietárias, isto é, uma determinada tecnologia só era suportada por seu fabricante. Não havia a possibilidade de se misturar soluções de fabricantes diferentes. Dessa forma, um mesmo fabricante era responsável por construir praticamente tudo na rede.

Para facilitar a interconexão de sistemas de computadores, a ISO (International Standards Organization) desenvolveu um modelo de referência chamado OSI (Open Systems Interconnection) para que os fabricantes pudessem criar protocolos a partir deste modelo. Algumas pessoas confundem esses dois acrônimos, já que eles são formados pelas mesmas letras. ISO é o nome da organização enquanto que OSI é o nome do modelo de referência para o desenvolvimento de protocolos.

Protocolo é uma “linguagem” usada para transmitir dados pela rede. Para que dois computadores passam se comunicar, eles devem usar o mesmo protocolo (ou seja, a mesma linguagem).

Quando você envia um e-mail do seu computador, seu programa de e-mail (chamado cliente de e-mail) envia os dados (seu e-mail) para a pilha de protocolos, que faz uma porção de coisas que falaremos neste tutorial e então envia esses dados para o meio de transmissão da rede (normalmente cabo ou o ar, no caso de redes sem fio). No computador do outro lado (o servidor de e-mail) os dados (seu e-mail) são processados e enviados para o programa servidor de e-mail.

A pilha de protocolos faz uma porção de coisas e o papel do modelo OSI é padronizar a ordem em que a pilha de protocolos faz essas coisas. Dois protocolos diferentes podem ser incompatíveis, mas se eles seguirem o modelo OSI, ambos farão as coisas na mesma ordem, ajudando aos desenvolvedores de software a entender como eles funcionam.

Você pode ter notado que usamos a palavra “pilha”. Isto porque protocolos como o TCP/IP não são na verdade um único protocolo, mas sim vários protocolos trabalhando em conjunto. Portanto o nome mais apropriado não é simplesmente “protocolo” mas “pilha de protocolos”.

O modelo OSI é dividido em sete camadas. É muito interessante notar que o TCP/IP (provavelmente o protocolo de rede mais usado atualmente) e outros protocolos “famosos” como o IPX/SPX (usado pelo Novell Netware) e o NetBEUI (usado pelos produtos da Microsoft) não seguem esse modelo ao pé da letra, correspondendo apenas a partes do modelo OSI. Todavia, o estudo deste modelo é extremamente didático, pois através dele há como entender como deveria ser um “protocolo ideal”, bem como facilita enormemente a comparação do funcionamento de protocolos criados por diferentes empresas.

A idéia básica do modelo de referência OSI é: cada camada é responsável por algum tipo de processamento e cada camada apenas se comunica com a camada imediatamente inferior ou superior. Por exemplo, a camada 6 só poderá se comunicar com as camadas 7 e 5, e nunca diretamente com a camada 1.

Quando seu computador está transmitindo dados para a rede, uma dada camada recebe dados da camada superior, acrescenta informações de controle pelas quais ela seja responsável e passa os dados para a camada imediatamente inferior.

Quando seu computador está recebendo dados, ocorre o processo inverso: uma dada camada recebe dados da camada inferior, processa os dados recebidos removendo informações de controle pelas quais ela seja responsável e passa os dados para a camada imediatamente superior.

O que é importante ter em mente é que cada camada adiciona (quando o computador estiver transmitindo dados) ou remove (quando o computador estiver recebendo dados) informações de controle de sua responsabilidade.

¢TCP/IP ¢Transmission Control Protocol (TCP) ¢O TCP é um protocolo de rede que corresponde à camada de transporte da OSI. Ele fornece transporte full-duplex baseado em conexão. Quando o overhead de um transporte baseado em conexão não é requerido. ¢UTP ¢O UDP é um protocolo da camada de transporte (host a host) sem conexão. Ele não fornece confirmações de mensagens, simplesmente transporta datagramas.

¢IPX/SPX (Internetwork Packet Exchange Protocol  / Sequenced Packet Exchange) ¢O SPX é um protocolo da camada de transporte que estende o IPX para fornecer serviço baseado em conexão com uma transmissão confiável. A transmissão confiável é garantida pela retransmissão de pacotes quando há algum erro. O SPX é derivado de um protocolo similar existente no conjunto de protocolos de rede XNS. O SPX estabelece circuitos virtuais chamados conexões. O identificador de conexão de cada conexão aparece no cabeçalho do SPX. Um determinado processo da camada superior pode ser associado a vários identificadores de conexão. 

¢TCP/IP
¢TransmissionControlProtocol (TCP)
¢O TCP é um protocolo de rede que corresponde à camada de transporte da OSI. Ele fornece transporte full-duplex baseado em conexão. Quando o overhead de um transporte baseado em conexão não é requerido.
¢UTP
¢O UDP é um protocolo da camada de transporte (host a host) sem conexão. Ele não fornece confirmações de mensagens, simplesmente transporta datagramas.

 

¢IPX/SPX (Internetwork Packet Exchange Protocol  / SequencedPacket Exchange)
¢O SPX é um protocolo da camada de transporte que estende o IPX para fornecer serviço baseado em conexão com uma transmissão confiável. A transmissão confiável é garantida pela retransmissão de pacotes quando há algum erro. O SPX é derivado de um protocolo similar existente no conjunto de protocolos de rede XNS. O SPX estabelece circuitos virtuais chamados conexões. O identificador de conexão de cada conexão aparece no cabeçalho do SPX. Um determinado processo da camada superior pode ser associado a vários identificadores de conexão.

 

O Modelo de Referência OSI

Na Figura 1 você pode ver uma ilustração do modelo de referência OSI. Os programas comunicam-se apenas com a camada 7, a camada de Aplicação, enquanto que a camada “abaixo” da camada 1 é o meio de transmissão da rede (por exemplo, cabo ou ar, no caso de redes sem fio). O cabeamento de rede é às vezes referido como “camada 0”.

As sete camadas podem ser agrupadas em três grupos: Aplicação, Transporte e Rede, como você pode ver na Figura 1.

  • Rede: As camadas deste grupo são camadas de baixo nível que lidam com a transmissão e recepção dos dados da rede.
  • Transporte: Esta camada é responsável por pegar os dados recebidos da rede e transformá-los em um formato compreensível pelo programa. Quando seu computador está transmitindo dados, esta camada pega os dados e os divide em vários pacotes para serem transmitidos pela rede. Quando seu computador está recebendo dados, esta camada pega os pacotes recebidos e os coloca em ordem.
  • Aplicação: Essas são as camadas mais altas que colocam os dados no formato usado pelo programa.

Abaixo nós explicamos cada camada do modelo de referência OSI. Em nossos exemplos estamos assumindo que o computador está enviando dados pela rede – por exemplo, você está enviando um e-mail através do seu programa de e-mail.

  • Camada 7 – Aplicação: A camada de aplicação faz a interface entre o programa que está enviando ou recebendo dados e a pilha de protocolos. Quando você está baixando ou enviando e-mails, seu programa de e-mail entra em contato com esta camada.
  • Camada 6 – Apresentação: Também chamada camada de Tradução, esta camada converte o formato do dado recebido pela camada de Aplicação em um formato comum a ser usado pela pilha de protocolos. Por exemplo, se o programa está usando um código de página diferente do ASCII, esta camada será a responsável por traduzir o dado recebido para o padrão ASCII. Esta camada também pode ser usada para comprimir e/ou criptografar os dados. A compressão dos dados aumenta o desempenho da rede, já que menos dados serão enviados para a camada inferior (camada 5). Se for utilizado algum esquema de criptografia, os seus dados circularão criptografados entre as camadas 5 e 1 e serão descriptografadas apenas na camada 6 no computador de destino.
  • Camada 5 – Sessão: Esta camada permite que dois programas em computadores diferentes estabeleçam uma sessão de comunicação. Nesta sessão, esses dois programas definem como será feita a transmissão dos dados e coloca marcações nos dados que estão sendo transmitidos. Se porventura a rede falhar, os dois computadores reiniciam a transmissão dos dados a partir da última marcação recebida em vez de retransmitir todos os dados novamente. Por exemplo, você está baixando e-mails de um servidor de e-mails e a rede falha. Quando a rede voltar a estar operacional, a sua tarefa continuará do ponto em que parou, não sendo necessário reiniciá-la. Note que nem todos os protocolos implementam esta função.
  • Camada 4 – Transporte: Nas redes de computadores os dados são divididos em vários pacotes. Quando você está transferindo um arquivo grande, este arquivo é dividido em vários pequenos pacotes. No computador receptor, esses pacotes são organizados para formar o arquivo originalmente transmitido. A camada de Transporte é responsável por pegar os dados enviados pela camada de Sessão e dividi-los em pacotes que serão transmitidos pela rede. No computador receptor, a camada de Transporte é responsável por pegar os pacotes recebidos da camada de Rede e remontar o dado original para enviá-lo à camada de Sessão.  Isso inclui controle de fluxo (colocar os pacotes recebidos em ordem, caso eles tenham chegado fora de ordem) e correção de erros, tipicamente enviando para o transmissor uma informação de reconhecimento (acknowledge), informando que o pacote foi recebido com sucesso. A camada de Transporte separa as camadas de nível de Aplicação (camadas 5 a 7) das camadas de nível Rede (camadas de 1 a 3). As camadas de Rede estão preocupadas com a maneira com que os dados serão transmitidos e recebidos pela rede, mais especificamente com os pacotes são transmitidos pela rede, enquanto que as camadas de Aplicação estão preocupadas com os dados contidos nos pacotes, ou seja, estão preocupadas com os dados propriamente ditos. A camada 4, Transporte, faz a ligação entre esses dois grupos.
  • Camada 3 – Rede: Esta camada é responsável pelo endereçamento dos pacotes, convertendo endereços lógicos em endereços físicos, de forma que os pacotes consigam chegar corretamente ao destino. Essa camada também determina a rota que os pacotes irão seguir para atingir o destino, levando em consideração fatores como condições de tráfego da rede e prioridades.
  • Camada 2 – Link de Dados: Essa camada (também chamada camada de Enlace) pega os pacotes de dados recebidos da camada de rede e os transforma em quadros que serão trafegados pela rede, adicionando informações como o endereço da placa de rede de origem, o endereço da placa de rede de destino, dados de controle, os dados em si e uma soma de verificação, também conhecida como CRC. O quadro criado por esta camada é enviado para a camada Física, que converte esse quadro em sinais elétricos (ou sinais eletromagnéticos, se você estiver usando uma rede sem fio) para serem enviados através do cabo de rede. Quando o receptor recebe um quadro, a sua camada de Link de Dados confere se o dado chegou íntegro, refazendo a soma de verificação (CRC). Se os dados estiverem o.k., ele envia uma confirmação de recebimento (chamada acknowledge ou simplesmente ack). Caso essa confirmação não seja recebida, a camada Link de Dados do transmissor reenvia o quadro, já que ele não chegou até o receptor ou então chegou com os dados corrompidos.
  • Camada 1 – Física: Esta camada pega os quadros enviados pela camada de Link de Dados e os transforma em sinais compatíveis com o meio onde os dados deverão ser transmitidos. Se o meio for elétrico, essa camada converte os 0s e 1s dos quadros em sinais elétricos a serem transmitidos pelo cabo; se o meio for óptico (uma fibra óptica), essa camada converte os 0s e 1s dos quadros em sinais luminosos; se uma rede sem fio for usada, então os 0s e 1s são convertidos em sinais eletromagnéticos; e assim por diante. No caso da recepção de um quadro, a camada física converte os sinais do cabo em 0s e 1s e envia essas informações para a camada de Link de Dados, que montará o quadro e verificará se ele foi recebido corretamente.

Fonte

4 Comments
  1. Mack permalink

    Depois de uma aula extensa e cansativa, em uma sexta-feira intensa, discussões e muitas explicações, finalmente, aprendi quem é modelo de referencia OSI!
    Tanks teacher!

  2. maicon permalink

    Olha parabéns pelo teu site exelente mesmo
    muito bem explicado perfeito
    obrigado

  3. patrão permalink

    kra muito bom msm parabéns…

  4. Julio Castro permalink

    oi

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS

*

Switch to our mobile site