Você está na página 1de 116

COLÉGIO TÉCNICO DE FLORIANO

REDES DE COMPUTADORES
Prof. Geraldo Sarmento

RESUMO DAS AULAS


ÍNDICE
1 CONCEITOS BÁSICOS..............................................................................................................3
2 CAMADA DE FÍSICA.................................................................................................................17
3 CAMADA DE ENLACE DE DADOS..........................................................................................35
4 CAMADA DE REDE...................................................................................................................63
5 CAMADA DE TRANSPORTE....................................................................................................84
6 CAMADA DE APLICAÇÃO......................................................................................................103
BIBLIOGRAFIA...........................................................................................................................116

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 2


1 CONCEITOS BÁSICOS
1.1 Introdução
Atualmente, existe uma interconexão entre dispositivos espalhados pelo mundo que
permite a comunicação entre os indivíduos, quer seja quando eles navegam pela Internet ou
assiste televisão. Diariamente, é necessário utilizar recursos como impressoras para imprimir
documentos, reuniões através de videoconferência, trocar e-mails, acessar às redes sociais ou
se entreter por meio de jogos RPG, etc.
Hoje, não é preciso estar em casa para enviar e-mails, basta ter um tablet ou
smartphone com acesso à Internet. Apesar de tantas vantagens, o crescimento das redes de
computadores também tem seu lado negativo. A cada dia surgem problemas que prejudicam as
relações entre os indivíduos, como pirataria, espionagem, roubos de identidade (phishing),
assuntos polêmicos como racismo, sexo, pornografia, sendo destacados com mais ênfase,
entre outros problemas.
Em poucas palavras, uma rede é um conjunto de equipamentos que podem se
comunicar e trocar informações. O maior exemplo é a própria Internet, que tem milhões de
computadores conectados ao redor do mundo.
Mas, de uma maneira mais específica e técnica, define-se uma rede de computadores
como um conjunto de dispositivos autônomos interligados por um sistema de comunicação
visando a troca de informações ou o compartilhamento de recursos. Compreende-se
dispositivos autônomos em um sentido mais amplo, como: desktops, laptops, tablets,
smartphones, smart TVs, roteadores, switches, etc.
A evolução das tecnologias de comunicação ao longo dos últimos anos e a necessidade
cada vez crescente de eficiência e velocidade nas trocas de informações tem feito as redes de
computadores cada vez mais imprescindíveis em diversas áreas e para as mais diversas
finalidades, como:
• Acesso rápido a informações remotas (em servidores de armazenamento, e-mail);
• Alta confiabilidade por meio de replicação de fontes de dados (computação na nuvem);
• Entretenimento interativo (mídias sociais, stream sob demanda [YouTube, Netflix, etc.]);
• Transações eletrônicas (e-commerce, e-banking, etc.);
• Comunicação eficiente (mensageiros instantâneos);
• Economia (devido ao compartilhamento de informações em tempo real, por exemplo);
• Internet das Coisas (área emergente em que diversos objetos do cotidiano são
interconectados para coletar dados e executar as mais diversas tarefas, de modo
transparente ao usuário).
Os dispositivos integrantes de uma rede de computadores, que roteiam e terminam os
dados, são denominados de “nós de rede" (ponto de conexão), que podem incluir hosts, como:
computadores pessoais, telefones, servidores, e também hardware de rede. Dois desses
dispositivos podem ser ditos em rede quando um dispositivo é capaz de trocar informações
com o outro dispositivo, quer eles tenham ou não uma conexão direta entre si.
Os exemplo mais comuns de redes de computadores, são: Internet; Intranet de uma
empresa; rede local doméstica; entre outras.
Nesta unidade, uma série de conceitos serão apresentados de modo a familiarizar o
leitor com a terminologia da área, que será abordada de forma recorrente nas unidades
seguintes. Os temas componentes da comunicação, modelos de comunicação, métodos de
transmissão, escalas de rede, evolução das redes, topologias, software de rede, entre outros,
serão discutidos nas próximas seções.

1.2 Componentes da comunicação


A comunicação de dados corresponde à troca de informações entre dois dispositivos
através de algum meio de comunicação, por exemplo via cabo. A eficiência de um sistema de
comunicação de dados depende de fatores como entrega de dados ao destino correto,
confiabilidade (integra de dados íntegros) e tempo de atraso.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 3


Para nos aprofundar nos demais conceitos de redes de computadores, é imprescindível
conhecer os elementos que compõe uma comunicação básica, conforme ilustra a Figura 1.

Figura 1: Componentes da comunicação de dados

São componentes da comunicação:


• Mensagem: dados a serem transmitidos;
• Meio (de transmissão): caminho físico pelo qual a mensagem trafega;
◦ Exemplos: cabo par trançado, fibra óptica, ondas de rádio, etc.
• Emissor: podem ser os hosts (hospedeiros) → sistemas finais;
• Receptor: idem que Emissor, mas representa o outro polo de determinada transmissão;
• Protocolo: conjunto de regras acordadas entre as partes (emissor e receptor) para
controlar a comunicação dos dados;

A eficácia de um sistema de comunicações de dados depende de quatro características


fundamentais: entrega, precisão, sincronização e jitter (variação no tempo de chegada dos
pacotes).

1.3 Modelos de Comunicação e Métodos de Transmissão

1.3.1 Modelos ou Arquiteturas de Comunicação


No modelo cliente-servidor, ilustrado na Figura 2 o host servidor é aquele que tem
uma aplicação que fornece um determinado serviço ao passo que os hosts clientes têm
aplicações que consomem/utilizam este serviço. Uma característica desta arquitetura, é que um
cliente não se comunica com outro cliente, e o servidor, que tem um endereço fixo, esta sempre
em funcionamento. Quase sempre um único servidor é incapaz de suportar as requisições de
todos os clientes, devido a isso, na maioria dos casos são utilizados vários servidores que
constituem um servidor virtual (server farm).
Um exemplo claro de aplicação cliente-servidor é a comunicação entre um browser, que
é usado para visualizar páginas da Internet, em um servidor Web. Neste tipo de aplicação o
cliente (browser) e o servidor (servidor Web) comunicam-se trocando mensagens através do
protocolo HTTP (que conheceremos mais adiante em nosso curso).
O outro modelo, o P2P (de peer-to-peer), ilustrado na Figura 3, consiste em uma
comunicação direta entre os clientes, não existindo distinção fixa entre os papéis cliente e
servidor. Cada par (peer) ativo requisita e fornece dados a rede. Assim, não existe a
dependência do servidor, aumentando significativamente a largura de banda potencial para a
transmissão. Esse tipo de arquitetura é utilizado principalmente por aplicações de
compartilhamento de conteúdo, como arquivos contendo áudio, vídeo, dados ou qualquer coisa
em formato digital.
Outras aplicações orientadas a comunicações de dados, como a telefonia digital,
videotelefonia e rádio pela Internet também utilizam esse. Como exemplo podemos citar o
protocolo BitTorrent que utiliza a arquitetura peer-to-peer para compartilhamento de grandes
quantidades de dados. Neste exemplo um cliente é capaz de preparar e transmitir qualquer tipo
de arquivo de dados através de uma rede, utilizando o protocolo BitTorrent.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 4


Figura 2: Modelo cliente-servidor
(Fonte: Tanenbaum, 2011)
Figura 3: Modelo peer-to-peer (P2P)
(Fonte: Tanenbaum, 2011)

1.3.2 Métodos de Transmissão


De acordo com os pares envolvidos em uma transmissão, podemos ter os seguintes
métodos:
• Unicast (ponto-a-ponto): através dele, mensagens são trocadas entre pares
individuais de máquinas.
• Broadcast (difusão): através desse método, mensagens enviadas de uma máquina
são recebidas por todas as outras máquinas da rede;
• Multicast: utilizando esse método, mensagens enviadas de uma máquina são
recebidas por um grupo de máquinas da rede. Pode ser compreendido como uma
especialização do broadcast.

1.4 Escalas de Redes


Os meios de interconexão (ou meio físico) variam desde cabos de cobre, fibras ópticas,
rotas de microondas, radiodifusão, etc. Atualmente, os cabos de cobre (pares trançados) são
os mais empregados em distâncias não superiores a 100 m. Acima desta distância, a fibra
óptica é mais eficaz. Os meios de interconexão limitam tanto a taxa de transmissão de
informação quanto a extensão geográfica da rede, o que denominamos também de escala de
redes. Essas se classificam principalmente em:
• Redes Locais (LAN: Local Area Network): interconectam computadores localizados
em uma mesma sala ou edifício (ambientes com raio não superior a 100 m). Utilizam
tipicamente cabeamento par trançado metálico ou ondas eletromagnéticas de baixa
potência como meio físico de transmissão.
• Redes de Campus (CAN: Campus Area Network): interconectam computadores no
nível de um campus (fábrica, universidade, etc.) em extensões não superiores a 10 Km.
São compostas tipicamente por várias LANs interligadas por uma rede de alto
desempenho (backbone) baseada em fibra óptica ou ondas eletromagnéticas de média
potência como meio físico de transmissão.
• Redes Metropolitanas (MAN: Metropolitan Area Network): interconectam hosts e
LANs em um nível regional (5 - 100 Km), usualmente empregando uma ou mais redes
de alto desempenho interconectadas. Tipicamente são constituídas de LANs ligadas a
vários backbones utilizando como meios de transmissão fibra óptica ou ondas
eletromagnéticas de alta potência. Um exemplo dessa escala pode ser a rede de
provedores que abastecem cidades próximas ou regiões metropolitanas.
• Redes de Longa Distância (WAN: Wide Area Network): interconectam hosts em nível
nacional, continental, ou até mundial (como a Internet). Os meios de transmissão
utilizados são tipicamente os links de satélite e cabos submarinos.

Ainda é possível encontra outros tipos 1 como a PAN (Personal Area Network) e RAN
1 Tecnicamente as SAN (Storage Area Network) não são consideradas uma escala de rede, mas uma espécie de infraestrutura
especializada tendo como objetivo a ligação entre vários computadores e dispositivos de storage (armazenamento) em uma
área limitada, utilizando geralmente tecnologias de transmissão como Fiber Channel.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 5


(Regional Area Network). Além disso, a literatura vem convencionando uma classificação de
escalas de rede sem fio (wireless), como em WLAN (Wireless LAN), uma rede local
interconectada somente por meios de transmissão sem fio, como access points.

Figura 4: Modelo de representação de uma WMAN (Wireless MAN)

1.5 Estrutura da Internet


Inicialmente deve-se conceitualizar Internet e diferenciá-las de outras duas espécies de
redes com grafia semelhante:
• Internet: a chamada rede mundial de computadores. Ela interconecta milhões de
dispositivos de computação ao redor do mundo. Seu funcionamento é baseado na
denominada pilha de protocolos TCP/IP.
◦ Essa rede dispõe de uma série de serviços (e respectivos protocolos) padronizados
que serão detalhados ao longo da disciplina, por exemplo: navegação Web
(protocolo HTTP), e-mail (SMTP, POP, IMAP), envio de arquivos (FTP), streaming de
mídia (RTSP, RTMP, HLS), monitoramento (SNMP), etc.
• Intranet: rede interna, fechada e exclusiva a uma empresa. Ela disponibiliza um
conjunto de serviços análogos à Internet, mas com acesso exclusivo aos funcionários da
organização e muitas vezes liberado somente no ambiente de trabalho e em
computadores registrados nessa rede.
▪ Essas organizações precisam dessa rede para manter os seus serviços internos
exclusivos, como os seus portais corporativos, sistemas de controle e outros
recursos on-line.
▪ Apesar da restrição de acesso (de tráfego originado de fora pra dentro), é comum
os computadores dessa rede terem acesso à Internet e os seus serviços (pois
esse caso se trata de um tráfego que se origina de dentro pra fora).
• Extranet: corresponde à uma extensão da Intranet a computadores que estejam fora
dos domínios físicos dessa. Essa solução é útil para parceiros, clientes, fornecedores, e
até mesmo funcionários da organização precisem acessar alguns serviços da intranet,
mesmo estando fora da organização.

Do exposto, é importante compreender que, por se tratar de uma grande rede, a Internet
possui muita heterogeneidade de arquiteturas, componentes, sub-redes, etc. Desse modo,
torna-se mais didático analisar suas características através de uma perspectiva em níveis
(Figura 5), são eles:
• Periferia (ou borda): compreende computadores e outros dispositivos conectados à
Internet; frequentemente chamados de sistemas finais (hospedeiros ou hosts), pois se
encontram na extremidade (no fim) dessa macroestrutura. Tais dispositivos incluem:
◦ Computadores de mesa, notebooks, smartphones, tablets, smartwatchs e demais
smart devices;
◦ Servidores de rede;

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 6


◦ Sensores (e demais objetos utilizados em Internet das Coisas).
• Rede de acesso: compreende a rede física que conecta um sistema final ao primeiro
roteador (chamado de roteador de borda) de um caminho formado entre sistemas finais.
◦ Nesse nível, encontram-se as tecnologias de acesso à Internet:
▪ Linha Digital do Assinante (DSL), utilizada na descontinuada Oi Velox;
▪ Fiber to the Home (FTTH): tecnologia que domina o mercado atualmente;
▪ Rede híbrida fibra-coaxial (HFC) : muito comum nos EUA;
▪ Internet via rádio: alternativa para locais onde a fibra não é/era acessível;
▪ 3G/4G/5G/… : tecnologias de redes móveis de dados para celular.
◦ O acesso à essa rede se dá através de um provedor ou ISP (Internet Service
Provider). ISPs de nível mais baixo (regional e acesso) são interconectados por meio
de ISPs de nível mais alto.
▪ Para montar uma rede que se assemelhe mais à Internet de hoje, deve-se ainda incluir
outros importantes papéis à essa hierarquia de ISPs, como: pontos de presença (PoPs -
Points of Presence), rede de distribuição de conteúdo (CDNs - Content Delivery
Network), emparelhamento e pontos de troca da Internet (IXPs - Internet eXchange
Points).
• Núcleo: formado pela malha de roteadores, responsáveis por interligar as redes entre si,
formando as ligações inter-redes, ou Internet. No núcleo da rede as informações
trafegam na forma de pacotes de dados, chamados de pacotes. Em cada roteador, os
pacotes que chegam nos enlaces de entrada são armazenados e encaminhados (store-
and-forward) aos enlaces de saída, seguindo de roteador em roteador até seu destino.
◦ O protocolo IP auxilia no estabelecimento e gerenciamento da rota pela qual seguirá
cada datagrama na malha de roteadores da Internet. Esta rota é construída tendo
como base o endereço de destino de cada pacote, conhecido como endereço IP.

Figura 5: Modelo hierárquico da Internet em três níveis

Além da comutação de pacotes, existem outras formas de comutação usadas em outras


redes, como é o caso das redes tradicionais de telefonia fixa (PSTN - Public Switched
Telephone Network), que usam a comutação de circuitos.

1.5.1 Comutação de circuitos


Foi por muito tempo a forma de comutação utilizada no sistema telefônico. Quando dois
usuários desejavam se comunicar a rede estabelecia um circuito dedicado fim-a-fim entre os
dois aparelhos telefônicos. Desse modo, o circuito estabelecido ficava reservado durante toda a

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 7


duração da conversação, o que necessita de uma forte conexão mantida entre os comutadores
existentes no caminho entre os sistemas finais.
A comutação de circuitos, entretanto, é ineficiente para ser aplicada nas redes de
computadores devido as características do tráfego nestas redes, o qual é caracterizado por um
fluxo esporádico de dados, com curtos intervalos de atividade espaçados no tempo, diferente
do fluxo contínuo do tráfego telefônico.

1.5.2 Comutação de pacotes


Nessa categoria não há reserva de recursos, o que acontece com o modelo de
comunicação tradicionalmente usado na Internet. Assim, os recursos são obtidos por demanda,
consequentemente podendo ocasionar filas de espera para acessos em determinados enlaces
(links da rede).
Esse paradigma caracteriza-se principalmente pela segmentação das mensagens
transmitidas em unidades chamadas de pacotes. Essas unidades da mensagem podem
inclusive seguir caminhos diferentes na rede e serem remontadas no sistema final destinatário.
Não há, portanto, o estabelecimento de circuito fim a fim entre os dois sistemas
terminais que desejam se comunicar. Por exemplo, quando um computador deseja enviar uma
informação a outro computador da rede, ele encapsula a informação em um pacotes de dados,
inclui em um cabeçalho o endereço do destinatário e envia pela rede. O pacote será então
encaminhado de roteador em roteador em função do endereço do destino. Na comutação de
pacotes não há reserva de recursos da rede, mas sim compartilhamento de recursos na forma
de uma multiplexação estatística.
Os defensores da comutação de pacotes argumentam que a comutação de circuitos é
ineficiente, pois reserva o circuito mesmo durante os períodos de silêncio na comunicação. Por
exemplo, durante uma conversa telefônica, os silêncios da conversação, ou as esperas para
chamar uma outra pessoa, não podem ser utilizados para outras conexões. Além disto, os
tempos necessários para o estabelecimento de circuitos fim-a-fim são grandes, além de ser
uma tarefa complicada e requerer esquemas complexos de sinalização ao longo de todo o
caminho da comunicação.
Por outro lado, os opositores da comutação de pacotes argumentam que a mesma não
seria apropriada para aplicações tempo real, como por exemplo conversas telefônicas, devido
os atrasos variáveis em filas de espera, difíceis de serem previstos. Todavia, com o
desenvolvimento de técnicas específicas e o aumento da velocidade dos enlaces, observa-se
uma tendência em direção à migração dos serviços telefônicos também para a tecnologia de
comutação de pacotes.

Figura 6: Representação de uma rede de comutação de circuitos (esq.) e pacotes (dir.)

Finalmente, uma variação da comutação de pacotes, é a comutação de mensagem. Por


meio dela, A mensagem por completo é enviada ao longo de uma rota da origem ao destino
(um salto por vez). Em cada salto (hop) , a mensagem é armazenada}e depois passada
adiante (mecanismo store-and-forward);

1.6 Evolução das Redes de Computadores


Para uma melhor compreensão, a evolução das redes de computadores pode ser
observada tomando como ponto de referências períodos de tempo relevantes.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 8


1.6.1 Período de 1960-1972
Na década de 1960 a comunicação em rede era feita pela rede telefônica na qual a voz
das pessoas era transmitida através de interligação de circuitos numa frequência constante
entre o destino e a origem. Foram desenvolvidos minicomputadores que tinham um bom
desempenho, no entanto, faltava uma forma de unir os mesmos.
A necessidade de dividir informações entre usuários diferentes e regiões se tornou
crescente. Com o objetivo de tornar a interligação de circuitos numa interligação de pacotes
iniciaram-se três pesquisas diferentes. O primeiro deles se deu em 1961 em que Leonard
Kleinrock utilizou a teoria conhecida como das filas nos laboratórios MIT.
Em meados de 1964, Paul Baran, no Rand Institute iniciou o seu estudo a respeito do da
interligação de pacotes para fazer a segurança das mensagens voz nas redes militares. Já na
Inglaterra Donald Davies e Roger Scantlebury trabalhavam em ideias a respeito da interligação
de pacotes no National Physical Laboratory.
Os três trabalhos unidos com o trabalho de Lawrence Roberts no MIT deram origem ao
projeto científico ARPA (Agência de Projetos de Pesquisa Avançada). No ano de 1967, Roberts,
publicou aquela que seria a Internet pioneira, a ARPAnet. Essa foi a primeira rede de
computadores através de interligação de pacotes. Esses primeiros comutadores foram
chamados de IMPs (Interface Message Processors).
No mesmo ano em que o homem pisou na Lua, 1969, instalaram pela primeira vez um
IMP na Universidade da Califórnia tendo três IMPs. Foi a primeira vez que um login distante
entre a Universidade da Califórnia e o Research Institute foi usado, porém, o sistema que tinha
apenas 4 nós caiu.
Em 1972 a ARPAnet possuía 15 nós, então Robert Kahn a apresentou na Conferência
Internacional de Computadores. O NCP (Network Control Protocol) entrou para a história como
o primeiro protocolo de controle dessa rede. Também foi nessa época que foi criado o pioneiro
programa de e-mail através do trabalho de Ray Tomlinson na BBN. A ARPAnet consistia em ser
uma rede limitada em que para se conectar era necessário estar ligado num dos seus IMPs.
Em meados da década de 1970 surgiram novas redes de comutação de pacotes dentre
as quais se destacam: ALOHAnet (Uma rede de micro-ondas que fazia a ligação das ilhas do
Havaí), TELENET (Rede de interligação de pacotes do tipo comercial da BBN com inspiração
na ARPAnet), TAYMNET e TRANSPAC (Redes de comutação de pacotes da França). Tais
iniciativas só mostram como o surgimento de paralelo de outras redes contribuiu para o
surgimento do que viria a ser a rede mundial de computadores.

1.6.2 Período de 1972-1980


As pequenas redes foram aparecendo cada vez mais e devido a isso Robert Metcalfe
apresentou os conceitos de uma rede local que se chamou ETHERNET e que depois deu
origem a LANs de curta distância. O trabalho de conexão das redes teve a supervisão da
DARPA (Agencia de Projetos de Pesquisa Avançada de Defesa dos EUA) nas figuras de Vinton
Cerf e Robert Kahn.
Foi criado então o protocolo TCP (Transmission Control Protocol) que tinha como
responsabilidade fazer a entrega em sequência dos pacotes. Para dividir o trabalho foi criado o
protocolo UDP que tinha como responsabilidade o controle do fluxo de voz dos pacotes.

1.6.3 Período de 1980 e 1990


Quando a década de 1970 chegou ao fim cerca de 200 computadores estavam
conectadas a ARPAnet. Isso devido as pesquisas e também ao fato de que a rede era usada
para a comunicação militar durante a Guerra Fria. Depois que o período da Guerra Fria passou
os militares não tinham mais interesse na ARPAnet e então a passaram para as universidades.
Os pesquisadores então transmitiram a comunicação para outras nações chegando a ter
100 mil máquinas na rede na década de 1980. Foi então que a rede passou a ser chamada de
Internet. Foi no dia 1° de janeiro de 1983 que o protocolo TCP/IP se tornou oficial e passou a
ser obrigatório em todos os computadores.
O ano de 1986 foi muito significativo para a Internet uma vez que foi nele que foi criado o

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 9


NSFNET o backbone primário que continha acesso aos demais centros de computadores além
do DNS (Domain Name System) que permitia fazer a transformação dos endereços para
palavras e letras já que são mais fáceis de memorizar.

1.6.4 Período de 1990 e 1996


A ARPAnet acabou nos anos 1990 e o controle de grande parte do tráfego de dados do
Departamento de Defesa dos EUA era feito pela Milnet e a Rede de Dados de Defesa. A
NSFNET ganhou o papel de backbone de conexão entre os Estados Unidos e as demais
nações, porém, perdeu seu espaço no mercado no ano de 1995 quando esse trabalho se
tornou de responsabilidade dos provedores de Internet.
O grande destaque da década de 1990 foi a World Wide Web que chegou em milhões
de casas e empresas de todo o planeta. A Internet passou a ser usada para fins empresariais,
financeiros, educacionais e até mesmo de lazer. A criação da Web foi de Tim Berners Lee entre
os anos de 1989 e 1991 no CERN (Centro Europeu para Física Nuclear).
Usando como base os trabalhos de Bush(realizado em 1940) e Ted Nelson (realizado
em 1960), Lee, e a sua equipe criaram as primeiras versões de HTML, HTTP, um Browser e até
um servidor de Web.

1.6.5 A Internet no Brasil


Em 1990 o Brasil passou a fazer parte da rede de computadores através da criação da
RNP (Rede Nacional de Pesquisas). No ano de 1992 foi fundada a Internet Society e o país já
contava com 200 servidores de web em atuação. Nessa época o grande interesse do mercado
era desenvolver browsers com foco na interface gráfica. A Embratel nesse mesmo período
ofereceu acesso a rede das empresas e para usuários particulares.
O avanço da Internet depois do ano de 1996 é bastante claro, pois se não tivessem
acontecido tais avanços hoje você não estaria na Internet lendo esse artigo, não é mesmo?
1.7 Topologias
Quando falamos de topologia física, nos referimos à disposição física (layout) de enlaces
e dispositivos de uma conexão. Os principais tipos compreendem as topologias:

• Ponto a ponto: caracteriza-se pela conexão única e direta entre equipamentos. É uma
topologia simples e de baixo custo, mas tem uma escala limitada e pouco potencial de
compartilhamento de recursos;
• Barramento (barra ou linear): nessa topologia, todos os nós (hosts) se ligam ao mesmo
meio de transmissão: o barramento. Desse modo, cada nó pode “ouvir” todas as
mensagens transmitidas. É um modelo de fácil instalação e requer pouco investimento
em cabeamento. No entanto, qualquer ruptura no cabo é de difícil manutenção e
compromete todo o meio de transmissão. Além disso, o desempenho pode ser
degradado de acordo com aumento do número de nós conectados ou tipo/volume de
tráfego (baixa escalabilidade), requerendo o uso de pontes (bridges) para contornar o
problema.
• Anel: nessa topologia, cada nó possui uma conexão ponto a ponto dedicada com dois
dispositivos adjacentes ou utilizando um transceiver, fechando um ciclo ou anel. Assim, o
sinal percorre todo o anel em um sentido até atingir seu destino. Redes em Anel são
capazes de transmitir e receber dados em qualquer direção, mas as configurações mais
usuais são unidirecionais, de forma a tornar menos sofisticado os protocolos de
comunicação que asseguram a entrega da mensagem corretamente e em sequência ao
destino.
◦ Essa disposição dos nós permite que cada uma funcione como uma espécie de
repetidor, regenerando o sinal recebido e encaminhando pelo seu enlace de saída;
◦ Se essa topologia utilizar algum mecanismo de passagem de tokens, pode eliminar a
ocorrência de colisões;
◦ Algumas desvantagens dessa topologia:
▪ Apresenta pouca escalabilidade, pois simplesmente acrescentar nós sem prover

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 10


um mecanismo de redundância de enlace, acarretará numa degradação de
desempenho;
▪ Para que a rede funcione é necessário que os nós estejam ligados e que haja um
hardware adequado para a ligação dos nós.
• Estrela: utilizando esse modelo, os nós são ligados a um dispositivo central que assume
o papel de supervisor da comunicação, o concentrador: hub (em desuso), switch ou
access point (WLAN). Por ter esse controle central, a retirada ou desativação de um nó,
não interfere na rede, tornando esse modelo bastante tolerante a falhas. Diferente de
outras topologias, a estrela apresenta um ponto único de falha, assim é mais fácil
identificar quando problemas ocorrem. Além do mais, a instalação de novos nós torna-se
bem simples, necessitando muitas vezes apenas seu acoplamento ao concentrador. No
entanto, esse modelo acaba trazendo como ponto negativo uma necessidade maior de
cabos, quando comparados às topologias anteriores.
• Árvore: essa topologia consiste numa estrutura hierárquica de várias redes e sub-redes.
Por meio dele, utiliza-se um concentrador para interligar outros concentradores, e assim
por diante. Essa topologia é uma das formas de interligar várias LANs de médio e
grande porte, pois permitem uma maior escalabilidade que a topologia estrela, além de
facilitar a administração e manutenção da rede como um todo.
• Backbone ou Espinha Dorsal: consiste num cabeamento central, de maior capacidade
e desempenho, que desempenha o papel de espinha dorsal da rede, apoiando a
interligação de várias sub-redes. Normalmente, são encontradas em redes de dimensão
intermédias tais como LANs (de maior porte), CANs e MANs;
• Malha ou grafo: por meio dela, cada nó é ligado a cada outro nó da rede por um cabo.
Estrutura altamente redundante que tem o desempenho maximizado mas requer um alto
custo com a aquisição do cabeamento e manutenção.
• Mista ou Híbrida: é a integração de duas ou mais topologias diferentes em uma rede.

Figura 7: Principais topologias físicas


(Fonte: www.infoescola.com.br)

1.8 Modelos em camadas


Para que a comunicação de dados aconteça, os dispositivos envolvidos nessa tarefa
devem combinar aspectos de hardware (dispositivos físicos) e software (programas). De um
ponto de vista geral, a comunicação pelas redes de computadores demandam de uma série de
funções de diferentes níveis, o que torna muito complexo o projeto de seus equipamentos.
Essa complexidade é o preço a se pagar para termos uma maior compatibilidade na

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 11


utilização das tecnologias de rede hoje. A prova disso é que possivelmente seu notebook e seu
smartphone estejam conectados na mesma rede sem fio neste momento, apesar de
apresentarem projetos de hardwares e softwares completamente diferentes. Pense nisso.
A nível de software, para reduzir essa complexidade, a maioria das redes é organizada
em um modelo de pilha de camadas cujo objetivo de cada uma delas é: oferecer determinados
serviços às camadas superiores por meio de interfaces (rotinas padronizadas), isolando das
demais camadas os seus detalhes de implementação. Outro detalhe dessa abordagem é que a
camada n de um host “compreende” somente mensagens enviadas da mesma camada n de
outro host. Isso ocorre devido à convenção de regras e estruturas de mensagens, o que
denominamos de protocolos. Um conjunto de camadas e protocolos é chamado de arquitetura
de rede.

1.8.1 Modelo de referência OSI


Após o surgimento de vários protocolos atuando em diferentes níveis de projeto de rede,
a ISO (International Organization for Standardization) resolveu implementar seu modelo de
referência visando padronizar as funções de cada camada de rede. Nessa tentativa foi criado o
famoso modelo de referência OSI (Open System Interconection) com 7 camadas cujas funções
e características são relacionadas a seguir:
1. Camada física: trata da transmissão dos bits por um canal de comunicação. Ela lida
com interfaces mecânicas, elétricas e de sincronização. Essa camada também trata
como os bits são convertidos em sinais e vice-versa;
2. Camada de enlace de dados: transforma um canal de transmissão normal em uma
linha que pareça livre de erros de transmissão. Isso é implementado transformando-se
fluxos de bits em unidades de dados denominadas quadros (frames), e adicionando
informações redundante para prover a detecção e/ou correção de erros.
◦ Essa camada exerce ainda a importante função de impedir que um transmissor
rápido envie uma quantidade excessiva de dados a um receptor lento, o que
chamamos de controle de fluxo a nível de enlace;
3. Camada de rede: primeira camada a atuar com o escopo fim a fim, ou seja, visando os
hosts da origem ao destino. Sua função é movimentar pacotes (ou datagramas) levando
em consideração a infraestrutura da sub-rede. Para isso, essa camada determina a
maneira como os pacotes são roteados.
4. Camada de transporte: oferece serviços de entrega lógica fim a fim, considerando
portanto processos (aplicações) e não hosts. Para executar seus serviços, essa camada
se utiliza de uma unidade de dados chamada de segmentos;
5. Camada de sessão: permite estabelecer sessões de comunicação além de serviços
como: controle de diálogo e gerenciamento de tokens;
6. Camada de apresentação: relacionada à sintaxe e à semântica das informações
transmitidas. Preocupa-se então com aspectos referentes à organização internas dos
dados, estruturas de dados, codificação, etc.
7. Camada de aplicação: onde residem as aplicações e protocolos de nível mais alto,
como o navegador Web (browser), o cliente de BitTorrent, etc.
A Figura 8 mostra o esquema de envio de dados apoiado no modelo OSI e como as
mensagens são enviadas a partir da camada de aplicação, recebendo suas informações de
cabeçalho (encapsulamento) e sendo encaminhadas às camadas inferiores.

Em termos práticos:
• Camada Física: aqui estão os cabos e os hubs;
• Camada de Enlace de dados: aqui estão as placas de rede e os switches;
• Camada de Rede: aqui está o protocolo IP;
• Camada de Transporte: aqui entra o protocolo TCP e o sistema operacional, que
controla a transmissão dos dados;
• Camada de Aplicação: aqui está o programa, que envia e recebe dados através da rede:
navegador Web, mensagens instantâneas, etc.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 12


Figura 8: Modelo OSI: encapsulamento e encaminhamento de dados

Nos projetos de redes atuais, os serviços de idealmente deveriam estar nas camadas de
sessão e apresentação, foram incorporados pela camada de aplicação. As maior parte das
redes de dados, sobretudo a Internet, são baseadas atualmente na arquitetura2 TCP/IP.
Correspondem a semelhanças entre os modelos OSI e TCP/IP:
• Ambos são divididos em camadas;
• Ambos são divididos em camadas de transporte e de rede equivalentes.
• A tecnologia de comutação de pacotes (e não de comutação de circuitos) é presumida por
ambos.
Correspondem a diferenças entre os modelos OSI e TCP/IP:
• O TCP/IP combina as camadas de apresentação e de sessão dentro da sua camada de
aplicação;
• O TCP/IP combina as camadas física e de acesso à rede do modelo OSI numa única
camada.
• A camada de transporte do TCP/IP, que utiliza o UDP, nem sempre garante a entrega
confiável dos pacotes, ao contrário da camada de transporte do modelo OSI.

Figura 9: Comparação das camadas dos modelos OSI e TCP/IP

2 Segundo Tanenbaum (2011) o modelo OSI não pode ser chamado de arquitetura pois designa apenas as funções das
camadas. Por se tratar de um padrão aberto, não especifica que protocolos podem ser associados a essas camadas. Já o
modelo TCP/IP pode sim ser chamado de arquitetura, pois designa camadas e protocolos associados a elas.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 13


1.9 Software e ferramentas úteis de rede
1.9.1 Sistemas Operacionais de Rede
Sistemas Operacionais de Rede consistem em uma extensão dos sistemas operacionais
comuns, visando a transparência no uso de recursos compartilhados, além de disponibilizar
serviços pré-configurados como:
• Compartilhamento de arquivos, impressoras e outros dispositivos;
• Gerência de bancos de dados;
• Firewall, habilitação e monitoração de portas, proteção contra intrusos;
• Correio eletrônico;
• Acesso por login remoto;
• Monitoramento da rede;
• Hospedagem de páginas Web, etc.
São exemplos de Sistemas Operacionais de Rede:
• Família Windows Server (2000, 2008, 2012, …);
• CentOS Linux;
• Red Hat Linux;
• Além de: Debian, Ubuntu Server, Slackware, …

1.9.2 Ping
Comando que serve para testar a conectividade entre equipamentos de uma rede. Ele
está presente na maioria dos sistemas operacionais atuais. Suas respostas exibem atributos
como o tempo de resposta (RTT - RoundTrip Time) e o TTL (Time to Live) que é o tempo de
vida do pacote.

Uso: ping <destino>

1.9.3 Ip/Ipconfig/Ifconfig
Comando que serve para exibir informações sobre as interface de rede da máquina.
Uso (Windows): ipconfig /all
Uso (Linux): ip a / ip link / ip -s link
Uso (Linux): ifconfig -a (obsoleto)

1.9.4 Tracert/Traceroute
Comando que serve para rastrear a rota de pacotes de uma rede IP no seu percurso
para um dado host.
Uso (Windows): tracert <destino>
Uso (Linux): traceroute <destino>

1.9.5 Monitoramento de portas e conexões


Muitas vezes é necessário verificar o estado de determinadas portas e conexões.
Uso (Windows): netstat
Uso (Linux): ss (socket state): ss -s / ss -t / ss -u
Uso (Linux): netstat / netstat -nt (obsoleto)
Uso (Linux): nmap (auditoria de segurança)

1.9.6 Monitoramento de serviços


As ferramentas de monitoramento são úteis para o disgnóstico e manutenção dos
serviços do sistema operacional.
Uso (Windows): services.msc
Uso (Linux): systemctl list-unit-files
Uso (Linux): service –status-all (mais limitado)

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 14


1.9.7 Wireshark
Poderoso analisador de protocolos que permite capturar e navegar interativamente no
tráfego de uma rede. Consiste em um software sniffer (ou farejador, em português) bastante
usado por administradores de rede para:
• Detectar problemas ou conexões suspeitas;
• Testar se as senhas usadas na rede estão realmente sendo criptografadas;
• Realizar uma série de outras atividades relacionadas à segurança;

1.9.8 Packet Tracer


Simulador de redes de computadores que oferece ferramentas capaz de visualização de
redes e avaliações de medições complexas. Possibilita:
• Visualização do ambiente de rede para a criação, configuração e solução de problemas;
• Criação e visualização da transmissão de pacotes virtuais através da rede criada em
tempo real;
• Criar e configurar complexas topologias de redes que estão muito além ao seus
equipamentos disponíveis;

Figura 10: Cisco Packet Tracer Figura 11: Wireshark

1.10 Considerações finais do capítulo

Seguindo uma abordagem prática e baseada na arquitetura TCP/IP, nesse curso, assim
como na literatura, abordaremos os conceitos de redes concernentes a cada uma das
seguintes camadas:
• Física;
• Enlace de dados;
• Rede;
• Transporte;
• Aplicação;

No estudo de redes não podemos esquecer as premissas básicas dos modelos em camadas:
I. Uma camada sempre oferece serviços à camada hierarquicamente superior a ela;
II. Em hospedeiros diferentes, camadas de mesmo nível são capazes de se intercomunicar
desde que utilizem o mesmo protocolo;
III. Ao receber um pacote (dados) da camada hierarquicamente superior, uma camada
encapsula essa unidade de dados adicionando seus próprios metadados (cabeçalho);

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 15


Questões

1. Conceitue rede de computadores.

2. Diferencie os modelos cliente-servidor e peer-to-peer. Pesquise exemplos originais de


comunicações (aplicações) que seguem cada desses modelos.

3. Procure exemplos de comunicações de redes que utilizam os métodos unicast, broadcast e


multicast.

4. Defina e caractere as escalas de rede PAN, LAN, CAN, RAN, MAN e WAN.

5. Relacione e caracterize as principais topologias físicas de redes de computadores.

6. Cite vantagens e desvantagens de cada uma das topologias físicas de redes discutidas.

7. Elenque as principais diferenças entre comutação de circuitos e pacotes.

8. Explique o que é um modelo em camadas e sua importância para o projeto de redes.

9. Relacione as principais diferenças entre os modelos OSI e TCP/IP.

10. Pesquise sobre o comando ping, liste e explique a função dos seus principais atributos.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 16


2 CAMADA DE FÍSICA
2.1 Conceitos Básicos
A camada física é aquela mais próxima ao meio de transmissão dos dados. Ela está
envolvida com a tarefa de transferir fisicamente as informações de um nó da rede para o
seguinte. Para isso, ela recebe da camada hierarquicamente superior (enlace de dados) um
fluxo de bits que são convertidos em sinais para só então serem enviados ao meio de
transmissão.
Por interagir com o meio de transmissão, essa camada deve controlar a rede física
realizando uma série de ajustes para que a transferência dos sinais seja bem sucedida, a
saber: direções dos fluxos de dados, números de canais utilizados, tempo de duração de um
bit, etc.
A camada física do modelo OSI, também chamada de Layer 1, trata da transmissão
transparente de sequências de bits pelo meio físico, sendo a parte final da comunicação, ou
seja, onde a transmissão pelo meio de comunicação realmente acontece.
Nessa camada estão definidos os padrões mecânicos (conectores, painéis de conexão,
cabos, etc…), funcionais (DCE ou DTE, por exemplo), elétricos (voltagens, codificação de linha,
etc…) e procedimentos para acesso a esse meio físico.
Nessa camada também temos as especificações dos meios de transmissão, como por
exemplo: transmissão via satélite, cabo coaxial, radiotransmissão (rádios digitais ponto a ponto,
Wifi, espalhamento espectral, etc.), par metálico (UTP e STP), fibra óptica (monomodo ou
multimodo), etc.

2.2 Princípios da Transmissão de Sinais


Quase todos os sinais utilizados para comunicação são parte do espectro
eletromagnético – espécie de energia que viaja em ondas que se irradiam para fora da sua
fonte (no nosso caso o transmissor, que é transportada pelo meio de transmissão sob forma de
ondas eletromagnéticas).
Quando expresso matematicamente, um sinal eletromagnético é uma função baseada
do tempo. Entretanto, ele pode ser também pode ser expresso em função da frequência (sendo
constituído por diversas frequências) – diferenciação entre diferentes instrumentos e diferentes
vozes.
Em função do tempo o sinal pode ser analógico ou digital:
• Analógico: a intensidade do sinal varia de forma suave ao longo do tempo (não existe
descontinuidade ou interrupção);
◦ Exemplos: medição de velocidade ou temperatura; representação da voz humana;
• Digital: a intensidade do sinal mantém um nível constante durante um certo período, e
então muda para outro nível constante.
◦ Exemplos: arquivos armazenados no computador.

O processo de alterar um sinal para ele transmitir dados é chamado modulação ou


codificação.

Figura 12: Sinais analógicos e digitais em um transmissão de dados

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 17


O sinal digital sofre maior atenuação que o analógico; porém pode transportar mais
dados (amostragem) e ser comprimido. Nas redes de computadores, a sinalização digital é
produzida por pulsos de tensão elétrica ou luz. Estes pulsos (ou slots) têm uma duração
determinada.
Os dados propriamente serão representados quer pelo estado do pulso (seu valor
durante o slot), quer pela mudança de estado (na passagem para outro slot).
Existem muitas formas de codificação:
• Codificação direta: utiliza o estado do sinal, sendo 1 para tensão alta e 0 para tensão
baixa.
• Manchester: introduz uma mudança de estado no meio do slot. Uma mudança
descendente indica 1 e ascendente 0.
• Diferencial Manchester: também utiliza uma mudança no meio do slot. Porém, é a
mudança no início do slot que transmite o dado. A existência de uma mudança no início
indica um 0 e a inexistência indica um 1.

Figura 13: Sinais analógicos e digitais em um transmissão de dados

Os sinais analógicos sofrem menor atenuação que os digitais, mas transportam menos
informação. A modulação dos sinais analógicos é feita alterando-se as propriedades básicas
das ondas:
• Amplitude, que expressa seu nível de tensão;
• Frequência, a quantidade de períodos dentro de um segundo (Hz);
• Fase, a posição relativa da onda.

Utilizando-se estas grandezas, pode-se modular as ondas de acordo com as seguintes


técnicas:

• ASK (Amplitude-Shift Keying): modulação da amplitude, usada para transmissão de


rádio AM e algumas redes. Baseia-se no estado do sinal, seu nível de tensão durante o
slot..
• FSK (Frequency-Shift Keying): modulação da frequência, usada para transmissão de
rádio FM e algumas redes. Baseia-se no estado do sinal, o valor de sua frequência
durante o slot.
• PSK (Phase-Shift Keying): modulação da fase, usada em telecomunicações. Baseia-se
na mudança de estado do sinal, a mudança da fase da onda no início do slot de tempo.

Utiliza-se o termo largura de banda para indicar a faixa de frequências que um certo
meio é capaz de transmitir, isto é, a diferença entre o valor da frequência mais alta para a
frequência mais baixa.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 18


Qual a diferença entre largura de banda e taxa de transmissão? A largura de banda é
medida em MHz e a taxa de transmissão em Mbps. A largura de banda de um cabo pode ser
dividida em canais.
As duas formas de utilizar a capacidade de um meio físico são:
• Banda Base: neste tipo de transmissão toda a largura de banda é usada por um único
canal. Esta tecnologia é frequentemente usada para transmissão digital. Por essa
razão, é a técnica adotada pela maioria das redes de computadores.
• Banda Larga: Este modelo de transmissão é caracterizado pela divisão da largura de
banda em múltiplos canais. Assim, cada canal pode transmitir diferentes sinais
analógicos. Por essa razão, redes de banda larga podem transmitir múltiplos sinais
simultaneamente.

2.2.1 Modos de Perturbação ou Degradação do Sinal


Quando um canal de comunicação absorve ondas eletromagnéticas provenientes de
descargas elétricas, ou de outras fontes, provoca a distorção dos sinais. Essas interferências
eletromagnéticas (EMI) podem ser originadas internamente e/ou externamente ao sistema de
comunicação, mas sua causa sempre tem origem nas perturbações eletromagnéticas. As
principais formas de perturbação ou degradação no sinal são:
• Atenuação: redução gradativa da amplitude decorrente da perda de energia;
• Agitação de fase (phase jitter): ocorre quando o sinal muda em sua forma ou formato.
Pode ocorrer em um sinal composto formado por diversas frequências (com diferentes
velocidades de propagação em seus sinais componentes);
• Ruido: deformação no sinal causada por fatores externos como motores e aparelhos
elétricos. Os efeitos do ruído fazem-se sentir através de uma deterioração da qualidade
do sinal transmitido nos sistemas de transmissão analógicos e através da introdução de
erros nos sistemas de transmissão digital.
◦ Nos sistemas de transmissão analógicos, a qualidade do sinal recebido mede-se através da
relação entre a potência do sinal e a potência do ruído – relação sinal/ruído (SNR – Signal to
Noise Ratio).
◦ Nos sistemas de transmissão digital, o desempenho mede-se através da probabilidade de
ocorrerem erros, frequentemente erros de bit – probabilidade de erro de bit (BER – Bit Error
Rate).
• Distorção: consiste numa alteração da forma do sinal durante a sua propagação desde
o emissor até ao receptor. A distorção pode resultar do comportamento não-linear de
alguns dos componentes que compõem o percurso do sinal ou pela simples resposta em
frequência do meio de transmissão.
• Diafonia ou crosstalk: ocorre quando dois sinais (ou mais) distintos interferem entre si
por estarem em canais de transmissão fisicamente próximos.
• Eco: reflexão de parte do sinal geralmente devido a variações de impedância.
• Jitter de Fase: variação instantânea da fase que ocorre quando a curva do sinal
transmitido passa por “zero”.
• Drop-Out: perda momentânea da portadora de um sinal.

Estas perturbações que podem atingir a transmissão do sinal são problemáticas, pois
limitam o desempenho do sistema de comunicação alterando as características do sinal
transmitido a ponto até de que o mesmo não seja mais reconhecido ao chegar em seu receptor.
Visando diminuir a interferência pode-se utilizar, por exemplo, cabeamento blindado, onde a
cobertura metálica (em folha ou malha) é sobreposta ao cabo e aterrada, drenando o ruído que
atingiria os cabos internos.

2.2.2 Modos ou Sentidos de Transmissão


O modo de transmissão descreve a direção do fluxo de sinal entre dois dispositivos
conectados. São eles:
• Simplex: é o modo de transmissão em sentido único ou unidirecional. Caracteriza-se em

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 19


uma ligação na qual os dados circulam num só um sentido, ou seja do emissor para o
receptor. Exemplo: Rádio, TV.
• Half-Duplex: é o modo de transmissão em sentido duplo em função do tempo, não
simultâneo. Assim, com este tipo de ligação, cada extremidade da ligação emite por sua
vez. Exemplo: Walkie-Talkies.
• Full-Duplex: é o modo de transmissão em sentido duplo ou bidirecional simultâneo.
Assim, cada extremidade da linha pode emitir e receber ao mesmo tempo, o que
significa que a banda concorrida está dividida por dois para cada sentido de emissão
dos dados. Exemplo: celular.

Figura 14: Sentidos de Transmissão

2.3 Meios de Transmissão


Nas redes de comunicação há basicamente duas categorias de meios de transmissão:
os meios guiados e os meios não guiados. Um meio guiado é a transmissão por cabos ou fios
de cobre, onde os dados transmitidos são convertidos em sinais elétricos que propagam pelo
material condutor, e a transmissão por fibras ópticas, onde os dados são convertidos em sinais
luminosos e então propagados pelo material transparente da fibra óptica.
Quanto aos meios não-guiados, podemos citar a transmissão por irradiação
eletromagnética, onde os dados transmitidos são irradiados através de antenas para o
ambiente, como por exemplo as transmissões via satélite, infravermelho, bluetooth e wireless.
Seja qual for a escolha do meio de transmissão para determinado sinal, cada um influencia no
sinal transmitido limitando a largura de banda disponível, provocando distorções e atenuações.

2.3.1 Meios Não-Guiados


Para a utilização de um enlace de comunicação sem fio, faz-se necessário o uso de
transmissores e receptores que se comuniquem através de frequências lançadas no ar.
Quando os elétrons se movem, eles criam ondas eletromagnéticas que podem se propagar
pelo ar ou pelo vácuo. Esse fenômeno foi observado pela primeira vez pelo físico alemão
Heinrich Hertz em 1887. O número de oscilações por segundo dessas ondas eletromagnéticas
é chamado de frequência e é medido em Hz (Hertz – em homenagem ao seu observador).
Estamos acostumados ao conceito de frequência, dado o contato que temos desde cedo
com as rádios comerciais e comunitárias. Quando sintonizamos o dial de nosso rádio em 105,7
(MHz), estamos sintonizando a frequência do nosso rádio com a frequência da torre de
transmissão daquela rádio. Algumas rádios adotam como nome a sua frequência (Rádio 98, por
exemplo), o que facilita ao ouvinte localizá-la no dial.
As redes sem fio, tanto em nossas residências como em locais públicos, também
necessitam de um transmissor. Em todas elas é comum observarmos a existência de um
aparelho que forneça o enlace sem fio (chamado de AP – Access Point – Ponto de Acesso)
dotado de uma antena e a existência de um computador ou notebook dotado de uma interface
de rede wireless (sem fio).

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 20


2.3.1.1 Mecanismos de Propagação
Os mecanismos de propagação do sinal dependem da sua frequência. As formas de
propagação mais comumente presentes nos sistemas de telecomunicações são: propagação
por ondas terrestres, propagação ionosférica e linha de visada.
Na propagação por ondas terrestres, a onda eletromagnética se propaga seguindo a
curvatura da terra. Este tipo de propagação ocorre para sinais com frequência abaixo de 3
MHz. Neste tipo de propagação, as ondas podem alcançar distâncias muito grandes, mas a
largura de faixa é pequena e, consequentemente, a capacidade de transmissão também é
pequena. Um exemplo comum de comunicação por propagação terrestre são as emissoras de
rádio AM (Amplitude Modulation).
Na propagação ionosférica, o sinal emitido pela antena é refletido por uma camada da
atmosfera denominada ionosfera. Ondas com frequências de 2 MHz a 50 MHz se propagam
por meio desse mecanismo. As distâncias alcançadas também podem ser muito elevadas.
Finalmente, a propagação com linha de visada ocorre para frequências acima de 30
MHz. Este é o mecanismo de propagação mais importante para as telecomunicações, pois
engloba os principais sistemas de comunicação sem fio. À medida que a frequência aumenta, a
largura de faixa (e a capacidade de transmissão) do sistema também aumenta. Por outro lado,
a atenuação sofrida pelo sinal, à medida que se propaga, também aumenta com a frequência.
Os sistemas de comunicação que operam com frequência de 1 GHz a 300 GHz são,
usualmente, denominados de sistemas de micro-ondas e são particularmente importantes para
as telecomunicações.

Figura 15: Propagação por ondas terrestres (esq.), com linha de visada (dir.) e ionosférica (centro)

A transmissão por radiofrequência não é a única forma para os enlaces sem fio.
Dependendo da aplicação a que se deseja atender ou o serviço a ofertar, um enlace diferente
pode ser utilizado. Mas sem dúvida, a radiofrequência é um dos enlaces sem fio mais
utilizados. Vejamos os principais.

2.3.1.2 Rádio Frequência (RF)


As ondas de rádio são fáceis de gerar e conseguem percorrer longas distâncias e
atravessar prédios e paredes. Devido a essas características, elas são amplamente utilizadas.
Os governos exercem o controle do seu licenciamento de uso, justamente para evitar que
algumas frequências interfiram em outras. Imagine você falando ao celular e de repente escutar
a transmissão de um canal de TV? Com algumas exceções, como a banda ISM (Industrial
Scientifc and Medical – Banda Industrial, Científica e Médica), todas as bandas de celulares,
canais de rádio e TV, sistemas de posicionamento global (GPS) e radar de controle de tráfego
aéreo, dentre outras, são controladas pelos governos.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 21


Basicamente, existem dois modos de transmissão em RF: as ondas que se propagam
de forma difusa (ou omnidirecionais – que se propagam em todas as direções, possibilitando
várias conexões) e as ondas que se propagam de forma direcional, formando apenas um
enlace.
Você facilmente pode notar que a forma omnidirecional de transmissão não oferece
muita segurança, já que qualquer antena receptora instalada nas proximidades pode captar os
dados que ali trafegam. Por isso, algumas dessas transmissões são feitas com algum tipo de
segurança, como criptografia ou senhas. É o que acontece nas redes sem fio instaladas em
prédios e casas por meio dos APs.
O sistema direcional utiliza duas antenas, normalmente do tipo parabólica ou grade, para
se comunicar. Assim, somente duas redes podem estabelecer conexão, formando apenas um
enlace. Essas antenas precisam estar alinhadas (chamadas popularmente de “visada sem
barreiras”) e são mais difíceis de instalar. Têm a grande vantagem de não dispersar o sinal,
melhorando a segurança contra acessos indevidos.

Figura 16: Transmissão de RF Omnidirecional (esquerda) e Direcional (direita)

2.3.1.3 Micro-Ondas
Quando há necessidade de transmissão de dados em longas distâncias, o enlace micro-
ondas é mais eficaz, podendo chegar a taxas de 1 Gbps. Esse sistema é chamado também de
MMDS (Multipoint Microwave Distribution System – Sistema de Distribuição Multiponto Micro-
ondas) e utiliza antenas direcionais para estabelecer o enlace. A frequência nesse tipo de
transmissão normalmente precisa ser licenciada pelo órgão regulador do governo (no caso do
Brasil, a ANATEL). Essa modalidade é utilizada para transmissões de TV por assinatura, mas
as concessionárias telefônicas como Embratel e Oi também a utilizam para transmissão de
grandes volumes de dados.
As micro-ondas viajam em linha reta. Assim, a distância que uma transmissão desse tipo
pode alcançar está relacionada diretamente à altura da torre transmissora. Isso porque a torre
transmissora deve “enxergar” a receptora; assim, montanhas ou a própria curvatura da terra
podem interferir na transmissão. Dados obtidos em Tanembaum (2011) afirmam que uma torre
com 100 m de altura pode transmitir dados sob forma de
micro-ondas até uma distância de 80 km sem o uso de
repetidores.
Assim, a comunicação por micro-ondas é muito usada
na telefonia a longa distância, em telefones celulares, na
distribuição de sinais de televisão e em outras formas novas
de comunicação. A disseminação de canais de fibra óptica
tem um alto custo que, em vários casos, pode ser bastante
diminuído com os canais de micro-ondas.
Na Figura 17, simulamos um exemplo de transmissão
de TV por assinatura. O fato das micro-ondas atravessarem
facilmente a atmosfera terrestre torna atrativo seu uso por
transmissoras de TV. Nas residências é necessário instalar Figura 17: Transmissão em micro-ondas

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 22


um equipamento receptor dotado de uma miniantena parabólica apontada para o satélite
transmissor utilizando cálculos de latitude e longitude. As duas antenas precisam estar
devidamente alinhadas para que a recepção aconteça com perfeição.

2.3.1.4 Infravermelhos
Transmissão utilizada na comunicação de curto alcance. Todos os dispositivos de
controle remoto utilizados nos aparelhos de televisão, DVD, ar condicionado empregam a
comunicação por infravermelho. Eles são relativamente direcionais, econômicos e fáceis de
usar.
Para haver uma conexão de rede de infravermelho é necessário alinhar os dois
dispositivos para estabelecer um vínculo de conexão. Por esse motivo, elas são especialmente
convenientes para computadores pequenos e portáteis, pois um computador portátil que use
infravermelho pode ter todo o hardware de comunicação embutido.
Uma grande desvantagem desse tipo de transmissão é que ondas infravermelhas não
atravessam superfícies sólidas.

2.3.1.5 Laser
Outra forma de transmissão sem fio é o sinal óptico sob forma de laser, que já vem
sendo utilizado há algum tempo. O mais comum nesse tipo de enlace é a conexão de LANs
situadas em prédios diferentes, porém com visada. Uma das vantagens desse tipo de
transmissão é prescindir (não necessitar) da licença de um órgão regulador.
Apesar do custo relativamente baixo, esse tipo de enlace enfrenta alguns problemas. O
primeiro deles é a natureza direcional: é necessária precisão milimétrica para estabelecer a
visada perfeita. Muitas vezes são usadas lentes que desfocam o laser para facilitar o
estabelecimento do enlace. Outro fato é a questão climática: há problemas na transmissão em
dias de chuva e de neblina; também em dias de sol intenso pode haver interferências das
correntes de convecção (turbulências de ar quente) que emanam dos telhados e desviam o
feixe de laser.

2.3.2 Meios Guiados


Vários meios físicos podem ser utilizados para realizar a transmissão de dados, cada um
com propriedades específicas. São basicamente agrupados em fios de cobre (como o par
trançado e o cabo coaxial) e ópticos (como as fibras ópticas).

2.3.2.1 Cabo Coaxial


Os cabos coaxiais inauguraram as primeiras redes locais que evoluíram para os padrões
que temos. Hoje não são mais utilizados para instalação de novas redes locais. Atualmente têm
sido mais usados para transportar sinais de televisão (TV à cabo) e equipamentos de vídeo,
além do seu uso para conectar receptores, transmissores e antenas.
A existência de redes antigas e a necessidade do conhecimento histórico nos levam a
abordar os aspectos tecnológicos e as características desse meio de transmissão. Sua forma
visual é semelhante à da fibra óptica: um condutor central de cobre, um isolante de PVC, uma
malha externa metálica e, enfim, a capa (Figura 18).

Figura 18: Estrutura de um cabo coaxial

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 23


Podemos observar que esse cabo, diferentemente do cabo par trançado, possui uma
malha de cobre ou alumínio que envolve o núcleo do cabo. Essa malha serve como uma
blindagem contra fenômenos eletromagnéticos externos, como motores elétricos, redes sem
fio, reatores de lâmpadas, telefones sem fio, etc. Na verdade esta é uma de suas poucas
vantagens. Uma série de desvantagens fez com que esse cabo caísse em desuso. São elas:
• Difícil manipulação – devido à sua estrutura de malha e isolante, esse cabo fica mais
pesado e menos flexível, dificultando sua passagem por tubulações.
• Baixa capacidade de transmissão – a largura de banda, característica do cobre desse
cabo, é muito baixa, chegando a 10 Mhz. Isso faz com que redes locais montadas com
esse cabo possam chegar a no máximo 10 Mbps.
• Ligação complexa – os terminais desses cabos necessitam de conectores de difícil
emenda. Trata-se de um conector tipo BNC que deve ser ligado diretamente à interface
de rede através de um conector T. Isso faz com que cada estação possua três conexões
(uma de entrada no T, outra de entrada na interface de rede, outra de saída para outra
interface de rede). Uma quebra, desconexão ou mau contato em um conector faz com
que toda a comunicação entre os computadores cesse (pois esse tipo de cabo era
usado para redes de topologia em barramento). Observe a Figura 19 de conexão de
cabos coaxiais nos conectores BNC e na placa de rede.
• Modo de transmissão half-duplex – por haver apenas um meio efetivo de transmissão,
essa transmissão em rede local é feita toda no modo half-duplex.

Figura 19: Padrão de conexão de cabos coaxiais nos conectores BNC e na placa de rede

Podemos observar que essa rede não necessita de um equipamento concentrador,


como um hub ou switch. Na verdade isso era uma vantagem dessas redes, pois ficavam mais
baratas. Entretanto, elas tinham um alto índice de quedas (paradas), devido a conexões
defeituosas, remoção de conectores ou queima de placas de rede.

2.3.2.2 Fibra Óptica


As fibras ópticas já se tornaram conhecidas graças à sua capacidade de direcionar a luz,
levando-a a fazer “curvas”. Também já é sabido que esses feixes de luz podem ser usados
como meio de transporte de informação e têm capacidade de transmissão de grandes volumes
de dados. Vamos, portanto, abordar suas características funcionais e compreender seu
funcionamento.
Numa transmissão óptica, três componentes são fundamentais: uma fonte de luz, o
meio de transmissão e um detector. A fonte de luz (ou fototransmissor) recebe sinais
elétricos e os converte em luminosos. O meio de transmissão é uma fibra ultrafina de vidro
(com menor espessura que um fio de cabelo) que consegue carregar o sinal luminoso. O
detector faz o processo inverso: recebe sinais luminosos e os converte em elétricos.
Para entender melhor esse fenômeno, digamos que no seu quarto as luzes sejam
apagadas e você acende uma lanterna contra a parede a uma distância de 2 metros; a luz se
espalha, formando um circulo com diâmetro muito maior do que sua lanterna. Agora imagine

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 24


que você tenha um tubo com espelhos por dentro e você o coloque na frente da sua lanterna: a
luz será refletida dentro do tubo, chegando à parede um forte círculo luminoso e o seu quarto
continuará escuro. O cabo de fibra óptica é esse tubo espelhado. Dizemos que os cabos de
fibras ópticas possuem o fenômeno de reflexão interna total. Por transportar luz e não sofrer
interferências eletromagnéticas, esses cabos podem ligar duas redes locais distantes algumas
dezenas de quilômetros, com taxas na casa dos gigabits (1 Gbps ou mais).
Para que o fenômeno de reflexão total aconteça dentro da fibra, no processo de
fabricação ela recebe um revestimento de vidro, que também é um material transparente,
porém com índice de refração inferior ao do núcleo. Com isso os sinais luminosos são refletidos
pelas paredes da fibra, fazendo com que não se percam pela capa.

Figura 20: Estrutura de um cabo de fibra óptica

As fibras ópticas podem ser classificadas em dois tipos: monomodo (ou monomodais ou
de modo único) e multimodo (ou multimodais ou de modo múltiplo). Cada uma tem suas
características e aplicações, a saber:
Fibra óptica monomodo – com esse tipo de fibra não ocorre a dispersão modal, ou
seja, o feixe de luz se propaga em linha reta (único modo) sem ter que ser refletido
internamente. Isso garante que o sinal atinja distâncias maiores e com maiores taxas de
transmissão. Para conseguir isso, o núcleo da fibra precisa ser ultrafino, cerca de 8 μm (8
micrômetros = 8 x 10-6 metros). O fato de ser tão fino traz um problema: a acoplagem e a
fixação com as interfaces de rede devem utilizar equipamento especial para permitir alinhar o
feixe luminoso da placa de rede com a fibra, o que é um trabalho difícil, minucioso e caro. Esse
tipo de fibra é indicado para interligar campi de universidades e redes locais que precisem
ultrapassar 2 km de comprimento. A Figura Transmissão num cabo de fibra monomodo mostra
o modo de transmissão de uma fibra monomodal.
Fibra óptica multimodo – é mais grossa que a fibra monomodo. A luz é refletida várias
vezes na parede do cabo, ocorrendo o fenômeno de dispersão modal, o que faz o sinal perder
força. Devido a essa dispersão, este cabo pode chegar ao máximo de 2 km. O núcleo deste
cabo chega a 62,5 μm, aproximadamente oito vezes mais grosso do que o núcleo da fibra
monomodo. Esses cabos são mais fáceis de instalar e ligar às placas de rede, justamente pelo
seu diâmetro maior. Ainda assim, exigem equipamento e pessoal especializados para
montagem e instalação.
Você pode observar que na Figura Estrutura da fibra ótica multimodo. há duas medidas
destacadas: a de 62 μm (micrometros) indica o diâmetro do núcleo da fibra, por onde
efetivamente passam os sinais luminosos; a de 125 μm indica o diâmetro da casca ou cladding,
que serve como uma espécie de espelho para refletir os sinais luminosos. O restante do
material refere-se a um polímero de PVC que reveste a casca, fibras de resistência mecânica

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 25


que ajudam a proteger o núcleo contra impactos e, finalmente, o revestimento externo do cabo.
As fibras multimodais ainda podem ser classificadas em dois tipos, de acordo com seu
modo de propagação. São elas: fibras multimodo de índice degrau e fibras multimodo de índice
gradual.
Fibra multimodo de índice degrau – foi um dos primeiros tipos de fibra a surgir. O
termo degrau designa e existência de apenas um índice de refração entre o núcleo e a casca.
Como sofre maior atenuação por km (cerca de 5 dB/km), ela atinge menores distâncias do que
as fibras ópticas de índice gradual. A Figura Propagação da luz na fibra multimodo de índice
degrau exemplifica esse tipo de transmissão.
Fibra multimodo de índice gradual – nesta, o índice de refração diminui
gradativamente e de forma contínua, ao invés da mudança brusca do núcleo para a casca. Na
verdade, esse tipo de fibra é fabricado com “várias cascas”, cada uma com um índice de
refração diferente, sendo a mais externa a que tem o índice menor.

Figura 21: Tipos de fibra óptica

2.3.2.3 Par Trançado


Esse cabo consiste em dois fios entrelaçados em forma helicoidal. Os cabos de par
trançado atualmente possuem quatro pares dispostos dentro de uma proteção externa de PVC.
Cada par é formado por dois fios entrelaçados.

Figura 22: Estrutura de um cabo par trançado com quatro pares.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 26


O entrelaçamento dos pares não é somente para efeito visual, é uma técnica com um
objetivo. Dois fios quando dispostos em paralelo dentro de um recipiente (no caso aqui, a
proteção externa de PVC) podem formar uma antena simples e captar ondas de
radiofrequência do ar ou de outros pares de fios vizinhos. Isso geraria um fenômeno de
interferência denominado crosstalk (linha cruzada). Desse modo, o receptor não conseguiria ler
os pacotes, pois uma interferência externa iria embaralhar os dados. Com os fios dispostos em
forma de par trançado, as ondas geradas pelos diferentes pares de fios tendem a se cancelar,
o que significa menor interferência. Essa técnica denomina-se efeito cancelamento.
Você pode observar que os fios entrelaçados possuem uma quantidade de tranças por
cm (ou polegadas). A tendência é que, quanto maior a quantidade de tranças por cm, melhor a
qualidade do cabo, pois o efeito cancelamento é mais eficiente.
A seguir, na Figura 23, demonstraremos que os dois fios que formam o par está
transmitindo a mesma informação, porém com polaridade diferente. Toda transmissão elétrica
gera em torno de si um campo eletromagnético com a mesma polaridade e direção. Esse
campo eletromagnético pode corromper os dados de um par vizinho e causar perda de
informações. Para evitar isso, o outro fio que faz parte do par transmite a mesma informação
com polaridade contrária, gerando também um campo eletromagnético contrário, fazendo com
que ambos se anulem. Assim, os campos eletromagnéticos de cada par tendem a interferir
muito pouco no seu par vizinho.

Figura 23: Efeito cancelamento nos pares trançados.

Essa proteção “natural” não é o único tipo de proteção que um cabo par trançado pode
oferecer. Esses cabos podem ainda apresentar uma proteção adicional contra interferências.
Em função disso, genericamente, existem dois tipos de par trançado:
UTP (Unshielded Twisted Pair – Par Trançado Não Blindado) – esse é o cabo mais
simples e mais barato para as redes locais. Também é ainda o mais utilizado para montar redes
locais nas empresas. Ele não possui blindagem, o que o torna mais barato e mais leve e
flexível, facilitando a passagem por tubulações. As redes locais especificadas para funcionar
até 1000 Mbps (1 Gigabit) necessitam desse tipo de cabo com especificação CAT5e ou CAT6.
STP (Shielded Twisted Pair – Par Trançado Blindado) – esse tipo de cabo possui
uma blindagem adicional útil contra interferências externas originadas por exemplo de: motores
elétricos, reatores de lâmpadas e equipamentos industriais. Tais interferências, como já é
sabido, geram ondas eletromagnéticas que podem corromper os dados que trafegam pelo
condutor. Esse cabo tem a vantagem de transmitir dados com menores interferências, porém,
possui custo elevado e maior peso, o que o torna mais difícil para passar em tubulações.
Atualmente, para redes instaladas em ambiente industrial, em que vários campos
eletromagnéticos causam interferência, a fibra óptica tem sido melhor opção, pois, apesar do
custo maior, ela transmite sem interferências, possui peso menor e atinge maiores taxas de

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 27


transmissão.
Agora, tomando como ponto de análise a norma ISO/IEC 11801, os tipos de blindagem
nos cabos utilizam a nomenclatura X/Y, onde X representa o isolamento global do cabo e Y o
isolamento individual dos fios. Basicamente essas letras consistem em U (Unshielded –
ausência de blindagem), S (Screened – blindagem com trama ou malha metálica) e F (Foiled –
blindagem folha de metal) , Com isso, basicamente podemos ter as seguintes variações:
• U/UTP – Não existe blindagem global nem nos fios individuais;
• U/FTP – Sem blindagem global mas blindagem com folha de metal nos pares de fios;
• S/UTP – Blindagem global com trama de metal mas sem blindagem nos pares de fios;
• F/UTP – Blindagem global com folha de metal mas sem blindagem nos pares de fios;
• S/FTP – Blindagem global com trama de metal e blindagem com folha de metal nos
pares de fios;
• F/FTP – Blindagem global com folha de metal e blindagem com folha de metal nos pares
de fios;
• SF/UTP – Blindagem global com trama e folha de metal mas sem blindagem nos pares
de fios;
• SF/FTP – Blindagem global com trama e folha de metal e blindagem com folha de metal
nos pares de fios.

Figura 24: Cabo U/UTP (esq. sup.), U/FTP (dir. sup.), F/UTP (esq. inf.) e S/FTP (dir. inf.)

Os cabos par trançado necessitam de um conector para se ligar às interfaces de rede ou


às portas do switch do tipo RJ-45. Eles são instalados nas pontas dos cabos utilizando uma
ferramenta chamada popularmente de alicate de crimpagem.
Para melhores resultados, os cabos blindados devem ser combinados com conectores
RJ-45 blindados. Eles incluem uma proteção metálica que protege a parte destrançada do cabo
que vai dentro do conector, evitando que ela se torne o elo mais fraco da cadeia.

Figura 25: Conectores RJ-45 sem blindagem, para cabos CAT5 (esq) e CAT6 (centro), e com blindagem (dir)

Quanto maior for o nível de interferência, mais vantajosa será a instalação de cabos
blindados. Entretanto, em ambientes normais os cabos sem blindagem funcionam

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 28


perfeitamente bem; justamente por isso os cabos blindados são pouco usados.
Existem também cabos de rede com fios sólidos e também cabos stranded (de várias
fibras, também chamados de patch), onde os 8 fios internos são compostos por fios mais finos.
Os cabos sólidos são os mais comuns e são os recomendados para uso geral, pois oferecem
uma menor atenuação do sinal (cerca de 20% menos, considerando dois cabos de qualidade
similar).
A única vantagem dos cabos stranded é que o uso de múltiplos fios torna os cabos mais
flexíveis, o que faz com que sejam muitas vezes preferidos para cabos de interconexão curtos
(patch cords), usados para ligar os PCs à tomadas de parede ou ligar o switch ao patch panel .
Dentro do padrão, os cabos de rede crimpados com cabos stranded não devem ter mais
de 10 metros. Você pode usar um cabo sólido de até 90 metros até a tomada e um cabo
stranded de mais 10 metros até o micro, mas não pode fazer um único cabo stranded de 100
metros.

2.3.2.3.1 Categorias de Par Trançado


No início de 1985, preocupadas com a falta de uma norma que determinasse
parâmetros das fiações em edifícios comerciais, os representantes das indústrias de
telecomunicações e informática solicitaram para a CCIA (Computer Communication Industry
Association) que fornecesse uma norma que abrangesse estes parâmetros. Ela então solicitou
para a EIA (Electronic Industries Associaton) o desenvolvimento da norma que, em julho de
1991, foi publicada como a 1ª versão da norma EIA/TIA 568 (Electronic Industries Associaton/
Telecommunications Industry Association). Subsequentemente, vários boletins técnicos foram
sendo emitidos e incorporados a esta norma.
Em janeiro de 1994, foi emitida a norma EIA/TIA 568 A. Com a criação desta e suas
complementares (569, 606 e 607), houve uma mudança no modo de agir dos usuários de
sistemas. Chegou-se à conclusão de que os sistemas de cabos deveriam ser integrados, o
cabeamento deveria permitir o tráfego dos sinais independente do fabricante, da fonte
geradora, ou do protocolo transmitido, este sistema deveria apresentar uma arquitetura aberta,
sem seu processamento centralizado, e deveria permitir a transmissão de sinais com altas
taxas como 100Mbits/s e mais.
Logo após a publicação da EIA/TIA 568-A, a associação ISO/IEC (International
Standards Organization/International Electrotechnical Commission) desenvolveu um padrão de
cabeamento internacional denominado de ISO/IEC 11801, equivalente à norma publicada pela
EIA/TIA 568-A, que foi publicado no ano de 1995.
Juntas, estas duas organizações internacionais classificam os cabos metálicos de par
trançado em categorias (EIA/TIA 568B) e classes (ISO/IEC 11801), padronizando suas
características e equiparando os produtos oferecidos pelos diferentes fabricantes mundiais.
Em todas as categorias, a distância máxima permitida é de 100 metros (com exceção
das redes 10G com cabos categoria 6, onde a distância máxima cai para apenas 55 metros). O
que muda é a frequência e, consequentemente, a taxa máxima de transferência de dados
suportada pelo cabo, além do nível de imunidade a interferências externas. Vamos então a uma
descrição das categorias de cabos de par trançado existentes.
Categorias 1 e 2 – Estas duas categorias de cabos não são mais reconhecidas pela
TIA, que é a responsável pela definição dos padrões de cabos. Elas foram usadas no passado
em instalações telefônicas e os cabos de categoria 2 chegaram a ser usados em redes Arcnet
de 2.5 megabits e redes Token Ring de 4 megabits, mas não são adequados para uso em
redes Ethernet.
Categoria 3 – Este foi o primeiro padrão de cabos de par trançado desenvolvido
especialmente para uso em redes. O padrão é certificado para sinalização de até 16 MHz, o
que permitiu seu uso no padrão 10BASE-T, que é o padrão de redes Ethernet de 10 megabits
para cabos de par trançado. Existiu ainda um padrão de 100 megabits para cabos de categoria
3, o 100BASE-T4, mas ele é pouco usado e não é suportado por todas as placas de rede.
A principal diferença do cabo de categoria 3 para os obsoletos cabos de categoria 1 e 2
é o entrançamento dos pares de cabos. Enquanto nos cabos 1 e 2 não existe um padrão

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 29


definido, os cabos de categoria 3 (assim como os de categoria 4 e 5) possuem pelo menos 24
tranças por metro e, por isso, são muito mais resistentes a ruídos externos. Cada par de cabos
tem um número diferente de tranças por metro, o que atenua as interferências entre os pares
de cabos.
Categoria 4 – Esta categoria de cabos tem uma qualidade um pouco superior e é
certificada para sinalização de até 20 MHz. Eles foram usados em redes Token Ring de 16
megabits e também podiam ser utilizados em redes Ethernet em substituição aos cabos de
categoria 3, mas na prática isso é incomum. Assim como as categorias 1 e 2, a categoria 4 não
é mais reconhecida pela TIA e os cabos não são mais fabricados, ao contrário dos cabos de
categoria 3, que continuam sendo usados em instalações telefônicas.
Categoria 5 – Os cabos de categoria 5 são o requisito mínimo para redes 100BASE-TX
e 1000BASE-T, que são, respectivamente, os padrões de rede de 100 e 1000 megabits usados
atualmente. Os cabos CAT 5 seguem padrões de fabricação muito mais estritos e suportam
frequências de até 100 MHz, o que representa um grande salto em relação aos cabos CAT 3.
Apesar disso, é muito raro encontrar cabos CAT 5 à venda atualmente, pois eles foram
substituídos pelos cabos Categoria 5e (o "e" vem de "enhanced"), uma versão aperfeiçoada do
padrão, com normas mais estritas, desenvolvidas de forma a reduzir a interferência entre os
cabos e a perda de sinal, o que ajuda em cabos mais longos, perto dos 100 metros permitidos.
Os cabos CAT 5e devem suportar os mesmos 100 MHz dos cabos CAT 5, mas este
valor é uma especificação mínima e não um número exato. Nada impede que fabricantes
produzam cabos acima do padrão, certificando-os para frequências mais elevadas. Com isso,
não é difícil encontrar no mercado cabos cat 5e certificados para 110 MHz, 125 MHz ou mesmo
155 MHz, embora na prática isso não faça muita diferença, já que os 100 MHz são suficientes
para as redes 100BASE-TX e 1000BASE-T.
Os cabos 5 e 5e são ainda comuns atualmente, mas eles estão em processo de
substituição pelos cabos categoria 6 e categoria 6a, que podem ser usados em redes de 10
gigabits por segundo.
Categoria 6 – Esta categoria de cabos foi originalmente desenvolvida para ser usada no
padrão Gigabit Ethernet, mas com o desenvolvimento do padrão para cabos categoria 5 sua
adoção acabou sendo retardada, já que, embora os cabos categoria 6 ofereçam uma qualidade
superior, o alcance continua sendo de apenas 100 metros, de forma que, embora a melhor
qualidade dos cabos CAT 6 seja sempre desejável, acaba não existindo muito ganho na
prática.
Os cabos categoria 6 utilizam especificações ainda mais estritas que os de categoria 5e
e suportam frequências de até 250 MHz. Além de serem usados em substituição dos cabos
CAT 5 e 5e, eles podem ser usados em redes 10Gbps, mas nesse caso o alcance é de apenas
55 metros.
Para permitir o uso de cabos de até 100 metros em redes 10Gbps foi criada uma nova
categoria de cabos, a Categoria 6a ("a" de "augmented", ou ampliado). Eles suportam
frequências de até 500 MHz e utilizam um conjunto de medidas para reduzir a perda de sinal e
tornar o cabo mais resistente a interferências.
Você vai encontrar muitas referências na Web mencionando que os cabos CAT 6a
suportam frequências de até 625 MHz, que foi o valor definido em uma especificação preliminar
do 10GBASE-T. Mas, avanços no sistema de modulação permitiram reduzir a frequência na
versão final, chegando aos 500 MHz.
Uma das medidas para reduzir o crosstalk (interferências entre os pares de cabos) no
CAT 6a foi distanciá-los usando um separador. Isso aumentou a espessura dos cabos de 5.6
mm para 7.9 mm e tornou-os um pouco menos flexíveis. A diferença pode parecer pequena,
mas ao juntar vários cabos ela se torna considerável.
Atualmente, os cabos de par trançado CAT6 e CAT6a garantem melhor qualidade em
transmissões de 1 Gbps e permitem interligação de redes de 10 Gbps (10 GbE – Ethernet de
10 gigabits por segundo).
É importante notar que existe também diferenças de qualidade entre os conectores RJ-
45 destinados a cabos categoria 5 e os cabos CAT 6 e CAT 6a, de forma que é importante

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 30


checar as especificações na hora da compra. No conector CAT 5 os 8 fios do cabo ficam lado a
lado, formando uma linha reta, enquanto no conector CAT 6 eles são dispostos em zig-zag,
uma medida para reduzir o cross-talk e a perda de sinal no conector (vide Figura 25).
Categoria 7 – Esta recente categoria também pode suportar redes de 10 Gbps, mas
testes de laboratório mostraram com sucesso sua capacidade de transmitir até 40 Gb a 50
metros e até 100 Gb a 15 metros.
O CAT7 oferece ampla blindagem para reduzir a atenuação do sinal e é relativamente
rígido em comparação com as gerações anteriores de cabeamento. Ambos os pares individuais
são blindados, com uma camada adicional de blindagem em todo o cabo. A blindagem precisa
ser aterrada e o cabeamento também requer conectores GigaGate45 (GG45) especiais para
aproveitar ao máximo os recursos de alto desempenho.
Em suma, o CAT6a pode ter o mesmo desempenho que o CAT7, mas a um preço mais
baixo. A maioria dos clientes de vigilância AV e IP optam pelo CAT6a STP ou CAT6a FTP. O
CAT7 é adequado para uso em datacenters e grandes redes corporativas.
O cabo CAT8 ainda está em fase de desenvolvimento e ainda não foi homologado. De
acordo com o Ethernet Alliance Roadmap 2016, ele será capaz de suportar Ethernet de 25
Gbps e 40Gbps. CAT8 será capaz de suportar taxas de transmissão ainda mais rápidas em
distâncias de até 30 metros .

Figura 26: Categorias de Cabos Pares Trançados

2.3.2.3.2 Pinagem no Par Trançado


Diferentes situações podem exigir que os cabos par trançado sejam ligados de acordo
com diferentes convenções de fiação. Isso significa que os fios individuais no cabo devem ser
conectados em ordens diferentes a diferentes conjuntos de pinos nos conectores RJ-45.
O padrão TIA / EIA-568-A especifica duas covenções de fiação para um conector
modular de 8 posições, como o RJ45. Os dois padrões de fiação, T568A e T568B, variam
apenas no arranjo dos pares coloridos. Sua escolha pode ser determinada pela necessidade de
combinar a fiação, os conectores ou a preferência pessoal existentes, mas você deve manter a
consistência. A seguir estão os principais tipos de cabos obtidos usando convenções de fiação
específicas.
Um cabo direto (também designado de normal ou straight-through) faz uso dos pares
2 e 3. Para produzir cabos straight-through (cabo que usa o mesmo esquema de pinos em
ambos os lados) podemos usar nas extremidades a norma TIA/EIA T568A ou a norma TIA/EIA
T568B. Um cabo direto é usado para ligar equipamentos diferentes, como por exemplo, PC,
servidor, router a um switch, hub ou bridge.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 31


Figura 27: Cabo Par Trançado Direto (straight-through)

Um cabo cruzado (também designado de crossover) é usado para ligações de hub


para hub, computador para computador, switch para switch, ou seja, entre equipamentos da
mesma camada segundo o modelo OSI. Atualmente, todos os equipamentos Gigabit Ethernet e
a maior parte dos novos equipamentos já suportam Auto MDI-X (Media Dependent Interface
with Crossover – troca automática dos pares de comunicação), não existindo assim
necessidade de fazer um cabo cruzado para comunicação entre equipamentos que operam na
mesma camada do modelo OSI (ex. PC para PC).
Os cabos cruzados são finalizados com uma das pontas com o esquema T568A e a
outra ponta com esquema T568B (ou seja, são trocados os cabos 1 com o 3 e o 2 com o 6 de
uma ficha para a outra), em que cada um deles terá dois pares para transmissão (TX) e dois
pares para recepção (RX).

Figura 28: Cabo Par Trançado Cruzado (crossover)

Usar um cabo cruzado ou direto incorretamente entre os dispositivos pode não danificar
os dispositivos, mas a conectividade e a comunicação entre os dispositivos não ocorrerão. Este
é um erro comum e verificar se as conexões do dispositivo estão corretas deve ser a primeira
ação de solução de problemas se a conectividade não for alcançada.
Outro tipo de cabo é um cabo invertido ou rollover. É usado para conectar uma
estação de trabalho a um roteador ou porta de console do switch. Nesse cabo, tal como o
nome sugere, as terminações são invertidas, ou seja, o pino 1 de um conetor RJ-45 liga com o
pino 8 do outro. O 2 liga ao 7 e o mesmo acontece com os outros.

2.4 Modalidades de acesso à Internet


O objetivo aqui é apresentar as principais tecnologias utilizadas nas redes de acesso,
descrevendo os princípios básicos de operação, as diferenças tecnológicas entre os padrões,
as capacidades de transmissão, bem como as vantagens/desvantagens e limitações de cada
uma delas.
Uma rede de comunicação pode ser dividida em duas partes principais, o acesso
(access network) e o núcleo (core network). Denominamos de rede de acesso a rede física
que conecta o usuário (assinante) ao seu provedor de serviço imediato (operadora de

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 32


telecomunicações). Em geral, as redes de acesso também são denominadas na literatura como
redes de última milha (Last Mile Network – LMN) ou redes de primeira milha.
Podemos subdividir as tecnologias de acesso em duas categorias, dependendo do tipo
de meio físico utilizado para a comunicação: as que utilizam meios guiados (par trançado/cabo
coaxial/fibra ótica) e as que utilizam meios não guiados (transmissão sem fio) para a
comunicação. Entre as principais tecnologias que utilizam meios guiados podemos citar, por
exemplo, os padrões xDSL e o cable modem. Os padrões WiFi, WiMAX e celulares são
exemplos de tecnologias utilizadas para acesso sem fio não guiados. A taxa máxima de
transmissão depende de cada tecnologia ou padrão empregado na rede de acesso. É
importante ressaltar que os limites teóricos máximos são impostos pelas características do
meio físico (canal de comunicação). Em síntese, a capacidade de transmissão depende da
largura de banda e da potência de transmissão utilizada por um dado sistema.
Atualmente diversos tipos de serviços/aplicações utilizam a Internet. Estas aplicações
implementam recursos multimídia cada vez mais elaborados.
Podemos citar como exemplo os servidores Web que hospedam páginas com recursos
elaborados de áudio e vídeo, serviços de Voz sobre IP (VoIP), servidores de vídeo sob
demanda (VoD) e a transmissão de sinais de TV (IPTV). Isso exige uma maior taxa de
transmissão na rede de acesso do usuário, de maneira que estes serviços/aplicações possam
ser oferecidos com qualidade apropriada.
Nos últimos anos, os diferentes serviços de acesso disponibilizados pelas operadoras de
telecomunicações e de TV a cabo sofreram uma evolução significativa em termos de taxa de
transmissão. Além disso, estes serviços tem sido oferecidos a custos cada vez menores ao
usuário, graças a concorrência entre prestadoras de serviço e tecnologias de acesso.
A Figura 29 ilustra a evolução das velocidades de transmissão de dados das principais
tecnologias de acesso. Os modems analógicos, também denominados de voice band modems,
foram a primeira opção de acesso para transmissão de dados dos usuários utilizando a rede de
telefonia pública comutada (Public Switched Telephone Network – PSTN). Esta tecnologia
possibilitou a utilização da infraestrutura da rede telefônica convencional para a comunicação
de dados. Este tipo de acesso é chamado de acesso discado (Dial-Up).

Figura 29: Evolução das tecnologias de acesso

Posteriormente surgiu o conceito de linha digital de assinante (Digital Subscriber Line


– DSL) que utiliza outra tecnologia de modem para comunicação e também exige
equipamentos digitais no lado da operadora.
A linha digital de assinante já transmite os dados do usuário na forma digital. Como
exemplo desta tecnologia podemos citar o ISDN (RDSI) e as linhas especiais (dedicadas). Uma
evolução significativa em termos de taxa de transmissão surgiu com a família de padrões
xDSL, entre os quais podemos citar o ADSL, que é sem dúvida uma das formas de tecnologia

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 33


de acesso mais utilizadas atualmente pelas operadoras de telefonia fixa.
Algumas estruturas de redes de acesso implementam topologias híbridas usando fibra
ótica e xDSL para prover acesso em alta velocidade (banda larga) para seus assinantes. Sem
dúvida, uma rede de acesso baseada apenas em fibra ótica possibilitaria as maiores taxas de
transmissão. Esta estratégia ainda não é implementada em larga escala para usuários
domésticos por questões de custo e de legislação.
A Figura 30 ilustra os diferentes tipos de meios físicos usados na rede de acesso, bem
como alguns exemplos de tecnologias que são utilizadas em cada situação. As tecnologias da
família de padrões xDSL operam utilizando como meio físico o par trançado convencional da
rede telefônica. Podemos citar como exemplo os padrões ADSL, HDSL, SDSL, VDSL, entre
outros.
Serviços de acesso oferecidos pelas operadoras de TV por assinatura utilizam o cabo
coaxial como canal de comunicação. Neste caso o tráfego de dados compartilha o meio físico
com o sinal de vídeo. Este tipo de rede de acesso também é conhecido como rede HFC
(Hybrid Fibre-Coaxial), pois a rede de distribuição de TV a cabo utiliza uma infraestrutura
híbrida de fibra ótica e cabo coaxial.
Já a tecnologia PLC (ou Power Line Communication) permite a transmissão de dados
através dos fios de energia elétrica, conhecida também como BPL – Broadband over Power
Lines. Não é uma tecnologia que compete com os atuais provedores, mas sim uma alternativa
para usuários que moram em locais onde o sinal das outras operadoras não chega.
A arquitetura de acesso denominada FTTH (Fiber To The Home) ou FTTO (Fiber To
The Office) utiliza fibra ótica até o equipamento do usuário. Algumas soluções híbridas utilizam
xDSL+Fibra, como por exemplo as arquiteturas FTTC (Fiber To The Curb) e FTTB (Fiber to
The Building).
As arquiteturas que utilizam tecnologia sem fio (wireless) na rede de acesso
implementam em geral sistemas de comunicação ponto-multiponto (P2MP) usando
transmissões terrestres de rádio, como por exemplo os serviços de acesso via rede celular,
WiMAX, etc. O acesso via satélite é um serviço com ampla cobertura, contudo as taxas de
transmissão e os custos são fatores limitantes.

Figura 30: Tecnologias e arquiteturas de acesso

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 34


3 CAMADA DE ENLACE DE DADOS
3.1 Conceitos Básicos
Conforme o modelo híbrido que adotamos nessa disciplina, imediatamente acima da
Camada Física, encontra-se a Camada de Enlace de Dados. O objetivo dessa camada é
assegurar a transferência confiável de dados entre sistemas conectados diretamente por um
meio físico.
Isso é importante sobretudo porque o meio físico está frequentemente sujeito a ruídos e
às interferências mais diversas, necessitando, desta forma que funções mais inteligentes
venham a suprir suas limitações.
Basicamente a Camada de Enlace provê processos e métodos que permitem, entre
outras coisas:
• Organização dos bits da Camada Física em quadros ou frames → enquadramento;
• Detecção e/ou correção de erros;
• Controle do fluxo de dados, permitindo um sincronismo entre pacotes (quadros) na
transmissão;
• Identificação dos computadores num segmento de rede.

A camada de enlace é implementada em maior parte em hardware, no NIC (Network


Interface Card, em inglês), que é o núcleo do adaptador de rede onde está localizado a
camada, geralmente, é um único chip no adaptador que efetua os serviços da camada de
enlace como o enquadramento, acesso, controle de fluxo, e outros.
A camada de enlace possui seus protocolos, que são os responsáveis por transportar
um quadro pelo enlace individual. Desse modo, essa camada tem a responsabilidade de
transferir quadros de um nó para o nó adjacente sobre um enlace. Então não há
preocupação com o destino final do pacote apenas com o destino imediato

Figura 31: Como os dados trafegam no contexto da Camada de Enlace de Dados

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 35


3.2 Enquadramento
Para oferecer serviços à camada de rede, a camada de enlace de dados deve usar o
serviço fornecido a ela pela camada física. O que a camada física faz é aceitar um fluxo de bits
brutos e tentar entregá-lo ao destino. Não há uma garantia de que esse fluxo de bits seja livre
de erros. O número de bits recebidos pode ser menor, igual ou maior que o número de bits
transmitidos, e eles podem ter valores diferentes dos bits originalmente transmitidos. A camada
de enlace de dados é responsável por detectar e, se necessário, corrigir erros.
Em geral, a estratégia adotada pela camada de enlace de dados é dividir o fluxo de bits
em quadros e calcular o total de verificação (checksum) em relação a cada quadro. (Os
algoritmos de total de verificação serão discutidos mais adiante neste capítulo.) Quando um
quadro chega a seu destino, o total de verificação é recalculado.
Se o total de verificação recém-calculado for diferente do que está contido no quadro, a
camada de enlace de dados saberá que houve um erro e tomará providências para lidar com
ele (por exemplo, descartando o quadro defeituoso e possivelmente também enviando de volta
um relatório de erros).
A divisão do fluxo de bits em quadros é mais difícil do que parece à primeira vista. Uma
forma de obter esse enquadramento é inserir intervalos de tempo entre os quadros, de modo
muito semelhante aos espaços entre as palavras de um texto comum. No entanto, as redes
raramente oferecem qualquer garantia em relação à temporização. Portanto, é possível que
esses intervalos sejam condensados, ou que outros intervalos sejam inseridos durante a
transmissão. Como é muito arriscado contar com a temporização para marcar o início e o fim
de cada quadro, outros métodos foram criados.
Nesta seção, examinaremos quatro métodos:
1. Contagem de caracteres.
2. Bytes de flags, com inserção de bytes.
3. Flags iniciais e finais, com inserção de bits.
4. Violações de codificação da camada física.
O primeiro método de enquadramento utiliza um campo no cabeçalho para especificar o
número de caracteres do quadro. Quando vê a contagem de caracteres, a camada de enlace
de dados de destino sabe quantos caracteres devem vir em seguida e, conseqüentemente,
onde está o fim do quadro. Essa técnica é mostrada na Figura 32(a) para quatro quadros, de
tamanhos 5, 5, 8 e 8 caracteres, respectivamente.

Figura 32: Um fluxo de caracteres. (a) Sem erros. (b) Com um erro

O problema com esse algoritmo é que a contagem pode ser adulterada por um erro de
transmissão. Por exemplo, se a contagem 5 no segundo quadro da Figura 32(b) se tornar 7, o
destino perderá a sincronização e não será capaz de localizar o início do quadro seguinte.
Mesmo que o to tal de verificação esteja incorreto, de modo que o destino saiba que o quadro
está defeituoso, ele ainda não terá informações suficientes para saber onde começa o quadro
seguinte. Enviar um quadro de volta à origem solicitando retransmissão também não ajuda,

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 36


pois o destino não sabe quantos caracteres deverão ser ignorados para chegar ao início da
retransmissão. Por essa razão, o método de contagem de caracteres quase não é mais usado.
O segundo método de enquadramento contorna o problema de ressincronização após
um erro, fazendo cada quadro começar e terminar com bytes especiais. No passado, os bytes
iniciais e finais eram diferentes mas, nos últimos anos, a maioria dos protocolos tem utilizado o
mesmo byte, chamado byte de flag, como delimitador de início e de fim, como mostra a Figura
33(a), na qual ele é representado por FLAG. Desse modo, se o receptor perder sincronização,
ele poderá simplesmente procurar pelo byte de flag para descobrir o fim do quadro atual. Dois
bytes de flag consecutivos indicam o fim de um quadro e o início do próximo.

Figura 33: (a) Quadro delimitado por bytes de flag.


(b) Quatro exemplos de sequências de bytes, antes e depois da inserção de bytes.

Ocorre um problema sério com esse método quando dados binários, como programas-
objeto ou números em ponto flutuante, estão sendo transmitidos. É bem possível que o padrão
de bits do byte de flag ocorra nos dados. Em geral, essa situação irá interferir no
enquadramento. Uma forma de solucionar esse problema é fazer com que a camada de enlace
de dados do transmissor inclua um caractere de escape especial (ESC) imediatamente antes
de cada byte de flag "acidental" nos dados. A camada de enlace de dados da extremidade
receptora remove o byte de escape antes de entregar os dados à camada de rede. Essa
técnica é chamada inserção de bytes ou inserção de caracteres. Desse modo, é possível
distinguir um byte de flag de enquadramento de um byte nos dados pela ausência ou presença
de um byte de escape antes dele.
É claro que a próxima pergunta é: o que acontecerá se um byte de escape ocorrer em
uma posição intermediária nos dados? Nesse caso, ele também será preenchido com um byte
de escape. Desse modo, qualquer byte de escape isolado faz parte de uma seqüência de
escape, enquanto o byte de escape duplicado indica que um único escape ocorreu
naturalmente nos dados. Alguns exemplos são mostrados na Figura 33(b). Em todos os casos,
a sequência de bytes entregue após a remoção dos bytes inseridos é exatamente igual à
sequência de bytes original.
O esquema de inserção de bytes representado na Figura 33 é uma ligeira simplificação
do que é utilizado no protocolo PPP que a maioria dos computadores domésticos emprega
para se comunicar com seu provedor de serviços da Internet.
Uma das principais desvantagens da utilização desse método de enquadramento é que
ele depende da utilização de caracteres de 8 bits. Nem todos os códigos de caracteres utilizam
caracteres de 8 bits. Por exemplo, o UNICODE emprega caracteres de 16 bits. À medida que
as redes se desenvolveram, as desvantagens da inclusão do comprimento do código de

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 37


caracteres no mecanismo de enquadramento se tornaram cada vez ma is óbvias; portanto,
uma nova técnica teve de ser desenvolvida para permitir o uso de caracteres com tamanhos
arbitrários.
A nova técnica permite que os quadros de dados contenham um número arbitrário de
bits e possibilita a utilização de códigos de caracteres com um número arbitrário de bits por
caractere. De acordo com essa técnica, cada quadro começa e termina com um padrão de bits,
01111110 (na verdade, um byte de flag). Sempre que encontra cinco valores 1 consecutivos nos
dados, a camada de enlace de dados do transmissor insere um bit 0 no fluxo de bits que está
sendo enviado. Essa inserção de bits é semelhante à inserção de bytes, na qual um byte de
escape é inserido no fluxo de caracteres enviado antes de ocorrer um byte de flag nos dados.
Ao ver cinco bits 1 consecutivos sendo recebidos, seguidos por um bit 0, o receptor
remove automaticamente o bit 0. A inserção de bits, assim como a inserção de bytes, é
completamente transparente para a camada de rede de ambos os computadores. Se os dados
do usuário contiverem o padrão de flag 01111110, esse flag será transmitido como 011111010,
mas será armazenado na memória do receptor como 01111110. A Figura 34 mostra um
exemplo de inserção de bits.

Figura 35: Inserção de bits. (a) Os dados originais. (b) Como os dados são exibidos na linha.
(c) Como os dados são armazenados na memória do receptor após a remoção de bits

Com a inserção de bits, o limite entre dois quadros pode ser reconhecido sem qualquer
tipo de ambiguidade pelo padrão de flags. Desse modo, se o receptor perder o controle de
onde estão os dados, bastará varrer a entrada em busca de sequências de flags, pois elas
nunca ocorrem dentro dos dados, apenas nos limites dos quadros.
O último método de enquadramento só se aplica a redes nas quais a decodificação no
meio físico contém algum tipo de redundância. Por exemplo, algumas LANs codificam 1 bit de
dados utilizando 2 bits físicos. Normalmente, um bit 1 é um par alto-baixo, e um bit 0 é um par
baixo-alto. O esquema significa que todo bit de dados tem um a transição intermediária,
facilitando a localização dos limites de bits pelo receptor. As combinações alto-alto e baixo-
baixo não são usadas para dados, mas são empregadas na delimitação de quadros em alguns
protocolos.
Uma observação final a respeito do enquadramento: para proporcionar uma segurança
ainda maior, muitos protocolos de enlace de dados utilizam uma combinação de contagem de
caracteres com um dos outros métodos. Quando um quadro é recebido, o campo de contagem
é utilizado para localizar o fim do quadro. O quadro só é aceito como vá lido se o delimitador
correto estiver presente na posição adequada e se o total de verificação estiver correto. Caso
contrário, será preciso examinar o fluxo recebido em busca do delimitador seguinte.

3.3 Detecção e Correção de Erros


Em um sistema de comunicação pode se dizer que é normal a ocorrência de erros, pois
funciona por troca de mensagens a todo instante de um local com outro. Os erros podem ser
causados por interferências eletromagnéticas, envelhecimento de componentes, curto-circuito,
que acabam afetando as mensagens, fazendo com que, por exemplo, um “0” seja enviado, e
na transmissão acaba sendo transformado em “1”, ou seja, receptor recebe informação
diferente daquela que foi enviada.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 38


3.3.1 Detecção de Erros
Em detecção de erros, já definido, pode ser utilizado por diversos métodos como:
Método de repetição, método de paridade, Checksum, método de redundância cíclica e códigos
de Hamming. Estes métodos, seguindo seus próprios conceitos, irão de alguma maneira,
detectar o erro para passar a correção de erros. O que tem em comum entre todos estes
métodos é a utilização de inserção de bits extras, funcionando de uma maneira fácil de
compreender: emissor enviar junto à informação original bits a mais, então o receptor calcula
estes bits a mais, enviados, bits extras.

Método de repetição
Este método é considerado problemático, muito comum, sem muita eficiência, pois ao
enviar uma mensagem, são enviados três repetições desta mensagem, ou seja, um método
que apenas envia repetições da mensagem e, a partir da comparação destas mensagens se
detecta se há ou não erro.
Vamos trabalhar em cima de um exemplo para melhor entender este método: se
pretender enviar a mensagem “Hello World” será enviado “Hello World Hello World Hello
World”. Então se caso chegasse ao receptor a mensagem “Hello World Hello World Hello Torld”
este método observa que há uma discordância nas mensagens então detecta o erro.
A má eficiência deste método está no caso de enviar as três vezes uma mensagem e
estas três estiverem erradas. Para melhor entender sua pouca eficiência, vamos pegar o
mesmo exemplo da mensagem “Hello World”. O emissor pode enviar “Hello World”, pode
ocorrer o erro sendo transformado em “Hello Torld” e então chegará ao receptor a seguinte
mensagem: “Hello Torld Hello Torld Hello Torld”, ou seja, aqui está o problema deste método,
pois a mensagem irá ser considerada como correta, não detectando erro algum.

Método de Paridade
O método de paridade também é considerado ineficiente, porém é o mais utilizado na
detecção de erros. Ele consiste em ser adicionado, pelo transmissor, um bit de redundância (bit
de paridade) após ou antes da sequência de bits que pertence à mensagem. Esse bit
adicionado segue a seguinte regra:
• caso apareça o bit “1” número ímpar de vezes é adicionado 1, exemplo: 0100101
paridade = 1;
• caso apareça o bit “1” número par de vezes é adicionado 0, exemplo:
010101010010100, paridade = 0;

Vamos aqui dar um exemplo que dê certo. O caractere H na mensagem “Hello world” é
dado em bits por: 1000001. Em seguida, o bit de paridade é calculado e depois enviado:
1000001x, ou seja, existem dois bit “1” então seu bit de paridade é par, adicionando bit de
paridade “0”, sendo enviado: 10000010. No receptor, esse calcula a paridade da mensagem
enviada com o bit de paridade x adicionado, observa que x = paridade então determina
mensagem correta.
Em caso de erro, vamos citar um exemplo. Há o envio do bit “00101”, sendo primeiro “0”
como o bit de paridade, porém o receptor recebe o seguinte código: “00001”, ou seja, o circuito
de verificação de paridade percebe que há apenas um único “1”, isto é impar, então é
detectado o erro.

Checksum
Este método é muito simples e fácil de compreender, consiste em transmitir todas as
palavras junto com o resultado da soma dos bits delas. Vamos trabalhar em cima de um
exemplo para compreender melhor:
Dado os dados iniciais de duas palavras de 8 bits: 00111101 00001101, estes valores
são somados dando resultado ao checksum: 01001010.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 39


00111101+00001101 = 01001010 → Checksum
10110101 → Checksum invertido

O emissor envia o checksum invertido ao receptor. Em seguida, como o próprio nome


desse método já diz, no receptor as palavras são novamente somadas e comparadas com
checksum que foi enviado, ou seja, checar a soma.
Para a detecção de algum erro, se em qualquer um dos dados transmitidos tiver algum
erro este será descoberto, pois no receptor é recalculado e ocorre a soma do novo checksum
com o checksum enviado que terá um resultado diferente de “1”.

Redundância cíclica (CRC)


Caracterizado por ser de boa eficiência, que funciona basicamente em cima de uma
concordância polinomial gerador “G(x)”, que quanto maior o grau deste G, maior a eficiência
desse método para detectar um erro. Deixamos claro aqui que o neste polinômio, o bit de maior
e menor ordem devem obrigatoriamente ser iguais a 1.
Seguindo o exemplo: palavra inicial: 10110001, o polinômio p(x) é igual aos bits da
palavra inicial somada com bits de paridade, além disso, deve ser divisível pelo polinômio
gerador G(x), ou seja, deve ter resto “0”, caso contrário houve erro.
Ocorrendo erro, para detectar, este método faz com que o receptor receba T(x)+E(x) em
vez de receber o polinômio T(x) apenas, destacando que cada bit “1” em E(x) corresponde um
bit inverso e,pegando T(x) e dividir por G(x) o resultado será sempre “0”.
Observando o exemplo: tendo a mensagem com bits 10111011, é calculado o polinômio
do gerador, utilizando a fórmula: G(x) = x4 + x + 1 resultando em 10011, conforme a mensagem
já citada e, para enviar ao receptor é adicionado nessa mensagem ainda a quantidade de zeros
determinado pela equivalência do grau do gerador G(x), ficando como: 10111011 0000. Logo
em seguida é feita a divisão da mensagem original sem os zeros do gerador com o polinômio
gerador utilizando a operação XOR, ou seja:

101110110000 / 10011

No fim desta divisão sobra resto 01111, que é adicionado à mensagem original ficando:
101110111111, e é aqui com este código a mais que se detecta se houver erro, pois no receptor
é novamente calculado este mesmo resto e caso não de o mesmo resultado é detectado e
avisado o erro.

3.3.2 Correção de Erros


Os métodos descritos acima são suficientes para determinar se houve ou não um erro
na transmissão de uma mensagem. Mas nas maiorias das vezes isto não é suficiente. As
mensagem têm que ser recebidas sem erros e o mero conhecimento de que existiu um erro
não chega. É preciso determinar exatamente qual foi o erro e depois corrigi-lo. Se tratando de
correção de erros em pacotes, temos algumas alternativas.

Pedido Automático de Repetição (ARQ - Automatic Repeat reQuest)


Utiliza a repetição como método de correção de erros em quadros. O receptor informa o
emissor de que não ocorreram erros na transmissão, enviando um aviso de recepção (ACK).
Se depois de um tempo o emissor não tiver recebido essa ACK, significa que o bloco possuía
erros. Então o bloco é enviado de novo até que exceda um certo número de repetições de
envio, ou até que a ACK seja recebida.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 40


Código de Hamming
Essa técnica adiciona bits de redundância (paridade) a um bloco de dados, permitindo a
detecção de até dois bits de erro ou a correção de 1 bit. A adição dessa redundância ocorre nos
bits de ordem com potência de dois (bits 1, 2, 4, 8, …). Para se determinar a quantidade de bits
adicionais (bits de Hamming), deve-se obedecer a seguinte regra: d + p <= 2^p - 1, onde d é o
número de bits de dados e p o número de bits de paridade. O limite máximo de bits de dados
que determinado número de bits de Hamming podem analisar é representado pela condição de
igualdade. O código é representado pela dupla (c,d), onde c representa o número total de bits
(dados + Hamming) e d representa o número de bits de dados.
O algoritmo funciona da seguinte forma: para cada bit de dado com o valor 1, escreve-se
em binário a sua posição. Por exemplo, se for o bit 3, representamos 011, se for o 5, 101. Em
seguida, faz-se o XOR entre as posições, 2 a 2. O resultado final identifica o valor dos bits de
Hamming, em ordem invertida. Por exemplo, se o resultado for 100, significa que o primeiro bit
de Hamming é 0, o segundo também, e o terceiro é 1.
Na decodificação, realiza-se um processo semelhante. Para cada bit com valor 1,
escreve-se sua posição em número binário e aplica-se a operação XOR aos valores obtidos.
Se o resultado for 0, não houve erros na transmissão, caso contrário, o resultado representa a
posição em que se encontra o erro. Por exemplo, se o resultado for 101, quer dizer que o bit 5
está incorreto.
Vamos exemplificar com uma mensagem de 8 bits a ser enviada, com 4 bits de
Hamming. Considere a mensagem m1m2m3m4m5m6m7m8 a ser transmitida. A esse dado de 8 bits,
vamos acrescentar 4 bits, formando o seguinte código de Hamming de 12 bits:
x1x2x3x4x5x6x7x8x9x10x11x12, onde x3 = m1, x5 = m2, x6 = m3, x7 = m4, x9 = m5, x10
= m6, x11 = m7 e x12 = m8. Os 4 bits adicionais x1, x2, x4 e x8 são calculados como é
mostrado a seguir:

x1 = x3 ⊕ x5 ⊕ x7 ⊕ x9 ⊕ x11
x2 = x3 ⊕ x6 ⊕ x7 ⊕ x10 ⊕ x11
x4 = x5 ⊕ x6 ⊕ x7 ⊕ x12
x8 = x9 ⊕ x10 ⊕ x11 ⊕ x12

Para verificar os bits recebidos, suponha que seja recebida a mensagem


y1y2y3y4y5y6y7y8y9y10y11y12. Fazemos então os seguintes cálculos:

k1 = y1 ⊕ y3 ⊕ y5 ⊕ y7 ⊕ y9 ⊕ y11
k2 = y2 ⊕ y3 ⊕ y6 ⊕ y7 ⊕ y10 ⊕ y11
k3 = y4 ⊕ y5 ⊕ y6 ⊕ y7 ⊕ y12
k4 = y8 ⊕ y9 ⊕ y10 ⊕ y11 ⊕ y12

Se k1 = k2 = k3 = k4 = 0, não houve nenhum erro na transmissão. Caso contrário, a


sequência k4k3k2k1 determina a posição do bit errado. Por exemplo, k4k3k2k1 = 0111, o bit
y7 está errado.

Correção Antecipada de Erros (FEC - Forward Error Correction)


A Correção Antecipada de Erros ou FEC (Forward Error Correction) — uma aplicação de
código de correção de erro (ECC - Error Correcting Code) — é um código no qual cada sinal de
dados está em conformidade com regras específicas de construção. Os desvios dessas regras
podem ser detectados e corrigidos. Esta técnica é normalmente usada em armazenamento de
dados no computador (por exemplo: memória flash) e em transmissões de dados.
Ele faz uso de um aumento significativo da informação de controle para corrigir o erro.
Por isso eles são usados somente em situações específicas em que não haja outra alternativa,

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 41


por exemplo numa transmissão "Simplex" (unidirecional). Se houver erro este mecanismo irá
recorrer a um ou mais esquemas de detecção referidos anteriormente para saber exatamente
em que bit(que varia entre 1 ou 0) está o erro para inverter esse bit.
Alguns códigos podem detectar e corrigir um certo número de bits de erros. Se apenas
corrigirem um erro, são chamados códigos de correção de erro único, ou SEC - Single Error
Correcting, e os que conseguem detectar dois erros são chamados de detecção de erro duplo,
ou DED - Double Error Detecting.

3.4 Controle de Fluxo


Outra questão de projeto importante que ocorre na camada de enlace de dados (e
também em camadas mais altas) é aquela em que um transmissor quer enviar quadros mais
rapidamente do que o receptor é capaz de aceitar. Essa situação pode ocorrer com facilidade
quando o transmissor está funcionando em um computador rápido (ou levemente carregado) e
o receptor está utilizando um computador lento (ou fortemente carregado).
O transmissor fica "bombeando" os quadros em alta velocidade até o receptor ser
totalmente "inundado". Mesmo que a transmissão não contenha erros, em um determinado
ponto o receptor não será capaz de tratar os quadros à medida que eles chegam e começará a
perder alguns deles. Sem dúvida, algo deve ser feito para impedir que essa situação ocorra.
São usadas comumente duas abordagens. Na primeira, chamada controle de fluxo
baseado em feedback, o receptor envia de volta ao transmissor informações que permitem ao
transmissor enviar mais dados, ou que pelo menos mostram ao transmissor qual a situação
real do receptor. Na segunda, chamada controle de fluxo baseado na velocidade, o protocolo
tem um mecanismo interno que limita a velocidade com que os transmissores podem enviar os
dados, sem usar o feedback do receptor.
Existem diversos esquemas de controle de fluxo. No entanto, a maioria deles utiliza o
mesmo princípio básico. O protocolo contém regras bem definidas sobre quando um
transmissor pode enviar o quadro seguinte. Com frequência, essas regras impedem que os
quadros sejam enviados até que o receptor tenha concedido permissão para transmissão,
implícita ou explicitamente.

3.4.1 Stop-and-Wait (Pare-e-Espere)


Por meio desse algoritmo, o transmissor só envia o próximo quadro quando receber uma
confirmação ou reconhecimento (chamado de ACK, do inglês, Acknowledgement) do último
quadro enviado. Há a retransmissão do último quadro enviado se um tempo máximo de espera
pelo ACK for excedido (evento chamado de timeout).

Figura 36: Exemplo do protocolo Stop-and-Wait sem erros (esq.) e com um evento de timeout (dir.)

Como é ineficiente transmitir apenas um quadro e esperar a sua confirmação, insere-se


o conceitos de janelas deslizantes, em que um conjunto de quadros é transmitido e, ao se
receber confirmações desses pacotes, a janela “desliza” e novos quadros tornam-se aptos para

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 42


serem enviados, melhorando a vazão dos pacotes. Essa técnica (também chamada de
pipelinning) é utilizada pelos algoritmos Go-Back-N e Selective Repeat.

3.4.2 Go-Back-N
Esse algoritmo transmite até N quadros sem receber confirmação, quando então espera
os ACK antes de enviar mais quadros. Caso exceda o timeout de uma dos quadros enviados,
retransmite todas os quadros a partir daquele não confirmado. Esse mecanismo usa janela
deslizante para controlar o envio dos pacotes.
Já o Go-Back-N ARQ é uma instância específica do protocolo de pedido de repetição
automática (ARQ), no qual o processo de envio continua a enviar uma série de quadros
especificados por um tamanho de janela, mesmo sem receber um pacote de confirmação
(ACK) do receptor. É um caso especial do protocolo geral de janela deslizante com o
tamanho da janela de transmissão N e o tamanho da janela de recepção 1. Ele pode
transmitir N quadros ao par antes de exigir um ACK.
O processo receptor acompanha o número de sequência do próximo quadro que espera
receber. Ele descartará qualquer quadro que não tenha o número de sequência exato esperado
(seja um quadro duplicado já confirmado ou um quadro fora de ordem que espera receber mais
tarde) e enviará um ACK para o último correto na ordem quadro. Assim que o remetente enviar
todos os quadros em sua janela, ele detectará que todos os quadros desde o primeiro quadro
perdido estão pendentes e voltará ao número de sequência do último ACK recebido do
processo receptor e preencha sua janela começando com aquele quadro e continue o processo
novamente.

Figura 37: Funcionamento básico do algoritmo Go-Back-N

3.4.3 Selective Repeat (Repetição Seletiva)


Por meio do Selective Repeat (SR), o transmissor envia até N quadros sem receber
confirmação, quando então espera os ACK antes de enviar mais quadros. Caso exceda o
timeout de uma dos quadros enviados, retransmite somente esse pacote.
Uma das diferenças desse algoritmo para o Go-Back-N é que ele utiliza duas janelas
(recepção e transmissão) do mesmo tamanho. Outra diferença é que o SR descarta (rejeita)
apenas os quadros com erro. Desse modo, quadros corretos subsequentes a um quadro com
erro (ou perdido) são aceitos. Assim, é necessário bufferizar quadros no receptor. Ou seja, o

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 43


SR minimiza retransmissões porém exige um controle mais complexo (bufferização dupla).
Um técnica utilizada tanto pelo Go-Back-N quanto pelo Selective Repeat consiste em
retardar temporariamente as confirmações e enviá-las junto com o próximo quadro de dados é
conhecida pelo nome de piggybacking (superposição).

Figura 38: Funcionamento básico do algoritmo Selective Repeat

Figura 39: Diferenças em eventos de perdas com o Go-Back-N (cima) e Selective Repeat (baixo)

3.5 Acesso ao Meio


Os protocolos de acesso ao meio, regras para acesso ao meio físico, são funções da
camada de enlace do modelo OSI. Na maioria das vezes foram desenvolvidos para uma
topologia particular de rede, embora possam ser usados em qualquer topologia.
Os métodos de acesso podem ser divididos em categorias, como exibido na Figura 40.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 44


Figura 40: Principais protocolos e esquemas de acesso ao meio utilizados na camada de enlace

3.5.1 HDLC
O HDLC (High Level Data Link Control) pertence a uma classe de protocolos que
diferem muito pouco entre si, como o protocolo SDLC (Synchronous Data Link Control) da IBM
em sua rede SNA (System Network Architecture). O HDLC é orientado a bit, em contraposição
aos protocolos orientados a caracteres. Estes consideram como menor unidade para
representação da informação a codificação de um grupo de bits em algum código de caracteres
(ASCII e EBCDIC por exemplo). Nos protocolos orientados a bits um quadro é constituído por
um número arbitrário de bits.
As funções executadas neste protocolo são a delimitação de início e final de quadro; a
transparência de transmissão; o controle de erros (com detecção de quadros com erros,
confirmação positiva de recebimento, temporização e retransmissão); controle de fluxos e
controle de sequência.
O quadro HDLC possui o campo verificador de erro (Checksum) serve para detectar
erros de transmissão e utiliza a técnica de CRC e usa o polinômio gerador – x16 + x12 + x5 +
1. Principais características:
• Protocolo orientado a bit
• Utilizado na recomendação do padrão X.25
• Modo de operação síncrona
• Pode operar em modo de resposta assíncrona nas duas direções
• Desenvolvendo uma função primária e secundária
Transmissão de dados através de frames:
• Transparência dos dados garantida pela técnica bit stuffing
• Utiliza o método de janela deslizante (sliding window) na transmissão
Protocolo orientado a conexão, contendo operações para:
• Estabelecer, reinicializar e encerrar conexão
• Transmitir dados

3.5.2 PPP
O PPP (Point-to-Point Protocol ) é um protocolo para transmissão de pacotes através de
linhas seriais. O protocolo PPP suporta linhas síncronas e assíncronas. Normalmente ele
tem sido utilizado para a transmissão de pacotes IP na Internet. O PPP é projetado para
transportar pacotes através de uma conexão entre dois pontos. A conexão entre os pontos

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 45


deve prover operação full-duplex sendo assumido que os pacotes são entregues em ordem.
Estas características são desejadas para que o PPP proporcione uma solução comum para a
conexão de uma grande variedade de hosts e roteadores.
O PPP é usado sobre muitos tipos de redes físicas incluindo cabo serial, linha telefônica,
linha tronco, telefone celular, enlaces de rádio especializados e enlaces de fibra ótica como
SONET. O PPP também é usado sobre conexões de acesso à Internet. Provedores de serviços
de Internet têm usado o PPP para acesso discado à Internet pelos clientes.
O PPP é composto basicamente de três partes, sendo que a interação entre elas
obedece a um diagrama de fases:
• Encapsulamento de datagramas;
• Link Control Protocol ( LCP );
• Network Control Protocols ( NCPs );

O encapsulamento do PPP provê multiplexação de diferentes protocolos da camada de


rede simultaneamente através do mesmo link. Este encapsulamento foi cuidadosamente
projetado para manter compatibilidade com os suportes de hardware mais utilizados. Somente
8 octetos adicionais são necessários para formar o encapsulamento do PPP se o compararmos
ao encapsulamento padrão do frame HDLC. Em ocasiões em que a largura de banda é crítica o
encapsulamento e o frame podem ser encurtados para 2 ou 4 octetos. Para suportar
implementações de alta velocidade, o encapsulamento padrão usa somente campos simples,
desta forma o exame do campo para a demultiplexação se torna mais rápida.
O Link Control Protocol (LCP) é usado para automaticamente concordar sobre as
opções de formato de encapsulamento, lidar com variações nos limites de tamanho dos
pacotes, detectar loops infinitos, detectar erros de configuração, iniciar e terminar a conexão.
Opcionalmente, o LCP pode prover facilidades de autenticação de identificação e determinação
de quando o link está funcionando apropriadamente ou quando está falhando.
O Network Control Protocols (NCP) é composto por uma família de protocolos de rede.
Ele estabelece e configura os diferentes protocolos na camada de rede que serão utilizados
pelo PPP. Links ponto-a-ponto tendem a agravar alguns problemas comuns a diversas famílias
de protocolos de rede. Por exemplo, atribuição e gerenciamento de endereços IP é
especialmente difícil sobre circuitos comutados com links ponto-a-ponto. Estes problemas são
tratados pela família de NCPs onde é necessário um gerenciamento específico para cada
problema.
Dois derivados do PPP; o Point-to-Point Protocol over Ethernet (PPPoE), em português
protocolo ponto a ponto sobre Ethernet, e Point-to-Point Protocol over ATM (PPPoA), em
português Protocolo ponto a ponto sobre ATM, são usados mais comumente por Provedores de
Serviços de Internet para estabelecer uma conexão de serviços de Internet de Linha Digital de
Assinante (ou DSL) com seus clientes.

3.5.3 FDM/OFDM
O FDM (Frequency Division Multiplexing) consiste em utilizar múltiplos sinais portadores
simultaneamente através de um único caminho para transmitir dados. Os sinais viajam por um
único intervalo de frequência modulado pelos dados. Para evitar interferências ocorre o uso
de parte da banda para garantir isolamento entre frequências.
A técnica OFDM (Orthogonal Frequency Division Multiplexing) possibilita um uso mais
eficiente e otimizado da largura de banda alocada através da distribuição dos dados por
múltiplos portadores com espaçamento preciso. Desta forma, cada portadora é identificada
de forma única, eliminando a necessidade de reservar parte da banda para isolamento.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 46


Figura 41: Exemplo de largura de banda utilizada pela (a) FDM e (b) OFDM

3.5.4 TDM
De acordo com o esquema TDM (multiplexação por divisão de tempo), ocorre uma
multiplexação que divide o tempo em quadros, dentro dos quais existem N compartimentos,
onde N é igual ao número de computadores. Para uma dada TDM taxa de transmissão em bits
são alocados slots (intervalos) no tempo para cada canal de comunicação.

Figura 42: Funcionamento do protocolo TDM

3.5.5 CDMA
A tecnologia CDMA (multiplexação por divisão de código) é um sistema de múltiplo
acesso que permite a separação de sinais que coincidam no tempo e na frequência. Todos os
sinais compartilham o mesmo espectro de frequência, mas cada sinal é codificado através
de um código específico para cada usuário, e espalhado por toda largura de banda, como um
ruído para todos os usuários. A identificação e demodulação do sinal ocorrem no receptor,
quando é aplicada uma réplica do código utilizado para o espalhamento de cada sinal na
transmissão. Este processo retorna com o sinal de interesse, enquanto descarta todos os
outros sinais como sendo interferência.

3.5.6 Aloha
O ALOHA permite que qualquer computador transmita em um dado momento, mas
estabelece que cada computador deve adicionar um checksum no fim de sua transmissão para
permitir que o(s) receptores(s) identifiquem se o frame foi corretamente recebido.
O ALOHA é portanto um melhor serviço, e não garante que o frame de dados chegue ao
recipiente remoto sem estar corrompido. Uma rede ALOHA somente trabalha bem quando o
meio tem uma baixa utilização, tendo consequentemente uma baixa probabilidade de colisão e
uma menor probabilidade de que os dados estejam corrompidos. Existem dois tipos de
protocolo ALOHA: Pure ALOHA e Slotted ALOHA.
Com o Pure Aloha (Aloha Puro), é permitido às estações acessar o canal sempre que
tiverem dados a transmitir. Cada estação deve monitorar sua transmissão no broadcast ou
esperar um reconhecimento da estação de destino. Comparando o pacote transmitido com o
pacote recebido ou pela falta de um reconhecimento, a estação transmissora pode determinar
o sucesso do pacote transmitido. Se a transmissão for mal sucedida ocorrerá uma
retransmissão após uma quantidade aleatória de tempo para reduzir a probabilidade de uma

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 47


nova colisão. Vantagens:
– Superior a atribuição fixa quando houver um grande número de estações bursty.
– Adapta-se ao número variado de estações.
Desvantagens:
– Throughput Máximo (teórico) de 18,4%.
– Requer buffers enfileirados para a retransmissão dos pacotes.
No Slloted Aloha, uma estação transmitirá um pacote apenas no limite disponível do seu
slot (Similar ao que ocorre no TDM). Caso ocorra uma colisão, cada estação envolvida na
colisão retransmite após algum tempo aleatório a fim reduzir a possibilidade de nova colisão.
Se o limite imposto na retransmissão aleatória do pacote for muito curto, a probabilidade de
nova colisão é elevada, porém se o limite for muito longo, existirá um alto atraso na
retransmissão.

3.5.7 CSMA
A Ethernet usa um refinamento do protocolo ALOHA, conhecido como Carrier Sense
Multiple Access (CSMA) que melhora desempenho quando houver um tráfego alto de dados.
Quando um host tiver dados para transmitir, ele escuta o cabo primeiro (usando um
transceptor) para ver se existe portadora (sinal) e inicia a transmissão para outra estação. Os
dados são enviados somente quando nenhuma portadora é observada no meio físico. Qualquer
host que não precisa transmitir, escuta para ver se outro host começa a transmitir alguma
informação.
Porém, isto só não pode prevenir dois host que transmitirem ao mesmo tempo. Se dois
deles tentam simultaneamente transmitir, então ambos poderiam ver um médio físico inativo
(i.e. nenhum verá o sinal de portadora), e ambos concluirão que nenhum outro host está
usando o médio atualmente. Neste caso, decidirão transmitir e então haverá uma colisão. A
colisão resultará na corrupção do quadro enviado que será descartado subsequentemente pelo
receptor.
O CSMA/CD identifica quando o meio (canal) está disponível para a transmissão. Neste
momento a transmissão é iniciada. O mecanismo CD (Collision Detection - Detecção de
Colisão), ao mesmo tempo, obriga que os nós escutem a rede enquanto emitem dados, razão
pela qual o CSMA/CD é também conhecido por (LWT) "Listen While Talk" - "escute enquanto
fala".

3.5.8 Passagem de Token


Neste método, existe um pacote especial chamado token que circula entre os
participantes da rede, que tem a topologia lógica de anel.
Se um nó tem algo a transmitir, ele deve esperar a passagem do token. Quanto isso
ocorre, o nó introduz os dados no cabo. Estes percorrerão o cabo até alcançar o nó
destinatário. O nó destinatário copia os dados e devolve o mesmo pacote ao anel, indicando
que ele foi copiado sem erros. Este pacote indicará ao remetente que os dados foram
transmitidos com sucesso, e ele liberará o token livre no anel novamente.
O sistema é livre de colisões, sendo portanto determinístico e, ainda que
quantitativamente menos presente que os métodos de contenção, tem uma presença
importante em sistemas de automação.
As redes que utilizam esta tecnologia apresentam topologia física de estrela, e topologia
lógica de anel.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 48


3.6 Arquitetura IEEE
A arquitetura IEEE 802 define um
conjunto de normas e tecnologias para redes
no escopo das camadas física (PHY) e de
enlace. A camada de enlace é dividida em duas
subcamadas:
• LLC (Logical Link Control): o
equivalente a um protocolo de enlace de
fato, porém nem todo padrão IEEE 802
o utiliza.
• MAC (Medium Access Control): um
protocolo de acesso ao meio de
transmissão, que depende do tipo de
meio físico e tecnologia de
comunicação. Esse tipo de protocolo é
necessário quando o meio de
transmissão é compartilhado, pois ele
Figura 43: IEEE 802
coordena ou arbitra quem transmite a
cada instante.

Alguns padrões conhecidos (lista completa):

• IEEE 802.3 e variações: conhecidos como LAN Ethernet;


• IEEE 802.1: tecnologias para interligação de LANs;
• IEEE 802.11 e variações: conhecidos como WLAN (redes locais sem-fio), o que inclui O
WiFi;
• IEEE 802.15: padrões para WPAN (redes pessoais sem-fio), incluindo Bluetooth;

3.6.1 Protocolo de acesso ao meio (MAC)


O protocolo de acesso ao meio (MAC) é parte da camada de enlace na arquitetura IEEE
802, e tem papel fundamental na comunicação entre estações. O MAC é responsável por:
• Definir um formato de quadro onde deve ser encapsulada uma PDU de um protocolo
de camada superior. Por exemplo, o quadro Ethernet (padrão IEEE 802.3) tem este
formato:

Figura 44: Exemplo de formato de quadro

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 49


• Endereçar as estações, já que o meio de transmissão é multiponto (ver campos
Endereço Destino (destination address) e Endereço de origem (source address) no
quadro Ethernet). Endereços MAC ou físico têm 6 bytes, em que informam o fabricante
(OUI) e o número do adaptador de rede.

Figura 45: Endereço MAC e como pode ser encontrado em alguns sistemas operacionais

3.6.2 Padrão IEEE 802.3 – Ethernet


Redes locais Ethernet (padrão IEEE 802.3 e extensões) são compostas de
equipamentos que se comunicam, denominados estações (STA na padrão IEEE 802.3), de
equipamentos que os interligam (hubs e switches), e do meio de transmissão. Essa tecnologia
interliga as estações, de forma todas estações em uma mesma rede local consigam se
comunicar diretamente.
A rede Ethernet foi concebida em um projeto conjunto das empresas Dec Digital, Xerox e
Intel, nos anos 1970. Originalmente, esse tipo de rede foi projetado na forma de um cabo
coaxial compartilhado entre estações. Essa forma de interligar as estações resultava em uma
topologia em barramento. Em cada estação, uma interface de rede (também chamada de
adaptador) se conecta ao cabo coaxial por meio de um transceiver. cabia ao transceiver
codificar o sinal digital da interface para ser transmitido pelo cabo coaxial, e vice-versa. Por fim,
a interface era responsável por enviar e receber quadros (frames), buscando evitar transmitir
algo enquanto o cabo coaxial estivesse ocupado.
Hoje em dia, as redes locais Ethernet não usam cabos coaxiais. Ao invés disso, elas são
implantadas com cabos de par trançado ou fibra ótica, em topologias do tipo estrela, árvore,
anel, e possivelmente outras. As estações são interligadas por meio de switches, que são
equipamentos concentradores que comutam quadros entre as estações.
A estrutura de uma rede Ethernet é mais complexa do que o modelo inicial, como
apresentado anteriormente, porém proporciona uma eficiência muito maior nas comunicações.
Além de oferecer taxas de dados muito superiores, as redes Ethernet atuais com switches
eliminaram o problema das colisões, que reduzia a taxa de dados efetiva em redes com muitas
estações.
O padrão sofreu um grande número de atualizações e extensões desde sua concepção
nos anos 1980. Por exemplo, em sua primeira versão uma rede ethernet apresentava taxa de
transmissão de 10 Mbps em half-duplex, porém atualmente essas redes operam em 1 Gbps em
modo full-duplex. Na realidade, já existem versões em uso com taxas de 10 Gbps, e outras
mais recentes com taxas de até 100 Gbps. Os seguintes são os padrões mais conhecidos:
• 802.3 – Ethernet Clássica: taxas de transmissão de até 10 Mbps;
• 802.3u – Fast Ethernet: taxas de transmissão de até 100 Mbps;
• 802.3z – Gigabit Ethernet: taxas de transmissão de até 1000 Mbps (ou 1 Gbps);
• 802.3ae – 10 Gigabit Ethernet: taxas de transmissão de até 10000 Mbps (ou 10 Gbps);

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 50


3.6.3 Padrão IEEE 802.11 – Wireless LAN (WiFi)
A indústria da tecnologia sempre buscou implementar uma rede sem fio. E isso não foi
nada simples: a falta de padronização de normas e especificações era um dos principais
problemas, pois existiam muitos grupos de pesquisa que apresentavam propostas bem
diferente uma das outras. A solução foi colocar a frase “a união faz a força” em prática.
Gigantes como 3Com, Nokia, Alcatel-Lucent e Symbol Technologies (adquirida pela Motorola)
criaram, no ano de 1999, um grupo capaz de discutir o tema: o Wireless Ethernet Compatibility
Alliance (WECA), que passou a se chamar Wi-Fi Alliance em 2003. Hoje, o número de
empresas que faz parte do consórcio chega a 300. Em tempo: o termo Wi-Fi quer dizer um
conjunto de especificações para redes locais sem fio (WLAN – Wireless Local Area Network)
baseada no padrão IEEE 802.11. O nome “Wi-Fi” é como uma abreviatura do termo inglês
“Wireless Fidelity“, embora isso nunca tenha sido confirmado.
Desta forma, a WECA passou a trabalhar com as especificações IEEE 802.11 que, na
verdade, não são muito diferentes das especificações IEEE 802.3. Este último conjunto é
conhecido pelo nome Ethernet e consiste na maioria das tradicionais redes com fio.
Essencialmente, o que muda de um padrão para o outro são suas características de conexão:
um tipo funciona com cabos, o outro, por radiofrequência.
O padrão 802.11 estabelece normas para a criação e o uso de redes sem fio. A
transmissão deste tipo é feita por sinais de radiofrequência, que se propagam pelo ar e podem
cobrir áreas por centenas de metros. Como existem inúmeros serviços que podem utilizar
sinais de rádio, é necessário que cada um opere de acordo com as exigências estabelecidas
pelo governo de cada país para evitar interferências na sua transmissão. Mesmo assim,
existem segmentos de frequência que podem ser usados sem necessidade de aprovação de
entidades governamentais: um exemplo são as faixas ISM (Industrial, Scientific and Medical),
que podem operar, entre outros, com os seguintes intervalos: 902 MHz – 928 MHz; 2,4 GHz –
2,485 GHz e 5,15 GHz – 5,825 GHz (dependendo do país, esses limites podem sofrer
variações). Como será explicado posteriormente, são justamente estas duas últimas faixas que
o Wi-Fi utiliza. Mas vale destacar que esta característica pode variar conforme a versão do
padrão 802.11.
Antes de conhecer as versões mais importantes do 802.11,saiba que, para uma rede
deste tipo ser estabelecida, é necessário que os dispositivos (também chamados de STA – de
“station“) se conectem a aparelhos que forneçam o acesso. Eles são genericamente
denominados Access Point (AP). Quando um ou mais STAs se conectam a um AP, cria-se,
portanto, uma rede, que é denominada Basic Service Set (BSS).
Por questões de segurança e pela possibilidade de haver mais de um BSS num local, é
importante que cada um receba uma identificação denominada Service Set Identifier (SSID),
um conjunto de caracteres que, após definido, é inserido no cabeçalho de cada pacote de
dados da rede. Resumindo: o SSID nada mais é do que o nome dado a cada rede sem fio.

Figura 46: Variações do padrão IEEE 802.11

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 51


3.6.4 Padrão IEEE 802.15.1 – Wireless PAN (Bluetooth)
A tecnologia sem fio Bluetooth, desenvolvida pela Ericsson em 1994, inclui definições de
software e hardware para transmissões por rádio de curto alcance, baixo consumo de energia e
baixo custo. A diferença entre o padrão Bluetooth e outros padrões wireless é que as
especificações Bluetooth incluem a definição camada de enlace e aplicação para
desenvolvedores de produto. O padrão define uma estrutura uniforme para uma ampla faixa de
dispositivos eletrônicos se comunicarem uns com os outros.
Aplicações remotas devem ser implementadas sob uma pilha de protocolos idêntica para
alcançar interoperabilidade universal. A pilha de protocolos do padrão Bluetooth tem arquitetura
semelhante a outros protocolos de comunicação de dados, por exemplo TCP/IP. Os dados são
transferidos em pacotes que são empacotados/desempacotados no mesmo nível na pilha.

Arquitetura:
• Piconet: – 1 mestre. – Até 7 escravos. – Até 255 estações em parked state.
• As piconets compartilham a mesma faixa de frequência, mas com diferentes sequências
de salto.
• Até 8 piconets em uma scatternet, para um índice de colisão baixo;

3.6.5 Padrão IEEE 802.15.4 – Wireless PAN (ZigBee)


O Padrão ZigBee é um conjunto de especificações para uma rede WPAN (Wireless
Personal Area Network). Foi formulado pelo quarto sub-grupo de tarefas do IEEE na área de
WPAN (802.15.4) também conhecido com WPAN/low-rate. O padrão fornece especificações
para dispositivos que têm baixa taxa de transmissão, consumo de energia muito baixo e
portanto são caracterizados por possuírem bateria de longa duração.
A arquitetura de pilha de protocolo é dividida em camadas, cada uma delas fornece um
específico conjunto de serviços para a camada acima. Uma entidade de dados provê um
serviço de transmissão de dados e uma entidade de gerenciamento provê todos os outros
serviços. Cada entidade de serviço expõe uma interface para a camada superior através de um
SAP (Service Access Point), e cada SAP dá suporte a um conjunto de primitivas de serviço
para alcançar a funcionalidade requerida.

Bluetooth é mais apropriado para aplicações como:


• Sincronização de PCs,
telefones celulares e PDAs;
• Aplicações de áudio como fone
sem fio;
• Transferência de arquivos entre
PDAs, PCs e Impressoras.

Enquanto ZigBee tem melhor


performance em aplicações:
• De Controle;
• Rede de Sensores;
• Redes com muitos dispositivos; Figura 47: Comparação entre ZigBee e Bluetooth
• Com pequenos pacotes de
dados;
• Onde consumo de bateria é crítico.

3.6.6 Padrão IEEE 802.16 – Wireless MAN (WiMAX)


O padrão IEEE 802.16 é uma tecnologia projetada para prover acesso de banda larga
nos últimos quilômetros de uma rede metropolitana (MAN). A capacidade de sobrepor
limitações físicas impostas nas redes a cabo é uma das principais vantagens deste padrão.
Existe uma hierarquia nos padrões sem fio. O padrão IEEE 802.15 é utilizado para redes

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 52


pessoais (PAN), o IEEE 802.11 é usado para redes locais (LAN) e o IEEE 802.16 para redes
metropolitanas (MAN). Cada padrão representa uma tecnologia otimizada para determinado
tipo de mercado e são projetadas de modo a serem complementares entre si.

Figura 48: Hierarquia de padrões IEEE wireless

Em Janeiro de 2003, a IEEE aprovou o padrão 802.16a, que cobre as faixas de


frequências entre 2GHz e 11GHz. As frequências abaixo de 11 GHz possibilitam a performance
sem linha de visada, fazendo com que o padrão 802.16a seja a tecnologia ideal para as
aplicações de Última Milha, onde obstáculos tais como prédios e árvores estão presentes.
A configuração básica deste padrão é formada por uma estação base (montada
geralmente sobre um prédio ou em uma torre) que faz uma comunicação ponto a vários-pontos
com os equipamentos dos assinantes localizados em empresas ou residências. O alcance é de
aproximadamente uma célula de raio entre 6 a 9 quilometros.
A estação base se conecta ao backbone de rede e usa uma antena externa para enviar
e receber dados e voz do equipamento do assinante, eliminando desta forma a necessidade de
longas e caras infraestruturas com fio, proporcionando soluções para a Última Milha com
menor custo e mais flexíveis.
WiMax é a abreviatura de Worldwide
Interoperability for Microwave Access e o
WiMax Forum é uma organização fundada
em abril de 2002 pelos líderes em venda em
equipamento de redes sem fio e
telecomunicações, cuja missão é obter a
aceitação e implementação do padrão IEEE
802.16, cobrindo as bandas de 2 a 11 GHz
das redes metropolitanas sem fio (Wireless
MAN). O Forum busca estabelecer
definições rigorosas para testes e
certificações de produtos. Possuir um
certificado WiMax servirá para comprovar
que um determinado produto corresponde
totalmente as especificações tecnológicas
ditadas pelo WiMax.
As companhias que se uniram ao
WiMax Forun representam mais de 75% dos
rendimentos globais do mercado de BWA Figura 49: Arquitetura básica do WiMAX
(Broadband Wireless Access). Além das
empresas que oferecem BWA, empresas tais como Intel e AT&T também se associaram ao
WiMax Fórum, por observarem que para que a tecnologia sem fio obtenha sucesso e seja
viável para o acesso a banda larga é necessário que haja uma padronização,
interoperabilidade entre equipamentos e estão comprometidas no projeto e desenvolvimento de
soluções utilizando WiMax.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 53


3.7 VLANs
As VLANs – LANs Virtuais (Virtual Local Area Network), em português: redes locais
virtuais são regulamentadas sob a norma IEEE 802.1Q. Este artifício técnico agrupa máquinas
em redes locais Ethernet atribuídas de maneira lógica e não necessariamente física. Assim,
podem ser classificadas como redes logicamente independentes. Para isso usa-se a atribuição
de números em cabeçalhos de pacotes Ethernet. Portanto, é possível definir uma ou várias
VLANs que podem coexistir em um mesmo dispositivo comutador (switch). Assim, dividimos a
rede local (física) em mais de uma rede (virtual), criando domínios de difusão ou broadcast3
independentes.
Assim, deste modo são adicionados rótulos (tags) de 32 bits em cabeçalhos de quadros
(frames) Ethernet. O propósito é dizer aos elementos comutadores (switches, bridges) da
camada de enlace para trocarem entre si, unicamente quadros que contenham um mesmo
número (VLAN ID).

Figura 50: Formato de um quadro IEEE 802.1Q

O uso de VLANs ainda possibilita colocar em um mesmo domínio de broadcast, hosts


com localizações físicas distintas e ligadas em switches diferentes. Outro propósito de uma
rede virtual é restringir acesso a recursos de rede sem considerar a topologia física da rede.
Correspondem a benefícios do uso de VLANs:
• Primeiramente, ganho em segurança, porque as informações encapsuladas são
analisadas, processadas, ou rejeitadas;
• Isola setores ou sistemas que tenham informações sigilosas ou restritas do restante da
rede;
• Há a redução da possibilidade de acesso não autorizado;
• Melhor administração e flexibilidade para alterações da rede por simples configuração de
switches;
• Diminuição da divulgação do tráfego sobre a rede (broadcast);
• Facilita separação de projetos especiais;
• Com correta configuração permite aumento do desempenho e largura de banda;
• Separação de departamentos, de funções ou cargos específicos.

3 O domínio de broadcast consiste em um conjunto de dispositivos que recebem qualquer pacote broadcast originário de
qualquer dispositivo dentro do segmento de rede. Todas as portas de um hub ou de um switch pertencem ao mesmo
domínio de broadcast. O domínio pode ser segmentado por um roteador, no qual cada porta do roteador representa um
domínio de broadcast distinto. Outra forma de segmentar o domínio de broadcast é através de uma VLAN.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 54


3.7.1 Motivação do uso de VLANs
Vamos analisar o que motivou a criação das VLANs. Imagine uma corporação que
possua muitos departamentos conectados a uma rede local (LAN); cujo crescimento acelerado
impossibilitou um projeto ordenado de expansão da rede.
Os diversos empregados de cada departamento não estão necessariamente
concentrados em um único local físico, mas espalhados pelos prédios e andares da empresa.
Como organizar um domínio para cada setor sem utilizar roteamento?
A solução foi segmentar (dividir) a rede interna em redes virtuais, uma para cada
departamento. As VLANs proporcionaram alta flexibilidade a uma rede local, ideal para
ambientes corporativos. Nele, a todo o momento ocorrem mudanças de empregados,
reestruturações internas, aumento do número de usuários, entre outras situações.
Outro exemplo é a formação de grupos temporários de trabalho. Na atualidade é muito
comum o desenvolvimento de projetos envolvendo diferentes setores de uma empresa. Tais
como marketing, vendas, contabilidade, pesquisa entre outros. Durante o período desse
projeto, a comunicação entre seus membros tende a ser alta. Assim, para conter o trafego
broadcast, pode-se implantar uma VLAN para este grupo de trabalho. Broadcast em redes é
um método de envio de mensagem que é direcionada a todos os receptores.

Figura 51: Um exemplo de um switch configurado para quatro diferentes VLANs

3.7.2 Entendendo VLANs


Com o crescimento e aumento da complexidade das redes, muitas empresas adotaram
as VLANs para organizar o crescimento de maneira lógica. Ainda, com isso também garantir
níveis de segurança e individualizar o tráfego de diferentes tipos de dados. Uma VLAN é uma
junção de nós agrupados em um único domínio broadcast, baseado em outro parâmetro, que
não seja a localização física.
Na maioria dos dispositivos que permitem chaveamento (switches), você pode criar uma
VLAN, simplesmente por uma conexão através de um console Telnet, por exemplo. Depois,
basta configurar os parâmetros dela (nome, domínio e configuração de portas). Você pode criar
mais de uma VLAN em um switch, mas estas redes não podem se comunicar diretamente por
ele sem roteamento. Porque se elas pudessem, não faria sentido o uso de VLAN. Afinal, o
objetivo é isolar uma parte da rede.
As VLANs podem se expandir por vários switches e você pode configurar mais de uma
VLAN em cada switch. Para que múltiplas VLANs em múltiplos switches possam se comunicar
por meio de um link entre os switches, devemos usar um processo chamado trunking que será
abordado posteriormente.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 55


3.7.3 Tipos de VLANs

Foram definidos vários tipos de VLAN, de acordo com o critério de como ela será
identificada ou marcada.

VLAN por porta


A VLAN de nível 1 (também chamada VLAN por porta, ou em inglês Port-Based VLAN).
Esta define uma rede virtual em função das portas físicas de conexão no comutador. Assim, as
VLANs são definidas em função das portas físicas que determinado pacote de informação deva
trafegar. Adicionando-a ou analisando se ela está presente ou não para autorizar (ou não) o
trânsito por essa porta.

VLAN por Mac-Address


A VLAN de nível 2 (chamada VLAN MAC, em inglês MAC Address-Based VLAN),
consiste em definir uma rede virtual em função dos endereços MAC de estações. Este tipo de
VLAN é muito mais flexível que por porta, porque a rede agora se torna independente da
localização física da estação.

VLAN DE Nível 3
As VLANs operam na camada 2 do modelo OSI. No entanto, uma VLAN geralmente é
configurada para mapear diretamente uma rede ou sub-rede IP, o que dá a impressão que a
camada 3 está envolvida.
Enlaces switch-a-switch e switch-a-roteador são chamados de troncos. Um roteador ou
switch de camada 3 serve como o backbone entre o tráfego que passa através de VLANs
diferentes. Uma VLAN de nível 3 subdivide-se em dois tipos:

VLAN por IP
A VLAN por sub-rede (em inglês Network Address-Based VLAN) associa sub-redes de
acordo com o endereço IP fonte dos datagramas (pacotes de camada 3). Então este tipo de
solução confere uma grande flexibilidade, na medida em que a configuração dos comutadores
se altera automaticamente no caso de deslocação de uma estação.
Por outro lado, uma ligeira degradação de desempenhos pode fazer-se sentir, dado que
as informações contidas nos pacotes devem ser analisadas mais detalhadamente.

VLAN por Protocolo


VLAN por protocolo (em inglês Protocol-Based VLAN) permite criar uma rede virtual por
tipo de protocolo (por exemplo, TCP/IP, HTTP, FTP, AppleTalk, etc.), agrupando assim todas as
máquinas que utilizam um protocolo em comum numa mesma rede.

3.7.4 Classificação e regras dos pacotes de dados (Quadros)


As redes locais virtuais trabalham com três tipos básicos de marcação de quadros
(pacotes de camada dois):
• Quadros sem rótulo (Untagged Frames)
• Quadros com rótulo de prioridade (Priority-tagged Frames)
• Quadros com rótulo VLAN (VLAN-tagged Frames)

A decisão de encaminhamento ou não desses pacotes (quadros) é baseada em três regras,


considerando uma implementação baseada em portas:
• Regras de Entrada (Ingress Rules), utilizadas para determinar a quais VLANs pertencem
os pacotes recebidos.
• Regras de Encaminhamento entre Portas, decidem se o pacote deve ser filtrado ou
encaminhado.
• Regras de Saída (Egress Rules), determinam se o quadro deve ser enviado com ou sem
rótulo.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 56


Para propósito de identificação de VLAN, os pacotes com rótulo são tratados igualmente
aos sem rótulo. A questão de priorização é definida por outro padrão, o IEEE 802.1p.
Um pacote com rótulo VLAN carrega uma identificação explícita da sua VLAN de origem
(VID). A presença de um VID não nulo no cabeçalho significa que algum outro dispositivo com
suporte a VLAN marcou esse quadro e, portanto inseriu uma identificação adequada.
Para uma certa VLAN todos pacotes a serem transmitidos devem ser rotulados
obrigatoriamente do mesmo modo nesse segmento. Eles têm que todos serem com rótulo, ou
então todos sem. Podem existir um máximo de 4095 VLANs (212 -1), ou seja, temos um campo
com 12 bits. Concluindo, então por padrão o número zero é usado para indicar que não há um
identificador VLAN.

3.7.5 Modos de acesso de VLANs às portas


Para conexão de VLANs entre diferentes dispositivos eletrônicos existem três formas.
Então, ainda devemos consider que podem ou não suportar o padrão IEEE 802.1Q (VLAN da
VLAN):
• Modo Tronco (Trunk Link) – Trunk, Trunking, ou em português Tronco, é o processo que
permite que as informações de múltiplas VLANs trafeguem em um único link. Um link tronco é
um canal switch–switch ou switch-roteador, por onde passam informações originadas e
destinadas por mais de uma VLAN. Então, todos os dispositivos conectados a um enlace deste
tipo devem, obrigatoriamente, ter suporte à VLANs.
• Modo de Acesso (Access Link) – o enlace em modo acesso conecta dispositivos que não
tenham suporte a VLAN. Assim, obrigatoriamente todos os pacotes neste tipo de enlace não
devem possuir rótulo. O dispositivo sem suporte pode ser um ou vários segmentos da rede
local convencional contendo outros dispositivos também sem suporte ao IEEE 802.1Q.
• Enlace Híbrido (Hybrid Link) – é uma combinação dos dois enlaces anteriores. Portanto,
neste modo, são conectados tanto dispositivos com ou sem suporte a VLAN. Assim,neste tipo
de enlace é possível haver pacotes com (tagged frames) e sem rótulo (untagged frame).

Figura 52: Modo trunk (esq.) e modo acesso (dir.)

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 57


3.8 Elementos Ativos
Elementos ativos são todos os equipamentos geradores, receptores de códigos ou
conversor de sinais eléctricos ou ópticos. Esse conceito contrasta com os dos denominados
passivos, que não interferem com os dados ou sinais que passam por eles e que permitem a
interligação do equipamento ativo.
Os ativos de rede referem-se aos equipamentos que facilitam e dão suporte ao uso de
uma rede de computadores, ou seja, são os meios físicos necessários para a comunicação
entre os componentes participantes de uma rede. São exemplos típicos de dispositivos de
rede: switches, roteadores, concentradores, repetidores, adaptadores de rede, modem,
gateway, bridge, firewall, pontos de acesso sem fio (também chamado de access point ou
roteador Wifi doméstico), e outros hardwares relacionados.

Figura 53: Simbologia de alguns elementos ativos de rede

3.8.1 Modem
Um modem consiste, originalmente, em um dispositivo que converte sinal analógico para
digital e vice-versa. O nome reflete com precisão essa caraterística, pois vem da combinação
das palavras em inglês MODulator (modulador) e DEModulator (demodulador). Para que você
possa entender o que isso significa, convém olharmos um pouquinho para o passado.
Nos primeiros anos da Internet como a conhecemos, os acessos eram feitos
basicamente por meio da exploração das redes de telefonia fixa. O problema é que essas
redes foram desenvolvidas para transmissão de informação (voz) por meio de sinal analógico,
não para tráfego de sinal digital (dados).
É aqui que o modem entra em cena. Cabe a esse dispositivo converter o sinal digital
para analógico (processo conhecido como modulação), assim como converter sinal analógico
em digital (demodulação).
De modo resumido, o processo de demodulação funciona assim: o provedor de Internet
transmite o sinal por meio da rede de telefonia, o modem o recebe e, na sequência, o converte
em digital para transmissão ao computador que está conectado a ele.
Já no processo de modulação, os dados oriundos do computador são convertidos em
sinal analógico para que possam ser demodulados no outro extremo da conexão.
Esse tipo de modem foi predominante por alguns anos, durante o tempo em que as
chamadas conexões discadas eram as mais comuns. Naquela época (a década de 1990 e
início dos anos 2000, basicamente), os modems trabalhavam com largura de banda de apenas
56 Kb/s.
Como o passar do tempo, as conexões discadas foram substituídas por tecnologias
muito mais rápidas, como ADSL, redes móveis 3G e 4G, fibra óptica, entre outras.
Por conta disso, é comum encontrarmos aparelhos com nomes como modem ADSL,
modem 4G, modem de fibra óptica e assim por diante. Hoje, aceita-se como definição de

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 58


modem qualquer dispositivo que faz a comunicação entre um computador ou uma rede privada
(como o Wi-Fi da sua casa) e a Internet.
O que se conhece como modem de fibra óptica, por exemplo, na verdade é um
dispositivo chamado ONT (Optical Network Terminal — Terminal de Rede Óptica). Esse
aparelho converte o sinal óptico em elétrico para permitir a comunicação, mas não funciona
como os modems originais.

3.8.2 Hub
De todos os equipamentos abordados aqui, o hub é o mais simples. Basicamente, o que
ele faz é interconectar os computadores de uma rede local baseada em cabos (via de regra, no
padrão Ethernet).
Quando o hub recebe dados de um computador (ou seja, de um nó), simplesmente
retransmite as informações para todos os outros equipamentos que fazem parte da rede.
Nesse momento, nenhum outro computador consegue transmitir dados. Esse
procedimento só passa a ser possível quando o hub tiver transmitido os dados anteriores.
Um hub pode ter várias portas, isto é, entradas para conexão dos cabos de rede
oriundos de cada computador. Há aparelhos que trazem oito, 16, 24 e 32 portas, por exemplo.
A quantidade varia de acordo com o modelo e o
fabricante.
Note que, se um ou mais nós forem
desconectados por qualquer razão (defeito em um
cabo, por exemplo), a rede continuará funcionando,
afinal, o hub é que a mantém.
Também é possível "encadear" hubs, ou seja,
ligar um hub em outro para aumentar a quantidade de
nós que compõem a rede.
O problema é que os hubs são muito limitados
para os padrões atuais. Não é possível usá-los para
conectar a LAN à Internet, por exemplo. Por isso, eles
caíram em desuso.
Somente aplicações muito específicas, como Figura 54: Um antigo hub Netgear
ferramentas que analisam o tráfego de uma rede local,
ainda encontram utilidade nos hubs.

3.8.3 Switch
Podemos dizer que o switch é uma versão mais sofisticada do hub. Esse tipo de
equipamento também interconecta computadores e outros dispositivos em uma rede, mas cria
canais de comunicação do tipo "origem e destino" dentro dela.
Isso significa que os dados saem do dispositivo de origem e são encaminhados pelo
switch apenas para o dispositivo de destino, sem que essas informações tenham que ser
retransmitidas para todos os nós da rede.
Repare que as LANs mantidas por switches têm comunicação mais eficiente, pois, ao
contrário dos hubs, esse tipo de equipamento não exige que os demais nós da rede fiquem em
"silêncio" enquanto um transmite dados.
Com um switch, você pode ter um ou mais nós enviando dados ao mesmo tempo em
sua rede. Só existirá algum tipo de espera ou bloqueio temporário de dados se esses
computadores estiverem tentando se comunicar com o mesmo nó.
Como esse modelo de origem e destino otimiza o fluxo da dados, uma rede baseada em
switch está menos suscetível a falhas de comunicação. Além disso, esse tipo de equipamento
se mostra bastante adequado a redes relativamente grandes.
Você pode encontrar no mercado switches com oito, 16, 24, 48 ou 96 portas, por
exemplo.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 59


Figura 55: Um switch da Cisco

3.8.3.1 Switch gerenciável e switch não gerenciável


A indústria trabalha, basicamente, com dois tipos de switches: switch gerenciável e
switch não gerenciável. Os modelos não gerenciáveis são mais simples e baratos, portanto,
costumam ser indicados para redes pequenas (como a de um escritório simples) ou que não
têm grande fluxo de dados.
Isso porque switch não gerenciáveis são do tipo "plugue e use" (plug and play), por
assim dizer: tudo o que você precisa fazer é conectar a ele os computadores que fazem parte
da rede. Você não pode fazer nenhuma configuração
específica neles, a não ser ajustar um ou outro parâmetro
ligado ao funcionamento da própria rede.
Um switch gerenciável é diferente. Com ele, você
pode configurar vários parâmetros para aumentar a
segurança da rede, gerenciar VLANs, melhorar o fluxo de
dados, priorizar determinado tipo de tráfego, entre outros.
Com switches gerenciáveis, pode-se ainda monitorar
a rede, inclusive remotamente. Via de regra, o
monitoramento é feito por meio do SNMP (Simple Network
Management Protocol), um protocolo específico para esse
fim.

3.8.3.2 Ligação entre switches


A forma mais simples e usual de conectar switches é
fazer o cascateamento, em inglês “Daisy Chain”, que nada
Figura 56: Cascateamento
mais é que conectar um switch a outro para formar um
conjunto de switches utilizando portas de LAN, muitas vezes chamadas de Uplink, conforme
ilustração a seguir.
No exemplo acima utilizamos um cabo entre cada switch, mas por questões de
redundância podem ser conectados dois ou mais cabos entre eles. Essas conexões podem ser
feitas também com cabos de fibra e módulos SFP.
Quando falamos de empilhamento ou stacking de switches Cisco estamos fazendo muito
além de um simples cascateamento, na realidade a pilha é como se fosse um switch só
formado por todos que estão interconectados através do cabo de empilhamento (stacking
cable). Atrás do empilhamento existe um protocolo que garante o funcionamento da pilha e o
gerenciamento simplificado desses dispositivos, por isso não é qualquer switch que suporta
essa facilidade, switches específicos como os 3750-X e alguns modelos de 3560-X e 2960
suportam essa facilidade.
Note que nessa configuração as portas dos switches empilhados ficam 100% livres, pois
a conexão entre eles é feita pela parte traseira diretamente através do backplane de cada
integrante da pilha. As maiores vantagens desse tipo de arquitetura é a não utilização de portas
frontais, sejam UTP ou SFPs, gerenciamento da pilha de switches como se fosse um
dispositivo apenas e a melhor utilização de banda entre os dispositivos, pois não temos mais
gargalos entre eles uma vez que a conexão é direta.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 60


Figura 57: Empilhamento de switches

Há ainda a importante função do Spanning Tree Protocol (referido com STP), um


protocolo para equipamentos de rede que permite resolver problemas de loop em redes
comutadas.
O protocolo STP possibilita a inclusão de ligações redundantes entre os computadores,
provendo caminhos alternativos no caso de falha de uma dessas ligações. Nesse contexto, ele
serve para evitar a formação de loops entre os comutadores e permitir a ativação e desativação
automática dos caminhos alternativos.
Para isso, o algoritmo de STP determina qual é o caminho mais eficiente (de menor
custo) entre cada segmento separado por bridges ou switches. Caso ocorra um problema
nesse caminho, o algoritmo irá recalcular, entre os existentes, o novo caminho mais eficiente,
habilitando-o automaticamente. O nome deriva do
algoritmo spanning tree em teoria dos grafos e o
protocolo é baseado em um algoritmo criado por Radia
Perlman.
Em 2012 IEEE 802.1aq foi aprovado como um padrão
para substituir 802.1d mais velho, 802.1w e protocolos
802.1s.

3.8.4 Roteador
Um roteador (router) é um equipamento que tem a
função básica de receber e direcionar pacotes de dados
dentro de uma rede ou para outras redes. Esse tipo de
dispositivo é mais avançado do que o switch. Além de
executar as funções deste, os roteadores têm como
diferencial a capacidade de determinar qual a melhor
rota para um pacote de dados chegar ao seu destino.
Figura 58: Um roteador Cisco Nesse sentido, pense por um momento que a rede é
uma cidade. Cabe então ao roteador indicar as rotas
que estão menos congestionadas ou as que são mais curtas para que um veículo possa chegar
o quanto antes a determinado ponto.
Por conta dessa característica, roteadores são indicados para interligar redes. Isso pode
ser feito nas mais diferentes configurações. Por exemplo: uma empresa que ocupa um prédio
de três andares e tem uma rede em cada um deles pode usar um roteador para interligá-las e,
ao mesmo tempo, conectá-las à Internet.
Roteadores podem ter diferentes quantidades de portas e trabalhar em conjunto com
switches ou mesmo hubs. Além disso, um roteador sempre trás recursos complementares,
como ferramentas para firewall, DHCP e DNS (protocolos que estudaremos em outras
unidades).

3.8.5 Roteador Wi-Fi (wireless ou sem fio)


Até agora, falamos de hub, switch e roteador como equipamentos para redes baseadas
em cabos. Mas redes sem fio (wireless) são cada vez mais comuns. Usamos as chamadas
redes Wi-Fi sobretudo para conectar notebooks, desktops, smartphones, tablets, TVs e vários
outros dispositivos à Internet.
Esse trabalho é feito por um tipo de equipamento conhecido como roteador Wi-Fi (Wi-Fi

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 61


router). O que ele faz, basicamente, é criar uma rede local (ou, relembrando, uma LAN) e
conectá-la à Internet. Aqui, o trabalho de roteamento
conquiste, basicamente, em direcionar os pacotes de
dados recebidos e enviados entre cada nó da rede e a
Internet.
Um roteador Wi-Fi pode ter ou não portas para
conexão via cabo Ethernet (com isso, a rede se torna
mista). Além disso, ele pode trabalhar com velocidades de
transmissão de dados diferentes e variar em alcance físico
(proporcionado pela antena).
Se você tiver um roteador de 150 ou 300 Mb/s
(megabits por segundo), ele deve funcionar bem em uma
casa que tem poucos dispositivos conectados, por Figura 59: Um roteador WiFi TP-Link
exemplo. Mas, em um escritório relativamente grande ou
para aplicações que exigem muita largura de banda (vídeos online em resolução 4K, por
exemplo), roteadores Wi-Fi mais potentes são indicados.

3.8.6 Conclusão
De acordo com o tipo de sinal ou pacote que transportam, os elementos ativos podem
estar localizados em determinadas camadas do modelo ISO. Conhecer a camada de cada
dispositivo auxilia na compreensão de sua funcionalidade.

Figura 60: Localização dos principais elementos ativos nas camadas do modelo OSI

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 62


4 CAMADA DE REDE
4.1 Conceitos Básicos
A camada A camada de rede é responsável pelo encaminhamento dos dados através da
interligação de redes, endereçamento de pacotes de dados, e conversão de endereços lógicos
(IP) em endereços físicos (MAC). Dentro da mesma, a camada 3 (layer 3) do modelo OSI, é
onde trabalham os roteadores,
promovendo serviços relacionados ao
processo de encaminhamento.
Aqui entra o importante papel
dos roteadores. O papel primordial
desse dispositivo é repassar
datagramas (pacote da camada de
rede) das interfaces de entrada para
suas interfaces de saída. Note que os
roteadores da Figura 61 são mostrados
com a pilha de protocolos truncada, isto
é, sem as camadas superiores acima
da camada de rede, porque (exceto
para finalidades de controle) roteadores
não rodam protocolos de camada de
transporte e de aplicação.
Quando os pacotes são
recebidos pelo roteador o dispositivo
verifica o campo endereço de destino
do datagrama. Caso o mesmo não seja
destinado ao roteador citado, o
dispositivo verifica em sua tabela de
repasse ou encaminhamento (base
de dados armazenada em sua Figura 61: Papel dos roteadores na camada de rede
memória).

4.2 Repasse e Roteamento


Como já apresentado, o papel da
camada de rede é simples: transportar
pacotes de um hospedeiro remetente a um
hospedeiro destinatário. No entanto, para
fazê-lo, duas importantes funções da camada
de rede podem ser identificadas:
• Repasse. Quando um pacote chega ao
enlace de entrada de um roteador, este
deve conduzi-lo até o enlace de saída
apropriado. Por exemplo, um pacote
proveniente do hospedeiro H1 que
chega ao roteador R1 deve ser
repassado ao roteador seguinte por um
caminho até H2.
• Roteamento. A camada de rede deve
determinar a rota ou o caminho
tomado pelos pacotes ao fluírem de um
remetente a um destinatário. Os
algoritmos que calculam esses Figura 62: Como funciona uma tabela de repasse
caminhos são denominados

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 63


algoritmos de roteamento. Um algoritmo de roteamento determinaria, por exemplo, o
caminho pelo qual os pacotes fluiriam de H1 para H2.

4.3 Redes de Circuitos Virtuais e de Datagramas


Uma camada de rede de determinada arquitetura pode oferecer basicamente dois
serviços: orientados para conexão e não orientados para conexão. Por exemplo, um
serviço de camada de rede orientado para conexão começa com uma apresentação entre os
hospedeiros de origem e de destino; e um serviço de camada de rede não orientado para
conexão não tem nenhuma apresentação preliminar.

4.3.1 Circuitos Virtuais


Embora a Internet seja uma rede de datagramas (arquitetura TCP/IP), muitas
arquiteturas de rede alternativas — entre elas as das redes ATM e Frame Relay — são redes
de circuitos virtuais e, portanto, usam conexões na camada de rede.
Essas conexões de camada de rede são denominadas Circuitos Virtuais (CVs). Um CV
consiste em um único caminho (isto é, uma série de enlaces e roteadores) entre hospedeiros
de origem e de destino, números de CVs, um número para cada enlace ao longo do caminho e
registros na tabela de repasse em cada roteador ao longo do caminho. Um pacote que
pertence a um circuito virtual portará um número de CV em seu cabeçalho. Como um circuito
virtual pode ter um número de CV diferente em cada enlace, cada roteador interveniente deve
substituir esse número de cada pacote em trânsito por um novo número. Esse número novo do
CV é obtido da tabela de repasse.
Em uma rede de circuitos virtuais, os roteadores da rede devem manter informação de
estado de conexão para as conexões em curso. Especificamente, cada vez que uma nova
conexão for estabelecida através de um roteador, um novo registro de conexão deve ser
adicionado à tabela de repasse do roteador. E, sempre que uma conexão for desativada, um
registro deve ser removido da tabela.

Figura 63: Estabelecimento de um Circuito Virtual

4.3.2 Rede de Datagramas


Em uma rede de datagramas, toda vez que um sistema final quer enviar um pacote, ele
marca o pacote com o endereço do sistema final de destino e então o envia para dentro da
rede. Como mostra a Figura 64, isso é feito sem o estabelecimento de nenhum CV. Roteadores
em uma rede de datagramas não mantêm nenhuma informação de estado sobre CVs (porque
não há nenhum!).
Ao ser transmitido da origem ao destino, um pacote passa por uma série de roteadores.
Cada um desses roteadores usa o endereço de destino do pacote para repassá-lo.
Especificamente, cada roteador tem uma tabela de repasse que mapeia endereços de destino
para interfaces de enlaces; quando um pacote chega ao roteador, este usa o endereço de
destino do pacote para procurar a interface de enlace de saída apropriada na tabela de
repasse. Então, o roteador transmite o pacote para aquela interface de enlace de saída.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 64


Embora em redes de datagramas os roteadores não mantenham nenhuma informação
de estado de conexão, ainda assim mantêm informação de estado de repasse em suas tabelas
de repasse. Todavia, a escala temporal da mudança dessas informações de estado é um tanto
lenta. Na verdade, as tabelas de repasse em uma rede de datagramas são modificadas pelos
algoritmos de roteamento que em geral atualizam uma tabela de repasse em intervalos de um
a cinco minutos, mais ou menos. A tabela de repasse de um roteador em uma rede de CVs é
modificada sempre que é estabelecida uma nova conexão através do roteador ou sempre que
uma conexão existente é desativada.
Como em redes de datagramas as tabelas de repasse podem ser modificadas a
qualquer momento, uma série de pacotes enviados de um sistema final para outro pode seguir
caminhos diferentes pela rede e muitos podem chegar fora da ordem.

Figura 64: Rede de Datagramas

4.4 Protocolo da Internet (IP – Internet Protocol versão 4 [IPv4])


A camada de rede é responsável por prover conectividade ao computador e selecionar
caminhos para que os pacotes de dados possam trafegar.
Isso é feito através do roteamento. Um motivo para que a conectividade possa ocorrer
tem relação com o IP (Internet Protocol). O endereçamento IP permite que o dispositivo possa
se conectar em uma mesma rede ou em redes diferentes.
Cada dispositivo em uma rede deve ter uma definição única. Na camada de rede os
pacotes são identificados através de um endereço de origem e de destino.
O endereço IP (versão 4) possui 32 bits. Apesar de ser representado nativamente por
binários, é conveniente (ao entendimento humano) sua representação na forma decimal com
pontos.

Figura 65: Organização numérica de um endereço IP em decimal e binário

Como se pode visualizar, o endereço decimal com pontos é uma representação do byte
do padrão binário que forma o chamado octeto, pois os números são formados por 8 bits.
Além dessa representação há o conceito de Net-IDs e Host-IDs a seguir.

4.1 Identificação da rede e do host


Para cada endereço IP em questão, uma parte representa o endereço de rede (Net-ID).
Essa parte tem a função de identificar a rede que o host pertence. Por isso torna-se fácil
identificar se dois hosts estão em uma mesma rede porque devem ter o mesmo Net-ID.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 65


O Host-ID, por outro lado, é a parte do endereço IP destinada a informar quantos hosts
pode-se ter em uma determinada rede.
Consequentemente, quanto mais bits forem reservados a identificar a rede, menor o número de
hosts da mesma rede.

Figura 66: Net-ID e Host-ID no endereço IP

4.2 Classes de endereçamento


Após visualizarmos que o IP é dividido em Net-ID e Host-ID que respectivamente
identificam a rede e a quantidade de hosts surge uma pergunta: Como saber quantos bits estão
destinados a Net-ID e quantos bits estão destinados a Host-ID? A resposta é através das
classes de endereçamento.
São cinco classes diferentes de endereços IP. As classes A, B, C, D e E. As classes de A
a C são para endereçamentos normais, a classe D para multicasting (técnica de transmissão
de dados para vários destinos ao mesmo tempo) e a classe E está reservada para usos
futuros. Assim, tem-se a seguinte configuração:
• Classe A: 8 bits para Net-ID e 24 bits para Host-ID – Primeiro bit é 0.
• Classe B: 16 bits para Net-ID e 16 bits para Host-ID – Primeiros bits são 10.
• Classe C: 24 bits para Net-ID e 8 bits para Host-ID – Primeiros bits são 110.

Figura 67: Organização do endereçamento IP por classes

4.3 Máscara de Sub Rede


É um conceito usado também para identificação da classe IP usada em uma rede ou
especificar uma configuração de rede utilizada.
No endereçamento representado por classes (classful), a máscara de sub-rede é
identificada da seguinte forma: se um byte ou octeto estiver sendo usado para identificação de
rede, a máscara será 255. Caso contrário seu valor será 0. Desta forma observamos que os
padrões são:
• Classe A: 255.0.0.0
• Classe B: 255.255.0.0
• Classe C: 255.255.255.0
Todos os computadores de uma rede lógica tem o mesmo Net-ID e eles são
diferenciados uns dos outros pelo Host-ID. Porém, há dois endereçamentos que não são

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 66


usados para nenhum host: o endereço de rede e o endereço de broadcast.
A lógica por trás da máscara de sub-rede é a mesma utilizada em muitos outros códigos
numéricos, como: código de endereçamento postal (CEP), identificação de bloco e número de
apartamento de um edifício, números de telefone, etc. A Figura 68 exibe um exemplo de
organização hierárquica utilizada para números de telefone. Um máscara de 2 dígitos identifica
o país, seguido por outra máscara de 2 dígitos que identifica o Estado ou região de um Estado,
seguindo por uma máscara de 4 dígitos que identifica a localidade (cidade), seguido pelos 4
últimos dígitos que definem a identificação do assinante (cliente).

Figura 68: Organização de um número de telefone

Agora podemos transportar essa mesma lógica para definir um endereço IP em uma
organização de 2 níveis. Considerando os 32 bits de um endereço IPv4, a máscara de sub-rede
define os x bits mais à esquerda que identificam a rede (Net-ID) e os 32-x bits restantes
identificam o host (Host-ID).
No exemplo da Figura 69 note que os 24 bits mais à esquerda definem a máscara de
sub-rede. Desse modo, a designação decimal separada por pontos da máscara é:
255.255.255.0, uma vez que são os 3 primeiros octetos são utilizados para identificar a rede.
Outra forma de designar a máscara de sub-rede é através da simples notação
numérica /x, que referencia o x bits mais à esquerda. No exemplo da figura essa máscara é 24
e o endereço IP pode ser descrito como: 192.168.100.10/24 .

Figura 69: Organização de um endereço IP

4.4 Endereço de Rede


O endereço de rede é utilizado para identificar uma rede lógica sem citar nenhum host.
Corresponde à terminação com o bit 0. Para saber qual o endereço de rede de uma rede
lógica, deve-se separar o número de Net-ID do de Host-ID.
Exemplo: Com o IP 192.168.1.195, percebe-se que é um endereço da classe C,
segundo a lista mostrada anteriormente. Se for um endereço da classe C, sabemos que por
padrão a máscara de sub-rede assume o valor 255.255.255.0. Então, também por padrão,
sabemos que o valor de Host-ID é somente o último octeto do IP. Para ser um endereço de
rede, o valor 0 deve ser assumido nos valores que corresponderiam o Host-ID. No caso do IP
192.168.1.195 o endereço de rede será 192.168.1.0.

4.5 Endereço de Broadcast


É um endereço especial usado para a comunicação com todos os hosts de uma rede.
Um único pacote que é endereçado para o endereço de broadcast é enviado a todos os hosts

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 67


da rede. Seguindo o exemplo acima com o mesmo IP 192.168.1.195, o endereço de broadcast
é o último da rede, que assume valor 255 nos números correspondentes ao Host-ID. Neste
caso o endereço broadcast seria 192.168.1.255.

4.6 Endereços de Host


Todo host precisa de um endereçamento único que possibilite diferenciá-lo no restante da rede.
Não é possível atribuir um endereço de broadcast ou um endereço de rede a um host. Em
endereços IPv4 atribuímos valores que estão entre o endereço de rede e o de broadcast.
Esses são os endereços válidos para serem usados pelos hosts.

4.7 Gateway
É uma máquina conhecedora de mais redes e que outros dispositivos a usam para
enviar dados quando não conhecem a rede e o IP do destinatário que deve receber aqueles
dados. A estação envia para o Gateway qualquer requisição de endereço que não faça parte da
rede local. Exemplo: Internet.

4.8 Sub-redes
Dividir um grande bloco de endereços em vários sub-blocos contíguos e atribuir esses
sub-blocos a diferentes redes menores é chamado de sub-rede. É uma prática amplamente
usada quando o endereçamento classless é feito.

4.9 Endereçamento sem Classescom CIDR


O recurso de CIDR (Classless Interdomain Routing) refere-se a evolução do conceito de
divisão de faixas de IPs em classes conhecidas como A, B, C, D ou E, sendo que as duas
últimas são utilizadas para outros fins. Isso surgiu frente ao problema de alocação e falta de
flexibilidade na utilização de faixas de IPs pré-definidas em 3 classes principais.
A novidade neste conceito é que a faixa de IPs pode ser dividida de acordo com as
necessidades de cada rede, não devendo mais obedecer às classes definidas como A, B ou C.
Dessa forma, uma rede é anunciada com sua faixa, seguida pelo número de bits que são
utilizados para a representação do endereço de rede (Net-ID). Os demais bits da direita a partir
deste poderão ser utilizados para endereçamento de hosts ou de subredes.
O CIDR usa máscaras de comprimento variável, o VLSM (de Variable Length Subnet
Masks), para alocar endereços IP em sub-redes de acordo com as necessidades individuais e
não nas regras de uso generalizado em toda a rede. Assim a divisão de rede/host pode ocorrer
em qualquer fronteira de bits no endereço. Porque as distinções de classes normais são
ignoradas, o novo sistema foi chamado de routing sem classes. Isto levou a que o sistema
original passasse a ser chamado de routing de classes.
A notação padrão para o intervalo de endereços CIDR (notação decimal) começa com o
endereço de rede seguido por um comprimento de um prefixo, em bits, definindo o tamanho da
rede em questão (o prefixo é, na verdade, o comprimento da máscara de sub-rede).
Por exemplo:
• 192.168.0.0 /24 representa a faixa de endereços IPv4 de 192.168.0.0 até 192.168.0.255
inclusive, com 192.168.0.255 sendo o endereço de broadcast para a rede.
• 192.168.0.0 /22 representa a faixa de endereços IPv4 de 192.168.0.0 até 192.168.3.255
inclusive, com 192.168.3.255 sendo o endereço de broadcast para a rede.

Para o IPv4, uma representação alternativa usa o endereço de rede seguido da máscara de
sub-rede, escrito na forma decimal com pontos:
• 192.168.0.0 /24 pode ser escrito como 192.168.0.0 255.255.255.0 → pois contando os
24 bits da Esquerda para Direita, temos: 11111111.11111111.11111111.00000000
• 192.168.0.0 /22 pode ser escrito como 192.168.0.0 255.255.252.0 → pois contando os
22 bits da Esquerda para Direita, temos: 11111111.11111111.11111100.00000000

Um outro benefício do CIDR é a possibilidade de agregação de prefixos de routing.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 68


Por exemplo, dezesseis redes /24 contíguas podem agora ser agregados, e mostrados como
sendo um route único de /20 (caso os primeiros 20 bits dos endereços de rede coincidam). Dois
/20 contíguos podem ser agregados num /19, e assim por diante. Isto permite uma redução
significativa do número de routes, prevenindo a explosão da tabela de roteamento.
Hoje em dia a maioria dos ISPs públicos da Internet não fazem o routing de nada menor
que um prefixo de /24, efetivamente prevenindo que redes pequenas obtenham total routing
público da Internet sem ter que passar por um agregador de routing como é um ISP.

4.10 Cálculo de endereços de rede


Uma vez que se conhece um endereço de um host e a respectiva máscara de sub-rede,
é possível determinar outros endereços relacionados a essa rede, como o próprio endereço
que identifica a rede, o endereço de broadcast e a faixa de IP possíveis para endereçamento
de host (que excluem os dois endereços anteriores).
Portanto, dada um determinada máscara N (em notação decimal), o número de
endereços possíveis de hosts em uma rede pode ser determinado pela fórmula
Numhosts=232− N −2 .

Figura 70: Obtendo informações sobre o endereçamento de hosts e rede

4.11 Tradução de endereços com NAT


Todos os endereços IPv4 podem ser divididos em dois grupos principais: global, público,
ou externo – este grupo também pode ser chamado de ‘endereços de WAN’ – aqueles que são
usados na Internet, e endereços privados, locais ou internos – aqueles que são usados na rede
local (LAN).
Um endereço IP público é um endereço IP usado para acessar a Internet. Os endereços
IP públicos (globais) são roteados na Internet, ao contrário dos endereços privados. Com um
endereço IP público, você pode configurar qualquer servidor doméstico para publicá-lo na
Internet: Web (HTTP), VPN (PPTP / IPSec / OpenVPN), mídia (áudio / vídeo), FTP, unidade de
rede NAS, servidor de jogos, etc. Todos os servidores e sites na Internet usam endereços IP
públicos (por exemplo, google.com – 172.217.22.14, servidor DNS do Google – 8.8.8.8).
Para usuários domésticos, o provedor pode fornecer apenas um ou mais endereços IP

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 69


públicos (como regra, é um serviço pago).
Os endereços internos privados não são roteados na Internet e nenhum tráfego pode ser
enviado a eles da Internet, eles apenas deveriam funcionar dentro da rede local.
Os endereços privados incluem endereços IP das seguintes sub-redes:
• Faixa de 10.0.0.0 a 10.255.255.255 – uma rede 10.0.0.0 com uma máscara 255.0.0.0 ou
/8 (8 bits);
• Faixa de 172.16.0.0 a 172.31.255.255 – uma rede 172.16.0.0 com uma máscara
255.240.0.0 ou /12 (12 bits);
• Faixa de 192.168.0.0 a 192.168.255.255, que é uma rede 192.168.0.0 mascarada por
255.255.0.0 ou /16 (16 bits);

Esses são endereços IP reservados. Esses endereços são destinados ao uso em redes
locais fechadas e a alocação de tais endereços não é controlada globalmente por ninguém.
O acesso direto à Internet usando um endereço IP privado não é possível. Nesse caso,
a conexão com a Internet é via NAT (sigla para Network Address Translation, serviço que
permite realizar a tradução do endereço de rede substitui o endereço IP privado por um
público). Os endereços IP privados na mesma rede local devem ser exclusivos e não podem
ser repetidos.
A Figura 71 exibe um exemplo de uma LAN contendo endereços privados (rede
192.168.1.x). Quando datagramas precisam ser encaminhados para a Internet (interface WAN
do roteador), ele sofre uma tradução (com o auxílio do NAT) de seu endereço privado para
público (82.129.80.111), que pode ser reconhecido e encaminhado por roteadores no núcleo da
Internet. Ao receber uma resposta de sua solicitação, o datagrama retorna a LAN onde é tem
seu endereço público traduzido de volta para endereço privado e encaminhado ao dispositivo
legítimo dessa comunicação.

Figura 71: Endereçamento privado e público na perspectiva de uma LAN

4.5 Protocolo DHCP


Na maioria das vezes em que você conecta um equipamento a uma rede (local ou
remota), um dos motivos de tudo ser tão fácil e rápido é o DHCP (Dynamic Host
Configuration Protocol). Talvez você nunca nem tenha ouvido falar dele, mas ele está em
quase todas as rede atualmente. Para entendê-lo melhor, conheça um pouco mais sobre esse
importante recurso de rede do seu computador.
O DHCP é o nome de um protocolo TCP/IP que oferece serviços de configuração
dinâmica em redes. Sem que o usuário perceba, ao se conectar em uma rede esse serviço
fornece automaticamente endereço IP, máscara de sub-rede, Gateway Padrão, endereço IP
de um ou mais servidores DNS/WINS e sufixos de pesquisa do DNS, para que o dispositivo do
usuário possa utilizar a rede e obter acesso aos recursos disponibilizados nela e acesso à
Internet, se houver.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 70


O DHCP surgiu como padrão em outubro
de 1993, tornando-se o sucessor do BOOTP, um
protocolo que embora fosse mais simples,
tornou-se limitado diante das atuais exigências
para redes e conexões.
Resumidamente, o DHCP trabalha da
seguinte forma: um dispositivo com suporte ao
protocolo envia uma requisição DHCP e os
servidores DHCP (que pode ser até o seu
roteador WiFi) que capturarem este pacote irão
responder (se o cliente se enquadrar em alguns
critérios) com um pacote com informações como
um endereço IP, máscara de rede e outros
dados opcionais, como servidores de DNS, o
gateway padrão, etc.
O DHCP é um protocolo muito importante
para o funcionamento da maioria das redes
atuais e é uma ferramenta essencial para os
administradores de rede, por permitir configurar Figura 72: Funcionamento do DHCP
grandes quantidades de dispositivos em rede,
sem qualquer configuração manual.

4.6 Protocolo ARP


Quando um quadro Ethernet é enviado de um host para outro em uma rede, é o
endereço físico de 48 bits (MAC Address) que determina para qual interface o quadro é
destinado. O software do driver de dispositivo não verifica o endereço IP dentro do datagrama.
Como, então, podemos realizar a conexão entre dois hosts se no pacote temos endereços IP
de origem e destino, mas precisamos dos endereços físicos das interfaces de rede envolvidas?
O protocolo ARP (Address Resolution Protocol) fornece resolução dinâmica de
endereços, que é um mapeamento entre as dois níveis de endereçamento distintos: endereços
IPv4, e qualquer outro tipo de endereço usado na camada de enlace. No caso dos quadros
Ethernet, a camada de enlace usa o MAC Address (Media Access Control), endereço físico da
interface.
O ARP, portanto, é um protocolo que permite obter o MAC Address de uma interface a
partir de seu endereço IPv4. Existe também um outro protocolo que permite realizar o
mapeamento inverso, ou seja, obter o endereço IP a partir de um MAC Address. Esse
protocolo é conhecido por RARP (Reverse Address Resolution Protocol).
A ideia principal do protocolo ARP é que a interface de rede possui um endereço de
hardware (endereço físico de 48 bits). Quando quadros são trocados entre duas interfaces de
rede, eles devem ser endereçados às interfaces físicas corretas. Porém, a pilha TCP/IP possui
seu próprio esquema de endereçamento, que consiste em endereços IPv4 de 32 bits (IPv6
utiliza endereços de 128 bits).
Portanto, saber apenas o endereço IP de um host não é suficiente para que seja
possível enviar um quadro ao host. O driver Ethernet precisa conhecer o endereço físico de
destino para que seja possível enviar os dados. É aí que entra o protocolo ARP – fornecer um
mapeamento dinâmico entre os endereços IP e os endereços físicos (MAC) utilizados na
transmissão de dados.

Tipos de Mensagens ARP


Há dois tipos diferentes de mensagens enviadas pelo protocolo ARP, uma da origem ao
destino, e outra do destino à origem. Para cada mensagem ARP, definimos como remetente
quem transmite a mensagem e alvo quem deve recebê-la. As mensagens são:
• ARP Request (Requisição ARP): Mensagem de broadcast (Endereço MAC de destino:
FF:FF:FF:FF:FF:FF) enviada requisitando a resolução de um endereço IP em endereço

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 71


físico.
• ARP Reply (Resposta ARP): Mensagem de resposta ao ARP Request, contendo o
endereço físico resolvido.

Figura 73: Principais mensagens ARP

Cache ARP
Para que o protocolo ARP possa operar de forma eficiente é necessária a manutenção
de um cache ARP em cada host. Esse cache mantém os mapeamentos de endereços mais
recentes de IPs para endereços MAC na memória do host, possuindo um tempo de expiração
para cada entrada no cache de 20 minutos a partir do momento em que a entrada foi
adicionada.
Podemos examinar o cache ARP usando o comando arp -a em um prompt. A opção -a
é utilizada para mostrar todas as entradas presentes no cache.

Figura 74: Comando Windows para consultar o cache ARP

Note que a saída gerada pelo comando nos mostra três colunas de informações, contendo os
endereços IPs de vários hosts, seus endereços físicos em notação hexadecimal, e o tipo da
entrada, que pode ser dinâmica ou estática:
• Entradas de Cache ARP Estáticas: resoluções de endereços que são adicionadas
manualmente à tabela de cache, e mantidas de forma permanente
• Entradas de Cache ARP Dinâmicas : resoluções de endereços que são adicionadas de
forma dinâmica à tabela de cache, como resultado de resoluções ARP completadas com
sucesso. São transitórias, e removidas após um período de tempo.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 72


Proxy ARP
O protocolo ARP não fornece nenhum tipo de método de autenticação dos pacotes ARP
Reply recebidos em uma rede, e por conta disso as respostas do ARP podem vir de outra rede
distinta da rede onde a solicitação ARP é originada. Desta forma, um roteador pode responder
às requisições ARP em uma das redes conectadas a ele feitas por um host em outra rede.
Desta forma, o remetente das mensagens ARP pode “pensar” que o roteador é o host de
destino, quando na verdade o host de destino está em outra rede conectada a outra interface
do roteador. Assim, o roteador funciona como um agente de proxy para o host de destino,
retransmitindo pacotes dele para outros hosts.
Alguns dos usos mais comuns para a técnica de Proxy ARP são a conexão a redes
dialup ou VPN, usar múltiplos IPs em um mesmo host, e em gateways de subrede
transparentes.

Passo 1 Passo 2

Passo 3

Passo 4

Figura 75: Exemplo de funcionamento de um proxy ARP

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 73


4.6 Protocolo ICMP
O protocolo IP não possui nenhum recurso de correção de erros. Parte dessa lacuna, é
preenchida pelo protocolo ICMP. Ele lida especificamente com os chamados problemas de
entrega, que ocorrem no momento da troca de comunicações entre duas máquinas.
O ICMP (Internet Control Message Protocol - Protocolo de Mensagens de Controle de
Internet) é um protocolo que permite gerenciar as informações relativas aos erros nas
máquinas conectadas. Devido aos poucos controles que o protocolo IP realiza, ele não corrige
estes erros mas os mostra para os protocolos das camadas vizinhas. Assim, o protocolo ICMP
é usado por todos os roteadores para assinalar um erro, chamado de Delivery Problem ou, em
português, Problema de Entrega.
As mensagens de erro ICMP são transportadas na rede sob a forma de datagrama,
como qualquer dado. Assim, as mensagens de erro podem elas mesmas estar sujeitas a erros.
Contudo, no caso de erro num datagrama que transporta uma mensagem ICMP, nenhuma
mensagem de erro é emitida para evitar um efeito 'bola de neve' no caso de incidente na rede.
O ICMP é o protocolo utilizado por algumas ferramentas de diagnóstico de rede como
ping, tracert (traceroute), etc.

Figura 76: Comando PING, que utiliza o protocolo ICMP

4.7 Protocolo IP versão 6 (IPv6)


O IPv6 é uma evolução do IPv4, com uma capacidade muito maior. A constituição do
IPv4 é de 32 bits e do IPv6, 128 bits. O IPv6 foi lançado oficialmente em 2012, mas já estava
sendo proposto lá em meados de 1998. Somente agora há realmente a necessidade de
implementação do IPv6.

Figura 77: Endereço IPv6 e a possibilidade de se omitir trechos de endereços que contêm “0000”

Isso acontece porque a Internet, a princípio, não foi programada para atingir proporções
tão grandes, e nos dias de hoje acaba sendo inevitável substituir o sistema para um novo

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 74


protocolo.
O que os especialistas chamam de esgotamento do IPv4 é a prova da dimensão que a
Internet tomou em poucas décadas de existência. 4 bilhões de combinações disponíveis, que
pareciam um número alto, já não são mais suficientes.
O processo de transição, é claro, não pode ocorrer da noite para o dia. É preciso
encontrar meios onde IPv4 e IPv6 possam coexistir, fazendo melhorias entre os dois e não
alterando completamente a estrutura que conhecemos hoje.

Figura 78: Simplificando um endereço IPv6 contendo também zeros à esquerda

Basicamente, a proposta do IPv6 é aumentar o número de combinações possíveis para


os endereços de IP, proporcionando vantagens como:
• Roteamento de conexão ainda mais eficiente;
• Melhor processamento dos pacotes de Internet (devido, inclusive, à ausência de
fragmentação dos datagramas, como ocorre no IPv4);
• Fluxo de dados direto;
• Configuração de rede simplificada;
• Suporte preparado para novos serviços;
• Melhoria da segurança.

Figura 79: Diferenças entre os cabeçalhos dos protocolos IPv4 e IPv6

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 75


A melhoria disponibilizada pelo IPv6 é mais do que bem recebida, pois estamos em uma
época na qual a segurança da informação é prioridade. Além disso, com o aumento das
possibilidades de combinação de endereço de IP, as técnicas de varredura anteriores já não
seriam eficazes.
Mais do que isso, o IPv6 abre as portas para um mundo de possibilidades e perspectivas
que o futuro da Internet e da tecnologia nos promete. Geladeiras, aparelhos de TV, luzes,
portas e janelas controlados por celulares e tablets, sensores de temperatura, automóveis que
sinalizam a necessidade de manutenção, inclusão digital e um número cada vez maior de
pessoas usufruindo dos benefícios de uma conexão incrível.
Mudar a estrutura principal que sustenta a rede de conexão que utilizamos para o IPv6 é
uma tarefa complexa, mas necessária para que ela possa continuar evoluindo. E, para que a
inovação do IPv6 tenha sucesso, é claro que pessoas e empresas precisam estar dispostas a
cooperar.
Fabricantes de equipamentos, desenvolvedores de softwares e sites e provedores de
Internet precisarão fazer sua parte, começando a disponibilizar ferramentas em conformidade
com o IPv6. Assim como o próprio usuário, que a partir de agora deve se certificar de adquirir
apenas dispositivos (smartphones, computadores, roteadores, TVs, etc) que estejam aptos a
receber o IPv6.
O período de transição e de coexistência entre os protolocos IPv6 e IPv4 exigiu o
desenvolvimento de técnicas auxiliares, inicialmente para resolver problemas de como conectar
as novas redes IPv6 com o conteúdo das demais redes majoritariamente IPv4. Com o aumento
da adoção do IPv6, essa cenário se inverterá e técnicas para garantir o acesso IPv6 a redes
IPv4 legadas surgirão. Além disso, existe um terceiro tipo de técnica que busca aumentar a
sobrevida do IPv4 enquanto a transição completa não ocorre.
As técnicas de transição podem ser classificadas segundo sua funcionalidade:
• Pilha dupla: consiste na convivência do IPv4 e do IPv6 nos mesmos equipamentos, de
forma nativa, simultaneamente. Essa técnica é a técnica padrão escolhida para a
transição para IPv6 na Internet e deve ser usada sempre que possível.
• Túneis, Tunneling ou Tunelamento: permitem que diferentes redes IPv4 comuniquem-
se através de uma rede IPv6, ou vice-versa.
• Tradução: permitem que equipamentos usando IPv6 comuniquem-se com outros que
usam IPv4, por meio da conversão dos pacotes.

Figura 80: Pilha Dupla: uma das formas de se implementar a transição de IPv4 para IPv6

Essas técnicas podem ser classificadas, ainda, entre stateful e stateless. Técnicas
stateful são aquelas em que é necessário manter tabelas de estado com informações sobre os
endereços ou pacotes para processá-los. Já técnicas stateless não tem essa necessidade,
cada pacote é tratado de forma independente. De forma geral técnicas stateful são mais caras:
gastam mais CPU e memória, por isso não escalam bem. Sempre que possível deve-se dar
preferência a técnicas stateless.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 76


Figura 81: Tunneling: uma das formas de se implementar a transição de IPv4 para IPv6

4.8 Princípios de Roteamento


Algoritmos de roteamento rodam em roteadores de rede. Eles trocam e calculam as
informações que são utilizadas para configurar essas tabelas de repasse. Veremos que a tarefa
do roteamento é determinar bons caminhos (ou rotas) entre remetentes e destinatários através
da rede de roteadores.
Em geral um host está ligado diretamente a um roteador, o roteador default para esse
host (também denominado roteador do primeiro salto). Sempre que um hospedeiro emitir um
pacote, este será transferido para seu roteador default. Denominamos roteador de origem o
roteador default do hospedeiro de origem e roteador de destino o roteador default do
hospedeiro de destino. O problema de rotear um pacote do host de origem até o host de
destino se reduz, claramente, ao problema de direcionar o pacote do roteador de origem ao
roteador de destino.
Portanto, a finalidade de um algoritmo de roteamento é simples: dado um conjunto de
roteadores conectados por enlaces, um algoritmo de roteamento descobre um “bom” caminho
entre o roteador de origem e o de destino. Em geral, um “bom” caminho é aquele que tem o
“menor custo”. No entanto, veremos que, na prática, preocupações do mundo real, como
questões de política (por exemplo, uma regra que determina que “o roteador x, de propriedade
da organização Y, não deverá repassar nenhum pacote originário da rede de propriedade da
organização Z”), também entram em jogo para complicar algoritmos conceitualmente simples e
elegantes, cuja teoria fundamenta a prática de roteamento nas redes de hoje.
De modo geral, uma maneira possível de classificar algoritmos de roteamento é como:
• Um algoritmo de roteamento global calcula o caminho de menor custo entre uma
origem e um destino usando conhecimento completo e global sobre a rede. Em outras
palavras, o algoritmo considera como entradas a conectividade entre todos os nós e
todos os custos dos enlaces. E isso exige que o algoritmo obtenha essas informações,
de algum modo, antes de realizar de fato o cálculo. Este pode ser rodado em um local
(um algoritmo de roteamento global centralizado) ou replicado em vários locais.
Contudo, a principal característica distintiva, nesse caso, é que um algoritmo global tem
informação completa sobre conectividade e custo de enlaces. Na prática, algoritmos com
informação global de estado são com frequência denominados algoritmos de estado de
enlace (link-state — LS), já que devem estar a par dos custos de cada enlace na rede;
• Em um algoritmo de roteamento descentralizado, o cálculo do caminho de menor
custo é realizado de modo iterativo e distribuído. Nenhum nó tem informação completa
sobre os custos de todos os enlaces da rede. Em vez disso, cada nó começa sabendo
apenas os custos dos enlaces diretamente ligados a ele. Então, por meio de um
processo iterativo de cálculo e de troca de informações com seus nós vizinhos (isto é,
que estão na outra extremidade dos enlaces aos quais ele próprio está ligado), um nó
gradual mente calcula o caminho de menor custo até um destino ou um conjunto de
destinos. O algoritmo de roteamento descentralizado que estudaremos logo adiante é
denominado algoritmo de vetor de distâncias (distance-vector algorithm — DV),
porque cada nó mantém um vetor de estimativas de custos (distâncias) de um nó até
todos os outros nós da rede.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 77


Uma segunda maneira geral de classificar algoritmos de roteamento é como estáticos ou
dinâmicos. Em algoritmos de roteamento estáticos, as rotas mudam muito devagar ao longo
do tempo, muitas vezes como resultado de intervenção humana (por exemplo, uma pessoa
editando manualmente a tabela de repasse do roteador). Algoritmos de roteamento
dinâmicos mudam os caminhos de roteamento à medida que mudam as cargas de tráfego ou
a topologia da rede. Um algoritmo dinâmico pode ser rodado periodicamente ou como reação
direta a mudanças de topologia ou de custo dos enlaces. Ao mesmo tempo em que são mais
sensíveis a mudanças na rede, algoritmos dinâmicos também são mais suscetíveis a
problemas como loops de roteamento e oscilação em rotas.
Uma terceira maneira de classificar algoritmos de roteamento é como sensíveis à carga
ou insensíveis à carga. Em um algoritmo sensível à carga, custos de enlace variam
dinamicamente para refletir o nível corrente de congestionamento no enlace subjacente. Se
houver um alto custo associado com um enlace que está congestionado, um algoritmo de
roteamento tenderá a escolher rotas que evitem esse enlace. Embora antigos algoritmos de
roteamento da ARPAnet fossem sensíveis à carga, foram encontradas várias dificuldades em
manter esses algoritmos rodando. Os algoritmos de roteamento utilizados na Internet hoje
(como RIP, OSPF e BGP) são insensíveis à carga, pois o custo de um enlace não reflete
explicitamente seu nível de congestionamento atual (nem o mais recente).

4.9 Roteamento Hierárquico


Quando apresentamos os algoritmos de roteamento global e descentralizado,
consideramos a rede apenas como uma coleção de roteadores interconectados. Um roteador
não se distinguia de outro no sentido de que todos rodavam o mesmo algoritmo de roteamento
para calcular os caminhos de roteamento pela rede inteira. Na prática, esse modelo e sua visão
de um conjunto homogêneo de roteadores, todos rodando o mesmo algoritmo de roteamento,
é um tanto simplista por pelo menos duas razões importantes:
• Escala. À medida que aumenta o número de roteadores, a sobrecarga relativa ao
cálculo, ao armazenamento e à comunicação de informações de roteamento (por
exemplo, atualizações de estado de enlace ou mudanças no caminho de menor custo)
se torna proibitiva. A Internet pública de hoje consiste em centenas de milhões de
hospedeiros. Armazenar informações de roteamento para cada um desses hosts
evidentemente exigiria quantidades enormes de memória. Com a sobrecarga exigida
para transmitir atualizações do estado de enlace por difusão entre todos os roteadores
da Internet, não sobraria nenhuma largura de banda para enviar pacotes de dados! Um
algoritmo DV que fizesse iterações entre esse número tão grande de roteadores decerto
jamais convergiria! Fica claro que algo deve ser feito para reduzir a complexidade do
cálculo de rotas em redes tão grandes como a Internet pública.
• Autonomia administrativa. Embora os pesquisadores tendam a ignorar questões como
o desejo das empresas de controlar seus roteadores como bem entendem (por exemplo,
rodar qualquer algoritmo de roteamento que escolherem) ou ocultar do público externo
aspectos da organização interna das redes, essas considerações são importantes.
Idealmente, uma organização deveria poder executar e administrar sua rede como bem
entendesse, mantendo a capacidade de conectar sua rede a outras redes externas.

Esses problemas podem ser resolvidos agrupando roteadores em sistemas autônomos


(Autonomous Systems — AS), com cada AS consistindo em um grupo de roteadores sob o
mesmo controle administrativo (por exemplo, operados pelo mesmo ISP ou pertencentes a
uma mesma rede corporativa). Todos os roteadores dentro do mesmo AS rodam o mesmo
algoritmo de roteamento (por exemplo, LS ou DV) e dispõem das informações sobre cada um
dos outros — exatamente como foi o caso do modelo idealizado da seção anterior. O algoritmo
de roteamento que roda dentro de um AS é denominado um protocolo de roteamento
intrassistema autônomo (ou intra-AS). É claro que será necessário conectar os ASs entre si
e, assim, um ou mais dos roteadores em um AS terá a tarefa adicional de ficar responsável por

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 78


transmitir pacotes a destinos que estão fora do AS — esses roteadores são denominados
roteadores de borda (gateway routers).
A Figura 82 ilustra um exemplo simples com três ASs: AS1, AS2 E AS3. O AS1 tem
quatro roteadores, 1a, 1b, 1c e 1d, e cada qual roda o protocolo de roteamento utilizado dentro
do AS1. Assim, cada um desses quatro roteadores sabe como transmitir pacotes ao longo do
caminho ideal para qualquer destino dentro de AS1. De maneira semelhante, cada um dos
sistemas autônomos AS2 e AS3 tem três roteadores. Note que os protocolos de roteamento
intra-AS que rodam em AS1, AS2 e AS3 não precisam ser os mesmos. Note também que os
roteadores 1b, 1c, 2a e 3a são roteadores de borda.

Figura 82: Um exemplo de sistemas autônomos interconectados

Agora já deve estar claro como os roteadores em um AS determinam caminhos de


roteamento para pares origem-destino internos ao AS. Mas ainda há uma peça faltando nesse
quebra-cabeça de roteamento fim a fim. De que forma um roteador que está dentro de algum
AS sabe como rotear um pacote até um destino que está fora do AS? Essa pergunta é fácil de
responder se o AS tiver somente um roteador de borda que se conecta com somente outro AS.
Nesse caso, como o algoritmo de roteamento intra-AS do sistema autônomo determinou o
caminho de menor custo entre cada roteador interno e o de borda, cada roteador interno sabe
como deve enviar o pacote. Ao recebê-lo, o roteador de borda o repassa para o único enlace
que leva ao exterior do AS. Então, o AS que está na outra extremidade do enlace assume a
responsabilidade de rotear o pacote até seu destino final. Como exemplo, suponha que o
roteador 2b da Figura 82 receba um pacote cujo destino está fora do AS2. O roteador 2b,
então, o transmite ao roteador 2a ou 2c, como especificado pela tabela de repasse de 2b, que
foi configurada pelo protocolo de roteamento intra-AS de AS2. O pacote eventualmente
chegará ao roteador de borda 2a, que o repassará ao 1b. Tão logo o pacote tenha saído de
2a, termina o trabalho de AS2 com referência a esse pacote.
E se o AS de origem tiver dois ou mais enlaces (passando por um ou mais roteadores de
borda) que levam para fora do AS? Então, o problema de saber para onde repassar o pacote
torna-se bem mais desafiador. Por exemplo, considere um roteador em AS1 e suponha que ele
recebe um pacote cujo destino está fora do AS. É claro que o roteador deveria repassar o
pacote para um de seus dois roteadores de borda, 1b ou 1c, mas para qual deles? Para
resolver esse problema, AS1 (1) precisa saber quais destinos podem ser alcançados via AS2 e
quais podem ser alcançados via AS3 e (2) precisa propagar a informação a todos os roteadores
dentro de AS1, de modo que cada roteador possa configurar sua tabela de repasse para
manipular destinos externos ao AS. Essas duas tarefas — obter informações sobre as
condições de alcance de ASs vizinhos e propagá-las a todos os outros roteadores internos ao
AS — são gerenciadas pelo protocolo de roteamento inter-AS. Visto que tal protocolo
envolve comunicação entre dois ASs, esses dois ASs comunicantes devem rodar o mesmo
protocolo de roteamento inter-AS. De fato, na Internet, todos os ASs rodam o mesmo protocolo

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 79


de roteamento inter-AS, denominado BGP4. Como ilustrado na Figura 82, cada roteador
recebe informações de um protocolo de roteamento intra-AS e de um protocolo de roteamento
inter-AS, e usa as informações de ambos para configurar sua tabela de repasse.

4.10 Roteamento na Internet


Vimos que um sistema autônomo (AS) é um conjunto de roteadores que estão sob o
mesmo controle administrativo e técnico e que rodam, todos, o mesmo protocolo de roteamento
entre eles. Cada AS, por sua vez, normalmente contém várias sub-redes (aqui, usamos o termo
sub-rede no sentido preciso de endereçamento).
Agora que já estudamos endereçamento na Internet e roteamento hierárquico, vamos
voltar nossa atenção aos protocolos de roteamento da Internet.
Um protocolo de roteamento intra-AS é usado para determinar como é rodado o
roteamento dentro de um sistema autônomo (AS). Esses protocolos são também conhecidos
como protocolos de roteadores internos (IGP — Interior Gateway Protocols).
Historicamente, dois protocolos de roteamento têm sido usados para roteamento dentro de um
sistema autônomo na Internet: o protocolo de informações de roteamento, RIP (Routing
Information Protocol) e o OSPF (Open Shortest Path First). Um protocolo muito relacionado
com o OSPF é o IS-IS. Primeiro, discutiremos o RIP e, em seguida, consideraremos o OSPF.

4.10.1 Roteamento intra-AS na Internet: RIP


O RIP (Routing Information Protocol) foi um dos primeiros protocolos de roteamento
intra-AS da Internet, e seu uso é ainda muito disseminado. A ampla disponibilização do RIP se
deveu em grande parte à inclusão, em 1982, na versão do UNIX do Berkeley Software
Distribution (BSD), que suportava TCP/IP. A versão 1 do RIP está definida no [RFC 1058] e a
versão 2, compatível com a versão 1, no [RFC 2453].
O RIP é um protocolo de vetor de distâncias que funciona de um modo muito parecido
com o protocolo DV idealizado. A versão do RIP especificada no RFC 1058 usa contagem de
saltos como métrica de custo, isto é, cada enlace tem um custo 1. Por simplicidade, no
algoritmo DV os custos foram definidos entre pares de roteadores. No RIP (e também no
OSPF), na realidade, os custos são definidos desde um roteador de origem até uma sub-rede
de destino.
O RIP usa o termo salto (hop), que é o número de sub-redes percorridas no caminho
mais curto entre o roteador de origem e uma sub-rede de destino, inclusive. A Figura 83 ilustra
um AS com seis sub-redes de folha. A tabela da figura indica o número de saltos desde o
roteador de origem A até todas as sub-redes folha.

Figura 83: Número de saltos do roteador A até várias sub-redes

O custo máximo de um caminho é limitado a 15 saltos, restringindo assim o uso do RIP


a sistemas autônomos que têm menos de 15 saltos de diâmetro. O vetor de distâncias para
qualquer roteador é a estimativa atual das distâncias dos caminhos de menor custo entre
aquele roteador e as sub-redes no AS. No RIP, atualizações de roteamento são trocadas entre
vizinhos a cada 30s mais ou menos, usando uma mensagem de resposta RIP. A mensagem
de resposta enviada por um roteador ou um hospedeiro contém uma lista de até 25 sub-redes
de destino dentro do AS, bem como as distâncias entre o remetente e cada uma delas.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 80


Mensagens de resposta também são conhecidas como anúncios RIP.
Cada roteador mantém uma tabela RIP denominada tabela de roteamento (semelhante
à tabela simplificada exibida na Figura 83). A tabela de roteamento de um roteador inclui o
vetor de distâncias e a tabela de repasse desse roteador. Um tabela de roteamento típica pode
apresentar três colunas. A primeira é para a sub-rede de destino, a segunda indica a identidade
do roteador seguinte no caminho mais curto até a sub-rede de destino e a terceira indica o
número de saltos (isto é, o número de sub-redes que têm de ser atravessadas, incluindo a
rede de destino) para chegar à sub-rede de destino no caminho mais curto. Em princípio, uma
tabela de roteamento terá apenas uma linha para cada sub-rede no AS, embora a versão 2 do
RIP permita a agregação de registros de sub-redes usando técnicas de agregação de rotas.

4.10.2 Roteamento intra-AS na Internet: OSPF


Como o RIP, o roteamento OSPF é bastante usado para roteamento intra-AS na
Internet. O OSPF e seu primo, IS-IS, muito parecido com ele, são em geral disponibilizados em
ISPs de níveis mais altos, ao passo que o RIP está disponível em ISPs de níveis mais baixos e
redes corporativas. O “open” do OSPF significa que as especificações do protocolo de
roteamento estão abertas ao público (ao contrário do protocolo EIGRP da Cisco, por exemplo).
A versão mais recente do OSPF, versão 2, está definida no RFC 2328, um documento
público. O OSPF foi concebido como sucessor do RIP e como tal tem uma série de
características avançadas. Em seu âmago, contudo, é um protocolo de estado de enlace que
usa inundação de informação de estado de enlace e um algoritmo de caminho de menor
custo de Dijkstra. Com o OSPF, um roteador constrói um mapa topológico completo (isto é,
um grafo) de todo o sistema autônomo. O roteador então roda localmente o algoritmo do
caminho mais curto de Dijkstra para determinar uma árvore de caminho mais curto para todas
as sub-redes, sendo ele próprio o nó raiz. Os custos de enlaces individuais são configurados
pelo administrador da rede.
O OSPF não impõe uma política para o modo como são determinados os pesos dos
enlaces (essa tarefa é do administrador da rede); em vez disso, oferece os mecanismos
(protocolo) para determinar o caminho de roteamento de menor custo para um dado conjunto
de pesos de enlaces. Com OSPF, um roteador transmite por difusão informações de
roteamento a todos os outros roteadores no sistema autônomo, não apenas a seus vizinhos.
Um roteador transmite informações de estado de enlace por difusão sempre que houver
uma mudança no estado de um enlace (por exemplo, uma mudança de custo ou uma
mudança de estado para cima/para baixo). Também transmite o estado de um enlace
periodicamente (pelo menos a cada 30 min), mesmo que não tenha havido mudança.
Anúncios OSPF são contidos em mensagens OSPF carregadas diretamente por IP,
com um código protocolo de camada superior 89 para OSPF. Assim, o próprio protocolo OSPF
tem de executar funcionalidades como transferência confiável de mensagem e transmissão de
estado de enlace por difusão. O protocolo OSPF também verifica se os enlaces estão
operacionais (via uma mensagem HELLO enviada a um vizinho ligado ao enlace) e permite
que um roteador OSPF obtenha o banco de dados de um roteador vizinho referente ao estado
do enlace no âmbito da rede.
Alguns dos avanços incorporados ao OSPF são:
• Segurança. Trocas entre roteadores OSPF (por exemplo, atualizações do estado de
enlace) podem ser autenticadas. A autenticação garante que apenas roteadores de
confiança conseguem participar do protocolo OSPF dentro de um AS, evitando, assim,
que intrusos mal-intencionados injetem informações incorretas em tabelas de
roteamento. Dois tipos de autenticação podem ser configurados — simples e MD5. Com
autenticação simples, a mesma senha é configurada em cada roteador. Quando um
roteador envia um pacote OSPF, inclui a senha em texto claro (não criptografado).
Logicamente, a autenticação simples não é segura. A autenticação MD5 é baseada em
chaves secretas compartilhadas que são configuradas em todos os roteadores.
• Caminhos múltiplos com o mesmo custo. Quando vários caminhos até o destino têm
o mesmo custo, o OSPF permite que sejam usados diversos (isto é, não é preciso

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 81


escolher um único para carregar todo o tráfego quando existem vários de igual custo).
• Suporte integrado para roteamento individual e em grupo (unicast e multicast). O
multicast OSPF (MOS-PF) [RFC 1584] fornece extensões simples ao OSPF para prover
roteamento em grupo.
• Suporte para hierarquia dentro de um único domínio de roteamento. Talvez o
avanço mais significativo do OSPF seja a capacidade de estruturar em hierarquia um
sistema autônomo.

4.10.3 Roteamento intrer-AS na Internet: BGP


Acabamos de aprender como ISPs utilizam RIP e OSPF para determinar caminhos
ótimos para pares origem-destino internos ao mesmo AS. Agora vamos examinar como são
determinados caminhos para pares origem-destino que abrangem vários ASs. A versão 4 do
protocolo de roteador de borda (Border Gateway Protocol — BGP) é o padrão, na prática,
para roteamento entre sistemas autônomos na Internet de hoje. Esse protocolo é em geral
denominado BGP4 ou apenas BGP. Na qualidade de um protocolo de roteamento inter-ASs, o
BGP oferece a cada AS meios de:
• Obter de ASs vizinhos informações de alcançabilidade de sub-redes.
• Propagar a informação de alcançabilidade a todos os roteadores internos ao AS.
• Determinar rotas “boas” para sub-redes com base na informação de alcançabilidade e
na política do AS.
O BGP, sobretudo, permite que cada sub-rede anuncie sua existência ao restante da
Internet. Uma sub-rede grita “Eu existo e estou aqui” e o BGP garante que todos os ASs da
Internet saibam de sua existência e como chegar até ela. Não fosse o BGP, cada sub-rede
ficaria isolada — sozinha e desconhecida pelo restante da Internet.
O BGP é de altíssima complexidade; livros inteiros foram dedicados ao assunto. Não
obstante, como o BGP é um protocolo absolutamente crítico para a Internet — na essência, é o
que agrega tudo —, precisamos ao menos entender os aspectosbásicos do seu funcionamento.
Começamos descrevendo como o BGP poderia funcionar no contexto do exemplo de rede
simples que já estudamos na Figura 82.
No BGP, pares de roteadores trocam informações de roteamento por conexões TCP
semipermanentes usando a porta 179. Normalmente há uma conexão BGP TCP para cada
enlace que liga diretamente dois roteadores que estão em dois ASs diferentes. Também há
conexões BGP TCP semipermanentes entre roteadores dentro de um AS.
Em particular, a Figura 84 apresenta uma configuração comum de uma conexão TCP
para cada par de roteadores internos a um AS, criando uma malha de conexões TCP em cada
AS. Os dois roteadores nas extremidades da conexão são denominados pares BGP, e a
conexão TCP, junto com todas as mensagens BGP enviadas pela conexão, é denominada
sessão BGP. Além disso, uma sessão BGP que abranja dois ASs é denominada sessão BGP
externa (eBGP) e uma sessão BGP entre roteadores no mesmo AS é chamada uma sessão
BGP interna (iBGP). Na Figura 84, as sessões eBGP são indicadas pelas linhas de traços
longos; as sessões iBGP são representadas pelas linhas de traços curtos.

Figura 84: Sessões eBGP e iBGP

Agora vamos examinar como o BGP distribuiria informações sobre a alcançabilidade de

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 82


prefixos pelas sessões BGP mostradas na Figura 84. Como é de se esperar, usando a sessão
eBGP entre os roteadores de borda 3a e 1c, AS3 envia a AS1 a lista de prefixos que podem
ser alcançados a partir de AS3; e AS1 envia a AS3 a lista de prefixos que podem ser
alcançados a partir de AS1. De modo semelhante, AS1 e AS2 trocam informações de
alcançabilidade de prefixos por meio de seus roteadores de borda 1b e 2a. E, como também
era de esperar, quando um roteador de borda (em qualquer AS) recebe prefixos conhecidos
pelo BGP, ele usa suas sessões iBGP para distribuí-los aos outros roteadores no AS. Assim,
todos os roteadores no AS1 se informarão sobre os prefixos de AS3, incluindo o roteador de
borda 1b. O roteador de borda 1b (em AS1) pode reanunciar a AS2 os prefixos de AS3.
Quando um roteador (seja ou não de borda) fica sabendo de um novo prefixo, cria um registro
para ele em sua tabela de repasse.
No BGP, um sistema autônomo é identificado por seu número de sistema autônomo
(ASN) globalmente exclusivo. Números de ASs, como endereços IP, são designados por
entidades regionais ICANN de registro. Quando um roteador anuncia um prefixo para uma
sessão BGP, inclui vários atributos BGP juntamente com o prefixo. Na terminologia do BGP,
um prefixo, junto com seus atributos, é denominado uma rota. Assim, pares BGP anunciam
rotas uns aos outros. Dois dos atributos mais importantes são AS-PATH e NEXT-HOP:
• AS-PATH. Esse atributo contém os ASs pelos quais passou o anúncio para o prefixo.
Quando um prefixo é passado para dentro de um AS, este adiciona seu ASN ao atributo
AS-PATH. Roteadores usam o atributo AS-PATH para detectar e evitar looping de
anúncios; em especial, se um roteador perceber que seu AS está contido na lista de
caminhos, rejeitará o anúncio.
• Fornecendo o enlace crítico entre os protocolos de roteamento inter-AS e intra-AS, o
atributo NEXT-HOP possui uma sutil mas importante utilidade. O NEXT-HOP é a
interface do roteador que inicia o AS-PATH. E em resumo, o atributo NEXT-HOP é usado
por roteadores para configurar suas tabelas de repasse adequadamente.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 83


5 CAMADA DE TRANSPORTE
5.1 Conceitos Básicos
A camada de transporte permite uma comunicação lógica fim a fim entre dois processos
de aplicação localizados em hosts diferentes (podendo até estar em lados diferentes do
planeta). Realizar uma comunicação lógica fim-a-fim indica dizer que esses processos trocam
mensagens livres sem se preocupar com os detalhes da infraestrutura física da rede (um das
funções da camada de rede). Além dessa função, a camada de transporte permite incluir
informações que permitem verificar a integridade dos dados.
No lado remetente, a camada de transporte converte os dados recebidos recebido das
camadas superiores em blocos de dados chamados de segmentos. Um cabeçalho contendo
informações da camada de transporte também é incluído a esse segmento, completando o
processo de encapsulamento dos dados nessa camada.
A Internet disponibiliza dois protocolos de transporte para as aplicações: o Protocolo de
Datagrama do Usuário ou UDP (User Datagram Protocol), que provê um serviço não
confiável e não orientado à conexão, e o Protocolo de Controle de Transmissão ou TCP
(Transmission Control Protocol) que provê um serviço confiável e orientado à conexão.
No serviço confiável da camada de transporte (utilizando o protocolo TCP) são incluídas
duas importantes funções para o andamento eficaz das transmissões de dados. A primeira
delas é o controle de fluxo que tem como objetivo evitar que um transmissor rápido
sobrecarregue um receptor mais lento. Sendo, desse modo, um controle de tráfego apenas
entre os processos comunicantes.
A segunda importante função é o controle de congestionamento que consiste de
mecanismos para evitar que um transmissor sobrecarregue a rede como um todo, não apenas
se preocupando com o tráfego entre os processos comunicantes.

Figura 85: Como os dados trafegam no contexto da Camada de Transporte

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 84


5.2 Multiplexação e Demultiplexação
Em host destinatário de uma comunicação, a camada de transporte recebe segmentos
da camada de rede e tem a incumbência de entregar todos os dados desses segmentos ao
processo da camada de aplicação, que também roda nesse host. Porém, o que acontece na
realidade é que a camada de transporte não entrega os segmentos a um processo, mas sim
em um socket. Cada um desses tem um identificador exclusivo: endereço IP + número de porta.
O direcionamento a uma porta correta de um segmento, é feito a partir da análise de um
conjunto de campos que se localiza no segmento. Nesse campo encontra-se a porta
destinatária, a qual o segmento será direcionado pela camada de transporte. Esse
direcionamento a porta correta (sentido bottom-up) é denominado de demultiplexação.
Portanto, define-se multiplexação como sendo a tarefa de reunir pedaços de dados, vindos de
diferentes portas (no host de origem), encapsulando esses pedaços com o conjunto de campos
para criar segmentos e entregá-los a camada de rede (sentido top-down).
Na Figura 86 a multiplexação ocorre, por exemplo, quando a camada de transporte
reúne dados provenientes dos processos associados ao Chrome e ao Spotify. Os protocolos
dessa camada conseguem distinguir os seguimentos de cada aplicativo devido aos números de
portas associado a seus sockets. A demultiplexação ocorre no sentido inverso, quando os
servidores invocados por tais aplicações enviam dados de resposta às solicitações enviadas e
os protocolos da camada de transporte precisam fazer a entrega ao processo correto,
consultando o número de porta associado ao seu socket.

Figura 86: Um exemplo de multiplexação e demultiplexação

A multiplexação gerenciada na camada de transporte para a camada de rede requer (1)


que as portas tenham identificadores exclusivos e (2) que cada segmento tenha campos
especiais que indiquem a porta para a qual o segmento deve ser entregue. Esses campos
especiais são o campo de número de porta de origem e o campo de número de porta de
destino. (Os segmentos UDP e TCP têm outros campos também, que serão examinados nas
seções subsequentes deste capítulo.) Cada número de porta é um número de 16 bits na faixa
de 0 a 65535. Os números de porta entre 0 e 1023 são denominados números de porta bem
conhecidos; eles são restritos, o que significa que estão reservados para utilização por
protocolos de aplicação bem conhecidos, como HTTP (que usa a porta número 80) e FTP (que
usa a porta número 21). Quando desenvolvemos uma nova aplicação, devemos atribuir a ela
um número de porta.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 85


Figura 87: Números de portas

Se o desenvolvedor responsável por escrever o código da aplicação estivesse


executando o lado servidor de um “protocolo bem conhecido”, ele teria de designar o número
de porta bem conhecido correspondente. O lado cliente da aplicação em geral permite que a
camada de transporte designe o número de porta de modo automático (e transparente), ao
passo que o lado servidor da aplicação designa um número de porta específico. Agora que os
sockets já têm seus números de porta designados, podemos descrever multiplexação/
demultiplexação com precisão.
Suponha que um processo relativo ao Spotify no hospedeiro A, cujo número de porta é
19157, queira enviar uma porção de dados de aplicação a um processo cujo número de porta
seja 46428 no hospedeiro B (o correspondente servidor de músicas do Spotify). A camada de
transporte no hospedeiro A cria um segmento de camada de transporte que inclui os dados de
aplicação, o número da porta de origem (19157), o número da porta de destino (46428). Então,
a camada de transporte passa o segmento resultante para a camada de rede. Essa camada
encapsula o segmento em um datagrama IP e faz uma tentativa de melhor esforço para
entregar o segmento ao hospedeiro destinatário.

Figura 88: Um exemplo de comunicação de processos

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 86


Se o segmento chegar à máquina de destino B (servidor do Spotify), a camada de
destino no hospedeiro destinatário examinará o número da porta de destino no segmento
(46428) e o entregará a seu socket identificado pelo número 46428. Note que a máquina B
poderia estar rodando vários processos, cada um com sua própria porta UDP e número de
porta associado. À medida que segmentos UDP chegassem da rede, a máquina B direcionaria
(demultiplexaria) cada segmento à porta apropriada examinando o número de porta de destino
do segmento.
Um determinado hospedeiro servidor pode suportar vários sockets simultâneos, sendo
cada qual ligado a um processo e identificado por sua própria tupla de quatro elementos. A
Figura 89 mostra um servidor Web (HTTP – porta 80) que cria um novo processo para cada
conexão. Como mostra a figura, cada um desses processos tem seu próprio socket de conexão
pelo qual chegam requisições HTTP e são enviadas respostas HTTP.
Mencionamos, contudo, que nem sempre existe uma correspondência unívoca entre
sockets de conexão e processos. Na verdade, os servidores Web de alto desempenho atuais
muitas vezes utilizam somente um processo, mas criam uma nova thread com um novo socket
de conexão para cada nova conexão cliente. (Uma thread pode ser considerada um
subprocesso leve.) Para um servidor desses, a qualquer dado instante pode haver muitos
sockets de conexão (com identificadores diferentes) ligados ao mesmo processo.

Figura 89: Dois clientes que usam o mesmo número de porta de destino (80) para se comunicar
com a mesma aplicação de servidor Web

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 87


5.3 Transporte não orientado para conexão: UDP
No mínimo, a camada de transporte tem de fornecer um serviço de
multiplexação/demultiplexação para passar os dados da camada de rede ao processo em nível
de aplicação correto. O UDP (User Datagram Protocol) faz apenas quase tão pouco quanto
um protocolo de transporte pode fazer. À parte sua função de multiplexação/demultiplexação e
de alguma verificação de erros simples, ele nada adiciona ao IP.
Na verdade, se o desenvolvedor de aplicação escolher o UDP, em vez do TCP, a
aplicação estará “falando” quase diretamente com o IP. O UDP pega as mensagens do
processo da aplicação, anexa os campos de número da porta de origem e de destino para o
serviço de multiplexação/demultiplexação, adiciona dois outros pequenos campos e passa o
segmento resultante à camada de rede, que encapsula o segmento dentro de um datagrama IP
e, em seguida, faz a melhor tentativa para entregar o segmento ao hospedeiro receptor. Se o
segmento chegar ao hospedeiro receptor, o UDP usará o número de porta de destino para
entregar os dados do segmento ao processo de aplicação correto.
Note que, com o UDP, não há apresentação entre as entidades remetente e destinatária
da camada de transporte antes de enviar um segmento. Por essa razão, dizemos que o UDP é
não orientado para conexão. Sem realizar nenhuma apresentação com a entidade UDP que
está funcionando no sistema final de destino, o UDP do lado do hospedeiro adiciona campos
de cabeçalho à mensagem e passa o segmento resultante à camada de rede, que encapsula o
segmento UDP em um datagrama e o envia a outro host.
É possível que agora você esteja imaginando por que um desenvolvedor de aplicação
escolheria construir uma aplicação sobre UDP, em vez de sobre TCP. O TCP não é sempre
preferível ao UDP, já que fornece serviço confiável de transferência de dados e o UDP não? A
resposta é “não”, pois muitas aplicações se adaptam melhor ao UDP pelas seguintes razões:
• Melhor controle no nível da aplicação sobre quais dados são enviados e quando.
Com UDP, tão logo um processo de aplicação passe dados ao UDP, o protocolo os
empacotará dentro de um segmento UDP e os passará imediatamente à camada de rede.
O TCP, por outro lado, tem um mecanismo de controle de congestionamento que limita o
remetente TCP da camada de transporte quando um ou mais enlaces entre os
hospedeiros da origem e do destinatário ficam congestionados demais. O TCP também
continuará a reenviar um segmento até que o hospedeiro destinatário reconheça a
recepção desse segmento, pouco importando o tempo que a entrega confiável levar.
• Não há estabelecimento de conexão. O TCP usa uma apresentação de três vias antes
de começar a transferir dados. O UDP simplesmente envia mensagens sem nenhuma
preliminar formal e, assim, não introduz atraso algum para estabelecer uma conexão.
Talvez seja esta a principal razão pela qual o DNS roda sobre UDP, e não sobre TCP — o
DNS seria muito mais lento se rodasse em TCP. O HTTP usa o TCP, e não o UDP, porque
a confiabilidade é fundamental para páginas Web com texto.
• Não há estados de conexão. O TCP mantém o estado de conexão nos sistemas finais.
Esse estado inclui buffers de envio e recebimento, parâmetros de controle de
congestionamento e parâmetros numéricos de sequência e de reconhecimento. O UDP,
por sua vez, não mantém o estado de conexão e não monitora nenhum desses
parâmetros. Por essa razão, um servidor dedicado a uma aplicação específica pode
suportar um número muito maior de clientes ativos quando a aplicação roda sobre UDP e
não sobre TCP.
• Pequeno excesso de cabeçalho de pacote. O segmento TCP tem 20 bytes de excesso
(overhead) de cabeçalho, além dos dados para cada segmento, enquanto o UDP tem
somente 8 bytes de excesso.

A Figura 90 relaciona aplicações populares da Internet e os protocolos de transporte que


elas usam. Como era de esperar, o e-mail, o acesso a terminal remoto (Telnet e SSH), a Web e
a transferência de arquivos rodam sobre TCP — todas essas aplicações necessitam do serviço
confiável de transferência de dados do TCP. Não obstante, muitas aplicações importantes
executam sobre UDP, e não sobre TCP.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 88


O UDP é usado para atualização das tabelas de roteamento com o protocolo RIP (Routing
Information Protocol — protocolo de informações de roteamento). Como as atualizações RIP
são enviadas periodicamente (em geral, a cada cinco minutos), atualizações perdidas serão
substituídas por mais recentes, tornando inútil a recuperação das perdidas. O UDP também é
usado para levar dados de gerenciamento de rede (SNMP). Nesse caso, o UDP é preferível ao
TCP, já que aplicações de gerenciamento de rede com frequência devem funcionar quando a
rede está em estado sobrecarregado — exatamente quando é difícil conseguir transferência
confiável de dados com congestionamento controlado. E também, como mencionamos, o DNS
roda sobre UDP, evitando, desse modo, atrasos de estabelecimento de conexões TCP.

Figura 90: Aplicações populares da Internet e seus protocolos de transporte subjacentes

A estrutura do segmento UDP, mostrada na Figura 91. Os dados da aplicação ocupam o


campo de dados do segmento UDP. Por exemplo, para o DNS, o campo de dados contém uma
mensagem de consulta ou uma mensagem de resposta. Para uma aplicação de recepção de
áudio, amostras de áudio preenchem o campo de dados.
O cabeçalho UDP tem apenas quatro campos, cada um consistindo em 2 bytes. Como já
discutido, os números de porta permitem que o hospedeiro destinatário passe os dados da
aplicação ao processo correto que está funcionando no sistema final destinatário (isto é, realize
a função de demultiplexação). O campo de comprimento especifica o número de bytes no
segmento UDP (cabeçalho mais dados). Um valor de comprimento explícito é necessário
porque o tamanho do campo de dados pode ser diferente de um segmento UDP para o outro.
A soma de verificação é usada pelo hospedeiro receptor para verificar se foram
introduzidos erros no segmento. Na verdade, a soma de verificação também é calculada para
alguns dos campos no cabeçalho IP, além do segmento UDP. Mas ignoramos esse detalhe
para podermos enxergar a floresta por entre as árvores. O campo de comprimento especifica o
comprimento do segmento UDP, incluindo o cabeçalho, em bytes.

Figura 91: Estrutura do segmento UDP

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 89


5.4 Transporte orientado para conexão: TCP
Dizemos que o TCP é orientado para conexão porque, antes que um processo de
aplicação possa começar a enviar dados a outro, os dois processos precisam primeiro se
“apresentar” — isto é, devem enviar alguns segmentos preliminares um ao outro para
estabelecer os parâmetros da transferência de dados. Como parte do estabelecimento da
conexão TCP, ambos os lados da conexão iniciarão muitas variáveis de estado associadas com
a conexão TCP.
A “conexão” TCP não é um circuito virtual, pois o estado de conexão reside inteiramente
nos dois sistemas finais. Como o protocolo TCP roda apenas nesses sistemas, e não nos
elementos intermediários da rede, os elementos intermediários não mantêm estado de conexão
TCP. Na verdade, os roteadores intermediários são de todo alheios às conexões TCP; eles
enxergam datagramas, e não conexões.
Uma conexão TCP provê um serviço full-duplex: se houver uma conexão TCP entre o
processo A em um hospedeiro e o processo B em outro hospedeiro, os dados da camada de
aplicação poderão fluir de A para B ao mesmo tempo em que os dados da camada de
aplicação fluem de B para A.
A conexão TCP é sempre ponto a ponto, isto é, entre um único remetente e um único
destinatário. O chamado “multicast” — a transferência de dados de um remetente para vários
destinatários em uma única operação de envio — não é possível com o TCP.
Vamos agora examinar como uma conexão TCP é estabelecida. Suponha que um
processo que roda em um hospedeiro queira iniciar a conexão com outro processo em outro
hospedeiro. O processo de aplicação cliente primeiro informa à camada de transporte no
cliente que ele quer estabelecer uma conexão com um processo no servidor.
O TCP no cliente então passa a estabelecer uma conexão TCP com o TCP no servidor.
Por enquanto, basta saber que o cliente primeiro envia um segmento TCP especial; o servidor
responde com um segundo segmento TCP especial e, por fim, o cliente responde novamente
com um terceiro segmento especial. Os primeiros dois segmentos não contêm nenhuma “carga
útil”, isto é, nenhum dado da camada de aplicação; o terceiro pode carregar uma carga útil.
Como três segmentos são enviados entre dois hospedeiros, esse procedimento de
estabelecimento de conexão é muitas vezes denominado apresentação de três vias (3-way
handshake).
Uma vez estabelecida uma conexão TCP, os dois processos de aplicação podem enviar
dados um para o outro. Vamos considerar o envio de dados do processo cliente para o
processo servidor. O processo cliente passa uma cadeia de dados pelo socket (a porta do
processo). Tão logo passem pelo socket, os dados estão nas mãos do TCP que está rodando
no cliente. O TCP direciona seus dados para o buffer de envio da conexão, que é um dos
buffers reservados durante a apresentação de três vias inicial.

Figura 92: Buffers TCP de envio e de recepção

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 90


De quando em quando, o TCP recupera pedaços de dados do buffer de envio e passa
os dados à camada de rede. A quantidade máxima de dados que pode ser retirada e colocada
em um segmento é limitada pelo tamanho máximo do segmento (maximum segment size —
MSS). O MSS normalmente é estabelecido determinando primeiro o tamanho do maior quadro
de camada de enlace que pode ser enviado pelo hospedeiro remetente local (denominado
unidade máxima de transmissão — maximum transmission unit — MTU) e, em seguida,
estabelecendo um MSS que garanta que um segmento TCP (quando encapsulado em um
datagrama IP) mais o comprimento do cabeçalho TCP/IP (em geral, 40 bytes) caberão em um
único quadro de camada de enlace.

5.4.1 Estrutura do segmento TCP


Nesta seção vamos verificar a estrutura do segmento TCP, que consiste em campos de
cabeçalho e um campo de dados. O campo de dados contém uma quantidade de dados de
aplicação.
Quando o TCP envia um arquivo grande, tal como uma imagem de uma página Web, ele
costuma fragmentar o segmento em pedaços de tamanho MSS (exceto o último, que muitas
vezes é menor do que o MSS). Aplicações interativas, contudo, muitas vezes transmitem
quantidades de dados menores do que o MSS. Por exemplo, com aplicações de login remoto
como Telnet, o campo de dados do segmento TCP é, muitas vezes, de apenas 1 byte. Como o
cabeçalho TCP tem tipicamente 20 bytes, o comprimento dos segmentos enviados por Telnet
pode ser de apenas 21 bytes.
A Figura 93 mostra a estrutura do segmento TCP. Como acontece com o UDP, o
cabeçalho inclui números de porta de origem e de destino, que são usados para
multiplexação e demultiplexação de dados de/para aplicações de camadas superiores e, assim
como no UDP, inclui um campo de soma de verificação. Um cabeçalho de segmento TCP
também contém os seguintes campos:
• O campo de número de sequência de 32 bits e o campo de número de reconhecimento
de 32 bits são usados pelos TCPs remetente e destinatário na execução de um serviço
confiável de transferência de dados, como discutido a seguir.
• O campo de janela de recepção de 16 bits é usado para controle de fluxo. Veremos em
breve que esse campo é usado para indicar o número de bytes que um destinatário está
disposto a aceitar.
• O campo de comprimento de cabeçalho de 4 bits especifica o comprimento do cabeçalho
TCP em palavras de 32 bits. O cabeçalho TCP pode ter comprimento variável por causa do
campo de opções TCP. (O campo de opções TCP em geral está vazio, de modo que o
comprimento do cabeçalho TCP típico é 20 bytes.)
• O campo de opções, opcional e de comprimento variável, é usado quando um remetente e
um destinatário negociam o MSS, ou como um fator de aumento de escala da janela para
utilização em redes de alta velocidade.
• O campo de flag contém 6 bits. O bit ACK é usado para indicar se o valor carregado no
campo de reconhecimento é válido, isto é, se o segmento contém um reconhecimento para
um segmento que foi recebido com sucesso. Os bits RST, SYN e FIN são usados para
estabelecer e encerrar a conexão, como discutiremos ao final desta seção. Marcar o bit
PSH indica que o destinatário deve passar os dados para a camada superior
imediatamente. Por fim, o bit URG é usado para mostrar que há dados nesse segmento
que a entidade da camada superior do lado remetente marcou como “urgentes”. A
localização do último byte desses dados urgentes é indicada pelo campo de ponteiro de
urgência de 16 bits. O TCP deve informar à entidade da camada superior do lado
destinatário quando existem dados urgentes e passar a ela um ponteiro para o final desses
dados.
Dois dos mais importantes campos do cabeçalho do segmento TCP são o de número de
sequência e o de número de reconhecimento. Esses campos são parte fundamental do serviço
de transferência confiável de dados do TCP.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 91


Figura 93: Estrutura do segmento TCP

O TCP vê os dados como uma cadeia de bytes não estruturada, mas ordenada. O uso que
o TCP faz dos números de sequência reflete essa visão, pois esses números são aplicados
sobre a cadeia de bytes transmitidos, e não sobre a série de segmentos transmitidos. O
número de sequência para um segmento é o número do primeiro byte do segmento.
Vamos ver um exemplo. Suponha que um processo no hospedeiro A queira enviar uma
cadeia de dados para um processo no hospedeiro B por uma conexão. O TCP do hospedeiro A
vai implicitamente numerar cada byte da cadeia de dados. Suponha que a cadeia de dados
consista em um arquivo composto de 500 mil bytes, que o MSS seja de 1.000 bytes e que seja
atribuído o número 0 ao primeiro byte da cadeia de dados.
Assim, o TCP constrói 500 segmentos a partir da cadeia de dados. O primeiro recebe o
número de sequência 0; o segundo, o número de sequência 1.000; o terceiro, o número de
sequência 2.000, e assim por diante. Cada número de sequência é inserido no campo de
número de sequência no cabeçalho do segmento TCP apropriado.
Vamos agora considerar os números de reconhecimento. Eles são um pouco mais
complicados do que os números de sequência. Cada segmento que chega do hospedeiro B
tem um número de sequência para os dados que estão fluindo de B para A. O número de
reconhecimento que o hospedeiro A atribui a seu segmento é o número de sequência do
próximo byte que ele estiver aguardando do hospedeiro B.
Então suponha que o hospedeiro A tenha recebido do hospedeiro B todos os bytes
numerados de 0 a 535 e também que esteja prestes a enviar um segmento ao hospedeiro B. O
hospedeiro A está esperando pelo byte 536 e por todos os bytes subsequentes da cadeia de
dados do hospedeiro B. Assim, ele coloca o número 536 no campo de número de
reconhecimento do segmento que envia para o hospedeiro B.
Como outro exemplo, suponha que o hospedeiro A tenha recebido um segmento do
hospedeiro B contendo os bytes de 0 a 535 e outro segmento contendo os bytes de 900 a
1.000. Por alguma razão, o hospedeiro A ainda não recebeu os bytes de 536 a 899. Nesse
exemplo, ele ainda está esperando pelo byte 536 (e os superiores) para poder recriar a cadeia
de dados de B. Assim, o segmento seguinte que A envia a B conterá 536 no campo de número
de reconhecimento. Como o TCP somente reconhece bytes até o primeiro byte que estiver
faltando na cadeia, dizemos que o TCP provê reconhecimentos cumulativos.
Suponha agora que um hospedeiro A inicie uma sessão Telnet com um hospedeiro B.
Como o hospedeiro A inicia a sessão, ele é rotulado de cliente, enquanto B é rotulado de
servidor. Cada caractere digitado pelo usuário (no cliente) será enviado ao hospedeiro remoto;
este devolverá uma cópia (“eco”) de cada caractere, que será apresentada na tela Telnet do
usuário. Esse eco é usado para garantir que os caracteres vistos pelo usuário do Telnet já

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 92


foram recebidos e processados no local remoto. Assim, cada caractere atravessa a rede duas
vezes entre o momento em que o usuário aperta o teclado e o momento em que o caractere é
apresentado em seu monitor.
Suponha então que o usuário digite a letra “C”. Vamos examinar os segmentos TCP que
são enviados entre o cliente e o servidor. Como mostra a Figura 94, admitamos que os
números de sequência iniciais sejam 42 e 79 para cliente e servidor, respectivamente. Lembre-
se de que o número de sequência de um segmento será o número de sequência do primeiro
byte do seu campo de dados.
Assim, o primeiro segmento enviado do cliente terá número de sequência 42; o primeiro
segmento enviado do servidor terá número de sequência 79. Note que o número de
reconhecimento será o número de sequência do próximo byte de dados que o hospedeiro
estará aguardando. Após o estabelecimento da conexão TCP, mas antes de quaisquer dados
serem enviados, o cliente ficará esperando pelo byte 79 e o servidor, pelo byte 42. Como ilustra
a Figura 94, são enviados três segmentos. O primeiro é enviado do cliente ao servidor,
contendo, em seu campo de dados, um byte com a representação ASCII para a letra “C”. O
primeiro segmento também tem 42 em seu campo de número de sequência, como acabamos
de descrever. E mais, como o cliente ainda não recebeu nenhum dado do servidor, esse
segmento terá o número 79 em seu campo de número de reconhecimento.

Figura 94: Números de sequência e de reconhecimento para uma aplicação Telnet simples

O segundo segmento é enviado do servidor ao cliente. Esse segmento tem dupla


finalidade. A primeira é fornecer um reconhecimento para os dados que o servidor recebeu. Ao
colocar 43 no campo de reconhecimento, o servidor está dizendo ao cliente que recebeu com
sucesso tudo até o byte 42 e agora está aguardando os bytes de 43 em diante.
A segunda finalidade desse segmento é ecoar a letra “C”. Assim, o segundo segmento tem
a representação ASCII de “C” em seu campo de dados. Ele tem o número de sequência 79,
que é o número de sequência inicial do fluxo de dados de servidor para cliente dessa conexão
TCP, pois este é o primeiríssimo byte de dados que o servidor está enviando.
Note que o reconhecimento para dados do cliente para o servidor é levado em um
segmento que carrega dados do servidor para o cliente. Dizemos que esse reconhecimento
pegou uma carona (piggybacked) no segmento de dados do servidor ao cliente.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 93


O terceiro é enviado do cliente ao servidor. Seu único propósito é reconhecer os dados que
recebeu do servidor. (Lembre-se de que o segundo segmento continha dados — a letra “C” —
do servidor para o cliente.) Ele tem um campo de dados vazio (isto é, o reconhecimento não
está pegando carona com nenhum dado do cliente para o servidor). O segmento tem o número
80 no campo do número de reconhecimento porque o cliente recebeu a cadeia de dados até o
byte com número de sequência 79 e agora está aguardando os bytes de 80 em diante. É
possível que você esteja pensando que é estranho que esse segmento também tenha um
número de sequência, já que não contém dados. Mas, como o TCP tem um campo de número
de sequência, o segmento precisa apresentar algum número para preenchê-lo.

5.4.2 Alguns cenários interessantes para estudo no TCP


Acabamos de descrever uma versão muito simplificada do modo como o TCP provê
transferência confiável de dados, mas mesmo essa descrição tão simplificada tem muitas
sutilezas. Para ter uma boa ideia de como esse protocolo funciona, vamos agora examinar
alguns cenários simples. A Figura 95 ilustra o primeiro cenário, em que um hospedeiro A envia
um segmento ao hospedeiro B. Suponha que esse segmento tenha número de sequência 92 e
contenha 8 bytes de dados.

Figura 95: Retransmissão devido a um reconhecimento perdido

Após enviá-lo, o hospedeiro A espera por um segmento de B com número de re-


conhecimento 100. Embora o segmento de A seja recebido em B, o reconhecimento de B para
A se perde. Nesse caso, ocorre o evento de expiração do temporizador e o hospedeiro A
retransmite o mesmo segmento.
É claro que, quando recebe a retransmissão, o hospedeiro B observa, pelo número de
sequência, que o segmento contém dados que já foram recebidos. Assim, o TCP no hospedeiro
B descarta os bytes do segmento retransmitido.
Em um segundo cenário, mostrado na Figura 96, o hospedeiro A envia dois segmentos
seguidos. O primeiro tem número de sequência 92 e 8 bytes de dados. O segundo tem número
de sequência 100 e 20 bytes de dados. Suponha que ambos cheguem intactos em B e que B
envie dois reconhecimentos separados para cada um desses segmentos. O primeiro deles tem
número de reconhecimento 100; o segundo, número 120.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 94


Figura 96: Segmento 100 não retransmitido

Suponha agora que nenhum dos reconhecimentos chegue ao hospedeiro A antes do


esgotamento do temporizador. Quando ocorre o evento de expiração do temporizador, o
hospedeiro A reenvia o primeiro segmento com número de sequência 92 e reinicia o
temporizador. Contanto que o ACK do segundo segmento chegue antes que o temporizador
expire novamente, o segundo segmento não será retransmitido. Em um terceiro e último
cenário, suponha que o hospedeiro A envie dois segmentos, assim como no segundo exemplo.
O reconhecimento do primeiro segmento é perdido na rede, mas, um pouco antes do
evento de expiração, A recebe um reconhecimento com número 120. O hospedeiro A, portanto,
sabe que B recebeu tudo até o byte 119; logo, ele não reenvia nenhum dos dois segmentos. Tal
cenário está ilustrado na Figura 97.

Figura 97: Um reconhecimento cumulativo evita retransmissão do primeiro segmento

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 95


5.4.3 Retransmissão Rápida
Um dos problemas de retransmissões acionadas por expiração de temporizador é que o
período de expiração pode ser um tanto longo. Quando um segmento é perdido, esse longo
período força o remetente a atrasar o reenvio do pacote perdido, aumentando por conseguinte
o atraso fim a fim.
Felizmente, o remetente pode com frequência detectar perda de pacote bem antes de
ocorrer o evento de expiração, observando os denominados ACKs duplicados. Um ACK
duplicado é um ACK que reconhece novamente um segmento para o qual o remetente já
recebeu um reconhecimento anterior. Para entender a resposta do remetente a um ACK
duplicado, devemos examinar por que o destinatário envia um ACK duplicado em primeiro
lugar.
A tabela a seguir resume a política de geração de ACKs do TCP destinatário. Quando um
TCP destinatário recebe um segmento com número de sequência maior do que o seguinte,
esperado, na ordem, ele detecta uma lacuna no fluxo de dados — ou seja, um segmento
faltando. Essa lacuna poderia ser o resultado de segmentos perdidos ou reordenados dentro da
rede. Como o TCP não usa reconhecimentos negativos, o destinatário não pode enviar um
reconhecimento negativo explícito de volta ao destinatário. Em vez disso, ele apenas
reconhece mais uma vez (ou seja, gera um ACK duplicado para) o último byte de dados na
ordem que foi recebido.

Figura 98: Comportamento do TCP a respeito da geração de ACKs

Como um remetente quase sempre envia um grande número de segmentos, um atrás do


outro, se um segmento for perdido, provavelmente existirão muitos ACKs duplicados, também
um após o outro. Se o TCP remetente receber três ACKs duplicados para os mesmos dados,
ele tomará isso como indicação de que o segmento que se seguiu ao segmento reconhecido
três vezes foi perdido.
No caso de receber três ACKs duplicados, o TCP remetente realiza uma retransmissão
rápida, retransmitindo o segmento que falta antes da expiração do temporizador do segmento.
Isso é mostrado na Figura 99, em que o segundo segmento é perdido, e então retransmitido
antes da expiração do temporizador.
Vamos encerrar nosso estudo do mecanismo de recuperação de erros do TCP
considerando a seguinte pergunta: o TCP é um protocolo GBN ou SR? Lembre-se de que, no
TCP, os reconhecimentos são cumulativos e segmentos recebidos de modo correto, mas fora
da ordem, não são reconhecidos (ACK) individualmente pelo destinatário.
Nesse sentido, o TCP se parece muito com um protocolo ao estilo do Go-Back-N (GBN).
Porém, há algumas diferenças surpreendentes entre o TCP e o GBN. Muitas execuções do
TCP armazenarão segmentos recebidos corretamente, mas fora da ordem. Considere também
o que acontece quando o remetente envia uma sequência de segmentos 1, 2, ..., N e todos os
segmentos chegam ao destinatário na ordem e sem erro.
Uma modificação proposta para o TCP, denominada reconhecimento seletivo, permite
que um destinatário TCP reconheça seletivamente segmentos fora de ordem, em vez de

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 96


apenas reconhecer de modo cumulativo o último segmento recebido corretamente e na ordem.
Quando combinado com Retransmissão Seletiva (RS) — isto é, saltar a retransmissão de
segmentos que já foram reconhecidos de modo seletivo pelo destinatário —, o TCP se parece
muito com o protocolo de RS genérico. Assim, o mecanismo de recuperação de erros do TCP
talvez seja mais bem caracterizado como um híbrido dos protocolos GBN e RS.

Figura 99: Retransmissão rápida: retransmitir o segmento que falta antes da expiração do
temporizador do segmento

5.4.4 Gerenciamento de conexão TCP


Para trocarem segmentos de dados utilizando o TCP o emissor e o receptor devem
estabelecer uma conexão TCP através da troca de segmentos de controle entre si. Isto é
chamado de procedimento de estabelecimento de conexão chamada apresentação de três
vias (3-way 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 cliente solicita a estabelecimento de conexão em uma porta bem conhecida do
servidor (por exemplo, porta 80 de um servidor Web) e informa a porta origem para receber as
respostas, além de ajustar outros parâmetros para implementar a transferência garantida.
Na fase de estabelecimento de conexão, são inicializadas as variáveis do protocolo TCP,
como os números de sequência inicial e o tamanho de buffers. O processo cliente é o que inicia
o estabelecimento da conexão, sendo o servidor contatado pelo cliente. O estabelecimento da
conexão se dá em três passos (3-way handshaking), conforme mostrado na Figura 100:

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 97


Figura 100: Apresentação de três vias do TCP: troca de segmentos

1. O lado cliente do TCP envia um segmento de sincronização, chamado SYN (com o


flag Syn setado em 1), ao lado servidor do TCP, especificando um número de sequência
inicial escolhido aleatoriamente (Seq=X).
2. O servidor recebe o SYN, aloca buffers e inicializa variáveis, e envia uma mensagem de
reconhecimento da conexão, chamada SYN/ACK (com o flags Syn e Ack setados em
1), onde reconhece o pedido de conexão e especifica seu número de sequência inicial
(Seq=Y, Ack=X+1).
3. Uma vez recebido o reconhecimento da conexão pelo servidor, o cliente confirma a
conexão com um segmento chamado ACK (flag Syn agora em 0 e flag Ack setado em 1
indicando um reconhecimento válido) e também aloca buffers e inicializa variáveis da
conexão (Seq=X+1, Ack=Y+1).

No caso de uma recusa de conexão, por exemplo quando um


cliente solicita uma conexão numa porta inativa, o servidor contatado
envia um segmento de controle chamado RST (reset) (com o flag Rst
setado em 1), conforme ilustra a Figura 101.
Para o enceramento da conexão
quatro segmentos são trocados. Quem inicia Figura 101: Recusa de
conexão
a desconexão envia de um segmento
especial, chamado FIN (com flag Fin setado em 1). Quem recebe o
segmento, primeiro reconhece a solicitação de fim da conexão e
depois envia ele também um segmento FIN (Estas duas mensagens
podem estar concatenadas em uma única mensagem FIN-ACK). O
encerramento definitivo da conexão se dá quando o que iniciou a
desconexão recebe e reconhece o segundo segmento FIN, conforme
ilustra a Figura 102.

Figura 102: Encerramento de


conexão

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 98


5.4.5 Controle de Fluxo
Lembre-se de que os hospedeiros de cada lado de uma conexão TCP reservam um
buffer de recepção para a conexão. Quando a conexão TCP recebe bytes que estão corretos e
em sequência, ele coloca os dados no buffer de recepção. O processo de aplicação associado
lerá os dados a partir desse buffer, mas não necessariamente no momento em que são
recebidos. Na verdade, a aplicação receptora pode estar ocupada com alguma outra tarefa e
nem ao menos tentar ler os dados até muito após a chegada deles.
Se a aplicação for relativamente lenta na leitura dos dados, o remetente pode muito
facilmente saturar o buffer de recepção da conexão por enviar demasiados dados muito
rapidamente. O TCP provê um serviço de controle de fluxo às suas aplicações, para eliminar a
possibilidade de o remetente estourar o buffer do destinatário. Assim, controle de fluxo é um
serviço de compatibilização de velocidades — compatibiliza a taxa à qual o remetente está
enviando com aquela à qual a aplicação receptora está lendo.
Como já notamos, um TCP remetente também pode ser estrangulado por causa do
congestionamento dentro da rede IP. Esse modo de controle do remetente é denominado
controle de congestionamento, um tópico que será examinado em detalhes neste capítulo.
Mesmo que as ações executadas pelo controle de fluxo e pelo controle de congestionamento
sejam semelhantes (a regulagem do remetente), fica evidente que elas são executadas por
razões muito diferentes.
O controle de fluxo é implementado por meio de uma variável, chamada janela de
recepção (receive window - rwnd), que mantém o valor atual da capacidade de
armazenamento do buffer de recepção (RcvBuffer). Esta janela limita a quantidade de bytes
que pode ser enviada antes de esperar por um reconhecimento.
A variável janela do receptor faz parte do cabeçalho TCP, e seu tamanho é dinâmico,
podendo variar durante uma conexão. A cada troca de segmentos o receptor informa o
tamanho atual da janela em Bytes.
Como a conexão é full-duplex, cada um dos receptores mantém a informação sobre sua
janela de recepção. A Figura 103 a seguir o mecanismo de controle de fluxo. Novos dados
chegando do emissor ocupam o espaço livre do buffer. Dados consumidos pela aplicação
liberam espaço do buffer.

Figura 103: A janela de recepção (rwnd) e o buffer de recepção (RcvBuffer)

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 99


5.4.6 Controle de Congestionamento
O controle de congestionamento visa minimizar o congestionamento no núcleo da rede.
O TCP implementa um mecanismo de controle de congestionamento fim a fim inferido a partir
da observação dos pacotes perdidos ou recebidos com atraso. A ideia é relativamente simples.
Caso o TCP detecte atrasos ou perda de pacotes ele supõe que há congestionamento da rede.
A partir dai o TCP diminui o fluxo de pacotes enviado, visando colaborar com a diminuição do
possível congestionamento no núcleo da rede.
Os atrasos ocorrem quando há atrasos significativos em filas nos roteadores. A perda de
pacotes ocorre quando estoura a capacidade de armazenamento nos roteadores devido ao
congestionamento e os novos pacotes que chegam são descartados (dropped). O TCP controla
sua taxa de transmissão, ou vazão, limitando o número de segmentos transmitidos e ainda não
reconhecidos.

Controle de fluxo X Controle de congestionamento


Como vimos anteriormente, o controle de fluxo no TCP depende do tamanho da janela
do receptor, a qual o receptor informa ao emissor a cada troca de pacotes, usando o campo
janela de recepção (receive window) do cabeçalho TCP.
No caso do controle de congestionamento, o emissor usa uma variável adicional
chamada janela de congestionamento (cong. window), a qual limita a transmissão em
função do congestionamento percebido na rede.
A qualquer tempo, a quantidade de dados enviados e não reconhecidos dentro de uma
conexão TCP não deve exceder o mínimo entre a janela de congestionamento e a janela do
receptor.

Janela máxima = MIN(Janela de congestionamento, Janela de recepção)

Funcionamento do controle de congestionamento TCP


A ideia do controle de congestionamento é permitir que o TCP transmita o mais rápido
possível, desde que não perda segmentos. Para isto, a conexão TCP começa com uma janela
de congestionamento de tamanho pequeno, visando sondar a existência de banda, e vai
aumentando o tamanho da janela até que ocorra uma perda. Quando isto acontece, o TCP
reduz o tamanho da janela para um nível seguro, e volta a aumentá-la, sondando novamente a
existência de banda.

5.4.6.1 Partida Lenta


Assim que a conexão TCP é estabelecida, a aplicação
remetente escreve bytes no buffer de envio do TCP emissor. O TCP
agrupa os bytes em segmentos de tamanho MSS e envia para a
camada rede para transmissão.
Inicialmente a janela de congestionamento é igual a 1 MSS. Isto
significa que o TCP envia um segmento e espera por um
reconhecimento. Se este segmento foi reconhecido antes do estouro
do temporizador, o TCP dobra o tamanho da janela de
congestionamento, passando a enviar dois segmentos. Se receber
reconhecimentos novamente, volta a dobrar o tamanho da janela para
quatro, e assim por diante.
O TCP continua este procedimento enquanto:
• A janela de congestionamento estiver abaixo de um valor de limiar;
• Os reconhecimentos chegarem antes do estouro do temporizador.
Figura 104: Mecanismo da
Esta fase do controle de congestionamento é chamada de Partida Lenta
Partida Lenta (SS – Slow Start), na qual a janela inicia com o valor de
1 MSS e aumenta de forma exponencial.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 100


5.4.6.2 Prevenção de Congestionamento
A fase de partida lenta termina quando o tamanho da janela atinge o valor de limiar
(threshold ou ssthresh). A partir deste momento a janela continua a crescer linearmente, 1 MSS
para cada RTT4. Esta fase é chamada de prevenção de congestionamento (CA - Congestion
Avoidance).
Se houver um estouro de temporização, o valor do limiar é ajustado para a metade do
valor corrente da janela, e a janela é ajustada para um MSS, reiniciando o processo de partida
lenta.
Note que o estouro da temporização é um evento drástico, pois indica que não estão
chegando reconhecimentos vindos do lado do receptor. Isto justifica reiniciar o processo de
partida lenta, diminuindo o tamanho da janela de congestionamento para 1 MSS.

Figura 105: Evolução da janela de congestionamento do TCP

5.4.6.3 Retransmissão rápida


Como já mencionado, caso o TCP receba três reconhecimentos duplicados antes de um
estouro de temporizador, o mesmo saberá que o outro lado deve ter recebido pacotes fora de
ordem, o que sugere que o pacote anterior tenha sido perdido ou está atrasado.
Neste caso, o emissor retransmite imediatamente o pacote solicitado, o que é chamado
retransmissão rápida (FR - Fast Retransmit), outro importante componente do controle de
congestionamento do TCP. Além disto, quando tal evento ocorre, o TCP reduz o tamanho da
janela de congestionamento para a metade de seu valor corrente e volta a crescer linearmente.
Este algoritmo é chamado de aumento
aditivo, dimuinuição multiplicativa (AIMD
- additive-increase, multiplicative-decrease).
A filosofia do AIMD é que três
reconhecimentos duplicados indica que a
rede é capaz de entregar alguns
segmentos. Entretanto, um estouro de
temporizador antes de três
reconhecimentos duplicados é mais
alarmante e justifica reiniciar a partida lenta.
Ao longo do tempo de vida de uma
conexão TCP, a variação da janela de
congestionamento segue um padrão de Figura 106: Gráfico dente de serra típico do TCP

4 Para definir o valor do temporizador o TCP faz uma estimativa dinâmica do tempo de ida e volta dos pacotes, chamado
RTT (roud trip time).

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 101


continuidade aumentando e diminuindo, como mostrado no formato dente de serra do AIMD.
Por fim, o evento da recuperação rápida (FR - Fast Recovery) trabalha junto com a de
retransmissão rápida. Uma vez que 3 pacotes de confirmação duplicados são identificados a
janela atual é reduzida para metade do limite atual (ssthresh). Essa abordagem é uma tentativa
de recuperação sem ter que ir direto para a partida lenta.

Figura
107:
Componentes do controle de congestionamento TCP atuando em conjunto

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 102


6 CAMADA DE APLICAÇÃO
6.1 Conceitos Básicos
A camada de aplicação permite que pessoas leigas, sem qualquer conhecimento técnico
em redes, possam usufruir dos serviços da Internet. Mas é importante ressaltar que nada disso
seria possível sem a participação das camadas inferiores, que iremos estudar.
Essa camada tem como principal objetivo oferecer serviços para os usuários como:
correio eletrônico, navegação na Web, transferências de arquivos, stream sob demanda, etc.
Esses serviços demandam protocolos específicos, como: HTTP, SMTP, FTP, etc.
De modo especial, as aplicações multimídia vêm ganhando destaque devido ao
crescente interesse dos usuários. Essa classe de aplicações demandam o desenvolvimento e
aplicação de técnicas de qualidade de serviço (QoS – Quality of Service) cada vez mais
específicas, visando basicamente maximar throughputs5 e minimizar atrasos.
Ao se desenvolver uma aplicação que utiliza a rede, é necessário codificar dois
programas que rodam em hosts diferentes e se comuniquem entre si. Por exemplo, uma
aplicação para a Web apresenta a figura de dois programas distintos: o browser (navegador),
programa que roda no host do usuário e o servidor HTTP, programa que roda em um servidor
Web.

6.2 Comunicação entre processos


Processos são programas em execução em um sistema final; um conceito proveniente
da área de sistemas operacionais. Processos em hosts diferentes se comunicam através de
envio de mensagens uns pros outros. Tais mensagens precisam passar pela rede subjacente.
Para isso, cada processo se utiliza de uma interface padronizada de software denominada de
socket, que permite criar uma abstração de comunicação entre as camadas de aplicação e
transporte.
Enquanto é possível ter um controle total sobre a aplicação, o desenvolvedor já não terá
muito controle do lado da camada de transporte, que normalmente é de responsabilidade do
sistema operacional. Alguns dos parâmetros que poderão ser ajustado desse lado é o protocolo
de transporte a ser utilizado (tradicionalmente TCP ou UDP 6) e tamanho de buffers e
segmentos.
Considerado então como o ponto final da comunicação entre dois processos, o socket é
gerenciado pelo sistema operacional como uma combinação de endereço IP e um número de
porta de acordo com o protocolo de com transporte escolhido (<ip>:<porta>). Por exemplo,
considere uma comunicação entre o processo cliente Firefox e o processo servidor HTTP do
Google conforme a Figura 108. O comando netstat7 -nt mostra o registro do socket cliente
192.168.0.26:12987 e do socket servidor 216.58.217.78:80.
Existem cerca 65.536 possibilidades número de portas cuja responsabilidade de controle
é feito pelo IANA (Internet Assigned Numbers Authority - Autoridade para Atribuição de
Números para Internet). As portas de 0 a 1.023 são as mais reconhecidas ou reservadas.
Geralmente, são reservadas para os serviços públicos tradicionais de redes ou para os
programas executados por usuários com privilégios. As portas de 1.024 a 49.151 são
chamadas de portas registradas. Finalmente, as portas de 49.152 a 65.535 são as portas
dinâmicas e/ou privadas.

5 Segundo Forouzan (2009), corresponde à quantidade de dados que podem ser transferidos numa certa unidade de tempo.
Esse conceito é muitas vezes traduzido como vazão de dados.
6 Os protocolos TCP e UDP pertencem à camada 4 do modelo OSI (camada de transporte) e em traços gerais, em conjunto
com o número de porta do serviço (aplicação) e IP da máquina, definem como uma determinada informação é transmitida
na rede. Basicamente, a diferença entre eles é que o TCP é um protocolo mais confiável que fornece garantia de entrega, já
o UDP abre mão dessa garantia em função da simplicidade e desempenho.
7 O comando Netstat (Network statistic) é uma ferramenta que pode ser utilizada em plataformas Windows, Unix e Linux, e
permite exibir estatísticas de conexões de rede (entrada e saída), tabela de roteamento IP e informações de utilização da
interface na rede. (Fonte: http://faqinformatica.com/comando-netstat-para-que-serve-e-como-utiliza-lo/)

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 103


Figura 108: Exemplo de comunicação entre dois processos na rede

6.3 DNS – Domain Name System


Enquanto a Internet utiliza o endereço IP para identificar um host na rede, que é
representado por valores numéricos; os usuários humanos têm mais facilidade em memorizar
nomes. Desso modo, foi necessário criar um sistema que pudesse mapear nomes de domínios
e hosts (hostnames) em endereço IP e vice-versa.
No início da Internet, devido a seu tamanho reduzido, esse mapeamento era feito
facilmente através de um arquivo chamado de host file. Com o crescimento da Internet, a
manutenção desse arquivos nos hosts foi se tornando inviável, pois eles começaram a ficar
enormes e de difícil atualização.
A solução para esse problema foi manter uma base de dados distribuída e um serviço de
diretório para realizar a tradução de nomes de host para endereço IP. O DNS é portanto: 1) um
bando de dados distribuído implementado em uma hierarquia de nomes e 2) um protocolo da
camada de aplicação que permite que hospedeiros
consultem esse banco de dados.
O DNS não é aplicado sozinho, ele
frequentemente é utilizado por outros serviços da
camada de aplicação, como HTTP (navegação Web),
SMTP (envio de e-mails) e FTP (transferência de
arquivos entre hosts). Ao acessar a camada de
transporte, por padrão o DNS faz uso da porta 53 com o
protocolo UDP.
Além de ser responsável pela tradução de
nomes, o DNS ainda provê:
• Apelidos de hospedeiros: permite atribuir
nomes ainda mais fáceis de memorizar. Como
exemplo, se o nome canônico de um servidor
Web é data1.piaui.srv.exemplo.com.br um apelido
Figura 109: Como pode ocorrer a
atribuído a ele poderia ser www.exemplo.com.br.
distribuição de carga com DNS
• Apelidos de servidores de correio:
analogamente, apelidos podem ser atribuídos a servidores de correio. É mais simples
memorizar ze@exemplo.com do que ze@data1.piaui.srv.exemplo.com.br .
• Distribuição de carga: evita sobrecarregar um único servidor com número excessivo de
solicitações. Por exemplo, quando o resultado do ENEM está disponível, milhares de
solicitação ao site do INEP são realizadas por hora. Para distribuir a carga desses
acessos, o endereço enem.inep.gov.br pode estar vinculado aos servidores
srv1.nem.inep.gov.br , srv2.nem.inep.gov.br e assim por diante, de forma semitransparente
ao usuário.
A Figura 109 mostra um modelo de distribuição de carga com DNS.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 104


6.3.1 Hierarquia de nomes
A composição de um endereço de host mapeado pelo
DNS em partes obedece uma ordem hierárquica decorrente da
arquitetura distribuída desse serviço.
Dessa forma, para resolver o endereço
www.exemplo.com de forma genérica teremos que 1) o cliente
contatará um servidor DNS raiz, que retornará os endereços
IPs para os servidores DNS de alto nível .com. 2) A seguir, um
desses servidores de alto nível será contatado pelo cliente que
retornará o endereço IP de um servidor com autoridade para
exemplo.com. 3) Finalmente, o cliente contatará esse servidor
para obter o endereço de outro servidor com autoridade para
www.exemplo.com (que normalmente está dentro do mesmo
Figura 110: Exemplo de uma
domínio administrativo do outro servidor com autoridade). hierarquia de nomes do DNS
Para esclarecer melhor essa resolução de endereços,
vamos entender as três principais classes de servidores na hierarquia DNS:
• Servidor de nomes raiz: ponto inicial da consulta DNS; topo da hierarquia. Atualmente
há um conglomerado de 13 servidores raiz localizados nos Estados Unidos (10), Europa
(2) e Japão (1).

Figura 111: Os 13 servidores DNS raiz e suas localizações


• Servidor de domínio de alto nível (TLD – Top Level Domain): são os servidores
responsáveis pelos domínios contextuais (genéricos) .com, .org, .mil, .gov, .edu e pelos
domínios geográficos .uk, .fr, .ca, .br, .jp, etc.
• Servidor com autoridade: são os servidores cujas organizações disponibilizam
registros com seus nomes de domínio proprietários para serem disponibilizados na
Internet. Uma empresa pode optar por implementar seu próprio servidor DNS com
autoridade para gerenciar esses registros ou delegar esse serviço a um provedor.
Não pertencendo à hierarquia, mas com papel relevante na arquitetura do DNS, o servidor de
nomes local que age como ponto inicial (proxy) de uma consulta de nomes de domínio,
localizando-se geralmente próximo da rede em que o cliente está conectado. Se você estiver
usando um Provedor de Serviços de Internet (em inglês, ISP – Internet Service Provider), seu
servidor DNS está no seu ISP. Se você estiver usando a rede em sua faculdade ou seu
escritório, você provavelmente possui um servidor de DNS local em algum lugar perto de você
(como na sala dos servidores ou equipamentos).
6.3.2 Consultas e cache DNS

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 105


O papel do servidor local é mais evidente quando focamos nos tipos de consulta:
• Iterativa: ocorre quando o servidor DNS contatado não é capaz de resolver um
determinado nome e, assim, devolve servidor DNS local os endereços de servidores que
podem resolver.
• Recursiva: ocorre quando o servidor DNS contatado resolve o nome cascateando, se
necessário, a consulta para os demais servidores na hierarquia DNS até encontrar o
servidor com autoridade para aquela consulta (retornando diretamente o resultado ao
servidor DNS local do solicitante) ou uma mensagem de erro caso não encontre.
A Figura 112 exibe um esquema que resume a diferença entre esses tipos de consulta.

Figura 112: Um exemplo de uma consulta iterativa (à esquerda) e recursiva (à direita)

É importante diferenciar ainda que a consulta DNS padrão é aquela que busca resolver
um nome de domínio para obter um endereço IP, chamada de consulta direta. Há ainda um
tipo de consulta em que, de posse do endereço IP, pretende-se obter o nome de domínio;
consulta denominada reversa.
Independente do sentido (direta ou reversa) e do tipo de consulta (iterativa ou recursiva);
ao receber a resposta de uma consulta, o servidor de nomes local pode armazenar as
informações dessa resposta em forma de cache, permitindo uma resposta direta e imediata ao
solicitante que consultar o mesmo nome de domínio dentro de um determinado intervalo de
termpo, que é especificado pelo campo TTL (time to live ou tempo de vida) do registro
armazenado.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 106


6.3.3 Registro DNS
O registro DNS é a mensagem obtida como resposta de resolução bem sucedida de um
endereço. Os campos contidos nesse registro permitem estruturar as informações dos
endereços e serviços solicitados. São campos de um registro DNS, respectivamente: nome de
domínio (informa o domínio ao qual o registro se aplica), tempo de vida (informa quantos
segundos um registro é válido dentro para efeitos de cache), classe (normalmente apresenta o
valor IN relativo à Internet), tipo e valor (pode ser número, string ou nome de domínio).
Como pode ser observado na Figura X, um registro DNS apresenta tipos que
determinam o tipo de informação e o propósito contido no campo valor. Os principais tipos
observados em registros DNS são:
• SOA (Start Of Authority): indica o responsável por respostas com autoridade de um
domínio, ou seja, o responsável pelo domínio. Também indica outras informações úteis
como número serial da zona, replicação, etc.
• NS (Name Server - Servidor de Domínio), especifica os servidores DNS para o
domínio ou subdomínio. Pelo menos, dois registros NS devem ser definidos para cada
domínio. Geralmente, um principal e outro secundário.
• A (Address): também conhecido por hostname; é o registro central de um DNS. Ele
vincula um domínio ou subdomínio a um endereço IP direto. O tipo AAAA tem o mesmo
propósito de A, porém, para um endereço Ipv6.
• CNAME (Canonical NAME): especifica um apelido (alias) para o hostname (A). É uma
forma de redirecionamento.
• MX (Mail eXchanger): aponta o servidor de e-mails. Pode-se especificar mais de um
endereço, formando-se assim uma lista em ordem de prioridade para que haja
alternativas no caso de algum e-mail não puder ser entregue.
• PTR (PoinTeR): uma versão inversa do registro A. Enquanto este mapeia o domínio
para um endereço de IP, o registro PTR mapeia o endereço de IP para um hostname.
Portanto, o registro PTR garante que o seu endereço de IP vai se conectar com o seu
host de maneira legítima.

Figura 113: Registro DNS típico

6.4 A Web e o protocolo HTTP


Ao contrário do que muitos podem imaginar, a Web não nasceu junto com a Internet.
Esta já era usada na década de 80 no meio acadêmico para interligar hosts remotos e
basicamente transferir arquivos e ler e-mails. Foi somente da década de 90 que o engenheiro
inglês Tim Bernes-Lee desenvolveu a World Wide Web (www ou simplesmente Web),
possibilitando a utilização de uma interface gráfica para visualizar páginas (sites) e poder se

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 107


obter determinados conteúdos disponibilizados em servidores.
Pode-se dizer que a criação da Web foi a força motriz para a popularização da Internet
ao longo dos anos 90, permitindo o acesso a diversos sites com informações em texto,
imagens, vídeos, etc., além do acesso a outras páginas por meio dos chamados hiperlinks (ou
links). Todo esse conteúdo disponível em um site passou a ser representado por meio de
arquivos hipertexto (arquivo com elementos que vão além do texto: imagens, sons, cores,
animações etc.). Tudo isso foi possível devido ao desenvolvimento de uma linguagem de
marcação de hipertexto: o HTML (Hypertext Markup Language) que é reconhecida e
interpretada pelos navegadores Web (ou browsers).
Para gerenciar as mensagens trocadas entre navegador (cliente) e servidor Web foi
necessário que se desenvolvesse um protocolo apropriado; nasceu então o HTTP (HyperText
Transfer Protocol), um protocolo que além de definir a estrutura das mensagens trocadas por
cliente e servidor, gerencia também conexões estabelecidas pelo TCP, seu protocolo da
camada de transporte. Por padrão, servidores HTTP ou
Web utilizam a porta 80 no estabelecimento de suas
conexões.
O modo de comunicação utilizado pelo HTTP é do
tipo requisição resposta (uma especialização do modelo
cliente-servidor discutido na Seção 1.3). Quando é
informado um endereço no navegador (lado cliente), este
busca o servidor Web responsável pelo objeto referenciado
no endereço (muitas vezes uma página em HTML). O
navegador utiliza o DNS para descobrir o endereço IP do
servidor pelo nome de domínio indicado no endereço (ex.:
http://www.facebook.com/index.aspx), emite uma
requisição HTTP a ele e aguarda uma resposta HTTP
enviada por esse servidor. Esse processo é resumido na
Figura 114. Figura 114: Modelo de comunicão cliente-
servidor do protocolo HTTP
Uma página em HTML (hipertexto) é constituı́da de
objetos, a saber: um arquivo-base HTML e diversos outros objetos referenciados, como:
arquivos, imagens, vı́deos, links para outras páginas, etc.

Figura 115: Exemplo de uma requisição HTTP

Os servidores Web não armazenam


informações de seus clientes. Cada objeto
solicitado por eles requer um novo envio, mesmo
se o objeto tiver sido enviado alguns instantes
antes. Por isso o HTTP é chamado de protocolo
sem estado (stateless).
Por fim, observe os modelos de requisição
e resposta HTTP nas Figuras 115 e 116.

Figura 116: Exemplo de uma resposta HTTP

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 108


6.4.1 Conexões persistentes e não persistentes
Como já discutido, o HTTP usa o TCP como protocolo subjacente. Dessa forma, a troca
de mensagens feitas entre cliente e servidor é feita através do estabelecimento de uma
conexão TCP. É importante ressaltar que toda a tarefa de controle da transmissão, verificação
de perda de pacotes e envio dos dados por essa conexão é gerenciado pelo TCP, que tem a
função de fornecer um serviço confiável de entrega de dados ao HTTP.
Mas há uma decisão que a aplicação precisa tomar sobre a transferência de dados:
deverá ser aberta uma conexão cada par requisição/resposta ou todas as requisições e
respostas devem ser enviadas pela mesma conexão? No primeiro modelo, temos a chamada
conexão não persistente; e no último, as conexão persistente.
Uma das grandes desvantagens do modelo de conexão não persistente é que para cada
objeto transmitido entre servidor e cliente deve ser aberta uma conexão, o que requer um
tempo adicional devido ao processo de estabelecimento complexo das conexões (que veremos
no Capítulo 3).
Já no modelo de conexão persistente (padrão atual), uma única conexão é aberta e
utilizada para transferir vários objetos entre servidor e cliente. Se ficar ociosa por um
determinado intervalo de tempo, a conexão é encerrada pelo servidor. Conexões ociosas
desperdiçam recursos que poderiam estar sendo utilizados em conexões com outros clientes.

6.4.2 Armazenamento de informações com HTTP


Como já mencionado, o HTTP é um protocolo sem estado; isso significa que ele não é
projetado pra armazenar informações sobre seus clientes e pode se dedicar na manipulação
das conexões TCP. O que é visto muitas vezes em sites de e-commerce e redes sócias são
informações armazenadas em servidores de bancos de dados. Ao efetuar o login nesses
sistemas, os dados sobre o usuário são recuperados de bancos de dados, de forma
independente do servidor Web.
No entanto, para a finalidade de identificar usuário e suas preferências, um servidor Web
pode armazenar tais informações na própria máquina cliente utilizando-se de cookies. A seguir,
vamos compreender como ocorre o processo de criação e recuperação de arquivos de cookie a
partir de uma requisição de um cliente.
Quando o servidor Web recebe uma requisição HTTP, ele cria um número de
identificação exclusivo e um registro em uma base de dados de apoio. Então, ao enviar a
resposta HTTP ao cliente, o servidor anexa no seu cabeçalho o comando Set-cookie
seguido desse número de identificação. Assim, toda vez que esse cliente acessar esse site
outra vez, o navegador consulta o arquivo de cookie, extrai o número de identificação e o
insere na requisição HTTP. Desse modo, o servidor Web pode monitorar o acesso desse
cliente, obter informações, utilizá-las para personalizar anúncios do interesse desse cliente, etc.

6.4.3 O Protocolo HTTP Seguro


Para aumentar o nível de confidencialidade na Web, foi desenvolvido o HTTPS (Hyper
Text Transfer Protocol Secure - protocolo de transferência de hipertexto seguro), uma
implementação do protocolo HTTP sobre uma camada adicional de segurança que utiliza o
protocolo SSL/TLS (do inglês, Transport Layer Security). Essa camada adicional permite que os
dados sejam transmitidos por meio de uma conexão criptografada e que se verifique a
autenticidade do servidor e do cliente por meio de certificados digitais. A porta TCP usada por
padrão para esse serviço é a 443.

6.4.4 HTTP Caching ou Web Caching


O caching é o armazenamento e a reutilização de recursos de um site (imagens, texto
HTML, gráficos, URLs, scripts, etc.) acessados com frequência, evitando o download dos
recursos toda vez que é visitado. Para o caching acontecer, utiliza-se o cache, que é como se
fosse um depósito de recursos – no caso de uma página da web, o cache pode ser no
navegador, servidor proxy, edge nodes, etc. – mais próximo do usuário do que um servidor de
origem. Então, quando alguém acessa um site, o sistema acessa o cache para verificar se há

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 109


cópias dos recursos do site ali armazenadas e, caso haja, as resgata com muito mais rapidez,
porque não precisa obter isso da origem. Caso não haja uma cópia desses recursos no cache,
a requisição será continuada e eles serão ali armazenados.
O uso de cache é feito por meio de informações transmitidas pelo header (cabeçalho) da
requisição e resposta. Por meio do caching é possível diminuir o número de round-trips (idas e
voltas) feitos em uma requisição, já que se verifica se existem cópias em cache do que foi
requisitado. A diminuição na quantidade de round-trips reduz o tempo das requisições e,
consequentemente, o tráfego da rede. É como se fosse um efeito cascata, mas no bom
sentido, porque tudo isso em conjunto contribui para a redução da latência e a diminuição de
custos com servidor.

Figura 117: Requisição HTTp com o uso de um servidor de cache

Se um objeto expirou, o servidor Web original será consultado para revalidá-lo. Quando
o objeto armazenado no cache contém no cabeçalho o campo Last-Modified, que indica
quando ele sofreu a última modificação, o servidor proxy pode usá-lo para fazer uma requisição
If-Modified-Since ao servidor Web remoto e, a partir da comparação das datas, saber se o
objeto foi alterado. Se o documento não foi modificado, não será retornado. O cliente receberá
como resposta informações como, por exemplo, a nova data de expiração. Se o objeto foi
modificado, ele será retornado. Essa operação é conhecida como GET Condicional (desde
que a requisição contenha a instrução If-Modified-Since e tenha sido feita via método GET).
Quando os diretórios de cache estão cheios, alguns objetos devem ser removidos para
que novos objetos sejam armazenados. A escolha é feita usando algoritmos de substituição,
em conjunto com algumas regras configuradas pelo administrador.
Para resumir, listamos a seguir os principais benefícios do caching:
• Redução da latência;
• Redução de consumo de banda;
• Redução do tráfego na rede;
• Aumento da velocidade e do desempenho do site.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 110


6.5 Transferência de Arquivos
O protocolo FTP (do inglês File Transfer Protocol) é o protocolo padrão para a
transferência de arquivos de qualquer natureza (não apenas hipertexto, como no caso do
HTTP). Para acessar um servidor FTP, o usuário inicia uma sessão FTP fornecendo seus
dados de login. Ao ser autenticado, esse usuário pode enviar e recuperar aquivos do servidor.
Esse processo é resumido na Figura 118.

Figura 118: Exemplo de uma sessão FTP e portas utilizadas

Assim como o HTTP, o FTP também utiliza o TCP como protocolo de transporte
subjacente. Mas uma diferença observada entre conexões HTTP e FTP é que as deste
protocolo são abertas de forma paralelas para dois diferentes propósitos: uma conexão de
controle aberta na porta 21 e uma conexão de dados aberta na porta 20. A primeira é
utilizada para enviar informações de controle entre cliente e servidor, como: nome de usuário,
senha, comandos, etc. A conexão de dados, por sua vez, é utilizada de forma dedicada para
transferir o arquivo solicitado com o uso de comandos, como: retr (recuperar) e stor
(armazenar).
Sobre a forma como são abertas essa conexões é importante mencionar os modos de
operação do FTP. No FTP ativo, o cliente, através de uma porta alta, estabelece a conexão de
controle na porta 21 do servidor. Por sua vez, o servidor estabelece a conexão de dados a
partir de sua porta 20 para uma porta alta do cliente. Perceba que aqui foi o servidor que tomou
a iniciativa de estabelecimento da conexão de dados; diz-se então que ele atua ativamente.
No entanto, o modo ativo pode trazer problemas se o cliente encontra-se dentro de uma
rede com IPs privados (por meio do uso de NAT). Para contornar complicações como essa, foi
desenvolvido o FTP passivo. Por meio dele, o cliente, através de uma porta alta, estabelece a
conexão de controle na porta 21 do servidor, assim como ocorre no FTP ativo. A diferença é
que o cliente agora solicita o modo passivo ao servidor (PASV), que responde informando uma
de suas portas temporárias usadas para transferência de dados. Nesse caso é o cliente que
toma a iniciativa do estabelecimento da conexão de dados. Assim o servidor atua
passivamente.

6.6 Transferência de arquivos por P2P


Até o momento vimos protocolos de transferência de arquivos que utilizam o modelo
cliente-servidor. Mas o compartilhamento arquivos relativamente grandes como vídeos (filmes,
seriados, etc) e softwares são realizadas por meio de protocolos que utilizam o modelo par-a-
par (peer-to-peer ou P2P).
Transferências de arquivos com P2P traz uma série de vantagens sobre o modelo
cliente-servidor como: segurança, pausa e retomada, além da regulação de velocidade de
tráfego no download/upload. Atualmente um protocolo muito utilizado para isso é o BitTorrent.
Esse protocolo permite que se obtenha (e ao mesmo tempo compartilhe) pedaços de um
arquivo a partir de diferentes pares na rede, permitindo um desempenho muito superior às
transferências com HTTP ou FTP.
Antes de explicarmos melhor como funciona o BitTorrent, vamos esclarecer algumas
definições utilizadas por ele:
• Seed (semeador): host que possui o arquivo completo que está sendo
compartilhado;

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 111


• Peer (ponto, nó): host que compartilha arquivos. Quando você está baixando
algo pelo BitTorrent, sua máquina assume o papel de um peer;
• Leecher ("sugador"): faz referência aos hosts que ainda estão baixando
arquivos ou que já o baixaram completamente, mas por alguma razão não o estão
compartilhando;
• Tracker (rastreador): servidor que mantém o controle de comunicação entre
todos os seeds e peers, de forma que os computadores envolvidos no processo
possam saber a quais máquinas se conectar.
• Swarm (enxame): conjunto de computadores que está compartilhando o mesmo
arquivo.
Com o BitTorrent, para se fazer download (baixar dados) e upload (enviar dados) é
necessário que cada arquivo compartilhado esteja associado a um torrent, um arquivo que
contém as informações necessárias ao compartilhamento, como: tamanho em bytes do
conteúdo, endereços de trackers, entre outros.
Quando um torrent é aberto em um cliente de BitTorrent (µTorrent, BitComet,
Transmission, etc.), este procura um tracker que, por sua vez, localizará o swarm que contém o
arquivo compartilhado. Ou seja, indicará tanto as máquinas que possuem o conteúdo completo
(seeds) quanto as que o possuem parcialmente. O tracker então orienta a comunicação para
que o seu computador possa pegar "pedaços" do arquivo a partir deste swarm. Esse processo
é ilustrado na Figura 119.

Figura 119: Como funciona uma transferência P2P com BitTorrent

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 112


6.7 Correio eletrônico
O correio eletrônico é uma das aplicações mais tradicionais da Internet. Apesar das
inovadoras aplicações de comunicação instantânea, o bom e velho e-mail sempre se adapta às
novas tecnologias sem cair em desuso.
A arquitetura de um sistema
de correio eletrônico apresenta os
seguintes componentes: agentes de
correio (Mozilla Thunderbird,
Microsoft Outlook, Apple Mail e os
webmails em geral como Gmail,
Yahoo, Outlook, etc.), servidor de
correio e o protocolo de
transferência de correio simples
ou SMTP (do inglês Simple Mail
Transfer Protocol). Essa arquitetura é
ilustrada na Figura 120.
Os servidores de correio
formam o núcleo da infraestrutura do
e-mail. Eles mantêm uma abstração
de caixa postal para cada
destinatário. O caminho que o e-mail
leva nesse sistema segue,
respectivamente, início no agente de
Figura 120: Arquitetura tradicional de um sistema de correio eletrônico
correio do remetente, servidor de
correio do remetente, servidor de correio do destinatário e, finalmente, caixa postal do
destinatário. Esse processo é exibido na Figura 121.

Figura 121: Envio de um e-mail simples

O SMTP é o principal protocolo de camada de aplicação para correio eletrônico da


Internet. Ele utiliza o serviço confiável do TCP para transferência de mensagens entre
servidores de correio. Normalmente não são usados servidores de correio intermediários para
que as mensagens sejam enviadas.
O SMTP utiliza as portas 25 e 587 para transferência dos pacotes de dados. A porta 25,
primogênita, foi sucedida pela porta 587 por medida do Comitê Gestor da Internet no Brasil
(GCI.br) em 2010 visando minimizar a quantidade de Spams na Internet no Brasil, pois possui
maior segurança (camada de segurança SSL/TLS), requerendo aos pacotes uma pré-avaliação
em outro servidor antes de chegarem ao servidor de Saída/Envio, tornando o processo mais
seguro do que o que era realizado pela porta 25.
O protocolo básico SMTP suporta apenas 7-bits de caracteres ASCII limitando as
mensagens de e-mails, visto que também inclui somente caracteres utilizados na língua
inglesa. Pensando nisso, a Bell Communications propôs em 1991 o MIME (Multipurpose
Internet Mail Extensions), que é um padrão para aumentar as possibilidades limitadas do e-
mail e, principalmente, permitir inserir documentos (imagens, sons, textos, etc.) no mesmo.
Graças a ele, o serviço de e-mail pode ter vários anexos numa mesma mensagem, um
comprimento de mensagem ilimitado, usar outros caracteres (alfabetos) além do ASCII, usar

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 113


textos enriquecidos (formatação das mensagens, fontes de caracteres, cores, etc.), inserir
anexos binários (executáveis, imagens, arquivos de áudio ou vídeo, etc.) com, eventualmente,
várias partes.
O MIME foi proposta na RFC 1341 e atualizada nas RFCs 2045 a 2049. RFCs –
Requests for Comments, são documentos que contêm notas técnicas e organizacionais sobre
a Internet. Eles cobrem muitos aspectos das redes de computadores, incluindo protocolos,
procedimentos, programas e conceitos, bem como notas de reuniões e opiniões. Essas notas
técnicas são discutidas e revisadas pelo IETF – Internet Engineering Task Force, que é uma
comunidade internacional ampla e aberta composta por técnicos, agências, fabricantes,
fornecedores e pesquisadores, preocupada com a evolução da arquitetura da Internet e seu
perfeito funcionamento.

6.7.1 Protocolos de acesso às caixas postais


As caixas postais dos usuários, armazenas nos servidores de correio, não são
acessadas pelo protocolo SMTP, que atua no núcleo da arquitetura do serviço de correio
eletrônico e tem como propósito enviar mensagens de um servidor para outro. Ele é chamado
de protocolo de envio (do inglês push protocol).
O recebimento de mensagens do servidor de correio tradicionalmente é o propósito dos
protocolos POP3 (Post Office Protocol) e IMAP (Internet Message Access Protocol).
O POP3 é um protocolo simples e bastante limitado que permite que o agente de
usuário conecta-se ao servidor, realiza o download das mensagens e, após esse processo,
finaliza a conexão. Esse protocolo tem acesso apenas à caixa de entrada, não sendo possível
baixar ou visualizar nenhuma outra pasta de sua conta online. Ou seja, por padrão o acesso via
POP3 baixa as mensagens sem deixar uma cópia no servidor, a menos que seja marcada a
opção de manter cópia no servidor no momento da configuração. Se houver a necessidade de
excluir uma conta configurada como POP em seu programa de e-mail, todas as mensagens
baixadas da caixa de entrada serão perdidas, sem chance de recuperá-las.
Por padrão, as portas POP3 são:
• Porta 110 – porta não criptografada;
• Porta 995 – Porta SSL / TLS, também conhecida como POP3S.
O IMAP é um protocolo no qual o agente de usuário conecta-se ao servidor, realiza o
sincronismo das mensagens e, após esse processo, mantém a conexão para que alterações e
mensagens novas sejam atualizadas quase que em tempo real. Esse protocolo tem acesso a
todas as pastas de sua conta e deixa o status das mensagens igual tanto no servidor como no
software.
Por padrão, as portas IMAP são:
• Porta 143 – porta não criptografada;
• Porta 993 – porta com criptografia: IMAPS.
Com a popularização do webmail, começou a se utilizar agentes de correio dentro da
própria Web, como por exemplo Gmail, Yahoo, Hotmail, etc. Assim, o usuário comunica-se com
sua caixa postal remota via HTTP/HTTPS, e não por POP3 ou IMAP. Mesmo nesses agentes
de correio na Web, o envio do e-mail até o servidor de correio também é feito por meio do
protocolo HTTP/HTTPS, e não o protocolo SMTP. Somente quando esse servidor de correio
envia e-mails para o servidor de correio do destinatário é que o protocolo SMTP é utilizado. Ou
seja, os serviços de webmail alteraram o processo de acesso ao agente de correio e envio de
mensagem deste para o servidor (periferia do sistema), mas o núcleo o sistema de correio
continua o mesmo (o mesmo da Figura 120).

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 114


Figura 122: Envio de e-mail com protocolos de acesso e envio

6.8 Outros serviços

Outros serviços incluem, por exemplo, ferramentas de acesso que permitem controlar
máquinas que podem estar localizadas em redes remotas. Para isso pode ser utilizando o
serviço SSH (Secure Shell) que permite o acesso remoto seguro criptografando os dados
transmitidos pela rede; diferente do antigo serviço Telnet, que não implementava quaisquer
mecanismos de segurança.
Vale ainda citar os protocolos ou padrões:
• SNMP (Simple Network Management Protocol): protocolo padrão para
monitoramento e gerenciamento de dispositivos na rede. Utiliza o UDP nas
portas 161 e 162;
• TFTP (Trivial File Transfer Protocol): versão simplificada do FTP e sem muitos
recursos de segurança. Utiliza o UPD na porta 69;
• SFTP (SSH File Transfer Protocol ou Secure File Transfer Protocol): as
transferências pelo FTP não são criptografadas, ou seja, qualquer arquivo
transferido por esse protocolo pode ser interceptado e lido. Para um nível maior
de segurança, o SFTP oferece a mesma função básica do FTP, mas utiliza o
tunelamento e realiza transferências de arquivos sobre SSH, o que é diferente da
abordagem cliente-servidor e de transferência direta do FTP.
• FTPS (FTP c/ SSL): envolve o uso de uma SSL/TLS na camada abaixo do protocolo
FTP padrão para criptografar os canais de controle e/ou dados.
• NFS (Network File System): sistema de arquivos distribuídos desenvolvido com a
finalidade de compartilhar arquivos e diretórios entre computadores conectados
em rede, formando assim um diretório virtual.

Questões

1. Cite e explique os principais componentes da arquitetura do BitTorrent.

2. Caracterize o protocolo HTTP dando ênfase no modelo de comunicação utilizado.

3. Explique o que é DNS. A seguir, cite e comente seus tipo de consulta.

4. Diferencie FTP ativo e passivo.

5. Explique as funções dos protocolos POP3, IMAP, HTTP e SMTP para o serviço de correio
eletrônico.

6. Explique por que alguns protocolos da camada de aplicação utilizam o TCP como protocolo
da camada de transporte.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 115


BIBLIOGRAFIA

• TANENBAUM, A. S.; WETHERALL, D. Redes de Computadores. 5. ed. São Paulo:


Pearson, 2011.
• FOROUZAN, B. Comunicação de Dados e Redes de Computadores. 3a edição. Porto
Alegre: Bookman, 2006.
• KUROSE, J. F. e ROSS, K. Redes de Computadores e a Internet. 5. ed. Pearson, 2010.
• STALLINGS, W. Redes e Sistemas de Comunicação de Dados.5. ed. Editora Campus
(Elsevier), 2005.

REDES DE COMPUTADORES – Prof. Geraldo Sarmento 116

Você também pode gostar