Buscar

PROTOCOLOS DE COMUNICAÇÃO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 36 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Tópico 1 -
Introdução:
Olá, estudante! Os protocolos de comunicação são essenciais para que uma rede funcione
plenamente, permitindo a interoperabilidade entre elementos que estão nela interligados.
Nesta unidade, serão apresentados os protocolos utilizados nas principais camadas dos
modelos de referência OSI e TCP/IP: a camada de aplicação, permitindo que aplicações
possam se comunicar em diferentes máquinas na rede; a camada de transporte, que
providencia o transporte para uma comunicação fim a fim entre as aplicações; a camada de
rede, que realiza o encaminhamento correto dos pacotes de dados na rede; e as camadas
física e enlace, que atuam na transmissão dos dados pelos meios de comunicação. Bons
estudos!
Tópico 2 -
Protocolos na Camada de Aplicação:
As aplicações são um dos motivos pelos quais os protocolos de comunicação foram
criados, tendo como exemplo aplicações de acesso remoto, transferência de arquivos,
correio eletrônico e a World Wide Web (www), essa última com um estrondoso sucesso na
década de 1990.
Para que as aplicações possam operar corretamente em um ambiente de rede, protocolos
de comunicação são utilizados como suporte, permitindo que programas em diferentes
computadores possam se comunicar pela rede. Essas aplicações estão relacionadas à
camada de aplicação, segundo os modelos OSI e TCP/IP, utilizando as camadas inferiores
como meio de transporte (Figura 3.1).
As aplicações podem apresentar requisitos de transporte diferenciados, como a
transferência confiável dos dados, a vazão, a temporização e a segurança. A transferência
confiável de dados se refere à garantia de que os dados sejam enviados correta e
completamente de uma máquina para outra, mesmo havendo perda de pacotes na rede.
A vazão se refere à largura de banda necessária para que a aplicação funcione
adequadamente, sendo consideradas aplicações elásticas no caso de haver uma
necessidade específica de vazão, entre um mínimo e máximo aceitável. As temporizações
são importantes para aplicações que são sensíveis ao atraso, como as aplicações de
telefonia IP e videoconferência.
A segurança permite que os dados da aplicação possam ser enviados de forma
criptografada, garantindo a sua confidencialidade. No Quadro 3.1, a seguir, temos alguns
exemplos de aplicações e os requisitos de transporte.
A seguir, falaremos sobre como as aplicações são utilizadas nas arquiteturas mais
conhecidas e os principais protocolos da camada de aplicação.
Arquiteturas de Aplicação de Rede:
As aplicações de rede são elaboradas inicialmente pela sua arquitetura, e as mais utilizadas
são a arquitetura cliente-servidor e peer-to-peer (P2P). A base dessas arquiteturas de
aplicações é a comunicação entre processos. Teremos processos sendo executados em
diferentes máquinas que estão trocando informações pela rede.
A arquitetura cliente-servidor (client-server) é baseada em máquinas servidoras que
oferecem serviços para as aplicações que são executadas em máquinas clientes (Figura
3.2). A aplicação na máquina cliente é um processo que faz requisições para o processo em
execução na máquina servidora, que irá responder conforme o solicitado.
Normalmente, as máquinas servidoras apresentam endereços de rede fixos, utilizados
pelas máquinas clientes para o estabelecimento da comunicação. Nessa arquitetura, não é
possível a comunicação entre aplicações de máquinas clientes.
Na arquitetura P2P, é utilizada a comunicação direta entre máquinas hosts conectadas
alternadamente, denominadas pares, não havendo o provimento de serviços por meio de
máquinas servidoras dedicadas.
Essa comunicação está representada na Figura 3.2, tendo sido muito utilizada em
aplicações de mensagens instantâneas e compartilhamento de arquivos. Nessa arquitetura,
temos a comunicação direta entre processos de máquinas hosts.
Saiba mais:
Além das arquiteturas cliente-servidor e peer-to-peer, está sendo muito utilizada a
arquitetura de sistemas distribuídos para as aplicações em rede. Segundo Coulouris et al.
(2013), “um sistema distribuído é aquele no qual os componentes localizados em
computadores interligados em rede se comunicam e coordenam suas ações apenas
passando mensagens”.
Um exemplo de recurso utilizado nos sistemas distribuídos são os serviços web (ou web
services), em que interfaces são disponibilizadas em rede para o provimento de serviços.
Leia o artigo “Serviços web e a evolução dos serviços em TI”, que retrata a integração dos
serviços web com e-business, no link disponível.
Acessar: <https://www.brapci.inf.br/_repositorio/2010/01/pdf_a1058f0f02_0007434.pdf>
No tema a seguir, falaremos de um dos protocolos de comunicação utilizado na camada de
aplicação, o protocolo HTTP.
https://www.brapci.inf.br/_repositorio/2010/01/pdf_a1058f0f02_0007434.pdf
HTTP:
Segundo Tanenbaum e Wetherall (2011), a web, ou World Wide Web, é uma estrutura
arquitetônica que permite o acesso a documentos vinculados espalhados por milhões de
máquinas na Internet. A web começou em 1989 no CERN, o European Center for Nuclear
Research, e a ideia inicial era ajudar grandes equipes, com membros espalhados em vários
países com fusos diferentes, atuando na colaboração de uma teia de documentos
relacionados à física de partículas.
Os documentos da web, conhecidos como páginas web, apresentam textos formatados por
meio da linguagem HTML (HyperText Markup Language) e links que conectam com outras
páginas, sendo tratado como um hipertexto. Por meio de navegadores web (ou browsers), é
possível visualizar e navegar entre as páginas web. Os documentos web ficam
armazenados em máquinas servidoras, conhecidas como servidores web (web servers) e
funcionam dentro da arquitetura cliente-servidor.
O protocolo utilizado para a troca desses documentos web entre cliente e servidor web é o
HTTP (HyperText Transfer Protocol). Na Figura 3.3, podemos ver que a navegação em uma
página web através de um navegador em uma máquina cliente faz a solicitação por meio de
uma solicitação HTTP para o servidor web, o qual responde com o documento solicitado.
Dentro desse documento, podem conter links para outros conteúdos, como um vídeo do
YouTube, ou registros de dados, como Google Analytics.
A requisição HTTP é feita normalmente através de nomes que representam os endereços
de rede dos servidores web. A tradução desses nomes, conhecidos como URL (Uniform
Resource Location), para endereços lógicos de rede (endereços IP), é feita através dos
servidores DNS (Domain Name Server). Por exemplo, o endereço www.google.com é
traduzido para o endereço IP dos servidores onde estão hospedadas as páginas do Google.
São vários servidores DNS espalhados pelo mundo, distribuídos hierarquicamente,
atendendo diferentes domínios (por exemplo: .com, .edu, .gov, etc) e países (.br, .cn, .ar
etc.).
http://www.google.com/
O servidor web não armazena nenhuma informação sobre os clientes, logo o protocolo
HTTP é dito como um protocolo Stateless, ou seja, protocolo sem estado. Porém, é possível
que o cliente e o servidor possam se comunicar por um longo período de tempo pelo
protocolo HTTP, fazendo uso de conexões persistentes ou não persistentes. Nas conexões
não persistentes, são realizadas várias conexões com o servidor web para obter os objetos
(por exemplo, figuras) que fazem parte do conteúdo de uma página web, sendo uma
conexão/requisição por objeto. Nas conexões persistentes, uma conexão apenas
permanece para a transferência de todos os objetos da página web.
O formato de uma mensagem HTTP pode ser classificado em requisição e resposta. A
requisição apresenta alguns campos básicos, como o método, a URL e a versão do
protocolo HTTP. O método representa o tipo de solicitação para o servidor web, havendo
como exemplos GET, POST e HEAD. Segue um exemplo de mensagem HTTP:
GET /somedir/page.html HTTP/1.1
Host: www.someschool.edu
Connection: close
User-agent: Mozilla/4.0
Accept-language: fr
O método GET está sendo utilizado para obter o objeto /somedir/page.html do servidor web
www.someschool.edu. O tipo de conexão seránão persistente, devido ao parâmetro
Connection com valor close. O navegador utilizado para essa solicitação é o Mozilla e
permite aceitação de documentos em francês, pelo campo Accept-language: fr.
A resposta de uma solicitação HTTP é feita por meio de uma mensagem com um código de
resposta. Esse código pode representar um sucesso, um erro ou uma informação para a
solicitação feita. Segue um exemplo para uma resposta:
HTTP/1.1 200 OK
Connection: close
Date: Sat, 07 Jul 2007 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Sun, 6 May 2007 09:23:24 GMT
Content-Length: 6821
(data data data data data …)
http://www.someschool.edu/
http://www.someschool.edu/
Esse exemplo de resposta mostra um código 200, que representa Ok, uma resposta
bem-sucedida. Outros códigos podem ser respondidos, como o 404, no caso de uma página
não encontrada, ou 500, erro interno no servidor.
Essa mensagem foi respondida por um servidor Apache e contém 6821 bytes,
representados pelos dados (data) que vêm adicionados à mensagem, sendo basicamente o
objeto HTML solicitado. No próximo tema, trataremos do protocolo utilizado pelas
aplicações para transferência de arquivos, o FTP.
FTP:
O protocolo FTP (File Transfer Protocol) é utilizado para realizar a transferência de arquivos
de uma máquina para outra. Isso é realizado por um agente de usuário FTP, em que o
processo de uma máquina cliente FTP realiza a transferência com outro processo servidor
em uma máquina remota.
O protocolo FTP atua de forma similar ao HTTP, porém o FTP utiliza duas conexões para
realizar a transferência de arquivos, uma para controle e outra para dados. A conexão de
controle é utilizada para o envio de informações como usuário e senha, além de comandos
para trocar diretórios remotamente, além de inserir e pegar arquivos. A conexão de dados é
utilizada efetivamente para enviar arquivos.
O servidor FTP mantém informações de estado sobre usuário, associando a conexão de
controle com uma conta de usuário específica, monitorando o diretório corrente enquanto o
usuário passeia pela árvore do diretório remoto. A seguir, falaremos sobre o protocolo
utilizado no correio eletrônico pelas aplicações, o SMTP.
SMTP:
O e-mail, ou correio eletrônico, é uma das aplicações mais conhecidas da Internet, sendo
utilizado como meio de enviar mensagens de forma eletrônica. A arquitetura de um serviço
de correio eletrônico é dividida em dois subsistemas: os agentes do usuário e os agentes de
transferência de mensagens.
Os agentes do usuário permitem que as pessoas leiam e enviem mensagens através de
softwares como o Microsoft Outlook ou Mozilla Thunderbird, enquanto os agentes de
transferência de mensagens, também conhecidos como servidores de correio, deslocam as
mensagens da origem até o destino.
Na Figura 3.5, temos a representação da arquitetura do sistema de e-mail, no qual o agente
do usuário envia um correio (mensagem) para um servidor de correio (agente de
transferência de mensagem). Esse servidor envia o correio para o servidor de correios
destinatário, o qual irá realizar a entrega final para o agente do usuário destinatário. O
protocolo utilizado para a comunicação entre os servidores de correio é o SMTP (Simple
Mail Transfer Protocol).
O formato das mensagens SMTP é baseado em campos de cabeçalho, conforme o Quadro
3.2, a seguir:
O envio de mensagens pelo correio é feito pelo protocolo SMTP. Porém, para que o agente
do usuário possa obter as mensagens de um servidor de correios, podem ser utilizados os
protocolos POP3 (Post Office Protocol versão 3) ou IMAP (Internet Mail Access Protocol) ou
o HTTP (Figura 3.6).
Os protocolos POP3 e IMAP são utilizados pelos agentes do usuário instalados na máquina
cliente para receber os e-mails do servidor de correio. No caso do HTTP, o serviço de e-mail
é fornecido por meio de uma página web, sendo conhecido como webmail, como é o caso
do Gmail, do Google.
Vamos Praticar:
O serviço de correio eletrônico é oferecido na camada de aplicação para que mensagens
possam ser enviadas de forma eletrônica de forma similar ao correio convencional. Esse
serviço é baseado no agente do usuário e no servidor de correios.
Assinale a alternativa correta que representa o protocolo utilizado para o envio de e-mails
pela rede.
a) POP3.
b) IMAP.
c) ICMP.
d) SMTP.
e) FTP.
Resposta:
Link para o print da resposta correta: <https://imgur.com/2XLa6Vy>
Tópico 3 -
Protocolos na Camada de Transporte:
A camada de transporte exerce um importante papel para fornecer serviços de
comunicação para os processos de aplicação que estão sendo executados em diferentes
máquinas na rede. Segundo Forouzan (2010), essa camada é a responsável pela entrega
da mensagem entre processos finais, prestando serviços para a camada de aplicação e
utilizando os serviços da camada de rede.
https://imgur.com/2XLa6Vy
Neste tópico, serão vistos aspectos dos serviços da camada de transporte, bem como os
seus principais protocolos utilizados na Internet, o TCP e o UDP.
Serviços de Transporte:
O objetivo da camada de transporte é oferecer um serviço confiável, eficiente e econômico
para os usuários, que estão presentes na camada de aplicação. Para tanto, são utilizados
serviços da camada de rede (ou Internet), conforme apresentado na Figura 3.7. O serviço
de transporte é realizado pela chamada entidade de transporte, que pode estar no núcleo
do sistema operacional, em um pacote de bibliotecas vinculadas às aplicações, em um
processo de usuário ou até mesmo na placa de interface de rede.
Os serviços de transporte providenciados para as aplicações podem ser classificados como
serviços orientados à conexão e não orientados à conexão. No serviço orientado à conexão,
é estabelecida uma conexão lógica entre a origem e o destino antes do início da
transmissão, garantindo a entrega e a sequência dos dados transmitidos. Isso torna um
serviço de transporte mais confiável para aplicações que necessitem da integridade dos
dados transmitidos.
Já no serviço não orientado à conexão não existe a necessidade de estabelecer uma
conexão lógica, não havendo um controle de erros rigoroso, permitindo, assim, a perda de
pacotes. Esse tipo de serviço é mais rápido que o serviço orientado à conexão, sendo
indicado para aplicações cujo desempenho é mais importante que a confiabilidade.
Segundo Tanenbaum e Wetherall, para que os usuários possam utilizar os serviços de
transporte, são utilizadas primitivas através de sua interface na camada de transporte. Essa
interface apresenta o que um serviço da camada de transporte, como o orientado à
conexão, deve fazer. No Quadro 3.3, a seguir, são apresentadas cinco primitivas básicas:
Por exemplo, em um serviço orientado à conexão, um servidor executa a primitiva LISTEN,
que irá deixar bloqueado até que uma solicitação de cliente apareça. O cliente pode realizar
essa solicitação através da primitiva CONNECT. Na camada de transporte, os dados da
aplicação são enviados através de segmentos.
Junto ao segmento, é adicionado o cabeçalho da camada de transporte, configurando o
chamado TPDU (Transport Protocol Data Unit). Logo, na execução da primitiva CONNECT
do cliente, um segmento é enviado para o servidor denominado CONNECTION REQ. O
servidor é desbloqueado e transmite um segmento CONNECTION ACCEPTED para o
cliente.
Nesse momento, a conexão é estabelecida, e qualquer uma das partes pode utilizar as
primitivas SEND e RECEIVE para enviar e receber dados, respectivamente. A conexão é
desfeita então com a primitiva DISCONNECT, o qual terá o envio de um segmento
DISCONNECTION REQ.
No próximo subtópico, trataremos das informações utilizadas para a comunicação feita
pelos serviços de transporte, as portas.
Portas de Comunicação:
Os sistemas operacionais atuais suportam ambientes multiusuário e multiprogramação, ou
seja, é possível que vários processos estejam em execução simultaneamente. A definição
dos computadores é feita por meio da camada de rede, porém a identificação dos
processos das aplicações em andamento é feita pela camadade transporte, com o uso de
portas de comunicação.
Com o modelo de referência TCP/IP, temos um campo numérico com o tamanho de 16 bits
para a identificação de uma porta, variando de 0 até 65535. Um programa de aplicação na
máquina cliente pode fazer o uso de uma porta dita efêmera, que será temporariamente
alocada para a comunicação com a aplicação em outro nó de rede.
Já em uma máquina servidor, na qual processos podem atender inúmeros clientes, são
normalmente utilizadas portas com números previamente definidos, conhecidas como
portas bem conhecidas (well known ports), que são permanentemente alocadas. No caso
do HTTP, é utilizada a porta bem conhecida 80, o SMTP utiliza a porta 25 e o FTP utiliza as
portas 20 e 21. Na Figura 3.8, a seguir, temos um exemplo de uso de portas pela camada
de transporte, em que o processo cliente “daytime” está utilizando uma porta efêmera 52000
para a comunicação com o processo servidor “daytime” alocado na porta bem conhecida
13.
A entidade padronizadora IANA dividiu o número de portas em três faixas: conhecidos,
registrados e dinâmicos:
● Portas bem conhecidas (well known ports): número de porta na faixa de 0 a 1023.
● Portas registradas: número de porta na faixa de 1024 a 49151. Podem ser
registradas no IANA para evitar duplicidade.
● Portas dinâmicas (efêmeras): número de porta na faixa de 49152 a 65535.
Na pilha de protocolos TCP/IP, o uso de um endereço IP para uma máquina e o número da
porta sendo utilizado pelo processo da aplicação nessa caracterizam um socket. Um
endereço de socket do cliente identifica um processo da aplicação em execução na
máquina cliente, enquanto um socket de servidor representa o processo servidor. Na Figura
3.9, temos um exemplo de socket, em que o endereço de rede IP 200.23.56.8 e o número
da porta 69 identificam um endereço de socket específico.
Nos próximos subtópicos, abordaremos os protocolos da camada de transporte utilizados
no modelo de referência TCP/IP da Internet, o TCP e o UDP.
Protocolo TCP:
O protocolo TCP (Transmission Control Protocol) oferece funcionalidade para a verificação
de pacotes e de erro, sendo utilizado em serviços orientados à conexão. Uma conexão TCP
se trata de um fluxo de bytes, e não de mensagens, e essa deve ser full duplex e ponto a
ponto.
Um segmento TCP contém um cabeçalho de 20 bytes, conforme a Figura 3.10, em que são
mencionadas as portas de comunicação e outros dados relativos ao fluxo de dados da
conexão. Cada enlace que faz a transmissão de um segmento de dados apresenta uma
MTU (Maximum Transfer Unit), que delimita o tamanho do pacote de dados. Isso pode fazer
com que o segmento seja fragmentado para a transmissão de pacotes.
As conexões TCP são estabelecidas por um processo chamado handshake de três vias,
utilizando as primitivas da interface da camada de transporte. Quando o cliente inicia o
estabelecimento da conexão através da primitiva CONNECT, especificando o endereço
socket e o tamanho máximo do segmento, um segmento TCP é enviado com a flag SYN
ativada e a flag ACK desativada, ficando no aguardo de uma resposta.
Quando esse segmento chega ao seu destino, é verificado se há um processo que tenha
acionado a primitiva LISTEN na porta recebida, e, em caso positivo, poderá recebê-lo.
Sendo aceito, é enviado um segmento de confirmação, com as flags de SYN e ACK
ativadas. Por fim, o cliente confirma o recebimento deste último segmento com o envio de
um segmento com a flag de ACK ativada. Esse processo está ilustrado na Figura 3.11.
O encerramento de uma conexão TCP é realizado por meio do envio de um segmento com
a flag FIN ativada, indicando que não há mais dados para serem transmitidos. Como é feita
uma comunicação full duplex, devem haver quatro segmentos envolvidos para o
encerramento: um segmento com flag FIN ativado e a confirmação por um segmento com
flag ACK ativado para uma das vias de comunicação e outro segmento FIN com
confirmação via segmento ACK para a outra via.
O protocolo TCP apresenta um serviço confiável para transporte de dados, permitindo que
retransmissões possam ser feitas quando identificada a perda de pacotes. Para tanto, faz
uso de temporizadores e apresenta um mecanismo de controle de fluxo baseado em janelas
de transmissão, com o suporte de buffers de armazenamento, em que o receptor envia
segmentos ACK, confirmando os segmentos recebidos (Figura 3.12).
Além do controle de fluxo, apresenta um mecanismo de controle de congestionamento,
baseado no número de reconhecimentos ACK recebidos por unidade de tempo com os
dados de tempo de ida e volta, em que é realizada uma predição a qual indica se a rede
está congestionada ou não. Isso possibilita que o transmissor possa reduzir a velocidade de
transmissão para evitar uma sobrecarga na rede.
Alguns protocolos da camada de aplicação que fazem uso do protocolo TCP são o HTTP e
o FTP.
Protocolo UDP:
O UDP (User Datagram Protocol) é um protocolo não orientado à conexão e não confiável
da camada de transporte, sendo indicado devido à sua simplicidade e eficiência, cujo
controle de erros possa ser realizado pela camada de aplicação (FOROUZAN,
MOSHARRAF, 2013). É baseado no simples envio de datagramas, sem haver a
preocupação da confirmação de recebimento desses pelo destinatário.
O cabeçalho utilizado pelo protocolo UDP é mais simples que o TCP, composto pelas
informações das portas, checksum e tamanho do datagrama, conforme pode ser visto na
Figura 3.13 a seguir:
O protocolo UDP não possui mecanismos de controle de erros, nem fluxo, assim como não
possui conexões. Esse controle deve ser realizado pela camada de aplicação. Um exemplo
de protocolo da camada de aplicação que utiliza o protocolo UDP é o DNS (Domain Name
Server).
Vamos Praticar:
O protocolo TCP (Transmission Control Protocol) é utilizado para prover um serviço
orientado à conexão para a camada de aplicação. Com esse protocolo, segmentos dos
dados das aplicações são enviados através da camada de rede em direção aos
destinatários, para a execução na aplicação correta em execução na máquina remota.
Considerando o contexto do protocolo TCP, assinale a alternativa que representa
corretamente uma das características deste protocolo:
a) Consegue fazer o envio de dados sem o estabelecimento de uma conexão.
b) Apresenta um cabeçalho com tamanho de 8 bytes.
c) Pode ser utilizado também para serviços não orientados à conexão.
d) Possui controle de fluxo.
e) Podem enviar uma quantidade de dados acima da MTU de um enlace.
Resposta:
Link para o print da resposta correta: <https://imgur.com/ixQeYnA>
Tópico 4 -
Protocolos na Camada de Redes:
Os protocolos da camada de rede têm como objetivo o encaminhamento correto dos
pacotes de dados desde a origem até o destino ao longo da rede. Para isso, identificações
para os nós que fazem parte da rede devem ser utilizadas, possibilitando o correto
encaminhamento.
O principal elemento de rede com a capacidade de realizar esse encaminhamento dos
pacotes é o roteador. Esse equipamento é composto basicamente por portas de entrada,
portas de saída, processador e memória. Com base na identificação do destino do pacote
recebido em uma porta de entrada, o roteador busca em sua tabela de roteamento o melhor
caminho (conhecido como rota) para encaminhar os pacotes através de uma porta de saída.
Na Figura 3.14, a seguir, temos um exemplo de tabela de roteamento, em que um pacote
com a identificação de destino B deve ser encaminhado para a interface de saída (rota)
número 2.
https://imgur.com/ixQeYnA
É possível haver uma grande quantidade de roteadores ao longo do percurso de um pacote
de dados. No exemplo da Figura 3.15, temos a comunicação entre os computadores de
Alice e Bob, em que os pacotes trafegam pela rede pelos roteadores R2, R4, R5 e R7.
Perceba que os roteadores não precisam processar todas as camadas, somente até a
camada de rede, em que estão presentes as identificações do destino a ser atingido. É com
base nessa identificação e na sua tabela de roteamento que o roteador irá encaminhar o
pacote corretamente.Com isso, é importante entendermos como são representadas essas identificações
utilizadas pelos nós da rede, as formas de distribuição e como as tabelas de roteamento
podem ser atualizadas.
Internet Protocol (IP):
O protocolo utilizado para a identificação dos nós interligados na rede Internet é o
conhecido IP (Internet Protocol). Esse protocolo apresenta os endereços lógicos que são
utilizados para a identificação de cada elemento conectado, permitindo que roteadores
possam encontrar os caminhos apropriados para que os dados possam chegar aos
destinatários corretos.
Existem atualmente duas versões de endereços IP: a versão 4 e 6. A seguir, serão
exploradas as particularidades de cada versão.
IPv4:
A primeira versão de grande amplitude de uso do endereço IP foi a versão 4, que contém 32
bits de tamanho, representando uma quantidade de aproximadamente 4 bilhões de
endereços.
Cada pacote irá apresentar em seu cabeçalho um endereço IP de origem e um endereço IP
de destino, conforme apresentado na Figura 3.16, a seguir:
Nesse cabeçalho, existem diversos campos, que estão assim descritos:
a) VER: indica a versão do protocolo.
b) HLEN: corresponde ao tamanho do cabeçalho em número de blocos de 32 bits.
c) Tipo de serviço: indica a classe do serviço para o pacote.
d) Comprimento total: indica o tamanho completo do pacote.
e) Identificação: utilizado para identificar um datagrama que foi fragmentado, sendo que os
fragmentos apresentam a mesma identificação.
f) Marcadores: DF (Don’t Fragment – 1 bit) não deve fragmentar, MF (More Fragments – 1
bit) indica que existem mais fragmentos.
g) Deslocamento de fragmento: em uma transmissão fragmentada, indica a posição para a
recomposição do datagrama.
h) TTL: Time To Live, utilizado para limitar o tempo de vida de um datagrama na rede.
i) Protocolo: identifica o protocolo da camada de transporte (TCP ou UDP)
j) Soma de verificação do cabeçalho: utilizado para a descoberta de erros no cabeçalho do
datagrama.
k) Endereço IP de origem: armazena o endereço IP de quem originou o datagrama.
l) Endereço IP de destino: armazena o endereço IP do equipamento que receberá o
datagrama.
m) Opções: opcional, permite o acréscimo de novas funcionalidades ao protocolo.
No caso da fragmentação, essa pode ocorrer quando o tamanho do datagrama é maior que
a capacidade máxima de transmissão (MTU) do enlace. Na Figura 3.17, temos um exemplo
de fragmentação, em que um datagrama contendo 4000 bytes de dados é fragmentado em
três fragmentos. Note que o último fragmento muda a flag MF, indicando que não há mais
fragmentos.
Os 32 bits referentes ao endereço IP no formato binário podem ser representados no
formato decimal, com uma divisão em quatro octetos separados por ponto.
Exemplo:
- 11000000101010000000000000000001(formato binário);
- 192.168.0.1 (formato decimal).
O endereço IP pode ser dividido em duas partes: a rede e o host. A rede representa o
segmento de rede ao qual o endereço IP pertence, enquanto o host é uma identificação
única para a máquina que está conectada nessa rede. Quando a parte do host possui todos
os bits em ‘0’, identifica-se como endereço de rede. Se todos os bits de host estiverem com
valor ‘1’, o endereço IP é utilizado como endereço de broadcast, utilizado para difusão do
pacote para todas as máquinas da rede. Uma classificação em relação a isso foi definida,
em que temos diferentes faixas de endereço categorizadas em classes, indicando a
quantidade de endereços máxima para cada rede, conforme a Tabela 3.1, a seguir:
Além dessa classificação por classes de endereços, existem diferentes tipos de endereços
IP, como públicos e privados. Os endereços IP públicos são aqueles publicamente
reconhecidos, como os da Internet. Os endereços IP privados são aqueles utilizados no
âmbito interno de uma rede corporativa ou doméstica. Assim, temos as seguintes faixas de
endereços IP privados, conforme a classe:
Para redes locais, é comum utilizar endereços IP privados em seus equipamentos. A fim de
que esses possam se conectar com a Internet, endereços IP públicos são necessários, e
algumas funcionalidades de rede podem ser utilizadas, como NAT (Network Address
Translation) e PAT (Port Address Translation). NAT realiza o mapeamento de endereços IP
privados para endereços IP públicos, enquanto o PAT utiliza o número de porta da camada
de transporte, sendo usado pela aplicação em conjunto com o endereço IP privado para o
mapeamento em endereço IP público.
Os endereços IP podem ser alocados de forma estática ou dinâmica. No caso estático, os
endereços são atribuídos manualmente e de forma fixa para os equipamentos. A alocação
dinâmica não requer essa intervenção manual, e cada máquina solicita a um servidor
utilizando o protocolo DHCP (Dynamic Host Control Protocol), para receber um endereço IP
a ser utilizado temporariamente enquanto estiver conectado à rede.
IPv6:
Tendo em vista o rápido crescimento da Internet e tecnologias que permitem conexão a
essa rede global, os endereços IP na versão 4 começaram rapidamente a ficar escassos
até a sua completa exaustão. Tendo em vista que novos endereços IP seriam necessários,
foi criada uma nova versão do IP, a versão 6.
O endereço IPv6 apresenta um tamanho de 128 bits, indicando uma quantidade
extremamente maior que a obtida pelo IPv4. O seu cabeçalho foi alterado, conforme
apresentado na Figura 3.18, a seguir:
Os campos classe de tráfego, rótulo de fluxo, tamanho dos dados, próximo cabeçalho e
limite de encaminhamento foram criados para o IPv6 em comparação ao IPv4. O campo
classe de tráfego é usado para indicar a classe de serviço pertencente ao pacote. O campo
rótulo de fluxo é usado para aplicações que requeiram desempenho.
O campo tamanho dos dados indica o tamanho da carga útil (payload) do pacote. O campo
próximo ao cabeçalho se trata de um ponteiro para uma extensão do cabeçalho. O campo
limite de encaminhamento indica a quantidade de saltos permitida antes do pacote ser
descartado.
O endereço IPv6 pode apresentar uma representação hexadecimal, com oito grupos de 16
bits separados por dois pontos.
Por exemplo:
2001:0DB8:0000:0000:DAD0:CAFE:FFDD:0051
Algumas regras de simplificação do endereço IPv6 foram criadas:
● Se dentro de um grupo de 16 bits houver somente zeros, pode ser substituído por
um único zero.
● Se houver uma sequência de um ou mais grupos de zeros, esses podem ser
substituídos por “::”. Porém, só pode ser feita essa simplificação uma única vez em
um endereço IPv6.
Exemplos de simplificação:
● O endereço IPv6 2001:0DB8:0000:0000:DAD0:CAFE:FFD:0051 pode ser
representado pelo endereço 2001:DB8::DAD0:CAFE:FFD:51.
● O endereço IPv6 2001:0DB8:0000:0000:DAD0:0000:0000:0051 pode ser
representado por 2001:DB8::DAD 0:00:00:0051.
O endereço IPv6 também pode ser dividido em partes com identificação de rede global,
identificador de sub-rede e identificador de host, conforme Figura 3.19, a seguir:
No IPv6, existem três tipos de endereçamento: a) unicast, que identifica o endereço de uma
interface de rede de forma única; b) multicast, que identifica um grupo de interfaces
dispositivos ou serviços por meio de um endereço reservado FF00::/8; c) anycast, utilizado
para identificar um grupo de interfaces como uma sub-rede. No IPv6, não existem
endereços de broadcast.
Reflita:
Com o crescimento da Internet e dos dispositivos tecnológicos a ela conectados, o uso de
endereços IPv6 se torna cada vez mais intensivo, e atualmente todas as placas de interface
de rede já saem de fábrica com esse suporte. Leia o artigo Novos negócios baseado na
internet das coisas e reflita sobre como a Internet das coisas pode promover o aumento de
dispositivos conectados, demandando mais endereços IP.
Disponível em: <https://revistafae.fae.edu/revistafae/article/view/402>
Após o entendimento dos formatos de endereços IPv4 e IPv6, veremos como próximo tema
o endereçamento de sub-redes, que ajuda a trazer uma maior organização para a alocação
de endereços IP.
Endereçamento de Sub-Redes:
A fim de flexibilizar e obterum melhor aproveitamento dos endereços IP, através da divisão
destes em diversas partes para uso interno, é proposto o uso da subdivisão de redes,
conhecida como sub-redes. Essa divisão é possível pelo uso de máscaras de sub-rede, em
que a parte de rede é mapeada com bits ‘1’ e a parte de host com bits ‘0’. Por exemplo,
considerando as conhecidas classes A, B e C de endereços:
Na classe A, a máscara 255.0.0.0 identifica o primeiro octeto como sendo de rede, pois
apresenta todos os seus bits em ‘1’, resultando no valor decimal 255. Os três demais
octetos são utilizados para host, considerando os endereços de rede e broadcast. No caso
da classe B, temos os dois octetos (255.255) utilizados para rede, assim como em
endereços classe C são utilizados três octetos (255.255.255).
Pode-se representar a máscara de sub-rede através da notação “/x”, o qual x representa o
número de bits referente à parte de rede do endereço IP. Por exemplo, no endereço de
classe A teríamos a máscara /8, na classe B a máscara /16, e a classe C a máscara /24.
A máscara de sub-rede apresenta uma flexibilidade para ampliar a quantidade de bits para
representação da parte de rede, não se limitando às classes A, B e C com suas máscaras
fixadas em /8, /16 e /24. Temos, então, o conceito de VLSM (Variable Length Subnet Mask),
https://revistafae.fae.edu/revistafae/article/view/402
em que a máscara de sub-rede pode “emprestar” bits da parte de host aplicando como
sendo integrante da rede e utilizando esses bits para identificação da sub-rede.
Isso permite que, a partir de um endereço IP, possamos criar diferentes sub-redes, para
uma melhor segmentação.
Exemplo:
A partir do endereço IP classe C, 192.168.0.1/24, criar quatro sub-redes que serão
utilizadas cada uma para um departamento diferente: sub-rede 1 para o departamento de
finanças, sub-rede 2 para o departamento de RH, sub-rede 3 para o departamento de
vendas e sub-rede 4 para o departamento de suprimentos.
O endereço classe C 192.168.0.1/24 também pode ser representado assim: 192.168.01,
máscara de sub-rede: 255.255.255.0. Isso indica que o último octeto é utilizado para host.
Para criar quatro sub-redes, são necessários dois bits (00, 01, 10, 11). Esses dois bits serão
emprestados da parte de host e utilizados na parte de rede, mudando a máscara para 26 ou
255.255.255.192. Assim, teremos:
Assim, por meio da variação dos bits da máscara de sub-rede, é possível criar sub-redes
que venham a otimizar o uso de endereços IP em função da quantidade de hosts
necessários para cada segmento de rede. No endereçamento IPv6, o mesmo conceito de
máscara de sub-rede através da notação “/x” pode ser aplicado para a criação de
sub-redes.
Protocolos de Roteamento:
O roteador utiliza a tabela de roteamento para buscar as rotas pelas quais o pacote pode
ser encaminhado na rede. Essa tabela pode ser construída de forma manual, ou seja, um
administrador de rede pode montar e configurar em cada roteador a tabela que relaciona
endereços IP com as rotas para encaminhamento. Entretanto, em uma rede muito ampla,
com uma quantidade expressiva de roteadores, esse trabalho pode se tornar muito
dispendioso, pois, sendo a rede dinâmica, mudanças podem acontecer a qualquer
momento, necessitando atualizar a tabela de roteamento em todos os roteadores da rede.
Para reduzir o trabalho de atualização da configuração da tabela de roteamento nos
roteadores, algoritmos foram elaborados para que, através de protocolos de comunicação,
possam atuar de forma automática na rede. Assim, quando um roteador tem alguma
mudança que impacta no roteamento, esses dados são atualizados na tabela e repassados
para os outros roteadores sem a necessidade de intervenção humana. Esses algoritmos
ficaram conhecidos como algoritmos de roteamento. Os algoritmos mais conhecidos são o
algoritmo de estado de enlace e o vetor distância.
Algoritmo Estado de Enlace:
O algoritmo de enlace é baseado no conhecimento dos roteadores da topologia da rede. Os
roteadores estabelecem uma relação com os vizinhos chamada de adjacência. Cada
roteador envia informações sobre seus enlaces para os vizinhos, por meio da mensagem
LSA (Link State Advertisement). Essa mensagem é repassada roteador a roteador na rede,
construindo um banco de dados topológico e criando um mapa de toda a rede.
A partir da análise desse banco de dados topológico e utilizando o algoritmo de Dijkstra, é
determinado o menor caminho (melhor custo) na tabela de roteamento para os endereços
IP. Até que todos os roteadores estejam com o mesmo banco de dados topológico, ocorre o
processo de convergência.
Exemplo de protocolo que utilizam o algoritmo de estado de enlace: OSPF (Open Shortest
Path First).
Algoritmo Vetor Distância:
O algoritmo vetor distância consiste no envio periódico da tabela de roteamento para os
roteadores vizinhos, sendo utilizados mecanismos como split horizon, para evitar loops de
roteamento, que consiste em não enviar para o roteador vizinho rotas aprendidas a partir
dele mesmo. As tabelas de roteamento são construídas a partir de troca de mensagens.
Inicialmente, o roteador só conhece as redes conectadas diretamente a ele. Tendo sido feita
a transmissão dessas informações e das rotas aprendidas pelos outros vizinhos, as tabelas
de roteamento dos roteadores chegarão a um estado consistente em um processo de
convergência. São utilizadas métricas para identificar os melhores caminhos, por exemplo,
o número de saltos na rede.
Exemplos de protocolos de roteamento que utilizam o algoritmo de vetor distância: RIP
(Routing Information Protocol), RIPv2 e IGRP (Internal Gateway Routing Protocol) da Cisco.
Protocolos ICMP:
O protocolo ICMP (Internet Control Message Protocol) é um protocolo da camada de rede
utilizado para relatar eventos inesperados ao transmissor relacionado ao processamento de
pacotes pelo roteador ou equipamento interligado na rede. As mensagens ICMP podem ser
divididas em duas categorias: mensagens de relatório de erro e mensagens de consulta.
As mensagens de relatório de erro são utilizadas para relatar erros que podem ocorrer no
processamento de datagramas IP. Já as mensagens de consulta são utilizadas para testar
ou verificar a disponibilidade de estações e roteadores na Internet. Na Figura 3.20, a seguir,
temos o formato do cabeçalho das mensagens ICMP:
O campo tipo de mensagem identifica a mensagem ICMP, enquanto o campo código
representa a razão particular para o tipo de mensagem. Segundo Tanenbaum e Wetherall
(2011), são definidos 12 tipos de mensagens ICMP, e cada uma é transportada de forma
encapsulada em um pacote IP. Na Tabela 3.5, a seguir, temos os principais tipos de
mensagem ICMP:
Alguns exemplos de aplicações que utilizam os mecanismos de mensagem de consulta do
protocolo ICMP são o ping e traceroute. O ping é utilizado para checar se uma estação está
ativa com base no seu endereço IP através de solicitações e respostas de eco. Na Figura
3.21, a seguir, temos um exemplo de execução do comando ping:
Na resposta do comando ping, são devolvidos o endereço IP da máquina que responde ao
eco, o número de saltos TTL e o tempo de ida e volta. Já o comando traceroute é utilizado
para rastrear o caminho de um pacote da origem até o seu destino. A seguir, temos um
exemplo de retorno do traceroute:
Vemos na resposta apresentada quatro saltos na rede para atingir o destino. Por meio
desse comando traceroute, é possível identificar o enlace na rede que pode estar
apresentando problemas quando o pacote não atinge seu destino.
Tendo visto os principais aspectos dos protocolos na camada de rede, podemos ir para o
próximo tópico relacionado às camadas mais baixas: física e enlace.
Vamos Praticar:
O endereço IPv4 é ainda muito utilizado nas redes, apesar do crescimento da adoção do
protocolo IPv6. Com 32 bits, o endereço IPv4 é dividido em duas partes: rede e host. Na
parte de host, nem todos os endereços possíveis podem ser alocados, pois dois deles são
especiais para outros propósitos.
Com base nesse contexto do IPv4, assinalea alternativa que apresenta o endereço
especial na rede em que todos os bits de host estão com valor “1”:
a) Endereço de rede.
b) Endereço físico.
c) Endereço de servidor.
d) Endereço de broadcast.
e) Endereço de multicast.
Resposta:
Link para o print da resposta correta: <https://imgur.com/s1jYFfd>
https://imgur.com/s1jYFfd
Tópico 5 -
Protocolos na Camada de Enlace/Física:
Após a aplicação fazer uso da camada de transporte para criar uma comunicação entre
máquinas através de serviços orientados ou não à conexão e, posteriormente, utilizar a
camada de rede para criar o endereçamento lógico para o encaminhamento ao longo da
rede, chega a vez da camada de enlace e física, que, no modelo TCP/IP, é conhecida como
acesso ao meio.
Segundo Loureiro et al., no nível de enlace temos a coordenação da comunicação realizada
no nível físico da rede, controlando o acesso e identificando problemas durante a
transmissão dos sinais que representam os dados entre dois equipamentos conectados
diretamente. Durante o processo de transmissão de dados, o enlace recebe os datagramas
IP (pacotes) da camada de rede e os organiza em formato de quadros (frames),
preparando-os para a transmissão no meio físico.
Os quadros são organizados de tal forma que no fluxo de bits possam ser identificados pelo
lado receptor, sendo o mais comum a adoção de inserção de bytes de flags que delimitam o
início e fim de um quadro. Também são inseridos nos quadros mecanismos para a detecção
e correção de erros, com o uso de códigos de detecção de erros, como paridade,
checksums e verificações de redundância cíclica (CRC) e códigos de correção de erros,
tendo como exemplos os códigos de Hamming, códigos de convolução binários, código de
Reed Solomon e códigos de verificação de paridade de baixa densidade.
Um enlace é formado pelo compartilhamento do meio físico entre duas interfaces (placa) de
rede. Para que haja comunicação através desse enlace, é necessário que os mesmos
protocolos de nível de enlace e físico sejam utilizados. Devido à arquitetura em camadas, é
possível selecionar o nível de enlace e físico mais apropriado para compor a infraestrutura
da rede, como a adoção de enlaces de fibras ópticas para a conexão física entre dois
equipamentos ou o uso de enlaces via radiofrequência para dispositivos móveis em redes
sem fio.
Tipos de Acesso ao Meio Físico:
Tendo em vista a possibilidade de duas estações na rede transmitirem simultaneamente no
mesmo meio físico compartilhado, podem ocorrer as chamadas colisões. Para tanto, é
importante que o nível de enlace faça um controle sobre o acesso ao meio físico, para evitar
interferências mútuas nos sinais transmitidos.
As redes de acesso ao meio ordenado promovem um controle sobre o momento que
determinada estação passa a ter o privilégio de transmissão, ou seja, cada estação tem um
momento específico para transmitir um quadro de enlace. Para esse tipo de acesso, existe
um tempo máximo que uma estação deve aguardar para transmitir, conhecido como retardo
máximo conhecido.
Alguns exemplos de redes com acesso ao meio ordenado:
● Redes token bus: redes que utilizam um quadro especial denominado token,
estabelecendo uma ordem de acesso em uma topologia de rede em barramento.
Uma das estações cria o token e o transmite para a próxima estação na fila. Ao
receber o token, essa estação pode transmitir um quadro de dados. O token, ao
chegar à última estação da fila, repassa para a primeira.
● Redes token ring: atuam de forma similar a rede token bus, porém em uma topologia
de rede em anel. Nessa rede, a estação que recebe um token livre e possui um
quadro de dados para transmissão envia um token ocupado e esse quadro. Após o
envio do quadro, é criado um novo token livre para o anel.
● Redes FDDI (Fiber Distributed Data Interface): estão estruturadas em anéis duplos,
utilizando o processo de acesso ao meio similar à rede token bus, em que é criada
uma fila e passagem de bastão entre as estações. Esse tipo de rede é muito
utilizado em backbones de comunicação.
● Redes bluetooth: utilizadas para redes pessoais sem fio, a transmissão é realizada
com um subcanal por apenas um slot de tempo e salta entre subcanais de forma
pseudo aleatória. A coordenação dos saltos é feita por meio de uma estação master.
Outro tipo de acesso é o realizado pelas redes de acesso ao meio compartilhado, em que
não há uma ordem específica para a transmissão. Nesse tipo de acesso, podem ocorrer
colisões, e o meio de enlace deve detectar e corrigir essa situação por meio de
retransmissões. A vantagem está no fato de não ser necessária a estação aguardar um
token para poder transmitir. Uma técnica utilizada para o acesso ao meio compartilhado é o
CSMA (Carrier Sense Multiple Access), no qual a estação identifica se há alguma
transmissão em andamento antes de transmitir.
O algoritmo CSMA 1-persistent indica que a estação que detectou uma transmissão
permanece escutando o meio até que fique livre. Na Figura 3.24, a seguir, temos que a
estação C fica no aguardo do término da transmissão que está em andamento pela estação
A, para transmitir assim que o meio estiver livre. Porém, no caso de duas estações
transmitirem simultaneamente, uma colisão ainda pode ocorrer.
Outra alternativa de acesso ao meio compartilhado é o CSMA p-persistent, em que a
estação, ao perceber que o meio está livre, realiza um cálculo probabilístico (probabilidade
p) para decidir se transmite ou não. Se o resultado do cálculo indicar que não deve
transmitir, a estação aguarda um tempo predefinido para tentar a transmissão novamente.
Como exemplos de redes que utilizam o acesso ao meio compartilhado, temos:
● Redes Ethernet: padronizadas no documento IEEE 802.3, são as redes locais mais
utilizadas atualmente. Utilizam o protocolo CSMA/CD (Carrier Sense Multiple
Access/Collision Detection), com 1-persistent.
● Redes Wi-Fi: redes locais sem fio padronizadas pelo documento IEEE 802.11.
Foram definidas com base no padrão Ethernet, utilizando o protocolo CSMA/CA
(Carrier Sense Multiple Access/Collision Avoidance) com p-persistent.
No próximo subtópico, falaremos sobre o padrão Ethernet, o mais utilizado nas redes locais
atualmente.
Ethernet:
O padrão Ethernet, definido no documento IEEE 802.3, é aplicado nas redes locais com
cabos. Para a interconexão dos computadores nessa rede, eram utilizados equipamentos
concentradores, conhecidos como hubs, que foram substituídos pelos equipamentos
switches. Os switches realizam a comutação de quadros entre os enlaces que estão neles
conectados e podem operar nos modos full duplex e half duplex.
As redes Ethernet oferecem um serviço não orientado à conexão e não apresentam
mensagens de erro. O quadro Ethernet suporta no mínimo 46 bytes e no máximo 1500
bytes, vindos da camada de rede. Incluindo o cabeçalho, o quadro Ethernet pode ter o
tamanho de 64 bytes até 1518 bytes. O formato deste quadro está apresentado na Figura
3.25, a seguir:
O preâmbulo permite sincronizar o emissor e o receptor no nível de enlace. SFD (Start
Frame Delimiter) delimita o início de um quadro. O campo de destino refere-se ao endereço
físico da estação de destino, enquanto o endereço de origem refere-se ao endereço físico
da estação de origem. O tipo indica o protocolo no nível de rede que está sendo
transportado pelo quadro (ex.: IP). A seguir, temos o campo de dados e o campo CRC, esse
último para a detecção de erros.
Endereços Físicos:
Nas redes Ethernet, os endereços utilizados são conhecidos como endereços MAC (Media
Access Control) e são os endereços físicos atribuídos às placas de interface de rede (NIC –
Network Interface Card). São endereços únicos e exclusivos globalmente, sendo
representados por octetos hexadecimais separados por dois pontos ou traço simples.
Exemplo: 08:00:27:7D:A1:85.
A primeira parte do endereço MAC (3 bytes) representa a identificação do fabricante de
hardware. A segunda parte identifica a interface propriamente dita, sendo controlada pelo
fabricante de hardware.
Existem três tipos de endereçosEthernet:
● Unicast: identifica uma interface de rede (oitavo bit é sempre igual a zero).
● Multicast: identifica várias interfaces de rede (oitavo bit é sempre igual a um)
● Broadcast: identifica todas as interfaces da rede (todos os bits estão em um). O
endereço de broadcast é FF:FF:FF:FF:FF:FF.
Os equipamentos switches associam-se a cada porta que tem um equipamento conectado o
seu endereço físico. Para realizar a consulta da relação entre os endereços físicos (MAC) e
endereços lógicos (IP), é utilizado o protocolo ARP (Address Resolution Protocol). Nesse
protocolo, é enviada uma mensagem em broadcast solicitando o endereço MAC relacionado
a um endereço IP.
CSMA/CD:
As redes Ethernet utilizam o protocolo CSMA/CD (Carrier Sense Multiple Access/Collision
Detection) para realizar o controle de acesso ao meio.
Nesse protocolo, antes de uma estação transmitir, ela escuta a rede para verificar se há
alguma transmissão em andamento (carrier sense). Se o canal estiver livre, é feita a
transmissão, do contrário, é aguardado. É possível que, mesmo que o meio esteja livre,
duas estações decidam transmitir simultaneamente, podendo ocasionar uma colisão.
Quando ocorre a colisão, as estações escolhem um tempo aleatório para tentar uma nova
transmissão. Esse tempo de espera aleatório é calculado pelo algoritmo de backoff, que
determina o momento em que a estação poderá tentar enviar suas mensagens novamente,
sendo que, após 10 tentativas, o quadro é descartado.
Nomenclatura Ethernet no Nível Físico:
O Ethernet apresenta alguns padrões relacionados à largura de banda, significativa no nível
físico. Esses padrões estão representados na Tabela 3.6, a seguir:
O padrão de 10 Mbps é conhecido por Ethernet. Já os padrões 100 Mbps são denominados
Fast Ethernet e 1 Gbps é tratado como Gigabit Ethernet.
No próximo subtópico, trataremos do padrão Wi-Fi, utilizado para as redes sem fio, e que
teve como base o padrão Ethernet.
Wi-FI:
As redes Wi-Fi são redes sem fio cuja terminologia vem do inglês wireless (sem fio) e fidelity
(fidelidade), tendo a interoperabilidade de equipamentos controlada pela Wi-FI Alliance. O
padrão utilizado para as redes sem fio é a IEEE 802.11.
O controle de acesso ao meio realizado pelas redes Wi-Fi é o CSMA/CA (Carrier Sense
Multiple Access/Collision Avoidance). Os passos desse protocolo são:
1. Após verificar que o canal está livre, a estação aguarda um tempo denominado DIFS
(DCF Interframe Space).
2. Se o meio continua livre após esse tempo, é escolhida uma janela de contenção
baseada em fatias de tempo, similar ao algoritmo de backoff das redes Ethernet.
3. A cada fatia da janela de contenção, o meio é testado. Se estiver ocupado, o tempo
é congelado, caso contrário a fatia é diminuída.
4. Após o término da janela de contenção, a estação envia um pedido de transmissão
RTS (Request To Send).
5. Ao receber a mensagem RTS, a estação destino aguarda um intervalo de tempo
SIFS (Short Interframe Space) e envia uma confirmação para a origem CTS (Clear
To Send).
6. Após também aguardar o intervalo de tempo SIFS, a estação de origem envia os
dados para a estação destino.
7. Após um tempo SIFS, a estação destino envia uma confirmação para o recebimento
correto dos dados através da mensagem ACK.
Na Figura 3.26, a seguir, temos uma representação da troca de mensagens e temporização
utilizadas no CSMA/CA:
Outro método para controle de acesso ao meio, porém pouco utilizado, é o PCF, em que o
AP (Access Point) utiliza um processo de varredura para identificar as estações que estão
aguardando para transmitir.
O formato do quadro IEEE 802.11 utilizado para a troca de informações via redes sem fio
está apresentado na Figura 3.27, a seguir:
Nesse quadro, temos delimitadores e detecção de erros, como no quadro Ethernet, além
dos endereços utilizados. Esses endereços também utilizam o mesmo padrão do Ethernet,
ou seja, são os endereços MAC (endereço físico) das placas de interface de rede sem fio.
VLAN:
Os switches, que realizam a comutação no nível de enlace, podem apresentar uma
funcionalidade que pode ser muito útil para o gerenciamento de redes, a VLAN (Virtual
Local Area Network). Segundo Loureiro et al. (2014), o recurso da VLAN permite que o
switch tenha diferentes redes lógicas que não se conectam entre si dentro do mesmo
equipamento. Na Figura 3.28, a seguir, temos um switch com a configuração de duas redes
VLAN, uma destinada ao departamento de RH e outra para o departamento de produção.
Para essa funcionalidade, é preciso definir uma marca (tag) para a VLAN para as portas às
quais as máquinas que farão parte dessa rede lógica estão conectadas. É possível
configurar VLANs em portas de diferentes switches, como mostrado na Figura 3.29. Nesse
caso, é necessário o uso do modo VLAN trunk nas interfaces entre os switches.
O uso de VLAN traz uma flexibilidade muito grande para uma melhor administração da rede,
principalmente quando seja interessante dividir a rede local em diferentes redes lógicas.
No próximo subtópico, falaremos sobre alguns aspectos do nível físico de comunicação.
Codificação e Sinalização no Nível Físico:
No nível físico de transmissão, é importante que o lado transmissor esteja alinhado com o
lado receptor de uma comunicação de dados, de forma a gerar e interpretar corretamente
os bits enviados pelo meio. Em função disso, diferentes mecanismos de codificação podem
ser utilizados para sinalizar a representação dos níveis lógicos “0” e “1” realizados em uma
transmissão digital. Três grupos se destacam: codificação polar, codificação bipolar e
codificação multinível.
Codificação Polar:
Na codificação polar, o sinal elétrico oscila entre um valor positivo e negativo. Podemos ter
a codificação NRZ-L, em que valores positivos representam o bit “0” e valores negativos o
bit “1”. Na codificação NRZ-I, são detectadas as inversões de polaridade, que representam
o bit “1” e as não inversões para o bit “0”. Essas codificações estão representadas na Figura
3.30, a seguir:
Um problema nesse tipo de codificação é a constância da potência do sinal, que pode
prejudicar o alinhamento entre transmissor e receptor. Na codificação RZ, podemos
contornar esse problema, com o sinal mudando durante a transmissão do bit e não entre
cada um. Isso está refletido na Figura 3.31.
Outro tipo de codificação polar é o Manchester e o Manchester diferencial. No Manchester,
os bits são definidos pela transição do sinal, enquanto no Manchester diferencial a transição
é feita no início do sinal apenas para o bit “0”.
Além da codificação polar, podemos ter mais polaridades que podem ser utilizadas, como
na codificação bipolar.
Codificação Bipolar:
Na codificação bipolar, são utilizados três níveis de polaridade (tensão): positivo, negativo e
zero. Nesse caso, teremos o valor de um bit na tensão zero e outro bit nos outros dois
níveis de tensão. Um dos exemplos é a codificação AMI, retratada na Figura 3.33, a seguir:
Nessa codificação, o bit “0” é representado pelo nível zero, enquanto o bit “1” é sinalizado
pelas outras polaridades negativa e positiva de forma alternada. No modo pseudoternário, o
bit “1” é representado pelo nível 0 de sinal, enquanto o bit “0” é representado pela
sinalização das outras polaridades (negativa e positiva), de forma alternada.
Codificação Multinível:
A codificação multinível apresenta mais bits para a mesma sinalização. Um exemplo é a
codificação 2B1Q, conforme mostrado na Figura 3.34, a seguir:
Nessa codificação, temos a representação de dois bits para um nível de sinal. Assim,
dependendo do nível, dois bits devem ser reconhecidos no lado receptor.
É possível também o uso de sinalização analógica para uma transmissão digital.
Nesse caso, é utilizado o processo de modulação, em que dois tipos de sinais são
“misturados”. Alguns exemplos de sinalização analógica estão apresentados no Quadro 3.4,
a seguir:
Para o nível de transmissão, devem ser consideradas as taxas de transmissão (bps), tendo
em vista que transmissor e receptor devem estar alinhados.Logo, a mesma taxa deve ser
utilizada em ambos os lados, além da mesma forma de sinalização e codificação no meio
físico.
Vamos Praticar:
O Ethernet é o padrão mais utilizado para redes locais, atuando principalmente na camada
de acesso ao meio. Apresenta um padrão de formato de quadros utilizado na camada de
enlace, em que endereços são utilizados para enviar os quadros.
Assinale a alternativa correta que apresenta o endereço utilizado no quadro Ethernet na
camada de enlace:
a) Endereço de socket.
b) URL.
c) Endereço IP.
d) Endereço MAC.
e) Endereço lógico.
Resposta:
Link para o print da resposta correta: <https://imgur.com/IsYt0tO>
Tópico 6 -
Material Complementar:
LIVRO:
Redes de computadores – Uma abordagem top-down
Editora: Bookman
Autor: Behrouz A. Forouzan e Firouz Mosharraf
ISBN: 978-85-8055-169-3
Comentário: Os capítulos 2, 3, 4 e 5 dessa obra apresentam de uma forma didática os
assuntos abordados nesta unidade, complementando os conceitos apresentados. Possui
uma estrutura de tópicos bastante interessante, fazendo uma ligação do conteúdo com os
temas voltados para a maior rede de computadores, a Internet.
FILME:
Internet – Redes de computadores -
Ano: 2012
Comentário: Esse vídeo apresenta em um formato animado como os pacotes de dados são
gerados e transmitidos pela rede Internet, através de roteadores e em redes locais nos
switches. Também apresenta alguns conceitos como proxy, firewall, largura de banda,
meios de transmissão, servidores web e portas de comunicação, complementando os
conceitos vistos nesta unidade.
Link trailer: <https://www.youtube.com/watch?v=Iqcp3k8DgGw>
https://imgur.com/IsYt0tO
https://www.youtube.com/watch?v=Iqcp3k8DgGw
Tópico 7 -
Conclusão:
Neste tópico, foram abordados os principais protocolos e particularidades utilizados nas
redes de comunicação de dados. Na camada de aplicação, protocolos são utilizados para
suportar as aplicações em sistemas computacionais para comunicação em rede. Essas
fazem uso dos serviços de protocolos de transporte, nos quais são utilizadas portas para
comunicação das aplicações.
Os protocolos de transporte recorrem à camada de rede para que os dados sejam enviados
através de pacotes com endereços lógicos conhecidos pela rede, a fim de alcançar seu
destino. E, para assegurar a correta transmissão pelo meio físico, os dados de pacotes de
dados são preparados pelas camadas de enlace e física.

Continue navegando