Prévia do material em texto
Fundamentos de Redes de Computadores
Marcio Quirino - 1
SUMÁRIO
Introdução a Redes de Computadores e Histórico da Internet ............................................................. 7
Introdução .................................................................................................................................................. 7
1. Redes de computadores e internet .......................................................................................... 7
Conceitos ................................................................................................................................................... 7
Comutação de circuitos .............................................................................................................................. 7
Comutação de pacotes .............................................................................................................................. 8
Tendências ................................................................................................................................................. 9
Redes definidas por software ................................................................................................................. 9
Internet das Coisas .............................................................................................................................. 10
2. Topologias e área de cobertura de redes .............................................................................. 11
Classificação das redes ........................................................................................................................... 11
Classificação quanto à topologia .......................................................................................................... 11
Classificação quanto à área de cobertura (alcance) ............................................................................ 12
Meio de transmissão ................................................................................................................................ 12
Redes cabeadas .................................................................................................................................. 12
Redes sem fio ...................................................................................................................................... 13
3. Redes sem fio ........................................................................................................................ 13
Conceitos ................................................................................................................................................. 13
Desenvolvimento .................................................................................................................................. 13
Peculiaridades e características das redes sem fio .................................................................................. 14
Vantagens ............................................................................................................................................ 14
Desvantagens ...................................................................................................................................... 15
Redes locais sem fio – WiFi ..................................................................................................................... 16
Redes móveis celulares ........................................................................................................................... 16
4. Considerações finais .............................................................................................................. 17
Referências .............................................................................................................................................. 18
Modelo de Referência OSI e Arquitetura TCP/IP ................................................................................ 19
Introdução ................................................................................................................................................ 19
1. Divisão da estrutura das redes em camadas ........................................................................ 19
Modelo em camadas ................................................................................................................................ 19
Elementos da camada .......................................................................................................................... 20
Comunicações horizontal e vertical .......................................................................................................... 20
Encapsulamento ....................................................................................................................................... 21
2. Camadas do modelo OSI ....................................................................................................... 22
Modelo OSI .............................................................................................................................................. 22
Camadas de aplicação, apresentação e sessão ...................................................................................... 24
Aplicação .............................................................................................................................................. 24
Apresentação ....................................................................................................................................... 25
Sessão ................................................................................................................................................. 25
Fundamentos de Redes de Computadores
Marcio Quirino - 2
Camadas de transporte e rede ................................................................................................................. 25
Transporte ............................................................................................................................................ 25
Rede ..................................................................................................................................................... 26
Camadas de enlace e física ..................................................................................................................... 27
Enlace .................................................................................................................................................. 27
Física .................................................................................................................................................... 28
Resumo ................................................................................................................................................ 29
3. Camadas da arquitetura TCP/IP ............................................................................................ 29
Arquitetura e evolução do protocolo TCP/IP ............................................................................................ 29
Camadas: funções e principais protocolos ............................................................................................... 31
Aplicação .............................................................................................................................................. 31
Transporte ............................................................................................................................................ 31
Internet ................................................................................................................................................. 32
Acesso à rede ......................................................................................................................................33
Considerações finais ................................................................................................................................ 34
Referências .............................................................................................................................................. 34
Explore + .................................................................................................................................................. 34
Camadas de Aplicação e Transporte .................................................................................................. 35
Introdução ................................................................................................................................................ 35
1. Arquiteturas e camada de aplicação ..................................................................................... 35
A Aplicação .............................................................................................................................................. 35
Camada de Aplicação .......................................................................................................................... 35
Arquiteturas de Aplicações ................................................................................................................... 36
Arquitetura Cliente Servidor ..................................................................................................................... 36
Cliente-servidor .................................................................................................................................... 36
Servidor ................................................................................................................................................ 36
Arquitetura Peer-to-peer ........................................................................................................................... 38
Peer-to-peer ......................................................................................................................................... 38
2. Serviços da camada de aplicação ......................................................................................... 38
Camada de Aplicação .............................................................................................................................. 38
Protocolos da Camada de Aplicação ................................................................................................... 38
Camadas de Aplicação na Internet ...................................................................................................... 39
Serviço WEB ............................................................................................................................................ 39
Protocolo HTTP .................................................................................................................................... 39
Serviço de correio eletrônico .................................................................................................................... 40
Correio Eletrônico (e-mail) .................................................................................................................... 40
SMTP ................................................................................................................................................... 41
POP3 .................................................................................................................................................... 42
IMAP..................................................................................................................................................... 42
Serviço de Nomes .................................................................................................................................... 43
Fundamentos de Redes de Computadores
Marcio Quirino - 3
DNS ...................................................................................................................................................... 43
3. Elementos da camada de transporte ..................................................................................... 46
A camada de transporte na Internet ......................................................................................................... 46
Serviço de Transporte .......................................................................................................................... 46
Endereçamento dos processos ................................................................................................................ 47
Multiplexação e demultiplexação.............................................................................................................. 48
4. Serviços da camada de transporte ........................................................................................ 49
Protocolos de Transporte da Internet ....................................................................................................... 49
Protocolo UDP.......................................................................................................................................... 49
UDP ...................................................................................................................................................... 49
Protocolo TCP .......................................................................................................................................... 51
TCP ...................................................................................................................................................... 51
Modelo de serviço TCP ........................................................................................................................ 51
Cabeçalho TCP ........................................................................................................................................ 52
Cabeçalho de Segmento no TCP ......................................................................................................... 52
Conexão TCP ........................................................................................................................................... 54
Gerenciamento de conexão TCP ......................................................................................................... 54
Tipos de portas......................................................................................................................................... 54
Portas conhecidas ................................................................................................................................ 54
Considerações finais ................................................................................................................................ 55
Referências .............................................................................................................................................. 55
Explore + .................................................................................................................................................. 56
Camada de Rede ................................................................................................................................. 57
Introdução ................................................................................................................................................ 57
1. Camada OSI ........................................................................................................................... 57
Camada de rede ....................................................................................................................................... 57
Conceitos básicos da camada de rede ................................................................................................58
Comutação na camada de rede ............................................................................................................... 58
Comutação de pacotes store and forward ............................................................................................ 58
Circuitos virtuais e datagramas ............................................................................................................ 60
Encaminhamento por circuitos virtuais ..................................................................................................... 60
Circuitos virtuais ................................................................................................................................... 60
Encaminhamento por datagramas ........................................................................................................... 62
Datagramas .......................................................................................................................................... 62
Endereçamento na camada de rede ........................................................................................................ 62
Endereçamento .................................................................................................................................... 62
2. Configurações de rede IP ...................................................................................................... 63
A camada de rede na Internet .................................................................................................................. 64
Protocolo de endereços IPv4 ................................................................................................................... 64
Protocolo IP versão 4 (IPv4) ................................................................................................................. 64
Fundamentos de Redes de Computadores
Marcio Quirino - 4
Endereço IPv4 .......................................................................................................................................... 65
Endereçamento IPv4 ............................................................................................................................ 65
Sub-Redes ........................................................................................................................................... 68
Tradução de endereços ........................................................................................................................... 69
NAT ...................................................................................................................................................... 69
3. Protocolos de controle ........................................................................................................... 70
Principais protocolos de controle.............................................................................................................. 70
Protocolo de controle da Internet ......................................................................................................... 70
Configuração automática de endereços ................................................................................................... 72
DHCP (Dynamic Host Configuration Protocol) ..................................................................................... 72
Funcionamento do DHCP..................................................................................................................... 73
ICMP (Internet Control Message Protocol) ........................................................................................... 74
4. Algoritmos de roteamento ...................................................................................................... 75
Encaminhando os pacotes na rede .......................................................................................................... 75
Roteamento .......................................................................................................................................... 75
Roteamento pelo caminho mais curto (Dijkstra) ................................................................................... 76
Algoritmos de roteamento ........................................................................................................................ 78
Roteamento de vetor de distâncias ...................................................................................................... 78
Roteamento de estado de enlace ......................................................................................................... 79
Roteamento hierárquico ....................................................................................................................... 80
Considerações finais ................................................................................................................................ 81
Referências .............................................................................................................................................. 82
Explore + .................................................................................................................................................. 82
Camadas de Enlace e Física ............................................................................................................... 83
Introdução ................................................................................................................................................ 83
1. Camada física ........................................................................................................................ 83
A camada física ........................................................................................................................................ 83
Transmitindo informações ........................................................................................................................ 84
Transmissão de sinais .......................................................................................................................... 84
Sinal periódico ...................................................................................................................................... 85
Banda passante ................................................................................................................................... 86
Taxa de transmissão ............................................................................................................................ 88
Meios de transmissão .............................................................................................................................. 89
Meios físicos de transmissão ............................................................................................................... 89
Meios de transmissão não guiados (espaço aberto) ............................................................................ 92
2. Camada de enlace ................................................................................................................. 94
Serviços da camada de Enlace ................................................................................................................ 94
Delimitação de quadros (enquadramento) ............................................................................................... 95
Contagem de caractere ........................................................................................................................ 95
Enquadramento por caractere .............................................................................................................. 96
Fundamentos de Redes de Computadores
Marcio Quirino - 5
Enquadramento por bit .........................................................................................................................97
Violação de códigos do nível físico ...................................................................................................... 98
Controle de erros (codificação) ................................................................................................................ 98
Open loop ............................................................................................................................................. 98
Feedback.............................................................................................................................................. 99
Controle de fluxo ...................................................................................................................................... 99
3. Subcamada de acesso......................................................................................................... 100
A subcamada MAC da camada de enlace ............................................................................................. 100
Camada MAC ..................................................................................................................................... 100
Controlando o acesso ao meio ............................................................................................................... 101
Como solucionar os problemas .......................................................................................................... 101
Protocolos baseados em alocação estática ....................................................................................... 101
Protocolos que empregam contenção ................................................................................................ 102
Protocolos de acesso ordenado ......................................................................................................... 104
Considerações finais .............................................................................................................................. 106
Referências ............................................................................................................................................ 106
Explore + ................................................................................................................................................ 107
Fundamentos de Administração e Segurança em Rede de Computadores .................................... 108
Introdução .............................................................................................................................................. 108
1. Riscos de segurança nas redes de computadores ............................................................. 108
Definições............................................................................................................................................... 108
Propriedades da segurança da informação ........................................................................................ 108
Tipos de ataques .................................................................................................................................... 109
Etapas de um ataque ............................................................................................................................. 110
2. Softwares e equipamentos para diminuição dos riscos ...................................................... 112
Segurança física ..................................................................................................................................... 112
Segurança física x Segurança lógica ................................................................................................. 112
Segurança lógica .................................................................................................................................... 113
Autenticação........................................................................................................................................... 113
Sistemas de controle de acesso............................................................................................................. 113
Criptografia ............................................................................................................................................. 114
Entendendo a criptografia .................................................................................................................. 114
Funções de hash .................................................................................................................................... 115
Conhecendo as funções de hash ....................................................................................................... 115
Assinatura digital .................................................................................................................................... 116
O que é Assinatura Digital .................................................................................................................. 116
Certificado digital .................................................................................................................................... 117
O que é o Certificado Digital ............................................................................................................... 117
Redes virtuais privadas (VPN) ............................................................................................................... 118
O que é uma VPN .............................................................................................................................. 118
Fundamentos de Redes de Computadores
Marcio Quirino - 6
Firewall, sistemas de detecção de intrusão e antivírus ...................................................................... 118
3. Arquitetura de gerenciamento de redes .............................................................................. 119
Arquitetura de gerenciamento OSI ......................................................................................................... 119
A importância do gerenciamento ........................................................................................................ 119
Gerência de detecção e correção de falhas (F = fault)........................................................................... 120
Gerência de configuração e operação (C = configuration) ..................................................................... 120
Gerência de contabilidade e faturamento (A = accounting) .................................................................... 121
Gerência de desempenho e otimização (P = performance) ................................................................... 121
Gerência de segurança e proteção (S = security) .................................................................................. 121
Considerações finais .............................................................................................................................. 122
Referências ............................................................................................................................................ 122
Explore + ................................................................................................................................................ 122
Fundamentos de Redes de Computadores
Marcio Quirino - 7
Introdução a Redes de Computadores e Histórico da
Internet
Introdução
Hoje é impossível pensar na nossa vida sem a participação da Internet e das redes de computares.
As redes causaram um grande impacto modificando a forma como trabalhamos, estudamos e nos
relacionamos, enfim, mudou a forma como vivemos.
Para alcançarmos o que temos hoje houve uma grande evolução ao longo das últimas décadas,
saindo do uso de computadores de grande porte para dispositivos cada vez menores emais portáteis, como
o smartphone.
É importante compreendermos como essa evolução ocorreu e o contexto no qual a Internet foi criada,
tendo um objetivo inicial de uso em ambientes acadêmicos e militares para depois ampliar o uso para as
empresas e as pessoas. Para isso vamos começar nossos estudos entendendo essa evolução das redes
de computadores e depois vamos conhecer como as redes são classificadas e organizadas.
Por fim, vamos ver as características básicas das redes sem fio, que foram e são responsáveis por
grande parte do acesso à internet por parte de nós, usuários! Inclusive é bem provável que você leia esse
conteúdo através de uma rede sem fio em algum momento!
Para começar, vejamos, a seguir, um vídeo introdutório com um apanhado histórico sobre a evolução
das redes de computadores.
1. Redes de computadores e internet
Conceitos
Um dos conceitos fundamentais e inerentes às redes de computadores, que causou uma mudança
de paradigma nas comunicações e foi um dos responsáveis pelo grande sucesso da Internet, é o paradigma
da comutação de pacotes.
Antes do surgimento da Internet, as redes de comunicação, como as redes de telefonia fixa
convencional, eram baseadas no conceito da comutação de circuitos.
Na época, a grande inovação foi a mudança de paradigma para a comutação de pacotes, que facilitou
a conectividade e a rápida expansão das redes de computadores para uma escala global.
Comutação de circuitos
Na comutação de circuitos, é necessário o estabelecimento prévio de um circuito físico entre a
origem e o destino antes da transmissão da informação propriamente dita. Tomemos como exemplo a
imagem, a seguir, de uma conversa telefônica que utiliza as redes tradicionais de telefonia fixa.
Fundamentos de Redes de Computadores
Marcio Quirino - 8
Comutação de circuitos – rede tradicional de telefonia fixa.
O usuário A deseja estabelecer uma ligação telefônica com o usuário B, localizado em outra cidade.
Ao digitar o número do telefone do usuário B com o respectivo DDD, a central telefônica local
conectada ao aparelho do usuário A inicia um processo de sinalização pela rede telefônica até que um
caminho físico (circuito) seja estabelecido da rede do terminal A ao terminal telefônico do usuário B.
Ao atender o telefone, o usuário B confirma a utilização desse circuito. A partir daí, a conversa (troca
de informação entre os usuários A e B pode ser efetuada.
Veja, a seguir, o processo passo a passo:
Fase 1: estabelecimento de circuito
Nesta fase, há a sinalização, em que os terminais (telefones) ainda não começaram a se comunicar.
Fase 2: troca de dados usando o circuito estabelecido
Nesta fase, ocorre a troca de informação, a conversa propriamente dita entre os usuários.
Fase 3: encerramento do circuito
Nesta fase, o circuito é desfeito dentro da rede e os recursos voltam a ser disponibilizados para
atender outras ligações.
Comutação de pacotes
Na comutação de pacotes, não existem as fases 1 e 3 descritas anteriormente, que compreendem o
estabelecimento prévio de um circuito antes da transmissão dos dados e a desconexão ou o encerramento
do circuito estabelecido ao final da comunicação.
Neste tipo de comutação, a informação é dividida em conjuntos de dados chamados pacotes, que
também carregam a informação de identificação da origem e do destino dentro da rede.
Assim, os pacotes são encaminhados individualmente e de forma independente; cada ponto
intermediário do percurso analisa as informações do pacote e decide por onde encaminhá-lo dentro da rede,
até que ele alcance o destinatário final. Veja a imagem a seguir:
Fundamentos de Redes de Computadores
Marcio Quirino - 9
Representação de transmissão de dados entre origem A e destino B.
Temos um exemplo de um diagrama esquemático da transmissão de dados entre origem “A” e
destino “B” conectados pelos nós intermediários (S1, S2, S3, S4, S5 e S6).
A informação foi particionada em quatro pacotes (1, 2, 3 e 4) que são encaminhados de forma
independente dentro da rede até alcançarem o destino “B”, conforme a imagem a seguir:
Representação de transmissão de dados entre origem “A” e destino “B”
Observe que cada pacote pode seguir um caminho diferente, de forma que a ordem de chegada ao
destino não é preservada. Cabe assim ao nó destino “B” rearrumar os pacotes na sequência correta para
recuperar completamente a informação original transmitida por “A”.
Tendências
Redes definidas por software
As redes de computadores apresentaram uma evolução impressionante ao longo das últimas
décadas, e as projeções apontam para um desenvolvimento ainda mais rápido nos próximos anos. Cada
vez mais, as pessoas dependerão das redes de computadores para o uso dos mais diversos serviços, com
impactos cada vez maiores em todas as áreas de atuação da sociedade.
Dada a grande evolução e o crescimento das redes de computadores, essas estruturas passaram a
integrar grande quantidade e diversidade de sistemas, equipamentos, dispositivos, enlaces e serviços,
tornando as tarefas de gerência bastante complicadas e dispendiosas.
Fundamentos de Redes de Computadores
Marcio Quirino - 10
As redes definidas por software (SDN: Software Defined Networks) permitem programar o
comportamento da rede de forma centralizada e controlada por meio de interfaces de programação abertas.
Controlador de redes
É um sistema que roda em um servidor central desenvolvido para controlar todo o fluxo de informações na rede
de forma a facilitar o trabalho de gerência e melhorar o desempenho das aplicações de rede. O controlador utiliza
protocolos para se comunicar com os demais elementos da rede e informar para onde encaminhar os pacotes.
A figura central em uma rede SDN é o controlador de rede, por onde o gerente consegue estabelecer
políticas e comportamentos, e passar essas informações diretamente para os equipamentos que compõe a
rede. Assim, o plano de controle da rede fica independente das características físicas e do hardware de cada
equipamento, sendo implementado agora no controlador de rede. Observe a imagem a seguir:
Representação de rede
Vimos, na imagem anterior, uma representação de rede onde o controlador possui a visão global da
topologia e atua diretamente nos equipamentos para estabelecer as políticas definidas pelo gerente da rede.
Internet das Coisas
A conectividade é a palavra-chave da Internet; sendo assim, a evolução, no sentido de aumentar
ainda mais o grau de conectividade, trouxe a tecnologia da Internet das Coisas (IoT: Internet of Things).
A ideia é conectar não apenas os computadores, smartphones e tablets, mas também qualquer
dispositivo, objeto e até mesmo animais na rede. Isso permitiria que todos os objetos do nosso cotidiano
(ex. geladeira, porta da casa, lata de lixo, par de sapatos etc.) pudessem trocar dados e ser utilizados
remotamente.
Fundamentos de Redes de Computadores
Marcio Quirino - 11
2. Topologias e área de cobertura de redes
Classificação das redes
Classificação quanto à topologia
Nós
Representam os sistemas finais responsáveis pela geração, consumo dos dados e o propósito de
existência da rede, ou sistemas intermediários participantes da infraestrutura da rede e retransmitem os
dados dos usuários até que cheguem ao destino, que são interconectados em rede.
Enlaces
Representam as ligações físicas entre os nós da rede, podendo empregar os mais diferentes meios
de transmissão: fibra ótica, par trançado, cabo coaxial, transmissão em RF, micro-ondas, enlace satelital
etc.
Protocolos
Implementam as regras de comunicação nas redes que organizam e controlam o fluxo de informação.
Os protocolos automatizam a comunicação entre os nós e resolvem os problemas de transmissão, erros,
controles, gerência, serviços e políticas de uso.
A topologia de uma rede é representada pelo arranjo de ligação dos nós através dos enlaces. Essas
ligaçõespodem ocorrer das mais diversas formas, o que resulta em diferentes tipos de topologia.
Veja alguns tipos de arranjos e os respectivos nomes dados às topologias a seguir:
Fundamentos de Redes de Computadores
Marcio Quirino - 12
A topologia de uma rede tem influência direta no seu desempenho e na sua robustez.
Classificação quanto à área de cobertura (alcance)
As redes de computadores podem também ser classificadas quanto à região ou área física em que
são dispostas para prestarem serviços aos usuários. São classificadas sob diversas siglas, que
detalharemos no vídeo a seguir: LAN, MAN, WAN, WLAN, WMAN, SAN e PAN.
Meio de transmissão
Redes cabeadas
Podemos também classificar as redes em dois grandes grupos de acordo com o tipo de meio físico
usado para interconectar os dispositivos: redes cabeadas ou redes sem fio.
Nas redes cabeadas (ou redes por cabo), as conexões entre os dispositivos empregam meios físicos
por onde o sinal é transmitido de forma confinada. São geralmente empregados como meios físicos os
seguintes cabos:
Algumas características da rede cabeada são:
Transporte de sinal
Tanto o par trançado quanto o cabo coaxial transportam o sinal eletromagnético. Na fibra óptica, o
sinal é propagado na forma de luz.
Vantagens e desvantagens
Fundamentos de Redes de Computadores
Marcio Quirino - 13
Cada um dos meios oferece vantagens e desvantagens em relação aos demais. Embora o par
trançado seja mais flexível e barato, enfrenta o problema de interferências eletromagnéticas em maior
escala. Já a fibra óptica, que é mais cara, está imune às interferências e possui a capacidade de atingir
altas taxas de transmissão.
Redes sem fio
Nas redes sem fio, o sinal é transmitido em espaço aberto, não guiado. São tecnologias de redes
sem fio:
Esses tipos de rede apresentam diversas facilidades em relação às redes cabeadas, como a rapidez
na instalação, capacidade de mobilidade, pouco ou nenhum impacto sobre a infraestrutura predial. Em
alguns prédios históricos e locais críticos, acabam sendo a única possibilidade viável para uma rede ser
instalada.
3. Redes sem fio
Conceitos
Desenvolvimento
O objetivo da ALOHAnet, primeira demonstração pública das redes sem fio em pacotes (dados), era
empregar equipamentos de rádio de baixo custo para as transmissões que possibilitassem a conexão dos
terminais dos usuários espalhados pela universidade até um grande computador central de uso
compartilhado.
Embora as redes sem fio para transmissão de dados tenham se popularizado bastante nas últimas décadas, o
seu desenvolvimento data do início dos anos 1970. Pode-se afirmar que a primeira demonstração pública das redes
sem fio em pacotes (dados) ocorreu em junho de 1971, na Universidade do Havaí, conhecida como ALOHAnet.
(ABRAMSON, 2009)
A contribuição que o sistema trouxe foi tão importante que, mais tarde, diversos protocolos de
comunicação empregados em redes celulares e até mesmo em redes cabeadas foram inspirados na
ALOHAnet.
Veja, a seguir, a imagem em que os terminais remotos acessam a estação central através de
transmissões UHF (Ultra High Frequency) em meio aberto:
Fundamentos de Redes de Computadores
Marcio Quirino - 14
Ilustração da rede ALOHA.
A partir de então, o desenvolvimento das redes sem fio seguiu um ritmo constante, até chegarmos à
explosão de seu uso nos dias de hoje. Pode-se dizer que as tecnologias de redes sem fio foram responsáveis
pela imensa conectividade de usuários que observamos em todo o mundo, como também são um veículo
de participação e inclusão social.
Porém, antes de abordarmos algumas de suas principais tecnologias, é importante entender alguns
conceitos e algumas peculiaridades das redes sem fio que as diferem das redes cabeadas tradicionais.
Peculiaridades e características das redes sem fio
Vantagens
A simples possibilidade de se utilizar enlaces sem fio em vez de enlaces por cabo em redes de
computadores introduz diversas vantagens.
O lançamento de cabos em áreas urbanas ou rurais, ou mesmo a instalação predial de cabos, pode,
por vezes, ser bastante complicado, custoso ou até mesmo proibido. No exemplo citado anteriormente da
ALOHAnet, o terreno acidentado e a dispersão dos terminais na universidade se tornaram claramente fatores
motivadores para a utilização de enlaces sem fio. Existem também outras situações em que a adoção dos
enlaces sem fio acaba se tornando a única opção disponível.
Exemplo
A instalação de uma rede em um prédio histórico tombado onde não é permitida qualquer alteração, obra ou
reforma; dentro de um centro cirúrgico de um hospital; instalação de redes temporárias etc.
A mobilidade dos terminais também aparece como uma das grandes vantagens da utilização
de redes sem fio; assim, uma infinidade de diferentes cenários para a utilização das redes de computadores
se tornou possível, tais como: campos de batalha, regiões afetadas por calamidades, operações de resgate,
atividades esportivas, eventos, shows, veículos autônomos não tripulados, redes de sensores.
A facilidade de expansão da rede com a inclusão de novos dispositivos e a rapidez com que esses
dispositivos podem ser instalados e ganhar acesso à rede sem fio também configuram grandes vantagens
em relação às redes com cabos. Podemos adicionar a isso a flexibilidade de o terminal poder alcançar locais
aonde o cabo não chega.
Fundamentos de Redes de Computadores
Marcio Quirino - 15
Desvantagens
No entanto, é importante também conhecer as desvantagens ou dificuldades encontradas pelas
redes sem fio. Em primeiro lugar, a transmissão em espaço aberto traz preocupações imediatas com a
segurança, visto que os sinais podem ser mais facilmente capturados por algum terminal não autorizado
que esteja escutando o meio.
A transmissão do sinal em espaço aberto também está sujeita a maior atenuação do sinal e
interferência de outras fontes, tendo em vista que não há a proteção e o isolamento do meio guiado. Isso
afeta diretamente as taxas de transmissão, o alcance e a potência necessária nos transmissores.
A propagação do sinal também sofre o que se chama de propagação multivias; como o meio não
é guiado, o sinal pode sofrer reflexões em obstáculos pelo caminho, o que dificulta a detecção da informação
por parte dos receptores. Até mesmo as condições climáticas (temperatura, pressão, umidade do ar) impõem
dificuldades nas transmissões. Em suma, a transmissão de sinais em meio aberto está sujeita a diferentes
intemperes e dificuldades que geralmente não afetam ou são mitigadas pelos meios guiados.
Veja as seguintes imagens que exemplificam essas dificuldades:
Sinal sendo refletido por múltiplos caminhos no espaço aberto (propagação multivias)
Fundamentos de Redes de Computadores
Marcio Quirino - 16
Condições climáticas (chuva) causando a atenuação do sinal para o receptor
Redes locais sem fio – WiFi
As redes locais sem fio se tornaram atualmente uma das mais importantes tecnologias de acesso à
Internet.
Está presente nos mais diversos locais de atividade das pessoas: em casa, no trabalho, nos hotéis,
nas universidades, escolas, nos restaurantes, cafés, aeroportos, estádios etc.
A tecnologia dominante empregada em redes locais sem fio é a tecnologia WiFi, identificada pelo
padrão IEEE 802.11.
Redes móveis celulares
Outra tecnologia de redes de comunicação sem fio amplamente utilizada nos dias atuais é a
tecnologia de redes móveis celulares. A cobertura que essas redes oferecem nas grandes cidades, estradas
e até mesmo em zonas rurais é bastante ampla, o que motivou a explosão do consumo e a utilização de
aparelhos celulares como plataformas de acesso à Internet.
Um levantamento realizado pela empresa GSMA Intelligence estimou que, até janeiro de 2020, cerca
de 5,18 billhões de pessoas aparecem como usuários de serviço de telefonia celular, ou seja, 66.77% da
populaçãomundial. Esse dado confirma o grande sucesso e a evolução tecnológica dessas redes ao longo
dos anos e também reflete a necessidade da população mundial por serviços de redes móveis sem fio.
Veja, a seguir, uma imagem da estrutura básica de uma rede móvel celular.
Fundamentos de Redes de Computadores
Marcio Quirino - 17
Estrutura básica de uma rede móvel celular.
As células representadas pelos hexágonos cobrem determinada região geográfica na qual o acesso
à rede é oferecido. O conjunto de células, então, garante a cobertura em uma área maior: uma cidade, por
exemplo. Cada célula possui uma estação-base – BS (Base Station), que desempenha um papel
semelhante ao dos APs nas redes IEEE 802.11.
Veja as seguintes características das redes móveis celulares:
Handoff
Um dos objetivos das redes móveis celulares é oferecer mobilidade total aos usuários. Ao se
movimentarem, os usuários podem trocar de célula de cobertura e, assim, trocar também de acesso a outra
BS. Esse processo é conhecido como handoff, que é totalmente despercebido pelos usuários e realizado
automaticamente pela rede e pelos dispositivos móveis.
Uplink e downlink
A comunicação dos terminais até a BS é realizada pelo canal chamado uplink (canal de subida que
é compartilhado entre os terminais), e a comunicação da BS até os terminais é realizada pelo downlink
(canal de decida controlado unicamente pela BS).
Assim, no canal compartilhado uplink, são necessários também os protocolos de múltiplo acesso
para organizar a comunicação dos diversos terminais. Porém, diferente das redes WiFi, aqui não se utiliza
o protocolo CSMA/CA, e sim soluções de compartilhamento estáticas baseadas, por exemplo, na técnica
de múltiplo acesso por divisão no tempo – TDMA (Time Division Multiple Access) ou divisão de
frequência – FDMA (Frequency Division Multiple Access). Essas soluções foram herdadas das redes de
telefonia anteriores, e não das redes de dados.
4. Considerações finais
Fundamentos de Redes de Computadores
Marcio Quirino - 18
As redes de computadores apresentam uma história relativamente recente; no entanto, os avanços
experimentados pela tecnologia de rede fizeram com que as redes de computadores se tornassem presentes
nas mais diversas atividades da sociedade, sendo praticamente indispensáveis atualmente.
Referências
ABRAMSON, N. The ALOHAnet – Surfing for Wireless Data, IEEE Communications
Magazine.47(12): 21–25. Consultado na internet em: 19 maio 2022.
BARAN, P. On Distributed Communication Networks: I. Introduction to Distributed Communications
Networks. Santa Monica, CA: RAND Corporation, 1964. Consultado na internet em: 19 maio 2022.
KLEINROCK, L. History of the Internet and its flexible future. IEEE Wireless Communications Volume:
15. Consultado na internet em: 19 maio 2022.
KUROSE, F., ROSS, K. Redes de Computadores e a Internet. 5. ed. São Paulo: Pearson, 2010.
LEINER, B. et. al. The Past and Future History of the Internet, Communications of the ACM 40(2):102-
108. Consultado na internet em: 19 maio 2022.
STALLINGS, W. Redes e Sistemas de Comunicação de Dados. 1. ed. Rio de Janeiro: Altabooks,
2018.
TANENBAUM, A. Redes de Computadores. 5. ed. São Paulo: Pearson, 2011.
Explore +
Pesquise e assista ao vídeo História da internet no Brasil e a importância da RNP.
Busque e analise também o material IEEE 802.11TM WIRELESS LOCAL AREA NETWORKS.
Fundamentos de Redes de Computadores
Marcio Quirino - 19
Modelo de Referência OSI e Arquitetura TCP/IP
Introdução
Uma infinidade de serviços é oferecida por meio da internet, por exemplo, os governamentais,
financeiros, educacionais, entre muitos outros que mudaram o comportamento humano. Ao ficarmos sem
acesso à internet, sentimos como se estivéssemos em uma ilha deserta. Experimente colocar seu
smartphone em modo avião durante um dia e perceba como se sentirá isolado.
Mas, para que todos esses serviços possam funcionar, um conjunto de funcionalidades complexas e
difíceis de implementar deve ser disponibilizado pelos dispositivos que compõem uma rede. Portanto, desde
o início das redes de comunicação de dados, foram pensadas formas de otimizar o processo da transmissão
de dados.
1. Divisão da estrutura das redes em camadas
Modelo em camadas
A internet é um conjunto de redes de computadores que permite a troca de informações entre
dispositivos computacionais. Para que essa troca seja realizada de forma eficiente, devem ser estabelecidas
regras de comunicação. Essas regras são os protocolos de rede, que devem garantir que a comunicação
ocorra de forma confiável, segura, eficaz, no momento certo e para a pessoa certa.
De maneira intuitiva, percebemos que satisfazer a todos esses requisitos não é uma tarefa fácil. São
muitas regras que devem ser implementadas para garantir a efetividade da comunicação, tornando o
processo de troca de dados entre computadores uma tarefa extremamente complexa.
Por causa dessa complexidade, os engenheiros e projetistas de redes do passado pensaram em
formas de facilitar o desenvolvimento das regras nos dispositivos computacionais. Eles utilizaram um
princípio básico de resolução de diversos outros problemas: a técnica de dividir para conquistar.
Na técnica dividir para conquistar, os projetistas dividem o problema em problemas menores e
resolvem cada um de forma isolada. Se cada pequeno problema for resolvido, o grande problema será
resolvido.
Para que essa divisão ocorresse de forma simplificada, os projetistas dividiram a organização das
redes de computadores em camadas, sendo cada camada responsável por cuidar de determinada regra ou
protocolo necessário ao processo de comunicação.
A quantidade de camadas utilizadas depende de como as funcionalidades são divididas. Quanto
maior a divisão, maior o número de camadas que serão empilhadas, numerando da mais baixa, camada 1,
para a mais alta, camada n.
Fundamentos de Redes de Computadores
Marcio Quirino - 20
As camadas se inter-relacionam da seguinte maneira: a camada superior utiliza os serviços
oferecidos por outra imediatamente inferior, portanto, a camada 3 utiliza os serviços oferecidos pela camada
2.
De forma contrária, podemos dizer que a camada inferior oferece serviços para outra imediatamente
superior, logo, a camada 2 oferece serviços para a camada 3.
Elementos da camada
As camadas são formadas por três elementos principais:
Serviço
É o conjunto de funcionalidades que uma determinada camada oferece. Por exemplo, uma camada
pode ser responsável pela verificação de erros na transmissão, por determinar o endereço de um
computador, entre outras funcionalidades. O serviço diz o que a camada faz e não como ela faz.
Protocolo
Responsável por como a camada faz. Assim, o protocolo é a implementação do serviço da camada,
ou seja, executa as regras para que os erros possam ser corrigidos ou para que um computador possa ser
identificado. "Um conjunto de camadas e protocolos é a arquitetura de rede e o conjunto de protocolos
utilizados por determinado sistema é uma pilha de protocolos." (TANENBAUM, 2011, p. 38)
Interface
Para que uma camada possa utilizar a camada imediatamente inferior, é necessário que haja um
ponto de comunicação entre ambas, chamado interface. Por meio dela, uma camada pode utilizar o serviço
de outra, passando informações para a camada vizinha.
Onde, exatamente, tudo isso é implementado no computador?
O que está implementado são os protocolos e interfaces, que podem estar desenvolvidos em um
hardware, como uma placa de rede, ou em um software, como no sistema operacional da máquina.
Agora que os elementos da camada foram apresentados, é possível entender dois conceitos
importantes da arquitetura de redes: Comunicação Vertical e Comunicação Horizontal.
Comunicações horizontal e vertical
Já vimos que uma camada utiliza os serviços de outra imediatamente inferior, sucessivamente,até
chegar à camada mais baixa. Como estão empilhadas, podemos fazer analogia à comunicação vertical, uma
vez que o dado original, no topo do conjunto de camadas, desce até a camada 1, caracterizando a
verticalidade desse processo.
Na origem
Na origem, o dado a ser transmitido desce pelas camadas até o nível mais baixo, a camada 1. Essa
camada está conectada ao meio de transmissão, por exemplo, uma fibra ótica, um cabo de rede metálico
ou o ar, possíveis caminhos para o dado fluir até o destino.
No destino
No destino, o processo ocorrerá de modo contrário, pois o dado sobe pelas camadas até o nível mais
alto da arquitetura. Podemos, assim, associar a comunicação vertical aos serviços das camadas.
Conforme o dado passa por determinada camada, o hardware ou o software, responsável por
implementar o protocolo, irá preparar esse dado para que a regra (para a qual ele foi projetado) possa ser
executada.
Fundamentos de Redes de Computadores
Marcio Quirino - 21
Se a camada 2 é responsável pela verificação de erro, o dado será preparado na origem por essa
camada para que, ao passar pela camada 2 do destino, seja verificado se houve erro ou não.
No exemplo anterior, vimos que a camada 2 de origem preparou o dado para que a camada 2 de
destino verificasse se a informação está correta, caracterizando a existência de uma conversa entre as duas
camadas de mesmo nível em computadores distintos. Essa conversa é a comunicação horizontal, realizada
pelos protocolos que implementarão a regra.
Relação entre camadas, protocolos e interfaces.
Encapsulamento
Ainda pode estar um pouco abstrata a forma como realmente a comunicação vertical e,
principalmente, a horizontal funcionam.
Como a camada 2 da máquina de origem consegue conversar com a mesma camada na máquina
de destino?
A comunicação horizontal ocorre de forma virtual. A camada 2 da máquina de origem, ao preparar o
dado para ser enviado, adiciona informações que serão lidas e tratadas única e exclusivamente pela mesma
camada do dispositivo de destino. Essas informações são denominadas cabeçalhos.
Fundamentos de Redes de Computadores
Marcio Quirino - 22
Comunicação horizontal por meio de cabeçalho.
Cada camada adicionará um novo cabeçalho ao dado que será enviado, e esse processo é chamado
de encapsulamento.
Cada camada receberá o dado da camada superior, através da interface, e adicionará seu próprio
cabeçalho, encapsulando o dado recebido.
Processo de encapsulamento de dados.
Nesse processo, quando determinada camada recebe os dados, ela não se preocupa com o
conteúdo que recebeu, apenas adiciona o seu cabeçalho para permitir que o protocolo execute as regras
necessárias à comunicação.
Esse procedimento acontece, repetidamente, até alcançar a camada 1 e a informação ser transmitida
ao destino, onde ocorrerá o processo inverso. A informação subirá, desencapsulando as informações, da
camada 1 até o usuário do serviço.
Atenção!
Ao realizar o encapsulamento, a unidade de dados do protocolo ou PDU (Protocol Data Unit, na sigla em inglês)
é criada.
A PDU é constituída pela informação que vem da camada superior (PDU da camada superior) e o cabeçalho
da própria camada.
2. Camadas do modelo OSI
Modelo OSI
Na década de 1970, a International Organization for Standardization (ISO), um órgão que desenvolve
padrões internacionais, criou um modelo de referência de camadas denominado OSI (Open System
Interconnection - ISO/IEC 7498-1:1994).
O objetivo foi elaborar um modelo que permitisse a comunicação entre sistemas diferentes,
independentemente de suas arquiteturas, facilitando a comunicação, sem a necessidade de realizar
mudanças na lógica do hardware ou software (FOROUZAN, 2010).
Observe que o modelo OSI propriamente dito não é uma arquitetura de rede, pois não especifica os serviços
e protocolos exatos que devem ser usados em cada camada. Ele apenas informa o que cada camada deve fazer. No
entanto, a ISO também produziu padrões para todas as camadas, embora esses padrões não façam parte do próprio
modelo de referência. Cada um foi publicado como um padrão internacional distinto. O modelo (em parte) é bastante
utilizado, embora os protocolos associados há muito tempo tenham sido deixados de lado.
(TANENBAUM, 2011, p. 45)
Fundamentos de Redes de Computadores
Marcio Quirino - 23
O que utilizamos hoje do modelo OSI é a referência para as funções das camadas. Então, quando
ouvimos falar que determinado protocolo é da camada X (1, 2, 3, ...), esse X se refere ao OSI, tanto que é
encontrada, em diversos livros e artigos, a expressão modelo de referência OSI (RM-OSI em inglês).
O modelo OSI possui sete camadas, de cima para baixo: aplicação, apresentação, sessão,
transporte, rede, enlace e física.
De acordo com o conceito de camadas que estudamos, cada uma delas é responsável por
determinada tarefa no processo de transmissão de dados. Entretanto, já sabemos que, por mais que tenham
sido especificados protocolos para cada camada, na prática, eles não são utilizados.
Os conceitos estudados de comunicação vertical, comunicação horizontal e encapsulamento são
válidos nesse modelo. Portanto, um dado transmitido por um dispositivo de origem será inserido na estrutura
de rede a partir da camada de aplicação e descerá até a camada física, quando será enviado pelo meio de
transmissão. Cada camada adicionará o seu próprio cabeçalho, encapsulando a PDU da camada superior
e permitindo a comunicação horizontal entre camadas de mesmo nível.
É possível dividir as sete camadas em três subgrupos.
Camadas mais altas
As três camadas mais altas (aplicação, apresentação e sessão) estão relacionadas a funções que
dão suporte para que os usuários possam acessar os diversos serviços de redes, garantindo a
interoperabilidade de sistemas heterogêneos (FOROUZAN, 2010).
Fundamentos de Redes de Computadores
Marcio Quirino - 24
Camadas mais inferiores
As três camadas mais inferiores (rede, enlace e física) estão relacionadas às operações ligadas aos
aspectos da movimentação dos dados de um dispositivo para o outro, dando suporte às operações de rede
(FOROUZAN, 2010).
Camadas de transporte
A camada de transporte faz a interligação entre o suporte ao usuário e o suporte de rede. Ela vai
permitir que os dados que chegaram das camadas mais baixas estejam em condições de serem utilizados
pelas camadas mais altas (FOROUZAN, 2010).
Agora vamos ver, de modo mais específico, as tarefas de cada camada do modelo OSI.
Sua primeira tarefa será conseguir acesso aos recursos da rede. Escolha com atenção o serviço
mais adequado para enviar a sua mensagem!
Camadas de aplicação, apresentação e sessão
Aplicação
A camada de aplicação é a que está mais próxima de nós, usuários da rede. Podemos citar algumas
das aplicações oferecidas por essa camada:
• Serviço web.
• Serviço de correio eletrônico.
• Serviço de transferência de arquivos.
• Serviço de streaming de áudio e vídeo.
• Serviço de compartilhamento de arquivos.
Fundamentos de Redes de Computadores
Marcio Quirino - 25
Os serviços citados acima ou quaisquer outros oferecidos pela camada de aplicação são executados
por processos dos usuários que estão em andamento em determinado dispositivo.
Sua segunda tarefa será traduzir, criptografar e comprimir dados. Organização é a palavra-chave!
Apresentação
A camada de apresentação é responsável por garantir a interoperabilidade dos sistemas
heterogêneos, ou seja, permitir que, independentemente do dispositivo que você esteja utilizando
(computador, smartphone, televisão, carro etc.) e do sistema operacional (MS Windows, Apple IOS, Linux
etc.), seja possível acessar qualquer tipo de serviço disponibilizado pela rede.
Para que haja essa interoperabilidade, a camada de apresentação é responsável por fazer a
transformação dos dados, por isso, podemos chamá-la de tradutorda rede. Ela será responsável pela
conversão entre formatos, compressão de dados e criptografia.
Sua terceira tarefa será estabelecer, gerenciar e encerrar sessões, garantindo a sincronia da
comunicação.
Sessão
Essa camada é responsável por organizar a comunicação entre os dispositivos e permitirá que os
usuários, em diferentes máquinas, possam estabelecer sessões de comunicação; cada sessão terá dois
serviços básicos: controle de diálogo e sincronização.
Controle de diálogo
Define quem transmitirá em determinado momento. Considerando a existência de dois usuários, A e
B, a camada de sessão determinará se eles podem transmitir simultaneamente, caracterizando a
comunicação full duplex, ou de forma intercalada, em um sentido por vez, a exemplo da comunicação half
duplex.
Sincronização
Permite que sejam estabelecidos pontos de controle em determinado fluxo de dados. Esses pontos
permitem que, se houver uma perda de comunicação, a transmissão de dados seja restabelecida a partir
daquele ponto e não desde o início da transmissão.
Sua quarta tarefa será prover a entrega confiável de mensagens processo a processo e a
recuperação de erros. Fique atento ao fluxo de informações!
Camadas de transporte e rede
Transporte
Essa camada tem por finalidade garantir a entrega de processo a processo de todos os dados
enviados pelo usuário. Podemos dizer que a camada de transporte é responsável por entregar os dados
corretamente para os processos que estão em execução na camada de aplicação.
Esse papel da camada de transporte a torna uma das mais complexas dentro da estrutura do modelo
OSI. Para garantir que as mensagens da camada de aplicação sejam entregues corretamente, diversas
funções são necessárias:
Segmentação e remontagem
A camada de transporte receberá os dados originados na camada de sessão (PDU da camada de
sessão) e irá dividi-los em pedaços, segmentos de dados (PDU da camada de transporte), que possam ser
enviados e, na camada de transporte de destino, irá remontá-los na ordem correta. Para isso, será
necessário estabelecer números de sequência para garantir que, independentemente da ordem de chegada,
os dados sejam remontados na ordem correta.
Fundamentos de Redes de Computadores
Marcio Quirino - 26
Controle de erros fim a fim
A camada de transporte verificará se ocorreram erros na comunicação fim a fim, ou seja, entre os
processos da camada de aplicação. Na origem, serão adicionadas informações que permitam identificar no
destino se durante o tráfego pela rede ocorreu algum erro e, possivelmente, corrigi-lo.
Controle de fluxo
A camada de transporte será encarregada de evitar que o processo na origem sobrecarregue o
processo no destino.
Controle de conexão
A camada de transporte pode ser orientada ou não à conexão. No serviço orientado à conexão, a
camada de transporte será responsável por estabelecer a conexão entre os processos de origem e destino.
Endereçamento do ponto de acesso ao serviço
Em um dispositivo, normalmente, estão em andamento diversos tipos de serviços executados por
vários processos e não apenas um. A camada de transporte será responsável por fazer a entrega para o
processo correto e, para isso, será utilizado o chamado endereço de porta. Ele indicará o serviço correto
que deverá receber os dados.
Controle de congestionamento
No mundo real, as máquinas não estão diretamente conectadas, ou seja, não há uma comunicação
ponto a ponto direta. Entre a máquina de origem e de destino existem diversos outros dispositivos cuja
finalidade é fazer a informação ir de um ponto a outro. Como esses equipamentos transmitirão dados de
diversas outras origens, poderá haver uma sobrecarga desses dispositivos. A camada de transporte será
responsável por monitorar esse congestionamento e, possivelmente, tratá-lo.
Sua quinta tarefa será transferir pacotes da origem ao destino, permitindo a ligação entre as redes.
Cuidado para não tomar uma rota errada!
Rede
A camada de rede é responsável por determinar o caminho da origem até o destino. Ela receberá os
segmentos gerados pela camada de transporte e, no cabeçalho da camada de rede, irá inserir o endereço
da máquina de destino para que seja enviado pela rede por meio dos diversos dispositivos intermediários.
Enquanto a camada de transporte é responsável pela comunicação processo a processo, a camada de rede
é encarregada da comunicação máquina a máquina.
Veja a representação desse fluxo a seguir:
Comparação entre camada de transporte e camada de rede.
Para cumprir nosso objetivo, duas funcionalidades principais devem ser estabelecidas:
Fundamentos de Redes de Computadores
Marcio Quirino - 27
Endereço lógico
O endereço da porta, definido pela camada de transporte, permitirá a entrega no processo de destino.
Mas, para que isso aconteça, é necessário que os segmentos cheguem à máquina de destino. Por isso, são
empregados endereços lógicos a fim de permitir que os dispositivos intermediários encaminhem os dados
pelas redes e alcancem o destino.
Roteamento
A função de roteamento permite estabelecer um caminho entre origem e destino. Os dispositivos
intermediários verificarão o endereço lógico de destino e, com base nas informações de caminho que eles
possuem, farão o processo de encaminhamento para outros dispositivos intermediários a fim de alcançar o
destino da informação.
Sua sexta tarefa será organizar os bits em quadros, fornecendo a entrega nó a nó. Tenha atenção
aos erros no caminho!
Camadas de enlace e física
Enlace
A camada de rede tem a responsabilidade da entrega dos dados para a máquina de destino.
Normalmente, as máquinas não estão diretamente conectadas, ou seja, origem e destino não estão ligados
diretamente por um meio físico, mas por dispositivos intermediários, como a internet. Então, como visto na
camada de rede, os dados serão roteados por essa internet até chegar ao destino. Após ser definido por
qual caminho os dados devem prosseguir, a camada de enlace surgirá para garantir essa comunicação
ponto a ponto ou hop to hop.
Veja a representação desse fluxo a seguir:
Entrega desde a origem até o destino.
A camada de enlace é responsável por garantir a comunicação entre dispositivos adjacentes. Ela
corrigirá quaisquer problemas que tenham ocorrido no meio físico de transmissão e entregará para a camada
de rede um serviço de transmissão de dados aparentemente livre de erros.
É possível fazer uma analogia entre as camadas de enlace e de transporte:
Transporte
Fundamentos de Redes de Computadores
Marcio Quirino - 28
Realiza a entrega confiável processo a processo.
Enlace
Realiza a entrega confiável entre máquinas adjacentes, nó a nó.
Por esse motivo, muitas das funções existentes na camada de transporte também estarão presentes
na de enlace:
Controle de erros
Os meios de transmissão não são livres de erro; portanto, os dados que trafegam através deles estão
sujeitos a erros. A camada de enlace pode implementar mecanismos de controle de erro com a finalidade
de agregar confiabilidade ao serviço de transmissão.
Controle de acesso ao meio
Como alguns meios de transmissão são compartilhados, ou seja, mais de um dispositivo pode
transmitir pelo mesmo meio, é necessário um mecanismo para controlar qual dos dispositivos pode transmitir
naquele momento.
Endereçamento físico
Enquanto o endereço de porta indica o processo na máquina de destino e o endereço lógico indica
o dispositivo de destino, o endereço físico indicará qual será o próximo dispositivo no caminho origem-
destino. Ao chegar à rede de destino, o endereço físico será o do dispositivo final.
Controle de fluxo
Semelhante ao que acontece na camada de transporte, o controle de fluxo evitará que o nó de origem
sobrecarregue o nó de destino.
Enquadramento
A camada de enlace receberá os dados da camada de rede (PDU da camada de rede),
encapsulando-osem quadros (PDU da camada de enlace). Os quadros criados pela camada de enlace
terão uma função importante, que será a adição de delimitadores de início e fim do quadro na origem, para
permitir que, no nó vizinho, a camada de enlace possa ver o fluxo de bits e definir corretamente onde inicia
e termina o quadro.
Sua sétima tarefa será transmitir bits através de um meio físico, promovendo especificações
mecânicas e elétricas. Garanta a estabilidade do sinal!
Física
Essa camada é responsável por transmitir os dados pelo meio de transmissão. Ela receberá os
quadros da camada de enlace, que serão formados por uma sequência de bits, e irá codificar corretamente
para que sejam enviados pelo meio de transmissão.
A camada física será responsável pela representação dos bits, ou seja, de acordo com o meio de
transmissão, ela irá definir se essa representação ocorrerá por pulsos de luz, no caso da fibra ótica, ou
pulsos elétricos, no caso de empregar cabos de par trançado. Além disso, a camada física é responsável
por:
Taxa de dados
A velocidade em que os bits são inseridos no meio de transmissão é responsabilidade da camada física.
Quando ouvimos a expressão megabits por segundo (Mbps), que define a taxa de transmissão de determinado enlace,
é responsabilidade da camada física estabelecer esse valor. Assim, a taxa de transmissão definirá a duração de um
bit: quanto maior a taxa, menor a duração do bit, e vice-versa.
Sincronização dos bits
Fundamentos de Redes de Computadores
Marcio Quirino - 29
O nó transmissor e o receptor devem operar na mesma velocidade, ou seja, na mesma taxa de bits. Entretanto,
os relógios (clocks) das camadas físicas têm pequenas diferenças; portanto, é possível que ocorram falhas de
sincronismos. A camada física deve implementar algum tipo de mecanismo que permita o correto sincronismo dos bits
entre origem e destino.
Topologia física
Define como os nós da rede estão interligados, podendo ser uma configuração de um enlace ponto a ponto,
em que cada nó está diretamente conectado a outro, sem compartilhamento do meio, ou uma ligação ponto-multiponto,
em que o enlace é compartilhado por diversos nós.
Modo de transmissão
A camada física definirá o modo de transmissão em um determinado meio: simplex, half duplex ou full duplex.
Considerando dois dispositivos, A e B, no modo simplex só existe envio de dados em um sentido, por exemplo, de A
para B; no modo half duplex, os dados podem ser enviados nos dois sentidos, mas não simultaneamente (de A para B
em um momento e de B para A em outro momento); e no modo full duplex, os dados podem ser enviados
simultaneamente por A e B.
Resumo
Tendo percorrido o caminho da origem até o destino, passando por todas as camadas da rede, você
é capaz de entender como as informações são transmitidas pelos dispositivos computacionais. Vamos
relembrar o seu percurso!
Veja um resumo das camadas e suas funcionalidades:
3. Camadas da arquitetura TCP/IP
Arquitetura e evolução do protocolo TCP/IP
Vamos conhecer um pouco mais sobre o protocolo TCP/IP e o seu papel na história da internet.
A arquitetura foi batizada por TCP/IP por causa dos seus dois principais protocolos: Transmission Control
Protocol (TCP) e Internet Protocol (IP). Ela foi apresentada pela primeira vez em 1974 (CERF, 1974) com o objetivo de
Fundamentos de Redes de Computadores
Marcio Quirino - 30
criar uma arquitetura que permitisse a interligação de diversas redes de comunicação, sendo posteriormente adotada
como padrão, de fato, para a comunidade internet.
(CERF; KAHN, 1974)
A arquitetura foi criada utilizando quatro camadas: aplicação, transporte, internet e acesso à rede.
As duas últimas camadas podem ser encontradas com nomes diferentes na literatura. A camada de
internet pode ser encontrada como rede e inter-rede e a camada de acesso à rede pode ser encontrada
como camada de enlace, host-rede, intrarrede e host-network.
Após identificarmos que a arquitetura TCP/IP tem apenas quatro camadas, é possível imaginar que
algumas das funções executadas pelas camadas de apresentação, sessão, enlace e rede, ausentes na
arquitetura TCP/IP, serão acumuladas por outras camadas.
As funções das camadas de apresentação e sessão serão acumuladas pela camada de aplicação e
a funções das camadas de enlace e física serão executadas pela camada de acesso à rede. Observe a
relação entre os dois modelos a seguir.
Relação entre o modelo OSI e a arquitetura TCP/IP.
Uma grande diferença que temos entre o modelo de referência OSI e a arquitetura TCP/IP é:
Modelo OSI
É baseado, principalmente, nas funcionalidades das camadas.
Arquitetura TCP/IP
Não ficou presa apenas nas funcionalidades, mas ampliou para o desenvolvimento de protocolos relativamente
independentes e hierárquicos. A hierarquia baseia-se em um protocolo de nível superior que é suportado pelos
protocolos de nível inferior.
Fundamentos de Redes de Computadores
Marcio Quirino - 31
É comum ouvirmos falar da pilha de protocolos TCP/IP. Agora que dominamos o conceito do modelo
de camadas, como vimos no modelo OSI, fica fácil de entender que a pilha de protocolos TCP/IP é o conjunto
de todos os protocolos implementados pela arquitetura. E não são poucos.
Os principais protocolos de padrão aberto da arquitetura Internet foram desenvolvidos pelo IETF (The
Internet Engineering Task Force), uma grande comunidade internacional aberta, composta por designers de
rede, operadores, fornecedores e pesquisadores preocupados com a evolução da arquitetura da internet.
Camadas: funções e principais protocolos
Depois de estudarmos o modelo OSI, é possível ter uma ideia geral dos serviços de cada camada;
portanto, vamos focar, principalmente, nos protocolos.
Aplicação
A camada de aplicação da arquitetura TCP/IP nos engloba os serviços das camadas de aplicação,
apresentação e sessão do modelo OSI. Através da camada de aplicação é possível acessar uma infinidade
de serviços na internet. Desde os que são utilizados de forma direta pelos usuários, como o serviço Web,
serviço de correio eletrônico, entre outros, bem como os que funcionam dando suporte à operação da rede,
como o serviço de nomes (DNS).
Os serviços são implementados pelos diversos protocolos existentes. Correlacionamos, a seguir,
alguns serviços e protocolos utilizados na camada de aplicação.
Serviço Protocolo
Web HTTP, HTTPS
Correio Eletrônico SMTP, POP, e IMAP
Nomes DNS
Transferência de arquivos FTP, TFTP
Áudio e vídeo em tempo real RTP
Configuração automática de estações DHCP
Os protocolos apresentados são implementados por meio de softwares, que são executados nos
diversos dispositivos computacionais, e podem estar associados a dois tipos principais de arquitetura:
Cliente-servidor
Na arquitetura cliente-servidor, como já evidencia o nome, existirá um cliente e um servidor. O cliente
será executado por um usuário como nós e irá requisitar um serviço do servidor. Por exemplo, para o serviço
Web, o cliente é o navegador que acessa determinado servidor, por exemplo, o servidor que está
disponibilizando esse conteúdo.
Par a par (peer-to-peer (P2P))
A arquitetura P2P foi pensada no emprego mínimo de servidores, caso exista algum. A ideia da
arquitetura peer-to-peer é que os usuários possam trocar informações de forma direta. Esse tipo de
arquitetura ficou muito conhecida com os programas de compartilhamento de arquivos, mas também pode
ser utilizada em outras situações, como em um chat entre duas pessoas.
Independentemente da arquitetura utilizada, dizemos que os processos da camada de aplicação
trocam mensagens, que é o nome da unidade de dados do protocolo (PDU) da camada de aplicação.
Transporte
Tem a mesma funcionalidade da camada existente no modelo OSI: garantir a entrega de processo a
processo de todos os dados enviados pelo usuário. Porém, na arquitetura TCP/IP, temos doisprotocolos
principais:
TCP (Transmission Control Protocol)
Fundamentos de Redes de Computadores
Marcio Quirino - 32
O protocolo TCP, efetivamente, confere confiabilidade.
O protocolo TCP é um protocolo orientado à conexão, com controle de erros, de congestionamento
e de fluxo. Também define os endereços das portas e divide a mensagem (PDU-A) da camada de aplicação
em segmentos (PDU-T), determinando números de sequência para cada um, para garantir a entrega dos
dados na ordem correta para a aplicação. O TCP é adequado para as aplicações de rede que precisam de
confiabilidade na troca de mensagens entre processos.
UDP (User Datagram Protocol)
O protocolo UDP não confere confiabilidade.
O protocolo UDP é o oposto do TCP. Ele não é orientado à conexão e não faz a maioria das funções
da camada de rede. Podemos dizer que o UDP existe apenas para permitir que uma mensagem (PDU-A)
seja encapsulada em um datagrama (PDU-T) e entregue para o processo de destino correto, já que ele
utiliza o endereço da porta para fazer a correta entrega na máquina de destino.
Então, por que usamos o UDP?
Ele é importante para as aplicações que demandam tempo de resposta baixo na comunicação, como
em um áudio ou uma videoconferência, e nas aplicações que podem funcionar tolerando algum tipo de
perda.
Internet
A camada internet ou simplesmente camada de rede tem por objetivo permitir que os dados injetados
na rede pela máquina de origem possam alcançar o destino. O principal protocolo da camada de rede é o
IP (Internet Protocol).
Ele é encontrado em duas versões principais:
Objetivo
Os dois protocolos têm por objetivo definir o endereço lógico, conhecido como endereço IP, e permitir o
tratamento dos datagramas (PDU-R) para que possam ser roteados da origem até o destino.
Diferença
A diferença entre as duas versões do protocolo está no tamanho do endereço lógico, 32 bits para o IPv4 e 128
bits para o IPv6, no formato do datagrama e em algumas funções mais específicas que não abordaremos neste
material.
Semelhança
Os dois protocolos têm em comum o fato de não serem orientados à conexão e não terem confiabilidade, ou
seja, não realizam o tratamento de erros e os datagramas são enviados de forma independente. Portanto, podem
chegar em ordem diferente da qual foram enviados.
Dizemos que o serviço da camada internet é de melhor esforço.
Fundamentos de Redes de Computadores
Marcio Quirino - 33
Será feito o maior esforço de entregar as informações, mas não será garantida a entrega, nem a
ordem, nem a ausência de erro. Qualquer problema deverá ser corrigido pelas camadas superiores.
Atenção!
Além do protocolo IP, a camada internet emprega outros protocolos que dão suporte ao encaminhamento dos
dados. Existem protocolos com o objetivo de fazer sinalização e avisos de erros, como o ICMP (Internet Control
Message Protocol), tradução do endereço lógico para o físico, como o ARP (Address Resolution Protocol), e a chamada
comunicação multicast, que permite o envio dos dados para um grupo de estações, como o protocolo IGMP (Internet
Group Management Protocol).
Acesso à rede
A camada de acesso à rede não foi bem definida pela arquitetura TCP/IP, nem define um protocolo
específico a ser empregado. O que foi dito inicialmente é que a camada de acesso à rede seria qualquer
coisa que pudesse ligar o dispositivo ao enlace de transmissão.
Mas, como para chegar até aqui já estudamos vários conceitos, sabemos que, apesar de não estar
definida pela arquitetura TCP/IP, nessa camada encontraremos os serviços que são oferecidos pelas
camadas de enlace e física do modelo OSI.
Embora não faça parte da arquitetura TCP/IP, a arquitetura desenvolvida pelo Instituto de
Engenheiros Eletricistas e Eletrônicos (Institute of Electrical and Electronics Engineers – IEEE), denominada
IEEE 802, é largamente utilizada na camada de acesso à rede. Ela define diversos padrões utilizados nas
redes locais e metropolitanas, como o padrão Ethernet e o famoso WiFi, que provavelmente você está
usando agora para acessar este conteúdo.
Agora que terminamos a apresentação dos principais protocolos da arquitetura TCP/IP, podemos
fazer uma correlação entre a arquitetura internet e seus protocolos com o modelo OSI, conforme se vê a
seguir:
Modelo OSI e TCP/IP.
Fundamentos de Redes de Computadores
Marcio Quirino - 34
Saiba mais
A arquitetura internet ou TCP/IP como uma estrutura de camadas não evoluiu ao longo dos anos. A grande
evolução que tivemos foi nos protocolos empregados.
Inicialmente, os protocolos da camada de aplicação eram concentrados nas aplicações textuais, com um
pequeno volume de informação a ser trocado, como o Serviço Web criado por Sir Tim Berners-Lee, com foco em
páginas textuais para troca de informações entre os centros de pesquisa.
Atualmente, os protocolos evoluíram significativamente para oferecer maior qualidade de serviço, suporte ao
tráfego de vídeo, segurança, transações financeiras, entre outros. Falando novamente do serviço Web, o protocolo
https:// evoluiu de um protocolo textual para binário, a fim de dar suporte aos diversos usos do serviço Web, como
assistir a vídeos, CRMs, ERPs, entre muitos outros sistemas complexos.
Considerações finais
Agora que terminamos este conteúdo, é possível entender que a transmissão de dados é uma tarefa
complexa! Sem a organização das redes de computadores em camadas, a evolução das redes teria sido
mais restrita e, talvez, a internet não seria o que é hoje.
Com o modelo e a arquitetura estudados, sabemos identificar os elementos envolvidos e
compreender a função de cada camada no contexto geral da transmissão de dados.
Referências
CERF, V.; KAHN, R. A protocol for Packet Network Intercommunication. IEEE Transactions on
Communications, v. 22, n. 5, p. 637-648, May 1974.
FOROUZAN, B. A. Comunicação de dados e Redes de Computadores. 4. ed. Porto Alegre: AMGH,
2010.
TANENBAUM, A. S.; WETHERALL, J. Redes de computadores. 5. ed. São Paulo: Pearson, 2011.
Explore +
Acesse o site da International Telecommunication Union (ITU) e nas seções About ITU e
Standardization você poderá ver o papel da ITU como uma agência especializada da ONU para
telecomunicações e os grupos de desenvolvimento em novas tecnologias, como: condução autônoma,
inteligência artificial, IPTV e muitos outros.
Explore o modelo OSI consultando o documento X.200: Information technology - Open Systems
Interconnection - Basic Reference Model: The basic model ou procure pelo Publicly Available Standards na
International Organization for Standardization, que disponibiliza gratuitamente a definição do modelo,
apresentando o conceito de sistemas abertos e como o modelo OSI foi projetado.
Leia sobre a história da internet na seção 1.3 do livro Redes de Computadores: Uma Abordagem
Top-Down, de Behrouz Forouzan e Firouz Mosharraf.
Busque a arquitetura IEEE 802 e conheça os principais padrões utilizados, como o IEEE 802.3
Ethernet Working Group (redes locais com cabo), IEEE 802.11 Wireless LAN Working Group (WiFi) e IEEE
802.15 Wireless Personal Area Network (WPAN) e Working Group (Bluetooth, entre outras redes pessoais).
Leia o capítulo 2 do livro Rede de Computadores e Internet, de D.E. Comer, de 2016, que aborda as
tendências da internet.
Fundamentos de Redes de Computadores
Marcio Quirino - 35
Camadas de Aplicação e Transporte
Introdução
As redes de computadores cresceram de forma vertiginosa nos últimos anos. Esse crescimento
ocorreu graças aos diversos serviços que passaram a ser disponibilizados através da Internet, o que nos
permitiu realizar compras on-line, pagamentos, assistir a filmes, jogar, acessar redes sociais, entre outras
atividades.
Todos esses serviços que são disponibilizados pela Internet, ou em uma Intranet, são implementados
na camada de aplicação da arquitetura TCP/IP. Nessa camada são executadosos processos que permitirão
que você possa acessar este conteúdo, enviar mensagens de correio eletrônico, acessar as redes sociais,
jogar on-line etc.
Colocando de uma forma bem simples, ao acessarmos os diversos serviços, o que está ocorrendo é
uma comunicação dos processos que são executados no nível da aplicação.
Para que isso seja possível, entra em operação a camada de transporte. Nesse nível é que será
garantida a confiabilidade na troca de mensagens da camada de aplicação.
Por isso é importante que o profissional de tecnologia da informação consiga reconhecer as
arquiteturas que podem ser utilizadas nas aplicações, assim como saber a finalidade de cada um dos
serviços que são oferecidos e como a camada de transporte permitirá uma comunicação confiável entre o
dispositivo de origem e de destino.
1. Arquiteturas e camada de aplicação
A Aplicação
Camada de Aplicação
Atualmente, as redes de computadores estão presentes no cotidiano das pessoas, permitindo a
interação e a realização de diversas tarefas.
Em relação às redes de comunicação, você já ouviu falar no trabalho da camada de aplicação?
Vamos analisar os conceitos estudados na prática? Veja o caso a seguir.
Exemplo
Quando realizamos uma compra com cartão de crédito ou débito em um estabelecimento comercial, é
fundamental a existência de uma rede de comunicação, já que ela será o alicerce para execução da operação. Ao
inseri-lo na máquina de cartão, precisamos colocar uma senha para confirmar a operação. Tal dado é inserido no
sistema por meio de um software executado nessa máquina.
Nesse caso, o software é executado na camada de aplicação!
O software de aplicação, também conhecido como software aplicativo, é nossa interface com o
sistema (e, por consequência, com toda a rede de comunicação que suporta essa operação). Portanto,
sempre que houver um serviço na rede, virá à mente a interface com ele.
Outros exemplos de software de aplicação:
• Navegador web
• Cliente de e-mail
• Jogos executados em rede
Fundamentos de Redes de Computadores
Marcio Quirino - 36
Ressaltamos que a camada de aplicação é aquela de mais alto nível do modelo OSI, fazendo a
interface com os usuários do sistema e realizando as tarefas que eles desejam.
Arquiteturas de Aplicações
Façamos a seguinte suposição: nosso objetivo é desenvolver uma aplicação a ser executada em
rede. Para criá-la, deve-se utilizar uma linguagem de programação que possua comandos e/ou funções para
a comunicação em rede. Na maioria das linguagens, esses comandos e/ou funções estão em bibliotecas
nativas da linguagem ou criadas por terceiros.
Mas não basta conhecer uma linguagem de programação e suas bibliotecas. Antes disso, é preciso
definir qual arquitetura terá sua aplicação. Entre as mais conhecidas, destacam-se as seguintes:
• Cliente-servidor
• Peer-to-peer (ou P2P)
Arquitetura Cliente Servidor
Cliente-servidor
Nesta arquitetura, há pelo menos duas entidades: um cliente e um servidor. O servidor executa
operações continuamente aguardando por requisições do(s) cliente(s). O mais comum, é que hajam diversos
clientes e um único servidor. A figura abaixo ilustra a situação.
Quando um dos clientes precisa que o trabalho seja realizado pelo servidor, ele monta uma
mensagem, especificando o que deve ser realizado. A mensagem normalmente contém dados que devem
ser processados pelo servidor.
Quando a mensagem está montada, é enviada ao servidor por intermédio de algum sistema de
comunicação (internet). Este recebe a mensagem, processa seu conteúdo e envia a resposta ao cliente.
O servidor comporta-se passivamente, normalmente limita-se a aguardar solicitações, e quando
estas chegam, processa as mensagens com os dados necessários e enviar o resultado do processamento
de volta a seus clientes.
Servidor
Quando chega uma solicitação, o servidor pode:
• Atender imediatamente caso esteja ocioso;
• Gerar um processo-filho para o atendimento da solicitação;
• Enfileirar a solicitação para ser atendida mais tarde;
• Criar uma thread para esse atendimento.
Processo-filho
Fundamentos de Redes de Computadores
Marcio Quirino - 37
Um processo é um programa em execução que inclui sua região de memória, os valores das variáveis e seu
contexto de hardware. Um processo-filho é criado quando determinado processo se duplica em memória e entrega à
sua cópia (seu filho) uma tarefa a ser executada.
Thread
Linhas de execução independentes que executam concorrentemente dentro de um processo. Quando funções
são executadas como threads dentro dele, isso é feito de forma concorrente, compartilhando objetos e variáveis.
Independentemente do momento em que uma solicitação é processada, o servidor, no final, envia
ao cliente uma mensagem contendo o resultado do processamento.
Quem utiliza esse tipo de arquitetura é a aplicação web.
Vamos analisar esse processo no exemplo a seguir.
• Você deseja fazer uma receita especial, descobrindo, em um site, aquele prato que gostaria de
preparar. Ao clicar em um link, ela aparecerá. Para isso acontecer, o servidor web (software
servidor do site de receitas) fica aguardando as conexões dos clientes.
• Quando você clica no link da receita, seu browser envia uma mensagem ao servidor indicando
qual delas você quer.
• Ele faz então o processamento solicitado e devolve ao browser o resultado disso (sua receita).
É muito importante compreender, de maneira prática, o funcionamento do processamento de
resultados.
Atenção!
O que determina se uma entidade é cliente ou servidor é a função desempenhada pelo software, e não o tipo
de equipamento.
É fundamental saber que servidores desempenham uma função muito importante; por isso, há
equipamentos apropriados para eles, com MTBF alto e recursos redundantes.
MTBF
Do inglês Mean Time Between Failures (ou período médio entre falhas), essa sigla indica o tempo esperado
até que ocorra uma falha no dispositivo. Quanto maior o MTBF, mais confiável um dispositivo é considerado.
O tipo de software instalado nesse equipamento é o responsável por determinar se ele é cliente ou
servidor.
Além disso, um processo pode atuar simultaneamente como cliente e servidor.
Voltemos ao exemplo da aplicação web:
• Quando seu browser solicita a receita ao servidor web, aquele está atuando como cliente e
este, como servidor.
• Mas esse processo nem sempre é simples; afinal, a aplicação que executa no servidor web
e realiza o processamento solicitado pode precisar de uma informação armazenada em um
banco de dados externo.
• Para obtê-la, esse servidor deve enviar uma mensagem ao servidor de banco de dados
solicitando aqueles de que necessita para continuar. Nesse momento, ele atua como um
cliente do servidor de banco de dados.
Fundamentos de Redes de Computadores
Marcio Quirino - 38
Arquitetura Peer-to-peer
Peer-to-peer
Enquanto existe uma distinção bem clara entre os processos que trocam informações na arquitetura
cliente-servidor, na peer-to-peer – também conhecida como arquitetura P2P –, todos os processos
envolvidos desempenham funções similares.
Em geral, nesses sistemas, os processos não são uma propriedade de corporações. Quase todos os
participantes (senão todos) são provenientes de usuários comuns executando seus programas em desktops
e notebooks.
Tanto o processamento quanto o armazenamento das informações são distribuídos entre os
hospedeiros. Isso lhes confere maior escalabilidade em comparação à arquitetura cliente-servidor.
Modelo de arquitetura peer-to-peer:
Na ordem, 1, 2 e 3, o fluxo de informações e como elas se organizam.
2. Serviços da camada de aplicação
Camada de Aplicação
Protocolos da Camada de Aplicação
Conforme estudamos, é na camada de aplicação que são executados os processos dos usuários.
Nos processos em que eles interagem, realiza-se o que seus usuários esperam. Porém, para que uma
aplicação possatrocar dados com outra, é necessário definir um protocolo de aplicação.
Mas o que é um protocolo da camada de aplicação?
Resposta
Um protocolo de camada de aplicação define como processos de uma aplicação, que funcionam em sistemas
finais diferentes, passam mensagens entre si. Em particular, um protocolo de camada de aplicação define (KUROSE;
ROSS, 2013):
• Os tipos de mensagens trocadas, por exemplo, de requisição e de resposta;
• A sintaxe dos vários tipos de mensagens, tais como os campos da mensagem e como os campos são
delineados;
• A semântica dos campos, isto é, o significado da informação nos campos;
Fundamentos de Redes de Computadores
Marcio Quirino - 39
• Regras para determinar quando e como um processo envia e responde mensagens.
Enquanto o algoritmo da camada de aplicação determina seu funcionamento no ambiente local, o
protocolo dela estipula tudo que é necessário para que aplicações em diferentes hospedeiros possam trocar
mensagens de maneira estruturada.
Os protocolos públicos da internet são especificados por RFCs. Desse modo, qualquer pessoa é
capaz de acessar as especificações de tais protocolos e implementar os próprios softwares.
Para que possamos compreender melhor o funcionamento das camadas de aplicação, analisaremos
aquela aplicada na Internet, afinal, trata-se de uma rede de abrangência mundial presente no dia a dia de
milhões de pessoas.
Camadas de Aplicação na Internet
Descreveremos a seguir o funcionamento de três importantes aplicações das camadas de aplicação
na Internet:
1. Serviço Web (Protocolo HTTP)
• Implementado pelo protocolo HTTP, que muita gente confunde com a própria Internet.
2. Serviço de Correio (Protocolos SMTP, IMAP e POP)
• Serviço do correio eletrônico.
3. Serviço de Nomes (DNS)
• Sistema de resolução de nomes DNS.
Serviço WEB
Protocolo HTTP
Definido pelas RFCs 1945 e 2616, o HTTP (Hypertext Transfer Protocol) é o protocolo padrão para
transferência de páginas web na internet.
Em 1991, a web foi idealizada no CERN como uma forma de fazer com que grupos de cientistas de
diferentes nacionalidades pudessem colaborar por meio da troca de informações baseadas em hipertextos.
Em dezembro daquele ano, foi realizada uma demonstração pública na conferência Hypertext 91.
Hypertext 91
“A conferência sobre hipertexto e hipermídia reúne acadêmicos, pesquisadores e profissionais de diversas
disciplinas para considerar a forma, o papel e o impacto do hipertexto e da hipermídia em um fórum de discussão de
ideias, design e uso de hipertexto e hipermídia em vários domínios. A conferência também considera o poder
transformador da hipermídia e sua capacidade de alterar a maneira como lemos, escrevemos, argumentamos,
trabalhamos, trocamos informações e nos divertimos.”
(ACM HYPERTEXT 91 CONFERENCE, 1991, tradução nossa)
Esse protocolo é constituído de duas etapas:
Etapa 1
Uma página web típica é um documento em formato HTML que pode conter imagens e outros tipos
de objetos, como vídeos, texto, som etc.
Para exibir determinada página web, o usuário digita no browser o endereço no qual ela se encontra
(ou clica em um hiperlink para essa página), indicando o local em que deve ser buscada. Para que uma
página seja transferida do servidor até o browser, um padrão deve ser seguido pelos softwares (cliente e
servidor). Ele especifica como o cliente solicita a página, e o servidor a transfere para o cliente.
Etapa 2
Fundamentos de Redes de Computadores
Marcio Quirino - 40
Esse padrão é o protocolo HTTP. A mensagem HTTP, por sua vez, é carregada pelo outro protocolo:
TCP.
Uma interação entre cliente e servidor se inicia quando o cliente envia uma requisição a um servidor.
A solicitação mais comum consiste em:
• Enviar um texto em formato ASCII.
• Iniciar com a palavra GET.
• Inserir página solicitada, protocolo utilizado na transferência e servidor a ser contatado.
Serviço de correio eletrônico
Correio Eletrônico (e-mail)
Trouxemos um exemplo para esclarecer essa questão:
Os primeiros sistemas de correio eletrônico foram concebidos como um simples sistema voltado para
a troca de arquivos. O destinatário da mensagem era especificado na primeira linha do texto.
Bastava então que o sistema procurasse ali para quem a mensagem deveria ser entregue. Porém,
com o passar do tempo, surgiram novas necessidades que dificilmente eram atendidas por ele.
Em 1982, ainda na era da ARPANET, foram publicadas as RFCs 821 e 822, definindo,
respectivamente, o protocolo de transmissão a ser utilizado e o formato da mensagem. Entretanto, apesar
de ambas resolverem o problema inicial a que se propunham, elas especificavam que todo o texto deveria
ser composto pelo código ASCII.
Tal restrição precisava ser resolvida para ser possível o envio de mensagens:
• Em alfabetos não latinos.
• Em idiomas sem alfabetos.
• Que não contêm textos multimídia, como, por exemplo, áudio e vídeo.
• Com caracteres acentuados.
Para resolver esses novos problemas, foi criada uma solução denominada Multipurpose Internet Mail
Extensions (MIME). O MIME continua utilizando o formato da RFC 822, mas passou a incluir uma estrutura
para o corpo da mensagem e definir regras para as mensagens especiais.
Essa estratégia fez com que tais mensagens pudessem ser enviadas graças à utilização de
protocolos e programas de correio eletrônico existentes, havendo somente a necessidade de alterar os
programas de envio e recebimento. Atualmente, o protocolo de transmissão simple mail transfer protocol
(SMTP) é definido pela RFC 5321, enquanto o formato da mensagem o é pela RFC 5322.
Como é construída a arquitetura do correio eletrônico?
A arquitetura do sistema de correio eletrônico é construída com base em dois agentes:
1. Do usuário
2. De transferência de mensagens
O agente do usuário é o programa que faz a interface do usuário com o sistema de correio eletrônico.
É por meio dele que o usuário:
• Faz o envio e o download de mensagens e anexos
• Lê as mensagens
• Realiza a pesquisa, o arquivamento e o descarte de mensagens
• Escreve suas mensagens
• Anexa arquivos
Fundamentos de Redes de Computadores
Marcio Quirino - 41
Já os agentes de transferência de mensagens são os responsáveis por fazer com que elas cheguem
até o destino. Eles são mais conhecidos como servidores de correio eletrônico.
Para entendermos melhor o assunto, analisaremos a seguir a comunicação entre Orlando e Maria.
Esse caso explicita uma arquitetura do sistema de correio eletrônico:
A partir da numeração presente na imagem anterior, continuaremos com o exemplo:
1. Orlando deseja enviar uma mensagem para Maria. Após a compor em seu agente do usuário,
ele solicita seu envio para ela.
2. A mensagem é enviada do agente do usuário de Orlando até seu agente de transferência de
mensagens, que a recebe, analisa e, em seguida, encaminha-a ao agente de Maria.
3. No destino, tal agente armazena as mensagens que chegam em um local conhecido como caixa
de mensagens (mailbox), onde cada usuário do sistema possui uma caixa própria.
4. Quando Maria deseja ler suas mensagens, o agente do usuário dela se liga a seu agente de
transferência de mensagens e verifica quais estão armazenadas em sua caixa de mensagens.
Para concluirmos esse estudo, analisaremos importantes características dos protocolos
apresentados:
SMTP
O protocolo responsável pela transferência da mensagem até seu destino é o SMTP. Definido pela
RFC 5321, ele utiliza o protocolo de transporte TCP, obtendo, assim, a garantia de que ela será entregue
no destino sem erros.
O servidor SMTP aguarda por conexões de seus clientes. Quando uma conexão for estabelecida, o
servidor inicia a conversação enviando uma linha de texto na qual se identifica e informa se está pronto (ou
não) para receber mensagens. Se ele não estiver, o cliente deverá encerrar a conexão e tentar novamente
mais tarde.Caso o servidor esteja acessível, o cliente precisa informar aos usuários a origem e o destino da
mensagem. Se o servidor considerar que se trata de uma transferência válida, sinalizará para que ele a
envie. Após o envio, o servidor confirma sua recepção e a conexão é encerrada.
Exemplo
Fundamentos de Redes de Computadores
Marcio Quirino - 42
Retomando o caso da comunicação anterior, podemos ver, na sequência apresentada adiante, a conversação
entre cliente e servidor para estabelecer a transferência da mensagem de orlando@origem.net para
maria@destino.net:
220 Protegido SMTP server
hello rayra.origem.net
250 Hello rayra.origem.net, pleased to meet you
mail from:
250 ... Sender ok
rcpt to: < maria@destino.net >
250 < maria@destino.net >... Recipient ok
data
354 Please start mail input.
subject: Teste de email
Primeira linha da mensagem de teste.
Segunda linha.
Quarta linha.
.
250 Mail queued for delivery.
De acordo com o exemplo de conversação entre cliente e servidor representado acima, é importante
observar que na “linha 1” o termo “Protegido” refere-se à identificação do servidor que recebe a mensagem,
enquanto na “linha 2” o endereço “rayra.origem.net” é o nome do hospedeiro que a envia.
Entrega final
Quando uma mensagem chega ao servidor do destinatário, ela deve ser armazenada em algum local
para que possa ser acessada mais tarde (assim que o destinatário estiver on-line). Esse local é a caixa de
mensagens.
Como o SMTP é responsável somente pela entrega da mensagem no servidor destino, isso requer
a utilização de outro protocolo de modo que o cliente possa buscar suas mensagens no mailbox.
POP3
A RFC 1939 estipula que o POP3 (Post Office Protocol version 3) tem a finalidade de fazer o
download das mensagens que se encontram no mailbox do usuário para o sistema local. Caso estejam
neste sistema, ele pode utilizá-las em qualquer momento, mesmo sem ter conexão com a internet.
O POP3 é implementado na maioria dos agentes de usuário. Basta configurar os parâmetros de
conta e senha do usuário para que o agente faça o download das mensagens. Ele permite o download
seletivo delas, assim como apagar as selecionadas no servidor.
IMAP
Assim como o POP3, o IMAP (Internet Message Access Protocol) permite que um usuário tenha
acesso às mensagens armazenadas em sua caixa. Porém, enquanto o POP3 é baseado na transferência
delas para o sistema local a fim de serem lidas, o IMAP consegue permitir sua leitura diretamente no servidor,
dispensando, portanto, a transferência para o sistema local.
Isso será particularmente útil para usuários que não utilizarem sempre o mesmo computador, pois
permite que suas mensagens sejam acessadas a partir de qualquer sistema. Definido pela RFC 3501, o
IMAP também fornece mecanismos para criar, excluir e manipular várias caixas de correio no servidor.
Atenção!
Um webmail não é um protocolo, mas uma forma oferecida por alguns sites da web a fim de que os usuários
possam ler suas mensagens de correio eletrônico.
Para usar o sistema, o usuário abre uma página web, na qual entra com uma identificação e uma senha. A
partir desse momento, ele tem acesso imediato às suas mensagens (de forma parecida com a de um cliente IMAP).
Fundamentos de Redes de Computadores
Marcio Quirino - 43
Serviço de Nomes
DNS
A comunicação entre hospedeiros na internet ocorre por meio de endereços binários de rede. Afinal,
para se comunicar com um destino, o hospedeiro precisa conhecer seu endereço.
Entretanto, é bem mais fácil trabalhar com nomes de hospedeiros do que com seus endereços de
rede. Além de ser muito difícil conhecer todos os endereços dos hospedeiros com os quais precisamos
trabalhar, precisaríamos ser notificados toda vez que algum deles mudasse de endereço.
Para resolver esse problema, foi desenvolvido o Domain Name System (DNS). Sua finalidade é a
criação de um sistema de nomes de forma hierárquica e baseada em domínios. Para acessar um
hospedeiro, portanto, basta conhecer seu nome de domínio e fazer uma consulta ao servidor DNS, que é
responsável por descobrir seu endereço.
Quais são os serviços oferecidos por ele?
Resposta
Além do mapeamento de nomes de hospedeiros em endereços IP, o DNS ainda provê:
• Identificação de servidores de correios eletrônicos;
• Apelidos para hospedeiros;
• Distribuição de carga;
• Descoberta de nomes de hospedeiros (mapeamento reverso).
Destacaremos nos tópicos a seguir dois importantes aspectos do DNS.
Espaços de Nomes
O espaço de nomes do DNS é dividido em domínios estruturados em níveis. Confira a organização
do primeiro nível:
Veja a seguir a diferença entre os domínios genéricos e de países, bem como alguns breves
exemplos desses domínios.
Domínios genéricos
Informam o tipo de organização ao qual o domínio está vinculado. Alguns exemplos são:
• .com = comercial;
• .edu = instituições educacionais;
• .int = algumas organizações internacionais;
• .org = organizações sem fins lucrativos.
Fundamentos de Redes de Computadores
Marcio Quirino - 44
Cada domínio tem seu nome definido pelo caminho entre ele e a raiz, enquanto seus componentes
são separados por pontos.
Domínios de países
Possuem uma entrada para cada país. Alguns exemplos são:
• .br = Brasil;
• .pt = Portugal;
• .jp = Japão;
• .ar = Argentina.
Cada domínio tem seu nome definido pelo caminho entre ele e a raiz, enquanto seus componentes
são separados por pontos.
Cada domínio controla como são criados seus subdomínios. Para a criação de um novo domínio, é
necessária apenas a permissão daquele no qual será incluído.
Não há qualquer restrição sobre a quantidade de subdomínios que podem ser criados dentro de um
domínio. Os nomes de domínio não fazem distinção entre letras maiúsculas e minúsculas.
EDU e edu, por exemplo, são o mesmo.
Os nomes de componentes podem ter até 63 caracteres, enquanto os de caminhos completos não
podem ultrapassar os 255.
O DNS é implementado sobre o protocolo UDP (User Datagram Protocol). Trata-se de um protocolo
do nível de transporte que não garante a entrega dos dados no destino. Dessa forma, cabe ao software DNS
garantir uma comunicação confiável.
Resolução de Nomes
O espaço de nomes do DNS é dividido em zonas. Independentes, elas possuem um servidor de
nomes principal e pelo menos um de nomes secundário:
Servidor de nomes principal
Configurado com as informações das zonas sob sua responsabilidade, ele faz o repasse delas para os
servidores de nomes secundários.
Servidor de nomes secundário
Fundamentos de Redes de Computadores
Marcio Quirino - 45
Responde pelas zonas caso haja uma falha do servidor de nomes principal.
As zonas do DNS definem o que um servidor deve resolver. Se ele for o responsável pela zona
pesquisada (servidor autoritativo), deverá fazer a resolução solicitada.
Três principais componentes do DNS
1. Registros de recursos armazenados em um banco de dados distribuído;
2. Servidores de nomes DNS responsáveis pela manutenção de zonas específicas;
3. Solucionadores DNS em execução nos clientes.
Solucionador X servidor DNS
Quando um solucionador solicita a resolução de um nome para o servidor DNS, pode acontecer o seguinte:
1. O servidor DNS é o responsável pela zona: O servidor resolve o nome solicitado e o devolve ao
solucionador;
2. O servidor DNS não é o responsável pela zona, mas possui a resolução em cache: O servidor envia a
resolução ao solucionador;
3. O servidor DNS não é o responsável pela zona nem possui a resolução em cache: O servidor precisa
realizar uma busca para resolver o nome.
Vamos entender como é feita a busca para a resolução do nome www.sus.gov.br:
A partir da numeração presente na imagem anterior, continuaremos com o exemplo:
A. Quando a aplicação do cliente solicita a resolução do nome www.sus.gov.br, o solucionador envia
a requisição parao servidor de nomes local, que é o responsável por tratá-la até obter a resposta
completa. Desse modo, ele não retorna respostas parciais para o solucionador. A esse tipo de
consulta damos o nome de consulta recursiva.
B. Para obter a resposta completa, o servidor de nomes precisa realizar uma série de iterações com
outros servidores. Caso nenhuma informação parcial esteja em seu cache, o servidor local
primeiramente precisa descobrir quem é o servidor responsável por resolver o domínio br.
C. Para isso, ele consulta um servidor de nomes raiz, que indica onde o servidor DNS de “br” pode
ser encontrado. O servidor local continua realizando consultas para resolver cada domínio parcial
até que haja uma resolução completa. Esse tipo de consulta é conhecido como consulta iterativa.
O excesso de consultas em um servidor DNS pode levar à sobrecarga.
Como evitar esse tipo de problema?
Fundamentos de Redes de Computadores
Marcio Quirino - 46
Resposta
Os servidores devem evitar responder consultas recursivas de clientes não autorizados. Para isso, os
administradores de servidores DNS precisam configurar no servidor aqueles autorizados a realizar consultas
recursivas. Dessa forma, se houver a consulta de um que não esteja, ela automaticamente será negada.
3. Elementos da camada de transporte
A camada de transporte na Internet
Mas para que serve a camada de transporte?
Executadas na camada de aplicação, as aplicações precisam de um modelo de rede no qual haja a
entrega de uma mensagem (ou um fluxo de dados) tanto em um ponto de rede quanto em sua aplicação par
no hospedeiro destino.
O objetivo da camada de transporte é, independentemente das redes físicas em uso, promover a
confiabilidade na transferência de dados entre os hospedeiros origem e destino.
Como veremos no decorrer do nosso estudo, essa camada deve oferecer um serviço de transferência
confiável, embora caiba à aplicação decidir sobre o seu uso.
Serviço de Transporte
Em uma arquitetura de camadas, podemos afirmar que o objetivo geral de uma camada é oferecer
serviços àquela imediatamente superior. No caso da camada de transporte, sua pretensão é oferecê-los à
de aplicação.
Atenção!
Lembre-se de que, neste estudo, estamos considerando a arquitetura TCP/IP, na qual não existem as camadas
de sessão e de apresentação.
Como um dos principais objetivos da camada de transporte é ofertar um serviço confiável e eficiente
a seus usuários, ela precisa oferecer, no mínimo, um serviço orientado à conexão e outro sem conexão.
Para atingir esse objetivo, a camada de transporte utiliza os serviços oferecidos pela de rede. No
serviço de transporte orientado à conexão (serviço confiável), existem três fases:
Por meio de um controle apurado da conexão, esse serviço de transporte consegue verificar quais
pacotes chegaram com erro ao destino e até mesmo aqueles que não foram enviados, sendo capaz de
retransmiti-los até que os dados estejam corretos.
Já no serviço de transporte sem conexão, não existe nenhum controle sobre os pacotes enviados.
Se um deles se perder ou chegar ao destino com erro, nada será feito para obter a sua recuperação.
Se a rede oferece um serviço com que garanta uma entrega sem erros, por que uma aplicação optaria
por um serviço sem essa garantia?
A resposta é simples: por questões de desempenho.
Fundamentos de Redes de Computadores
Marcio Quirino - 47
Pelo fato de ser preciso cuidar de cada pacote no serviço orientado à conexão, verificando-os e
retransmitindo-os em caso de necessidade, esse controle gera um overhead. Como nada disso é feito no
serviço sem conexão, os pacotes são entregues no destino de forma mais simples e rápida.
Aplicações como transferência de arquivos e e-mail exigem que seus dados cheguem ao destino
livres de erros. Dessa forma, elas utilizam um serviço orientado à conexão.
Ainda assim, em certas aplicações, o mais importante é a chegada a tempo de uma informação,
mesmo que ela contenha erros ou que a mensagem anterior tenha se perdido.
No serviço de telefonia em rede, por exemplo, o atraso na transmissão tem um efeito pior que um
pequeno ruído causado pela eventual perda de pacote.
Endereçamento dos processos
Quando seu programa solicita algo a um servidor, o sistema envia uma mensagem para ser entregue
à aplicação que executa em um hospedeiro remoto. Mas podem existir várias aplicações nele.
Como identificamos uma aplicação específica?
Surge neste momento o endereçamento no nível de transporte. Sua função é identificar em qual
aplicação determinada mensagem deve ser entregue. Afinal, toda mensagem do protocolo de transporte
carrega o endereço da aplicação.
Verificaremos agora a importância do endereçamento no nível de transporte. Afinal, é necessário
indicar em qual aplicação os dados devem ser entregues por meio de seu endereço (de transporte). Assim,
o hospedeiro destino consegue saber o destino deles.
Estudaremos mais adiante TCP e UDP, dois protocolos da camada de transporte da arquitetura
TCP/IP. Neles, o endereço de transporte é conhecido como porta. Vejamos o esquema a seguir:
A partir da numeração presente na imagem anterior, continuaremos com o exemplo:
1. Como a aplicação do hospedeiro 1 sabe em que endereço de transporte se encontra o servidor no 2?
Uma possibilidade é que:
• Ele esteja associado ao endereço há anos;
• Aos poucos, todos os usuários da rede tenham se acostumado com isso.
2. Neste modelo, os serviços possuem endereços estáveis que podem ser impressos e distribuídos aos
novos usuários quando eles se associam à rede.
Atenção!
Fundamentos de Redes de Computadores
Marcio Quirino - 48
Um esquema alternativo é utilizar um processo especial denominado servidor de nomes (name server) ou, às
vezes, servidor de diretórios (directory server). Para localizar o endereço de transporte correspondente a determinado
nome de serviço, uma aplicação estabelece uma conexão com o servidor de nomes. Em seguida, envia uma mensagem
especificando o nome do serviço, enquanto o servidor de nomes retorna o endereço.
Multiplexação e demultiplexação
A multiplexação e a demultiplexação fornecem um serviço de entrega, processo a processo para
aplicações executadas nos hospedeiros.
No hospedeiro destino, a camada de transporte recebe segmentos de dados da camada de rede,
tendo a responsabilidade de entregá-los ao processo de aplicação correto.
Um processo pode ter um ou mais endereços de transporte (conhecidos como portas na arquitetura
TCP/IP) pelos quais dados passam da rede para o processo – e vice-versa.
Desse modo, a camada de transporte do hospedeiro destino os entrega diretamente a uma porta.
Como o hospedeiro destino direciona à porta correta um segmento que chega?
Para essa finalidade, cada segmento da camada de transporte tem um conjunto de campos de
endereçamento no cabeçalho. No receptor, a camada de transporte examina esses campos para identificar
a porta receptora e direcionar o segmento a ela. A tarefa de entregar os dados contidos em um segmento
para a porta correta é denominada demultiplexação.
Já a multiplexação consiste no trabalho de, no hospedeiro origem:
• Reunir porções de dados provenientes de diferentes portas;
• Encapsular cada porção de dados com as informações de cabeçalho (as quais, mais tarde, serão
usadas na demultiplexação) para criar segmentos;
• Passar os segmentos para a camada de rede.
Vejamos um exemplo, vamos pensar no computador que Eduardo utiliza em suas atividades.
1. Navegando na web, ele acessa seu e-mail e faz o download de arquivos usando um programa
específico para isso.
a. De fato, o objetivo da multiplexação é possibilitar uma melhor utilização do meio de
comunicação ao permitir que ele seja compartilhado pelos diversos programas utilizados.
2. Eduardo utiliza a Internet, cujo protocolo de transporte é o TCP.
3. Todos os programas operados por ele(browser web, cliente de e-mail e programa de transferência de
arquivos) utilizam o TCP, que fará a transferência da informação até o destino.
a. A multiplexação, portanto, permite que vários programas possam utilizar o TCP ao mesmo
tempo, fazendo, assim, com que Eduardo possa ter tantos programas quanto queira ao
acessar a rede.
Como o TCP sabe quem é quem?
Para fazer uso dele, um processo deve se registrar em uma porta (endereço de transporte) do
protocolo TCP. Servidores possuem portas conhecidas, mas programas clientes se registram nas aleatórias.
Vamos supor que os programas de Eduardo se registraram nas seguintes portas:
• Browser web → 11278.
• Cliente de e-mail → 25786.
• Transferência de arquivos → 3709.
Fundamentos de Redes de Computadores
Marcio Quirino - 49
Dessa maneira, o TCP pode identificar cada uma. Quando o browser envia uma solicitação a um
servidor web, o TCP coloca na informação enviada o número de porta 11278. O servidor, portanto, já sabe
que deve responder-lhe enviando a resposta para essa porta.
Observemos, por fim, a multiplexação e a demultiplexação na prática:
Multiplexação
Ao receber mensagens das aplicações para envio, o protocolo de transporte as identifica por seus respectivos
números de porta, permitindo, assim, que várias aplicações possam utilizá-los ao mesmo tempo.
Demultiplexação
Quando recebe as mensagens do hospedeiro remoto para entregá-las em cada aplicação, o protocolo de
transporte verifica o número da porta destino que a mensagem carrega e a entrega para o processo registrado nela.
4. Serviços da camada de transporte
Protocolos de Transporte da Internet
Agora que já estudamos os serviços que um protocolo de transporte deve oferecer, apresentaremos
casos reais de protocolos utilizados em redes de computadores. Para isso, vamos utilizar como exemplo os
protocolos de transporte da internet: TCP e UDP.
Iniciaremos nosso estudo pelo UDP. Mesmo sendo um protocolo simples, ele se revela bastante
eficiente, principalmente no quesito agilidade de entrega, quando a aplicação requer uma entrega rápida.
Em seguida, vamos nos debruçar sobre o TCP. Protocolo de transporte completo, ele é capaz de
garantir a entrega de mensagens livres de erros, não importando a qualidade da rede em que ele trabalhe.
Por fim, apontaremos alguns exemplos de portas, um mecanismo que permite que as aplicações sejam
encontradas pela Internet.
Protocolo UDP
UDP
O protocolo de transporte mais simples que poderia existir seria aquele que, no envio, fosse limitado
a receber mensagens da camada de aplicação e as entregasse diretamente na de rede. Na recepção, ele,
por outro lado, receberia os pacotes da camada de rede e os entregaria na de aplicação. Esse tipo de
protocolo, em suma, não efetua nenhum trabalho para garantir a entrega das mensagens. Felizmente, o
UDP não se limita a isso.
Atenção!
O UDP é um protocolo rápido na entrega das mensagens no destino, realizando a multiplexação e
demultiplexação; além disso, ele oferece um mecanismo de verificação de erros nessa entrega.
Um processo pode ter um ou mais endereços de transporte (conhecidos como portas na arquitetura
TCP/IP) pelos quais dados passam da rede para o processo e vice-versa. Desse modo, a camada de
transporte do hospedeiro destino os entrega diretamente a uma porta.
A imagem a seguir ilustra os campos do cabeçalho de um segmento UDP:
Fundamentos de Redes de Computadores
Marcio Quirino - 50
Os campos porta origem e porta destino têm a função de identificar os processos nas máquinas
origem e destino. Quando uma aplicação A deseja enviar dados para uma B, o UDP coloca o número da
porta da aplicação origem (A) no campo “porta origem” e o de porta da aplicação (B) em “porta destino”.
Comentário
Quando a mensagem chega ao destino, o UDP pode entregá-la para a aplicação correta por meio do campo
“porta destino”. Já a “porta origem” é importante para a aplicação que recebe a mensagem, pois ela torna possível
saber o número da porta para a qual a resposta deve ser enviada. É por meio desses campos que o UDP realiza a
multiplexação e a demultiplexação.
O campo tamanho especifica o tamanho do segmento, incluindo o cabeçalho. Como se trata de um
campo de 16 bits, isso significa que o maior segmento UDP será de: 216 = 65.536 bytes (64 KBytes).
O campo soma de verificação tem a função de garantir que a mensagem chegue ao destino livre de
erros. Para tanto, o UDP calcula o CRC dela e o envia nesse campo. No destino, o CRC é novamente
calculado e comparado. Se ambos forem iguais, a mensagem é considerada livre de erros e entregue na
aplicação destino.
Saiba mais
Para saber mais sobre CRC e hash, consulte, respectivamente, os capítulos 5.2.3 e 8.3.1 da obra de Kurose e
Ross (2013).
Caso haja alguma divergência no valor do CRC, o segmento normalmente é descartado, porém
algumas implementações permitem – acompanhadas de uma mensagem de aviso – a entrega dele com
erro.
O UDP é um protocolo sem estado e não orientado à conexão. Descrito pela RFC 768, ele é projetado
tanto para pequenas transmissões de dados quanto para aqueles que não requerem um mecanismo de
transporte confiável.
Apesar de o UDP não oferecer uma confiabilidade nas transmissões, isso não significa que
aplicações que o utilizam não possam ter uma garantia de entrega.
Atenção!
Cabe ao programador cuidar dessa garantia no código da própria aplicação.
São protocolos de aplicações que utilizam o UDP:
• DNS
• SNMP
• TFTP
• RPC
Fundamentos de Redes de Computadores
Marcio Quirino - 51
Protocolo TCP
TCP
Enquanto o UDP é um protocolo de transporte simples, voltado para aplicações que não necessitam
de confiabilidade na transmissão, o TCP é um orientado à conexão, sendo indicado para aplicações que
precisam trocar uma grande quantidade de dados por meio de uma rede com múltiplos roteadores.
O TCP oferece um fluxo de bytes fim a fim confiável, podendo ser utilizado, inclusive, em redes de
baixa confiabilidade.
Na transmissão, ele aceita fluxos de dados da aplicação: dividindo-os em partes de, no máximo, 64
KBytes, ele envia cada uma em um datagrama IP distinto.
Datagrama IP
Também conhecido como “pacote”, um datagrama é uma porção de dados trocada por protocolos da camada
de rede. Ele contém dados e informações de cabeçalho suficientes para que eles possam seguir seu caminho até o
hospedeiro destino.
Quando os datagramas IP com dados TCP chegam ao hospedeiro destino, eles são, em seguida,
enviados à entidade TCP, que restaura o fluxo de dados original.
A camada de rede (protocolo IP) não oferece nenhuma garantia de que os datagramas serão
entregues corretamente. Portanto, cabe ao TCP administrar os temporizadores e retransmitir os datagramas
sempre que for necessário.
Os datagramas também podem chegar fora de ordem, cabendo a ele reorganizá-los em mensagens
na sequência correta. O TCP deve fornecer a confiabilidade que o IP não oferece.
O TCP é definido pelas seguintes RFCs:
• 793
• 2018
• 1122
• 2581
• 1323
Para concluirmos nossa última etapa de estudos, precisamos entender três aspectos fundamentais
da TCP:
• Modelo de serviço TCP
• Cabeçalho de segmento TCP
• Gerenciamento de conexão TCP
Modelo de serviço TCP
O serviço TCP é obtido quando tanto o transmissor quanto o receptor criam pontos terminais;
denominados portas, eles são identificados por um número de 16 bits. É necessário que uma conexão seja
explicitamente estabelecida entre um hospedeiro transmissor e um receptor.
Todas as conexões TCP são:
Full-duplex
Dados podem ser enviados e recebidos por ela simultaneamente. Uma linha telefônica é um exemplo
de sistema full-duplex, pois permite que dois interlocutores falem de forma simultânea. O walkie-talkie, no
entanto, é diferente: como tal equipamento está no modo de transmissão ou no de recepção, ele nunca
consegue transmitire receber ao mesmo tempo.
Fundamentos de Redes de Computadores
Marcio Quirino - 52
Ponto a ponto
Interliga diretamente dois hospedeiros, não permitindo a participação de um terceiro na conversação.
Exemplo: quando ligamos um smartphone a um computador por meio de seu cabo de dados, ocorre uma
ligação ponto a ponto, pois somente eles podem utilizar esse meio (cabo de dados) para a troca de
informações.
Do ponto de vista da aplicação, uma conexão consiste em dois fluxos independentes de direções
opostas. Uma conexão TCP é um fluxo de dados, e não de mensagens. Isso significa que as fronteiras das
mensagens não são preservadas de uma extremidade à outra. Quando uma aplicação passa dados para a
entidade TCP, ela pode enviá-los imediatamente ou armazená-los em um buffer de acordo com suas
necessidades.
As entidades TCP transmissoras e receptoras trocam dados na forma de segmentos. Um segmento
consiste em um cabeçalho fixo de 20 bytes mais uma parte opcional, seguido de zero ou mais bytes de
dados. O software TCP decide qual deve ser o tamanho dos segmentos, podendo:
• Acumular dados de várias escritas em um único segmento.
• Dividir os dados de uma única escrita em vários segmentos.
Cada segmento não pode ser superior à quantidade máxima de dados que um datagrama do
protocolo IP é capaz de carregar.
O protocolo básico utilizado pelas entidades TCP é o de janela deslizante. Quando envia um
segmento, o transmissor dispara um temporizador. Assim que ele chega ao destino, a entidade TCP
receptora retorna um segmento (com ou sem dados segundo as circunstâncias) com um número de
confirmação igual ao próximo número de sequência que ela espera receber. Se o temporizador do
transmissor expirar antes de a confirmação ser recebida, o segmento será retransmitido.
Vamos entender melhor o conceito de janela deslizante a seguir:
Janela deslizante
Para aumentar a eficiência da transmissão, foram elaborados protocolos que permitem o envio de vários
segmentos de dados mesmo sem a confirmação daqueles enviados anteriormente. O número máximo de dados que
podem ser enviados sem que tenha chegado uma confirmação define o tamanho da janela de transmissão.
Conforme eles vão sendo confirmados, o ponto inicial da janela de transmissão desloca-se no sentido do fluxo
de dados; por isso, ela é conhecida como “janela deslizante”. Protocolos que utilizam a janela de transmissão para o
envio de dados são conhecidos como protocolos de janela deslizante.
Para saber mais sobre janela deslizante, leia o capítulo 3.4.3 da obra de Kurose e Ross (2013).
Caso um segmento chegue ao destino e apresente erro em sua soma de verificação, o TCP
simplesmente o descarta. Como não haverá confirmação de recebimento nesse caso, a entidade TCP do
transmissor entenderá que o segmento não chegou ao destino e providenciará sua retransmissão.
Cabeçalho TCP
Cabeçalho de Segmento no TCP
Cada segmento TCP começa com um cabeçalho de formato fixo – podendo ser seguido por opções
de cabeçalho – de 20 bytes. Depois das opções, é possível haver 65.515 bytes de dados.
Válidos, os segmentos sem dados, em geral, são utilizados para confirmações e mensagens de
controle. A tabela seguir mostra um exemplo de segmento TCP:
Fundamentos de Redes de Computadores
Marcio Quirino - 53
A seguir, apresentaremos o destrinchamento de cada elemento mostrado na tabela acima.
1. Porta origem e porta destino
• Identificam, respectivamente, os processos origem e destino nos hospedeiros. Da mesma forma que
os campos porta origem e porta destino do UDP, eles permitem que aplicações compartilhem o uso do
protocolo de transporte (multiplexação e demultiplexação).
2. Número de sequência
• Indica o número de sequência do segmento, ou seja, em que posição (byte) dos dados ele deve ser
colocado.
3. Número de confirmação
• Especifica o próximo byte aguardado no fluxo contrário. Quando é enviado do processo A para o B,
indica o próximo byte que A espera receber no fluxo de B para A. Quando informa que espera receber
o byte N, fica implícito que todos os bytes até N-1 foram recebidos corretamente.
4. HLEN
• Abreviação de header length (tamanho do cabeçalho), o HLEN informa o tamanho do cabeçalho em
palavras de 32 bits.
5. Reservado
• Campo não utilizado. Qualquer valor preenchido nele será desconsiderado.
6. Campo de flags de 1 bit cada
• Um flag é um campo de 1 bit que pode possuir apenas os valores 0 e 1. Normalmente, 0 representa
“desligado” e 1, “ligado”.
• Exemplo: Quando o flag ACK do TCP está com o valor 1 (ligado), isso significa que o segmento TCP
carrega um número de confirmação. Se ele estiver com 0 (desligado), é a indicação de que TCP não
conta com tal número.
7. URG
• O urgent pointer (ou ponteiro urgente) é usado para apontar que o segmento carrega dados urgentes.
8. ACK
• O acknowledgement serve para indicar que o campo “número de confirmação” contém uma
confirmação. Se estiver com valor 0, este campo deve ser desconsiderado.
9. PSH
• O push se trata de uma solicitação ao receptor para entregar os dados à aplicação assim que eles
chegarem em vez de armazená-los em um buffer.
10. RST
• O reset é utilizado para reinicializar uma conexão que tenha ficado confusa devido a uma falha.
Também serve para rejeitar um segmento inválido ou recusar uma tentativa de conexão.
11. SYN
• Aplicado para estabelecer conexões.
Fundamentos de Redes de Computadores
Marcio Quirino - 54
12. FIN
• Usado para encerrar uma conexão.
13. Tamanho da janela
• O controle de fluxo no TCP é gerenciado por meio de uma janela deslizante de tamanho variável. O
campo “tamanho da janela” indica quantos bytes podem ser enviados a partir do byte confirmado.
14. Soma de verificação
• Utilizada para verificar se existem erros nos dados recebidos. Ela confere a validade tanto do cabeçalho
quanto dos dados.
15. Ponteiro urgente
• Válido somente se o flag URG estiver ativado, ele indica a porção de dados do campo de dados que
contém os que são urgentes.
16. Opções
• Projetadas como uma forma de oferecer recursos extras, ou seja, aqueles que não foram previstos
pelo cabeçalho comum.
17. Dados
• São os dados enviados pela camada superior. Neste campo, estão os que serão entregues na camada
superior do hospedeiro destino.
Conexão TCP
Gerenciamento de conexão TCP
As conexões estabelecidas no TCP utilizam um esquema conhecido como three way handshake.
Para estabelecer uma conexão, um lado aguarda passivamente, enquanto o outro solicita uma especificando
o endereço de rede (endereço IP) e a porta com a qual deseja se conectar.
É enviado então um segmento TCP com o bit SYN ativado e o bit ACK desativado. Quando ele chega
ao destino, a entidade TCP do destino verifica se existe um processo aguardando na porta destino. Se não
existir, ela enviará uma resposta com o bit RST ativado para rejeitar a conexão.
No entanto, se algum processo estiver na escuta dessa porta, a ele será entregue o segmento TCP
recebido. Em seguida, tal processo poderá aceitar ou rejeitar a conexão. Se ele aceitar, um segmento de
confirmação será retornado.
Tipos de portas
Portas conhecidas
Para que uma aplicação possa acessar outra remota, é necessário conhecer o endereço do
hospedeiro no qual ela se encontra. Ele serve, portanto, para que se consiga chegar ao hospedeiro remoto.
Como o protocolo de transporte do destino consegue saber para qual de suas aplicações deve
entregar a mensagem? A resposta é o conceito de porta, que é responsável por identificar a aplicação no
destino.
Como podemos identificar a porta utilizada pela aplicação?
Existem duas saídas que respondem a essa questão:
1. Empregar um sistema no qual a aplicação é registrada toda vez que inicializa para o cliente poder
consultar sua porta.
2. Usar sempre o mesmo endereço de forma que as aplicações a iniciarem a conversação saibam
de antemãocom qual endereço trocar mensagens.
Uma porta TCP ou UDP é identificada por um número inteiro de 16 bits.
Fundamentos de Redes de Computadores
Marcio Quirino - 55
Para que um pacote chegue à aplicação de destino, é necessário que o transmissor saiba, de alguma
forma, em que porta a aplicação está esperando a chegada do pacote. Para facilitar o trabalho dele, algumas
aplicações esperam seus pacotes sempre na mesma porta: a “porta conhecida” da aplicação.
A RFC 3232 define um repositório on-line no qual podem ser consultadas as portas conhecidas. No
momento da criação deste documento, o repositório on-line estava definido como service name and transport
protocol port number registry.
A tabela a seguir mostra as portas reservadas para algumas aplicações:
PORTA APLICAÇÃO
7 echo
20 ftp-data
21 ftp
22 ssh
23 telnet
25 smtp
53 domain
69 tftp
80 http
110 pop-3
119 nntp
161 snmp
162 snmp-trap
443 https
Tabela: Portas reservadas para algumas aplicações.
Considerações finais
Vimos que, na camada de aplicação, são executadas as aplicações que os usuários desejam
executar. Além disso, pontuamos que um desenvolvedor precisa se basear em um estilo de arquitetura para
desenvolver seu software de aplicação.
Quando houve a apresentação da camada de transporte, também pudemos observar que existem
dois serviços básicos: sem e com conexão. O desenvolvedor da aplicação precisa definir que tipo de serviço
mais se adequa a seu projeto.
Dessa forma, consideramos haver um forte relacionamento entre a camada de aplicação e a de
transporte, pois o tipo de serviço de transporte escolhido pelo desenvolvedor gera um impacto direto no
projeto da aplicação.
Referências
ACM HYPERTEXT 91 CONFERENCE. Proceedings. San Antonio: Interaction Design Foundation,
1991.
COMER, D. E. Redes de computadores e internet. 6. ed. Porto Alegre: Bookman Editora, 2016.
COULOURIS, G. et al. Sistemas distribuídos – conceitos e projeto. 5. ed. Porto Alegre: Bookman
Editora, 2013.
FOROUZAN, B. A. Comunicação de dados e redes de computadores. 4. ed. Porto Alegre: AMGH
Editora, 2010.
INTERNET ASSIGNED NUMBERS AUTHORITY. Protocols registries. Service name and transport
protocol port number registry. Califórnia: IANA, 2020.
KUROSE, J. F.; ROSS, K. W. Redes de computadores e a internet: uma abordagem top-down. 6. ed.
São Paulo: Pearson, 2013.
Fundamentos de Redes de Computadores
Marcio Quirino - 56
SILBERSCHATZ, A.; GALVIN, P. B. Sistemas operacionais – conceitos. 5. ed. São Paulo: Prentice
Hall, 2000.
SOARES, L. F. G. et al. Redes de computadores – das LANs, MANs e WANS às redes ATM. 2. ed.
Rio de Janeiro: Campus, 1995.
TANENBAUM, A. S.; WETHERALL, D. Redes de computadores. 5. ed. São Paulo: Pearson, 2011.
Explore +
Acesse e conheça mais detalhes sobre as RFCs: 1945, 2616, 821, 822, 5321, 5322, 3501, 768, 3232.
Fundamentos de Redes de Computadores
Marcio Quirino - 57
Camada de Rede
Introdução
Imagine que você está na sua casa e deseja ir para um evento com seus amigos. Você tem o
endereço do local de encontro, mas precisa determinar o caminho até chegar ao destino. Provavelmente
você utilizará algum aplicativo de GPS ou de transporte público que lhe fornecerá o caminho a percorrer ou
conduções a serem utilizadas.
Esse exemplo que você viu acima, algo rotineiro no nosso dia a dia, é o que a camada de rede faz.
Ela é responsável por determinar o caminho entre a máquina de origem e a máquina de destino, atividade
que chamamos de roteamento.
Mas ela não faz apenas isso! A camada de rede e seus respectivos protocolos também são
responsáveis por definir o formato do endereço a ser utilizado, definição de protocolos auxiliares para
sinalizar possíveis erros que ocorram no processo de roteamento, entre outras funções.
Vamos agora desvendar como a camada de rede executa essas funções, entendendo os princípios
de funcionamento e como os protocolos operam.
1. Camada OSI
Camada de rede
No Modelo OSI, a camada de rede situa-se logo acima da camada de enlace, utilizando os serviços
oferecidos por essa camada.
A camada de enlace tem como objetivo organizar a comunicação em nível de enlace, ou seja, ela
deve garantir que um hospedeiro consiga se comunicar com o hospedeiro vizinho.
O objetivo da camada de rede é, a partir desse serviço de comunicação lado a lado, promover uma
comunicação de âmbito global, permitindo que a informação que sai de um hospedeiro chegue a seu destino
não importando em qual local da rede esteja esse destino. Para isso, ele deve realizar duas grandes funções:
definir um esquema de endereçamento que seja aceito por toda a grande rede, e realizar o roteamento.
Hospedeiro
Fundamentos de Redes de Computadores
Marcio Quirino - 58
Também conhecido como host, é qualquer equipamento conectado à rede capaz de trocar informações com
outros equipamentos. Exemplos de hospedeiros são computadores, impressoras de rede, smartphones etc.
Roteamento
Processo de determinar o caminho a ser seguido por um pacote de dados em uma rede para que chegue ao
destino da melhor forma possível.
Conceitos básicos da camada de rede
A quantidade máxima de dados que podem ser trocados entre entidades da camada de rede possui
um tamanho limitado. Para que as mensagens maiores que o limite possam ser trocadas entre aplicações,
a camada de transporte deverá segmentar tais mensagens em partes menores e colocar cada segmento
em uma unidade de dados da camada de rede.
Essa unidade de dados trocada entre entidades da camada de rede recebe a denominação de
pacote.
Pacote
Porção de dados trocada por protocolos da camada de rede contendo dados mais informações de cabeçalho
suficientes para que possam seguir seu caminho até o hospedeiro destino.
Comentário
É um trabalho diferente daquele realizado pela camada de enlace, que necessita apenas entregar a informação
na outra extremidade do meio de transmissão.
A camada de enlace de dados cuida apenas da comunicação de um hospedeiro com outro que esteja
diretamente conectado a ele por intermédio de um meio de comunicação. Já a camada de rede vai encaminhar os
pacotes permitindo que ocorra a comunicação fim a fim.
Para conseguir realizar essa comunicação, a camada de rede deve:
• Conhecer toda a topologia da sub-rede de comunicação.
• Escolher rotas que evitem sobrecarregar partes da rede enquanto outras ficam ociosas.
• Compatibilizar a comunicação entre os diferentes tipos de sub-redes existentes.
Topologia
Layout da rede de computadores.
Sub-rede
Subdivisão de uma grande rede de computadores. Os roteadores que fazem parte de uma sub-rede devem
utilizar o mesmo software de roteamento para que possam trocar informações sobre rotas.
Na origem, a camada de rede cria um pacote com dados provenientes da camada superior e
acrescenta a ele um cabeçalho com informações de endereço origem e destino. Em sistemas com mais de
uma interface de rede deve também consultar suas tabelas de repasse para determinar por qual interface o
pacote deve ser encaminhado.
Nos hospedeiros intermediários, a camada de rede deve receber o pacote, consultar suas tabelas de
roteamento e enviar o pacote pela interface de rede apropriada.
No destino, a camada de rede deve verificar se o endereço destino do pacote é o mesmo do
hospedeiro e, caso seja, entregar o pacote à camada superior (camada de transporte).
Comutação na camada de rede
Comutação de pacotes store and forward
Neste momento você deve estar se perguntando como o pacote vai da origem até o destino.
Diretamente? Saltando de hospedeiro em hospedeiro?
Fundamentos de Redes de Computadores
Marcio Quirino - 59
Lembre-se de que, no Modelo OSI, uma camada utiliza os serviços da camada imediatamente inferior
para realizar seus trabalhos e oferecer serviços para a camada superior. Assim, um hospedeiro com um
pacote a enviar o transmitepara o roteador mais próximo. O pacote é então totalmente recebido pelo
roteador e, após ter chegado por completo, é conferido. Em seguida, ele é encaminhado para o próximo
roteador ao longo do caminho até alcançar o hospedeiro de destino, onde é entregue. Esse mecanismo que
tem como base armazenar totalmente o pacote antes de enviá-lo ao próximo hospedeiro é conhecido como
comutação de pacotes store and forward.
Confira esse passo a passo na imagem abaixo:
Entenda as diferenças entre repasse e roteamento:
1. Repasse
• Um roteador é um equipamento que possui, normalmente, várias interfaces de rede. Quando
um pacote chega por uma de suas interfaces, o roteador deve verificar o destino desse pacote
e decidir por qual de suas linhas o pacote deve ser enviado para que consiga chegar ao
destino. Chamamos de repasse o trabalho (local) de escolher por qual das interfaces
deve seguir o pacote que chega.
2. Roteamento
• Cabe à camada de rede decidir o caminho a ser seguido por um pacote para que este chegue
ao seu destino, fazendo o melhor caminho possível. Para isso, os roteadores devem trocar
informações entre si sobre o estado da rede, de forma a decidirem o melhor caminho para
cada destino. Chamamos de roteamento o trabalho (global) de escolher os caminhos
por uma rede para que o repasse possa ser realizado.
• O algoritmo que realiza esta tarefa é conhecido como algoritmo de roteamento.
O repasse refere-se a uma ação realizada localmente por um roteador sobre um pacote que chega,
enquanto no roteamento há uma ação global envolvendo todos os roteadores de uma sub-rede para a
escolha do melhor caminho.
Você já deve ter percebido que existe uma relação bastante próxima entre repasse e roteamento,
mas como é essa relação?
Vamos iniciar pelos algoritmos de roteamento. Para escolher a melhor rota, um conjunto de
roteadores precisa trocar informações sobre a situação da rede em sua vizinhança, de modo que os
roteadores do conjunto possam decidir sobre o caminho a ser seguido em cada situação. Diferentes
algoritmos com diferentes propriedades podem ser utilizados nessa tarefa.
Fundamentos de Redes de Computadores
Marcio Quirino - 60
Como funcionam esses algoritmos e de que forma eles se diferenciam, estudaremos adiante. Por
ora, o importante é que existem algoritmos capazes de encontrar o melhor caminho em uma rede.
O mesmo algoritmo é então executado nos roteadores da sub-rede, trocando informações de tráfego
e calculando a melhor rota. Uma vez calculadas as rotas para cada destino, os algoritmos de roteamento
criam as chamadas tabelas de repasse, as quais são indexadas pelos possíveis endereços destino de um
pacote e indicam a interface pela qual o pacote deve ser enviado com base em seu endereço destino.
Ao chegar um pacote em um roteador, e sendo necessário fazer seu repasse, o processo
responsável por essa função verifica o endereço de destino do pacote, consulta a tabela de repasse
utilizando o endereço destino como índice e obtém a interface pela qual o pacote deve seguir.
Resumidamente, as tabelas de repasse são montadas pelos algoritmos de roteamento e consultadas pelo
processo de repasse para determinar por qual interface deve seguir um pacote que chega.
Circuitos virtuais e datagramas
Há basicamente duas formas para a organização da camada de rede de uma sub-rede: uma
utilizando conexões e a outra trabalhando sem conexão. Na camada de rede, um serviço orientado à
conexão costuma ser chamado de circuito virtual, enquanto um serviço que realiza a entrega de pacotes
independentes, sem conexão, costuma ser chamado de serviço de datagramas.
A camada de transporte também oferece serviços com conexão e sem conexão, mas estes se
diferem dos serviços oferecidos pela camada de rede.
Comentário
Pensando na arquitetura TCP/IP, a camada cliente da camada de transporte é a camada de aplicação, portanto,
o serviço de transporte com conexão é um serviço aplicação a aplicação, ou seja, uma conexão de transporte conecta
diretamente duas aplicações. Já a camada de rede é voltada para a interligação de hospedeiros, logo, uma conexão
da camada de rede é uma conexão hospedeiro a hospedeiro.
Encaminhamento por circuitos virtuais
Circuitos virtuais
A ideia dos circuitos virtuais é evitar a necessidade de escolher uma nova rota para cada pacote que
passa, sendo por isso utilizado em sub-redes com serviço de rede orientado à conexão. Ao se estabelecer
uma conexão, é criada uma rota entre o hospedeiro origem e o hospedeiro destino como parte do
estabelecimento da conexão. Essa rota é utilizada por todo o tráfego que flui pela conexão entre os
hospedeiros. Quando a conexão é liberada, o circuito virtual deixa de existir.
Um circuito virtual (CV) consiste em:
• Um caminho definido entre origem e destino;
• Números de identificação de circuitos virtuais, um para cada enlace ao longo do caminho;
• Registros em tabelas de comutadores ao longo do caminho.
Considere a rede da figura a seguir. Os números em cada extremidade dos enlaces representam o
número da interface do comutador naquele enlace.
Fundamentos de Redes de Computadores
Marcio Quirino - 61
O hospedeiro H1 solicita à rede que estabeleça um circuito virtual até o hospedeiro H2, e a rede
estabelece o caminho H1-A-B-E-F-H2, atribuindo respectivamente os seguintes circuitos virtuais: 23, 8, 37,
22, e 16 (numerações aleatórias).
Com base nessas informações são montadas as seguintes tabelas de repasse em cada um dos
comutadores ao longo do caminho:
Sempre que um novo circuito virtual (CV) é estabelecido através de um comutador, um registro para
este CV é adicionado à tabela do comutador. De forma análoga, sempre que um CV termina, suas
informações são removidas das tabelas do comutador ao longo do percurso.
A utilização de diferentes identificadores para os CVs, ao longo do caminho, simplifica o trabalho,
uma vez que, a utilização de um mesmo CV durante todo o trajeto iria requerer a concordância de todos os
comutadores participantes da rota. O importante para que os comutadores possam definir o caminho é
que o número de saída do CV de um comutador seja o mesmo número de entrada do CV do
comutador seguinte.
No exemplo, o circuito estabelecido entre os comutadores E e F possui CV 22 (o CV 22 sai pela linha
3 de E e entra como CV 22 pela linha 1 de F). Da mesma forma, o CV entre A e B possui valor 8 e o CV
entre B e E possui valor 37. Reveja as figuras com os circuitos em destaque.
Ao estabelecer um caminho dessa forma, é como se fosse colocado um circuito físico (como um cabo
de rede) ligando diretamente os hospedeiros, por isso o nome circuito virtual.
Outra característica da rede de circuitos virtuais é que, como os pacotes seguem sempre pelo mesmo
caminho, eles chegam ao destino na mesma ordem em que saíram da origem.
Existem 3 fases que podem ser identificadas em um circuito virtual:
1. Estabelecimento do CV
Fundamentos de Redes de Computadores
Marcio Quirino - 62
• Nesta fase, os comutadores estabelecem os parâmetros da conexão e o caminho pelo qual
os pacotes irão seguir durante a fase de transferência de dados.
2. Transferência de dados
• Fase seguinte ao estabelecimento do CV, durante a qual ocorre a transferência de pacotes
desde a origem até o destino. Todos os pacotes seguem pelo caminho definido durante a
fase de estabelecimento do CV.
3. Encerramento do CV
• Fase na qual o circuito virtual é desfeito. Necessária para que os comutadores sejam avisados
do encerramento e possam retirar de suas tabelas as informações sobre o circuito virtual
encerrado.
Encaminhamento por datagramas
Datagramas
Em uma sub-rede de datagramas, nenhuma rota é previamente definida. Ao ser transmitido, um
pacote passa por uma série de roteadores, e cada roteador, ao longo do caminho, utiliza o endereço destino
para determinar por qual interface de saída enviaro pacote (realiza o repasse).
Como não há estabelecimento de circuitos para as transferências, os roteadores, ao longo do
caminho, deverão manter tabelas de repasse baseadas no endereço destino do pacote, qualquer que seja
o destino. Significa dizer que, se as tabelas de repasse forem alteradas durante uma transferência, os
datagramas de uma mensagem podem fazer caminhos diferentes até o destino.
Exemplo
Suponha que você esteja assistindo a um filme pela rede e que o vídeo seja enviado até seu equipamento por
uma sub-rede de datagramas. Parece real? Sim, é real. Atualmente, assistimos a filmes pela Internet e ela é uma rede
de datagramas.
O filme possui cerca de 90 minutos. Será que as rotas de uma rede mudam durante 90 minutos? Sim, essa é
uma possibilidade. Isso significa que, em determinado momento, as tabelas de repasse mudarão, então, os datagramas
passarão a fazer outro caminho até chegarem em seu equipamento. Assim, vemos que, ao contrário dos circuitos
virtuais, os pacotes em uma rede de datagramas não seguem sempre pelo mesmo caminho.
Por que a rota é alterada?
Uma possibilidade é que os pacotes estavam passando por uma região que ficou sobrecarregada, e
os roteadores descobriram outra região com melhores condições de tráfego, preferindo enviar os pacotes
por essa nova região. Uma consequência disso é que os primeiros pacotes que estão seguindo pelo novo
caminho podem chegar ao destino antes de alguns dos pacotes que seguiram pelo caminho antigo.
Assim sendo, existe a possibilidade de que alguns pacotes cheguem ao destino fora de ordem.
Os problemas que podem acontecer em uma rede de datagramas são:
• A perda de datagramas
• Datagramas chegarem com erro
• Datagramas chegarem fora de ordem
• Datagramas serem duplicados
Endereçamento na camada de rede
Endereçamento
Alguns tipos de rede permitem que sejam criados vários endereços por hospedeiro, enquanto outros
tipos de rede permitem a utilização de apenas um por hospedeiro. Porém, qualquer que seja o tipo de rede,
o endereçamento deve ser completamente independente do endereçamento dos protocolos de outras
Fundamentos de Redes de Computadores
Marcio Quirino - 63
camadas. A camada de rede tem a função de unificar toda a comunicação da rede, portanto ela deve definir
uma forma de identificação dos hospedeiros que seja aceita por toda a rede.
Basicamente dois tipos de endereçamento são possíveis:
1. Endereçamento hierárquico
• No endereçamento hierárquico, o endereço de uma entidade é constituído de acordo com os
endereços correspondentes aos vários níveis da hierarquia da qual faz parte. O endereço
hierárquico é o método sugerido pelo ITU-T para interconexão de redes públicas de telefonia.
Nessa recomendação, os endereços são números decimais formados por três campos: um
código do país, um código para a rede, e um campo para o endereçamento dentro da rede.
Observação:
Setor da ITU (International Telecommunication Union) responsável pela elaboração de padrões e normas
consensuais sobre tecnologia que garantam o funcionamento, a interoperabilidade e a integração dos sistemas de
comunicação em todo o mundo, com a finalidade de facilitar o acesso das indústrias aos diferentes mercados de cada
país.
2. Endereçamento horizontal
• No endereçamento horizontal, os endereços não têm relação alguma com o lugar onde estão
as entidades dentro da rede. Um exemplo comum desse tipo de endereçamento são os
endereços utilizados nas placas de rede ethernet, que são gravados durante seu processo
de fabricação e serão sempre os mesmos, não importando em qual lugar do mundo a placa
seja utilizada.
Observação:
Placa de rede ethernet é um dispositivo de hardware que permite a ligação de um computador a uma rede de
computadores padrão ethernet.
Considerações sobre o roteamento indicam vantagens na utilização de endereçamento hierárquico,
uma vez que este contém informações explícitas sobre o local onde se localizam as entidades. Já o
endereçamento horizontal permite uma mobilidade das entidades sem reconfiguração.
Apesar do endereçamento universal ser realizado pela camada de rede, o envio dos pacotes é
realizado por camada inferior que possui seu próprio esquema de endereçamento específico da tecnologia
da rede física em uso. Ocorre, portanto, um mapeamento entre os endereços físicos e de rede, e essa tarefa
deve ser realizada pela camada de rede. Existem duas técnicas usuais para essa conversão: resolução por
meio de mapeamento direto e resolução por meio de vinculação dinâmica.
1. Mapeamento direto
• A estação sabe como computar o endereço de enlace por intermédio de uma função que
mapeia o endereço de rede no endereço de enlace. Por exemplo, o endereçamento
hierárquico onde o campo de endereçamento dentro da rede corresponda exatamente ao
endereço físico da estação. Conversões mais complexas podem ser realizadas por meio de
tabelas de conversão e técnicas de acesso rápido a essas tabelas.
2. Vinculação dinâmica
• Para evitar o uso de tabelas de conversão, uma vinculação dinâmica pode ser efetuada entre
o endereço de rede e o físico por intermédio da utilização de algum protocolo de resolução.
A exemplo, temos o protocolo ARP, o qual estudaremos mais adiante.
2. Configurações de rede IP
Fundamentos de Redes de Computadores
Marcio Quirino - 64
A camada de rede na Internet
Na camada de rede, a Internet pode ser vista como um conjunto de sub-redes ou Sistemas
Autônomos (SA) conectados entre si. Não existe uma estrutura real, mas diversos backbones que interligam
redes regionais, que por sua vez estão conectadas às redes locais.
Backbones
Linhas de comunicação de dados que formam a espinha dorsal de um sistema de comunicação, provendo meio
de comunicação entre redes de computadores. Normalmente, possuem tecnologia com elevado desempenho para
transmissão de dados.
O protocolo que mantém a Internet unida é o protocolo de camada de rede IP (Internet Protocol). A
tarefa do IP é fornecer a melhor forma de transportar datagramas da origem para o destino,
independentemente de esses hospedeiros estarem na mesma rede ou em outras redes intermediárias.
Imagine que você está solicitando a transferência de dados de seu computador para um hospedeiro
remoto (está fazendo o upload do arquivo). A camada de transporte de seu computador receberá o fluxo de
dados referente à transferência de seu arquivo. Como provavelmente esse fluxo é muito grande para caber
em um único pacote IP, ele será quebrado em partes menores pela camada de transporte e cada parte desta
será entregue para a camada de rede (cada um será colocado em um datagrama IP).
Esses datagramas serão transmitidos pela Internet, podendo ainda serem fragmentados ao longo do
caminho. Quando todos os fragmentos de um datagrama chegam ao destino, o datagrama original é
remontado pela camada de rede do destino sendo entregue à camada de transporte que recriará o fluxo
original para o processo de recepção.
Protocolo de endereços IPv4
Protocolo IP versão 4 (IPv4)
Na Internet, a camada de rede trata cada pacote de forma independente, não tendo qualquer relação
com pacotes anteriores ou posteriores. Pacotes com mesma origem e destino podem, inclusive, passar por
diferentes rotas.
O IPv4 é definido pela RFC 791, sendo atualizado pelas RFC 1349, RFC 2474 e RFC 6864.
RCF
Request for Comments são documentos públicos mantidos pela Internet Engineering Task Force.
Datagramas
São unidades básicas de informações que passam pela Internet. Dentro do datagrama está seu
cabeçalho, que contém informações sobre sua origem e seu destino, assim como informações sobre para
qual protocolo o IP deverá passar os dados. Também fazem parte dele os dados que devem ser entregues
à camada de transporte no destino.
Fundamentos de Redes de Computadores
Marcio Quirino - 65
Fragmentos
São partes de um datagrama muito grandeque foi quebrado em unidades menores. Como os dados
precisam caber dentro da porção de dados da rede física, pode ser que seja necessário fragmentar os dados
da aplicação para que eles possam ser transportados pela rede. O tamanho do fragmento é determinado
pelo MTU da interface de hardware da rede. O IPv4 especifica que a fragmentação ocorre em cada roteador
baseado na MTU da interface pela qual o datagrama IP deve passar.
MTU
Maximum Transmission Unit. Refere-se à quantidade máxima de dados que pode ser enviada em uma
mensagem de um protocolo de rede.
Quando um datagrama é quebrado em fragmentos, cada um desses fragmentos passa a ser um
novo datagrama que está passando pela rede.
Um datagrama IP consiste em duas partes: cabeçalho e dados. O cabeçalho tem uma parte fixa de
20 bytes e uma parte opcional de tamanho variável.
Endereço IPv4
Endereçamento IPv4
Um hospedeiro normalmente possui apenas uma interface com a rede de computadores. Quando o
protocolo IP de um hospedeiro quer enviar um datagrama, ele o faz por meio dessa interface.
A interface de rede é a fronteira entre o hospedeiro e a rede física.
Fundamentos de Redes de Computadores
Marcio Quirino - 66
Considere, neste momento, um roteador e suas interfaces. Como a tarefa de um roteador é receber
um datagrama por uma interface e repassá-lo por outra interface, ele estará ligado a duas ou mais redes
físicas. A fronteira entre o roteador e qualquer uma dessas redes também é denominada uma interface.
Assim, um roteador tem múltiplas interfaces, uma para cada uma das redes às quais está conectado.
Atenção!
Independentemente de quantas interfaces tenha um hospedeiro, o IP exige que cada uma delas tenha seu
próprio endereço IP de modo que este, tecnicamente, esteja associado a uma interface, e não ao hospedeiro que a
contém.
Cada endereço IP tem comprimento de 32 bits (4 bytes), havendo um total de 232 endereços
possíveis (aproximadamente 4 bilhões de endereços IP), os quais são escritos em notação decimal separada
por pontos, na qual cada byte do endereço é escrito em sua forma decimal e separado dos outros bytes por
um ponto.
Considere o endereço IP 192.168.23.67. O 192 é o número decimal equivalente aos primeiros 8 bits
do endereço; o 168 é o decimal equivalente ao segundo conjunto de 8 bits do endereço, e assim por diante.
Em notação binária, o endereço 192.168.23.67 fica:
11000000 10101000 00010111 01000011
Cada interface em cada hospedeiro da Internet precisa de um endereço IP globalmente exclusivo,
ou seja, não pode haver duas interfaces com o mesmo endereço IP na Internet válida.
A figura, a seguir, fornece um exemplo de endereçamento IP e interfaces em que um roteador com
2 interfaces é usado para interconectar os 6 hospedeiros. Observando os endereços dos hospedeiros da
esquerda e da interface do roteador que os liga, percebe-se que todos possuem endereço IP na forma
192.168.0.x, enquanto os hospedeiros e a interface do roteador localizados na parte direita da figura
possuem endereço na forma 192.168.1.x. Diz-se que cada uma dessas redes que interconecta 3
hospedeiros mais a interface do roteador formam uma sub-rede.
Como pode-se observar, no exemplo, os 3 campos mais à esquerda do endereço (formados por 24
bits) nunca mudam dentro da sub-rede. Desse modo, temos à esquerda a sub-rede 192.168.0.0/24 e à
direita a sub-rede 192.168.1.0/24. O “/24” indica que os 24 bits mais à esquerda do endereço definem a sub-
rede.
Fundamentos de Redes de Computadores
Marcio Quirino - 67
A estratégia de atribuição de endereços da Internet é conhecida como Roteamento Interdomínio sem
Classes (Classless Inter-domain Routing – CIDR).
O CIDR generaliza a noção de endereçamento de sub-rede. O endereço IP de 32 bits é dividido em
2 partes sendo representado por A.B.C.D/X, em que X indica o número de bits existentes na primeira parte
do endereço.
Os X bits mais significativos de um endereço na forma A.B.C.D/X constituem a parcela da rede do
endereço IP e normalmente são denominados prefixo (ou prefixo de rede). Esse prefixo determina qual parte
do endereço IP identifica a rede. Uma organização normalmente recebe um bloco de endereços contíguos,
ou seja, uma faixa de endereços com um prefixo comum. Assim, os endereços IP de hospedeiros dentro da
organização compartilharão o prefixo comum, o que reduz consideravelmente o tamanho da tabela de
repasse nos roteadores, visto que um único registro da forma A.B.C.D/X será suficiente para transmitir
pacotes partindo de fora para qualquer destino dentro da organização.
Os últimos (32-X) bits de um endereço podem ser considerados como os bits que distinguem os
hospedeiros dentro da sub-rede. Esses bits menos significativos podem (ou não) ter uma estrutura adicional
de sub-rede tal como aquela discutida anteriormente. Por exemplo, suponha que os primeiros 24 bits do
endereço A.B.C.D/24 especificam o prefixo da rede da organização e são comuns aos endereços IP de
todos os hospedeiros da organização. Os 8 bits restantes, então, identificam os hospedeiros específicos da
organização.
A estrutura interna da organização poderia ser tal que esses 8 bits mais à direita seriam usados para
criar uma sub-rede dentro da organização, como discutido. Por exemplo, A.B.C.D/28 poderia se referir a
uma sub-rede específica dentro da organização.
Anteriormente ao CIDR, os bits reservados para indicar a parte da sub-rede possuíam exatamente
8, 16 ou 24 bits. Esse esquema é conhecido como endereçamento de classes cheias, e as sub-redes com
endereços de sub-rede de 8, 16 e 24 eram conhecidas, respectivamente, como redes de classe A, B e C.
Tal divisão em classes cheias se mostrou problemática para suportar o rápido crescimento da quantidade
de organizações com sub-redes de pequeno e médio portes.
Uma sub-rede de classe C (/24) poderia acomodar apenas 28 - 2 = 254 hospedeiros (dois dos 28 =
256 endereços são reservados para uso especial). Essa sub-rede é muito pequena para muitas
organizações, por outro lado, uma sub-rede de classe B (/16), que suporta até 216 - 2 = 65.534 hospedeiros,
seria demasiadamente grande. Com o endereçamento de classes cheias, uma organização com 2.000
hospedeiros recebia um endereço de sub-rede de classe B (/16), o que resultava no rápido esgotamento do
espaço de endereços de classe B e na má utilização do espaço de endereço alocado.
Os 2 endereços especiais de uma sub-rede que não podem ser utilizados são o primeiro e o último
endereço da faixa de endereços da organização. O primeiro é reservado para o endereço de rede, que
identifica a rede como um todo. Nele, todos os bits que não fazem parte do prefixo de rede recebem o valor
0.
Já o último endereço é utilizado como endereço de difusão (broadcast). Roteadores não repassam
mensagens de difusão, portando, em uma rede IP a difusão fica limitada ao segmento de rede limitado pelo
roteador. No endereço de difusão, todos os bits que não fazem parte do prefixo de rede recebem o valor 1.
Difusão
Endereço lógico utilizado em redes de computadores que deve ser colocado no campo destino de uma
mensagem quando se deseja que os dados sejam entregues a todos os hospedeiros da sub-rede.
O 255.255.255.255 é um endereço especial de difusão em que a mensagem é entregue a todos os
demais hospedeiros que estão na mesma sub-rede do hospedeiro que enviou a mensagem.
No endereçamento de classes cheias, o número total de redes e hospedeiros para cada classe é:
Fundamentos de Redes de Computadores
Marcio Quirino - 68
A. Classe A
126 redes com aproximadamente 16 milhões de hospedeiros cada.
B. Classe B
16.384 redes com até 64K hospedeiros cada.
C. Classe C
Cerca de 2 milhões de redes com até 254 hospedeiros cada.
D. Classe D
Cerca de 268 milhões de grupos multicast.
A distribuição de endereços IP é controlada pela ICANN (Internet Corporation for Assigned Namesand Numbers).
Sub-Redes
O mundo exterior a uma organização enxerga sua rede como sendo única, e nenhuma informação
sobre sua estrutura interna é necessária. Porém, sem a utilização de sub-redes, o espaço de endereçamento
pode se tornar muito ineficiente.
A fim de tornar mais eficiente a utilização da rede, é comum sua divisão em várias sub-redes. O
mecanismo que permite tal divisão é conhecido como máscara de rede.
Assim como um endereço IP, uma máscara de rede possui 32 bits divididos em 4 campos com 8 bits
cada, seguindo o padrão:
• Bits da rede – bit 1
• Bits da sub-rede – bit 1
• Bits do hospedeiro – bit 0
Os bits da sub-rede são utilizados para especificar quais bits no campo do hospedeiro são usados
para especificar as sub-redes de uma rede.
A máscara padrão (default) para cada classe é dada por:
Classe Decimal Notação IDR Hexadecimal
A 255.0.0.0 /8 FF:00:00:00
Fundamentos de Redes de Computadores
Marcio Quirino - 69
B 255.255.0.0 /16 FF:FF:00:00
C 255.255.255.0 /24 FF:FF:FF:00
A máscara padrão (default) para cada classe.
Veja o exemplo abaixo:
Ao se dividir uma rede em sub-redes, deve-se alocar os bits para a sub-rede a partir dos bits de mais
alta ordem (bits mais à esquerda) do campo do hospedeiro. A tabela a seguir mostra os valores usados no
campo do hospedeiro quando se divide uma rede em sub-redes.
128 64 32 16 8 4 2 1
1 0 0 0 0 0 0 0 128
1 1 0 0 0 0 0 0 192
1 1 1 0 0 0 0 0 224
1 1 1 1 0 0 0 0 240
1 1 1 1 1 0 0 0 248
1 1 1 1 1 1 0 0 252
1 1 1 1 1 1 1 0 254
Campo do hospedeiro.
Uma rede pode ser dividida em diversas partes para uso interno, continuando a ser vista como uma
única rede externamente. Essas partes são as sub-redes.
Existem diversas razões para se dividir uma rede em sub-redes. Algumas destas razões são:
• Isolar o tráfego de uma sub-rede, reduzindo assim o tráfego total da rede.
• Proteger ou limitar o acesso a uma sub-rede.
• Permitir a associação de uma sub-rede com um departamento ou espaço geográfico
específico.
Tradução de endereços
NAT
Atualmente, endereços IP são escassos e esse esgotamento não é um problema teórico que pode
ocorrer em algum momento no futuro distante, ele já está acontecendo, e a solução atual para esse problema
é o NAT (Network Address Translation – Tradução de Endereço de Rede), descrito na RFC 3022.
Com essa técnica, uma organização pode utilizar internamente uma faixa de endereços que não é
válida na Internet, e quando é necessário fazer acesso externo, o dispositivo responsável pelo NAT faz a
tradução do endereço da rede interna para o endereço válido da organização. Dessa forma, a organização
poderá obter internamente uma quantidade maior de hospedeiros do que endereços disponíveis para
utilização da Internet.
Fundamentos de Redes de Computadores
Marcio Quirino - 70
A ideia básica do NAT é atribuir a cada organização uma pequena quantidade de endereços IP para
tráfego na Internet. Dentro da organização, todo computador obtém um endereço IP exclusivo (também
conhecido como endereço IP privado) usado para roteamento do tráfego interno e, quando um pacote sai
da organização e vai para a Internet, ocorre uma conversão do endereço.
Para tornar esse esquema possível, três intervalos de endereços IP foram declarados como
endereços privativos (reservados) e as organizações podem utilizá-los internamente da maneira que
quiserem, a única regra é que nenhum pacote contendo esses endereços pode aparecer na própria Internet.
Os três intervalos reservados são:
Faixa Máscara Classe
10.0.0.0 a 10.255.255.255 255.0.0.0 A
172.16.0.0 a 172.31.255.255 255.255.0.0 B
192.168.0.0 a 192.168.255.255 255.255.255.0 C
Intervalos reservados.
Dentro da organização, toda máquina tem um endereço exclusivo que não é válido na Internet.
Quando um pacote deixa a organização, ele passa por uma caixa NAT (normalmente um roteador), que
converte o endereço de origem no endereço IP válido da organização. Desse modo, o pacote poderá
transitar sem problemas pela Internet, porém, a resposta do pacote voltará para o endereço IP válido da
organização, e não para a máquina que fez tal requisição. Por causa disso, a caixa NAT deverá manter uma
tabela na qual poderá mapear a máquina que enviou a requisição para Internet, de forma que, quando a
resposta voltar, ela possa ser mapeada para a máquina correta.
Na técnica de NAT, os endereços utilizados pelos hospedeiros de uma organização não são válidos
na Internet, não há como tais equipamentos receberem acesso direto da rede externa, conferindo um certo
grau de proteção aos hospedeiros da rede interna.
3. Protocolos de controle
Principais protocolos de controle
Protocolo de controle da Internet
O protocolo IP é o responsável por manter a unidade de toda a Internet, porém, ele não consegue
realizar sozinho todo o trabalho necessário. Para auxiliá-lo nessa tarefa, foram desenvolvidos protocolos
auxiliares na camada de rede, conhecidos como protocolos de controle.
Neste módulo, estudaremos os principais protocolos de controle que trabalham em conjunto com o
protocolo IP.
ARP (Address Resolution Protocol)
Fundamentos de Redes de Computadores
Marcio Quirino - 71
Embora na Internet cada hospedeiro possua um ou mais endereços IP, na verdade eles não podem
ser usados diretamente para o envio de informações pela rede, pois o hardware da camada de enlace de
dados não entende os endereços Internet.
Suponha que você esteja utilizando um notebook e que ele enviará dados para um servidor na
mesma rede. O software IP do notebook receberá os dados a serem enviados e construirá um pacote com
o endereço IP do servidor no campo ENDEREÇO DESTINO do datagrama para transmissão. O software IP
descobrirá que o servidor está em sua própria rede e que, portanto, deverá transmitir os dados diretamente
a ele.
Neste ponto existe um problema. A placa de rede trabalha com endereços físicos da camada de
enlace, ela não reconhece endereços IP. Logo, é necessário encontrar uma forma de mapear os endereços
de rede nos endereços de enlace.
A solução adotada é fazer com que o hospedeiro que precise descobrir o endereço de enlace do
destinatário envie um pacote por difusão perguntando: “A quem pertence o endereço IP A.B.C.D?”. Então,
o hospedeiro destinatário responderá com seu endereço de enlace. O protocolo que faz essa pergunta e
obtém a resposta é o ARP (Address Resolution Protocol, que é definido na RFC 826).
No exemplo da imagem a seguir, a requisição ARP é enviada para o endereço de enlace ff-ff-ff-ff-ff-
ff, o que permite que a camada de enlace promova uma difusão (entregue a requisição a todos os
hospedeiros ligados ao meio de transmissão).
Continuando em nosso exemplo, o software IP do notebook constrói um quadro de enlace
endereçado ao servidor, coloca o pacote IP no campo de carga útil e o envia. A placa de rede do destinatário
detecta esse quadro, reconhece-o como um quadro destinado a ela e o recolhe. O software de enlace extrai
o pacote IP da carga útil e o repassa para o software IP, que verifica se ele está corretamente endereçado
e o processa.
São possíveis várias otimizações para tornar o arp mais eficaz. Em primeiro lugar, depois que uma
máquina executa o ARP, ela armazena o resultado em um cache.
Em muitos casos, o destinatário precisará enviar uma resposta, o que forçará também a execução
do ARP para determinar o endereço de enlace do transmissor. Essa difusão do ARP pode ser evitada
fazendo-se com que o destinatário inclua em sua tabela o mapeamento entre os endereços de rede e de
enlace do transmissor.
Fundamentos de Redes de Computadores
Marcio Quirino - 72
Se um hospedeiro precisar enviar dados para outro hospedeiro que se encontra em uma sub-rede
diferente da sua, esse sistema de entrega direta não funcionará. Nesse caso, o hospedeiro transmissor
precisará enviar seus dados para um roteador,que deverá providenciar o encaminhamento do datagrama
para a sub-rede do destinatário. Poderá ser necessário que o protocolo ARP seja utilizado mais de uma vez
ao longo do caminho.
Para saber mais sobre o funcionamento do ARP quando existe um roteador no meio do caminho,
assista ao vídeo.
Configuração automática de endereços
DHCP (Dynamic Host Configuration Protocol)
Para ter acesso à Internet, um hospedeiro precisa ser configurado com alguns parâmetros.
Os parâmetros mínimos a serem configurados são:
• Endereço IP
Para permitir que o hospedeiro possa ser endereçado e receber dados de outro hospedeiro.
• Máscara de sub-rede
Para que o hospedeiro possa determinar qual a sua sub-rede.
• Endereço do gateway (roteador)
Para que o hospedeiro possa enviar informações para fora de sua sub-rede.
• Endereço do servidor DNS
Para que o hospedeiro possa acessar outros hospedeiros por seus nomes em vez de precisar
conhecer seus endereços IP.
Esses parâmetros devem ser configurados em todos os hospedeiros da organização, o que pode ser
feito manualmente pelos administradores da rede. Isso funcionaria muito bem em um ambiente relativamente
estático onde os hospedeiros raramente fossem mudados de lugar ou trocados.
E no caso de ambientes onde existe uma grande variação nos hospedeiros presentes na rede?
Imagine, por exemplo, como seria na praça de alimentação de um shopping que oferece acesso à
Internet. Seria viável solicitar que todo o dispositivo móvel que chegasse nesse shopping e quisesse acessar
a Internet fizesse um pré-cadastro para poder ter esse acesso? Como cada dispositivo precisa de um
endereço único no momento do acesso, como seria administrar essa distribuição por todos os possíveis
clientes?
Para facilitar a distribuição de endereços IP e demais parâmetros de rede entre os vários hospedeiros
que podem estar presentes em uma rede, e administrar a atribuição desses parâmetros de forma
automatizada, a IETF desenvolveu o DHCP, cuja especificação encontra-se na RFC 2131.
IETF
Internet Engineering Task Force (IETF) é um grupo internacional aberto que tem como objetivo identificar e
propor soluções a questões relacionadas à utilização da Internet, além de propor padronização das tecnologias e dos
protocolos envolvidos.
Para utilizar o mecanismo dinâmico de alocação de endereços do DHCP, o administrador do sistema
deve configurar um servidor fornecendo um grupo de endereços IP. Sempre que um novo computador se
conecta à rede, entra em contato com o servidor e solicita um endereço. O servidor opta por um dos
endereços especificados pelo administrador e aloca tal endereço para o computador.
De modo geral, o DHCP permite três tipos de atribuição de endereços:
• Configuração manual
Fundamentos de Redes de Computadores
Marcio Quirino - 73
O administrador especifica o endereço que cada hospedeiro receberá quando se conectar à rede.
• Configuração automática
O administrador permite que um servidor DHCP atribua um endereço quando um hospedeiro se
conectar pela primeira vez à rede. A partir desse momento, esse endereço estará reservado para
esse hospedeiro para sempre.
• Configuração dinâmica
O servidor “empresta” um endereço a um hospedeiro, por um tempo limitado. Quando o hospedeiro
não estiver mais utilizando esse endereço, ele poderá ser alocado a outro hospedeiro.
Um servidor DHCP empresta um endereço para o hospedeiro por um período de tempo determinado
que ele especifica ao alocar o endereço. Durante esse período, o servidor não alocará o mesmo endereço
a outro cliente, entretanto, quando a alocação terminar, o cliente deverá renová-la ou cancelar o uso do
endereço.
O período ideal de alocação depende da rede e das necessidades de um hospedeiro em particular.
O DHCP não especifica uma quantidade de tempo para o período de alocação. O protocolo permite que um
cliente solicite um tempo de alocação específico e que um servidor informe ao cliente quanto tempo de
alocação lhe será concedido. Fica a cargo do administrador determinar esse tempo.
Funcionamento do DHCP
A figura mostra os seis estados em que um cliente DHCP pode estar:
Entenda o que ocorre em cada etapa:
1. Inicializa
✓ Quando um cliente faz a primeira inicialização, ele entra no estado INICIALIZA. Para dar início
à aquisição de um endereço IP, o cliente primeiro entra em contato com todos os servidores
DHCP da rede local difundindo uma mensagem DHCPDISCOVER, utilizando para isso a
porta 67 do protocolo UDP, que é o protocolo de transporte da Internet sem conexões.
2. Seleciona
✓ Após, ele passa para o estado SELECIONA. Os servidores da rede local recebem a
mensagem e enviam, cada um, uma mensagem DHCPOFFER. As mensagens DHCPOFFER
contêm informações de configuração e o endereço IP oferecido pelo servidor.
✓ O cliente, assim, seleciona um dos servidores e lhe envia uma mensagem DHCPREQUEST,
solicitando uma alocação.
3. Solicita
✓ Em seguida, vai para o estado SOLICITA. O servidor responde com a mensagem DHCPACK,
dando início à alocação. O cliente segue então para o estado LIMITE, que é o estado normal
de operação.
Fundamentos de Redes de Computadores
Marcio Quirino - 74
4. Limite
✓ Uma vez no estado LIMITE, o cliente configura três temporizadores que controlam a
renovação, a revinculação e o fim da alocação. Um servidor DHCP pode especificar os
valores explícitos para os temporizadores, caso contrário o cliente utiliza o padrão. O valor
padrão para o primeiro temporizador é a metade do valor do tempo total da alocação.
5. Renova
✓ Quando o temporizador ultrapassar o tempo determinado pela primeira vez, o cliente deverá
tentar renovar a alocação. Para solicitar uma renovação, o cliente transmite uma mensagem
DHCPREQUEST ao servidor que lhe fez a alocação. Em seguida, muda para o estado
RENOVA para aguardar uma resposta.
✓ O servidor pode responder de dois modos: instruindo o cliente a não utilizar mais o endereço
ou autorizando-o a prolongar o uso.
6. Limite
✓ Caso aprove a renovação, o servidor transmite um DHCPACK, o que faz o cliente retornar ao
estado LIMITE e continuar com o uso do endereço.
7. Inicializa
✓ Se um servidor não aprovar a renovação do endereço, ele envia um DHCPNACK, que faz
com que o cliente interrompa imediatamente o uso do endereço e retorne ao estado
INICIALIZA.
8. Vincula novamente
✓ Caso o cliente esteja no estado RENOVA e não chegue nenhuma resposta, provavelmente o
servidor que concedeu a alocação estartá fora de alcance. Para contornar essa situação, o
DHCP conta com um segundo temporizador, que expira após 87,5% do período da alocação
e faz com que o cliente mude o estado VINCULA NOVAMENTE.
9. Limite
✓ Ao fazer essa transição, o cliente passa a difundir a mensagem DHCPREQUEST para
qualquer servidor da rede local. Caso receba uma resposta positiva, o cliente retorna ao
estado LIMITE e reconfigura os temporizadores.
10. Inicializa
✓ Se a resposta for negativa, o cliente deve mudar para o estado INICIALIZA e interromper
imediatamente o uso do endereço IP.
✓ Quando um cliente não precisa mais da alocação, o DHCP permite que ele a encerre sem
precisar esperar que o prazo da validade termine. Para isso, o cliente envia uma mensagem
DHCPRELEASE ao servidor. Depois de enviar a mensagem, o cliente deixa o estado LIMITE
e volta ao estado INICIALIZA.
ICMP (Internet Control Message Protocol)
Durante o tráfego de informações pela rede, podem ocorrer erros ou situações anormais que
precisam ser do conhecimento dos hospedeiros. Para permitir a troca desse tipo de informação, foi criado o
protocolo ICMP. Com ele, hospedeiros conseguem enviar mensagens de controle e erros para outros
hospedeiros. O erro sempre é reportado ao sistema que gerou o datagrama.
Além de oferecer a possibilidade de troca de informações sobre erros e de controle, o ICMP inclui
um mecanismo de envio e resposta (echo) paratestar quando um destino é alcançável ou não. O comando
ping utiliza esse protocolo.
O ICMP é definido na RFC 792.
Uma mensagem ICMP é carregada dentro de um datagrama IP, ou seja, as mensagens ICMP são
transportadas pelo protocolo IP. Existem diversas mensagens ICMP. As mais importantes são:
Destination unreachable (destino inalcançável): datagrama não pode ser entregue. Usada quando a sub-
rede ou um roteador não pode localizar o destino, ou um datagrama com o bit DF não pode ser entregue porque há
uma rede de pacotes pequenos no caminho.
Fundamentos de Redes de Computadores
Marcio Quirino - 75
Time exceeded (tempo excedido): campo tempo de vida do IP chegou a zero. Enviada quando um pacote é
descartado porque seu contador chegou a zero. Esse evento é um sintoma de que os datagramas estão entrando em
loop, de que há congestionamento ou de que estão sendo definidos valores muito baixos para o temporizador.
Parameter problem (problema de parâmetro): campo de cabeçalho inválido. Essa mensagem indica
existência de um problema no software IP do hospedeiro transmissor ou no software de um roteador pelo qual o pacote
transitou.
Source quench (redução de origem): conhecida como pacote regulador. Usada para ajustar os hospedeiros
que estejam enviando pacotes demais a fim de controlar o congestionamento na rede.
Redirect (redirecionar): usada quando um roteador percebe que o pacote pode ter sido incorretamente
roteado. É usada pelo roteador para informar ao hospedeiro transmissor a respeito do provável erro.
Echo request (solicitação de eco): perguntar a um hospedeiro se ele está ativo. Ao receber a mensagem
echo request, o destino deve enviar de volta uma mensagem echo reply.
Echo reply (resposta de eco): confirmação de que o hospedeiro está ativo.
Timestamp request (solicitação de carimbo de data e hora): mesmo que echo request, mas solicita que a
hora da chegada da mensagem e da partida da resposta sejam registradas na mensagem de resposta.
Timestamp reply (resposta de carimbo de data e hora): resposta à mensagem timestamp request.
4. Algoritmos de roteamento
Encaminhando os pacotes na rede
Roteamento
A principal função da camada de rede é rotear pacotes do hospedeiro origem para o hospedeiro
destino da melhor forma possível. Na maioria dos casos, os pacotes necessitarão passar por vários
roteadores para chegar ao destino.
O algoritmo de roteamento é a parte do software da camada de rede responsável pela decisão sobre
a linha de saída a ser usada na transmissão do pacote que entra. Caso a sub-rede utilize datagramas, essa
decisão deverá ser tomada para todos os pacotes de dados recebidos e se utilizar circuitos virtuais
internamente, as decisões de roteamento serão tomadas somente quando o circuito virtual estiver sendo
estabelecido.
Princípio da otimização
O princípio da otimização de Bellman (1957) estabelece que se o roteador B estiver no caminho
ótimo entre o roteador A e o roteador C, o caminho ótimo de B a C também estará na mesma rota.
Esse princípio nos diz que o conjunto de rotas ótimas de todas as origens para um determinado
destino é uma árvore conhecida como árvore de escoamento (sink tree, em inglês), cuja raiz é o hospedeiro
Fundamentos de Redes de Computadores
Marcio Quirino - 76
destino. Os algoritmos de roteamento precisam descobrir a árvore de escoamento a partir da topologia da
rede.
Roteamento pelo caminho mais curto
O protocolo de roteamento pelo caminho mais curto é um protocolo estático cuja ideia é criar um
grafo da sub-rede, com cada nó do grafo representando um roteador e cada arco indicando um enlace. Para
escolher uma rota entre um determinado par de roteadores, o algoritmo simplesmente encontra o caminho
mais curto entre eles no grafo.
Uma forma de medir o comprimento do caminho é em número de saltos (quantidade de enlaces que
devem ser utilizados). Utilizando essa unidade métrica na figura anterior, os caminhos ABD e ABE são
igualmente longos. Outra unidade métrica é a distância geográfica, caso em que ABD é mais longo que
ABE.
Há também a unidade métrica baseada no tráfego entre os enlaces. Nesse grafo, o caminho mais
curto é o caminho mais rápido, e não o caminho com menos arcos ou com menor distância.
Os valores dos arcos podem ser calculados como uma função da distância, da largura de banda, do
tráfego médio, do custo de comunicação, do comprimento médio de fila, do retardo detectado ou de outros
fatores. Alterando a função de atribuição de pesos, o algoritmo calcularia o caminho mais curto medido de
acordo com determinados critérios que podem ser ou não combinados.
Existem diversos algoritmos para o cálculo do caminho mais curto. O mais conhecido deles foi
desenvolvido por Dijkstra, em 1959. Nele, cada roteador armazena sua menor distância até a origem e o
caminho a ser seguido. Na inicialização do algoritmo não existe caminho conhecido, assim, a distância é
marcada como infinito. Conforme o algoritmo progride, os caminhos e seus custos são encontrados.
Dijkstra
Edsger Wybe Dijkstra (Roterdã, 11 de maio de 1930 — Nuenen, 6 de agosto de 2002) foi um holandês, cientista
da computação, conhecido por suas contribuições nas áreas de desenvolvimento de algoritmos e programas, de
linguagens de programação (pelo qual recebeu o Prêmio Turing de 1972 por suas contribuições fundamentais),
sistemas operacionais e processamento distribuído.
Roteamento pelo caminho mais curto (Dijkstra)
Fundamentos de Redes de Computadores
Marcio Quirino - 77
Para encontrar a árvore de escoamento de A, na figura, marca-se o nó A como permanente, o que é indicado
por um círculo preenchido (a). Depois, é examinado, um a um, cada nó adjacente a A alterando o rótulo de cada um
deles para a distância até A.
Sempre que um nó é rotulado novamente, ele também é rotulado com o nó a partir do qual o teste foi feito,
assim, pode-se reconstruir o caminho final posteriormente. Após examinar cada nó adjacente a A, verifica-se todos os
nós provisoriamente rotulados no grafo tornando permanente o de menor rótulo, que passa a ser o novo nó ativo.
No segundo passo (b), verifica-se que o nó B é o que possui o menor valor entre os nós rotulados não
permanentes. Logo, ele é marcado como permanente e os nós adjacentes são rotulados. Como B tem custo 2 e o
enlace entre B e D possui custo 6, o custo de D passando por B será 6 + 2 = 8. Da mesma forma, o custo de E passando
por B será rotulado como 4. E assim o algoritmo prossegue, até que todos os nós sejam marcados como permanentes.
Uma situação interessante acontece no quarto passo (d). Quando o nó C é marcado como permanente, verifica-
se que D anteriormente foi rotulado com valor 8 passando por B, porém, como vizinho de C, seu custo será 7. Então,
o nó D é rotulado novamente com o valor 7.
Fundamentos de Redes de Computadores
Marcio Quirino - 78
Ao final, para obter a árvore de escoamento até A, basta seguir o caminho marcado por cada roteador até seu
vizinho de menor custo.
Algoritmos de roteamento
Conforme estudamos anteriormente, os algoritmos de roteamento são executados pelos roteadores
de uma sub-rede para que sejam criadas as tabelas de repasse dos roteadores. Para isso, eles precisam
trocar informações sobre o estado da rede e concordarem com a árvore de escoamento a ser montada para
cada destino.
Os algoritmos de roteamento podem ser agrupados em:
Não adaptativos
Não baseiam suas decisões de roteamento em medidas ou estimativas do tráfego e da topologia atuais. A
escolha da rota a ser utilizada é previamente calculada e transferida para os roteadores quando a rede é inicializada.
Tal procedimento também é conhecido como roteamento estático.
Adaptativos
Mudam suas decisões de roteamento para refletir mudanças na topologia e/ou no tráfego. Tal procedimento
também é conhecido como roteamento dinâmico.
Ainda, os algoritmosde roteamento podem ser classificados como algoritmos de roteamento globais
ou descentralizados.
Global
Calcula o melhor caminho com base no conhecimento completo da rede. Para esse fim, o roteador deve obter
informações sobre o estado de todos os roteadores e enlaces que compõem a sub-rede. Um exemplo desse tipo de
roteamento é o roteamento de estado de enlace.
Descentralizado
Neste algoritmo, nenhum roteador possui informação completa sobre o estado da rede. As rotas são calculadas
com base em informações obtidas com roteadores vizinhos. Um exemplo desse tipo de roteamento é o roteamento de
vetor de distância.
Roteamento de vetor de distâncias
O roteamento de vetor de distância é um algoritmo dinâmico que opera fazendo com que cada
roteador mantenha uma tabela que fornece a melhor distância conhecida a cada destino e determina qual
linha deve ser utilizada para se chegar lá. Essas tabelas são atualizadas por meio da troca de informações
com os vizinhos.
Trata-se do algoritmo de roteamento original da ARPANET que também foi utilizado na internet com
o nome rip. alguns roteadores utilizam protocolos de vetor de distância mais aperfeiçoados.
Comentário
Fundamentos de Redes de Computadores
Marcio Quirino - 79
Cada roteador mantém uma tabela de roteamento indexada por cada roteador da sub-rede. Cada entrada
contém duas partes: a linha de saída preferencial a ser utilizada para esse destino e uma estimativa do tempo ou
distância até o destino. A unidade métrica utilizada pode ser o número de hops, o retardo de tempo, o número total de
pacotes enfileirados no caminho ou algo semelhante.
Presume-se que o roteador conheça a distância até cada um de seus vizinhos. Se a unidade métrica
for contagem de saltos, a distância será de apenas um salto. Se a unidade métrica for o comprimento da
fila, o roteador examinará cada uma das filas. Se a unidade métrica for o retardo, o roteador poderá medi-lo
com pacotes “ICMP ECHO”.
E como saber qual o caminho que possui melhor distância apenas obtendo informações dos
vizinhos?
Seja dv(y) o custo do caminho de menor custo do roteador v para o roteador y, e seja c(x,v) o custo
da ligação entre os roteadores x e v. Seja ainda v um vizinho do roteador x.
Então, o custo do caminho para ir de x a y passando pelo vizinho v será {c(x,v) + dv(y)}.
Logo, pelo princípio da otimização, o menor custo para ir de x a y será:
dx(y) = minv{c(x,v) + dv(y)},
onde minv retornará o menor valor calculado para todos os vizinhos.
Conforme os vizinhos vão trocando informações sobre o estado da rede, o algoritmo converge para
um estado de equilíbrio onde são obtidas as árvores de escoamento para cada destino.
Sempre que houver alguma modificação na rede, o roteador comunicará essa mudança a seus
vizinhos, que atualizarão suas tabelas e repassarão essas alterações a seus próprios vizinhos. Assim, a
alteração se propagará entre todos os roteadores e rapidamente a rede convergirá para um novo estado de
equilíbrio.
Na Internet, o roteamento de vetor de distância é implementado pelo RIP (Routing Information
Protocol). A versão 1 do RIP é definida pela RFC 1058, enquanto sua versão 2 é definida pela RFC 2453.
Roteamento de estado de enlace
O roteamento de vetor de distância era utilizado na ARPANET até 1979, quando então foi substituído
pelo roteamento de estado de enlace. Essa substituição foi basicamente motivada por dois problemas:
• A unidade métrica de retardo era o comprimento de fila, não levando em conta a largura de banda.
• O algoritmo geralmente levava muito tempo para convergir.
A ideia do roteamento de estado de enlace é simples. Cada roteador deve:
1. Descobrir seus vizinhos e aprender seus endereços de rede
Determinação dos vizinhos: quando um roteador é inicializado, ele envia um pacote HELLO em
cada linha. O roteador da outra extremidade envia de volta uma resposta identificando-se.
2. Medir o retardo ou o custo para cada um de seus vizinhos
Medição do custo da linha: a forma mais simples de determinar o retardo é enviar um pacote
ECHO pela linha. Medindo o tempo de ida e volta, o roteador pode obter uma estimativa razoável
do retardo. Para obter resultados melhores, pode-se fazer o teste mais de uma vez e usar a
média.
3. Criar um pacote que diga tudo o que acaba de ser aprendido
Criação de pacotes por estado de enlace: o pacote começa com a identidade do transmissor,
seguida do número de sequência, da idade, e de uma lista de vizinhos. É fornecido o custo
Fundamentos de Redes de Computadores
Marcio Quirino - 80
referente a cada vizinho. Um exemplo de sub-rede é ilustrado na figura a seguir, sendo os custos
mostrados por linhas. Os pacotes de estado de enlace correspondentes a todos os seis
roteadores são mostrados na figura seguinte.
4. Enviar esse pacote a todos os outros roteadores
Distribuição dos pacotes de estado de enlace: se estamos querendo criar as rotas para que os
datagramas possam ser enviados pela rede, como distribuir as informações? A ideia é usar a
inundação de pacotes, na qual os pacotes que são recebidos por uma interface são replicados
para as outras interfaces, fazendo, assim, com que a informação se espalhe por toda a rede.
Para controlar a inundação, cada pacote contém um número de sequência que é incrementado
para cada pacote enviado. Quando é recebido, o novo pacote de estado de enlace é conferido
na lista de pacotes já verificados. Se for novo, o pacote será encaminhado a todas as linhas,
menos para aquela em que chegou. Se for uma cópia, o pacote será descartado. Se for recebido
um pacote com número de sequência inferior ao mais alto detectado até o momento, ele será
rejeitado.
Mas se um roteador apresentar falha, ele perderá o controle de seu número de sequência. A
solução é incluir a idade de cada pacote após o número de sequência e decrementá-la uma vez
por segundo. Quando a idade atingir zero, as informações desse roteador serão descartadas. O
campo de idade é também decrementado por cada roteador durante o processo inicial de
inundação para garantir que nenhum pacote viverá por um período indefinido.
5. Calcular o melhor caminho para cada um dos outros roteadores
Cálculo das novas rotas: uma vez que um roteador tenha acumulado um conjunto completo de
pacotes de estado de enlace, poderá criar o grafo completo da sub-rede. Nesse momento, o
algoritmo de Dijkstra pode ser executado localmente para calcular o melhor caminho.
Na Internet, o roteamento de estado de enlace é implementado pelo protocolo OSPF (Open
Shortest Path First), definido pela RFC 2328.
Assim, a topologia completa e todos os retardos são medidos e distribuídos para cada roteador. Em
seguida, o algoritmo de Dijkstra pode ser usado para encontrar o caminho mais curto.
Roteamento hierárquico
Conforme as redes aumentam, as tabelas de roteamento crescem proporcionalmente até que chega
um momento em que não é mais possível que os roteadores conheçam todos os caminhos da rede. Assim,
é necessário pensar em uma nova forma de realizar o roteamento. Foi pensando nessa situação que foi
criado o roteamento hierárquico.
Quando o roteamento hierárquico é utilizado, os roteadores são divididos em regiões, com cada
roteador conhecendo todos os detalhes sobre como rotear pacotes para destinos dentro de sua própria
região, mas sem conhecer a estrutura interna de outras. No caso de redes muito grandes, uma hierarquia
de dois níveis pode ser insuficiente, sendo necessário agrupar as regiões em clusters, os clusters em zonas,
as zonas em grupos etc.
Fundamentos de Redes de Computadores
Marcio Quirino - 81
A imagem abaixo mostra um exemplo quantitativo do roteamento em uma hierarquia de dois níveis
com quatro regiões. A tabela de roteamento completa do roteador A1 tem 16 entradas, mas quando o
roteamento é feito hierarquicamente são necessárias apenas 7 entradas. Porém, esse tipo de roteamentopode implicar um provável aumento do caminho para alguns hospedeiros.
Entenda cada região nas tabelas abaixo:
Tabela completa
Destino Linha Saltos
A1 -- --
A2 A2 1
A3 A2 2
A4 A4 1
B1 B4 2
B2 B4 3
B3 B4 2
B4 B4 1
C1 C1 1
C2 C1 2
C3 C1 2
D1 C1 3
D2 B4 3
D3 B4 4
D4 C1 3
D5 C1 2
Tabela completa.
Tabela hierárquica
Destino Linha Saltos
A1 -- --
A2 A2 1
A3 A2 2
A4 A4 1
B B4 1
C C1 1
D C1 2
Na Internet, o roteamento hierárquico é implementado por intermédio do protocolo BGB (Border
Gateway Protocol), definido pela RFC 4271.
Considerações finais
Acabamos de estudar a camada de rede do Modelo OSI e sua implementação mais importante, a
camada de rede da arquitetura TCP/IP.
Fundamentos de Redes de Computadores
Marcio Quirino - 82
Vimos que o protocolo IP é o responsável por manter a Internet unida, promovendo um
endereçamento universal aceito por todos os equipamentos que possuem acesso à Internet. Vimos ainda
que é na camada de rede que é executado o algoritmo de roteamento, responsável pela montagem das
tabelas de repasse dos roteadores, permitindo que esses equipamentos possam encaminhar os datagramas
até seu destino, não importando o quanto distante esteja.
Podemos então concluir que essa camada é uma das mais importantes, responsável por toda a
conectividade da Grande Rede, a Internet.
Referências
BELLMAN, R.E. Dynamic Programming. Princeton, NJ: Princeton University Press, 1957.
COMER, D. E. Redes de computadores e Internet. 6. ed. Porto Alegre: Bookman, 2016.
COULOURIS, G. et al. Sistemas distribuídos – conceitos e projeto. 5. ed. Porto Alegre: Bookman,
2013.
FOROUZAN, B. A. Comunicação de dados e redes de computadores. 4. ed. Porto Alegre: AMGH,
2010.
KUROSE, J. F.; ROSS, K. W. Redes de computadores e a Internet: uma abordagem top-down. 6. ed.
São Paulo: Pearson, 2013.
SILBERSCHATZ, A.; GALVIN, P. B. Sistemas operacionais – conceitos. 5. ed. São Paulo: Prentice
Hall, 2000.
SOARES, L. F. G. et al. Redes de computadores – das LANs, MANs e WANS às redes ATM. 2. ed.
Rio de Janeiro: Campus, 1995.
STANEK, W. R., Windows Server 2008: guia completo. Porto Alegre: Bookman, 2009.
TANENBAUM, A. S.; WETHERALL, D. Redes de computadores. 5. ed. São Paulo: Pearson, 2011.
Explore +
Para saber mais sobre os assuntos explorados neste tema, leia:
IP versão 6, a nova implementação do protocolo IP, KUROSE, J. F.; ROSS, K. W. Redes de
computadores e a internet: uma abordagem top-down. 6. ed. São Paulo: Pearson, 2013. cap. 4.4.4.
Implementação do OSPF, o algoritmo de roteamento interno oficial da Internet, KUROSE, J. F.;
ROSS, K. W. Redes de computadores e a Internet: uma abordagem top-down. 6. ed. São Paulo: Pearson,
2013. cap. 4.6.2.
Fundamentos de Redes de Computadores
Marcio Quirino - 83
Camadas de Enlace e Física
Introdução
No processo de comunicação entre duas máquinas, temos diversas camadas envolvidas. Algumas
camadas oferecem serviços através de softwares, como camada de aplicação, transporte e rede, que são
as camadas mais altas, e temos as camadas mais baixas, enlace e física, que tem suas funções
majoritariamente implementadas em hardware, na famosa placa de rede.
1. Camada física
A camada física
A camada física é responsável pela geração e transmissão do sinal propriamente dito, que é levado
de um transmissor ao receptor correspondente. Eles estão conectados por um enlace físico de
transmissão.
Enlace físico de transmissão
Exemplos de enlaces físicos: par trançado, cabo coaxial, fibra ótica, rádio frequência etc.
Geração e transmissão de sinal de um transmissor para um receptor.
Para ativar, manter e desativar o link físico entre sistemas finais, a camada física define
especificações:
• Elétricas
• Mecânicas
• Funcionais
• Mecânicas
A partir disso, são determinadas características como:
• Níveis de voltagem
• Temporização de alterações de voltagem
• Taxas de dados físicos
• Distâncias máximas de transmissão
• Conectores físicos
• Outros atributos similares
Essa camada está completamente associada ao hardware dos equipamentos e enlaces.
Fundamentos de Redes de Computadores
Marcio Quirino - 84
Na camada física, a unidade de dados é o bit de informação. O bit é codificado em um sinal elétrico
ou óptico, de forma a ser transmitido pelo transmissor do enlace até o receptor através do meio físico de
transmissão.
O sinal sofre diversos efeitos ao ser enviado pelo meio de transmissão (como interferências, ruídos,
atenuação) e chega ao receptor após ter experimentado todas essas alterações.
Ao chegar ao destino, o receptor precisa decodificar o sinal para receber o bit de informação.
Dependendo da situação, o receptor pode ou não decodificar corretamente o bit enviado.
A imagem abaixo ilustra um diagrama em blocos simplificado do procedimento descrito
anteriormente, em que o ruído e outros fatores podem dificultar a recepção do sinal e causar erros na
interpretação dos bits.
Diagrama em blocos simplificado da transmissão do sinal em um canal de comunicação.
A seguir, abordaremos esses componentes e os conceitos principais com mais detalhes.
Transmitindo informações
Transmissão de sinais
Em redes de comunicação, a informação deve ser codificada em um sinal transmitido pelo canal do
transmissor até o receptor.
Os sinais podem ser analógicos ou digitais.
Você sabe qual é a diferença?
Sinais analógicos
Apresentam a intensidade (amplitude), variando suavemente com o tempo.
Fundamentos de Redes de Computadores
Marcio Quirino - 85
Sinais digitais
Mantêm um nível constante de intensidade e, depois, mudam abruptamente para outro nível constante de
intensidade.
Sinal periódico
Sinal periódico é qualquer sinal (analógico ou digital) que se repete em um período de tempo T,
conforme imagem abaixo:
A frequência do sinal é dada pelo valor inverso do período de repetição:
f = 1 / T
O Período (T) é expresso em segundos (s), e a frequência (f), em hertz (Hz).
Quanto mais rápida for a variação do sinal (menor período), maior será a frequência.
É importante guardar essa relação quando formos estudar outros conceitos mais avançados, como
banda passante e taxa de transmissão de dados.
Além da frequência, o sinal apresenta ainda como propriedades:
Amplitude A
Ponto máximo de intensidade.
Fase Φ
Posição relativa do sinal dentro de um período de repetição.
Fundamentos de Redes de Computadores
Marcio Quirino - 86
É possível codificar a informação variando as grandezas do sinal (f, A, Φ); assim, o sinal pode
transportar o dado de um ponto ao outro do enlace.
Os gráficos abaixo mostram os sinais variando em amplitude, frequência e fase.
Gráfico: Variação do sinal em amplitude, frequência e fase.
Nas imagens dos sinais expostos anteriormente, apresentamos os sinais em função de suas
variações ao longo do tempo, mas os sinais podem também ser representados no domínio da frequência.
Exemplo
A senoide, que vimos na imagem do sinal periódico, apresenta uma única componente no domínio da
frequência, que é o próprio valor de f.
Pela análise de Fourier, é possível demonstrar que qualquer sinal pode ser decomposto em
componentes (senoides) de frequência e intensidades diferentes.
No gráfico a seguir, o sinal resultante (à direita) pode ser obtido pela soma do primeiro sinal de
frequência f e amplitude A com o segundo sinal de frequência 3f e amplitude 0,4A.
Gráfico: Decomposição de sinais em componentes de frequência.
Banda passante
Agora, podemos entender o conceito de banda passante do canal de comunicações.
Fundamentos de Redes de Computadores
Marcio Quirino - 87
Trata-se do conjunto contíguo de frequências de sinal que, ao passarem pelo canal de comunicação,
são praticamente inalteradas.
As componentes de frequência do sinal que estão além da banda passante sofrem forte atenuaçãoe são eliminadas.
Podemos imaginar o canal de comunicação como um filtro que deixa passar as componentes dentro
da faixa de frequências especificadas pela banda passante e bloqueia as demais componentes fora da
banda passante.
Vamos ver um exemplo?
Digamos que o sinal resultante (à direita) da imagem acima será transmitido por um canal de largura
de banda 2f Hz, que deixa passar sem atenuação componentes de frequência entre valores 0,5f e 2,5f.
Ao transmitir esse sinal pelo canal, a componente de frequência 3f será completamente eliminada, e
o sinal que aparecerá do outro lado será simplesmente a senoide de frequência f, conforme gráfico abaixo.
Gráfico: Exemplo teórico de um canal ideal filtrando a componente 3f do sinal TX.
Um sinal digital apresenta variações abruptas na sua intensidade, o que pode ser representado no
domínio da frequência por componentes de frequência muito elevados.
Assim, ao passar por um canal de comunicação, o sinal sofre distorções causadas pela banda
passante do canal.
Quanto maior for a banda passante, menor será o efeito de filtragem do canal. Com isso, o receptor
terá mais facilidade para interpretar a informação contida no sinal.
O gráfico abaixo ilustra a codificação de um caractere de informação (101111011) em uma possível
representação por um sinal digital. Os desenhos que se seguem ilustram os efeitos de diferentes larguras
de banda sobre a composição do sinal.
Fundamentos de Redes de Computadores
Marcio Quirino - 88
Gráfico: Efeitos da largura de banda sobre o sinal digital.
Taxa de transmissão
Outro conceito importante é a taxa de transmissão (bit rate) de um canal ou meio físico, que é dada
pela quantidade de bits que esse meio consegue transmitir por segundo.
Essa taxa pode ser expressa em:
• Bits por segundo (bps)
• Kilobits por segundo (Kbps)
• Megabits por segundo (Mbps)
• Gigabits por segundo (Gbps)
Pelos conceitos estudados, sabemos que:
O sinal recebido pelo receptor é diferente do sinal que foi transmitido, pois sofreu todos os efeitos
introduzidos pelo canal de comunicação.
Esses efeitos degradam o sinal e podem gerar erros de bits, ou seja, erros de interpretação na
decodificação do sinal pelo receptor, em razão das alterações sofridas.
Além das distorções causadas pela banda passante limitada dos meios físicos, o sinal pode sofrer
também uma série de outras degradações, como:
• Atenuação
Fundamentos de Redes de Computadores
Marcio Quirino - 89
A atenuação é a perda de potência do sinal devido à passagem pelo meio de transmissão (canal),
fazendo com que a potência do sinal recebido pelo receptor seja menor do que a potência do sinal
no momento em que foi transmitido. Caso a potência seja muito baixa na recepção (abaixo de
determinado limiar), o sinal estará muito fraco e mais sujeito aos ruídos, podendo gerar erros no
receptor.
O sinal transmitido em espaço livre (meio físico) sem obstáculos, onde o transmissor e o receptor
são separados por uma distância d, sofre uma atenuação proporcional ao inverso do quadrado da
distância 1/d2.
Em outras palavras, a razão entre a potência do sinal recebido (Pr) e a potência do sinal transmitido
(Pt) é proporcional ao inverso do quadrado da distância: Pr/Pt ~ 1/d2 (RAPPAPORT, 2001). Para
outros meios físicos e contextos de transmissão, as relações seguem outra formulação.
• Ruído
Pode ser entendido de forma ampla como sinais indesejados que são inseridos pelo meio físico de
transmissão ou causados por fontes externas, comprometendo a integridade do sinal.
Os ruídos são classificados em diversos tipos e podem ser provenientes de fontes distintas.
O tipo de ruído mais comum é o ruído térmico (ou ruído branco), que afeta todos os sistemas, pois
ocorre em função da agitação dos elétrons no meio físico em virtude da temperatura.
O ruído térmico não pode ser eliminado completamente, limitando a capacidade máxima de um
sistema de comunicação. A imagem ilustra o efeito do ruído do canal sobre o sinal digital e os erros
de interpretação de bits por parte do receptor.
Meios de transmissão
Meios físicos de transmissão
Os meios físicos de transmissão que compõem o canal de comunicação são classificados em:
• Guiados
Sinal é confinado.
• Não guiados
Fundamentos de Redes de Computadores
Marcio Quirino - 90
Transmissão em espaço aberto.
Vamos conhecer melhor cada um?
Meios de transmissão guiados
São geralmente empregados como meios físicos guiados, o cabo de par trançado, o cabo coaxial ou
o cabo de fibra óptica:
• Par trançado
A imagem abaixo apresenta um diagrama esquemático do par trançado. Esse meio físico é composto
por dois fios de cobre em espiral. O trançado facilita o manejo e reduz interferências. Cada par trançado
pode representar um canal de comunicação isolado.
Assim como na imagem abaixo, mais de um par é normalmente agrupado em um cabo com capa
protetora, sendo geralmente comercializado dessa forma.
O par trançado é um dos meios físicos mais comuns para telefonia e redes locais prediais. As
categorias mais encontradas são: categoria 5, com banda passante de 100Mhz, e a categoria 7, com banda
passante de 1Ghz.
• Coaxial
O diagrama esquemático do cabo coaxial está representado na imagem abaixo. O cabo é composto
de quatro elementos, de dentro para fora, o condutor interno que é um núcleo de cobre, isolador dielétrico
interno, malha de cobre e revestimento plástico. Devido à sua própria confecção, ele é mais imune às
interferências do que o par trançado, porém é menos flexível e usualmente mais caro. Alcança bandas
passantes superiores a 500 MHz nos cabos de melhor qualidade, sendo muito empregado até os dias de
hoje em redes de televisão a cabo.
Fundamentos de Redes de Computadores
Marcio Quirino - 91
• Fibra óptica
A fibra ótica é o outro tipo de meio físico guiado bastante utilizado.
De forma diferente do par trançado e do cabo coaxial, na fibra óptica, os sinais são constituídos de
pulsos de luz; sendo assim, a fibra óptica não sofre interferências eletromagnéticas.
A fibra óptica é constituída de um filamento flexível e transparente fabricado a partir de vidro ou
plástico. Ela é composta de um material com maior índice de refração (núcleo) envolto por um material com
menor índice de refração (casca). Na imagem abaixo, o núcleo e o revestimento são caracterizados por
diferentes índices de refração da luz n1 > n2.
Lei de Snell
Willebrord Snellius (1580 — 1626) foi um astrônomo e matemático holandês, mais conhecido pela lei da
refração (Lei de Snell-Descartes).
Pela Lei de Snell, também conhecida como lei da refração da luz, existe uma relação direta entre os
índices e ângulos de incidência da luz, de forma que ela possa ser refletida e seguir se propagando pelo
interior da fibra, vide feixe de luz “a” da imagem abaixo. Esse é o princípio de propagação dos sinais
luminosos em uma fibra óptica.
O par trançado e o cabo coaxial transportam o sinal eletromagnético. Na fibra óptica, o sinal é
propagado na forma de luz.
Fundamentos de Redes de Computadores
Marcio Quirino - 92
1. Par trançado
✓ Vantagens: Mais flexível e barato.
✓ Desvantagens: Enfrenta em maior escala o problema de interferências eletromagnéticas.
2. Cabo Coaxial
✓ Vantagens: O sinal fica mais protegido de interferências quando comparado ao par trançado. Não
precisa de nenhum componente eletro-óptico (caso da fibra óptica).
✓ Desvantagens: Menos flexível e mais pesado que o par trançado. Menos capacidade de transmissão
de informação que a fibra óptica.
3. Fibra óptica
✓ Vantagens: Possibilita altas taxas de transmissão de dados (elevada banda passante), apresenta
baixa atenuação com a distância, é imune a interferências eletromagnéticas e possui baixo peso.
✓ Desvantagens: Pouca flexibilidade, custos mais elevados e conectorização mais difícil.
Conexões decabos submarinos empregando fibra óptica como meio de transmissão.
Meios de transmissão não guiados (espaço aberto)
A transmissão de sinais em meios não guiados se refere à transmissão em espaço aberto.
Nesse ambiente, uma série de sinais e ondas eletromagnéticas estão presentes e compartilham o
espaço em diferentes frequências.
É possível classificar as transmissões em meio não guiado (sem fio) de acordo com as frequências
das ondas utilizadas. A imagem abaixo ilustra o espectro eletromagnético e a correspondente classificação.
Fundamentos de Redes de Computadores
Marcio Quirino - 93
Espectro eletromagnético.
De acordo com a imagem acima, é possível separar as transmissões em espaço aberto em três
grandes grupos que apresentam características distintas: ondas de rádio (radiofrequência – RF), micro-
ondas e infravermelho. Cada grupo pode ainda ser dividido em subgrupos.
Os sinais de radiofrequência se espalham desde as centenas de Khz até, no máximo, poucas
unidades de Ghz. Estão incluídas nessa faixa as ondas de rádio AM e FM, a TV e a telefonia celular. As
redes Wi-Fi operam na faixa conhecida como ISM, nas frequências de 900Mhz, 2.4Ghz e 5Ghz.
Nessas faixas de frequência, o sinal transmitido é irradiado em diversas direções, o que
permite um bom suporte à mobilidade para as estações receptoras.
Na faixa das micro-ondas, os comprimentos de onda dos sinais são pequenos, e existe a
necessidade de haver um alinhamento entre as antenas dos transmissores e receptores dos sinais (linha de
visada). As frequências mais altas garantem elevadas bandas passantes para os canais de micro-ondas,
porém esses canais são mais suscetíveis às interferências causadas pelas condições climáticas.
A próxima imagem ilustra a comunicação via satélite que opera na faixa de micro-ondas tanto em
enlaces ponto a ponto quanto em enlaces do tipo broadcast.
Fundamentos de Redes de Computadores
Marcio Quirino - 94
Enlaces de micro-ondas via satélite.
O terceiro grupo emprega transmissões em frequências ainda mais elevadas na faixa do
infravermelho e dos lasers. Nessa faixa, também é necessário o alinhamento entre transmissor e receptor.
Geralmente, são empregados em enlaces de curto alcance, pois apresentam dificuldade para transpor
obstáculos.
2. Camada de enlace
Serviços da camada de Enlace
A camada de enlace está situada imediatamente acima da camada física. Elas atuam juntas de forma
direta.
Conforme estudado, apresentamos diversos fatores que podem afetar a transmissão do sinal no meio
físico. Alguns desses fatores representam características do meio, não sendo possível eliminá-los (como o
ruído térmico).
Os erros na recepção dos sinais são previstos e a camada física por si só não pode recuperá-los,
cabendo à camada de enlace controlá-los.
Para que o serviço de transmissão de bits pelo meio físico seja confiável, a camada de enlace realiza
as seguintes funções:
• Delimitação de quadros
• Controle de erros
• Controle de fluxo
• Controle de acesso ao meio
Observação importante é que o modelo OSI considera que todas as funções acima são
desempenhadas pela camada de enlace, mas para facilitar o entendimento, iremos adotar a estrutura
definida na arquitetura IEEE 802 que considera a camada de enlace dividida em duas subcamadas: LLC
(Controle de Enlace Lógico) e MAC (Controle de Acesso ao Meio).
Fundamentos de Redes de Computadores
Marcio Quirino - 95
Estudaremos neste módulo a subcamada LLC responsável pelas três primeiras funções. Vamos lá?
Delimitação de quadros (enquadramento)
Para o melhor desempenho de suas funções, a camada de enlace utiliza o quadro como unidade de
dados.
O quadro é um conjunto de bytes de informação que pode variar de tamanho conforme o protocolo
a ser utilizado.
Suponhamos que determinado transmissor tenha uma quantidade muito grande de dados para
transmitir ao receptor. Ao final dessa transmissão, percebe-se que, em algum momento, houve um erro no
sinal recebido por conta dos problemas do canal.
Dessa forma, o transmissor precisaria repetir toda a transmissão para garantir a informação correta
ao receptor. No entanto, se dividíssemos essa grande quantidade de dados em conjuntos menores (quadros)
e transmitíssemos quadro após quadro, havendo um erro na transmissão, seria possível identificar qual
quadro foi afetado.
Com isso, só repetiríamos a transmissão desse quadro, tornando o controle de erros muito mais
eficiente.
Entendendo a importância da utilização de quadros no nível de enlace, verificaremos como criar os
quadros, ou seja, como particionar os dados delimitando o início e o fim de cada quadro.
Existem basicamente quatro técnicas para realizar o enquadramento dos dados e, em alguns casos,
as técnicas são combinadas. Vejamos!
• Contagem de caractere
• Enquadramento por caractere
• Enquadramento por bit
• Violação de códigos do nível físico
Vamos conferir essas técnicas detalhadamente!
Contagem de caractere
Na técnica de contagem de caractere, a ideia é adicionar um campo no início do quadro, informando
o número total de caracteres presentes.
Ao receber o quadro, o receptor (RX) lê o campo de contagem e, a partir de então, consegue
determinar onde está o final do quadro.
O problema dessa técnica simples é que, se houver um erro justamente nesse campo de contagem,
o transmissor (TX) e o receptor (RX) terão interpretações diferentes sobre os quadros e perderão
completamente o sincronismo.
Veja o exemplo a seguir:
Fundamentos de Redes de Computadores
Marcio Quirino - 96
Problema de sincronização entre o TX e o RX quando há um erro no campo de contagem.
Devido ao problema, ilustrado na imagem acima, a técnica de contagem de caractere só é utilizada
em conjunto com outras técnicas.
Enquadramento por caractere
Na técnica de enquadramento por caractere, a ideia é utilizar caracteres especiais para indicar o
início (STX) e o fim do quadro (ETX). O transmissor insere essas marcas. Com isso, o receptor fica sabendo
exatamente onde começa e termina cada quadro.
Além disso, outros campos são incluídos no quadro, como os campos de sincronização (SYN),
cabeçalho (HEADER) e códigos para verificação de erros (CRC). A imagem abaixo ilustra o quadro com
todos esses campos.
Uma dificuldade que pode ocorrer com essa técnica é que o campo de dados representa as
informações do usuário, e a camada de enlace não tem controle sobre elas. Assim, pode estar presente no
campo de dados o padrão idêntico ao do caractere ETX. Ao receber o quadro e percorrê-lo, o receptor
interpretaria esse ETX como fim do quadro, o que seria um erro de interpretação.
Fundamentos de Redes de Computadores
Marcio Quirino - 97
Qual é a solução para esse problema?
A solução é, em primeiro lugar, a utilização de outro caractere especial (DLE) para indicar que,
imediatamente após esse caractere, aparecerá o caractere delimitador (STX ou ETX). Dessa forma, um
início de quadro seria marcado como DLE STX e um fim de quadro por DLE ETX. Isso ainda não resolve o
problema, pois o DLE também pode estar presente no campo de DADOS do usuário.
A solução completa é implementada da seguinte forma: ao gerar o quadro, o transmissor percorre o
campo de DADOS do usuário em busca do padrão DLE. Encontrando esse padrão, ele insere no campo de
dados outro DLE (operação conhecida como caracter stuffing), e segue normalmente com a construção do
quadro.
Ao receber o quadro, o receptor analisa os caracteres do quadro e, ao se deparar com um DLE, ele
verifica qual é o próximo caractere. Caso seja outro DLE, ele sabe que este foi inserido pelo transmissor.
Assim, ele exclui esse DLE e continua varrendo o quadro. Caso o caractere seguinte não seja outro DLE,
mas um marcador (por exemplo, ETX), ele sabe que a marcação está correta. A imagem abaixo exemplifica
esse processo de caracter stuffing.
Enquadramentopor caractere, técnica conhecida como caracter stuffing.
Uma desvantagem da técnica de enquadramento por caractere é ser orientada completamente pela
existência e pelo reconhecimento de caracteres. Uma alternativa similar a essa é o enquadramento por bit,
onde não há a necessidade de se trabalhar com caracteres, mas, sim, com bits de dados.
Enquadramento por bit
Nessa técnica, o delimitador de quadros é o flag – sequência padrão de bits, geralmente 01111110.
Cada quadro começa e termina com uma marca flag. Havendo falta de sincronismo por algum motivo, tudo
o que o receptor tem a fazer é procurar por um flag para ficar sincronizado com o transmissor novamente.
De forma análoga à técnica anterior, aqui também ocorre o stuffing. O transmissor percorre o campo
de DADOS todo e, ao perceber uma sequência de 5 bits “1”, ele insere um bit “0”, para quebrar o padrão de
flag. Ao percorrer o quadro e identificar 5 bits “1” seguidos, o receptor fica alerta; se o próximo bit for “0”, ele
sabe que esse bit foi inserido pelo transmissor, caso contrário (o próximo bit for “1”) ele sabe que se trata de
um delimitador de quadro, flag.
Fundamentos de Redes de Computadores
Marcio Quirino - 98
Ilustração da técnica bit stuffing.
Violação de códigos do nível físico
A última técnica de enquadramento estudada é conhecida como violação de códigos do nível físico.
A ideia é bastante simples: na transmissão do sinal no meio físico, o bit “1” é representado por alguma
característica ou variação do sinal, e o bit “0”, por outra.
Se o sinal puder apresentar ainda outras variações que não sejam utilizadas para codificar os bits,
essas variações podem ser utilizadas para marcar o início e o fim do quadro, tendo em vista que não serão
confundidas com os bits propriamente ditos.
Um exemplo é a codificação Manchester padronizada pelo IEEE para redes locais. Nesta codificação,
o bit “1” é representado por uma transição do sinal de alto para baixo, e o bit “0”, pela transição contrária do
sinal de baixo para alto. Assim, as outras duas transições (ou ausência de transições), de baixo para baixo
e de alto para alto, estão livres para serem usadas como marcadores de quadro.
Codificação Manchester. Transições alto-alto e baixo-baixo não são usadas.
Agora que você estudou as técnicas de delimitação de quadros, vamos ver o controle de erros no
nível de enlace.
Controle de erros (codificação)
Existem duas estratégicas básicas para o controle de erro no nível de enlace: open loop (malha
aberta, sem canal de retorno) e feedback (malha fechada, com canal de retorno).
Open loop
Na estratégia de open loop, a detecção e correção de erros são feitas completamente pelo receptor.
São empregados códigos especiais (FEC: Forward Error Correction) para inserir informação redundante no
quadro. Tudo isso para que, ao receber um quadro, o receptor:
Fundamentos de Redes de Computadores
Marcio Quirino - 99
• Possa usar a codificação para verificar a integridade do quadro;
• Havendo algum problema, possa, por si só, alterar o quadro para a forma correta.
A desvantagem dessa técnica é a necessidade de se inserir grande quantidade de informação
redundante no quadro, de forma que o receptor possa executar as duas tarefas listadas acima sozinho. No
entanto, pode ser a única solução, caso a transmissão não tenha canal de retorno.
Exemplo
O código hamming é o exemplo mais simples de código de correção de erros.
Feedback
A estratégia feedback emprega apenas códigos de detecção de erros, isto é, insere informação
redundante que seja suficiente apenas para o receptor testar a integridade do quadro. Havendo um
problema, o receptor solicita ao transmissor que retransmita aquele quadro. Assim, é necessário haver um
canal de retorno do receptor ao transmissor, situação comum em redes de dados, pois as estações
geralmente precisam transmitir e receber dados.
Um exemplo simples de código de detecção de erros é o bit de paridade, que é inserido ao final do
quadro. Assumindo a escolha da paridade par, o transmissor, ao transmitir o quadro, verifica a quantidade
de bits “1” presentes nele. Se houver um número par de números 1, a paridade estará correta, e o bit de
paridade receberá o valor “0”. Caso haja um número ímpar de bits “1” a ser transmitido no quadro, o
transmissor fechará a paridade par inserindo o bit “1” no campo do bit de paridade. Ao receber o quadro, o
receptor deve checar a paridade; se não for par, certamente houve algum problema com a recepção do
quadro, e ele deve solicitar uma nova transmissão deste mesmo quadro.
O bit de paridade, apesar de ser simples e de fácil implementação, não é eficaz em muitos casos,
como, por exemplo, na situação em que houve um problema no sinal, fazendo com que o receptor interprete
erradamente dois bits do quadro. Assim, quando o receptor fizer o teste, a paridade estará correta, e o
receptor não perceberá o erro na recepção do quadro.
Dessa forma, outros códigos de detecção mais poderosos foram desenvolvidos e padronizados para
uso em redes de computadores, como, por exemplo, o CRC (Verificação Cíclica de Redundância), conforme
ilustrado no quadro sobre técnica de enquadramento por caractere. (STALLINGS, 2004)
Enquadramento por caractere.
Depois de termos estudado as técnicas de enquadramento e codificação, entendemos como os
quadros podem ser formados e como o receptor é capaz de verificar se houve ou não erro na recepção do
quadro. Falta agora estudarmos como as retransmissões são realizadas automaticamente por meio de
protocolos de enlace.
Controle de fluxo
Outra operação que pode ser implementada aproveitando-se dos protocolos ARQ é o controle de
fluxo.
Fundamentos de Redes de Computadores
Marcio Quirino - 100
O objetivo desse controle é evitar que um transmissor mais rápido acabe sobrecarregando um
receptor mais lento com o envio de quadros a uma velocidade mais rápida que o receptor é capaz de
suportar, causando um “afogamento” no receptor.
Esse descompasso não é desejável, pois o receptor vai acabar descartando os quadros novos e o
transmissor teria que retransmiti-los em um outro momento.
Uma forma do receptor dosar a velocidade de transmissão de quadros quando estiver empregando
os protocolos da família ARQ é simplesmente retardando o envio dos ACKs.
Dessa forma, o receptor consegue reduzir a velocidade com que novos quadros são inseridos no
canal por parte do transmissor. O receptor pode inclusive reter todos os ACKs em determinado momento o
que causaria timeouts no transmissor e a pausa na transmissão de novos quadros.
Assim que o receptor estivesse pronto, bastaria enviar os ACKs para que a comunicação fosse
reestabelecida e seguisse com os novos quadros.
3. Subcamada de acesso
A subcamada MAC da camada de enlace
Camada MAC
Como vimos, a camada de enlace é subdividida em duas subcamadas: LLC (Controle de Enlace
Lógico) e MAC (Controle de Acesso ao Meio), para lidar com o problema de acesso em enlaces multiponto,
tema deste módulo. Vamos conferir?
A imagem abaixo ilustra uma rede de computadores composta de quatro redes locais (LANs)
conectadas por uma sub-rede. Na sub-rede, os roteadores são conectados por enlaces ponto a ponto,
enquanto nas LANs as estações estão ligadas a enlaces multiponto.
Os enlaces ponto a ponto são dedicados e o fluxo de informação segue sempre de um único
transmissor a um único receptor. Já os enlaces multiponto são de uso compartilhado entre transmissores e
receptores diferentes.
Rede de computadores com quatro redes locais (LANs) conectadas por uma sub-rede e empregam enlaces multiponto
(broadcast).
Nas ligações multiponto, o enlace é compartilhado por diversas estações, porém, para que uma
transmissão seja recebida com sucesso pela estação receptora, é necessário que cada estação
transmissora envie seus dados em momentos diferentes.
Fundamentos de Redesde Computadores
Marcio Quirino - 101
Havendo mais de uma transmissão ao mesmo tempo no enlace multiponto, a estação receptora não
terá condições de decodificar o sinal – fenômeno conhecido como colisão.
Dessa forma, em enlaces multiponto, é necessário haver uma regra de acesso a fim de organizar as
transmissões, evitando (ou minimizando), com isso, as colisões.
O uso do recurso compartilhado, no caso o enlace multiponto, requer o emprego de protocolos de
controle de acesso ao meio, o que constitui a principal função da subcamada MAC.
Em suma, o controle de acesso ao meio se faz necessário sempre que houver contenção (disputa)
de múltiplas estações pelo acesso ao meio de transmissão.
Exemplo de uso compartilhado do enlace:
Redes móveis celulares nas quais o uplink (canal de subida dos terminais celulares para a estação-
base) é compartilhado pelos usuários móveis.
Controlando o acesso ao meio
Como solucionar os problemas
As soluções para o problema de compartilhamento de enlaces entre múltiplas estações podem ser
divididas em três grandes grupos:
• Alocação estática
• Contenção
• Acesso ordenado
Protocolos baseados em alocação estática
Alocação estática
A imagem abaixo apresenta duas técnicas de alocação estática bastante comuns:
Fundamentos de Redes de Computadores
Marcio Quirino - 102
Técnicas de alocação estática do canal (FDMA e TDMA).
Entenda suas diferenças:
FDMA (Acesso Múltiplo por Divisão em Frequência)
A largura de banda W do enlace compartilhado é dividida em N, formando, assim, N canais
individuais. Cada estação transmissora, ao ingressar no sistema, recebe a alocação estática de um
desses subcanais e pode utilizá-la de forma exclusiva com o seu par até o momento de desconexão.
TDMA (Acesso Múltiplo por Divisão no Tempo)
A divisão ocorre em função do tempo, onde o tempo de uso do canal é dividido em N fatias (ou slots)
de tempo. Cada estação recebe um slot designado a ela para as suas transmissões com a estação
receptora.
Apesar de resolver o problema de compartilhamento do enlace, as técnicas de alocação estática,
como as ilustradas anteriormente, apresentam algumas desvantagens:
• Existe um número máximo de estações que podem ser atendidas pelo sistema. No exemplo,
esse número é representado por N. Com a chegada de mais uma estação ao sistema (N+1),
ela será bloqueada por falta de recursos.
• Nessas técnicas, é comum haver desperdício de recursos. Imagine que determinada estação
é alocada para utilizar determinado canal. Se essa estação, em algum momento, não tiver
nada a transmitir, o canal ficará ocioso e não poderá ser utilizado por outra estação. Como o
tráfego de dados ocorre em rajadas (períodos de muita atividade seguidos por períodos de
silêncio), essas técnicas podem causar desperdícios significativos de recursos.
Tradicionalmente, elas são mais empregadas para o tráfego telefônico (voz), daí o seu uso ter sido
mais difundido em redes de telefonia fixa e em redes de telefonia celular.
Protocolos que empregam contenção
Um dos primeiros protocolos a empregar a contenção como técnica de compartilhamento do enlace
foi o protocolo ALOHA, no início da década de 1970, na Universidade do Havaí (ABRAMSON, 2009).
A imagem abaixo ilustra o cenário de aplicação do protocolo ALOHA na época. Existia uma unidade
central de processamento (um computador mainframe) que deveria ser acessada por terminais remotos
espalhados pela universidade.
Observe que, nesse caso, ambos compartilhavam os recursos da CPU e do canal sem fio para as
transmissões e acesso à CPU.
Fundamentos de Redes de Computadores
Marcio Quirino - 103
Cenário de aplicação do protocolo ALOHA.
A solução empregada para o acesso ao meio físico foi bastante direta. Se determinado terminal
tivesse algo a transmitir, ele simplesmente faria isso usando a sua interface rádio sem qualquer tipo de regra
ou restrição. Caso houvesse também outro terminal na mesma situação, a colisão seria certa. Nesse caso,
o que precisaria ser feito era o tratamento da colisão.
O terminal a transmitir não sabia se a transmissão seria bem-sucedida ou não (colisão); tudo o que
ele tinha a fazer era aguardar a confirmação (ACK) enviada no sentido contrário pela estação central (na
imagem, CPU). Quando a confirmação era recebida, o terminal entendia que a transmissão foi um sucesso.
Caso contrário, o terminal ficava ciente de que houve uma colisão com a transmissão de outro terminal.
O protocolo ALOHA determinava, então, que, em uma situação de colisão, o terminal precisaria
sortear um número aleatório de espera e só poderia tentar novamente a transmissão após esse tempo.
Como os intervalos de tempo de espera para cada terminal eram sorteados aleatoriamente, os terminais
acabariam transmitindo em momentos diferentes, evitando novas colisões.
A solução empregada pelo protocolo ALOHA era bastante simples, e isso ocasionava baixo
desempenho para a rede como um todo. O melhor desempenho teórico do protocolo ALOHA pode ser
calculado como 18%, ou seja, na melhor hipótese, apenas 18% dos casos seriam caracterizados como
transmissões bem-sucedidas (TANENBAUM, 2011).
O baixo desempenho do protocolo ALOHA motivou o desenvolvimento de protocolos mais
elaborados:
• S-ALOHA
A ideia imediata era reduzir os eventos em que as colisões pudessem ocorrer. Levando isso em
consideração, foi desenvolvido o S-ALOHA (ALOHA com slots de tempo). Assim, o terminal só
poderia transmitir algo sempre no início de cada slot, fazendo com que o número de eventos de
colisão ocorresse apenas nesses momentos. O desempenho do S-ALOHA era duas vezes maior do
que o desempenho do ALOHA, mas, ainda assim, isso era considerado muito baixo.
• CSMA
Na tentativa de reduzir as colisões, foi desenvolvido o protocolo CSMA (acesso múltiplo com
detecção de portadora). Para reduzir os eventos de colisão, os terminais que empregam o CSMA
“escutam” o meio físico antes de transmitir e só realizam a transmissão ao perceberem que o meio
está livre, ou seja, não existe outro terminal transmitindo naquele momento (não foi possível detectar
a presença de algum sinal no meio).
As colisões ainda podem ocorrer no CSMA se o meio estiver livre e mais de um terminal estiver
“escutando” o meio antes de transmitir. Com o meio livre, esses terminais transmitem ao mesmo
tempo, gerando a colisão. A detecção de um evento de colisão acontece tal como no ALOHA, ao
Fundamentos de Redes de Computadores
Marcio Quirino - 104
aguardar a confirmação ACK do terminal receptor. Havendo colisão, os terminais aguardam um
intervalo de tempo sorteado aleatoriamente. Depois disso, tentam iniciar novamente a transmissão.
Na verdade, o CSMA é uma família de protocolos que podem ter variações quanto ao momento de
iniciar uma transmissão no canal. Na imagem abaixo, relaciona em um gráfico o desempenho dos
protocolos ALOHA, S-ALOHA e as variações do CSMA em um sistema teórico com cem terminais
(TANENBAUM, 2011).
Gráfico: Desempenho dos protocolos para um sistema com cem terminais Tanebaum, 2011.
No eixo das ordenadas, o parâmetro S indica a proporção de eventos de transmissão com sucesso
(de 0 a 1 ou, analogamente, de 0% a 100%), e, no eixo das abcissas G, a intensidade de tráfego que os
terminais impõem ao canal (quantidade de pacotes de dados enviados pelos terminais a cada tempo).
Pode-se observar que a curva do ALOHA (na imagem, ele é chamado de Pure ALOHA) é a curva
mais baixa e apresenta o seu pico (melhor resultado) em torno dos 18%, conforme já mencionado. É
interessante observar também que, à medida que o G (intensidade de tráfego) aumenta, o desempenho do
ALOHA diminui até entrar em pleno colapso – desempenho praticamente nulo. O mesmo ocorre para outras
curvas, mas tal ponto de colapso é atingido para valores de intensidade de tráfego cada vez maiores,
indicando melhores desempenhos em situações de maisalta carga. O destaque fica mesmo para o 0.01
persistent CSMA, que apresenta, no cenário teórico de estudo, um desempenho de quase 100%
(TANENBAUM, 2011).
Outro protocolo da família do CSMA que vale a pena destacar é o CSMA/CD (acesso múltiplo com
detecção de portadora e detecção de colisão), que foi padronizado pelo IEEE por meio da série IEEE802.3
(ETHERNET), para ser utilizado em redes locais cabeadas.
O CSMA/CD emprega uma função de detecção antecipada de colisão. Em vez de aguardar pela
mensagem de reconhecimento (ACK), o CSMA/CD é capaz de perceber a ocorrência de uma colisão no
momento em que o terminal estiver transmitindo o seu próprio pacote de dados. Assim, é possível
interromper antecipadamente uma transmissão que não teria sucesso. Essa detecção antecipada reduz os
tempos de colisão, que ficariam ocupando desnecessariamente o canal.
Protocolos de acesso ordenado
Na última categoria de protocolos, encontramos aqueles que garantem o acesso ordenado ao meio
físico e, portanto, são livres de colisões.
Fundamentos de Redes de Computadores
Marcio Quirino - 105
São várias as possibilidades dentro dessa categoria, mas nos concentraremos nos protocolos que
utilizam passagem de permissão.
Permissão nada mais é do que um quadro especial que circula pela rede. Com isso, a estação que
capturar a permissão terá o direito de realizar a transmissão.
Todas as outras estações que não possuem a permissão ficam impedidas de realizar uma
transmissão no enlace compartilhado. Após a sua transmissão, a estação devolve a permissão para a rede,
a fim de que outra estação consiga transmitir.
Dois protocolos de passagem de permissão foram padronizados pelo IEEE:
• Token ring (passagem de permissão em anel)
Token ring. (a) Rede de passagem de permissão em anel; (b) Diagrama do funcionamento da interface de cada estação.
Podemos observar na imagem acima a topologia da rede em anel e o diagrama de funcionamento
da interface, que serão descritas a seguir.
a) Topologia de rede de passagem de permissão em anel: As estações são conectadas em uma
estrutura topológica em anel para que a permissão (token) possa circular pelo anel. Quando a estação
deseja transmitir, ela captura a permissão e realiza a sua transmissão. Após esse momento, ela libera
novamente a permissão para circular pelo anel e permitir que outra estação possa também receber a
permissão e realizar a sua transmissão.
b) Diagrama do funcionamento da interface de cada estação: A imagem acima mostra o
comportamento padrão da interface durante o modo de escuta do barramento em anel, enquanto a imagem
inferior ilustra a interface da estação quando no modo de transmissão. Durante a transmissão, a estação
abre a interface com o anel para capturar o token e também para inserir o seu quadro de informação no
barramento.
O padrão IEEE 802.5 token ring especifica ainda uma série de modos de operação para o anel e as
funções de gerência necessárias para o controle do token, contribuindo, assim, para o bom funcionamento
da rede.
Token Bus (passagem de permissão em barra)
As redes de passagem em permissão em barra, padrão IEEE 802.4, são semelhantes às redes em
anel, porém as estações são conectadas em um barramento. Elas caracterizam um bom exemplo de
Fundamentos de Redes de Computadores
Marcio Quirino - 106
topologia física (conexão física das estações) em barra e topologia lógica (dada pelo funcionamento do
protocolo) em anel, conforme ilustra a imagem a seguir.
Funcionamento do Token Bus.
A motivação para a padronização de tais redes veio do setor industrial e fabril, que opera com as
suas máquinas em linhas de produção, o que exige como pré-requisito uma rede com topologia em barra.
Nas redes token bus, as estações possuem um número de identificação (endereço físico) e cada
estação conhece os endereços das estações vizinhas. Assim como no token ring, existe um quadro especial
de controle (token) que regula o acesso ao meio de transmissão. A estação que possui o token (uma por
vez – não há colisões) tem garantia de transmissão por determinado espaço de tempo. O token “circula”
pelas estações no sentido decrescente dos endereços, formando um anel lógico.
Embora as tecnologias token ring e token bus não sejam mais utilizadas em redes locais, as soluções
são elegantes e foram cuidadosamente especificadas e padronizadas.
O estudo das soluções se justifica, pois as técnicas de passagem de permissão têm emprego amplo
na área de redes, principalmente em problemas de compartilhamento e alocação de recursos entre múltiplos
usuários.
Considerações finais
Este conteúdo cobriu os assuntos referentes à camada física e à camada de enlace da arquitetura
de redes de computadores. Foram explorados diversos conceitos, problemas e soluções desenvolvidos para
o correto funcionamento dos protocolos nas redes de computadores. O conteúdo apresentado é fundamental
para o entendimento da área e para possibilitar ao aluno uma visão ampla e crítica sobre o funcionamento
das redes de computadores.
Referências
ABRAMSON, N. The ALOHAnet – Surfing for Wireless Data, IEEE Communications Magazine.
47(12): 21–25. Consultado na internet em: 23 jan. 2020.
BERTSEKAS, D.; GALLAGER, R. Data Networks. 2. ed. São Paulo: Prentice Hall, 1992.
KLEINROCK, L. History of the Internet and its flexible future. IEEE Wireless Communication. Vol. 15.
Consultado na internet em: 23 jan. 2020.
KUROSE, F.; ROSS, K. Redes de Computadores e a Internet. 5. ed. São Paulo: Pearson, 2010.
Fundamentos de Redes de Computadores
Marcio Quirino - 107
MOON, TODD. Error Correction Coding: Mathematical Methods and Algorithms, John Wiley & Sons,
2005.
RAPPAPORT. T. Wireless Communications: Principles and Practice. 2. ed. São Paulo: Prentice Hall,
2001.
STALLINGS, W. Data and Computer Communications. 7. ed. São Paulo: Pearson, 2004.
STALLINGS, W. Redes e Sistemas de Comunicação de Dados. 1. ed. São Paulo: Altabooks, 2018.
TANENBAUM, A. Redes de Computadores. 5. ed. São Paulo: Pearson, 2011.
Explore +
Para saber mais sobre o código hamming, consulte o livro Error Correction Coding: Mathematical
Methods and Algorithms, dos autores Moon e Todd.
Fundamentos de Redes de Computadores
Marcio Quirino - 108
Fundamentos de Administração e Segurança em Rede
de Computadores
Introdução
A internet é uma rede comercial que pode ser utilizada por qualquer pessoa ou empresa em todos
os cantos do mundo. Com isso, possíveis problemas de segurança afloram.
Pessoas mal-intencionadas utilizam essa rede para realizar atividades maliciosas, como roubo de
informações e de identidade, paralisação de serviços etc.
Por isso, o tópico segurança destaca-se atualmente como uma das grandes preocupações dos
administradores de redes. Garantir a segurança na comunicação de dados passou a ser uma das questões
cruciais na utilização da internet.
É fundamental que tanto usuários quanto profissionais de tecnologia da informação (TI) tenham
conhecimento dos riscos no uso da rede e saibam identificar ferramentas capazes de minimizá-los.
1. Riscos de segurança nas redes de computadores
Definições
Para identificar os riscos relacionados ao uso de uma rede de computadores, é importante conhecer
algumas definições. Por conta disso, iremos nos basear na norma ABNT NBR ISO IEC 27001:2013,
reconhecida mundialmente como uma referência na área de segurança. Essa norma apresenta as seguintes
definições:
Ameaça
Causa potencial de um incidente indesejado que pode resultar em danos a um sistema ou organização.
Ataque
Tudo aquilo que tenta destruir, expor, alterar, desativar, roubar, obter acesso não autorizado ou fazer uso não
autorizado de um ativo.
Ativo
Qualquer coisa que tenha valor para uma pessoa ou organização. Exemplo: os dados do cartão de crédito, um
projeto de uma empresa, um equipamento e até mesmo os colaboradores de uma empresapodem ser definidos como
ativos humanos.
Como é possível perceber nessas definições, a ameaça está relacionada a algo que pode
comprometer a segurança, enquanto o ataque é a ação efetiva contra determinado ativo.
Um incidente de segurança ocorre quando uma ameaça se concretiza e causa um dano a um ativo.
Se uma ameaça se concretizou e causou um dano, isso significa que alguma propriedade da
segurança foi comprometida.
Três propriedades são tratadas como os pilares da segurança: Confidencialidade, Integridade e
Disponibilidade (CID).
Além delas, outras propriedades também são importantes no contexto de segurança. A norma ABNT
NBR ISO IEC 27001:2013 destaca as seguintes:
Propriedades da segurança da informação
• Confidencialidade
Fundamentos de Redes de Computadores
Marcio Quirino - 109
Propriedade cuja informação não está disponível para pessoas, entidades ou processos não
autorizados. A confidencialidade está relacionada ao sigilo dos dados. Somente entes
autorizados podem acessá-los.
• Integridade
Propriedade que protege a exatidão e a completeza de ativos. Trata-se da indicação de que o
dado não foi adulterado. Exemplo: um ativo permanece intacto após ser armazenado ou
transportado.
• Disponibilidade
Propriedade de tornar o dado acessível e utilizável sob demanda por fontes autorizadas. Se uma
pessoa ou um processo autorizado quiser acessar um dado ou equipamento, ele estará em
funcionamento.
• Autenticidade
Propriedade que assegura a veracidade do emissor e do receptor das informações que são
trocadas. A autenticidade assegura que quem está usando ou enviando a informação é
realmente determinada pessoa ou processo. Em outras palavras, garante a identidade.
• Não repúdio ou irretratabilidade
Propriedade muito importante para fins jurídicos. Trata-se da garantia de que o autor de uma
informação não pode negar falsamente a autoria dela. Desse modo, se uma pessoa praticou
determinada ação ou atividade, ela não terá como negá-la. O não repúdio é alcançado quando
a integridade e a autenticidade são garantidas.
• Confiabilidade
Propriedade da garantia de que um sistema vai se comportar segundo o esperado e projetado.
Exemplo: se determinado equipamento foi projetado para realizar uma operação matemática,
esse cálculo será realizado corretamente.
• Legalidade
Propriedade relacionada com o embasamento legal, ou seja, ela afere se as ações tomadas têm
o suporte de alguma legislação ou norma. No caso do Brasil, podemos citar o Marco Civil da
Internet, a Lei Geral de Proteção de Dados (LGPD) e o conjunto de normas 27.000 da ABNT.
Tipos de ataques
Veja as principais características dos ataques ativos e passivos.
Para haver a identificação dos riscos, será necessário entender e classificar os tipos de ataques que
podem ser realizados contra uma rede de computadores.
Interligadas, as tabelas a seguir apresentam os critérios de classificação desses tipos de ataques e
as suas descrições:
ATAQUES DESCRIÇÃO TIPOS
ATIVOS Tentam alterar os recursos do sistema ou afetar a sua operação.
Ataques de interrupção
Ataques de modificação
Ataques de fabricação ou
personificação
Ataques de repetição
PASSIVOS
Tentam descobrir ou utilizar as informações do sistema sem o objetivo de
afetar seus recursos.
Ataques de interceptação
Classificação primária dos tipos de ataques.
CRITÉRIOS TIPOS DESCRIÇÃO ATAQUES
PONTO DE
INICIAÇÃO
Ataques internos
(inside attack)
Realizados dentro da própria rede. O atacante e a vítima
estão na mesma rede (doméstica ou corporativa).
Fundamentos de Redes de Computadores
Marcio Quirino - 110
CRITÉRIOS TIPOS DESCRIÇÃO ATAQUES
Ataques externos
(outside attack)
Feitos a partir de um ponto externo à rede da vítima.
METODO DE
ENTREGA
Ataques diretos
O atacante, sem a ajuda de terceiros, realiza uma ação
diretamente contra a vitima.
Ataques indiretos
O atacante emprega terceiros, ou seja, outros usuários da
rede, para que o ataque seja realizado.
OBJETIVO
Ataques de
interceptação
Buscam obter informações que trafegam a rede, atacando a
confidencialidade.
Ataques passivos
(predominantemente)
Ataques de
interrupção
Seu objetivo é indisponibilizar um ou mais serviços de rede
sobrecarregando os sistemas, as redes ou simplesmente
desligando o equipamento.
Ataques ativos
Ataques de
modificação
Ocorrem quando um atacante tem acesso não autorizado a
um sistema ou a uma rede e modifica o conteúdo das
informações ou as configurações de um sistema.
Ataques de
fabricação ou
personificação
Buscam quebrar, principalmente, a autenticidade de um
serviço, um dispositivo ou de uma rede.
Ataques de
repetição
Uma entidade maliciosa intercepta e repete uma
transmissão de dados válida que trafega através de uma
rede para produzir um efeito não autorizado, como a
repetição de pedidos de um item ou o processo de login em
um ambiente.
Classificação primária dos tipos de ataques.
Etapas de um ataque
Precisamos dividir um ataque em sete etapas para poder analisá-lo de forma mais criteriosa:
• Reconhecimento
• Armamento (weaponization)
• Entrega (delivery)
• Exploração
• Instalação
• Comando e controle
• Ações no objetivo
Os atacantes passam a ter mais privilégios no alvo à medida que avançam nas etapas. Portanto,
pelo lado da defesa, o objetivo é pará-los o mais cedo possível para diminuir o dano causado.
Vejamos a seguir cada etapa de um ataque:
Reconhecimento
Na primeira etapa, o ator da ameaça realiza uma pesquisa para coletar informações sobre o local a ser atacado.
Trata-se de uma fase preparatória na qual o atacante procura reunir o máximo de informações sobre o alvo antes de
lançar um ataque ou analisar se vale a pena executá-lo. As informações podem ser obtidas por meio de diversas fontes:
sites, dispositivos de rede voltados para o público, artigos de notícias, anais de conferências, meios de comunicação
social.
Qualquer local público é capaz de ajudar a determinar o que, onde e como o ataque pode ser realizado. O
atacante escolhe alvos negligenciados ou desprotegidos, pois eles possuem a maior probabilidade de serem
penetrados e comprometidos.
Armamento (weaponization)
Após a coleta de informações, o atacante seleciona uma arma a fim de explorar as vulnerabilidades dos
sistemas. É comum utilizar a expressão exploits para essas armas, que podem estar disponíveis em sites na internet
ou ser desenvolvidas especificamente para determinado ataque.
O desenvolvimento de uma arma própria dificulta a detecção pelos mecanismos de defesa. Essas armas
próprias são chamadas de zero-day attack.
Fundamentos de Redes de Computadores
Marcio Quirino - 111
Após o emprego da ferramenta de ataque, espera-se que o atacante tenha conseguido alcançar seu objetivo:
obter acesso à rede ou ao sistema que será atacado.
Entrega (delivery)
Nesta fase, o atacante entrega a arma desenvolvida para o alvo. Para essa entrega, podem ser utilizados
diversos mecanismos. Eis alguns exemplos: mensagens de correio eletrônico (e-mail), mídias USB, websites falsos ou
infectados, interação nas redes sociais.
O atacante pode usar um método ou uma combinação de métodos para aumentar a chance de entrega do
exploit. Seu objetivo é fazer com que a arma pareça algo inocente e válido, pois ludibria o usuário e permite que ela
seja entregue.
Uma prática comum para essa entrega é o uso de phishing. Tipicamente, são enviados e-mails com algum
assunto aparentemente de interesse da vítima. Nesta mensagem, existe um link ou um anexo malicioso que serve de
meio de entrega da arma na máquina alvo.
Exploração
A etapa de exploração ocorre quando o atacante, após entregar a arma, explora alguma vulnerabilidade
(conhecida ou não) na máquina infectada em busca de outros alvos dentro da rede de destino. As vulnerabilidades que
não são publicamente conhecidas são chamadas de zero-day.No caso do emprego de phishing, a exploração ocorre quando o e-mail recebido é aberto e o usuário clica no
link ou abre o anexo, instalando um software malicioso que infecta a sua máquina. Isso permite o controle dela por
parte do autor do ataque.
A partir desse momento, o atacante obtém acesso ao alvo, podendo obter as informações e os sistemas
disponíveis dentro da rede atacada. Os alvos de exploração mais comuns são aplicativos, vulnerabilidades do sistema
operacional e pessoal.
Instalação
A partir da exploração da máquina realizada na fase anterior, o atacante busca instalar algum tipo de software
que permita a manutenção do acesso à máquina ou à rede em um momento posterior.
Para essa finalidade, é instalado no sistema alvo um Remote Access Trojan (RAT). Conhecido também como
backdoor, o RAT permite ao atacante obter o controle sobre o sistema infectado.
Pelo lado do atacante, é importante que o acesso remoto não alerte nenhum sistema de proteção e permaneça
ativo mesmo após varreduras por sistemas de segurança da rede de destino.
Comando e controle
A partir do momento em que um RAT (backdoor) é instalado no sistema alvo, o atacante passa a ter um canal
de comunicação com o software instalado no alvo.
Denominado comando e controle, tal canal possibilita o envio de comandos para realizar ataques na própria
rede local ou para atacar a rede de terceiros, caracterizando, assim, um ataque indireto
Ações no objetivo
Quando o atacante chega à última etapa, isso é um indício de que o objetivo original foi alcançado. A partir de
agora, ele pode roubar informações, utilizar o alvo para realizar ataques de negação de serviço, envio de spam,
manipulação de pesquisas ou jogos on-line, entre outras atividades.
Nesse ponto, o agente de ameaças já está profundamente enraizado nos sistemas da organização,
escondendo seus movimentos e cobrindo seus rastros.
É extremamente difícil remover o agente de ameaças da rede quando ele já chegou a esta fase.
Vamos analisar a notícia a seguir:
Fundamentos de Redes de Computadores
Marcio Quirino - 112
Brasil sofreu 15 bilhões de ataques cibernéticos em apenas três meses. A questão não é mais ‘o que podemos
fazer se sofrermos um ataque cibernético?’, mas, sim, ‘o que podemos fazer quando sofremos um ataque cibernético?
(TECMUNDO, 2019)
Ao analisarmos o caso, percebemos a importância da análise dos riscos relacionados ao uso de uma
rede de computadores sem a devida proteção.
Pesquise outras situações similares e procure perceber a intervenção dos mecanismos de proteção
nesses casos.
2. Softwares e equipamentos para diminuição dos riscos
Segurança física
Segurança física x Segurança lógica
Estar conectado à internet nos expõe a diversos riscos, como roubo de informações e de identidade,
adulteração de informações etc. De acordo com a norma ABNT 27001:2013, para minimizar os riscos dessa
conexão, é necessário implementar mecanismos de controle a fim de garantir a segurança dela.
Esses mecanismos podem ser divididos em dois tipos:
Mecanismos de controle físicos
• Evitam ou dificultam as falhas nos equipamentos e instalações.
Mecanismos de controle lógicos
• Evitam ou dificultam as falhas relacionadas aos softwares utilizados.
Vejamos agora a aplicação desses mecanismos na manutenção da segurança de uma conexão.
Segurança física abrange todo ambiente em que os sistemas de informação estão instalados. Seu
objetivo principal é garantir que nenhum dano físico ocorra nos equipamentos. Por exemplo: roubo de
equipamentos, incêndio, inundação e qualquer ameaça às instalações físicas.
A norma ABNT NBR ISO/IEC 27002:2013 divide a segurança física em dois itens principais:
• Áreas seguras: Previnem o acesso físico não autorizado, os danos e as interferências em
instalações e informações da organização.
• Equipamentos: Impedem perdas, danos, furto ou comprometimento de ativos e interrupção
das atividades da organização.
A segurança física envolve outras áreas da Engenharia, como a civil e a elétrica, ao permitir a
projeção de prédios com paredes adequadas à proteção dos equipamentos, sistemas de para-raios,
aterramento, limpeza da área para evitar incêndios etc.
Alguns exemplos de mecanismos de controle físicos podem ser encontrados no emprego de:
Sistemas de refrigeração e de combate a incêndio
Projetados para os equipamentos poderem operar em condições adequadas de temperatura e umidade. Ainda
garantem que os casos de incêndio possam ser combatidos o mais rápido possível.
Sala-cofre
Espaço construído com paredes corta-fogo, sistemas de refrigeração e de forma hermética para proteger
equipamentos críticos de TI.
Sistemas de energia redundantes
Fundamentos de Redes de Computadores
Marcio Quirino - 113
Funcionam como no-breaks (Uninterruptable Power Supply - UPS) e geradores. Ambos são necessários ao
permitirem que, em caso de queda de energia, os equipamentos permaneçam em operação. Isso garante tanto o
fornecimento constante de energia quanto a manutenção dela dentro da tensão recomendada.
Preparação do ambiente contra alagamento
No caso de chuvas fortes.
Limpeza da área externa
Para evitar incêndios.
Segurança lógica
A segurança lógica envolve o emprego de soluções baseadas em softwares para garantir a CID.
Entre os diversos mecanismos existentes, destacaremos os oito listados a seguir:
1. Autenticação
2. Sistemas de controle de acesso
3. Criptografia
4. Funções de hash
5. Assinatura digital
6. Certificado digital
7. Redes Virtuais Privadas (VPN)
8. Firewall, sistemas de detecção de intrusão e antivírus
Vamos entender agora o funcionamento de cada mecanismo.
Autenticação
Está relacionada à garantia da propriedade da autenticidade, evitando que terceiros possam fingir
ser uma das partes legítimas a fim de acessar sistemas ou informações não autorizadas.
A autenticação diminui o risco de um ataque de personificação ou fabricação. Para realizá-la, podem
ser utilizados os seguintes mecanismos: senhas, controles biométricos, tokens, certificados digitais.
O mecanismo escolhido deve se adequar ao objetivo de segurança a ser alcançado. Atualmente, os
controles biométricos são considerados os mais eficientes, mas é recomendado que seja utilizada a
chamada autenticação de dois fatores.
A autenticação de dois fatores utiliza dois mecanismos para autenticar um usuário, por exemplo,
utilizando senha e um código enviado por e-mail.
Exemplo
Digitais, reconhecimento de íris, palma da mão e certificados digitais.
Sistemas de controle de acesso
Gerenciam os usuários que podem acessar sistemas e redes, autorizando apenas o acesso às
informações que lhes couberem. Desse modo, a confidencialidade dos dados está garantida.
Exemplo
O uso de senhas nas redes wi-fi garante que somente as pessoas autorizadas possam utilizá-las.
Para que o controle de acesso seja efetivo, deve-se empregar um mecanismo de autenticação a fim
de validar a identidade e – caso o acesso esteja autorizado – restringir os direitos de acesso para cada
indivíduo de acordo com o seu perfil de uso.
Fundamentos de Redes de Computadores
Marcio Quirino - 114
Criptografia
Entendendo a criptografia
Assim como a criptoanálise, que não discutiremos aqui, a criptografia é uma vasta área que compõe
a criptologia.
A criptografia é uma área que estuda técnicas para esconder não a mensagem real, mas o seu
significado. Ela pode ser, inclusive, utilizada para garantir a CID. A propriedade a ser garantida depende do
mecanismo utilizado e de que maneira ele foi empregado.
Funções
Para entendermos o processo criptográfico, iremos, inicialmente, identificar duas funções principais:
• Ciframento
Transforma um escrito simples, cujo alfabeto comum é utilizado para compor a mensagem
original, em um texto cifrado. Nesse texto, as letras originais são substituídas pelas do
alfabeto cifrado, escondendo, dessa forma,o conteúdo da mensagem. A função do ciframento
é responsável pela criptografia da mensagem original. Já a substituição das letras da
mensagem original é feita pelas cifras (Qualquer forma de substituição criptográfica aplicada
ao texto original da mensagem.).
• Deciframento
Realiza o processo oposto. Como o texto cifrado é transformado no original, o conteúdo de
sua mensagem pode ser entendido. A função de deciframento é a responsável pela
decriptografia da mensagem cifrada.
As técnicas modernas de criptografia envolvem o uso de um algoritmo de criptografia associado a
uma chave. O segredo do processo não está no algoritmo em si, mas na chave utilizada para a realização
do ciframento.
Classificação
Quanto ao modelo de chave empregada, os algoritmos criptográficos podem ser classificados como:
Algoritmos de chave simétrica ou de chave privada: Empregam uma única chave. Dessa forma,
a mesma chave que realiza a cifragem faz a decifragem. Alguns exemplos de algoritmos simétricos: DES,
3DES, Blowfish, RC4, RC5, IDEA, Rinjdael e Advanced Encrytion Standard (AES) - Algoritmo padrão
adotado por diversos governos e várias empresas para garantir a confidencialidade.
Fundamentos de Redes de Computadores
Marcio Quirino - 115
Algoritmos de chave assimétrica ou de chave pública: Utilizam duas chaves (pública e privada):
uma para cifrar e outra para decifrar. Dependendo da ordem em que ambas são empregadas, o algoritmo
pode garantir a confidencialidade ou a autenticidade. A exemplo temos o algoritmo Rivest-Shamir-Adleman
(RSA), que é o padrão utilizado para transações comerciais, financeiras etc.
Vamos entender melhor o que ocorre com o uso de cada modelo de chave, de acordo com a ordem
na qual são utilizadas:
Chave pública
Quando a chave pública é utilizada na função de cifragem, apenas a privada pode decifrar. Como o nome
sugere, a chave privada fica restrita à entidade.
Exemplo: pessoa, empresa ou equipamento.
Neste caso, está garantida a confidencialidade, porque só quem possui a chave privada pode decifrar o
conteúdo.
Chave privada
Quando a chave privada é empregada no processo de cifragem apenas a pública pode decifrar. Como a chave
usada para decifrar é a pública, qualquer pessoa pode possuí-la e, portanto, decifrar a mensagem.
Neste caso, não há como garantir a confidencialidade, mas sim a autenticidade. A aplicação das
chaves nesta ordem permite o emprego da assinatura digital.
Funções de hash
Conhecendo as funções de hash
O objetivo das funções de resumo de mensagem ou de hash é a garantia da integridade das
informações. Para calcular o resumo, pode ser utilizado qualquer algoritmo que pegue uma mensagem de
qualquer tamanho e a mapeie em uma sequência de caracteres de tamanho fixo.
Exemplo
Você tem um arquivo chamado aula.doc e quer calcular o resumo dessa mensagem. Uma das funções de hash
bastante utilizadas é o Message-Digest Algorithm 5 (MD5). Então, caso você tenha instalado em seu computador o
MD5, pode utilizar o seguinte comando:
md5sum aula.doc
A saída desse comando é uma sequência de caracteres:
5 9 5 f 4 4 f e c 1 e 9 2 a 7 1 d 3 e 9 e 7 7 4 5 6 b a 8 0 d 1
Essa saída será permanente enquanto não ocorrer nenhuma alteração no arquivo. Portanto, toda vez que
quiser verificar se ele foi modificado, basta executar novamente a função de hash e compará-la à sequência original.
Se ela permanecer a mesma, isso demonstra que o arquivo é íntegro; caso contrário, é uma evidência de que ele foi
modificado.
Uma propriedade desejável na função de resumo é que, diante de qualquer modificação mínima na
informação, o resumo gerado deve ser totalmente diferente. As funções de resumo também são utilizadas
como auxiliares no processo de autenticação.
Alguns sistemas usam o hash para armazenar a senha de um usuário. Portanto, quando ele cadastra
uma senha, o sistema calcula o hash e armazena esse valor. Quando o usuário for digitar sua senha para
entrar no mesmo sistema, o sistema calculará o hash, enviará essa informação e comparará com o que está
armazenado. Se for igual, o seu acesso será autorizado.
A vantagem dessa solução é que a senha do usuário não fica armazenada no sistema nem trafega
pela rede. Quem o faz é o hash.
Fundamentos de Redes de Computadores
Marcio Quirino - 116
Outra propriedade desejável das funções de resumo é que ela não é inversível, ou seja, se temos o
hash da mensagem, não conseguimos descobrir a mensagem original. Dessa forma, podemos afirmar que
ele configura uma função criptográfica, pois esconde o conteúdo de uma mensagem. Então, quando ocorre
o envio do hash da senha, não há como um atacante descobrir a senha original.
Entretanto, o uso isolado dele na autenticação pode gerar uma facilidade para o ataque de
reprodução. Um atacante que conseguir obter o hash das assinaturas poderá repetir o seu processo,
enviando o resumo e obtendo a autorização de acesso.
Além do MD5, outras funções de resumo muito utilizadas são as seguintes:
1. Secure Hash Algorithm version 1 (SHA-1)
2. Secure Hash Algorithm version 2 (SHA-2)
3. Secure Hash Algorithm version 3 (SHA-3)
Assinatura digital
O que é Assinatura Digital
O objetivo do emprego da assinatura digital é assegurar a autenticidade e a integridade das
informações. Automaticamente, está garantido o não repúdio. A assinatura ainda garante a validade jurídica
dos documentos, pois existe a certeza de que eles não sofreram qualquer adulteração, estando íntegros e
completos, e a certeza quanto a sua autoria, asseverando que eles realmente foram assinados por
determinada pessoa.
O processo utilizado para realizar a assinatura digital combina o emprego da criptografia assimétrica
com as funções de resumo da mensagem. Para que um documento seja assinado digitalmente, o usuário
deve seguir estes passos:
• Calcular
✓ Calcular o resumo da mensagem.
• Cifrar
✓ Cifrar esse resumo com a chave privada do emissor do documento.
• Enviar
✓ Enviar a mensagem com o resumo criptografado, que é a assinatura digital.
O esquema a seguir ilustra esse processo:
Assinatura digital de um documento.
Ao receber o documento, o receptor precisa realizar o seguinte processo para o validar:
Fundamentos de Redes de Computadores
Marcio Quirino - 117
O usuário deve calcular o hash da mensagem e decifrar o outro recebido com a utilização da chave
pública do emissor. Em seguida, ele vai comparar os dois hashes. Se forem iguais, há a garantia de que o
documento não foi modificado e o emissor é autêntico. Caso sejam diferentes, algum problema ocorreu. Mas
não é possível garantir se o problema reside na modificação dele ou na autenticidade do emissor.
Estabelece-se apenas que o documento não é válido.
Certificado digital
O que é o Certificado Digital
Ele é utilizado para vincular a chave pública a uma entidade, como pessoa, empresa, equipamento
etc. O certificado contém a chave pública da entidade, que é assinada digitalmente por uma terceira parte
confiável chamada de Autoridade Certificadora (AC).
A existência da autoridade certificadora é importante para garantir um ataque conhecido como
“homem no meio” (MITM - Man In The Middle). O MITM ocorre quando um atacante pode interceptar o envio
da chave pública e ter acesso às informações.
Vejamos a descrição deste problema:
1. Alice quer enviar um documento para Bob. Ela solicita a chave pública dele para poder cifrar a mensagem.
2. Darth, enquanto isso, realiza um ataque de interceptação para monitorar a comunicação entre ambos.
Quando percebe que houve uma solicitação da chave pública de Bob, Darth envia para Alice a sua chave.
Ao mesmo tempo, se fazendo passar por ela, solicita a Bob a chave pública dele, o que caracteriza um
ataque de personificação.
3. Alice, dessa forma, cifra a mensagem com a chave privada de Darth. Obviamente, ele consegue ler as
informações enviadas. Para que o processocontinue, Darth agora cifra a mensagem com a chave pública
de Bob e a envia. Bob, em seguida, recebe a mensagem e a decifra com sua chave privada.
Ao monitorar a troca de mensagens entre Alice e Bob, Darth conseguiu obter as informações,
quebrando a confidencialidade desse processo de comunicação.
Para resolver esse problema, é necessária uma terceira parte confiável: a AC, responsável por
armazenar as chaves públicas das entidades envolvidas no processo de comunicação. Dessa maneira, a
chave fica assinada digitalmente pela autoridade certificadora. Veja o esquema:
Uso do certificado de chave pública.
Voltemos ao exemplo da comunicação entre Alice e Bob. Agora ela já pode solicitar o certificado
digital dele para a AC. Ao receber esse certificado, Alice verificará a assinatura digital da AC. Se ela estiver
Fundamentos de Redes de Computadores
Marcio Quirino - 118
correta, é um indício de que Alice possui o certificado correto de Bob, podendo, dessa forma, realizar a
transmissão das mensagens.
O processo para obter a chave privada da AC, contudo, pode esbarrar no mesmo problema. Para o
processo funcionar corretamente, o usuário deve ir ao site da AC e realizar o download dos certificados –
chamados de certificados raiz –, garantindo, assim, a obtenção da chave pública correta.
Saiba mais
No Brasil, as ACs estão organizadas na Infraestrutura de Chaves Públicas Brasileira (ICP-Brasil). Trata-se de
uma cadeia hierárquica de confiança que viabiliza a emissão de certificados digitais para a identificação virtual do
cidadão.
Redes virtuais privadas (VPN)
O que é uma VPN
A VPN (virtual private network) permite a utilização de um meio inseguro de forma segura. Afinal,
quando estamos conectados à internet e desejamos acessar algum serviço ou rede, ficamos vulneráveis a
diversos tipos de ataques.
Para minimizar o risco inerente a esse acesso, podemos empregar uma VPN, que utilizará um túnel
de comunicação entre dois dispositivos. Considere a topologia desta imagem na qual as redes da matriz e
da filial desejam trocar informações por meio da internet:
Ao trafegar pela internet, as informações trocadas entre as redes da matriz e da filial estão sujeitas
a diversos tipos de ataque. Na utilização de uma VPN, é criado um túnel virtual entre essas redes. Veja:
Na utilização do túnel, as informações trafegadas ficam protegidas, já que os dados são
criptografados. Além disso, podem ser utilizados mecanismos de autenticação e integridade para garantir
tanto a entrada em cada rede só de pacotes autorizados quanto a manutenção de sua estrutura, ou seja,
que eles não sejam modificados.
Firewall, sistemas de detecção de intrusão e antivírus
Veja o trecho da seguinte notícia:
“PF identifica invasão nos celulares de presidentes de STJ, Câmara e Senado; PGR também foi
alvo”. (Fonte: G1, 2019)
Fundamentos de Redes de Computadores
Marcio Quirino - 119
Percebemos aqui a importância dos softwares, cuja função é a de garantir a CID nas instituições.
Pesquise outras situações similares e procure perceber como foi a intervenção da segurança lógica nesses
casos.
3. Arquitetura de gerenciamento de redes
Arquitetura de gerenciamento OSI
A importância do gerenciamento
Com o crescimento das redes, a administração e o gerenciamento delas passaram a ser atividades
de suma importância. Afinal, seus ambientes são complexos e heterogêneos, tendo diversos tipos de
equipamentos, fabricantes e protocolos em operação.
Observe o esquema a seguir:
Vemos na imagem diversos servidores e várias estações de trabalho com sistemas operacionais
Windows e Linux, firewalls, roteadores, switches e equipamentos para redes sem fio.
Imaginemos uma paralisação de algum serviço ou parte da rede. Nesses casos, muitos se
perguntam: onde ocorreu a falha? No servidor? No switch? Na estação?
A gerência de redes auxilia no processo de identificação das falhas e na correção de problemas,
permitindo que a rede possa operar corretamente e oferecer níveis de serviços adequados à necessidade
dos usuários.O objetivo dessa gerência é monitorar e controlar os elementos físicos ou lógicos da rede,
assegurando, segundo Stallings (1998), certo nível de qualidade de serviços.
Trata-se do ato de oferecer serviços que atendam à necessidade dos usuários com um
funcionamento adequado, bom desempenho e disponibilidade.
Para oferecer uma organização das tarefas de gerenciamento de redes, a International Organization
for Standardization (ISO) criou a M.3400, um modelo de gerência derivado de recomendação publicada pela
International Telecommunications Union (ITU).
Fundamentos de Redes de Computadores
Marcio Quirino - 120
Esse modelo se baseia em cinco áreas conhecidas pela sigla FCAPS (fault, configuration, accounting
performance e security). Vamos conhecê-las agora!
Gerência de detecção e correção de falhas (F = fault)
A área de gerenciamento de falhas é importante para garantir que os serviços e as redes
permaneçam em operação. De acordo com a norma ISO, esta área permite registrar, detectar e reagir às
condições de falha da rede. Tal gerenciamento depende do bom funcionamento de cada componente da
rede tanto de forma isolada quanto pela interoperação com outros equipamentos dela.
As possíveis falhas nas redes podem ser causadas por problemas de:
Software
Falha no sistema operacional de um servidor ou em um serviço.
Enlace
Paralisação de operação de uma ligação entre uma matriz e uma filial por um rompimento de cabo.
Equipamento
Interrupção no fornecimento de energia.
Quando uma falha ocorre, o gerente da rede deve analisar as informações de gerência para
identificar a causa raiz do problema, descobrindo, em uma diversidade de equipamentos, softwares e
protocolos, o que realmente causou o problema.
O gerenciamento de falhas pode ser dividido em dois subsistemas:
Reativo
Trata as falhas no curto prazo (detecção, isolamento, correção e registro de falhas).
Proativo
Monitora a rede para tentar impedir que ocorram falhas.
Gerência de configuração e operação (C = configuration)
As redes são compostas por diversos equipamentos interligados entre si que possuem uma
configuração.
Essas configurações devem ser consistentes em todos eles, permitindo que, no caso de uma
reinicialização, o dispositivo volte a operar com a configuração correta.
Desse modo, é necessário realizar o gerenciamento das configurações dos equipamentos para:
1. Garantir seu funcionamento com os ajustes corretos.
2. Identificar quais dispositivos estão presentes na rede.
3. Verificar se eles estão com as configurações corretas.
De acordo com Forouzan (2010), um sistema de gerenciamento de configuração precisa saber o
estado de cada entidade e sua relação com outras entidades a todo instante.
Fundamentos de Redes de Computadores
Marcio Quirino - 121
Gerência de contabilidade e faturamento (A = accounting)
De acordo com a ISO, a gerência de contabilidade e faturamento permite especificar, registrar e
controlar o acesso de usuários e dispositivos aos recursos da rede. Por meio desta área de gerenciamento,
é possível contabilizar o consumo de determinado recurso da rede.
Exemplo
A franquia de consumo de internet de uma linha telefônica, o que possibilita a tarifação para o usuário.
Este tipo de gerenciamento impede que usuários possam monopolizar os recursos da rede e libera a
elaboração de planos de evolução de acordo com a demanda de uso dela.
Gerência de desempenho e otimização (P = performance)
O objetivo do gerenciamento de desempenho e otimização é garantir que uma rede esteja em
operação da forma mais eficiente possível. De acordo com a ISO, sua função é quantificar, medir, informar,
analisar e controlar o desempenho de diferentes componentes dela.
Dentro desta área de gerenciamento, é possível realizar dois tipos de avaliação de desempenho:
Avaliação de diagnósticoDetecta problemas e ineficiências na operação da rede.
Exemplo: Se o gerente da rede percebe um equipamento ou enlace com baixa utilização, ele pode alterar a
configuração para permitir que haja uma melhor distribuição de carga. Esse tipo de avaliação auxilia no gerenciamento
de falhas, porque é capaz de antever situações que poderiam causar uma falha na rede.
Avaliação de tendências
Auxilia no planejamento da evolução da rede, observando seu comportamento e estimando a necessidade de
aumento de determinado recurso.
Exemplo: O monitoramento de um enlace entre matriz e filial poderá indicar a necessidade de um aumento na
capacidade dele quando a utilização média ultrapassar determinado valor. Para avaliar a operação da rede, devem ser
utilizadas, aponta Forouzan (2010), medidas mensuráveis, como capacidade, tráfego, vazão (throughput) e tempo de
resposta.
Gerência de segurança e proteção (S = security)
A gerência de segurança e proteção permite controlar o acesso aos recursos da rede e verificar se
ela está de acordo com a Política de Segurança da Informação (PSI) da empresa.
Que papel desempenha a segurança nesse contexto?
Fundamentos de Redes de Computadores
Marcio Quirino - 122
Ela envolve todas as camadas da pilha de protocolos TCP/IP, o que engloba cada dispositivo e
informação trafegando pela rede. Por isso, é possível afirmar que esta é a área mais difícil de ser gerenciada.
Considerações finais
Garantir a operação de uma rede é uma tarefa árdua. Afinal, ela deve estar preparada para suportar
diversos tipos de ataques mediante o emprego de mecanismos de controle adequados.
Além disso, os sistemas de gerenciamento podem permitir o controle de uma diversidade enorme de
dispositivos, protocolos e aplicações. Os mecanismos de controle e gerenciamento adequado das redes,
portanto, são fundamentais na manutenção da qualidade e da operacionalidade de seu serviço.
Referências
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR ISO/IEC 27001:2013 – tecnologia da
informação – técnicas de segurança – sistemas de gestão da segurança da informação – requisitos. Rio de
Janeiro: ABNT, 2013a.
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR ISO/IEC 27002:2013 – tecnologia da
informação – técnicas de segurança – código de prática para controles de segurança da informação. Rio de
Janeiro: ABNT, 2013b.
AVAST. WannaCry. Avast. s.d. Consultado na internet em: 18 maio. 2022.
CENTRO DE ESTUDOS, RESPOSTA E TRATAMENTO DE INCIDENTES DE SEGURANÇA NO
BRASIL. Estatísticas dos incidentes reportados ao CERT.br. CERT.br. Consultado na internet em: 28 maio
2020.
FOROUZAN, B. A. Comunicação de dados e redes de computadores. 4. ed. Porto Alegre: AMGH,
2010.
FOROUZAN, B. A.; MOSHARRAF, F. Redes de computadores: uma abordagem top-down. Porto
Alegre: AMGH, 2013.
KUROSE, J. F.; ROSS, K. W. Redes de computadores e a internet: uma abordagem top-down. 6. ed.
São Paulo: Pearson, 2013.
LUKASIK, S. J. Why the Arpanet was built. IEEE annals of the history of computing. n. 33, p. 4-21,
2011.
MCCLURE, S.; SCAMBRAY, J.; KURTZ, G. Hackers expostos: segredos e soluções para a
segurança de redes. 7. ed. Porto Alegre: Bookman, 2014.
STALLINGS, W. Criptografia e segurança de redes – princípios e práticas. 4. ed. São Paulo: Pearson
Prentice Hall, 2008.
STALLINGS, W. SNMP, SNMPv2, SNMPv3 and RMON1 and 2. 3. ed. Boston: Addison-Wesley,
1998.
Explore +
Confira o que separamos especialmente para você!
Visite a página do Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil
(CERT). Em Publicações, navegue pelos diversos artigos produzidos pelo CERT com recomendações sobre
prevenções de ataques;
Fundamentos de Redes de Computadores
Marcio Quirino - 123
Acesse a Cartilha de Segurança para Internet. Desenvolvida pelo CERT, ela descreve os riscos na
utilização da internet e as soluções existentes para isso;
Leia o documento intitulado Sistema de gerenciamento de rede: White Paper de práticas
recomendadas (2018). Desenvolvido pela Cisco, ele apresenta uma estrutura mais detalhada sobre o
processo de gerenciamento de redes;
Saiba2 mais sobre a Information Technology Infrastructure Library (ITIL). Trata-se de um conjunto de
recomendações de boas práticas para o gerenciamento dos serviços de TI.