Você está na página 1de 42

Redes de Computadores

Arquitetura da Rede Internet


1 Introdução
Os próximos capítulos enfocam cada uma das 4 camadas do modelo de referência
TCP/IP, ou seja, a pilha de protocolos da Internet.

Em cada uma destas camadas, o capítulo enfoca primeiramente os principais conceitos


envolvidos na sua implementação assim como os serviços necessários a sua integração
ao modelo de referência e, por fim, como estes serviços são implementados no modelo
TCP/IP.

2 Camada de Enlace
A camada de enlace do modelo de referência OSI é responsável por criar um canal de
comunicação entre dois nós adjacentes de uma rede para transmitir os quadros enviados
pela camada de rede.

As funcionalidades que o protocolo da camada de enlace executam ao enviar e receber


quadros entre os nós da rede são:
• entrega confiável: garante a entrega dos quadros sem erros, através de
confirmações de recebimento e pedidos de retransmissão, em enlaces baseados
em tecnologias suscetíveis a erros de transmissão (redes sem fio);
• detecção de erros: inclui bits de verificação de erros no quadro para que o nó de
recepção verifique a sua integridade;
• correção de erros: corrige erros em quadros no nó de recepção a partir de
informação redundante incluída pelo nó de envio;
• retransmissão de quadros: requisita ao nó de envio a retransmissão de um
quadro recebido com erros;
• controle do fluxo: previne que o nó de envio sobrecarregue o buffer do nó de
recepção;
• acesso ao meio físico: especifica a estrutura do quadro e as regras do protocolo
de acesso ao meio físico utilizado na transmissão.

A implementação do protocolo da camada de enlace em um nó está presente nas placas


de rede, cujo objetivo é de prover as funcionalidades listadas acima.

O processamento dos quadros é feito de forma independente do processamento do


equipamento que contém a placa de rede, a qual somente encaminha o pacote extraído
do quadro quando este for dirigido para o próprio equipamento e tiver sido recebido sem
erros através do enlace.

Francisco Adell Péricas 1


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

Erros de transmissão são relativamente comuns, principalmente em alguns meios como


na transmissão sem-fio e de fios de par trançado. Como resultado dos processos físicos
que os geram, os erros tendem a acontecer com mais freqüência em grandes volumes
(rajadas) do que separadamente.

Há duas estratégias básicas para tratar erros. A primeira utiliza códigos de correção de
erros, na qual inclui-se informação redundante suficiente em cada bloco de dados
enviada de forma a permitir ao receptor deduzir qual o dado que deveria ter sido
transmitido. A segunda utiliza códigos de detecção de erros, na qual inclui-se
redundância suficiente para permitir que o receptor deduza que houve um erro, mas sem
identificar qual, e solicite uma retransmissão.

A forma mais simples de detecção de erro é através do uso de um bit de paridade. O bit
de paridade acrescentado a um dado é escolhido de forma que o número de bits 1 do
dado seja par ou ímpar. Por exemplo, quando o byte 10101100 é enviado com paridade
par através da inclusão de um bit no final, a seqüência transmitida passa a ser
101011000, ao passo que com paridade ímpar passa a ser 101011001. Este método é
capaz de detectar um número ímpar de erros por dado.

Outra técnica de detecção de erro é chamada soma de verificação. Este método


simplesmente soma os bytes (ou conjunto deles formando inteiros de 16, 32, ... bits) e o
resultado complemento de 1 é enviado junto com o pacote. Desta forma, o receptor
precisa somar todos estes bytes (ou conjunto de deles) com a soma de verificação e se o
seu resultado for nulo pode concluir que não houve erro na sua transmissão.

Outro método muito difundido é o método polinomial ou CRC (Cyclic Redundancy


Check). Quando o método do CRC é empregado, o transmissor e o receptor devem
concordar em relação ao polinômio gerador antecipadamente. Na Internet, os dois
principais polinômios geradores são:
• GCRC-16 = 11000000000000101
• GCRC-32 = 100000100110000010001110110110111

Para o cálculo do CRC a ser enviado com o pacote, é preciso calcular o resto da divisão
R tal que (( D * 2 r ) XOR R) seja divisível por G.

d bits r bits

D (bits a serem enviados) R (bits do CRC)


r
( D * 2 ) XOR R = n * G

Apesar de o cálculo necessário para computar o CRC pareça complicado, um simples


circuito de registro de deslocamento permite calcular e verificar CRCs em nível de
hardware.

Os padrões de CRC podem identificar rajadas de erro de até (r + 1) bits e qualquer


número ímpar de bits errados.

Francisco Adell Péricas 2


2.2 Tipos de Enlace de Rede

Há dois tipos básicos de enlace de rede: o enlace ponto-a-ponto e o enlace de difusão.


O enlace de ponto-a-ponto consiste de uma terminação de um enlace (o emissor)
enviando bits à outra terminação de enlace (o receptor). Há vários protocolos que se
destinam a este tipo de enlace, entre eles se destacam o PPP (Point-to-Point Protocol) e
o HDLC (High Level Data Link Control).

Por outro lado, o enlace de difusão permite haver vários emissores e receptores
conectados ao mesmo, único e compartilhado canal de comunicação. As redes de
computadores tipicamente utilizam este tipo de enlace. Como neste tipo de protoco lo mais
de uma estação pode transmitir quadros ao mesmo tempo, a sua principal
responsabilidade é gerir o acesso ao meio de transmissão.

LAN

LAN sem fio

Satélite

Uma rede baseada em enlaces de difusão a taxas de R bps deveria idealmente ter as
seguintes características:
• quando apenas um equipamento tiver dados para enviar, a sua taxa de
transmissão deverá ser de R bps;
• quando M equipamentos tiverem dados para enviar, cada um deverá poder
transmitir a uma taxa média de R/M bps;
• não deverá ser necessário haver um equipamento gestor dos enlaces de forma a
evitar que, em caso de falha, toda a rede seja afetada.

2.3 Endereçamento em LANs

Os equipamentos de uma LAN enviam quadros entre si através de um canal de


transmissão de difusão. Isto significa que quando um equipamento da LAN transmite um
quadro, todos outros equipamentos conectados o recebem.

Francisco Adell Péricas 3


Para permitir que um quadro seja enviado somente a um equipamento em particular é
preciso que este tenha um endereço específico. Desta forma, quando a placa de rede dos
equipamentos conectados à rede receberem um quadro:
• se o endereço de destino do quadro é igual ao endereço da placa de rede que o
recebeu ou é um endereço de broadcast, o pacote é extraído e passado para o
protocolo do nível de rede;
• caso contrário, a placa de rede do equipamento simplesmente descarta o quadro.

Este endereço da placa de rede do equipamento é chamado de endereço MAC (Media


Access Control), o qual, para a maioria das LANs, é dado por 6 bytes expressos através
da notação hexadecimal. Estes endereços são permanentes para cada placa de rede e
programados durante a sua manufatura de forma que não haja duas placas no mundo
com o mesmo endereço MAC. Quem é responsável por gerenciar e distribuir estes
endereços é a IEEE.

Especificamente no caso da Internet, há um endereço lógico de rede para cada


equipamento conectado a ela cuja distribuição geográfica é hierárquica para facilitar a
localização dos equipamentos conectados à rede. Uma vez localizada a LAN que contém
o endereço de rede de destino, é preciso identificar qual o endereço MAC da máquina a
que se destina o quadro: isto é feito através do protocolo ARP (Address Resolution
Protocol). Cada equipamento da Internet e cada router possuem um módulo ARP
embutido.

IP: 11.11.11.11 IP: 22.22.22.21


MAC: 61-A1-50-11-29-F3 MAC: E5-10-41-23-C1-11

IP: 11.11.11.10
MAC: 20-E4-11-97-21-45

IP: 22.22.22.20
MAC: 45-A6-11-10-4F-41

IP: 11.11.11.12 IP: 22.22.22.22


MAC: 21-E6-FF-12-10-11 MAC: 12-48-E4-81-11-09

O objetivo do módulo ARP é resolver o endereço de rede dentro de uma LAN. Para tanto,
o módulo ARP contém uma tabela ARP mantida dinamicamente durante a utilização da
LAN.

Quando um endereço MAC não estiver resolvido na tabela ARP, uma mensagem
broadcast do protocolo ARP é enviada na LAN para que o endereço MAC de destino seja
encontrado e a tabela ARP seja atualizada.

Quando uma mensagem é enviada de uma LAN para outra através de um router, o
quadro é enviado para o endereço MAC do router, cujo endereço é substituído pelo
endereço MAC do equipamento de destino (obtido da tabela ARP do router) e é então
passado adiante na nova LAN.

Francisco Adell Péricas 4


2.4 LAN Padrão IEEE 802.3 - Ethernet

Os padrões IEEE 802 de LAN diferem na camada física e na sub-camada MAC (Media
Access Control) da camada de enlace, mas são compatíveis a partir da camada de
enlace. O MAC tem por objetivo gerir o multi-acesso a uma rede de difusão, determinando
quem será o próximo a usar o canal.

O IEEE 802.3 é uma LAN CSMA/CD (Carrier Sense Multiple Access/Collision Detection):
quando uma estação ligada a um barramento de dados quer transmitir ela escuta ao
cabo. Se o cabo estiver ocupado, a estação aguarda até que ele fique livre; caso contrário
ela começa imediatamente a transmitir. Se duas ou mais estações começarem a
transmitir simultaneamente em um cabo desocupado, haverá uma colisão. Todas as
estações que colidirem terminam a transmissão, aguardam durante um tempo aleatório e
repetem o processo inteiro novamente.

O padrão IEEE 802.3 provê um serviço se conexão e sem garantia de entrega para a
camada de rede, e está definido para as taxas de transmissão 10Mbps, 100Mbps (Fast
Ethernet) e 1Gbps (Gigabit Ethernet).

O cabeamento especificado para o IEEE 802.3 é:

Nome Cabo Slot max. Topologia Vantagens


10base2 Coaxial fino 200 m Barramento Sistema mais barato
10/100base-T Par trançado 100 m Estrela Fácil manutenção
10/100base-F Fibra ótica 2000 m Estrela Melhor para edifícios

O protocolo IEEE 802.3 usa a codificação Manchester ou Manchester diferencial: sempre


haverá uma transição, tanto para o bit 0 quanto para o bit 1.

Fluxo de bits 1 0 0 0 0 1 0 1 1 1 1

Cod. binária

Cod. Manchester

Cod. Manchester dif.

O formato do quadro IEEE 802.3 é:

8 6 6 2 46..1500 4

Preâmbulo Destino Origem Tipo Dados CRC

Cada um dos campos tem a seguinte função:


• preâmbulo: os 8 primeiros bytes são utilizados par a conterem um padrão de bits
especial para permitir a sincronização entre as placas de rede dos equipamentos
emissor e receptor;

Francisco Adell Péricas 5


• endereço de destino: contém o endereço MAC da placa de rede do equipamento
de destino;
• endereço de origem: contém o endereço MAC da placa de rede do equipamento
de origem;
• tipo: serve para identificar a que tipo de protocolo da camada de rede pertence os
dados deste quadro;
• dados: contém o pacote da camada de rede. O tamanho máximo é de 1500 bytes
e o tamanho mínimo é de 64 bytes, requisito necessário para garantir a indicação
de conflito ao longo da rede;
• CRC: contém o valor do CRC dos campos do quadro (exceto do preâmbulo).

2.5 LAN Padrão IEEE 802.5 – Token Ring

O IEEE 802.5 é chamado de Token Ring, cujo formato físico é um cabo e m forma de anel
com as estações conectadas ao longo dele.

Estações
(interfaces
do anel)

Anel
unidirecional

Um padrão de bit especial, chamado de token, circula em torno do anel sempre que todas
estações estiverem ociosas. Quando uma estação deseja transmitir ela tem de se
apoderar do token e removê-lo do anel antes de transmitir. Isso é feito através da inversão
de um único bit no token de três bytes, o que o transforma instantaneamente nos três
primeiros bytes de um quadro de dados normais. Como só existe um token, apenas u ma
estação pode transmitir em um determinado instante: não existe colisão.

O Token Ring opera a taxas de 1Mbps, 4Mbps e 16 Mbps. Usa codificação Manchester
diferencial. Possui um esquema de confirmação automática e trabalha com prioridades. O
Token Ring precisa de uma estação que assumo o papel de monitor da rede para
inicializar a rede e para garantir que um token esteja sempre presente (estação com o
token pode ser impropriamente desligada). Se a estação monitora for desligada, outra
estação da rede assume automaticamente seu papel.

O formato do quadro IEEE 802.5 é:

1 1 1 6 6 sem limite 4 1 1

Início Acesso Controle Destino Origem Dados CRC Fim Status

Cada um dos campos tem a seguinte função:


• início: é um byte utilizado para demarcar o início do token;
• controle de acesso: contém o bit de token e os bits de pri oridade;

Francisco Adell Péricas 6


• controle de quadro: serve para distinguir os quadros de dados dos quadros de
manutenção do anel;
• endereço de destino: contém o endereço MAC da placa de rede do equipamento
de destino;
• endereço de origem: contém o endereço MAC da placa de rede do equipamento
de origem;
• dados: contém o pacote da camada de rede;
• CRC: contém o valor do CRC dos campos do quadro (exceto início, fim e status);
• fim: é um byte utilizado para demarcar o fim do token;
• status: identifica quando o quadro encontrou o destino e foi lido ou não.

À medida que os bits propagados ao longo do anel retornam, eles são verificados e
removidos do anel pelo transmissor.

É fácil lidar com confirmações em um Token Ring: o formato do quadro só precisa incluir
um campo de um bit para status de recebimento do quadro.

Uma arquitetura específica baseada no Token Ring é chamada FDDI (Fiber Distributed
Data Interface). O FDDI é basicamente um duplo anel de fibra ótica que opera a taxas de
100 Mbps. Em cada anel existe tipicamente duas ou mais conexões ponto-a-ponto entre
estações adjacentes.

Anel primário

Anel secundário

Em caso de erros, falhas em algum segmento ou estação, o anel primário liga -se ao anel
secundário a fim de isolar o trecho problemático transformando-se em um único anel.
Deste modo o tráfego atinge, pelo anel primário, o último nó que não está interrompido e é
desviado para o anel secundário, retornando, a fim de alcançar as estações do outro lado
pela via de backup.

2.6 LAN Padrão IEEE 802.11 – Sem Fio

O IEEE 802.11 é uma família de especificações de uma arquitetura de redes sem fio
(WLAN – Wireless LAN) que se baseia em uma divisão da área de cobertura em células,
chamada BSS (Basic Service Set), a qual contém uma estação base chamada AP
(Access Point).

O tamanho das BSSs, tipicamente de 500m2, depende das características do ambiente e


dos receptores utilizados.

Francisco Adell Péricas 7


IEEE 802.11
AP

BSS Bridge

IEEE 802.3

Bridge
IEEE 802.11
AP

BSS

Há atualmente três especificações na família 802.11: 802.11a, 802.11b (freqüentemente


chamado Wi-Fi) e 802.11g.

A especificação IEEE 802.11a aplica-se aos sistemas sem fio baseadas no ATM e é
usada normalmente em redes de acesso, operando nas faixas entre 5 GHz e 6 GHz. A
taxa de transmissão desse tipo de rede varia desde os 6 Mbps, 12 Mbps e 24 Mbps até os
54 Mbps.

As especificações IEEE 802.11b e IEEE 802.11g, que podem transmitir por


radiofreqüência ou infravermelho, oferecem transmissão sem fio sobre distâncias
relativamente curtas, operando na freqüência de 2,4 GHz. A taxa de transmissão desse
tipo de rede é de 11 Mbps (IEEE 802.11b) ou 54 Mbps (IEEE 802.11g).

O protocolo utilizado pelo IEEE 802.11 é o Ethernet e o método básico de acesso é do


tipo de coordenação distribuída, onde a decisão de transmitir é tomada individualmente
pelas estações, conhecida por CSMA/CA (Carrier Sense Multiple Access/Collision
Avoidance).

Quando uma estação deseja transmitir, sente o meio para determinar se outra estação já
está transmitindo. Se o meio estiver livre, a estação transmite seu quadro, senão ela
aguarda o final da transmissão e reinicia o processo. Após transmitir o quadro, a estação
aguarda por uma confirmação de recebimento da estação de destino: se receber a
confirmação, a transmissão do quadro é considerada concluída; se não receber a
confirmação, houve algum problema (por exemplo, ruído excessivo ou mais de uma
estação enviou um quadro ao mesmo tempo) e portanto o processo de transmissão
deverá ser reiniciado após um tempo aleatório

Há outra tecnologia de comunicação sem fio chamada Bluetooth. Trata-se de uma


especificação da indústria de telecomunicações e computação que descreve como
telefones móveis, computadores, periféricos e PDAs (Personal Digital Assistant) podem
interconectar-se com computadores e telefones, usando uma rede sem fios de alcance
limitado.

Cada dispositivo deve ser equipado com um microprocessador que transmite e recebe em
uma faixa de freqüência que em geral é de 2,45 GHz. Cada dispositivo tem um número
único de 48 bits padronizado. As conexões são unicasting e a distância máxima entre
dispositivos é de 10 metros.

Francisco Adell Péricas 8


Com o Bluetooth podem ser trocados dados a uma taxa de 1 Mbps (até 2 Mbps na
segunda geração da tecnologia). Um esquema permite aos dispositivos comunicarem-se
até mesmo em áreas com muita interferência eletromagnética. Possui criptografia e
verificação de erros.

2.7 Ligação Inter-Redes

Existem muitas redes diferentes, incluindo LANs, MANs e WANs. Diversos protocolos
estão sendo amplamente usados em cada camada. Para viabilizar a interconexão de
redes é preciso examinar as questões que surgem quando duas ou mais redes se juntam
para formar uma única rede.

O nome utilizado para o elemento que conecta duas redes depende da camada em que a
rede funciona:
• Camada Física: Repeaters e Hubs: dispositivos que amplificam e regeneram
sinais fracos. São necessários para fornecer corrente para controlar cabos longos;
• Camada de Enlace: Bridges e Switches: dispositivos que armazenam e
encaminham quadros de enlace de dados entre LANs;
• Camada de Rede: Routers: dispositivos que encaminham pacotes entre diferentes
tipos de redes, as quais podem utilizar protocolos distintos;
• Camada de Aplicação: Gateways: dispositivos que conectam duas partes de uma
aplicação na camada de aplicação.

A figura a seguir contém alguns exemplos de tipos de dispositivos utilizados na


interconexão de redes.

LAN 802.3 LAN 802.3


Hub Bridge LAN 802.5

WAN X.25 Router

Muitos dispositivos existentes no mercado combinam a funcionalidade de uma bridge com


a de um router. A propriedade principal de uma bridge autêntica é que ela examina os
cabeçalhos de quadro da camada de enlace de dados e não inspeciona ou modifica os
pacotes da camada de rede contidos nos quadros.

Francisco Adell Péricas 9


Uma bridge, por exemplo, não é capaz de informar se o quadro que está encaminhando
de uma LAN 802.3 para uma LAN 802.5 contém um pacote IP, IPX ou CLNP
(Connectionless Network Protocol) no campo de carga útil. Um router, pelo contrário, sabe
muito bem se o router é IP, IPX, CLNP, ou se são todos os três combinados. Ele examina
esses cabeçalhos e toma decisões com base no endereço encontrado. Por outro lado,
quando um router autêntico entrega um pacote para a camada de enlace de dados, ele
não sabe se esse pacote será transportado em um quadro 802.3 ou em um quadro 802.5.

As redes podem diferir de várias formas. É a superação dessas diferenças que torna a
ligação inter-redes mais difícil do que a operação de uma única rede.

Quando os pacotes de uma rede orientada à conexão têm de transitar por uma rede sem
conexão, eles podem ser reordenados, fato que o transmissor não espera e com o qual o
receptor não está preparado para lidar. Com freqüência, serão necessárias conversões de
protocolo, o que talvez seja difícil caso a funcionalidade exigida não possa ser expressa.
As conversões de endereço também serão necessárias, o que talvez exija algum tipo de
sistema de diretório. A passagem de pacotes de multicast por uma rede que não aceita
esse recurso requer a geração de pacotes separados para cada destino.

Diferentes tamanhos máximos de pacote usados pelas redes geralmente causam


problemas. Diferentes qualidades de serviço, controles de erro, fluxo e congestionamento,
mecanismos de segurança e definições de parâmetros também podem causar problemas.

2.7.1 Repeaters e Hubs

Tanto os repeaters quanto os hubs são dispositivos que operam na camada física:
tratam essencialmente da amplificação e retransmissão de bits.

Um repeater possui duas portas e é utilizado basicamente para aumentar a distância


máxima permitida entre dois nós de uma rede baseada em qualquer tipo de tecnologia
LAN.

Um hub é um tipo especial de repeater que tem várias portas. Quando um bit chega por
uma de suas portas, o hub simplesmente o copia em todas as demais portas.

Hub

Hub Hub

Repeater

Francisco Adell Péricas 10


Através da utilização de hubs permite-se obter uma LAN hierarquizada o que leva a um
isolamento imediato de defeitos sem afetar os seus demais componentes, facilitando
assim a sua manutenção. Por outro lado, é importante observar que a presença de hubs
não isola a mídia de transmissão, ou seja, todos os equipamentos estão disputando a
mesma mídia de transmissão como se os hubs não existissem.

2.7.2 Bridges e Switches

Tanto as bridges quanto os switches são dispositivos que operam na camada de enlace:
filtram e encaminham os quadros recebidos de acordo com o endereço MAC de seu
destino.

Bridge

Hub Hub

Através da utilização de bridges, que possuem de 2 a 6 portas de conexão, permite-se


obter LANs separadas, ou seja, obtém-se um isolamento da mídia de transmissão entre
cada uma das LANs interligadas por ela.

Para que o processo de encaminhamento seja efetuado, cada bridge gerencia uma tabela
interna de endereços MAC identificando em qual das suas portas encontra-se a LAN
que contém o equipamento a que cada pacote que chega se destina. Esta tabela é
mantida dinamicamente apenas pela observação dos pacotes que passam por suas
portas, identificando a que portas os endereços MAC de origem e destino pertencem.

Quando um quadro chega à bridge por uma de suas portas, se o endereço MAC de
destino não estiver presente em sua tabela de endereços, ela transmite o quadro em
todas as demais portas de saída. Caso contrário, o quadro é transmitido somente na porta
de saída especificada na tabela de endereços.

Como algumas empresas possuem mais de um tipo de tecnologia de LAN e/ou LANs
operando a diferentes taxas de transmissão, as bridges foram desenvolvidas de forma a
permitir interligá-las.

Francisco Adell Péricas 11


IEEE 802.3

Bridge
802.3
802.5

IEEE 802.5

Para interconectar as LANs 802.3, 802.5 e 802.11 é preciso contornar algumas


dificuldades:
• cada LAN usa um formato de quadro diferente;
• não funcionam na mesma taxa de transmissão de dados;
• os temporizadores não sabem lidar com gargalos gerados pelas bridges;
• o tamanho máximo dos quadros é diferente.

Para se ter uma idéia das dificuldades encontradas, uma bridge entre uma rede Ethernet
e uma rede Token Ring precisa antes compatibilizar os quadros transmitidos entre elas:

IEE E 802.3 P re â m b u lo D e st in o O rig e m T ip o D a d os CRC

IEE E 802.5 In ício A c es so C o n tro le D e st in o O rig e m D a d os CRC F im S ta tu s

Os switches são, basicamente, bridges de alto desempenho que possuem dezenas


portas para conexão de:
• LANs através de enlaces de difusão;
• equipamentos através de enlaces ponto-a-ponto, chamados equipamentos de
acesso dedicado.

Enlace ponto-a-ponto

Enlaces de difusão Switch

Hub Hub

Francisco Adell Péricas 12


2.7.3 Tunelamento

Lidar com a interligação de duas redes diferentes é extremamente difícil. Entretanto,


existe um caso especial, muito comum, que proporciona bons resultados. Isso acontece
quando os equipamentos de origem e de destino têm o mesmo tipo de rede, mas há uma
rede de outro tipo entre eles. A solução para este problema é chamada tunelamento,
representado no exemplo da figura a seguir.

WAN X.25
LAN 802.3 LAN 802.3
Router Túnel Router

A WAN pode ser considerada como um grande túnel, que se estende de um router multi-
protocolo a outro. O pacote IP simplesmente viaja de uma extremidade a outra, nem ele
nem os equipamentos das duas redes LAN 802.3 precisam se preocupar com a WAN.
Somente os routers multi-protocolo precisam entender os pacotes IP e WAN. Ou seja, o
pacote IP é simplesmente encapsulado ao longo das sub-redes intermediárias as quais
passam a ser tratadas como se fosse uma única sub-rede contendo os equipamentos de
origem e de destino.

2.8 PPP

O protocolo PPP (Point-to-point Protocol) é um protocolo da camada de enlace específico


para enlaces ponto-a-ponto, capaz de transportar qualquer tipo de protocolo de rede entre
os nós.

O enlace ponto-a-ponto sobre o qual o PPP opera pode ser uma conexão discada de uma
linha telefônica (tipicamente utilizado pelas redes de acesso residenciais), circuitos ISDN,
enlaces SONET (Synchronous Optical Network) ou enlaces SDH (Synchronous Digital
Hierarchy).

O formato do quadro PPP é:

1 1 1 2 sem limite 4 1

Início Endereço Controle Tipo Dados CRC Fim

Cada um dos campos tem a seguinte função:


• início: é um byte utilizado para demarcar o início do token;
• endereço: contém um valor de endereço fixo não significativo nas
implementações atuais;
• controle: contém um valor de controle fixo não significativo nas implementações
atuais;
• tipo do protocolo: contém o tipo do protocolo de rede que está sendo
transportado;
• dados: contém o pacote da camada de rede;

Francisco Adell Péricas 13


• CRC: contém o valor do CRC dos campos do quadro (exceto início e fim);
• fim: é um byte utilizado para demarcar o fim do token.

Os principais componentes do PPP são:


• tratamento de quadros: permite o encapsulamento de qualquer pacote de rede
em quadros, com identificação de início e fim, e com suporte à detecção de erros
de bits;
• controle de enlace: contém procedimentos de inicialização, manutenção e
encerramento do enlace PPP;
• controle de rede: contém procedimentos específicos para cada um dos
protocolos de rede para configurar os módulos do nível de rede antes dos pacotes
começarem a ser transmitidos.

2.9 ATM

A idéia básica por trás da tecnologia ATM (Asynchronous Transfer Mode) é transmitir
todas as informações em pequenos pacotes de tamanho fixo, chamados de células. As
células têm 53 bytes, dos quais 5 bytes formam o cabeçalho e 48 bytes formam a carga
(dados). Toda a informação (voz, vídeo, dados, etc.) é transportada pela rede através
destas células ATM.

48

VPI VCI Tipo Prioridade CRC Dados

Cada um dos campos tem a seguinte função:


• VPI (Virtual Path Identifier): identifica qual caminho a célula deve seguir;
• VCI (Virtual Channel Identifier): identifica a qual circuito virtual a célula pertence;
• tipo: contém o tipo de dado que a célula está transportando;
• prioridade: é um bit que identifica se a célula é de uma prioridade especial;
• CRC: contém o valor do CRC dos campos do quadro (exceto dados);
• dados: contém o pacote a ser transmitido.

A utilização de uma tecnologia de comutação de células é uma ruptura da tradicional


comutação de circuitos dentro do sistema telefônico. Há uma série de razões para se
preferir a comutação de células: muito flexível; aceita tráfegos a taxas constantes ou
variáveis; permite difusão de dados.

Para garantir o processamento rápido dentro da rede, o cabeçalho das células ATM é
limitado em termos de funcionalidade. Sua principal função é identificar uma conexão
virtual (lógica) por meio de identificadores que são selecionados na fase de
estabelecimento da conexão e que garantem um encaminhamento adequado de cada
célula pela rede.

As redes ATM são orientadas à conexão e a entrega das células não é garantida, mas
sua ordem de transmissão é mantida. Trabalha a taxas de 155.52 Mbps (OC-3 (Optical

Francisco Adell Péricas 14


Carrier 3) ou STM-1 (Synchronous Transfer Mode)), e 622.08 Mbps (OC-12 ou STM-4) e
2488.32 Mbps (STM-16).

O ATM independe do meio físico, sendo responsável pelo estabelecimento e liberação de


circuitos virtuais e do controle de congestionamento. O ATM está sendo gerido pelo
organismo internacional de normalização chamado ATM Fórum.

Apesar dos padrões do ATM definirem um conjunto completo de protocolos até a camada
de aplicação, atualmente ele tem sido mais utilizado como o enlace para transportar
protocolos de rede, como o IP por exemplo, ou seja, ao invés de chegar até o usuário final
ele tem sido utilizado como infra-estrutura para protocolos mais simples.

Os usuários têm acesso à rede ATM através de interfaces bem definidas e bem
controladas chamadas UNI (Unit Network Interface). Estas interfaces enviam dados à
rede baseado nas especificações definidas pelo usuário durante o estabelecimento da
conexão. A rede posteriormente tenta assegurar a manutenção destes requisitos e que os
parâmetros de qualidade de serviço (QoS (Quality of Service)) para a conexão sejam
satisfeitos.

O modelo B-ISDN é um modelo tridimensional composto por três planos:


• plano de usuário: provê a transferência, controle de fluxo e recuperação de
informações do usuário através dos serviços suportados pelas AALs (ATM
Adaptation Layer);
• plano de controle: fornece as funções de sinalização e de controle necessárias
ao estabelecimento, manutenção, gerenciamento e finalização das conexões
virtuais;
• plano de gerenciamento: habilita o trabalho conjunto dos protocolos do plano de
usuário e do plano de controle e é responsável pelo suporte ao gerenciamento da
execução dos sistemas e serviços de OAM (Operation, Administration and
Maintenance);
e três camadas:
• camada física: é responsável pela transmissão das células entre dois
equipamentos ATM através de um enlace físico;
• camada ATM: é responsável pela multiplexação e demultiplexação de células,
assim como pelas funcionalidades requeridas no manuseio dos cabeçalhos das
células ATM;
• camada AAL (ATM Adaptation Layer): é responsável pela segmentação dos
pacotes, pela manipulação da variação de atraso de células e pela correção de
erros, ou seja, atua na adaptação do fluxo de informações das camadas
superiores para a camada ATM e vice-versa.

Plano de
Gerenciamento

Plano de Plano de
Controle Usuário

Camada AAL Camada AAL

Camada ATM

Camada Física

Francisco Adell Péricas 15


Francisco Adell Péricas 16
3 Camada de Rede
A camada de rede do modelo de referência OSI é responsável por encontrar um caminho
até uma máquina de destino em uma rede para transmitir os pacotes enviados pela
camada de transporte, independente da tecnologia de transmissão utilizada.

As funcionalidades que o protocolo da camada de rede executam ao enviar e receber


pacotes entre os equipamentos da rede são:
• roteamento: determina a rota (conjunto de enlaces de rede) em que os pacotes
seguirão deste a máquina emissora até a máquina receptora;
• comutação: define em qual dos enlaces de saída de um router deve seguir um
pacote que passa por ele;
• configuração: configura os enlaces ao longo da rota antes de iniciar o envio de
pacotes.

3.1 Roteamento

A principal função da camada de rede é rotear pacotes da máquina de origem para a


máquina de destino. Na maioria das sub-redes, os pacotes necessitarão passar por vários
nós para cumprir o trajeto. Esta funcionalidade está presente em um tipo especial de
equipamento de rede chamado router.

No encaminhamento de pacotes ao longo de uma rede através de um router, este é


tratado como um equipamento e torna-se responsável por encaminhar o pacote pelo
caminho ideal até o destino, caminho este que foi obtido através dos algoritmos daquela
sub-rede. No exemplo a seguir, o router encaminha um pacote analisando somente o
cabeçalho da camada de rede, independente do conteúdo da sua carga útil.

Dados Dados

Aplicação AH Dados AH Dados

Transporte TH Dados TH Dados

Rede NH Dados NH Dados NH Dados NH Dados

Enlace DH Dados DH Dados DH Dados DH Dados

Física B Dados E B Dados E B Dados E B Dados E

Origem Router Destino

A decisão sobre a linha de saída a ser usada na transmissão de um pacote de entrada é


obtida de uma tabela interna, presente nos routers e chamada de tabela de roteamento,
gerida por um algoritmo de roteamento da camada de rede, o qual pode ser agrupado
em duas classes principais: adaptativos e não-adaptativos (estáticos). Os algoritmos não-

Francisco Adell Péricas 17


adaptativos não baseiam suas decisões de roteamento em medidas ou estimativas do
tráfego e da topologia, enquanto que os algoritmos adaptativos mudam suas decisões de
roteamento para refletir eventuais mudanças na topologia e, normalmente, no tráfego
também.

O algoritmo de roteamento deve ser capaz de aceitar alterações na topologia e no tráfego


sem a necessidade de que as tarefas de todos os equipamentos sejam interrompidas e de
que a rede seja reinicializada.

3.1.1 Mecanismo de Roteamento

Cada pacote IP tem um campo com o endereço IP da máquina de origem e outro com o
da máquina de destino, os quais são preenchidos pela máquina que deseja enviar o
pacote.

A forma com que a camada de rede transmite o pacote até o seu destino varia
sensivelmente dependendo se a máquina de destino está na mesma rede (por exemplo,
220.1.1.1 enviando um pacote para 220.1.1.3) ou em redes diferentes (por exemplo,
220.1.1.1 enviando um pacote para 220.1.2.2).

IP: 220.1.1.1

IP: 220.1.2.1
IP: 220.1.1.4 IP: 220.1.2.9
IP: 220.1.1.2

IP: 220.1.2.2

IP: 220.1.1.3 IP: 220.1.3.27

IP: 220.1.3.1 IP: 220.1.3.2

Primeiramente, seja o exemplo da máquina 220.1.1.1 enviando um pacote para 220.1.1.3,


ambas pertencentes à rede 220.1.1.0. Para tanto, a máquina de origem consulta sua
tabela interna de roteamento (apresentada na tabela a seguir) e verifica que a rede da
máquina de destino está a 1 equipamento de distância, ou seja, está na mesma rede da
máquina de origem. Desta forma, a máquina de origem sabe que pode enviar o pacote
para a camada de enlace para que este seja enviado à máquina de destino sem que o
pacote precise ser enviado a um router intermediário.

Tabela de roteamento de 220.1.1.1


Rede de destino Router Num. de equipamentos
220.1.1.0 1
220.1.2.0 220.1.1.4 2
220.1.3.0 220.1.1.4 2

Francisco Adell Péricas 18


Seja o outro exemplo em que a máquina 220.1.1.1 deseja enviar um pacote para
220.1.2.2. Para tanto, a máquina de origem consulta sua tabela interna de roteamento
(apresentada na tabela acima) e verifica que a rede da máquina de destino está a 2
equipamentos de distância, ou seja, há um router entre a rede da máquina de origem e a
da máquina de destino. Neste caso, a tabela interna de roteamento indica ainda que o
endereço do router a ser utilizado é o 220.1.1.4.

Desta forma, a máquina de origem envia o pacote, preenchido com o endereço de origem
220.1.1.1 e o de destino 220.1.2.2, para a camada de enlace indicando a ela que o
destino a ser encaminhado o pacote é 220.1.1.4 de forma que este seja enviado ao router
intermediário.

Ao chegar o pacote no router, este consulta a sua tabela interna de roteamento


(apresentada na tabela a seguir) e verifica que a rede 220.1.2.0 da máquina de destino
está a 1 equipamento de distância do router através da interface 220.1.2.9. Como a
distância é de 1 equipamento, o router sabe que pode enviar o pacote para a camada de
enlace através da interface 220.1.2.9 para que este seja enviado à máquina de destino
sem que o pacote precise ser enviado a um novo router intermediário.

Tabela de roteamento do Router


Rede de destino Próximo Router Num. de equipamentos Interface
220.1.1.0 1 220.1.1.4
220.1.2.0 1 220.1.2.9
220.1.3.0 1 220.1.3.27

Estas tabelas de roteamento, presentes em cada equipamento da rede (os que tratam da
camada de rede), são criadas e mantidas através dos algoritmos de roteamento
implementados pelo protocolo de rede.

3.1.2 Algoritmos de Roteamento

Entre os vários tipos de algoritmos de roteamento, dois deles, ambos adaptativos, são
utilizados na prática na Internet: o roteamento por vetor de distância e o roteamento por
estado de enlace.

O roteamento por vetor de distância opera fazendo com que cada router mantenha
uma tabela que fornece a menor distância conhecida a cada rede de destino e determina
qual linha deve ser utilizada para se chegar lá. Essas tabelas são atualizadas através da
troca de informações com routers vizinhos.

A principal estrutura de dados deste algoritmo é a tabela de distâncias, mantida pelo


router. Cada entrada desta tabela contém a distância até um nó de destino passando por
cada um dos seus vizinhos imediatos. Cada router distribui a sua tabela de distâncias
para seus vizinhos de forma que estes possam recalcular as suas tabelas em função de
novos valores de distâncias mínimas. Este processo é repetido até que todos os routers
convergiram para tabelas cujo conteúdo não altera mais.

Por outro lado, o roteamento por estado de enlace opera de acordo com as seguintes
funções que o router deve executar:

Francisco Adell Péricas 19


• descobrir seus vizinhos imediatos e aprender seus endereços de rede;
• medir o retardo ou o custo para cada um de seus vizinhos;
• criar um pacote que diga tudo o que acaba de ser aprendido;
• enviar este pacote a todos os outros routers;
• calcular o caminho mais curto para cada um dos outros routers.

Desta forma, a topologia completa e todos os retardos são experimentalmente medidos e


distribuídos para cada router e, em seguida, o algoritmo de roteamento pode ser usado
para encontrar o caminho mais curto para cada um dos routers da rede.

3.1.3 Protocolos de Roteamento

O primeiro protocolo de roteamento usado para resolver as tabelas de roteamento é


chamado de RIP (Routing Information Protocol). Trata-se de um protocolo baseado no
algoritmo de vetor de distância que funciona bem para sistemas pequenos. O RIP tem
problema de contagem infinita de equipamentos e possui uma convergência muito lenta.

O protocolo sucessor do RIP chama-se OSPF (Open Shortest Path First), o qual se
baseia no algoritmo de roteamento de estado de enlace. O OSPF funciona transformando
o conjunto de redes, routers e linhas reais em um gráfico direcionado no qual a cada arco
é atribuído um custo (distância, retardo, etc.). Em seguida, o OSPF calcula o caminho
mais curto com base nos pesos dos arcos. O resultado deste cálculo é enviado então
para todos os demais routers adjacentes.

Por fim, há ainda um outro protocolo de roteamento chamado BGP (Border gateway
Protocol), baseado no algoritmo de vetor de distância, utilizado para encontrar as rotas
entre os sistemas locais, considerando não somente os caminhos com menores custos
mas também condições de contorno, tais como não permitir que determinados routers
pertençam a um determinado caminho.

3.2 Protocolo de Rede – IPv4 e IPv6

O elemento que mantém a Internet unida é o protocolo de camada de rede, o IP (Internet


Protocol). A tarefa do IP é fornecer a melhor forma de transportar pacotes da origem para
o destino, independente de essas máquinas estarem na mesma rede ou em outras redes
intermediárias.

Um pacote IPv4 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. O formato do cabeçalho fixo
está mostrado a seguir:

1 1 2 2 2 1 1 2 4 4

Versão Tipo Compr. Id. Offset Tempo Protoc. Soma Origem Destino

Os campos deste cabeçalho são:


• Versão: controla a versão do protocolo e o tamanho do cabeçalho (parte fixa mais
a parte opcional);

Francisco Adell Péricas 20


• Tipo: permite que a máquina especifique o que é mais importante: retardo, taxa de
transferência ou confiabilidade;
• Comprimento: comprimento de tudo o que há no pacote: cabeçalho e dados. O
tamanho máximo para dados em um pacote IP é de 1500 bytes, sendo que
normalmente utiliza-se no máximo 576 bytes;
• Identificação: permite que a máquina de destino determine a qual pacote
pertence um determinado fragmento (todos os fragmentos de um mesmo pacote
devem conter o mesmo valor);
• Offset: informa a que ponto do pacote atual pertence o fragmento;
• Tempo: contador usado para limitar a vida útil do pacote, através de um
decremento deste valor a cada equipamento em que o pacote passa (quando o
contador chega a zero, o pacote é descartado);
• Protocolo: especifica o processo de transporte que deverá ser aplicado ao pacote
(TCP, UDP);
• Soma: soma de verificação apenas para o cabeçalho;
• Origem: endereço IP, de 4 bytes, da máquina de origem;
• Destino: endereço IP, de 4 bytes, da máquina de destino.

Em 1990, a IETF (Internet Engineering Task Force) começou a trabalhar em uma nova
versão de IP, capaz de impedir que os endereços fossem esgotados e de resolver uma
série de outros problemas, além de ser mais flexível e mais eficiente: o IPv6.

Basicamente, em relação ao IPv4, cujos endereços são compostos por 4 bytes, o IPv6 é
composto por endereços de 16 bytes, possui um cabeçalho bem mais simples e eficiente
com apenas 7 campos e possui suporte à segurança (autenticação e privacidade).

Um pacote IPv6 consiste em duas partes: cabeçalho e dados. O cabeçalho tem um


tamanho fixo de 40 bytes, cujo formato está mostrado a seguir:

1 3 2 1 1 16 16

Versão Identificação Comprimento Próxima opção Tempo Origem Destino

Os campos deste cabeçalho são:


• Versão: controla a versão do protocolo e a prioridade d o pacote de acordo com o
seu propósito: retardo, taxa de transferência ou confiabilidade;
• Identificação: permite que a máquina de destino determine a qual pacote
pertence um determinado fragmento (todos os fragmentos de um mesmo pacote
devem conter o mesmo valor);
• Comprimento: comprimento de tudo o que há no pacote menos os 40 bytes da
parte fixa do cabeçalho: cabeçalho opcional e dados;
• Próxima opção: informa a que tipo de protocolo de transporte pertence o dado
enviado pelo pacote;
• Tempo: contador usado para limitar a vida útil do pacote, através de um
decremento deste valor a cada equipamento em que o pacote passa (quando o
contador chega a zero, o pacote é descartado);
• Origem: endereço IP da máquina de origem;
• Destino: endereço IP da máquina de destino.

Francisco Adell Péricas 21


3.2.1 Protocolo de Controle – ICMP

A operação da Internet é monitorada pelos routers. Quando algo inesperado ocorre, um


evento é reportado pelo ICMP (Internet Control Message Protocol), que também é usado
para testar a Internet.

Existem vários tipos de mensagens ICMP, entre as quais, as mais importantes estão
listadas na tabela a seguir:

Tipo Mensagem Descrição


0 Echo reply Aviso que máquina está ativa
3 Destination unreachable Pacote não pode ser entregue (não localizou o destino)
4 Source quench Pacote regulador de tráfego
8 Echo request Pergunta se máquina está ativa
11 TTL expired Campo TTL (Time to Live) chegou a 0
12 IP header bad Cabeçalho IP contém valor inválido

Apesar do ICMP ser o protocolo de controle da camada de rede, ele usa o protocolo IP
para ser transmitido: cada tipo de mensagem ICMP é encapsulado em um pacote IP.

3.3 Endereços IPv4 e IPv6

Na Internet, cada equipamento tem um endereço IP que codifica seu número de rede e
número de equipamento, sendo que duas máquinas em uma mesma rede não poderão
ter nunca o mesmo endereço IP.

No caso da Internet, os endereços são mundialmente administrados pelo IANA (Internet


Assigned Numbers Authority) através dos NICs (Network Information Center) continentais,
e no Brasil são administrados pelo Comitê Gestor da Internet no Brasil.

Os formatos usados para endereçamento IP dividem-se em cinco classes e estão


apresentados a seguir:

Classe 1 1 1 1

A 0 Rede Equipamento

B 10 Rede Equipamento

C 110 Rede Equipamento

D 1110 Endereço de multicast

E 11110 Reservado para uso futuro

Francisco Adell Péricas 22


Cada uma destas classes possui a seguinte faixa de endereços IP:
• A: 1.0.0.0 a 127.255.255.255: 126 redes com 16 milhões de equipamentos;
• B: 128.0.0.0 a 191.255.255.255: 16382 redes com 65536 equipamentos;
• C: 192.0.0.0 a 223.255.255.255: 2 milhões de redes com 254 equipamentos;
• D: 224.0.0.0 a 239.255.255.255: multicast;
• E: 240.0.0.0 a 247.255.255.255: reservados para uso futuro.

Um endereço IP com número de rede 0 se refere à rede atual. Esses endereços permitem
que as máquinas façam referência as suas próprias redes sem que conheçam o seu
número. Por exemplo, o endereço 192.0.0.25 refere-se à máquina 25 da rede local com IP
de classe C. Os endereços que possuem somente 1 no campo de equipamento permitem
a difusão de pacotes na rede. Por exemplo, o endereço 192.0.200.255 refere-se a todos
os equipamentos da rede 200 com IP de classe C.

O endereço 127.0.0.1 é reservado para teste do próprio equipamento: os pacotes


enviados para este equipamento não são transmitidos, são tratados localmente.

Os endereços IPv6 estão divididos de acordo com a tabela a seguir, a qual não apresenta
os endereços que estão livres para serem divididos no futuro:

Prefixo binário Uso


00000000 Endereços que incluem os endereços do IPv4
0000001 Endereços OSI NSAP
0000010 Endereços IPX do Novell Netware
010 Endereços baseados no provedor
100 Endereços baseados na localização geográfica
11111111 Multicast

Uma nova notação foi criada para escrever endereços de 16 bytes. Eles são escritos
como oito grupos de quatro dígitos hexadecimais, separados por dois-pontos entre os
grupos, como no seguinte exemplo:

8000:0000:0000:0000:0123:4567:89AB:CDEF

Como muitos endereços conterão muitos zeros, foram permitidas três otimizações. Em
primeiro lugar, os zeros à esquerda de um grupo poderão ser omitidos. Em segundo
lugar, um ou mais grupos de 4 zeros poderão ser substituídos por um par de dois-pontos.
Conseqüentemente, o endereço IPv6 anterior pode ser escrito da seguinte maneira:

8000::123:4567:89AB:CDEF

Por fim, os endereços IPv4 podem ser escritos como um par de dois-pontos e um número
decimal tradicional, como no seguinte exemplo:

::192.31.20.46

Este endereço seria equivalente à:

::C01F:142E

Francisco Adell Péricas 23


3.3.1 Endereços de Sub-redes

Todos os equipamentos de uma rede devem ter o mesmo número de rede. Esta
propriedade do endereçamento IP poderá causar problemas à medida que as redes
crescerem.

A solução para esses problemas é permitir que, ao invés de se restringir apenas aos
endereços de rede e de equipamento proposto pelas classes de endereços, uma rede
seja dividida em diversas partes para uso interno, mas externamente continue a funcionar
como uma única rede: essas partes são chamadas sub-redes.

Considere por exemplo um endereço IPv4 de classe B, onde o número de equipamento


de 16 bits foi dividido em um número de sub-rede de 6 bits e um número de equipamento
de 10 bits, o que permite 62 sub-redes para cada endereço de rede (total de 16382 * 62 =
1015684 redes), com 1022 equipamentos cada uma, como apresentado na figura a
seguir:

1 1 1 1

IPv4 10 Rede Sub-rede Host

Máscara 11111111 11111111 111111 00 00000000

Para operar com endereços de rede compostos por sub-redes, o router precisa conhecer
qual o tamanho total do endereço de rede e sub-rede que compõe o endereço IP: isto é
feito através do uso de uma máscara. O valor da máscara de sub-rede deste exemplo é
255.255.252.0.

A sub-rede reduz o espaço de tabela do router ao criar uma hierarquia de três níveis.
Dessa forma, o router precisa apenas fazer uma operação binária E do endereço com a
máscara de sub-rede a assim rotear o pacote sem precisar ter conhecimento de todos os
equipamentos da rede local.

3.4 Multicast na Internet

Normalmente, as comunicações IP são feitas entre um equipamento transmissor e um


receptor. Entretanto, para algumas aplicações, é interessante que um processo seja
capaz de transmitir dados para um grande número de receptores simultaneamente.

O protocolo IP aceita multicast, usando endereços classe D que identificam um grupo de


equipamentos. Como estão disponíveis 28 bits para identificar grupos, pode haver mais
de 250 milhões de grupos ao mesmo tempo.

Quando um processo envia um pacote para um endereço classe D, é feita uma tentativa
de entregá-lo a todos os membros do grupo endereçado, mas não há qualquer garantia
de que isto realmente acontecerá. É provável que alguns membros não obtenham o
pacote.

Francisco Adell Péricas 24


São aceitos dois tipos de endereços de grupo: endereços permanentes e endereços
temporários.

Um grupo permanente tem um endereço de grupo permanente e está sempre presente,


não precisando ser previamente estabelecido. A tabela a seguir traz exemplos de
endereços multicast permanentes:

Endereço multicast permanente Grupo permanente


224.0.0.1 Todos os sistemas de uma LAN
224.0.0.2 Todos os routers de uma LAN
224.0.0.5 Todos os routers OSPF de uma LAN

Para usar um grupo temporário, primeiramente deve-se criá-lo, associando-se o


equipamento a um endereço multicast temporário. Um processo pode solicitar que seu
equipamento se conecte a um grupo ou saia dele. Quando o último processo de um
equipamento deixa um grupo, este grupo deixa de existir.

O multicast é implementado por routers multicast especiais, os quais podem ou não ser
colocados com os routers IP da rede. Cada router multicast envia um pacote de controle
de multicast para os equipamentos da LAN solicitando que eles informem os grupos
multicast aos quais pertencem. Cada equipamento envia então respostas para todos os
endereços classe D nos quais está interessado. Esses pacotes de consulta e resposta
utilizam um protocolo chamado IGMP (Internet Group Management Protocol).

O roteamento multicast é feito com base na troca de informações entre os routers


multicast e seus vizinhos usando um protocolo de vetor de distância modificado.

3.5 Firewalls

A segurança em relação às informações acessíveis pelas LANs de empresas ou


organizações é uma grande preocupação para os administradores de redes.A forma mais
comum de evitar o acesso às LANs por pessoas não autorizadas é através do sue
isolamento utilizando-se os Firewalls.

Para isolar as LANs de uma empresa ou organização através de um Firewall é necessário


que, independentemente da forma com que elas estejam interconectadas, todo o tráfego
de entrada e de saída da empresa ou organização seja feito exclusivamente através dele.
Uma dificuldade surge quando da utilização de LANs sem fio, pois o seu acesso não é
necessariamente garantido que seja feito através dele.

A configuração mais comum de um Firewall tem dois componentes: dois routers que
filtram pacotes e um gateway de aplicação, como representado na figura a seguir.

Francisco Adell Péricas 25


Firewall

Gateway
Router de Router
Aplicação

Rede privada Rede externa

Cada filtro de pacote é um router padrão equipado com algumas funções complementares
que permitem a inspeção de cada pacote de entrada ou de saída. Em geral, os filtros de
pacote são baseados em tabelas configuradas pelo administrador do sistema. Essas
tabelas listam as origens e os destinos aceitáveis, as origens ou os destinos bloqueados e
as regras-padrão que orientam o que deve ser feito com os pacotes recebidos de outras
máquinas ou destinados a elas.

O gateway de aplicação, ao invés de apenas examinar pacotes incompletos, opera na


camada de aplicação. Um gateway de correio eletrônico, por exemplo, pode ser
configurado de forma a examinar cada mensagem recebida ou enviada. O gateway toma
a decisão de transmitir ou descartar cada mensagem, com base nos campos de
cabeçalho, no tamanho da mensagem ou até mesmo em seu conteúdo.

Francisco Adell Péricas 26


4 Camada de Transporte
A camada de transporte é a parte central do modelo de referência OSI. Sua função é
promover uma transferência de dados confiável e econômica entre a máquina de origem e
a máquina de destino, fim a fim, transmitindo segmentos de dados independente das
redes físicas utilizadas.

As funcionalidades que o protocolo da camada de transporte executam ao enviar e


receber segmentos entre as máquinas de origem e destino da rede são:
• multiplexação e demultiplexação: procedimento de reunião de dados, na
máquina de origem, de diferentes processos, encapsulando-os com a informação
de cabeçalho apropriada e passando os segmentos resultantes para a camada de
rede, e vice-versa;
• transferência confiável de dados: garantia de que dados enviados do processo
de origem ao processo de destino sejam recebidos de forma correta e ordenada, o
que é obtido através da utilização de procedimentos de controle de fluxo, números
seqüenciais, confirmações de recebimento e temporizadores;
• segmentação: divide mensagens em partes menores para transmissão, de acordo
com a capacidade da camada de rede, e re-monta-as no destino;
• controle de congestionamento: prevenção para que conexões da camada de
transporte não sejam inundadas por um tráfego excessivo de dados nos enlaces
constituintes da rede.

4.1 Multiplexação e Demultiplexação

Os protocolos TCP e UDP executam a multiplexação e a demultiplexação incluindo dois


campos especiais no cabeçalho dos segmentos: número da porta de origem e número
da porta de destino. Usados em conjunto, estes números de porta identificam
univocamente um processo na máquina de destino.

As portas, números de 16 bits, não são definidas por nenhum órgão internacional de
normalização, mas as de 0 até 1023 são convencionadas e reservadas para aplicações
específicas, como por exemplo as da tabela a seguir:

Porta Serviço
21 FTP
23 Telnet
25 SMTP
80 HTTP
110 POP3
161 SNMP

Os segmentos de dados da camada de transporte referenciam ambas portas, tanto de


origem quanto de destino, porque uma máquina pode estar rodando dois processos do
mesmo tipo e no mesmo instante e portanto somente a porta de destino de um processo
não seria o suficiente.

Francisco Adell Péricas 27


Cliente WWW IP origem: A IP origem: B
IP destino: B IP destino: A
porta origem: x porta origem: 80
A porta destino: 80 porta destino: x

IP origem: C IP origem: B
Servidor WWW
IP destino: B IP destino: C
porta origem: y porta origem: 80 B
Cliente WWW porta destino: 80 porta destino: y

C IP origem: C IP origem: B
IP destino: B IP destino: C
porta origem: x porta origem: 80
porta destino: 80 porta destino: x

Em uma máquina cliente, a porta de destino é a porta da aplicação que está sendo
invocada, enquanto que a porta de origem é um número de porta que não estiver sendo
utilizada por nenhum processo na máquina (obtido automaticamente pelo protocolo da
camada de transporte).

4.2 Protocolo de Transporte TCP

As entidades TCP (Transmission Control Protocol) 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 protocolo TCP decide qual deve ser o tamanho dos segmentos. Dois fatores restringem
o tamanho do segmento: primeiro, cada segmento, incluindo o cabeçalho do TCP, deve
caber na carga útil do IP, que é de 65535 bytes (porém, normalmente, é restrito a 1500
bytes); segundo, cada rede tem uma MTU (Maximum Transfer Unit), e cada segmento
deve caber na MTU.

O protocolo básico utilizado pelo TCP é o protocolo de janela deslizante. Quando envia
um segmento, o transmissor também dispara um temporizador. Quando o segmento
chega ao destino, a entidade TCP receptora retorna uma resposta (com ou sem dados)
com um número de confirmação igual ao próximo número de seqüência que espera
receber. Se o temporizador do transmissor expirar antes de a confirmação ser recebida, o
segmento será retransmitido.

O processo de retransmissão de segmentos pode ser de dois tipos: go-back-n, onde o


receptor pede ao transmissor que re-envie os últimos n segmentos da janela deslizante;
retransmissão seletiva, onde o receptor pede ao transmissor que re-envie um
determinado segmento dentro da janela deslizante.

Quando a carga oferecida a qualquer rede é maior do que sua capacidade, acontece um
congestionamento. Mesmo que a camada de rede também tente gerenciar o
congestionamento, o trabalho mais pesado é feito pelo TCP.

Francisco Adell Péricas 28


Janela deslizante de
Transmissor transmissão

Segmento enviado e confirmado pelo receptor

Segmento enviado mas falta confirmação de recebimento

Segmento disponível para envio

Janela deslizante de
Receptor recepção

Segmento recebido e confirmado

Segmento que falta ser recebido

Segmento que pode ser recebido

O controle de congestionamento é um componente muito importante do protocolo TCP.


Uma conexão TCP controla a taxa de transmissão limitando o número de segmentos
transmitidos que ainda não foram confirmados, o que é feito através do controle do
tamanho de uma janela de transmissão. Uma conexão TCP começa com um tamanho
pequeno da janela e vai aumentando-o gradativamente até que ocorra uma perda de
segmento, quando o valor da janela de transmissão é reduzido e o processo é reiniciado.

Quase todas as implementações TCP atuais assumem que os temporizadores de


retransmissão expiram devido a congestionamentos e não a pacotes perdidos
(confiabilidade nos meios de transmissão com fio). Conseqüentemente, quando um
temporizador expira, o TCP diminui o ritmo (através da diminuição da janela de
transmissão) e começa a transmitir mais lentamente. A idéia por trás desta abordagem é
reduzir a carga na rede e, portanto, diminuir o congestionamento.

No entanto, os enlaces de dados das transmissões sem fio não são confiáveis, perdendo
pacotes o tempo todo. A melhor estratégia para lidar com pacotes perdidos é enviá-los
novamente o mais rápido possível. Diminuir o ritmo nesse caso tornará a situação ainda
pior.

O protocolo TCP provê ainda um serviço denominado controle de fluxo, que elimina a
possibilidade de a entidade TCP receptora não tenha mais memória de recepção
disponível. Este serviço é portanto um balanceamento de velocidades, tornando a taxa de
transmissão igual à taxa possível de recepção. O controle de fluxo é obtido através de
uma informação, mantida na entidade TCP transmissora, do tamanho da janela de
recepção na entidade TCP receptora.

Na Internet, existem dois problemas potenciais – a capacidade da rede e a capacidade do


receptor – e é preciso lidar com cada um em separado. Para isso, cada transmissor de
uma conexão TCP mantém duas janelas: a janela de recepção e a janela de transmissão.
Cada uma das janelas mostra o número de bytes que o transmissor pode enviar: portanto,

Francisco Adell Péricas 29


a janela efetiva de transmissão é o mínimo do que o transmissor e o receptor consideram
viáveis.

O protocolo TCP utiliza vários temporizadores de controle. O mais importante deles é o


temporizador de retransmissão. Quando um segmento é enviado, um temporizador de
retransmissão é disparado. Se o segmento for confirmado antes de o temporizador
expirar, ele será travado. Se, por outro lado, o temporizador expirar antes de a
confirmação chegar, o segmento será retransmitido e o temporizador disparado mais uma
vez.

Além deste, há ainda o temporizador de persistência (para garantir que o pedido de


pausa de transmissão continua válido) e o temporizador de keep alive (para verificar se
uma conexão sem uso continua ativa).

4.2.1 Cabeçalho TCP

Um segmento TCP 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. O formato do cabeçalho
fixo está mostrado a seguir:

2 2 4 4 1 1 2 2 2

Origem Destino Seqüência Confirm. Compr. Controle Janela Soma Ponteiro

Os campos deste cabeçalho são:


• Origem: identifica o ponto original local da conexão (porta). Uma porta e o
endereço IP do equipamento formam um TSAP (Transport Service Access Point)
único de 48 bits;
• Destino: identifica o ponto terminal local da conexão (porta) . Uma porta e o
endereço IP do equipamento formam um TSAP único de 48 bits;
• Seqüência: identifica qual segmento que está sendo enviado, ou seja, qual parte
da mensagem;
• Confirmação: identifica qual o próximo segmento que pode ser enviada avisando
que a parte anterior foi recebida com sucesso;
• Comprimento: informa quantas palavras de 32 bits existem no cabeçalho e,
conseqüentemente, o comprimento da sua parte opcional;
• Controle: são bits que permitem alguns tipos de controle especiais para o pacote:
se o número de confirmação é válido, se é para esperar o segmento inteiro antes
de enviar uma confirmação, pedido de estabelecimento e de conclusão de uma
conexão;
• Janela: indica quantos bytes da janela deslizante podem ser enviados a partir do
último byte confirmado;
• Soma: é a soma de verificação do cabeçalho, dos dados e de um
pseudocabeçalho que contém os endereços IP da origem e do destino;
• Ponteiro: permite ao transmissor enviar ao receptor um sinal sem envolver um
serviço específico do TCP.

Francisco Adell Péricas 30


4.3 Protocolo de Transporte UDP

O conjunto de protocolos da Internet também abrange um protocolo da camada de


transporte sem conexão, o UDP (User Datagram Protocol).

O UDP oferece uma forma de as aplicações enviarem pacotes IP brutos encapsulados


sem que seja necessário estabelecer e gerir uma conexão entre as entidades UDP de
transmissão e de recepção.

Apesar do protocolo TCP prover um meio de comunicação de dados confiável, muitas


aplicações são preferencialmente desenvolvidas utilizando o protocolo UDP pelas
seguintes razões:
• não há estabelecimento de conexão: o UDP apenas envia segmentos sem
qualquer formalismo preliminar;
• não há controle de estado de conexão: o UDP não tem parâmetros de controle
de congestionamento, de seqüência de segmentos e de confirmações;
• cabeçalho pequeno: o cabeçalho do UDP é composto por apenas 8 bytes, de
fácil obtenção e processamento;
• taxa de transmissão sem controle: a taxa de transmissão de dados do UDP
depende exclusivamente da capacidade de geração de dados da aplicação de
origem, enquanto que a taxa de recepção de dados pode ainda ser limitada pelo
congestionamento da rede (pois parte dos dados pode ser perdida em função do
congestionamento).

4.3.1 Cabeçalho UDP

Um segmento UDP consiste em duas partes: cabeçalho e dados. O cabeçalho é


composto por 8 bytes, como mostrado a seguir:

2 2 2 2

Origem Destino Comprimento Soma

Os campos deste cabeçalho são:


• Origem: identifica o ponto original local do equipamento (porta). Uma porta e o
endereço IP do equipamento formam um TSAP único de 48 bits;
• Destino: identifica o ponto terminal local do equipamento (porta) . Uma porta e o
endereço IP do equipamento formam um TSAP único de 48 bits;
• Comprimento: informa o comprimento do pacote, ou seja, do cabeçalho e dos
dados;
• Soma: é a soma de verificação do cabeçalho e dos dados.

4.4 Programação de Aplicações de Rede

Uma aplicação de rede consiste de um par de programas: um programa servidor e um


programa cliente. Quando estes programas são executados, são criados um processo

Francisco Adell Péricas 31


servidor e um processo cliente e estes dois processos se comunicam através de escrita e
da leitura de sockets.

Durante a fase de desenvolvimento de aplicações proprietárias de rede, precisa-se definir


se a aplicação será implementada utilizando-se o protocolo TCP ou o UDP.

O protocolo TCP é um protocolo orientado à conexão, ponto-a-ponto, que utiliza um canal


confiável de transmissão de dados entre as máquinas de origem e de destino.

Do ponto de vista da aplicação, uma conexão TCP é simplesmente um canal virtual direto
entre um socket cliente e um socket servidor. Este canal de comunicação se mantém
até que um dos processos decide encerrá-lo.

É importante ressaltar que em uma conexão TCP cabe à aplicação cliente contatar a
aplicação servidora, a qual deve ter sido previamente inicializada e se encontrar em um
estado de escuta por pedidos de conexão.

As conexões estabelecidas no TCP utilizam o handshake de três vias. Para estabelecer


uma conexão, o lado servidor aguarda passivamente por uma conexão ao executar as
primitivas LISTEN e ACCEPT. O outro lado, o cliente, executa uma primitiva CONNECT
especificando o endereço IP e a porta aos quais deseja se conectar.

A seguir está representado um diagrama que contém os segmentos de criação de uma


conexão TCP, o envio de dados e o encerramento da conexão:

Servidor Cliente
IP1 + port1 IP2 + port2

socket(TCP) socket(TCP)

listen

connect(IP1 + port1)

accept(IP2 + port2)

receive send(IP1 + port1)

send(IP2 + port2) receive

close(IP1 + port1)

close(IP2 + port2)

Francisco Adell Péricas 32


O protocolo UDP oferece um serviço sem conexão de envio de segme ntos independentes
de dados, sem garantia de entrega, com taxa de transmissão controlável pelo
transmissor.

O mecanismo de funcionamento do protocolo de transporte UDP está representado no


diagrama a seguir, que contém os segmentos de envio de dados através da comunicação
sem conexão:

Servidor Cliente
IP1 + port1 IP2 + port2

socket(UDP) socket(UDP)

receive send(IP1 + port1)

send(IP2 + port2) receive

Francisco Adell Péricas 33


5 Camada de Aplicação
As aplicações de rede são a razão de ser das redes de computadores. Aplicações de rede
incluem desde as aplicações baseadas em texto como o acesso remoto a computadores,
correio eletrônico, transferência de arquivos, grupos de notícias, até as aplicações
multimídia como a navegação WWW (World Wide Web), telefonia IP, vídeo conferência e
áudio e vídeo sob demanda.

Uma aplicação de rede é essencialmente distribuída entre um ou mais sistemas de


computação. Em termos computacionais, a aplicação de rede é um processo sendo
executado em um sistema operacional se comunicando com outro processo em outro
sistema operacional através de sockets. Processos em sistemas computacionais
diferentes se comunicam através da troca de mensagens pela rede.

Cliente Servidor

Controlado Aplicação de rede Aplicação de rede


pelo (processo) (processo)
desenvolvedor
da aplicação camada de aplicação camada de aplicação
operacional
socket socket

Controlado
pelo sistema camadas inferiores da Rede camadas inferiores da
arquitetura de rede arquitetura de rede
operacional

As aplicações de rede utilizam protocolos da camada de aplicação. Portanto, um


protocolo da camada de aplicação é apenas uma parte das aplicações de rede. O
protocolo da camada de aplicação define:
• os tipos de mensagens trocadas entre os processos;
• a sintaxe dos vários tipos de mensagens;
• a semântica (significado) dos vários campos das mensagens;
• as regras para determinar quando e como um processo envia ou responde
mensagens.

A seguir serão abordados quatro tipos de aplicações de rede para a Internet consideradas
as mais importantes e significativas: WWW, transferência de arquivos, correio eletrônico e
serviço de diretório.

5.1 WWW (World Wide Web)

O protocolo de aplicação utilizado para a transferência de páginas de navegação da


Internet entre sistemas computacionais é o HTTP (Hypertext Transfer Protocol).

A aplicação HTTP é implementada através de dois programas: um programa cliente e um


programa servidor. Esses programas conversam entre si através da troca de mensagens
HTTP, passando requisições e respostas com páginas da Internet.

Francisco Adell Péricas 34


As páginas da Internet são constituídas de objetos, os quais são simplesmente arquivos –
texto HTML (Hypertext Markup Language), imagens JPEG (Joint Photographic Experts
Group), imagens GIF (Graphics Interchange Format), applets Java, etc. – endereçados
por uma URL (Uniform Resource Locator).

A maioria das páginas da Internet é constituída por um arquivo HTML base e várias
referências a objetos. Por exemplo, uma página Internet composta por texto HTML, 1
applet Java e 3 figuras JPEG, possui ao todo 5 objetos.

Cada URL tem 3 componentes: o endereço da máquina servidora que contém o objeto a
ser visualizado, o diretório dentro do servidor onde o objeto está armazenado e o arquivo
contendo objeto requisitado.

www.ab.com.br/noticiario/hoje/ultima.html

Arquivo
Diretório
Endereço

Quando um programa cliente, chamado navegador Internet, pede uma página Internet, ele
envia ao servidor Internet mensagens HTTP de requisição para cada um dos objetos
constituintes da página. O programa servidor recebe estas solicitações e responde com
mensagens HTTP contendo os objetos.

Há dois tipos de conexões HTTP: persistentes e não-persistentes. Quando o HTTP usa


conexões não-persistentes (é o caso da versão 1.0), para cada objeto constituinte da
página, uma nova conexão é criada e encerrada ao concluir a transmissão. Quando o
HTTP usa conexões persistentes (é o caso padrão da versão 1.1), é criada uma conexão
para cada grupo de objetos constituintes da página e presentes em uma mesma máquina
servidora.

Uma mensagem HTTP de requisição é composta por uma linha inicial (chamada linha
de requisição), várias linhas adicionais contendo opções específicas para a requisição
(chamadas linhas de cabeçalho) e uma linha final em branco. Seja a requisição HTTP a
seguir:

GET /algumdiretorio/subdir/pagina.html HTTP/1.1


Host: www.universidade.com.br
User-agent: Mozilla/4.0

Neste exemplo, a linha de requisição indica que se deseja obter o arquivo pagina.html
localizado no diretório algumdiretorio/subdir utilizando a versão 1.1 do protocolo HTTP. As
linhas de cabeçalho indicam que o servidor requisitado é o www.universidade.com.br e
que o navegador utilizado é o compatível com o Mozzila 4.0.

Francisco Adell Péricas 35


Uma mensagem HTTP de resposta é composta por uma linha inicial (chamada linha de
status), várias linhas adicionais contendo opções específicas para a resposta (chamadas
linhas de cabeçalho), uma linha em branco e o conteúdo do objeto propriamente dito. Seja
a resposta HTTP a seguir:

HTTP/1.1 200 OK
Date: Thu, 18 Oct 2001 12:00:00 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 15 Oct 2001 08:00:00 GMT
Content-Length: 1508
Content-Type: text/html

(...)

Neste exemplo, a linha de status indica que o servidor está utilizando a versão 1.1 do
protocolo HTTP e que a requisição está sendo respondida com sucesso. As linhas de
cabeçalho contêm a data em que a requisição está sendo respondida, o tipo de servidor
que está respondendo, a data da última atualização do arquivo, o comprimento do dado
(objeto) que está sendo enviado e o seu conteúdo (comprimento e tipo).

5.1.1 Cookies

O cookie é um mecanismo alternativo que alguns servidores Internet utilizam para


acompanhar os acessos sucessivos de um determinado usuário.

Quando um navegador Internet acessa um servidor que usa cookies, este gera um
número de identificação o qual é retornado e passa a ser armazenado localmente na
máquina cliente. Quando a máquina cliente voltar a acessar este servidor, ela envia o
número de identificação de forma que o servidor possa identificar quem está acessando e
quais características e/ou informações são relevantes a este cliente.

É importante ressaltar que não há qualquer identificação do usuário armazenada no


cookie, mas uma identificação que permite que o servidor consulte a sua base de dados
para obter as informações de todos os acessos que este usuário fez nos acessos
anteriores desde a máquina cliente.

5.2 Transferência de Arquivos

O protocolo de aplicação utilizado para a transferência de arquivos entre sistemas


computacionais é o FTP (File Transfer Protocol).

O FTP usa duas conexões TCP em paralelo para transferência de arquivos: uma
conexão de controle e uma conexão de dados. A conexão de controle é utilizada para
enviar informações de controle entre os equipamentos, enquanto que a conexão de dados
é utilizada para o envio de arquivos.

Francisco Adell Péricas 36


Conexão de
controle

porta 21
Cliente FTP Servidor FTP
porta 20

Conexão de
dados

Quando um usuário inicia uma sessão FTP com um servidor remoto, o FTP primeiro cria
uma conexão TCP de controle na porta 21 do servidor. Sem pre que o usuário na estação
cliente pede pela transferência de um arquivo, o FTP cria uma conexão TCP de dados na
porta 20 do servidor, envia o arquivo e então encerra a conexão. Para cada novo arquivo
a ser transferido, uma nova conexão de dados será criada e, no final da transmissão,
encerrada.

Os comandos do FTP, do cliente para o servidor, e as respostas, do servidor para o


cliente, são enviadas pela conexão de controle em um formato ASCII legível. Alguns dos
principais comandos do FTP são:

Comando Uso
ascii Define que o tipo de transferência é de dados ASCII
binary Define que o tipo de transferência é de dados binários
close Termina uma sessão FTP
dir Lista o conteúdo (os arquivos) da pasta remota
get Pede para receber o arquivo
open Cria uma sessão FTP com uma estação remota
quit Termina uma sessão FTP e sai
send Pede para enviar o arquivo
user Envia informações do usuário

5.3 Correio Eletrônico

O correio eletrônico é uma das aplicações mais importantes da Internet, onde se podem
enviar mensagens e lê-las quando for mais conveniente, sem ter que agendar um horário
para se comunicar com outras pessoas.

Além da facilidade de criação e de envio, as mensagens eletrônicas permitem incluir


referências a páginas Internet, texto com formatação HTML, imagens, som e até vídeo.

Um sistema de correio eletrônico é composto por basicamente dois módulos:


• máquina cliente, que redige e lê as mensagens eletrônicas;
• servidores de correio, que contêm as caixas postais dos seus usuários e que
encaminham as mensagens enviadas à máquina servidora dos destinatários de
cada mensagem;
e três protocolos:
• protocolo SMTP (Simple Mail Transfer Protocol), que encaminha mensagens de
correio eletrônico às máquinas servidoras de correio;

Francisco Adell Péricas 37


• protocolos POP3 (Post Office Protocol) ou IMAP (Internet Mail Access Protocol),
que permitem às máquinas cliente dos destinatários acessarem as mensagens
eletrônicas armazenadas nas caixas postais nos seus servidores de correio.

Servidor de correio Servidor de correio


(remetente) (destinatário)
Cliente Cliente
(remetente) (destinatário)

SMTP SMTP POP3 ou

IMAP

Caixas postais dos Fila de mensagens a


clientes do servidor serem enviadas pelo
de correio servidor de correio aos
servidores de destino

5.3.1 SMTP

O protocolo SMTP (Simple Mail Transfer Protocol) transfere mensagens eletrônicas desde
o servidor de correio do remetente até o servidor de correio do destinatário.

O SMTP, um dos primeiros protocolos de aplicação que surgiram para a Internet, só é


capaz de transmitir mensagens que contêm letras ASCII de 7 bits. Como hoje se utiliza o
código ASCII completo, além de dados binários de multimídia, é necessário codificar
todas as mensagens para ASCII de 7 bits antes de transmitir a mensagem eletrônica
através do SMTP e decodificá-la após o servidor de correio do destinatário recebê-la.

Para que uma máquina servidora de correio eletrônico envie uma mensagem da fila de
mensagens para uma máquina servidora de correio do destinatário, a primeira máquina
cria uma conexão TCP com a segunda através da porta 25, elas trocam algumas
mensagens de identificação e então se inicia o processo de envio de todas as mensagens
com o mesmo servidor de correio do destinatário.

As mensagens eletrônicas consistem de um cabeçalho, uma linha em branco e o corpo da


mensagem. Os principais campos de cabeçalho relacionados ao transporte de
mensagens são:

Cabeçalho Significado
Bcc: O(s) endereço(s) de correio eletrônico para cópias carbono
cegas
Cc: O(s) endereço(s) de correio eletrônico do(s) destinatário(s)
secundário(s)
Date: Data e hora local em que a mensagem foi criada
From: O(s) endereço(s) de correio eletrônico que criou(aram) a
mensagem
In-Reply-To: O identificador da mensagem a que essa resposta será
enviada
Keyword: Palavras-chave criadas pelo usuário para a mensagem

Francisco Adell Péricas 38


Message-Id: Identificador exclusivo da mensagem que pode ser utilizada
posteriormente para referenciar esta mensagem eletrônica
Received: A linha que é incluída por cada agente de transferência
durante o percurso
Reply-To: O endereço eletrônico para onde as respostas devem ser
enviadas
Return-Path: Pode ser utilizado para criar um caminho de volta ao
remetente
Sender: O endereço de correio eletrônico do remetente
Subject: Pequeno resumo da mensagem a ser apresentada em
apenas uma linha
To: O(s) endereço(s) de correio eletrônico do(s) destinatário(s)
principal(is)

Para permitir a transferência de dados multimídia, criou-se uma extensão à estrutura do


correio eletrônico chamada MIME (Multipurpose Internet Mail Extensions). A idéia básica
do MIME é continuar a utilizar o formato das mensagens eletrônicas padrão suportadas
pelo SMTP mas incluir uma estrutura no corpo da mensagem e definir regras para
mensagens não-ASCII. O MIME define cinco novos cabeçalhos de mensagens:

Cabeçalho Significado
MIME-Version: Identifica a versão do MIME
Content-Description: Identifica o conteúdo da mensagem
Content-Id: Identificador exclusivo de conteúdo
Content-Transfer-Encoding: Como o corpo da mensagem está codificado
para transmissão
Content-Type: Tipo do conteúdo da mensagem

São definidos sete tipos de conteúdos de mensagem, sendo que cada um deles tem um
ou mais subtipos, como por exemplo:

Tipo/Subtipo Descrição
text/plain Texto sem formatação
text/richtext Texto com comandos simples de formatação
image/gif Imagem GIF
image/jpeg Imagem JPEG
audio/basic Som
video/mpeg Filme MPEG
application/msword Contém um documento MS Word
message/rfc822 Mensagem no formato MIME RFC 822
multipart/mixed Partes independentes apresentadas seqüencialmente

5.3.2 POP3 e IMAP

O POP3 (Post Office Protocol) é um protocolo de acesso a caixas postais de servidores


de correio eletrônico extremamente simples e, portanto, bastante limitado.

Francisco Adell Péricas 39


Quando uma estação cliente deseja obter as mensagens de correio eletrônico do servidor
de correio que contém a sua caixa postal, ela faz uma conexão TCP utilizando a porta 110
com o servidor. Com a conexão TCP estabelecida, o POP3 passa por três fases:
1. autorização: o usuário envia seu nome e senha para autenticação por parte do
servidor;

Comando Descrição
user <nome> Define o nome do usuário para autenticação de
acesso ao servidor de correio
pass <senha> Transfere a senha do usuário para autenticação de
acesso ao servidor de correio

2. transação: o usuário pode obter estatísticas das mensagens presentes na sua


caixa postal, recuperá-las e marcá-las para serem removidas;

Comando Descrição
list Apresenta a lista de mensagens (com seu respectivo
tamanho) presentes na caixa postal do usuário
retr <número> Apresenta o conteúdo da mensagem eletrônica
dele <número> Marca a mensagem para que seja removida no final da
sessão

3. atualização: é a conclusão da sessão POP3, quando o servidor remove as


mensagens marcadas para remoção.

Comando Descrição
quit Termina a sessão e remove as mensagens marcadas
para remoção

O IMAP (Internet Mail Access Protocol) é um protocolo de acesso a caixas postais de


servidores de correio eletrônico muito mais elaborado que o POP3, porém bastante
complexo.

O IMAP permite que o usuário organize suas mensagens em pastas como é feito nos
aplicativos de correio eletrônico, porém dentro do próprio servidor de correio (sem trazer
as mensagens até a sua máquina), permitindo assim que o usuário acesse o conteúdo da
sua caixa postal personalizada de qualquer máquina cliente de qualquer ponto da
Internet.

Outra possibilidade do IMAP é recuperar apenas partes de uma mensagem (seu


cabeçalho, uma figura, um vídeo, etc.).

5.4 Serviço de Diretório

O DNS (Domain Name Server) é um esquema de atribuição de nomes hierárquico,


baseado em domínios. Ele é principalmente usado para mapear nomes de máquinas da
Internet e de servidores de correio eletrônico em endereços IP.

Francisco Adell Péricas 40


Para mapear um nome de uma máquina da rede em um endereço IP, um programa
aplicativo chama uma função de rede passando o nome da máquina de destino como
parâmetro. A função envia um pacote UDP para um servidor DNS, que procura o nome e
retorna o endereço IP encontrado. Então, a função retorna para o aplicativo o endereço
IP, o qual pode então estabelecer uma conexão com a máquina de destino ou enviar
pacotes UDP para ela.

A Internet é dividida em centenas de domínios de primeiro nível, onde cada domínio cobre
muitas máquinas. Os domínios são particionados em subdomínios, que também são
particionados, e assim sucessivamente.

O órgão responsável por definir e controlar os domínios da Internet é o IANA (Internet


Assigned Numbers Authority – www.iana.org). No Brasil, o órgão responsável pelo
domínio de país .br é o Comitê Gestor da Internet no Brasil (registro.br).

Os domínios de primeiro nível são divididos em dois tipos: genéricos e de países. Os


domínios genéricos definidos pelo IANA são:

Terminação de domínio genérico Descrição


.biz Organizações de negócios
.com Comerciais
.edu Educacionais
.giv Governamentais
.info Genéricos
.int Organizações internacionais
.mil Militares
.name Pessoais
.net Equipamentos da arquitetura de rede
.org Organizações

Os domínios de países são definidos por duas letras ao final do nome de máquina e são
administrados por órgãos gestores em cada um dos países. Por exemplo:

Terminação de domínio de país País


.aq Antártica
.br Brasil
.ch Suíça
.jp Japão
.tv Arquipélago de Tuvalu
.us Estados Unidos
.za África do Sul

Na teoria, um único servidor de nomes poderia conter o banco de dados DNS inteiro e
responder a todas as consultas da Internet. Além dos problemas inerentes ao excessivo
tráfego que isto geraria, caso esse servidor viesse a ficar fora do ar, a Internet inteira seria
atingida.

Para contornar estas restrições, o DNS foi desenvolvido como sendo um grande banco de
dados distribuído, onde os servidores locais de DNS passaram a conter apenas as

Francisco Adell Péricas 41


informações de domínio das máquinas registradas localmente. Este processo é feito
recursivamente e de forma hierárquica.

Quando a função de rede para resolução de nomes tem uma consulta sobre um nome de
domínio, ele a envia para um dos servidores de nomes locais. Se o domínio que estiver
sendo procurado estiver sob a sua jurisdição de nomeação, será retornado o registro de
recurso oficial.

Um registro oficial é aquele que é fornecido pela autoridade que gerencia o registro de
nomeação e, portanto, está sempre correto. Os registros mantidos em cache, ao contrário
dos registros oficiais, podem estar desatualizados.

Se, no entanto, o domínio for remoto e localmente não houver informações disponíveis
sobre ele, o servidor de nomes enviará uma mensagem de consulta para o servidor de
nomes de primeiro nível respectivo fazendo perguntas sobre o domínio solicitado.

Francisco Adell Péricas 42

Você também pode gostar