Apostila Redes 2023
Apostila Redes 2023
Apostila Redes 2023
REDES DE COMPUTADORES
Prof. Geraldo Sarmento
Ainda é possível encontra outros tipos 1 como a PAN (Personal Area Network) e RAN
1 Tecnicamente as SAN (Storage Area Network) não são consideradas uma escala de rede, mas uma espécie de infraestrutura
especializada tendo como objetivo a ligação entre vários computadores e dispositivos de storage (armazenamento) em uma
área limitada, utilizando geralmente tecnologias de transmissão como Fiber Channel.
Do exposto, é importante compreender que, por se tratar de uma grande rede, a Internet
possui muita heterogeneidade de arquiteturas, componentes, sub-redes, etc. Desse modo,
torna-se mais didático analisar suas características através de uma perspectiva em níveis
(Figura 5), são eles:
• Periferia (ou borda): compreende computadores e outros dispositivos conectados à
Internet; frequentemente chamados de sistemas finais (hospedeiros ou hosts), pois se
encontram na extremidade (no fim) dessa macroestrutura. Tais dispositivos incluem:
◦ Computadores de mesa, notebooks, smartphones, tablets, smartwatchs e demais
smart devices;
◦ Servidores de rede;
• Ponto a ponto: caracteriza-se pela conexão única e direta entre equipamentos. É uma
topologia simples e de baixo custo, mas tem uma escala limitada e pouco potencial de
compartilhamento de recursos;
• Barramento (barra ou linear): nessa topologia, todos os nós (hosts) se ligam ao mesmo
meio de transmissão: o barramento. Desse modo, cada nó pode “ouvir” todas as
mensagens transmitidas. É um modelo de fácil instalação e requer pouco investimento
em cabeamento. No entanto, qualquer ruptura no cabo é de difícil manutenção e
compromete todo o meio de transmissão. Além disso, o desempenho pode ser
degradado de acordo com aumento do número de nós conectados ou tipo/volume de
tráfego (baixa escalabilidade), requerendo o uso de pontes (bridges) para contornar o
problema.
• Anel: nessa topologia, cada nó possui uma conexão ponto a ponto dedicada com dois
dispositivos adjacentes ou utilizando um transceiver, fechando um ciclo ou anel. Assim, o
sinal percorre todo o anel em um sentido até atingir seu destino. Redes em Anel são
capazes de transmitir e receber dados em qualquer direção, mas as configurações mais
usuais são unidirecionais, de forma a tornar menos sofisticado os protocolos de
comunicação que asseguram a entrega da mensagem corretamente e em sequência ao
destino.
◦ Essa disposição dos nós permite que cada uma funcione como uma espécie de
repetidor, regenerando o sinal recebido e encaminhando pelo seu enlace de saída;
◦ Se essa topologia utilizar algum mecanismo de passagem de tokens, pode eliminar a
ocorrência de colisões;
◦ Algumas desvantagens dessa topologia:
▪ Apresenta pouca escalabilidade, pois simplesmente acrescentar nós sem prover
Em termos práticos:
• Camada Física: aqui estão os cabos e os hubs;
• Camada de Enlace de dados: aqui estão as placas de rede e os switches;
• Camada de Rede: aqui está o protocolo IP;
• Camada de Transporte: aqui entra o protocolo TCP e o sistema operacional, que
controla a transmissão dos dados;
• Camada de Aplicação: aqui está o programa, que envia e recebe dados através da rede:
navegador Web, mensagens instantâneas, etc.
Nos projetos de redes atuais, os serviços de idealmente deveriam estar nas camadas de
sessão e apresentação, foram incorporados pela camada de aplicação. As maior parte das
redes de dados, sobretudo a Internet, são baseadas atualmente na arquitetura2 TCP/IP.
Correspondem a semelhanças entre os modelos OSI e TCP/IP:
• Ambos são divididos em camadas;
• Ambos são divididos em camadas de transporte e de rede equivalentes.
• A tecnologia de comutação de pacotes (e não de comutação de circuitos) é presumida por
ambos.
Correspondem a diferenças entre os modelos OSI e TCP/IP:
• O TCP/IP combina as camadas de apresentação e de sessão dentro da sua camada de
aplicação;
• O TCP/IP combina as camadas física e de acesso à rede do modelo OSI numa única
camada.
• A camada de transporte do TCP/IP, que utiliza o UDP, nem sempre garante a entrega
confiável dos pacotes, ao contrário da camada de transporte do modelo OSI.
2 Segundo Tanenbaum (2011) o modelo OSI não pode ser chamado de arquitetura pois designa apenas as funções das
camadas. Por se tratar de um padrão aberto, não especifica que protocolos podem ser associados a essas camadas. Já o
modelo TCP/IP pode sim ser chamado de arquitetura, pois designa camadas e protocolos associados a elas.
1.9.2 Ping
Comando que serve para testar a conectividade entre equipamentos de uma rede. Ele
está presente na maioria dos sistemas operacionais atuais. Suas respostas exibem atributos
como o tempo de resposta (RTT - RoundTrip Time) e o TTL (Time to Live) que é o tempo de
vida do pacote.
1.9.3 Ip/Ipconfig/Ifconfig
Comando que serve para exibir informações sobre as interface de rede da máquina.
Uso (Windows): ipconfig /all
Uso (Linux): ip a / ip link / ip -s link
Uso (Linux): ifconfig -a (obsoleto)
1.9.4 Tracert/Traceroute
Comando que serve para rastrear a rota de pacotes de uma rede IP no seu percurso
para um dado host.
Uso (Windows): tracert <destino>
Uso (Linux): traceroute <destino>
Seguindo uma abordagem prática e baseada na arquitetura TCP/IP, nesse curso, assim
como na literatura, abordaremos os conceitos de redes concernentes a cada uma das
seguintes camadas:
• Física;
• Enlace de dados;
• Rede;
• Transporte;
• Aplicação;
No estudo de redes não podemos esquecer as premissas básicas dos modelos em camadas:
I. Uma camada sempre oferece serviços à camada hierarquicamente superior a ela;
II. Em hospedeiros diferentes, camadas de mesmo nível são capazes de se intercomunicar
desde que utilizem o mesmo protocolo;
III. Ao receber um pacote (dados) da camada hierarquicamente superior, uma camada
encapsula essa unidade de dados adicionando seus próprios metadados (cabeçalho);
4. Defina e caractere as escalas de rede PAN, LAN, CAN, RAN, MAN e WAN.
6. Cite vantagens e desvantagens de cada uma das topologias físicas de redes discutidas.
10. Pesquise sobre o comando ping, liste e explique a função dos seus principais atributos.
Os sinais analógicos sofrem menor atenuação que os digitais, mas transportam menos
informação. A modulação dos sinais analógicos é feita alterando-se as propriedades básicas
das ondas:
• Amplitude, que expressa seu nível de tensão;
• Frequência, a quantidade de períodos dentro de um segundo (Hz);
• Fase, a posição relativa da onda.
Utiliza-se o termo largura de banda para indicar a faixa de frequências que um certo
meio é capaz de transmitir, isto é, a diferença entre o valor da frequência mais alta para a
frequência mais baixa.
Estas perturbações que podem atingir a transmissão do sinal são problemáticas, pois
limitam o desempenho do sistema de comunicação alterando as características do sinal
transmitido a ponto até de que o mesmo não seja mais reconhecido ao chegar em seu receptor.
Visando diminuir a interferência pode-se utilizar, por exemplo, cabeamento blindado, onde a
cobertura metálica (em folha ou malha) é sobreposta ao cabo e aterrada, drenando o ruído que
atingiria os cabos internos.
Figura 15: Propagação por ondas terrestres (esq.), com linha de visada (dir.) e ionosférica (centro)
A transmissão por radiofrequência não é a única forma para os enlaces sem fio.
Dependendo da aplicação a que se deseja atender ou o serviço a ofertar, um enlace diferente
pode ser utilizado. Mas sem dúvida, a radiofrequência é um dos enlaces sem fio mais
utilizados. Vejamos os principais.
2.3.1.3 Micro-Ondas
Quando há necessidade de transmissão de dados em longas distâncias, o enlace micro-
ondas é mais eficaz, podendo chegar a taxas de 1 Gbps. Esse sistema é chamado também de
MMDS (Multipoint Microwave Distribution System – Sistema de Distribuição Multiponto Micro-
ondas) e utiliza antenas direcionais para estabelecer o enlace. A frequência nesse tipo de
transmissão normalmente precisa ser licenciada pelo órgão regulador do governo (no caso do
Brasil, a ANATEL). Essa modalidade é utilizada para transmissões de TV por assinatura, mas
as concessionárias telefônicas como Embratel e Oi também a utilizam para transmissão de
grandes volumes de dados.
As micro-ondas viajam em linha reta. Assim, a distância que uma transmissão desse tipo
pode alcançar está relacionada diretamente à altura da torre transmissora. Isso porque a torre
transmissora deve “enxergar” a receptora; assim, montanhas ou a própria curvatura da terra
podem interferir na transmissão. Dados obtidos em Tanembaum (2011) afirmam que uma torre
com 100 m de altura pode transmitir dados sob forma de
micro-ondas até uma distância de 80 km sem o uso de
repetidores.
Assim, a comunicação por micro-ondas é muito usada
na telefonia a longa distância, em telefones celulares, na
distribuição de sinais de televisão e em outras formas novas
de comunicação. A disseminação de canais de fibra óptica
tem um alto custo que, em vários casos, pode ser bastante
diminuído com os canais de micro-ondas.
Na Figura 17, simulamos um exemplo de transmissão
de TV por assinatura. O fato das micro-ondas atravessarem
facilmente a atmosfera terrestre torna atrativo seu uso por
transmissoras de TV. Nas residências é necessário instalar Figura 17: Transmissão em micro-ondas
2.3.1.4 Infravermelhos
Transmissão utilizada na comunicação de curto alcance. Todos os dispositivos de
controle remoto utilizados nos aparelhos de televisão, DVD, ar condicionado empregam a
comunicação por infravermelho. Eles são relativamente direcionais, econômicos e fáceis de
usar.
Para haver uma conexão de rede de infravermelho é necessário alinhar os dois
dispositivos para estabelecer um vínculo de conexão. Por esse motivo, elas são especialmente
convenientes para computadores pequenos e portáteis, pois um computador portátil que use
infravermelho pode ter todo o hardware de comunicação embutido.
Uma grande desvantagem desse tipo de transmissão é que ondas infravermelhas não
atravessam superfícies sólidas.
2.3.1.5 Laser
Outra forma de transmissão sem fio é o sinal óptico sob forma de laser, que já vem
sendo utilizado há algum tempo. O mais comum nesse tipo de enlace é a conexão de LANs
situadas em prédios diferentes, porém com visada. Uma das vantagens desse tipo de
transmissão é prescindir (não necessitar) da licença de um órgão regulador.
Apesar do custo relativamente baixo, esse tipo de enlace enfrenta alguns problemas. O
primeiro deles é a natureza direcional: é necessária precisão milimétrica para estabelecer a
visada perfeita. Muitas vezes são usadas lentes que desfocam o laser para facilitar o
estabelecimento do enlace. Outro fato é a questão climática: há problemas na transmissão em
dias de chuva e de neblina; também em dias de sol intenso pode haver interferências das
correntes de convecção (turbulências de ar quente) que emanam dos telhados e desviam o
feixe de laser.
Figura 19: Padrão de conexão de cabos coaxiais nos conectores BNC e na placa de rede
As fibras ópticas podem ser classificadas em dois tipos: monomodo (ou monomodais ou
de modo único) e multimodo (ou multimodais ou de modo múltiplo). Cada uma tem suas
características e aplicações, a saber:
Fibra óptica monomodo – com esse tipo de fibra não ocorre a dispersão modal, ou
seja, o feixe de luz se propaga em linha reta (único modo) sem ter que ser refletido
internamente. Isso garante que o sinal atinja distâncias maiores e com maiores taxas de
transmissão. Para conseguir isso, o núcleo da fibra precisa ser ultrafino, cerca de 8 μm (8
micrômetros = 8 x 10-6 metros). O fato de ser tão fino traz um problema: a acoplagem e a
fixação com as interfaces de rede devem utilizar equipamento especial para permitir alinhar o
feixe luminoso da placa de rede com a fibra, o que é um trabalho difícil, minucioso e caro. Esse
tipo de fibra é indicado para interligar campi de universidades e redes locais que precisem
ultrapassar 2 km de comprimento. A Figura Transmissão num cabo de fibra monomodo mostra
o modo de transmissão de uma fibra monomodal.
Fibra óptica multimodo – é mais grossa que a fibra monomodo. A luz é refletida várias
vezes na parede do cabo, ocorrendo o fenômeno de dispersão modal, o que faz o sinal perder
força. Devido a essa dispersão, este cabo pode chegar ao máximo de 2 km. O núcleo deste
cabo chega a 62,5 μm, aproximadamente oito vezes mais grosso do que o núcleo da fibra
monomodo. Esses cabos são mais fáceis de instalar e ligar às placas de rede, justamente pelo
seu diâmetro maior. Ainda assim, exigem equipamento e pessoal especializados para
montagem e instalação.
Você pode observar que na Figura Estrutura da fibra ótica multimodo. há duas medidas
destacadas: a de 62 μm (micrometros) indica o diâmetro do núcleo da fibra, por onde
efetivamente passam os sinais luminosos; a de 125 μm indica o diâmetro da casca ou cladding,
que serve como uma espécie de espelho para refletir os sinais luminosos. O restante do
material refere-se a um polímero de PVC que reveste a casca, fibras de resistência mecânica
Essa proteção “natural” não é o único tipo de proteção que um cabo par trançado pode
oferecer. Esses cabos podem ainda apresentar uma proteção adicional contra interferências.
Em função disso, genericamente, existem dois tipos de par trançado:
UTP (Unshielded Twisted Pair – Par Trançado Não Blindado) – esse é o cabo mais
simples e mais barato para as redes locais. Também é ainda o mais utilizado para montar redes
locais nas empresas. Ele não possui blindagem, o que o torna mais barato e mais leve e
flexível, facilitando a passagem por tubulações. As redes locais especificadas para funcionar
até 1000 Mbps (1 Gigabit) necessitam desse tipo de cabo com especificação CAT5e ou CAT6.
STP (Shielded Twisted Pair – Par Trançado Blindado) – esse tipo de cabo possui
uma blindagem adicional útil contra interferências externas originadas por exemplo de: motores
elétricos, reatores de lâmpadas e equipamentos industriais. Tais interferências, como já é
sabido, geram ondas eletromagnéticas que podem corromper os dados que trafegam pelo
condutor. Esse cabo tem a vantagem de transmitir dados com menores interferências, porém,
possui custo elevado e maior peso, o que o torna mais difícil para passar em tubulações.
Atualmente, para redes instaladas em ambiente industrial, em que vários campos
eletromagnéticos causam interferência, a fibra óptica tem sido melhor opção, pois, apesar do
custo maior, ela transmite sem interferências, possui peso menor e atinge maiores taxas de
Figura 24: Cabo U/UTP (esq. sup.), U/FTP (dir. sup.), F/UTP (esq. inf.) e S/FTP (dir. inf.)
Figura 25: Conectores RJ-45 sem blindagem, para cabos CAT5 (esq) e CAT6 (centro), e com blindagem (dir)
Quanto maior for o nível de interferência, mais vantajosa será a instalação de cabos
blindados. Entretanto, em ambientes normais os cabos sem blindagem funcionam
Usar um cabo cruzado ou direto incorretamente entre os dispositivos pode não danificar
os dispositivos, mas a conectividade e a comunicação entre os dispositivos não ocorrerão. Este
é um erro comum e verificar se as conexões do dispositivo estão corretas deve ser a primeira
ação de solução de problemas se a conectividade não for alcançada.
Outro tipo de cabo é um cabo invertido ou rollover. É usado para conectar uma
estação de trabalho a um roteador ou porta de console do switch. Nesse cabo, tal como o
nome sugere, as terminações são invertidas, ou seja, o pino 1 de um conetor RJ-45 liga com o
pino 8 do outro. O 2 liga ao 7 e o mesmo acontece com os outros.
Figura 32: Um fluxo de caracteres. (a) Sem erros. (b) Com um erro
O problema com esse algoritmo é que a contagem pode ser adulterada por um erro de
transmissão. Por exemplo, se a contagem 5 no segundo quadro da Figura 32(b) se tornar 7, o
destino perderá a sincronização e não será capaz de localizar o início do quadro seguinte.
Mesmo que o to tal de verificação esteja incorreto, de modo que o destino saiba que o quadro
está defeituoso, ele ainda não terá informações suficientes para saber onde começa o quadro
seguinte. Enviar um quadro de volta à origem solicitando retransmissão também não ajuda,
Ocorre um problema sério com esse método quando dados binários, como programas-
objeto ou números em ponto flutuante, estão sendo transmitidos. É bem possível que o padrão
de bits do byte de flag ocorra nos dados. Em geral, essa situação irá interferir no
enquadramento. Uma forma de solucionar esse problema é fazer com que a camada de enlace
de dados do transmissor inclua um caractere de escape especial (ESC) imediatamente antes
de cada byte de flag "acidental" nos dados. A camada de enlace de dados da extremidade
receptora remove o byte de escape antes de entregar os dados à camada de rede. Essa
técnica é chamada inserção de bytes ou inserção de caracteres. Desse modo, é possível
distinguir um byte de flag de enquadramento de um byte nos dados pela ausência ou presença
de um byte de escape antes dele.
É claro que a próxima pergunta é: o que acontecerá se um byte de escape ocorrer em
uma posição intermediária nos dados? Nesse caso, ele também será preenchido com um byte
de escape. Desse modo, qualquer byte de escape isolado faz parte de uma seqüência de
escape, enquanto o byte de escape duplicado indica que um único escape ocorreu
naturalmente nos dados. Alguns exemplos são mostrados na Figura 33(b). Em todos os casos,
a sequência de bytes entregue após a remoção dos bytes inseridos é exatamente igual à
sequência de bytes original.
O esquema de inserção de bytes representado na Figura 33 é uma ligeira simplificação
do que é utilizado no protocolo PPP que a maioria dos computadores domésticos emprega
para se comunicar com seu provedor de serviços da Internet.
Uma das principais desvantagens da utilização desse método de enquadramento é que
ele depende da utilização de caracteres de 8 bits. Nem todos os códigos de caracteres utilizam
caracteres de 8 bits. Por exemplo, o UNICODE emprega caracteres de 16 bits. À medida que
as redes se desenvolveram, as desvantagens da inclusão do comprimento do código de
Figura 35: Inserção de bits. (a) Os dados originais. (b) Como os dados são exibidos na linha.
(c) Como os dados são armazenados na memória do receptor após a remoção de bits
Com a inserção de bits, o limite entre dois quadros pode ser reconhecido sem qualquer
tipo de ambiguidade pelo padrão de flags. Desse modo, se o receptor perder o controle de
onde estão os dados, bastará varrer a entrada em busca de sequências de flags, pois elas
nunca ocorrem dentro dos dados, apenas nos limites dos quadros.
O último método de enquadramento só se aplica a redes nas quais a decodificação no
meio físico contém algum tipo de redundância. Por exemplo, algumas LANs codificam 1 bit de
dados utilizando 2 bits físicos. Normalmente, um bit 1 é um par alto-baixo, e um bit 0 é um par
baixo-alto. O esquema significa que todo bit de dados tem um a transição intermediária,
facilitando a localização dos limites de bits pelo receptor. As combinações alto-alto e baixo-
baixo não são usadas para dados, mas são empregadas na delimitação de quadros em alguns
protocolos.
Uma observação final a respeito do enquadramento: para proporcionar uma segurança
ainda maior, muitos protocolos de enlace de dados utilizam uma combinação de contagem de
caracteres com um dos outros métodos. Quando um quadro é recebido, o campo de contagem
é utilizado para localizar o fim do quadro. O quadro só é aceito como vá lido se o delimitador
correto estiver presente na posição adequada e se o total de verificação estiver correto. Caso
contrário, será preciso examinar o fluxo recebido em busca do delimitador seguinte.
Método de repetição
Este método é considerado problemático, muito comum, sem muita eficiência, pois ao
enviar uma mensagem, são enviados três repetições desta mensagem, ou seja, um método
que apenas envia repetições da mensagem e, a partir da comparação destas mensagens se
detecta se há ou não erro.
Vamos trabalhar em cima de um exemplo para melhor entender este método: se
pretender enviar a mensagem “Hello World” será enviado “Hello World Hello World Hello
World”. Então se caso chegasse ao receptor a mensagem “Hello World Hello World Hello Torld”
este método observa que há uma discordância nas mensagens então detecta o erro.
A má eficiência deste método está no caso de enviar as três vezes uma mensagem e
estas três estiverem erradas. Para melhor entender sua pouca eficiência, vamos pegar o
mesmo exemplo da mensagem “Hello World”. O emissor pode enviar “Hello World”, pode
ocorrer o erro sendo transformado em “Hello Torld” e então chegará ao receptor a seguinte
mensagem: “Hello Torld Hello Torld Hello Torld”, ou seja, aqui está o problema deste método,
pois a mensagem irá ser considerada como correta, não detectando erro algum.
Método de Paridade
O método de paridade também é considerado ineficiente, porém é o mais utilizado na
detecção de erros. Ele consiste em ser adicionado, pelo transmissor, um bit de redundância (bit
de paridade) após ou antes da sequência de bits que pertence à mensagem. Esse bit
adicionado segue a seguinte regra:
• caso apareça o bit “1” número ímpar de vezes é adicionado 1, exemplo: 0100101
paridade = 1;
• caso apareça o bit “1” número par de vezes é adicionado 0, exemplo:
010101010010100, paridade = 0;
Vamos aqui dar um exemplo que dê certo. O caractere H na mensagem “Hello world” é
dado em bits por: 1000001. Em seguida, o bit de paridade é calculado e depois enviado:
1000001x, ou seja, existem dois bit “1” então seu bit de paridade é par, adicionando bit de
paridade “0”, sendo enviado: 10000010. No receptor, esse calcula a paridade da mensagem
enviada com o bit de paridade x adicionado, observa que x = paridade então determina
mensagem correta.
Em caso de erro, vamos citar um exemplo. Há o envio do bit “00101”, sendo primeiro “0”
como o bit de paridade, porém o receptor recebe o seguinte código: “00001”, ou seja, o circuito
de verificação de paridade percebe que há apenas um único “1”, isto é impar, então é
detectado o erro.
Checksum
Este método é muito simples e fácil de compreender, consiste em transmitir todas as
palavras junto com o resultado da soma dos bits delas. Vamos trabalhar em cima de um
exemplo para compreender melhor:
Dado os dados iniciais de duas palavras de 8 bits: 00111101 00001101, estes valores
são somados dando resultado ao checksum: 01001010.
101110110000 / 10011
No fim desta divisão sobra resto 01111, que é adicionado à mensagem original ficando:
101110111111, e é aqui com este código a mais que se detecta se houver erro, pois no receptor
é novamente calculado este mesmo resto e caso não de o mesmo resultado é detectado e
avisado o erro.
x1 = x3 ⊕ x5 ⊕ x7 ⊕ x9 ⊕ x11
x2 = x3 ⊕ x6 ⊕ x7 ⊕ x10 ⊕ x11
x4 = x5 ⊕ x6 ⊕ x7 ⊕ x12
x8 = x9 ⊕ x10 ⊕ x11 ⊕ x12
k1 = y1 ⊕ y3 ⊕ y5 ⊕ y7 ⊕ y9 ⊕ y11
k2 = y2 ⊕ y3 ⊕ y6 ⊕ y7 ⊕ y10 ⊕ y11
k3 = y4 ⊕ y5 ⊕ y6 ⊕ y7 ⊕ y12
k4 = y8 ⊕ y9 ⊕ y10 ⊕ y11 ⊕ y12
Figura 36: Exemplo do protocolo Stop-and-Wait sem erros (esq.) e com um evento de timeout (dir.)
3.4.2 Go-Back-N
Esse algoritmo transmite até N quadros sem receber confirmação, quando então espera
os ACK antes de enviar mais quadros. Caso exceda o timeout de uma dos quadros enviados,
retransmite todas os quadros a partir daquele não confirmado. Esse mecanismo usa janela
deslizante para controlar o envio dos pacotes.
Já o Go-Back-N ARQ é uma instância específica do protocolo de pedido de repetição
automática (ARQ), no qual o processo de envio continua a enviar uma série de quadros
especificados por um tamanho de janela, mesmo sem receber um pacote de confirmação
(ACK) do receptor. É um caso especial do protocolo geral de janela deslizante com o
tamanho da janela de transmissão N e o tamanho da janela de recepção 1. Ele pode
transmitir N quadros ao par antes de exigir um ACK.
O processo receptor acompanha o número de sequência do próximo quadro que espera
receber. Ele descartará qualquer quadro que não tenha o número de sequência exato esperado
(seja um quadro duplicado já confirmado ou um quadro fora de ordem que espera receber mais
tarde) e enviará um ACK para o último correto na ordem quadro. Assim que o remetente enviar
todos os quadros em sua janela, ele detectará que todos os quadros desde o primeiro quadro
perdido estão pendentes e voltará ao número de sequência do último ACK recebido do
processo receptor e preencha sua janela começando com aquele quadro e continue o processo
novamente.
Figura 39: Diferenças em eventos de perdas com o Go-Back-N (cima) e Selective Repeat (baixo)
3.5.1 HDLC
O HDLC (High Level Data Link Control) pertence a uma classe de protocolos que
diferem muito pouco entre si, como o protocolo SDLC (Synchronous Data Link Control) da IBM
em sua rede SNA (System Network Architecture). O HDLC é orientado a bit, em contraposição
aos protocolos orientados a caracteres. Estes consideram como menor unidade para
representação da informação a codificação de um grupo de bits em algum código de caracteres
(ASCII e EBCDIC por exemplo). Nos protocolos orientados a bits um quadro é constituído por
um número arbitrário de bits.
As funções executadas neste protocolo são a delimitação de início e final de quadro; a
transparência de transmissão; o controle de erros (com detecção de quadros com erros,
confirmação positiva de recebimento, temporização e retransmissão); controle de fluxos e
controle de sequência.
O quadro HDLC possui o campo verificador de erro (Checksum) serve para detectar
erros de transmissão e utiliza a técnica de CRC e usa o polinômio gerador – x16 + x12 + x5 +
1. Principais características:
• Protocolo orientado a bit
• Utilizado na recomendação do padrão X.25
• Modo de operação síncrona
• Pode operar em modo de resposta assíncrona nas duas direções
• Desenvolvendo uma função primária e secundária
Transmissão de dados através de frames:
• Transparência dos dados garantida pela técnica bit stuffing
• Utiliza o método de janela deslizante (sliding window) na transmissão
Protocolo orientado a conexão, contendo operações para:
• Estabelecer, reinicializar e encerrar conexão
• Transmitir dados
3.5.2 PPP
O PPP (Point-to-Point Protocol ) é um protocolo para transmissão de pacotes através de
linhas seriais. O protocolo PPP suporta linhas síncronas e assíncronas. Normalmente ele
tem sido utilizado para a transmissão de pacotes IP na Internet. O PPP é projetado para
transportar pacotes através de uma conexão entre dois pontos. A conexão entre os pontos
3.5.3 FDM/OFDM
O FDM (Frequency Division Multiplexing) consiste em utilizar múltiplos sinais portadores
simultaneamente através de um único caminho para transmitir dados. Os sinais viajam por um
único intervalo de frequência modulado pelos dados. Para evitar interferências ocorre o uso
de parte da banda para garantir isolamento entre frequências.
A técnica OFDM (Orthogonal Frequency Division Multiplexing) possibilita um uso mais
eficiente e otimizado da largura de banda alocada através da distribuição dos dados por
múltiplos portadores com espaçamento preciso. Desta forma, cada portadora é identificada
de forma única, eliminando a necessidade de reservar parte da banda para isolamento.
3.5.4 TDM
De acordo com o esquema TDM (multiplexação por divisão de tempo), ocorre uma
multiplexação que divide o tempo em quadros, dentro dos quais existem N compartimentos,
onde N é igual ao número de computadores. Para uma dada TDM taxa de transmissão em bits
são alocados slots (intervalos) no tempo para cada canal de comunicação.
3.5.5 CDMA
A tecnologia CDMA (multiplexação por divisão de código) é um sistema de múltiplo
acesso que permite a separação de sinais que coincidam no tempo e na frequência. Todos os
sinais compartilham o mesmo espectro de frequência, mas cada sinal é codificado através
de um código específico para cada usuário, e espalhado por toda largura de banda, como um
ruído para todos os usuários. A identificação e demodulação do sinal ocorrem no receptor,
quando é aplicada uma réplica do código utilizado para o espalhamento de cada sinal na
transmissão. Este processo retorna com o sinal de interesse, enquanto descarta todos os
outros sinais como sendo interferência.
3.5.6 Aloha
O ALOHA permite que qualquer computador transmita em um dado momento, mas
estabelece que cada computador deve adicionar um checksum no fim de sua transmissão para
permitir que o(s) receptores(s) identifiquem se o frame foi corretamente recebido.
O ALOHA é portanto um melhor serviço, e não garante que o frame de dados chegue ao
recipiente remoto sem estar corrompido. Uma rede ALOHA somente trabalha bem quando o
meio tem uma baixa utilização, tendo consequentemente uma baixa probabilidade de colisão e
uma menor probabilidade de que os dados estejam corrompidos. Existem dois tipos de
protocolo ALOHA: Pure ALOHA e Slotted ALOHA.
Com o Pure Aloha (Aloha Puro), é permitido às estações acessar o canal sempre que
tiverem dados a transmitir. Cada estação deve monitorar sua transmissão no broadcast ou
esperar um reconhecimento da estação de destino. Comparando o pacote transmitido com o
pacote recebido ou pela falta de um reconhecimento, a estação transmissora pode determinar
o sucesso do pacote transmitido. Se a transmissão for mal sucedida ocorrerá uma
retransmissão após uma quantidade aleatória de tempo para reduzir a probabilidade de uma
3.5.7 CSMA
A Ethernet usa um refinamento do protocolo ALOHA, conhecido como Carrier Sense
Multiple Access (CSMA) que melhora desempenho quando houver um tráfego alto de dados.
Quando um host tiver dados para transmitir, ele escuta o cabo primeiro (usando um
transceptor) para ver se existe portadora (sinal) e inicia a transmissão para outra estação. Os
dados são enviados somente quando nenhuma portadora é observada no meio físico. Qualquer
host que não precisa transmitir, escuta para ver se outro host começa a transmitir alguma
informação.
Porém, isto só não pode prevenir dois host que transmitirem ao mesmo tempo. Se dois
deles tentam simultaneamente transmitir, então ambos poderiam ver um médio físico inativo
(i.e. nenhum verá o sinal de portadora), e ambos concluirão que nenhum outro host está
usando o médio atualmente. Neste caso, decidirão transmitir e então haverá uma colisão. A
colisão resultará na corrupção do quadro enviado que será descartado subsequentemente pelo
receptor.
O CSMA/CD identifica quando o meio (canal) está disponível para a transmissão. Neste
momento a transmissão é iniciada. O mecanismo CD (Collision Detection - Detecção de
Colisão), ao mesmo tempo, obriga que os nós escutem a rede enquanto emitem dados, razão
pela qual o CSMA/CD é também conhecido por (LWT) "Listen While Talk" - "escute enquanto
fala".
Figura 45: Endereço MAC e como pode ser encontrado em alguns sistemas operacionais
Arquitetura:
• Piconet: – 1 mestre. – Até 7 escravos. – Até 255 estações em parked state.
• As piconets compartilham a mesma faixa de frequência, mas com diferentes sequências
de salto.
• Até 8 piconets em uma scatternet, para um índice de colisão baixo;
3 O domínio de broadcast consiste em um conjunto de dispositivos que recebem qualquer pacote broadcast originário de
qualquer dispositivo dentro do segmento de rede. Todas as portas de um hub ou de um switch pertencem ao mesmo
domínio de broadcast. O domínio pode ser segmentado por um roteador, no qual cada porta do roteador representa um
domínio de broadcast distinto. Outra forma de segmentar o domínio de broadcast é através de uma VLAN.
Foram definidos vários tipos de VLAN, de acordo com o critério de como ela será
identificada ou marcada.
VLAN DE Nível 3
As VLANs operam na camada 2 do modelo OSI. No entanto, uma VLAN geralmente é
configurada para mapear diretamente uma rede ou sub-rede IP, o que dá a impressão que a
camada 3 está envolvida.
Enlaces switch-a-switch e switch-a-roteador são chamados de troncos. Um roteador ou
switch de camada 3 serve como o backbone entre o tráfego que passa através de VLANs
diferentes. Uma VLAN de nível 3 subdivide-se em dois tipos:
VLAN por IP
A VLAN por sub-rede (em inglês Network Address-Based VLAN) associa sub-redes de
acordo com o endereço IP fonte dos datagramas (pacotes de camada 3). Então este tipo de
solução confere uma grande flexibilidade, na medida em que a configuração dos comutadores
se altera automaticamente no caso de deslocação de uma estação.
Por outro lado, uma ligeira degradação de desempenhos pode fazer-se sentir, dado que
as informações contidas nos pacotes devem ser analisadas mais detalhadamente.
3.8.1 Modem
Um modem consiste, originalmente, em um dispositivo que converte sinal analógico para
digital e vice-versa. O nome reflete com precisão essa caraterística, pois vem da combinação
das palavras em inglês MODulator (modulador) e DEModulator (demodulador). Para que você
possa entender o que isso significa, convém olharmos um pouquinho para o passado.
Nos primeiros anos da Internet como a conhecemos, os acessos eram feitos
basicamente por meio da exploração das redes de telefonia fixa. O problema é que essas
redes foram desenvolvidas para transmissão de informação (voz) por meio de sinal analógico,
não para tráfego de sinal digital (dados).
É aqui que o modem entra em cena. Cabe a esse dispositivo converter o sinal digital
para analógico (processo conhecido como modulação), assim como converter sinal analógico
em digital (demodulação).
De modo resumido, o processo de demodulação funciona assim: o provedor de Internet
transmite o sinal por meio da rede de telefonia, o modem o recebe e, na sequência, o converte
em digital para transmissão ao computador que está conectado a ele.
Já no processo de modulação, os dados oriundos do computador são convertidos em
sinal analógico para que possam ser demodulados no outro extremo da conexão.
Esse tipo de modem foi predominante por alguns anos, durante o tempo em que as
chamadas conexões discadas eram as mais comuns. Naquela época (a década de 1990 e
início dos anos 2000, basicamente), os modems trabalhavam com largura de banda de apenas
56 Kb/s.
Como o passar do tempo, as conexões discadas foram substituídas por tecnologias
muito mais rápidas, como ADSL, redes móveis 3G e 4G, fibra óptica, entre outras.
Por conta disso, é comum encontrarmos aparelhos com nomes como modem ADSL,
modem 4G, modem de fibra óptica e assim por diante. Hoje, aceita-se como definição de
3.8.2 Hub
De todos os equipamentos abordados aqui, o hub é o mais simples. Basicamente, o que
ele faz é interconectar os computadores de uma rede local baseada em cabos (via de regra, no
padrão Ethernet).
Quando o hub recebe dados de um computador (ou seja, de um nó), simplesmente
retransmite as informações para todos os outros equipamentos que fazem parte da rede.
Nesse momento, nenhum outro computador consegue transmitir dados. Esse
procedimento só passa a ser possível quando o hub tiver transmitido os dados anteriores.
Um hub pode ter várias portas, isto é, entradas para conexão dos cabos de rede
oriundos de cada computador. Há aparelhos que trazem oito, 16, 24 e 32 portas, por exemplo.
A quantidade varia de acordo com o modelo e o
fabricante.
Note que, se um ou mais nós forem
desconectados por qualquer razão (defeito em um
cabo, por exemplo), a rede continuará funcionando,
afinal, o hub é que a mantém.
Também é possível "encadear" hubs, ou seja,
ligar um hub em outro para aumentar a quantidade de
nós que compõem a rede.
O problema é que os hubs são muito limitados
para os padrões atuais. Não é possível usá-los para
conectar a LAN à Internet, por exemplo. Por isso, eles
caíram em desuso.
Somente aplicações muito específicas, como Figura 54: Um antigo hub Netgear
ferramentas que analisam o tráfego de uma rede local,
ainda encontram utilidade nos hubs.
3.8.3 Switch
Podemos dizer que o switch é uma versão mais sofisticada do hub. Esse tipo de
equipamento também interconecta computadores e outros dispositivos em uma rede, mas cria
canais de comunicação do tipo "origem e destino" dentro dela.
Isso significa que os dados saem do dispositivo de origem e são encaminhados pelo
switch apenas para o dispositivo de destino, sem que essas informações tenham que ser
retransmitidas para todos os nós da rede.
Repare que as LANs mantidas por switches têm comunicação mais eficiente, pois, ao
contrário dos hubs, esse tipo de equipamento não exige que os demais nós da rede fiquem em
"silêncio" enquanto um transmite dados.
Com um switch, você pode ter um ou mais nós enviando dados ao mesmo tempo em
sua rede. Só existirá algum tipo de espera ou bloqueio temporário de dados se esses
computadores estiverem tentando se comunicar com o mesmo nó.
Como esse modelo de origem e destino otimiza o fluxo da dados, uma rede baseada em
switch está menos suscetível a falhas de comunicação. Além disso, esse tipo de equipamento
se mostra bastante adequado a redes relativamente grandes.
Você pode encontrar no mercado switches com oito, 16, 24, 48 ou 96 portas, por
exemplo.
3.8.4 Roteador
Um roteador (router) é um equipamento que tem a
função básica de receber e direcionar pacotes de dados
dentro de uma rede ou para outras redes. Esse tipo de
dispositivo é mais avançado do que o switch. Além de
executar as funções deste, os roteadores têm como
diferencial a capacidade de determinar qual a melhor
rota para um pacote de dados chegar ao seu destino.
Figura 58: Um roteador Cisco Nesse sentido, pense por um momento que a rede é
uma cidade. Cabe então ao roteador indicar as rotas
que estão menos congestionadas ou as que são mais curtas para que um veículo possa chegar
o quanto antes a determinado ponto.
Por conta dessa característica, roteadores são indicados para interligar redes. Isso pode
ser feito nas mais diferentes configurações. Por exemplo: uma empresa que ocupa um prédio
de três andares e tem uma rede em cada um deles pode usar um roteador para interligá-las e,
ao mesmo tempo, conectá-las à Internet.
Roteadores podem ter diferentes quantidades de portas e trabalhar em conjunto com
switches ou mesmo hubs. Além disso, um roteador sempre trás recursos complementares,
como ferramentas para firewall, DHCP e DNS (protocolos que estudaremos em outras
unidades).
3.8.6 Conclusão
De acordo com o tipo de sinal ou pacote que transportam, os elementos ativos podem
estar localizados em determinadas camadas do modelo ISO. Conhecer a camada de cada
dispositivo auxilia na compreensão de sua funcionalidade.
Figura 60: Localização dos principais elementos ativos nas camadas do modelo OSI
Como se pode visualizar, o endereço decimal com pontos é uma representação do byte
do padrão binário que forma o chamado octeto, pois os números são formados por 8 bits.
Além dessa representação há o conceito de Net-IDs e Host-IDs a seguir.
Agora podemos transportar essa mesma lógica para definir um endereço IP em uma
organização de 2 níveis. Considerando os 32 bits de um endereço IPv4, a máscara de sub-rede
define os x bits mais à esquerda que identificam a rede (Net-ID) e os 32-x bits restantes
identificam o host (Host-ID).
No exemplo da Figura 69 note que os 24 bits mais à esquerda definem a máscara de
sub-rede. Desse modo, a designação decimal separada por pontos da máscara é:
255.255.255.0, uma vez que são os 3 primeiros octetos são utilizados para identificar a rede.
Outra forma de designar a máscara de sub-rede é através da simples notação
numérica /x, que referencia o x bits mais à esquerda. No exemplo da figura essa máscara é 24
e o endereço IP pode ser descrito como: 192.168.100.10/24 .
4.7 Gateway
É uma máquina conhecedora de mais redes e que outros dispositivos a usam para
enviar dados quando não conhecem a rede e o IP do destinatário que deve receber aqueles
dados. A estação envia para o Gateway qualquer requisição de endereço que não faça parte da
rede local. Exemplo: Internet.
4.8 Sub-redes
Dividir um grande bloco de endereços em vários sub-blocos contíguos e atribuir esses
sub-blocos a diferentes redes menores é chamado de sub-rede. É uma prática amplamente
usada quando o endereçamento classless é feito.
Para o IPv4, uma representação alternativa usa o endereço de rede seguido da máscara de
sub-rede, escrito na forma decimal com pontos:
• 192.168.0.0 /24 pode ser escrito como 192.168.0.0 255.255.255.0 → pois contando os
24 bits da Esquerda para Direita, temos: 11111111.11111111.11111111.00000000
• 192.168.0.0 /22 pode ser escrito como 192.168.0.0 255.255.252.0 → pois contando os
22 bits da Esquerda para Direita, temos: 11111111.11111111.11111100.00000000
Esses são endereços IP reservados. Esses endereços são destinados ao uso em redes
locais fechadas e a alocação de tais endereços não é controlada globalmente por ninguém.
O acesso direto à Internet usando um endereço IP privado não é possível. Nesse caso,
a conexão com a Internet é via NAT (sigla para Network Address Translation, serviço que
permite realizar a tradução do endereço de rede substitui o endereço IP privado por um
público). Os endereços IP privados na mesma rede local devem ser exclusivos e não podem
ser repetidos.
A Figura 71 exibe um exemplo de uma LAN contendo endereços privados (rede
192.168.1.x). Quando datagramas precisam ser encaminhados para a Internet (interface WAN
do roteador), ele sofre uma tradução (com o auxílio do NAT) de seu endereço privado para
público (82.129.80.111), que pode ser reconhecido e encaminhado por roteadores no núcleo da
Internet. Ao receber uma resposta de sua solicitação, o datagrama retorna a LAN onde é tem
seu endereço público traduzido de volta para endereço privado e encaminhado ao dispositivo
legítimo dessa comunicação.
Cache ARP
Para que o protocolo ARP possa operar de forma eficiente é necessária a manutenção
de um cache ARP em cada host. Esse cache mantém os mapeamentos de endereços mais
recentes de IPs para endereços MAC na memória do host, possuindo um tempo de expiração
para cada entrada no cache de 20 minutos a partir do momento em que a entrada foi
adicionada.
Podemos examinar o cache ARP usando o comando arp -a em um prompt. A opção -a
é utilizada para mostrar todas as entradas presentes no cache.
Note que a saída gerada pelo comando nos mostra três colunas de informações, contendo os
endereços IPs de vários hosts, seus endereços físicos em notação hexadecimal, e o tipo da
entrada, que pode ser dinâmica ou estática:
• Entradas de Cache ARP Estáticas: resoluções de endereços que são adicionadas
manualmente à tabela de cache, e mantidas de forma permanente
• Entradas de Cache ARP Dinâmicas : resoluções de endereços que são adicionadas de
forma dinâmica à tabela de cache, como resultado de resoluções ARP completadas com
sucesso. São transitórias, e removidas após um período de tempo.
Passo 1 Passo 2
Passo 3
Passo 4
Figura 77: Endereço IPv6 e a possibilidade de se omitir trechos de endereços que contêm “0000”
Isso acontece porque a Internet, a princípio, não foi programada para atingir proporções
tão grandes, e nos dias de hoje acaba sendo inevitável substituir o sistema para um novo
Figura 80: Pilha Dupla: uma das formas de se implementar a transição de IPv4 para IPv6
Essas técnicas podem ser classificadas, ainda, entre stateful e stateless. Técnicas
stateful são aquelas em que é necessário manter tabelas de estado com informações sobre os
endereços ou pacotes para processá-los. Já técnicas stateless não tem essa necessidade,
cada pacote é tratado de forma independente. De forma geral técnicas stateful são mais caras:
gastam mais CPU e memória, por isso não escalam bem. Sempre que possível deve-se dar
preferência a técnicas stateless.
Figura 89: Dois clientes que usam o mesmo número de porta de destino (80) para se comunicar
com a mesma aplicação de servidor Web
O TCP vê os dados como uma cadeia de bytes não estruturada, mas ordenada. O uso que
o TCP faz dos números de sequência reflete essa visão, pois esses números são aplicados
sobre a cadeia de bytes transmitidos, e não sobre a série de segmentos transmitidos. O
número de sequência para um segmento é o número do primeiro byte do segmento.
Vamos ver um exemplo. Suponha que um processo no hospedeiro A queira enviar uma
cadeia de dados para um processo no hospedeiro B por uma conexão. O TCP do hospedeiro A
vai implicitamente numerar cada byte da cadeia de dados. Suponha que a cadeia de dados
consista em um arquivo composto de 500 mil bytes, que o MSS seja de 1.000 bytes e que seja
atribuído o número 0 ao primeiro byte da cadeia de dados.
Assim, o TCP constrói 500 segmentos a partir da cadeia de dados. O primeiro recebe o
número de sequência 0; o segundo, o número de sequência 1.000; o terceiro, o número de
sequência 2.000, e assim por diante. Cada número de sequência é inserido no campo de
número de sequência no cabeçalho do segmento TCP apropriado.
Vamos agora considerar os números de reconhecimento. Eles são um pouco mais
complicados do que os números de sequência. Cada segmento que chega do hospedeiro B
tem um número de sequência para os dados que estão fluindo de B para A. O número de
reconhecimento que o hospedeiro A atribui a seu segmento é o número de sequência do
próximo byte que ele estiver aguardando do hospedeiro B.
Então suponha que o hospedeiro A tenha recebido do hospedeiro B todos os bytes
numerados de 0 a 535 e também que esteja prestes a enviar um segmento ao hospedeiro B. O
hospedeiro A está esperando pelo byte 536 e por todos os bytes subsequentes da cadeia de
dados do hospedeiro B. Assim, ele coloca o número 536 no campo de número de
reconhecimento do segmento que envia para o hospedeiro B.
Como outro exemplo, suponha que o hospedeiro A tenha recebido um segmento do
hospedeiro B contendo os bytes de 0 a 535 e outro segmento contendo os bytes de 900 a
1.000. Por alguma razão, o hospedeiro A ainda não recebeu os bytes de 536 a 899. Nesse
exemplo, ele ainda está esperando pelo byte 536 (e os superiores) para poder recriar a cadeia
de dados de B. Assim, o segmento seguinte que A envia a B conterá 536 no campo de número
de reconhecimento. Como o TCP somente reconhece bytes até o primeiro byte que estiver
faltando na cadeia, dizemos que o TCP provê reconhecimentos cumulativos.
Suponha agora que um hospedeiro A inicie uma sessão Telnet com um hospedeiro B.
Como o hospedeiro A inicia a sessão, ele é rotulado de cliente, enquanto B é rotulado de
servidor. Cada caractere digitado pelo usuário (no cliente) será enviado ao hospedeiro remoto;
este devolverá uma cópia (“eco”) de cada caractere, que será apresentada na tela Telnet do
usuário. Esse eco é usado para garantir que os caracteres vistos pelo usuário do Telnet já
Figura 94: Números de sequência e de reconhecimento para uma aplicação Telnet simples
Figura 99: Retransmissão rápida: retransmitir o segmento que falta antes da expiração do
temporizador do segmento
4 Para definir o valor do temporizador o TCP faz uma estimativa dinâmica do tempo de ida e volta dos pacotes, chamado
RTT (roud trip time).
Figura
107:
Componentes do controle de congestionamento TCP atuando em conjunto
5 Segundo Forouzan (2009), corresponde à quantidade de dados que podem ser transferidos numa certa unidade de tempo.
Esse conceito é muitas vezes traduzido como vazão de dados.
6 Os protocolos TCP e UDP pertencem à camada 4 do modelo OSI (camada de transporte) e em traços gerais, em conjunto
com o número de porta do serviço (aplicação) e IP da máquina, definem como uma determinada informação é transmitida
na rede. Basicamente, a diferença entre eles é que o TCP é um protocolo mais confiável que fornece garantia de entrega, já
o UDP abre mão dessa garantia em função da simplicidade e desempenho.
7 O comando Netstat (Network statistic) é uma ferramenta que pode ser utilizada em plataformas Windows, Unix e Linux, e
permite exibir estatísticas de conexões de rede (entrada e saída), tabela de roteamento IP e informações de utilização da
interface na rede. (Fonte: http://faqinformatica.com/comando-netstat-para-que-serve-e-como-utiliza-lo/)
É importante diferenciar ainda que a consulta DNS padrão é aquela que busca resolver
um nome de domínio para obter um endereço IP, chamada de consulta direta. Há ainda um
tipo de consulta em que, de posse do endereço IP, pretende-se obter o nome de domínio;
consulta denominada reversa.
Independente do sentido (direta ou reversa) e do tipo de consulta (iterativa ou recursiva);
ao receber a resposta de uma consulta, o servidor de nomes local pode armazenar as
informações dessa resposta em forma de cache, permitindo uma resposta direta e imediata ao
solicitante que consultar o mesmo nome de domínio dentro de um determinado intervalo de
termpo, que é especificado pelo campo TTL (time to live ou tempo de vida) do registro
armazenado.
Se um objeto expirou, o servidor Web original será consultado para revalidá-lo. Quando
o objeto armazenado no cache contém no cabeçalho o campo Last-Modified, que indica
quando ele sofreu a última modificação, o servidor proxy pode usá-lo para fazer uma requisição
If-Modified-Since ao servidor Web remoto e, a partir da comparação das datas, saber se o
objeto foi alterado. Se o documento não foi modificado, não será retornado. O cliente receberá
como resposta informações como, por exemplo, a nova data de expiração. Se o objeto foi
modificado, ele será retornado. Essa operação é conhecida como GET Condicional (desde
que a requisição contenha a instrução If-Modified-Since e tenha sido feita via método GET).
Quando os diretórios de cache estão cheios, alguns objetos devem ser removidos para
que novos objetos sejam armazenados. A escolha é feita usando algoritmos de substituição,
em conjunto com algumas regras configuradas pelo administrador.
Para resumir, listamos a seguir os principais benefícios do caching:
• Redução da latência;
• Redução de consumo de banda;
• Redução do tráfego na rede;
• Aumento da velocidade e do desempenho do site.
Assim como o HTTP, o FTP também utiliza o TCP como protocolo de transporte
subjacente. Mas uma diferença observada entre conexões HTTP e FTP é que as deste
protocolo são abertas de forma paralelas para dois diferentes propósitos: uma conexão de
controle aberta na porta 21 e uma conexão de dados aberta na porta 20. A primeira é
utilizada para enviar informações de controle entre cliente e servidor, como: nome de usuário,
senha, comandos, etc. A conexão de dados, por sua vez, é utilizada de forma dedicada para
transferir o arquivo solicitado com o uso de comandos, como: retr (recuperar) e stor
(armazenar).
Sobre a forma como são abertas essa conexões é importante mencionar os modos de
operação do FTP. No FTP ativo, o cliente, através de uma porta alta, estabelece a conexão de
controle na porta 21 do servidor. Por sua vez, o servidor estabelece a conexão de dados a
partir de sua porta 20 para uma porta alta do cliente. Perceba que aqui foi o servidor que tomou
a iniciativa de estabelecimento da conexão de dados; diz-se então que ele atua ativamente.
No entanto, o modo ativo pode trazer problemas se o cliente encontra-se dentro de uma
rede com IPs privados (por meio do uso de NAT). Para contornar complicações como essa, foi
desenvolvido o FTP passivo. Por meio dele, o cliente, através de uma porta alta, estabelece a
conexão de controle na porta 21 do servidor, assim como ocorre no FTP ativo. A diferença é
que o cliente agora solicita o modo passivo ao servidor (PASV), que responde informando uma
de suas portas temporárias usadas para transferência de dados. Nesse caso é o cliente que
toma a iniciativa do estabelecimento da conexão de dados. Assim o servidor atua
passivamente.
Outros serviços incluem, por exemplo, ferramentas de acesso que permitem controlar
máquinas que podem estar localizadas em redes remotas. Para isso pode ser utilizando o
serviço SSH (Secure Shell) que permite o acesso remoto seguro criptografando os dados
transmitidos pela rede; diferente do antigo serviço Telnet, que não implementava quaisquer
mecanismos de segurança.
Vale ainda citar os protocolos ou padrões:
• SNMP (Simple Network Management Protocol): protocolo padrão para
monitoramento e gerenciamento de dispositivos na rede. Utiliza o UDP nas
portas 161 e 162;
• TFTP (Trivial File Transfer Protocol): versão simplificada do FTP e sem muitos
recursos de segurança. Utiliza o UPD na porta 69;
• SFTP (SSH File Transfer Protocol ou Secure File Transfer Protocol): as
transferências pelo FTP não são criptografadas, ou seja, qualquer arquivo
transferido por esse protocolo pode ser interceptado e lido. Para um nível maior
de segurança, o SFTP oferece a mesma função básica do FTP, mas utiliza o
tunelamento e realiza transferências de arquivos sobre SSH, o que é diferente da
abordagem cliente-servidor e de transferência direta do FTP.
• FTPS (FTP c/ SSL): envolve o uso de uma SSL/TLS na camada abaixo do protocolo
FTP padrão para criptografar os canais de controle e/ou dados.
• NFS (Network File System): sistema de arquivos distribuídos desenvolvido com a
finalidade de compartilhar arquivos e diretórios entre computadores conectados
em rede, formando assim um diretório virtual.
Questões
5. Explique as funções dos protocolos POP3, IMAP, HTTP e SMTP para o serviço de correio
eletrônico.
6. Explique por que alguns protocolos da camada de aplicação utilizam o TCP como protocolo
da camada de transporte.