Vous êtes sur la page 1sur 108

Apostila TCP/IP

Wandreson Luiz Brandino


brandino@ish.com.br
Setembro/1998

Introduo ao TCP/IP ...................................................................................................4


1.1 Histrico ................................................................................................................................4
1.2 Documentao.......................................................................................................................5

Endereo de Rede...........................................................................................................7
2.1 Endereo IP...........................................................................................................................8
2.2 Classes de Endereos............................................................................................................9
2.2.1
2.2.2

Endereo Loopback .................................................................................................................. 10


Endereos IP reservados ........................................................................................................... 11

2.3 Roteadores...........................................................................................................................11
2.4 Sub-rede ..............................................................................................................................14
2.4.1

Mscara de uma Sub-Rede........................................................................................................ 14

2.5 Formato do datagrama IP .................................................................................................18


2.5.1

Algumas OPTIONS interessantes ............................................................................................. 21

Mapeamento de endereo de rede em endereo do nvel fsico..................................23


3.1 Protocolo ARP ....................................................................................................................23
3.1.1

Formato do Pacote ARP............................................................................................................ 25

3.2 Protocolo RARP..................................................................................................................26


3.3 Fragmentao de endereo IP em endereo fsico ...........................................................26

ICMP Internet Control message Protocol ...............................................................29


4.1 Entrega de Mensagens ICMP............................................................................................30
4.2 Tipos de Mensagem ICMP ................................................................................................30
4.2.1
4.2.2
4.2.3
4.2.4
4.2.5
4.2.6
4.2.7

Echo Request & Echo Reply..................................................................................................... 31


Reports unreacheble destination ............................................................................................... 32
Controle de Fluxo e de Congestionamento ............................................................................... 33
Route Change Request (Redirect) ............................................................................................. 33
Detecta rota circular ou excessivamente longa ......................................................................... 34
Reporta outros problemas ......................................................................................................... 35
Sincronizao de relgio e estimativa de tempo de transito...................................................... 35

Camada de Transporte.................................................................................................36
5.1 Aplicaes Cliente-Servidor ..............................................................................................36
5.1.1
5.1.2

O conceito de Porta................................................................................................................... 37
Utilizando a Arquitetura Cliente-Servidor ................................................................................ 39

5.2 O Protocolo TCP (Transmission Control Protocol) ........................................................40


5.2.1
5.2.2

Formato do pacote TCP ............................................................................................................ 41


Portas bem conhecidas do TCP................................................................................................. 43

5.3 O Protocolo UDP (User Datagram Protocol) ...................................................................44


5.3.1
5.3.2

Formato do Pacote UDP (User Datagram Protocol) ................................................................. 44


Portas bem conhecidas do UDP ................................................................................................ 45

Protocolos de Roteamento ...........................................................................................46


6.1 Roteamento Direto..............................................................................................................46

6.2 Roteamento Indireto ..........................................................................................................46


6.3 Tabela de Roteamento........................................................................................................48
6.4 Rota Default ........................................................................................................................50
6.5 Alguns exemplos prticos...................................................................................................51
6.5.1
6.5.2

Exemplo 1 ................................................................................................................................. 51
Exemplo 2 ................................................................................................................................. 56

IGP Interior Gateway Protocol ................................................................................60


7.1 RIP - Routing Information Protocol (RFC 1058) ............................................................62
7.1.1
7.1.2

Problemas do Protocolo RIP ..................................................................................................... 62


Convergncia Lenta do RIP ...................................................................................................... 63

7.2 O Protocolo Hello ...............................................................................................................65


7.3 OSPF - Open Shortest Path First (RFC 1131) .................................................................66
7.3.1
7.3.2

Formato das Mensagens............................................................................................................ 67


Exemplo de Funcionamento OSPF ........................................................................................... 71

7.4 IGRP (Interior Gateway Routing Protocol).....................................................................75

EGP - Exterior Gateway Protocol (RFC 904) ............................................................76


8.1 Cabealho Padro do EGP ................................................................................................77
8.2 Mensagem de Aquisio de Vizinho..................................................................................78
8.3 Teste Contnuo de Funcionamento de Vizinho ................................................................78
8.4 Mensagem POLL REQUEST............................................................................................79
8.5 Mensagem de Atualizao de Rotas..................................................................................79

DNS - Domain Name System ......................................................................................83


9.1 Nomes Hierrquicos ...........................................................................................................84
9.2 Ferramenta Nslookup ........................................................................................................86
9.3 Configurao do DNS......................................................................................................... 87
9.4 Resoluo de Nomes ...........................................................................................................89
9.4.1

10

Formato da Mensagem.............................................................................................................. 89

Aplicaes.....................................................................................................................92
10.1

Telnet Terminal Remoto.............................................................................................93

10.2

FTP - Transferncia de Arquivos .................................................................................95

10.3

E-mail - Mensagens Eletrnicas....................................................................................99

10.4

News Group ..................................................................................................................102

10.5

WWW (Word Wide Web) ...........................................................................................103

10.6

Ping................................................................................................................................105

10.7

Finger ............................................................................................................................106

11

Evoluo e Concluso................................................................................................107

12

Bibliografia ................................................................................................................108

1 Introduo ao TCP/IP
Com o crescimento cada vez mais acentuado das redes de computadores surge a
necessidade de interconecata-las haja visto que uma grande rede formada por pequenas
unidades de LAN (Local Area Network ), MAN (Metropolitan Area Network) ou WAN
(Wide Area Network).
Como existem diversos tipos de usurios e diversos tipos de aplicaes, existem
tecnologias de redes que se adequam melhor a cada perfil de usurio. O problema comea a
surgir quando precisamos conectar diferentes tecnologias de redes de forma transparente.
Torna-se ento necessrio um protocolo (ou linguagem) comum que independente da
tecnologia de rede utilizada permita uma comunio (ou internetworking) de forma
transparente. Neste contexto, o protocolo TCP/IP (Transport Control Protocol / Internet
Protocol) vem suprir esta necessidade dando total transparncia aos usurios finais das
diversas tecnologias de rede empregadas pelas diversas LANs, MANs e WANs existentes,
mascarando todos os detalhes da tecnologia de Hardware utilizada.
Na Internet usado o conceito de Open System (Sistemas Abertos), onde as especificaes
so pblicas, no tm dono, ou seja, qualquer pessoa pode produzir software para esta
tecnologia sem que seja preciso autorizao ou pagamento de royalties para terceiros.
A Internet j possui milhares de aplicaes, e outras tantas esto diariamente sendo criadas.
Dentre todas as aplicaes algumas merecem destaque especial, como:

Correio Eletrnico (SMTP)


WWW (HTTP)
Resoluo de Nomes (DNS)
Transferncia de Arquivos (FTP)
Terminal Remoto (TELNET)
Gerenciamento (SNMP)

1.1 Histrico
A plataforma TCP/IP surgiu atravs dos trabalhos do DARPA (Defense Advanced
Research Projects Agency) dos Estados Unidos, em meados da dcada de 70, constituindo a
ARPANET, que mais tarde se desmembrou em ARPANET, para pesquisa, e MILNET,
voltada para as instituies militares.
Vale ressaltar que desde o princpio a arquitetura TCP/IP foi concebida em um contexto de
guerra (Guerra Fria), onde uma das grandes preocupaes era interligar os diversos
computadores (independente da tecnologia de rede utilizada), de forma simples e no
centralizada, ou seja, se determinados computadores fossem eventualmente destrudos a

rede continuasse funcionando independente daqueles computadores, o que inclui um


conceito muito forte de descentralizao, caracterstica essa que no era comum na poca.

Para encorajar os pesquisadores universitrios a adotar o TCP/IP, o DARPA fez uma


implementao de baixo custo, integrando-o ao sistema operacional UNIX da Universidade
de Berkeley (BSD) j em uso em todas as universidades americanas. Alm disso, teve-se o
cuidado de definir aplicaes de rede similares s j conhecidas em Unix, como rusers e
rcp.
Mais tarde a NSF (National Science Foundation) estimulou o seu crescimento criando a
NSFNET, que ligava centros de supercomputao espalhados por todo o Estados Unidos,
numa rede de longa distncia, tambm o utilizando o protocolo TCP/IP para interligar as
diferentes tecnologias de redes.
Devido a sua grande facilidade de implementao, baixo custo e as vantagens que esta rede
oferecia, ela cresceu rapidamente e se espalhou por diversos pases, constuindo o que hoje
conhecemos como Internet.
Quando algum nos fala do protocolo TCP/IP logo nos vem a cabea a palavra Internet,
porque a Internet s o que graas a este protocolo, vale observar que voc pode utilizar
o TCP/IP independente de estar ligado a Internet. A palavra que usamos atualmente para
definir uma rede que utiliza o TCP/IP mas no esta ligada Internet Intranet. Neste
contexto, possvel ter todas as facilidades das aplicaes Internet, ou seja, do protocolo
TCP/IP, dentro de um ambiente fechado.
Como o TCP/IP um sistemas aberto, no existe uma pessoa ou instituio responsvel
por ele. Existe sim, organismos como o IAB (Internet Activites Board) que coordena os
esforos de pesquisa na rea, atravs de vrios grupos de trabalho, tal como o IETF
(Internet Engineering Task Force). Todas estas especificaes so descritas nas RFC
(Request for Comments), que detalham o conjunto de padres para comunicao entre os
computadores, assim como as convenes de interconexo, roteamento, trfego e etc.

1.2 Documentao
Qualquer pessoa pode sugerir um novo padro ou alterao de um j existente, para isso ela
escreve a especificao deste padro e o envia na forma de um draft (Rascunho) de uma
RFC, para o NIC (Network Information Center), para ser julgado da viabilidade de
aceitao ou no do padro, caso o padro seja aceito, ele recebe um nmero sequncia e
publicado na Internet para que as pessoas tenham conhecimento dele. Um exemplo de RFC
seria portanto a RFC1092, RFC734 e assim por diante. Caso o draft no seja aceito, ele
simplesmente descartado.
Existem vrios lugares na Internet que se publicam as RFCs, entre eles citamos:

http://www.ietf.org/

http://andrew2.andrew.cmu.edu/rfc/rfc1160.html , vai trazer a RFC1160, por exemplo

2 Endereo de Rede
O nvel de rede da arquitetura Internet TCP/IP exatamente o protocolo IP (Internet
Protocol). Como visto anteriormente, este protocolo tem como funcionalidade bsica
rotear pacotes de uma mquina para outra, dentro de uma mesma rede ou entre redes
diferentes (baseado na informao de endereo contida no pacote), utilizando a tecnologia
de chaveamento de pacotes com datagrama no-confivel. Isto significa dizer que o nvel
IP no faz nenhum tipo de verificao de entrega dos pacotes, nem to pouco estabelece
conexo antes de transmitir qualquer dado (Connectionless Packet Delivery Service),
ficando esta responsabilidade para as camadas superiores, no caso, o TCP (Transmission
Control Protocol) para dados com garantia de entrega ou UDP (User Datagram Protocol)
para dados sem garantia de entrega. A Figura 2.1 mostra uma comparao entre o modelo
de referncia OSI e a arquitetura Internet, nele possvel ver que o protocolo IP
correspondente exatamente ao nvel de rede do modelo OSI.

Figura 2.1 - Modelo OSI versus Arquitetura TCP/IP


Alm de rotear os pacotes pela rede, o nvel IP tambm define o endereamento universal
da Internet, ou seja, neste nvel que as mquinas so diferenciadas uma das outras,
atravs do seu endereo IP.

2.1 Endereo IP
Para duas mquinas se comunicarem utilizando o protocolo TCP/IP, cada uma destas
mquinas precisa ter um endereo IP diferente, pois atravs do endereo IP que possvel
identificar uma determinada mquina.
Agora imagine que ao invs de voc ligar somente duas mquinas, voc queira ligar
milhes delas em diversas partes do mundo. natural pensar que a quantidade de
endereos tambm seja enorme. Pensando nisso, o endereo IP foi criado como um
conjunto de 32 bits para ser utilizado por todas as aplicaes que utilizem o protocolo
TCP/IP. A notao desta representao mostrada a seguir:
X.X.X.X
Onde o valor de X varia de 0 255, ou seja, 28 = 256 possibilidades, como mostrado
abaixo:
0.0.0.0 255.255.255.255
Observe, portanto, que o nmero mximo de computadores e elementos de rede utilizando
esta forma de endereamento seria: 4.294.967.296 (256 x 256 x 256 x 256), o que um
nmero bastante representantivo, mas que j esta ficando saturado para os dias atuais1.
por isso que solues como Proxy, DHCP ou o prprio IPv6 (nova verso do IP) esto
sendo largamente utilizados para resolver este problema de escassez de nmeros IP, como
veremos nos prximos captulos. Alguns exemplos de endereo IP seriam:

200.241.16.8
30.10.90.155
197.240.30.1

De forma a facilitar a compreenso ao homem, o endereo IP escrito como quatro


nmeros decimais separados por ponto. Cada decimal d o valor de um octeto do endereo
IP (em binrio). A figura 2.2 mostra um endereo IP com a sua representao binria e a
sua representao decimal. A representao binria separada em quatro blocos de oito
bits, j na sua forma decimal, estes blocos so agrupados e separados por ponto.

Figura 2.2 Representao IP binria e decimal


1

Esta conta s ilustrativa, pois a quantidade de mquinas ainda menor. Pois no estamos considerando
endereos de Loopback, IPs reservados entre outros.

Observe que mesmo o endereamento IP sendo bastante eficiente, as pessoas tendem a Ter
dificuldade para decorar nmeros, ainda mais um nmero to grande. Para resolver este
problema foi criado o servio de DNS (Domain Name System), que associa um nome,
geralmente mais fcil de memorizar ao respectivo nmero IP da mquina, isto porque a
comunicao entre qualquer dois usurios na Internet sempre feita atravs de endereos
IPs. O servio de DNS ser abordado mais adiante.
Quando a Internet surgiu os endereos IPs eram distribudos de forma centralizada pelo
NIC (Network Information Center), medida que a Internet foi crescendo tornou-se
impossvel uma nica entidade distribuir os endereos IP. O NIC ento tomou a deciso de
descentralizar este servio, passando a responsabilidade para determinadas instituies de
cada pas. No Brasil a instituio responsvel pela distribuio dos endereos IPs e pelo
gerenciamento dos domnios a FAPESP. Os endereos IPs so gratuitos, antigamente
bastava-se fazer uma solicitao para receber um endereo classe C, com a crescente
escassez destes endereos os critrios mudaram um pouco, passando tambm o provedor de
acesso seder alguns endereos classe C para um determinado cliente. Maiores informaes
sobre a poltica atual da FAPESP podem ser encontradas no site www.fapesp.br.

2.2 Classes de Endereos


Os endereos IP foram divididos em classes para facilitar o roteamento de pacotes. Nesta
diviso, um endereo de classe A por exemplo tem o seu primeiro octeto reservado para o
endereo de rede e os demais so utilizados para as mquinas, j o endereo classe B, tem
os dois primeiros octetos reservados para a rede e os demais para as mquinas, no endereo
de classe C os trs primeiros octetos so reservados para a rede e somente o ltimo octeto
para as mquinas. Isto significa dizer que os endereos de classe C so usados por pequenas
redes, at o limite de 256 computador (utilizando somente um endereo de classe C), j os
endereos de classe B, so para redes maiores suportando at 65.536 computadores na
mesma rede e os de classe A suportam at 1.6777.2162. Existe ainda os endereos de Classe
D que so utilizados para enviar mensagens multicasting (uma mensagem enviada atravs
de um nico endereo IP para vrios destinatrios) e o broadcasting (uma mensagem
enviada atravs de um nico endereo IP para todos os destinatrios de uma determinada
rede). A faixa de endereos IP de cada classe mostrada na Tabela 2.1
De

Classe de Endereo
0
126
A
128
191
B
192
223
C
224
239
D
240
247
E
Tabela 2.1 Faixa de endereos IP de cada classe

Novamente esta conta no leva em considerao diversos aspectos, sendo o nmero de computadores menor
do que o especificado.

A Figura 2.3 ilustra cada classe com a sua respectiva representao binria e a quantidade
de Hosts (computadores) que podem estar conectados dentro daquela classe de endereo.

Figura 2.3 - Diviso dos endereos IP em classes


A Tabela 2.2 ilustra as classes de endereos com suas faixas decimal e sua representao
binria.
Classe
A
B
C
D
E

Faixa de Endereos
1-126.X.X.X
128-191.X.X.X
192-223.X.X.X
224-239.X.X.X
240-247.X.X.X

Representao Binria
Utilizao
0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh
10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh
110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh
1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx Multicast
/
Broadcast
11110xxx.xxxxxxxx.xxxxxxxx.xxxxxxxx Reservado

Tabela 2.2 Faixa de Endereos decimais e binrios


Onde,
X um nmero que varia de 0 255
n o nmero de bits da rede
h o nmero de bits do host
x o nmero de bits da rede e do host

2.2.1 Endereo Loopback


Observe que o endereo 127.X.X.X no mostrado na tabela acima, isto porque este
endereo foi reservado para Loopback.
Por conveno, toda mquina rodando TCP/IP possu uma interface de Loopback, alm das
interfaces de rede que possui. Esta interface no conecta a rede alguma. Seu objetivo
permitir teste de comunicao inter-processos dentro da mesma mquina.

Quando um programa usa o endereo de loopback para enviar dados, o software do


protocolo retorna o dado sem gerar trfego na rede (isto muito utilizado para se testar
programas, inclusive quando no se tem placa de rede). A comunicao vai pelo caminho
normal, saindo do nvel de aplicao, passando pelo nvel de transporte (TCP ou UDP) e
chegando ao nvel IP, que retorna a comunicao de volta ao nvel de aplicao de um
outro processo.
A especificao determina que um pacote enviado para a rede 127 nunca deve aparecer em
nenhuma rede. O endereo de loopback utilizado pela quase totalidade das implementaes
127.0.0.1.

2.2.2 Endereos IP reservados


Assim como a classe de endereos 127.0.0.0 reservada para loopback, existem outros
endereos reservados que no podem ser utilizados em nenhuma mquina conectada a
Internet.
Esses endereos so reservados para redes que no se ligaro nunca Internet ou que se
ligaro atravs de um proxy3 (assim como as Intranets).
Nenhum destes endereos pode ser anunciado, o que quer dizer que se uma mquina for
conectada a Internet com algum endereo reservado ela no conseguir passar pelos
gateways core (Core sero vistos mais a frente).
Os endereos reservados da Internet so especificados pela RFC1597 e so os seguintes:
Rede
10.0.0.0
172.16.0.0
192.168.0.0

Mscara
255.0.0.0
255.240.0.0
255.255.0.0

2.3 Roteadores
A funo bsica do protocolo IP o transporte dos blocos de dados dentro de uma mesma
rede ou entre sub-redes. Quando uma mquina A deseja falar com uma mquina B que
esteja na mesma rede, esta simplesmente joga a mensagem na rede, para ser mapeada no
protocolo de enlace e depois no fsico para chegar seu destionatrio.
Entretanto, s vezes a mquina A deseja falar com a mquina C, que esta em uma outra
sub-rede. Neste caso o trfego transferido de uma rede para outra atravs de
equipamentos chamados Roteadores ou Gateways, estes equipamentos tem por finalidade
interconectar duas redes, como mostra a Figura 2.4.

Proxy e Core sero vistos mais adiante.

Figura 2.4 Roteador entre duas Redes


Como vimos, o endereo IP contm informaes sobre a rede e a mquina. Como resolver
ento o problema do Roteador, j que este esta ligado a duas redes distintas?
Este problema resolvido atribuindo dois endereos IP ao roteador, um endereo referente
Interface de rede da Rede 1 e outro endereo IP referente Interface de rede da Rede 2.
O roteador ter portanto no mnimo dois endereos IPs. Havero casos que o roteador
estar ligado a mais redes, logo um nmero maior de endereos IPs ser requerido.
Um primeiro problema que surge que se uma mquina A, da Rede 1, for transferida para a
Rede 2, o endereo IP desta mquina ter que ser alterado. A Figura 2.5 um exemplo de
conexo de redes diferentes (2 redes Ethernet e 1 Token Ring ) utilizando o protocolo
TCP/IP. Vale ressaltar que temos trs classes de endereos IP, como mostrado abaixo:
Token Ring 192.3.40.0 (classe C)
Ethernet 146.134.0.0 (classe B)
Ethernet 12.0.0.0 (classe A)

Figura 2.5 Interconexo de trs redes


Na rede Token Ring (192.3.40.0), temos as mquinas:

192.3.40.1
192.3.40.2
192.3.40.20 (Mquina C)
192.3.40.21
192.3.40.22 (Mquina A)

Na rede Ethernet, 146.134.0.0, temos as mquinas:

146.134.8.2
146.134.20.7
146.134.20.8 (Mquina A)
146.134.150.1 (Mquina B)

Na rede Ethernet, 12.0.0.0, temos as mquinas:

12.11.111.0 (Mquina B)
12.0.0.4
12.20.40.32 (Mquina C)

Observe que a Mquina A, esta fazendo o papel de roteador (ou gateway) entre a rede
Token-Ring (192.3.40.0) e rede Ethernet (146.134.0.0), da mesma forma que a Mquina
B, entre a rede Ethernet (146.134.0.0) e rede Ethernet (12.0.0.0) e a Mquina C entre a
rede Ethernet (12.0.0.0) e a rede Token-Ring (192.3.40.0). Isto facilmente implementado
colocando duas placas de rede em cada uma dessas mquinas e configurando para cada
placa de rede o seu respectivo endereo IP.

2.4 Sub-rede
A classificao dos endereos IP por classes tem como objetivo facilitar o roteamento. Pela
classe do endereo sabe-se quantos bits representam a rede e quantos a mquina O endereo
classe C geralmente usado para redes pequenas. No entanto, a alocao de um endereo
classe C para uma rede implica na alocao de 256 endereos, na verdade 254 (so
desconsiderados o ltimo nmero igual a 0 e a 255), mesmo que eles no sejam todos
usados. O crescimento elevado da Internet fez escassear o nmero de endereos disponvel,
principalmente porque muitas empresas tem endereo IP classe C para 254 mquinas e
usam bem menos que esta quantidade. Para minimizar este problema, foi introduzido o
conceito de sub-rede, que procura utilizar outros bits para identificar a rede ao invs da
estao. O exemplo da Figura 2.6 mostra uma rede 128.10.0.0 que sub-dividida
internamente em duas redes distintas, a rede 128.10.1.0 e a rede 128.10.2.0

Figura 2.6 Sub-Diviso de uma rede


Para toda a Internet, existe o endereo de rede 128.10.0.0, que o endereo que chega at o
Gateway (G), quando um pacote chega a este Gateway que ele vai ser roteado para uma
ou outra rede dependendo do IP de destino (no caso ir analisar o terceiro octeto de
destino). Em vrios casos a separao em sub-rede traz outras vantagens como melhoria na
performance da prpria rede interna, como veremos a seguir.
Vale ressaltar que se eu no fizesse a diviso em sub-redes, o endereo 128.10.1.0 e o
endereo 128.10.2.0 sero endereos de estaes e no endereos de rede como esta agora.

2.4.1 Mscara de uma Sub-Rede


Para definirmos se um determinado endereo IP um endereo de rede ou um endereo de
mquina utilizamos o conceito de mscara. A mscara de uma rede vai nos permitir dizer
quais endereos so da rede e quais so de mquinas e dentro de qual rede. O formato de
escrita da mscara o mesmo do nmero IP.
A lgica bastante simples: Vamos definir que se o bit da mscara for igual a 1 significa
que um endereo de rede e se for igual a 0 (zero) endereo de mquina. Neste sentido a
mscara 255.255.255.0 por exemplo, que na sua forma binria equivaleria a

11111111 11111111 11111111 00000000


estaria indicando que os trs primeiros octetos esto sendo utilizados para rede e o ltimo
para mquina. Isto significa dizer que dentro desta rede podemos ter 254 mquinas (256 =
28 2 dos endereos 0 e 255). Isto porque gastamos os trs primeiros octetos para dizer
qual a rede, ento s nos sobrou o ltimo para especificar as mquinas.
A Tabela 2.3 mostra qual a mscara utilizada para as classes A, B e C, sem sub-redes.
O padro especifica que um site usando subrede deve escolher uma mscara de 32 bits para
cada rede. Bits na mscara so 1 se o bit correspondente no endereo IP for referente a
rede, e 0 se o bit bit correspondente no endereo IP for referente a mquina.
Por exemplo, para redes classe A, B e C sem subrede teramos as seguintes mscaras
(Tabela 2.3):
Classe
A
B
C

Mscara Binria
11111111 00000000 00000000 00000000
11111111 11111111 00000000 00000000
11111111 11111111 11111111 00000000

Mscara Decimal
255.0.0.0
255.255.0.0
255.255.255.0

Tabela 2.3 Mscara Binria e Decimal por classe, sem sub-rede


Pelo padro, os bits usados para sub-rede no precisam ser contguos. A seguinte mscara
vlida:
11111111 11111111 00011000 01000000
Esta mscara, no entanto, traria endereos de mquinas na sub-rede bastante confusos, de
forma que boa poltica usar bits de rede contguos.
Exemplo:
Vamos fazer agora um exemplo real. Suponha que tenhamos um endereos IP classe C,
digamos 200.241.16.X. Quantas sub-redes eu posso ter? E quais os endereos de mquina?
No caso mais simples, temos apenas 1 rede, no h sub-redes, logo a mascara seria:
Binrio
Decimal

11111111
255

11111111
255

11111111
255

00000000
0

E os endereos IPs seriam de: 200.241.16.0 200.241.16.255


S que devemos lembrar SEMPRE de retirar os endereos IP extremos. Portanto, nossos
endereos vlidos so:

200.241.16.1 200.241.16.254
Agora suponha que tenhamos 2 sub-redes. Nossa mscara ento seria:
Binrio
Decimal

11111111
255

11111111
255

11111111
255

10000000
128

Neste caso estamos utilizando mais um bit para identificar a rede (o primeiro bit igual a 1
do quarto octeto). Logo temos duas redes possveis. A rede 0 e a rede 1.
Na sub-rede 0 teremos os endereos IPs de: 200.241.16.0 200.241.16.127
Como devemos eliminar sempre os extremos, os nossos endereos vlidos nessa sub-rede
sero:
200.241.16.1 200.241.16.126
J na sub-rede 1 teremos os endereos IPs de: 200.241.16.128 200.241.16.255
Aplicando tambm a eliminao dos extremos, ficamos com os endereos:
200.241.16.129 200.241.16.254
Observao Importante: De acordo com o padro a primeira sub-rede (todos os bits de
rede igual a zero) e a ltima sub-rede (todos os bits de rede igual a um) tem que ser
descartadas. Logo, pelo padro, a rede acima no teria nenhuma mquina j que
descartaramos a primeira e a ltima sub-rede. Alguns fabricantes, entretanto, como a
Cisco por exemplo aceitam a mascara acima, mas vale ressaltar que isto no faz parte do
padro e portanto no recomendado.
Agora suponha que tenhamos 4 sub-redes. Nossa mscara ento seria:
Binrio
Decimal

11111111
255

11111111
255

11111111
255

11000000
192

Neste caso estamos utilizando mais dois bits para identificar a rede (os dois primeiros bits
igual a 1 do quarto octeto). Logo temos quatro redes possveis. A rede 00, 01, 10 e 11.
Na sub-rede 00 teremos os endereos IPs de: 200.241.16.0 200.241.16.63
Como devemos eliminar sempre os extremos, os nossos endereos vlidos nessa sub-rede
sero:
200.241.16.1 200.241.16.62
A explicao acima s ilustrativa, porque como j vimos esta sub-rede deve ser
desconsiderada.

Na sub-rede 01 teremos os endereos IPs de: 200.241.16.64 200.241.16.127


Aplicando tambm a eliminao dos extremos, ficamos com os endereos:
200.241.16.65 200.241.16.126
Na sub-rede 10 teremos os endereos IPs de: 200.241.16.128 200.241.16.191
Aplicando tambm a eliminao dos extremos, ficamos com os endereos:
200.241.16.129 200.241.16.190
Na sub-rede 11 teremos os endereos IPs de: 200.241.16.192 200.241.16.255
Aplicando tambm a eliminao dos extremos, ficamos com os endereos:
200.241.16.193 200.241.16.254
Pelo mesmo motivo mencionado anteriormente esta sub-rede tambm ser descartada.
Para saber qual a faixa de endereos IP de cada sub-rede basta dividir 256 pelo nmero de
sub-redes. No exemplo anterior teriamos 256 dividido por 4 igual a 64. Isto significa dizer
que cada rede teria 64 mquinas (sem considerar a eliminao dos extremos). Ficando ento
os endereos distribudos da seguinte forma:

X.X.X.0 X.X.X.63
X.X.X.64 X.X.X.127
X.X.X.128 X.X.X.191
X.X.X.192 X.X.X.255

Lembrando sempre que o primeiro e o ltimo conjunto de endereos dever ser descartado.
No caso os endereos de X.X.X.0 X.X.X.63 e X.X.X.192 X.X.X.255
O processo para achar todas as outras sub-redes o mesmo. A tabela 2.4 faz um resumo
deste processo para um endereo IP classe C at 8 sub-redes. As sub-redes grifadas no
podero ser usadas de acordo com o padro.
Sub-Redes
Mscara
1
255.255.255.0
2
255.255.255.128
255.255.255.128
4
255.255.255.192
255.255.255.192
255.255.255.192
255.255.255.192
8
255.255.255.224

No. Da Sub-Rede
0
1
00
01
10
11
000

IPs Vlidos
x.x.x.1 x.x.x.254
x.x.x.1 x.x.x.126
x.x.x.129 x.x.x.254
x.x.x.1 x.x.x.62
x.x.x.65 x.x.x.126
x.x.x.129 x.x.x.190
x.x.x.193 x.x.x.254
x.x.x.1 x.x.x.30

Tot. Maq.
254
126
126
62
62
62
62
30

Sub-Redes

Mscara
255.255.255.224
255.255.255.224
255.255.255.224
255.255.255.224
255.255.255.224
255.255.255.224
255.255.255.224

No. Da Sub-Rede
001
010
011
100
101
110
111

IPs Vlidos
x.x.x.33 x.x.x.62
x.x.x.65 x.x.x.94
x.x.x.97 x.x.x.126
x.x.x.129 x.x.x.158
x.x.x.161 x.x.x.190
x.x.x.193 x.x.x.222
x.x.x.225 x.x.x.254

Tot. Maq.
30
30
30
30
30
30
30

Tabela 2.4 N de sub-redes versus classes


A Tabela 2.5 mostra a quantidade de sub-redes, a quantidade de mquinas de cada sub-rede
e a quantidade total de mquinas.
N de Bits
0
1
2
3
4
5
6

N Sub-Redes
0
2-2=0
4-2=2
8-2=6
16-2=14
32-2=30
64-2=62

Quantidade de Mquinas por Sub-Rede


254
0
62
30
14
6
2

Total Mquinas
254
0
124
180
196
180
124

Tabela 2.5 N de sub-redes e mquinas de um endereo classe C

2.5 Formato do datagrama IP


O datagrama IP a unidade bsica de dados no nvel de rede (Internet Protocol IP). Este
protocolo consiste em um servio de entrega de pacotes, no confivel, sem
reconhecimento e sem conexo de um datagrama IP. Isto significa dizer que um pacote IP
pode ser perdido, duplicado atrasado ou entregue fora de ordem, mas o nvel IP no
detectar tais condies ficando esta responsabilidade para os nveis superiores. funo
do nvel de rede (IP) tambm efetuar o roteamento do pacote escolhendo o caminho que ele
dever seguir.
Um datagrama est dividido em duas reas, uma rea de cabealho e outra de dados. O
cabealho contm toda a informao necessria para identificar o contedo do datagrama,
bem como o seu endereo origem e destino, entre outros. Na rea de dados est
encapsulado o pacote do nvel superior, ou seja um pacote TCP ou UDP, que contm os
dados propriamente ditos. A Figura 2.7 mostra o formato do datagrama.

Figura 2.7 Datagrama IP


A Tabela 2.6 fornece a descrio de cada campo.
Campo IP
VERS
HLEN
SERVICE-TYPE

Descrio
Verso do protocolo IP que foi usada para criar o datagrama
Comprimento do cabealho, medido em palavras de 32 bits
Este campo especifica como o datagrama poderia ser manipulado
pelo sistema de comunicao. Algumas opes so:
Precedence: indica a importncia do pacote, com valores desde 0
(precedncia normal) at 7 (controle da rede). Este bits permite-se ao
transmissor indicar a importncia de cada datagrama que ele est
enviando, sem contudo garantir que estas exigncias sero
cumpridas pela rede. Existem ainda as opes abaixo:

Indica a importncia do pacote


Precedncia
Baixo Delay
D:
Alto throughput
T:
Alta confiabilidade
R:
TOTAL-LENGTH Este campo proporciona o comprimento do datagrama medido em
bytes, incluindo cabealho e dados. Se o pacote for fragmentado este
campo indicar o tamanho do fragmento e no do pacote original
IDENTIFICATION Valor inteiro que identifica o datagrama. Este campo usado para
ajudar na remontagem de pacotes fragmentados. Este campo muito
importante porque quando um gateway fragmenta um datagrama, ele
copia a maioria dos campos do cabealho do datagrama em cada
fragmento, ento a identificao tambm deve ser copiada, com o

Campo IP

Descrio
propsito de que o destino saiba quais fragmentos pertencem a quais
datagramas. Cada fragmento tem o mesmo formato que um
datagrama completo.
FRAGMENT
Especifica o incio do datagrama original dos dados que esto sendo
OFF SET
transportados no fragmento. medido em unidades de 8 bytes
FLAG
Controla a fragmentao. Os dois bits de mais baixa ordem
controlam a fragmentao. Um bit especifica se o pacote pode ou no
ser fragmentado e o outro bit especifica se o pacote o ltimo
fragmento
TTL (Time to Live) Especifica o tempo em segundos que o datagrama est permitido a
permanecer no sistema Internet. Gateways e hosts que processam o
datagrama devem decrementar o campo TTL cada vez que um
datagrama passa por eles e devem remov-lo quando seu tempo
expirar.
PROTOCOL
Especifica qual protocolo de alto nvel foi usado para criar a
mensagem que est sendo transportada na rea de dados do
datagrama. Exemplo: FTP, HTTP, SMTP, etc
HEADERAssegura a integridade dos valores do cabealho. Observe que no
CHECKSUM
existe CheckSum para os dados, somente para o cabealho, isto
porque no pode haver erro na hora da entrega de um pacote ao
endereo de destino, mesmo que os dados estejam com problemas.
Isto significa dizer que o endereo da carta estar sempre correto, no
significando que esta chegue ao seu destinatrio ou caso chegue, que
os dados estejam corretos.
SOURCE IP
Especfica o endereo IP de origem
DESTINATION IP Especfica o endereo IP de destino
OPTIONS
Consiste de um nico octeto com opes diversas sobre um
determinado pacote. Algumas delas so:

PADDING

Copy controla como os gateways tratam as opes quando h


fragmentao: Se Copy = 1, ento Opes devem ser copiadas em
todos os fragmentos
Option Class
Significado
0
Datagrama de controle
1
Reservado para uso futuro
2
Debug
3
Reservado para uso futuro
Para cada uma das opes existe ainda um Option Number para
aumentar mais ainda a diversidade de opes.
A prxima sesso traz alguns exemplo interesantes.
Este campo pode ou no ser usado dependendo do campo OPTIONS.
um campo complementar, usado para armazenar um determinado

Campo IP
DATA

Descrio
valor dependendo da opo anterior.
o pacote da camada de transporte (TCP ou UDP)
Tabela 2.6 Opes do Datagrama IP

2.5.1 Algumas OPTIONS interessantes


Estas opes referem-se ao campo OPTION do datagrama IP.

Option Number 7, Option Class 0 - Record Route Option

Esta opo permite a origem criar uma lista vazia de endereos IPs e a cada gateway que
manusear o datagrama colocar o seu IP nesta lista. Esta opo ento traria toda a rota
utilizada que um determinado pacote fez entre o seu endereo de origem e o seu endereo
de destino. A Figura 2.8 ilustra como os endereos IP seriam armazenados.

Figura 2.8 Endereos IP de uma rota armazenados


Os endereos IP dos Gateways intermedirios so colocados na posio indicada pelo
campo POINTER.

Option Number 9 ou 3, Option Class 0 - Source Route Option

Permite a origem indicar a rota a ser seguida pelo pacote IP. Pode ser strict (option 9) ou
loose (option 3). No modo strict, o caminho entre dois endereos sucessivos deve consistir
de uma nica conexo fsica de rede. Na opo loose, o datagrama deve seguir a sequncia
de endereos, mas dois endereos sucessivos na lista podem ter vrios gateways entre eles.
Esta opo utilizada quando se deseja que um datagrama passe por um caminho
especfico independente do protocolo de roteamento. A Figura 2.9 ilustra este fato.

Figura 2.9 Definindo uma rota no datagrama

Option Number 4, Option Class 2 - Timestamp Option

Esta opo similar ao Record Route, porm cada gateway coloca na lista, alm do seu IP,
o tempo em que o pacote chegou este gateway. A Figura 2.10 ilustra este fato.

Figura 2.10 Armazenando uma rota e o seu tempo


O campo OFLOW conta o nmero de gateways que no suportam esta opo.

3 Mapeamento de endereo de rede em endereo do


nvel fsico
Duas mquinas numa mesma rede fsica s podem se comunicar se elas souberem o
endereo fsico uma da outra. Observe que at agora estavamos falando de endereo de
rede, agora j abaixamos mais um nvel no modelo de referncia OSI e no TCP/IP. Este
captulo tratar basicamente de transformar um endereo de rede em um endereo fsico,
para isto veremos os protocolos ARP e RARP.

3.1 Protocolo ARP


Como dito anteriormente, para duas mquinas numa mesma rede se comunicarem, elas
precisam saber o endereo fsico uma da outra. A Figura 3.1 ilustra uma rede com topologia
em barra.

Figura 3.1 Computadores em uma mesma rede


Considere as mquinas A e B da Figura 3.1, com seus endereos IP IA e IB e endereos
fsicos FA e FB. Suponha agora, que a mquina A deseja enviar um pacote para a mquina
B, mas A sabe apenas o endereo IP de B (IB). Ser necessrio portanto, um mapeamento
entre o endereo IP de B(IB) no seu endereo fsico, como ilustra a Figura 3.2. Mas como a
mquina A far isso?

Figura 3.2 Encapasulamento nvel de rede no nvel fsico


Primeiramente, A envia um broadcast (uma mensagem que parte de uma estao e atinge
todas as outras estaes da mesma rede), pedindo para a mquina cujo endereo IP seja IB
responder com seu endereo fsico FB.

Todas as mquinas recebem este broadcast, mas s B responde mquina que solicitou, no
caso a mquina A, s a partir deste momento que A pode enviar a mensagem para B. Este
protocolo chamado de ARP (Address Resolution Protocol).
De forma a otimizar a resoluo de endereos IP em fsico, o protocolo ARP usa uma cache
da seguinte forma:
Quando A recebe a resposta de B, guarda numa tabela os endereos IP e fsico de B (IB e
FB)
Quando B recebe o broadcast de A pedindo seu endereo fsico, B guarda em sua cache
IA e FA, supondo que se A deseja falar com ela (a mquina B), certamente ela (a
mquina B) ter de falar com A.
Esta informao residir no cache por um perodo apropriado.
A seguir apresentado um exemplo de como saber quais so os endereos IPs de uma rede
e os seus respectivos endereos fsicos. O comando arp a, pode ser usado tanto para
mquinas UNIX quanto na linha de comando do DOS.

cairo.inf.ufes.br> arp -a
milao.inf.ufes.br (200.241.16.86) at b4-66-56-ed-98-81
router.inf.ufes.br (200.241.16.1) at 08-00-02-09-71-90
xareu.16.241.200.in-addr.arpa (200.241.16.212) at 00-00-e8-31-8e-eb stale
helsinki.inf.ufes.br (200.241.16.253) at 00-a0-4b-03-5b-52
barcelona.inf.ufes.br (200.241.16.31) at 52-54-00-db-05-fe
seoul.inf.ufes.br (200.241.16.20) at (incomplete) stale not responding
novel107.inf.ufes.br (200.241.16.57) at b4-66-48-90-98-81
berlim.inf.ufes.br (200.241.16.9) at 08-00-2b-e7-74-e0
baleia.16.241.200.in-addr.arpa (200.241.16.220) at 00-60-08-df-4a-62 stale
paris.inf.ufes.br (200.241.16.2) at 08-00-2b-3d-ef-4e stale
novel115.inf.ufes.br (200.241.16.65) at b4-66-59-85-98-81 stale
albany.inf.ufes.br (200.241.16.28) at 00-00-e8-08-71-1d stale
londres.inf.ufes.br (200.241.16.6) at 00-00-3b-80-33-94 stale
novel119.inf.ufes.br (200.241.16.69) at b4-66-52-9e-98-81 stale
leeds.inf.ufes.br (200.241.16.10) at 10-00-5a-fa-37-10
novel109.inf.ufes.br (200.241.16.59) at 00-00-b4-33-9f-4b stale
veneza.inf.ufes.br (200.241.16.11) at 10-00-5a-fa-50-83
marlin.inf.ufes.br (200.241.16.200) at 10-00-5a-fa-4d-b2
camburi.inf.ufes.br (200.241.16.130) at 08-00-20-0e-9a-d3
otawa.inf.ufes.br (200.241.16.23) at 00-00-e8-08-6b-f6
Neste exemplo, possvel ver que a mquina de endereo hierrquico otawa.inf.ufes.br,
possui endereo IP 200.241.16.23 e endereo fsico 00-00-e8-08-6b-f6. Seguindo a mesma
leitura, sabe-se o endereo fsico de todas as outras mquinas da rede.

importante ressaltar que diferentes redes (Ethernet, Token Ring, ATM, FDDI), tem
diferentes implementaes do ARP. Sendo isto totalmente transparente para arquitetura
TCP/IP, j que tendo o endereo fsico a preocupao de entrega deste pacote nesta rede
fica por conta dos protocolos de acesso ao meio e de entrega desta rede.
Quando iniciadas, as estaes no possuem a tabela endereo IP / endereo fsico. Esta
tabela vai sendo criada e manipulada dinamicamente dependendo da sua necessidade.

3.1.1 Formato do Pacote ARP


A Figura 3.3 mostra o formato do pacote ARP.

Figura 3.3 Formato do pacote ARP


A Tabela 3.1 descreve os campos do pacote ARP.
Nome do Campo
Descrio
Hardware Type
Especifica a interface de hardware pela qual o usurio aguarda uma
resposta. No caso da rede Ethernet o valor 1.
Especifica o tipo de endereo que o usurio est procurando (0800H se
Protocol Type
for IP).
HLEN
Tamanho do endereo de Hardware
PLEN
Tamanho do endereo do protocolo de alto nvel. As opes HLEN e
PLEN em conjunto permitem que o ARP possa ser usado para uma rede
qualquer.
Operation
1 - ARP request (Requisio do endereo fsico)
2 - ARP response (Resposta do endereo fsico)
3 - RARP request (Requisio do endereo IP)
4 - RARP response (Resposta do endereo IP)
Sender H
Endereo de Hardware (Hardware Address) do remetente
Sender IP
Endereo IP do remetente
Target H
Endereo de Hardware (Hardware Address) do destinatrio

Nome do Campo
Descrio
Target IP
Endereo IP do destinatrio
Tabela 3.1 Descrio dos campos do pacote ARP

3.2 Protocolo RARP


O ARP converte um endereo IP em um endereo fsico, j o RARP (Reverse Address
Resolution Protocol) faz exatamente o processo inverso, que o de converter um endereo
fsico em um endereo IP.
Talvez voc esteja se perguntado mas para que ser isso? Pois bem, quando se usa mquinas
diskless (sem disco) que do boot via rede e deseja-se usar um protocolo para este boot
baseado em TCP/IP, ser necessrio que a mquina disponha de seu endereo IP ainda no
processo de boot. O problema onde guardar este endereo se a mquina no possui disco
local?
O protocolo RARP usado exatamente para este propsito. Ele mapeia o endereo fsico
no endereo IP. Uma mquina (com disco) dever ser designada servidor de RARP.
Quando uma mquina diskless entrar em processo de boot, o software de boot acionar o
RARP. Este enviar um broadcast na rede perguntando se algum sabe o endereo IP dela
(o endereo fsico automaticamente enviado no quadro). O servidor responde com o
endereo IP daquela mquina, a qual pode falar TCP/IP normalmente da pra frente, at que
ela seja desligada e o processo se repita novamente.
Repare que inicialmente o administrador da rede precisa identificar os endereos fsicos das
mquinas diskless e criar uma tabela de mapeamento no servidor.
O protocolo RARP idntico ao ARP, mudando apenas o tipo de mapeamento feito.

3.3 Fragmentao de endereo IP em endereo fsico


Para o nvel IP (de rede), um pacote IP uma unidade nica e indivisvel. Idealmente, o
pacote IP deveria caber inteiro no quadro do nvel de enlace. No entanto, nem sempre isso
acontece. Pode acontecer de que num certo caminho existam nveis de enlace que tenham
tamanho de rea de dados bastante reduzidos. Pode acontecer tambm do usurio
configurar o tamanho do pacote IP maior que a rea de dados da prpria rede onde a
mquina est conectada.
Quando um pacote IP no couber inteiro na rea de dados do quadro fsico, ele deve ser
fragmentado. Isto significa dizer, que o pacote deve ser quebrado em diversos pedaos que
caibam no nvel fsico. Ao chegar no seu destino, o pacote deve ser reconstitudo, j que o
nvel IP s poder processar o pacote se este estiver inteiro. A fragmentao/remontagem
feita pelo prprio nvel IP.

Na configurao do TCP/IP o usurio pode configurar o MTU (Maximun Transfer Unit),


parmetro que define o tamanho mximo do pacote IP inteiro. Se o tamanho mximo da
rea de dados do quadro de enlace for menor que o MTU o pacote IP ser fragmentado.
Esta fragmentao poder ser feita em qualquer gateway no caminho do pacote at o seu
destino, e no apenas na origem. No entanto, uma vez fragmentado, o pacote seguir
viagem assim (podendo ainda ser fragmentado novamente, caso em algum caminho a
unidade de dados do nvel fsico seja menor que o tamanho deste fragmento).
A responsabilidade pela remontagem dos fragmentos da mquina destino. A perda de um
fragmento implica na perda do pacote inteiro.
Para exemplificar o processo de fragmentao, observe a Figura 3.4, nela existem duas
redes Ethernet, cada uma com rea de dados de 1500 bytes, ligando as duas redes temos
uma rede X.25 com rea de dados de 256 bytes.

Figura 3.4 Redes com reas de dados diferentes


Observe que caso H1 queira enviar um dado para H2 no haver fragmentao (desde que o
pacote IP seja menor que 1500 bytes), o mesmo ocorre entre as mquinas H3 e H4. Agora
imagine que H1 queira enviar um dado para a mquina H3 ou H4.
Ser de responsabilidade de G1 fragmentar este dado para que ele possa passar pela rede
X.25, e ser de responsabilidade de H3 ou H4 remontar este pacote. O mesmo acontece
caso H3 ou H4 queiram enviar um pacote para H1 ou H2.
Uma forma de evitar esse problema seria definir a MTU das duas redes Ethernet para 256
(mesmo tamanho da rede X.25). Neste caso no haveria fragmentao, entretanto,
operaes dentro da mesma rede estariam sub-utilizando o frame Ethernet.
Na Figura 3.5 temos um pacote IP de 1400 bytes, sendo transmitido em uma rede com
MTU igual a 620 bytes e 20 bytes de cabealho. Ser portanto necessrio fragmentar este
pacote em trs outros. Pacote 1: 620 bytes (600 de dados e 20 de cabealho), Pacote 2: 620
bytes (600 de dados e 20 de cabealho) e Pacote 3: 220 bytes (600 de dados e 20 de
cabealho). claro que este processo aumenta o Overhead da rede, incluindo vrios
cabealhos, desperdiando assim recursos do sistema de computao.

Figura 3.5 Fragmentao de um pacote

O campo offset ajudar mquina de destino na remontagem do pacote.

4 ICMP Internet Control message Protocol


A Internet funciona bem se todas as mquinas operam corretamente e os roteadores estejam
coerentes, o que na verdade uma utopia. O protocolo IP pode falhar na entrega de
datagramas, estas falhas podem ser ocasionadas por:

Falha nas linhas de comunicao;


Mquina destino desconectada da rede;
TTL (Time-to-Live) do pacote IP expirar;
Gateway intermedirios congestionados entre outros

O ICMP (Internet Control Message Protocol) permite que os Gateways reportem erros ou
forneam informaes sobre circunstncias inesperadas (mensagens de controle). Assim
como qualquer outro trfego na Internet, ICMP viaja na rea de dados de um pacote IP. O
destino final de uma mensagem ICMP o nvel IP e no uma aplicao.
O ICMP apenas informa a mquina que enviou a mensagem que ouve um erro ou uma
situao inesperada. Protocolos de nvel superior que vo interpretar estes erros e tomar as
devidas providncias. O ICMP no faz correo de erros.
Algumas mensagens reportados pelo ICMP so:

Network Unreachable (rede no alcanvel)


Host Unreachable (host no alcanvel)
Port Unreachable (port no alcanvel)
Destination Host Unknown (Host destino desconhecido)
Destination Network Unknown (rede destino desconhecida)
Echo Request e Echo Reply (Solicitao de Eco e Resposta de Eco);
Time Exceded for Datagram TTL (Tempo do pacote excedido);
Entre outros

ICMP somente reporta condies de erros fonte original. A fonte deve relatar os erros aos
programas de aplicao individuais e tomar ao para corrigir o problema. Uma fragilidade
do ICMP a de s reportar erros fonte original, no a intermedirios.
Suponha que um datagrama siga uma rota atravs de uma srie de gateways G1, G2, ..., GK.
Se GK tem rotas incorretas e envia o datagrama para o gateway GE, GE reporta o erro de
volta para a origem do datagrama. Porm a origem no tem nenhuma responsabilidade
sobre esse erro nem controle sobre o gateway problemtico. Pode inclusive nem saber qual
esse gateway. Alm disso, o prprio pacote ICMP pode se perder como qualquer
datagrama IP, no informando a ningum do problema.
O comando PING (ver captulo de aplicaes) por exemplo, faz uso de um dos tipos de
pacote ICMP. A mquina origem envia pacote ICMP do tipo echo request. A mquina que
recebe essa mensagem responde com ICMP do tipo echo reply. Algumas verses de PING

enviam vrios pacotes e devolvem estatsticas. Se o PING tem sucesso, significa que as
principais partes do sistema de transporte esto funcionando.

4.1 Entrega de Mensagens ICMP


Uma mensagem ICMP requer dois nveis de encapsulamento, como mostra a Figura 4.1.
Apesar de ser encapsulada no nvel IP, o ICMP no considerado um protocolo de alto
nvel. O ICMP parte do nvel IP.

Figura 4.1 Encapsulamento do ICMP em um pacote IP


Observe que o pacote ICMP (Dados + Cabealho) colocado na rea de dados do pacote IP
(Dados + Cabealho), e este novo dado por sua vez colocado no frame, que a parte
fsica propriamente dita de transmisso.

4.2 Tipos de Mensagem ICMP


Cada mensagem ICMP tem seu prprio formato, mas todas elas comeam com os campos
abaixo:

TYPE (8 bits), que identifica a mensagem


CODE (8 bits), que fornece mais informaes sobre a mensagem
CHECKSUM (16 bits)

A Figura 4.2 relaciona os possveis tipos para o campo TYPE.

Figura 4.2 Possveis tipos de mensagens ICMP


Alm destes campos, o ICMP que reporta erro sempre inclui o cabealho e os primeiros 64
bits de dados do pacote causador do problema. Isto permite ao remetente descobrir que
protocolo e que aplicao so responsveis polo datagrama.

4.2.1 Echo Request & Echo Reply


A Figura 4.3 descreve o campo de solicitao (Echo Request) e resposta (Echo Reply) do
tipo eco. Essa mensagem usada pelo programa PING para verificar se uma mquina esta
respondendo ou no.

Figura 4.3 Mensagem do tipo Echo Request & Echo Reply


Os campos TYPE, CODE e CHECKSUM so os mesmos descritos acima. A Tabela 4.1
relaciona os outros campos com as suas funcionalidades.

Campo

Descrio
TYPE=8
Echo Request (Requisio de resposta)
TYPE=0
Echo Reply (Resposta solicitao anterior)
IDENTIFIER e SEQUENCE NUMBER
So usados para identificar qual mensagem
foi enviada e qual esta sendo recebida
OPTIONAL DATA
Campo opcional, que dependendo da
implementao pode retornar dados ao
remetente, como por exemplo o tempo gasto
para se alcanar a mquina.
Tabela 4.1 Descrio dos campos da mensagem Echo Request & Echo Reply

4.2.2 Reports unreacheble destination


A Figura 4.4 ilustra a mensagem que enviada para informar que uma mquina ou rede no
esta alcanvel (unreacheble).

Figura 4.4 Cabealho padro para endereo no alcanvel


Para identificar uma mensagem deste tipo basta verificar o campo TYPE=3. O campo
CODE pode receber valores de 0 12. O significado de cada campo mostrado na Figura
4.5

Figura 4.5 Valores dos campos CODE para mensagens com TYPE=3

4.2.3 Controle de Fluxo e de Congestionamento


Quando um Gateway est com suas filas de envio de pacotes cheias e no tem mais espao
para armazenar novos pacotes, ele ter que descartar os novos pacotes que chegarem. De
forma a avisar aos remetentes que parem de mandar pacotes, o Gateway pode enviar uma
mensagem ICMP do tipo QUENCH para que a origem pare de transmitir dados. A Figura
4.6 ilustra mostra os cabealho padro desta mensagem.

Figura 4.6 Cabealho padro para controle de congestionamento


Uma mensagem de congestionamento identificada pelo campo TYPE=4, CODE=0, e o
campo INTERNET HEADER conter o endereo do gateway problemtico, mais 64 bits
do datagrama.

4.2.4 Route Change Request (Redirect)


Quando um Gateway detecta que um host est usando uma rota no otimizada, ele envia
um ICMP de REDIRECT (Figura 4.7) requisitando que o host mude sua tabela de rotas. O
host mudar sua tabela de rotas caso ele esteja configurado para trabalhar com roteamento
dinmico.
Est mensagem est restrita a um Gateway e um host fisicamente conectados (na mesma
rede).

Figura 4.7 Mensagem de mudana de rota


Uma mensagem de mudana de rota identificada pelo campo TYPE=5 e o campo
CODE=0 3. O campo INTERNET HEADER conter o endereo do gateway
problemtico, mais 64 bits do datagrama.

Suponha por exemplo que eu tenha um Host conectado a dois Gateways (G1 e G2), nas
redes 1 e 2 respectivamente (Figura 4.8).

Figura 4.8 Exemplo de mensagem de redirecionamento de rota

Se o Host H mandar um pacote para a Rede 1, via o Gateway G2. Este Gateway (G2),
retornar uma mensagem de ICMP REDIRECT para o Host H. O Host H mandar ento o
pacote pelo Gateway G1, e este ser entregue corretamente Rede 1.

4.2.5 Detecta rota circular ou excessivamente longa


Quando um Gateway detecta que o campo TTL (Time-to-Live) do datagrama IP est com o
valor ZERO, ele manda o ICMP TIME EXCEEDED para a origem (Figura 4.9).

Figura 4.9 Cabealho ICMP TIME EXCEEDED


Caso o campo CODE retorna o valor 0 indicar que o TTL zerou, caso retorne 1, indicar
que a remontagem de fragmentos excedeu o tempo mximo.

4.2.6 Reporta outros problemas


Quando um Gateway detecta um problema diferente dos citados anteriormente (por
exemplo, erro no cabealho), ele envia um ICMP PARAMETER PROBLEM para a
origem (Figura 4.10).

Figura 4.10 Cabealho ICMP para outros problemas


O campo POINTER usado para apontar para o octeto do datagrama original que causou
o problema. J o campo CODE vir com o valor 1 caso o campo POINTER esteja sendo
usado ou com o campo 0 se o campo POINTER no estiver sendo utilizado.

4.2.7 Sincronizao de relgio e estimativa de tempo de transito


Uma mquina pode usar o ICMP REQUEST TIMESTAMP para requisitar a hora do dia
doutra mquina. A mquina endereada retorna um ICMP TIMESTAMP REPLY (Figura
4.11).

Figura 4.11 Cabealho ICMP para mensagem de sincronizao de relgios


O campo TYPE = 13 indica usa mensagem de solicitao (request) e o campo TYPE = 14
indica a resposta (reply). O campo ORIGINATE TIMESTAMP preenchido pelo
remetente e os campos RECEIVE TIMESTAMP e TRANSMIT TIMESTAMP so
preenchidos pelo destinatrio no momento da chegada do request e no momento da sada
do reply respectivamente. Todos os tempos so em milisegundos, a partir da meia noite.

5 Camada de Transporte
A camada de transporte da arquitetura TCP/IP tem por responsabilidade transferir um dado
fim-a-fim entre duas mquinas, ou seja, de responsabilidade desta camada transferir um
dado de uma mquina A, at uma mquina B, independente da infra-estrutura de
comunicao que se tenha entre elas.
A arquitetura Internet define dois protocolos para esta camada: o TCP (Transmission
Control Protocol Protocolo com controle de transmisso) e o UDP (User Datagram
Protocol Protocolo sem controle de transmisso) como ilustra a Figura 5.1.

Figura 5.1 Camada de Transporte da Arquitetura TCP/IP


A diferena bsica entre os dois que o TCP um protocolo confivel, ele garante a
entrega de informaes corretas entre duas estaes, j o UDP no faz isso. Por ter que se
preocupar com diversos detalhes, tais como sequencializao, CheckSun, etc o TCP
muito mais lento que o UDP. Veremos que existem aplicaes que necessitam da
confiabilidade do TCP e outras da velocidade e particularidades do UDP. As prximas
sesses discutem com mais detalhes estes dois protocolos, antes porm preciso entender o
conceito de aplicao cliente-servidor.

5.1 Aplicaes Cliente-Servidor


As aplicaes Cliente-Servidor so caracterizadas basicamente pela presena de um
Servidor, responsvel por prover determinadas facilidades e um Cliente que ir acessar as
facilidades que so providas pelo servidor.
Basicamente o Cliente solicita uma determinada tarefa ao Servidor, este a processa e
devolve o resultado ao Cliente, diminuindo substancialmente a troca de mensagens na rede,
j que as perguntas e respostas costumam ser bem curtas.
Na maioria do casos, temos um Servidor, em geral uma mquina melhor que as demais,
servindo a vrios Clientes simultaneamente. Dentro deste contexto para uma mesma

aplicao, por exemplo o telnet (Terminal Remoto) existe o telnet do servidor, conhecido
tambm como daemon e o telnet do cliente.
Quando um usurio chama a aplicao telnet no seu terminal, ele esta usando o telnet do
cliente, s que para esta aplicao funcionar ele precisa se conectar a um servidor, que
precisa estar rodando o telnet do servidor. A este conjunto de aplicaes do cliente e do
servidor damos o nome de arquitetura cliente-servidor ou client-server.
A Figura 5.2 mostra algumas aplicaes do modelo TCP/IP. Observe que o Telnet, FTP e
SMTP utilizam o TCP como protocolo de transporte, j aplicaes tipo NSF, SNMP e
TFTP utilizam o UDP.

Figura 5.2 Algumas aplicaes do modelo TCP/IP

5.1.1 O conceito de Porta


Quando uma aplicao cliente deseja conectar-se aplicao servidor, esta deve fornecer o
endereo IP ou nome hierrquico (que ser convertido em endereo IP pelo servio de
DNS, pois na Internet s trafegam endereos IPs) do servidor. Neste caso teremos um
endereo IP de origem e um endereo IP de destino que identificar uma comunicao.
Entretanto, estes dois campos no so suficiente para identificar univocamente uma
conexo, pois o servidor poder estar rodando diversas aplicaes simultaneamente. Como
ento eu conseguiria identificar que eu desejo me conectar aplicao A ou aplicao B?
Para resolver este problema, foi criado o conceito de Porta. A idia bastante simples:
Para cada aplicao definido um nmero de porta nico que a distingue das demais
aplicaes, chamaremos porta do servidor de Porta de Destino.
possvel agora informar o endereo IP de destino e o endereo da Porta de Destino, para
identificar uma determinada aplicao. Aplicaes como Telnet, FTP (Transferncia de
Arquivos), HTTP (Home Pages), entre outras tem suas portas bem definidas e em geral no
precisam ser informadas pelas aplicaes, j so colocadas nos pacotes de Transporte
automaticamente por estes programas.

Observe que o endereo IP de origem, endereo IP de destino e Porta de destino ainda no


definem unicamente uma aplicao. Pois dentro da mquina cliente (o mesmo endereo IP
de origem) eu posso querem me conectar com o mesmo servidor (endereo IP de destino)
na mesma aplicao (porta de destino). Como eu conseguiria identificar quais das duas
aplicaes da minha mquina deve receber determinada resposta?
Isto acontece com frequncia quando abrimos diversas instncias de um mesmo programa.
Quando por exemplo estamos navegando na Internet atravs de um browser (Internet
Explorer ou Netscape) e abrimos vrias janelas que tem como endereo o mesmo servidor
de destino. Para resolver este problema incluindo nossa lista o conceito de Porta de
origem. A porta de origem vai identificar qual das instncias de um mesmo programa esta
se conectando a um mesmo servio, numa mesma mquina destino.
A Figura 5.3 ilustra este fato, mostrando o formato de um pacote TCP (observe que o
pacote UDP tambm ter que ter porta de origem e porta de destino tambm). O campo
Source Port, identifica a porta de origem e o campo Destination Port, identifica a porta de
destino. Os campos de IP de origem e IP de destino so colocados no cabealho do pacote
IP e no do TCP ou UDP. Os demais campos sero explicados na sesso Protocolo TCP.

Figura 5.3 Porta de Origem e Destino no pacote TCP

5.1.2 Utilizando a Arquitetura Cliente-Servidor


Para utilizarmos desta arquitetura primeiramente precisamos instalar um determinado
servio em um determinado servidor. Suponha que iremos instalar o servio de WWW
(World Wide Web) que utiliza o protocolo HTTP no servidor www.uol.com.br
(200.246.5.65). O servio de WWW um servio bastante difundido e por isso j possui
uma porta padro, a porta 80. Temos portanto que do ponto de vista de um cliente:
IP de destino: 200.246.4.65
Porta de destino: 80
Suponha agora que voc esteja na mquina 200.241.16.8 e deseja acessar este site atravs
de um Browser qualquer. Voc precisa de uma porta de origem. Este nmero de porta
fornecido dinamicamente pelo sistema operacional, digamos que num dado momento a
porta de origem seja: 3478. Logo j temos todo o cabealho para estabelecer a comunicao
IP de origem: 200.241.16.8
Porta de Origem: 3478
Caso voc abra uma nova janela do seu Browser, e se conecte ao mesmo lugar, utilizando o
mesmo servio o sistema operacional le dar uma nova Porta de Origem, para que no se
confunda com as outras portas em uso. Digamos que a nova porta seja 4312. Teremos
portanto:
IP de origem: 200.241.16.8
Porta de Origem: 4312
Desta forma possvel enderear corretamente uma determinada informao.
Se outra pessoa, numa outra mquina, digamos 200.30.20.83 quiser acessar o mesmo site,
pode ocorrer do sistema operacional dar a ela o mesmo nmero de porta, digamos 4312.
Logo teramos:
IP de origem: 200.30.20.83
Porta de Origem: 4312
Observe que o IP de origem outro e portanto no haver confuso na hora da entrega dos
pacotes.
Os servidores de aplicao esto sempre ativos e esperando conexes. As conexes
acontecem assincronamente e por um perodo de tempo indeterminado. Nas mquinas
UNIX possvel ver quais so os servios ativos, e quais os programas que os manipulam
atravs dos respectivos comandos:

% cat /etc/services
% cat /etc/inetd.conf
Nas mquinas Windows NT possvel ver quais so os servios ativos atravs da
sequncia: Iniciar / Configurao / Painel de Controle / Servios, sendo possvel a
inicializar ou parar um determinado servio.

5.2 O Protocolo TCP (Transmission Control Protocol)


O TCP um protocolo do nvel de transporte da arquitetura Internet. Este protocolo garante
que um dado enviado de um computador A para um computador B em qualquer rede (que
esteja ligada via TCP/IP) vai ser entregue corretamente.
O TCP um protocolo confivel e orientado a conexo. Este protocolo prov uma
Interface para a camada de aplicao que deixa totalmente transparente os procedimentos
de retransmisso, sequencializao, correo e verificao de erros, controle de fluxo, entre
outros, sendo de sua responsabilidade estas tarefas.
Tambm de responsabilidade do TCP especificar como duas mquinas iniciam uma
conexo, transferem dados e terminam uma conexo. Mostraremos a seguir as principais
responsabilidades do protocolo TCP.

1. Estabelecimento e Liberao de conexo Como o TCP orientado conexo,


antes de comear qualquer processo de transferncia de dados preciso estabelecer uma
conexo entre a mquina origem e a mquina destino. Aps o trmino da transferncia
de dados a conexo desfeita.
2. Transferncia de dados Aps o estabelecimento da conexo possvel comear o
processo de transferncia de dados, que pode ser por mensagens variveis ou de
tamanho fixo e no formato full-duplex (as duas mquinas podem estar transmitindo
dados simultaneamente).
3. Transferncia de dados urgentes Ainda na transferncia de dados possvel
definir se uma mensagem ser normal ou urgente. Esta ltima opo usada geralmente
para informaes de controle.
4. Multiplexao A multiplexao um processo de colocar diversas conexes de
transporte, no caso o TCP, em uma conexo de rede, no caso o IP, este processo feito
na mquina origem. Na mquina destino feito o processo inverso, chamado de demultiplexao, que consiste em separar uma conexo de rede em vrias conexes de
transporte.

5. Segmentao Acontecer segmentao quando a rea de dados do pacote IP for


menor que a rea de dados do pacote TCP. Neste caso o pacote TCP ser fragmentada
em vrios pacotes IP para que possa ser trafegado na rede. Sendo depois remontado na
mquina destino.
6. Controle do fluxo Atravs de um sistema de buferizao denominada Janela
deslizante, o TCP envia uma srie de pacotes sem aguardar o reconhecimento de cada
um deles. Na medida em que recebe o reconhecimento de cada bloco enviado, atualiza
o buffer (caso reconhecimento positivo) ou reenvia os dados ao destinatrio (caso
reconhecimento negativo ou no reconhecimento aps um timeout pr estipulado).
7. Controle de erros Alm da numerao dos segmentos transmitidos, vai junto com o
cabealho (header) uma soma verificadora dos dados transmitidos (checksum), assim o
destinatrio verifica a soma com o clculo dos dados recebidos e consegue identificar se
os dados esto corretos ou no.

5.2.1 Formato do pacote TCP


A unidade de transferncia entre o protocolo TCP de duas mquinas chamado de
Segmento. Os segmentos so trocados para estabelecer conexes, transferir dados, enviar
reconhecimentos e fechar conexes. Dado que TCP usa a tcnica de Piggybacking, um
reconhecimento viajando de uma mquina A para B pode ir no mesmo segmento de dados
que esto sendo enviados de A para B, embora o reconhecimento refere-se a dados
enviados da mquina B para A.
A Figura 5.4 mostra o formato de um pacote TCP e suas opes.

Figura 5.4 Formato do pacote TCP


A seguir so apresentados os objetivos de cada campo do pacote TCP.

1. SOURCE PORT Identifica a porta de origem


2. DESTINATION PORT Identifica a porta de destino
3. SEQUENCE NUMBER Especfica o nmero de sequncia de dados no mesmo
segmento. atravs deste nmero que possvel fazer a sequencializao.
4. ACKNOWLEDGEMENT NUMBER Identifica o nmero de bytes que a fonte
esperar receber na prxima transmisso.
5. HLEN Este campo especifica a partir da onde ir comear o campo de dados. Isto
necessrio pois dependendo da tamanho do campo de opes (OPTION), o campo de
dados ir comear em uma determinada posio.
6. RESERVED Campo reservado para uso futuro.
7. CODE BITS Determina o propsito e contedo do segmento, codificado na forma da
Tabela 5.1.
Opo
URG
ACK
PSH
RST
SYN
FIN

Significado
Campo de ponteiro Urgente vlido
Campo de Reconhecimento vlido
Este segmento solicita um Push
Resetar a conexo
Sincroniza nmeros de Sequncias
O transmissor chega ao fim do fluxo de bytes

Tabela 5.1 Significado do Code Bits


8. WINDOW Atravs deste campo o protocolo TCP indica quantos dados ele tem
capacidade de receber em seu buffer.
9. CHECKSUN usado para verificar a integridade tanto do cabealho como dos
dados do segmento TCP.
10. URGENT POINT possvel, atravs deste campo especificar que alguns dados
devem ser entregues de forma urgente. Esta informao repassada ao nvel IP que
tenta executar esta operao. Esta opo totalmente dependente dos recursos do
sistema de comunicao.
11. OPTION (IF ANY) Campo reservado para opes do TCP (caso haja algum).
12. PADDING Este campo serve para colocar alguns parmetros que podem ser
requeridos na escolha de uma determinada opo no campo OPTION.
13. DATA Campo de dados do TCP.

5.2.2 Portas bem conhecidas do TCP


Como j foi dito anteriormente, uma mesma mquina pode prover diversos servios
concorrentemente, bastando para isso que cada servio (ou aplicao) esteja colocado em
uma porta diferente. Alguns servios so bastante utilizados na Internet, e por isso suas
portas so bem conhecidas. A Figura 5.5 mostra algumas portas conhecidas. Nela possvel
ver, por exemplo, que o servio de terminal remoto (telnet) esta na porta 23, que o servio
de correio eletrnico (SMTP) esta na porta 25, e que o servio de transferncia de arquivos
(FTP) esta na porta 21, entre outros. Observe que o servio de WWW (HTTP) no esta
listado na Figura 5.5, entretanto pela popularizao cada vez maior deste servio, ele
colocado na maioria dos casos na porta 80, podendo eventualmente ser colocado em outra
porta. As portas acima de 1024 podem ser usadas por qualquer aplicao cliente-servidor

Figura 5.5 Algumas portas TCP bem conhecidas

5.3 O Protocolo UDP (User Datagram Protocol)


O protocolo UDP usa o mesmo princpio de portas e de aplicaes distribudas do TCP. A
grande diferena entre o TCP e o UDP que o UDP muito mais leve que o TCP, pois ele
no garante a entrega dos dados, sequencializao, fluxo de mensagens, etc. O UDP no
orientado conexo, ele Connectionless, ou seja, no necessrio estabelecer uma
conexo para comear a transferir os dados e depois se preocupar em terminar a conexo.
No UDP, voc simplesmente envia o dado de uma mquina (IP Origem, Porta Origem) para
uma mquina de destino (IP Origem, Porta Destino). Caso a rede consiga enviar o pacote
ao seu destino, sem erro, este chegar perfeitamente. Caso contrrio no haver
retransmisso deste pacote. Talvez voc esteja se perguntando para que serve um servio
que no garante que a informao vai chegar do outro lado, e caso chegue tambm no
garante que a ordem correta ou que os prprios dados estejam corretos?

5.3.1 Formato do Pacote UDP (User Datagram Protocol)


A Figura 5.6 mostra o formato do pacote UDP.

Figura 5.6 Formato do pacote UDP


A estrutura do pacote UDP muito simples, os campos que compe o pacote so:
1. PORTA UDP ORIGEM Este campo contm a porta UDP usado pela origem
(opcional).
2. PORTA UDP DESTINO Este campo contm a porta UDP de destino.
3. TAMANHO DA MENSAGEM UDP Este campo contm o tamanho de todo o
pacote UDP (Dados + Cabealho)
4. UDP CHECKSUM Este campo utilizado na recepo dos dados para verificar se o
dado recebido esta certo ou no. um campo opcional, para tanto basta colocar o valor

0 (zero) no campo. Caso o valor zero seja informado o receptor no tem como saber se
o dado esta correto ou no.
5. DADOS Este campo contm os dados propriamente ditos.

5.3.2 Portas bem conhecidas do UDP


Tal como no TCP, o UDP tambm possui um conjunto de portas bem conhecidas, como
ilustra a Figura 5.7. As portas reservadas vo de 1 1000, e as portas livres vo de 1001
65535.
Na Figura 5.7 possvel ver, por exemplo, que o servio de DayTime, que informa o dia e a
hora daquela mquina utilizado na porta 13, o servio de DNS (Domain Name Service)
esta na porta 53, o servio de Gerenciamento da rede (SNMP) esta na porta 161 e 162, entre
outros servios.

Figura 5.7 Portas UDP bem conhecidas

6 Protocolos de Roteamento
A arquitetura TCP/IP uma arquitetura de interconexo de redes. Neste sentido, se duas
mquinas A e B esto conectadas a uma rede TCP/IP, possvel que as duas mquinas
conversem entre si, independente de quantas redes existam entre as duas mquinas.
Quando a mquina A deseja falar com a mquina B surge um pequeno problema. Como
podem existir diversas redes entre A e B, qual o caminho o pacote IP deve percorrer para
sair da mquina A e ir at a mquina B? A este processo chamamos de Roteamento. O
roteamento consiste em encontrar um caminho (pode no ser o melhor caminho) de tal
forma que as informaes saiam de A e consigam atingir a mquina B e vice-versa. O nome
Roteador dado mquina ou equipamento que toma tal deciso.
Chamaremos de Roteador ou Gateway ao equipamento que conecta duas ou mais redes
fisicamente. E denotaremos por Host a uma mquina que esta conectada a uma rede fsica.
As decises de roteamento so tomadas tanto por Hosts ou Gateways.
O roteamento IP consiste em decidir para onde enviar um datagrama baseando-se no
endereo IP destino contido neste datagrama. Existem dois tipos de roteamento: O
roteamento direto e o roteamento indireto.

6.1 Roteamento Direto


O roteamento direto ocorre quando as duas mquinas envolvidas esto na mesma rede
fsica. Neste caso basta o transmissor encapsular o pacote IP em uma quadro fsico, com o
endereo do destino, que conseguido via o protocolo ARP e enviar este pacote
diretamente na rede. A mquina destino receber o pacote fsico descapsular o pacote e
tratar o datagrama IP. Observe que no h a necessidade da figura do Gateway, haja visto
que as duas mquinas envolvidas esto na mesma rede fsica, por exemplo um barramento
Ethernet.
Para saber se a mquina destino est na mesma rede se faz uma comparao entre os
endereos IP fonte e destino, especificamente entre os campos que identificam a rede. Se
ambos campos so iguais (todos igual a 1 binrio), significa que o datagrama pode ser
enviado diretamente sem ter que passar por um gateway.

6.2 Roteamento Indireto


O roteamento indireto ocorre quando as duas mquinas envolvidas no esto na mesma
rede fsica. Neste caso, gateways intermedirios tero que manusear este pacote at que ele
chegue rede fsica de destino, para ai ser tratado como um roteamento direto.
No roteamento indireto o transmissor deve identificar um Gateway para o qual o datagrama
deve ser enviado, para que este Gateway tome a deciso de continuar enviando o pacote
para a rede fsica que o conecta ou para um outro Gateway. Observe que o endereo deste
Gateway deve estar na mesma rede fsica da mquina de origem.

Cada mquina na Internet, seja ela um Host ou um Gateway, dever possuir uma tabela de
rotas.
A deciso que um Host dever tomar, baseado na sua tabela de rotas :
O roteamento ser direto ou no?
Caso no seja, para qual Gateway dever enviar o pacote?
J a deciso do Gateway :
Se a mquina destino est na mesma rede fsica e pode ser alcanada
diretamente? (Neste caso ele o Gateway Final)
Caso contrrio, para qual outro Gateway entregar o pacote?

Figura 6.1 Duas redes Ethernet ligadas por um Gateway

Na Figura 6.1, se H1 desejar se comunicar com H2, isto ser feito utilizando o roteamento
direto, ou seja, H1 ter que mapear o endereo IP de H2 em seu endereo fsico (via ARP),
encapsular o pacote IP no quadro fsico e enviar na rede para que H2 possa receb-lo. O
mesmo ocorre se H3 quiser se comunicar com H4 ou vice-versa.
Agora se H1 desejar se comunicar com H3, ser feito um roteamento indireto. H1
escolher o Gateway como a mquina no caminho para H3. Observe que a princpio, H1
no sabe por quantos gateways o pacote ter que passar at atingir a mquina H3. A nica
informao que ele tem que como o endereo de destino no esta conectado sua rede
fsica ele precisa enviar este pacote para o Gateway, para que este tome uma deciso.
Para que H1 consiga ento mandar o pacote para H3 ele ter que envi-lo antes ao
Gateway. Neste caso, H1 far o mapeamento do endereo IP do gateway no seu endereo
fsico (via ARP) e enviar o pacote para o gateway. Ao receber o pacote, o Gateway
verifica que precisa fazer uma entrega direta para H3, e tambm via ARP o faz.
Observe que apesar de H1 direcionar o pacote para o Gateway, este direcionamento
apenas no nvel fsico. O pacote no ser alterado, ou seja, continuar com o endereo IP de
destino H3. Desta forma o Gateway poder ento rote-lo.

Este tipo de roteamento mais difcil que o roteamento direto, j que o remetente deve
identificar um gateway ao qual o datagrama pode ser enviado, depois o gateway deve
enviar o datagrama a rede destino, ou a outro gateway, e assim sucessivamente.
Vamos supor que tenham muitas redes interconetadas por gateways, mas s tenham dois
hosts em cada extremo da interconexo das redes, quando um host quer enviar ao outro, ele
encapsula o datagrama e o envia ao gateway mais prximo. Uma vez que o quadro chega
ao gateway, o software de IP extra o datagrama encapsulado, e a rotina de roteamento IP
seleciona o prximo gateway que formar parte do caminho que levarr o datagrama ao
Host destino.
Talvez voc esteja se perguntando, como que eu vou ter certeza que as escolhas de
gateways levaro o pacote ao endereo IP de destino correto?
Este processo feito atravs da manipulao de um banco de dados distribudo. Onde cada
rede tem que informar somente os dados referentes sua rede e manipular o que chamamos
de Tabela de Roteamento.

6.3 Tabela de Roteamento


Tipicamente, uma tabela de roteamento (ou tabela de rotas), contm um par (N,G), onde N
o endereo IP da rede destino e G o endereo IP do prximo Gateway no caminho da
rede N.
Os Gateways no conhecem o caminho completo at a mquina destino e sim o prximo
passo em direo quela rede. As tabelas de rota sempre apontam para Gateways que esto
na mesma rede fsica da mquina que possui esta tabela. Na Figura 6.2 vemos quatro redes
interligadas por trs gateways.

Figura 6.2 Configurao de quatro redes e trs gateways


Veremos a seguir quais deveriam ser as tabelas de rotas do gateway F (Tabela 6.1), G
(Tabela 6.2) e H (Tabela 6.3).

Rede Destino
10.0.0.0
20.0.0.0
30.0.0.0
40.0.0.0

Mandar Para
Direto
Direto
20.0.0.6
20.0.0.6

Tabela 6.1 Tabela de rotas do Gateway F


Observe na Tabela 6.1 que para enviar uma mensagem para a rede 10.0.0.0 ou para a rede
20.0.0.0 o envio feito de forma direta, pois as duas redes esto conectadas ao Gateway. J
para enviar uma mensagem para as redes 30.0.0.0 e 40.0.0.0 este envia a mensagem para o
endereo IP 20.0.0.6 que um dos endereos do Gateway G. A este gateway caber a
responsabilidade de continuar o roteamento, como visto na Tabela 6.2
Rede Destino
10.0.0.0
20.0.0.0
30.0.0.0
40.0.0.0

Mandar Para
20.0.0.5
Direto
Direto
30.0.0.7

Tabela 6.2 Tabela de rotas do Gateway G


Ainda em relao ao exemplo anterior, observe que na Tabela 6.2, quando um datagrama
enviado para a rede 30.0.0.0 o roteamento feito de forma direta e quando enviada para a
rede 40.0.0.0 encaminhado para o endereo IP 30.0.0.7 (Gateway H), para este tomar a
deciso de roteamento. E naturalmente quando um pacote enviado para a rede 20.0.0.0 ele
enviado de forma direta, pois o Gateway esta fisicamente conectado a este rede, e quando
um pacote for enviado para a rede 10.0.0.0 ele ser roteado primeiramente para o endereo
IP 20.0.0.5 (Gateway F), para que este possa tomar a deciso do que fazer com o pacote.
Observe agora a Tabela 6.3 do Gateway H
Rede Destino
10.0.0.0
20.0.0.0
30.0.0.0
40.0.0.0

Mandar Para
30.0.0.6
30.0.0.6
Direto
Direto

Tabela 6.3 Tabela de rotas do Gateway H


Nesta tabela possvel observar que quando um datagrama por enviado para a rede 10.0.0.0
ou para a rede 20.0.0.0 ele ser roteado para o endereo IP 30.0.0.6 (Gateway G) e quando
for enviado para a rede 30.0.0.0 ou 40.0.0.0 o roteamento ser direto.
Observe que cada Gateway no guarda toda a rota que o pacote dever seguir, e sim o
prximo Gateway ou rede para o qual ele dever ser roteado ou entregue diretamente.

importante entender que a tabela de roteamento sempre aponta aos gateways que podem
ser alcanados atravs da rede a qual esse gateway est conetado. Isso significa que todos
os gateways listados na tabela de roteamento de uma mquina M devem conetar-se as redes
s quais M est conetada diretamente. Quando um datagrama est pronto para sair de M, o
protocolo IP localiza o endereo IP destino e extrae a poro da rede. Logo M usa a
identificao da rede para fazer uma deciso de roteamento, selecionando um gateway que
possa ser alcanado diretamente.
Nas tabelas de roteamento no possvel armazenar as informaes de cada mquina
destino, seria impossvel manter as tabelas atualizadas, alm do que as mquinas teriam
problemas com armazenamento para toda a informao.

6.4 Rota Default


Suponha que a rede do exemplo anterior se expandisse para um dos lados, como mostra a
Figura 6.3.

Figura 6.3 Vrias redes interconectadas por Gateways


A Tabela de Rotas do Gatway G ficaria na forma da Tabela 6.4.
Rede Destino
10.0.0.0
20.0.0.0
30.0.0.0
40.0.0.0
50.0.0.0

Mandar Para
20.0.0.5
Direto
Direto
30.0.0.7
30.0.0.7

Rede Destino
60.0.0.0
70.0.0.0
80.0.0.0

Mandar Para
30.0.0.7
30.0.0.7
30.0.0.7

Tabela 6.4 Tabela de Rotas do Gateway G


Podemos notar claramente que existem vrias rotas apontando para o mesmo Gateway H
(endereo IP 30.0.0.7). Alm disso, se a rede continuar crescendo para este lado, a tabela de
rotas de G aumentaria tambm, e sempre apontando para o mesmo gateway H.
Para no ficarmos desperdiando espao em memria, a especificao TCP/IP permite que
seja definida uma rota default, que ser usada sempre que nenhuma outra rota for
encontrada na tabela. Utilizando a rota default a tabela de rotas de G seria apenas (Tabela
6.5):
Rede Destino
10.0.0.0
20.0.0.0
30.0.0.0
Default

Mandar Para
20.0.0.5
Direto
Direto
30.0.0.7

Tabela 6.5 Tabela de Rotas do Gateway G usando rota Default


Observe que esta forma de especificar as rotas de destino bem mais fcil que a anterior,
pois o nmero de linhas na tabela de rotas reduzido bruscamente.

6.5 Alguns exemplos prticos


Nesta sesso faremos alguns exerccios prticos de estabelecimento de rotas de Gateways e
Hosts.

Faremos agora um exemplo prtico, para demonstrar como feita a tabela de rotas estticas
de trs redes conectadas entre si e Internet.

6.5.1 Exemplo 1
Estabelea a tabela de rotas das mquinas G1, G2, G3, G4, H1, H2 conforme a Figura 6.4

Figura 6.4 Trs redes conectadas entre si e Internet

G1
Rede Destino
192.3.40.0
146.134.20.0
146.134.21.0
0.0.0.0

Mscara
255.255.255.0
255.255.255.0
255.255.255.0
0.0.0.0

Gateway Destino
192.3.40.2
192.3.40.22
192.3.40.20
200.241.155.9

Interface
192.3.40.2
192.3.40.2
192.3.40.2
200.241.155.10

Mtrica
1
1
1
1

Observe que na tabela de rotas do Gateway G1, quando um pacote for endereado para a
rede FDDI (192.3.40.0) com mscara 255.255.255.0 ele ser enviado atravs do prprio
gateway G1 (192.3.40.2), que neste caso tambm gateway destino, atravs de sua
interface FDDI (192.3.40.2).
J para enviar pacotes para a rede Ethernet (146.134.20.0) com mscara 255.255.255.0, os
pacotes devero ser enviados para G3 (192.3.40.22) atravs da prpria Interface com a rede
FDDI de G1 (192.3.40.2).
Para enviar dados para a rede Ethernet (146.134.21.0) com mscara 255.255.255.0, os
pacotes devero ser enviados para G2 (192.3.40.20) atravs da Interface FDDI (192.3.40.2).
E por ltimo, qualquer pacote que no for enviado para nenhuma destas redes dever ser
enviado para a rede default (Rede destino: 0.0.0.0 e mscara: 0.0.0.0), que o gateway
destino 200.241.155.9 atravs da Interface ponto-a-ponto (200.241.155.10).

O campo mtrica utilizado para identificar, no caso de mltiplas rotas, qual delas ser a
rota prioritria. No caso da rota prioritria (menor mtrica) falhar a prxima rota com
menos mtrica ser utilizada.

G2
Rede Destino
192.3.40.0
146.134.21.0
146.134.20.0
146.134.20.0
0.0.0.0

Mscara
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
0.0.0.0

Gateway Destino
192.3.40.20
146.134.21.2
192.3.40.22
146.134.21.12
192.3.40.2

Interface
192.3.40.20
146.134.21.2
192.3.40.20
146.134.21.2
192.3.40.20

Mtrica
1
1
1
2
1

A configurao de G2 segue o mesmo princpio de G1, ou seja, um dado enviado para a


rede FDDI (192.3.40.0) ser enviado pelo prprio gateway G1 atravs de sua interface
192.3.40.20.
Para alcanar a rede Ethernet (146.134.21.0) os dados sero enviado pelo prprio Gateway
G2, s que atravs da interface 146.134.21.2 para esta rede.
Para alcanar a rede Ethernet (146.134.20.0) existem duas possibilidades, uma indo por G3
e outra por G4. Neste caso, definimos que ir por G3 melhor que ir por G4 (mtrica para ir
por G3 menor que por G4).
E por ltimo, a nossa default enviada para G1 (192.3.40.2) atravs da interface FDDI
(192.3.40.20)
A configurao de G3 e G4 segue o mesmo princpio da de G2 e G3

G3
Rede Destino
146.134.20.0
192.3.40.0
146.134.21.0
146.134.21.0
0.0.0.0

Mscara
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
0.0.0.0

Gateway Destino
146.134.20.8
192.3.40.22
192.3.40.20
146.134.20.1
192.3.40.2

Interface
146.134.20.8
192.3.40.22
192.3.40.22
146.134.20.8
192.3.40.22

Mtrica
1
1
1
2
1

G4
Rede Destino
146.134.20.0
146.134.21.0
192.3.40.0
192.3.40.0
0.0.0.0
0.0.0.0

Mscara
255.255.255.0
255.255.255.0
255.255.255.0
255.255.255.0
0.0.0.0
0.0.0.0

Gateway Destino
146.134.20.1
146.134.21.12
146.134.20.8
146.134.21.2
146.134.20.8
146.134.21.2

Interface
146.134.20.1
146.134.21.12
146.134.20.1
146.134.21.12
146.134.20.1
146.134.21.12

Mtrica
1
1
1
2
1
2

A observao que se faz na configurao de G4 que a rota para a rede FDDI (192.3.40.0)
no necessria, haja visto que G3 e G2 j conseguiram alcanar esta rede. Entretanto
interessante coloca-la a fim de mostrar que esta rede esta presente.

H1
Rede Destino
146.134.20.0
146.134.20.7
0.0.0.0
0.0.0.0

Mscara
255.255.255.0
255.255.255.255
0.0.0.0
0.0.0.0

Gateway Destino
146.134.20.7
127.0.0.1
146.134.20.8
146.134.20.1

Interface
146.134.20.7
127.0.0.1
146.134.20.7
146.134.20.7

Mtrica
1
1
1
2

Na configurao de H1, cujo endereo IP 146.134.20.7 informamos que para a rede


146.134.20.0 (a rede que H1 pertence), ser usado a prpria mquina como gateway,
enviando pela sua interface.
A Segunda linha da tabela de rotas extremamente importante pois ela esta informando que
quando o endereo IP de destino for o prprio endereo da mquina (comunicao interprocessos dentro da mesma mquina) importante definirmos um endereo de LoopBack
(127.0.0.1) com mscara 255.255.255.255 com o objetivo de que a mensagem seja enviada
de um processo para outro sem chegar no nvel de rede.
Caso esta linha seja omitida, um dado para a mesma mquina ser enviado para a rede, de
acordo com a primeira linha e voltar para a prpria mquina, causando um trfico
desnecessrio na rede.
Observe ainda que existem duas possveis rotas default com diferentes mtricas, para o caso
de uma delas falhar.

H2
Rede Destino
192.3.40.0
192.3.40.21
0.0.0.0
146.134.20.0
146.134.21.0

Mscara
255.255.255.0
255.255.255.255
0.0.0.0
255.255.255.0
255.255.255.0

Gateway Destino
192.3.40.21
127.0.0.1
192.3.40.2
192.3.40.22
192.3.40.20

Interface
192.3.40.21
127.0.0.1
192.3.40.21
192.3.40.21
192.3.40.21

Mtrica
1
1
1
1
1

A configurao de H2 bastante parecida com a que H1. Segue o mesmo princpio. As


duas ltimas rotas so opcionais.

6.5.2 Exemplo 2
Voc dispe de apenas um endereo classe C (200.241.14.x) para as duas redes (Figura
6.5). Divida a sua rede em sub-redes, identificando a faixa de endereos IP para cada subrede e faa a tabela de rotas para G1, H1, H2, H3, H4, H5, H6 e H7.

INTERNET
200.251.155.129
H1
Rede 1

200.251.155.133

FDDI
G1
H2

H5

H4

Rede 2

H3

H6
H7

Figura 6.5 Topologia da Rede


A mscara da rede ser 255.255.255.192
Teremos a rede 200.241.14.64 com endereos IP entre 200.241.14.65 e 200.241.14.126 e a
rede 200.241.14.128 com endereo IP variando de 200.241.14.129 200.241.14.190

Vamos definir tambm que:


Mquina
G1 (Interface FDDI)
G1 (Interface Ethernet)
H1
H2
H3
H4
H5
H6 (Impressora)
H7

Endereo IP
200.241.14.65
200.241.14.129
200.241.14.66
200.241.14.67
200.241.14.68
200.241.14.130
200.241.14.131
200.241.14.132
200.241.14.133

Observe que esta definio pode diferir de uma outra. A nica coisa que importa os
endereos IP estarem dentro da faixa especificada.
O roteador ter dois endereos IP por causa das suas duas interfaces, uma com a rede FDDI
e a outra com a rede Ethernet
interessante ressaltar tambm que a impressora (H6) tambm possui um endereo IP na
rede. Esta soluo utilizada em algumas redes e em outras no. Depende da situao. A
Figura 6.6 ilustra como ficar a topologia da rede

INTERNET
200.251.155.129

H1
200.241.14.66

Rede
200.241.14.64

200.241.14.65
200.251.155.133

FDDI
G1
200.241.14.129
H2
200.241.14.67

H5
H4
200.241.14.131200.241.14.130
Rede
200.241.14.128

H6
200.241.14.132

H3
200.241.14.68

H7
200.241.14.133

Figura 6.6 Topologia da rede com os endereos IP

G1
Rede Destino
200.241.14.64
200.241.14.128
0.0.0.0

Mscara
255.255.255.192
255.255.255.192
0.0.0.0

Gateway Destino
200.241.14.65
200.241.14.129
200.251.155.129

Interface
Mtrica
200.241.14.65
1
200.241.14.129 1
200.251.155.133 1

H1
Rede Destino
200.241.14.64
200.241.14.66
0.0.0.0

Mscara
255.255.255.192
255.255.255.255
0.0.0.0

Gateway Destino
200.241.14.66
127.0.0.1
200.241.14.65

Interface
200.241.14.66
127.0.0.1
200.241.14.66

Mtrica
1
1
1

Interface
200.241.14.67
127.0.0.1
200.241.14.67

Mtrica
1
1
1

Interface
200.241.14.68
127.0.0.1
200.241.14.68

Mtrica
1
1
1

Interface
200.241.14.130
127.0.0.1
200.241.14.130

Mtrica
1
1
1

Interface
200.241.14.131
127.0.0.1
200.241.14.131

Mtrica
1
1
1

H2
Rede Destino
200.241.14.64
200.241.14.67
0.0.0.0

Mscara
255.255.255.192
255.255.255.255
0.0.0.0

Gateway Destino
200.241.14.67
127.0.0.1
200.241.14.65

H3
Rede Destino
200.241.14.64
200.241.14.68
0.0.0.0

Mscara
255.255.255.192
255.255.255.255
0.0.0.0

Gateway Destino
200.241.14.68
127.0.0.1
200.241.14.65

H4
Rede Destino
200.241.14.128
200.241.14.130
0.0.0.0

Mscara
255.255.255.192
255.255.255.255
0.0.0.0

Gateway Destino
200.241.14.130
127.0.0.1
200.241.14.129

H5
Rede Destino
200.241.14.128
200.241.14.131
0.0.0.0

Mscara
255.255.255.192
255.255.255.255
0.0.0.0

Gateway Destino
200.241.14.131
127.0.0.1
200.241.14.129

H6
Rede Destino
200.241.14.128
200.241.14.132
0.0.0.0

Mscara
255.255.255.192
255.255.255.255
0.0.0.0

Gateway Destino
200.241.14.132
127.0.0.1
200.241.14.129

Interface
200.241.14.132
127.0.0.1
200.241.14.132

Mtrica
1
1
1

Interface
200.241.14.133
127.0.0.1
200.241.14.133

Mtrica
1
1
1

H7
Rede Destino
200.241.14.128
200.241.14.133
0.0.0.0

Mscara
255.255.255.192
255.255.255.255
0.0.0.0

Gateway Destino
200.241.14.133
127.0.0.1
200.241.14.129

Obs.: Em mquinas Windows e UNIX possvel ver a tabela de rotas atravs do comando
netstat rn. O aplicativo route tambm pode ser utilizado para imprimir as rotas (route
print) e para adicionar uma rota tabela de rotas (routed add)

7 IGP Interior Gateway Protocol


Vimos no captulo 6 alguns esquemas de roteamento bastante simples, com um roteador
ligando somente duas rede, tendo sempre uma rota default bem definida. No tnhamos
tambm a preocupao em reconfigurar o sistema no caso de um roteador esta conectando
mais de uma rede e um determinado link parar de funcionar.
Neste e nos prximos captulos trataremos do problema de roteamento de forma mais
complexa e completa. Neste captulo estudaremos os Sistemas Autnomos. Estes sistemas
so caracterizados pela presena de uma entidade centralizadora responsvel por uma
determinada regio (um conjunto de redes interligadas por gateways). A Figura 7.1 ilustra
este conceito.

Figura 7.1 Sistema Autnomo


Observe que temos trs redes locais interligadas pelos gateways G2 e G3. Neste caso o
gateway G1 que interliga estas redes ao Backbone. A este gateway (G1), damos o nome
de Core Gateway, sendo ele o responsvel pelo sistema autnomo.
A Figura 7.2 mostra a interligao de trs sistemas autnomos pelos gateways G1, G2 e G3
a um Backbone. Cada um destes gateways responsvel pelo seu prprio sistema
autnomo.

Figura 7.2 Interligao de trs sistemas autnomos ao Backbone


Cada sistema autnomo tem a liberdade de escolher o protocolo que melhor lhe convier
para manter, descobrir e divulgar as rotas dentro do seu universo.
Os Gateways responsveis pelo sistema autnomo tem a incumbncia de manter coerentes
as tabelas de rotas de seus gateways internos, mesmo na presena de erros em alguns links,
bem procurar definir a menor rota para que um determinado pacote alcance o seu alvo
destino.
Gateways que trocam informaes de roteamento com outros gateways que no pertencem
ao mesmo Sistema Autnomo, so considerados "Vizinhos Exteriores" e utilizam o
protocolo EGP (Exterior Gateway Protocol) para se comunicarem. A Figura 7.3 ilustra este
conceito.

Figura 7.3 Troca de informaes entre sistemas autnomos


Gateways que trocam informaes de roteamento somente com gateways do mesmo
Sistema Autnomo so considerados "Vizinhos Interiores" e utilizam diversos protocolos
denominados genericamente IGP (Interior Gateway Protocols). Entre eles encontram-se o

RIP (Routing Information Protocol), o HELLO, o OSPF (Open Shortest Path First), o IGRP
(Internal Gateway Routing Protocol), entre outros. Neste captulo veremos os protocolos
IGP e no prximo captulo os protocolos EGP.

7.1 RIP - Routing Information Protocol (RFC 1058)


Um dos protocolos IGP mais difundidos, conhecido tambm como Routed o RIP
Routing Information Protocol (Protocolo com informaes de roteamento), este protocolo
foi desenvolvido pela Universidade de Berkeley na California, e sua grande popularidade
deve-se ao fato dele ser distribudo junto com o 4BSD UNIX.
O RIP utiliza a tcnica "Vector Distance" para atualizao de tabelas de roteamento. Em
seu mtodo de atuao ele particiona as mquinas envolvidas em ativas e passivas (ou
silenciosas). Mquinas ativas informam suas rotas para outros, j as mquinas passivas
escutam e atualizam suas rotas baseadas nas informaes transmitidas pelas mquinas
ativas, mas no informam. Tipicamente, gateways rodam RIP em modo ativo, enquanto
hosts usam modo passivo.
Um gateway utilizando RIP envia mensagens de atualizao de rotas em broadcasting a
cada 30 segundos, mencionando as redes e suas respectivas distncias (em hops). Os hosts,
assim que recebem mensagens RIP, efetuam a atualizao de suas tabelas de rotas.
Na mtrica do RIP, um host dito com hop=1 quando diretamente conectado e hop=2
quando alcanado atravs de um gateway.
Nem sempre o menor nmero de saltos (hops) significa a melhor rota, pode ser que uma
rota mais longa propicie melhor qualidade de linhas. Para compensar esta diferena de
tecnologia algumas implementaes usam alta contagem artificial de hops quando
informados de conexes lentas.
Devido morosidade da divulgao de rotas, o RIP implementa um nmero mximo de
hops igual a 16. Quando uma rota divulgada com valor de 16 hops, esta considerada
inatingvel. A tabela de roteamento do RIP pode ser esttica ou dinmica.
Nas mquinas UNIX o comando routed aciona o daemon responsvel pelo roteamento.
Este daemon deve ser executado quando a mquina ligada. O arquivo /etc/gateways
indica a rota para uma determinada rede e a mtrica para ela. J o comando netstat r,
mostra a tabela de roteamento e a sua respectiva mtrica. O RIP utiliza a porta UDP 520
para transmisso dos dados de roteamento.

7.1.1 Problemas do Protocolo RIP


O RIP especifica poucas regras para melhorar a performance e confiabilidade. Por exemplo,
quando um gateway aprende uma rota de um outro gateway, ele deve manter esta rota at
que aprenda uma melhor. Se dois gateways anunciam uma rota com o mesmo custo, ser

usada aquela que for anunciada primeiro. A Figura 7.4 ilustra a interligao de cinco redes
(Net1 Net5) atravs de cinco Gateways (G1 G5).

Figura 7.4 Interligao de redes


Na Figura 7.4, suponha que G4 aprendeu que a rota para a rede 1 (Net1) pelo Gateway
G2. Caso o gateway G2 falhe, G4 manteria esta informao errada por um determinado
tempo, no conseguindo rotear os pacotes para Net1. Observe entretanto que G4 poderia
mandar os pacotes atravs do gateway G5. Esta rota sempre existiu, mas G4 simplesmente
no enxergava.
Para evitar este tipo de problema, o RIP estabelece que todos os ouvintes devem colocar um
temporizador (time-out) para cada rota aprendida. O temporizador reinicializado sempre
que o gateway receber um novo anncio para aquela rota. Caso este tempo passe de 180
segundos a rota eliminada.
No caso acima, a partir do momento que o gateway G2 para de responder, levar pelos
menos 180 segundos para que a rota em G4 seja excluda. Aps este momento levar algum
tempo ainda para que G4 aprenda a rota por G5. Observe que o tempo para aprendizado de
rotas muito grande no RIP.

7.1.2 Convergncia Lenta do RIP

A Figura 7.5 ilustra a interligao de uma rede (Net1) ao gateway G1, que por sua vez esta
conectado ao gateway G2 que esta conectado a G3.

Figura 7.5 Interligao de gateways a uma rede


Na Figura 7.5, o gateway G1 tem conexo direta a rede 1 (Net1), por isso anuncia esta rota
com distncia 1 (hop=1). O gateway G2 aprende a rota para a Rede 1 (Net1), atravs de G1
e coloca a distncia para 2 (hop=2). Da mesma forma G3 coloca distncia para 3 (hop=3).
Se a conexo de G1 a Rede 1 cair, G1 coloca que a distncia a esta rede 16, ou seja,
inatingvel. Como isso, na prxima vez que G1 divulgar a rota para a Rede 1, os gateways
que j receberam esta informao de G1 anteriormente atualizaro a mtrica para 16,
fazendo a rota para a Rede 1 inatingvel e distribuindo esta informao ao longo de todos os
outros gateways.
Suponha entretanto que G1 receba a tabela de rotas de G2 antes de divulgar a sua tabela de
rotas com a mtrica para Rede 1 marcada com hop=16. G1 recebe a informao de G2 e
compara com a sua e v que G2 tem um caminho mais curto para a rede 1. Isto no deveria
acontecer pois a rede 1 est inatingvel. Esta falha vai causar um loop entre G1 e G2 como
ilustra a Figura 7.6

Figura 7.6 Loop entre G1 e G2


G1 colocar em sua tabela de rotas que alcana a rede 1 com distncia 3 via G2 (G2 havia
informado que alcanava a custo 2). Na prxima atualizao, G2 recebe a informao de
G1 de que a rede 1 alcanvel a distncia 3. Como ele tem na sua tabela que a rede 1
alcanvel por G1 com distncia 2, ele atualiza esta distncia para 4. Este incremento de
hop count acontecer lentamente at que chegue a 16, o que define a inalcanabilidade da
rede 1. Veremos agora trs mtodos para resolver este problema.

7.1.2.1Mtodo Split Horizon

No uso da tcnica de Split Horizon um gateway recorda a interface sobre a qual ele recebeu
uma rota particular e no propaga esta informao a respeito da rota anterior sobre a mesma
interface. No exemplo anterior, G2 no informaria a G1 que tem uma rota para Rede 1, pois
esta informao foi obtida exatamente de G1.

7.1.2.2Mtodo Hold Down


Se um gateway informa um rota curta de acesso a uma rede, todas os gateways recebem
esta informao e rapidamente atualizam suas tabelas de rotas. Agora se um gateway para
de informar uma rota o protocolo depende de um mecanismo de time-out antes de
considerar a rota inalcanvel. Uma vez que o time-out ocorre, o gateway pode encontrar
uma rota alternativa, atualizar sua tabela e comear a propagar esta informao.
Infelizmente, um gateway no pode saber se a rota alternativa depende da rota que esta
interrompida (por exemplo, se foi propagao de um outro gateway que ainda no estourou
o time-out). Esta negativa de informao no se propaga rapidamente.
Na tcnica de Hold Down fora-se um gateway participativo a ignorar a informao sobre
uma rede por um perodo fixo de tempo (tipicamente 60 segundos) aps o recebimento de
uma mensagem que informa que a rede est inalcanvel ou aps o estouro do time-out.
O problema do Hold Down que ele preserva rotas incorretas durante seu tempo de
durao.

7.1.2.3Mtodo Poison Reverse


Quando uma conexo removida, o gateway responsvel pela propagao desta rota retm
as entradas por vrios perodos de atualizao, e inclui um custo infinito no seu broadcast.
Esta tcnica chamada de Poison Reverse.
Para o Poison Reverse ser mais eficiente ele deve ser combinado com "triggers updates.
Triggered Updates fora um gateway a enviar uma mensagem de broadcast imediatamente
aps receber uma notcia de falha de conexo, ao invs de esperar o broadcast peridico.

7.2 O Protocolo Hello


O protocolo HELLO muito parecido com o RIP. A diferena bsica que o RIP usa a
mtrica de hops e o Hello usa a mtrica de delay (atraso) entre uma rede e outra. As
funes bsicas so:
manter o sincronismo dos relgios de todos os gateways envolvidos
divulgar alcance por tempo referente a cada rede.
Cada mquina participante do Hello mantm uma tabela com a estimativa do relgio em
cada um de seus vizinhos. Antes de transmitir um pacote Hello, a mquina coloca neste
pacote o seu relgio. Quando o pacote chega, a mquina receptora computa o delay no

enlace baseado na estimativa do relgio da mquina que enviou. Periodicamente as


mquinas atualizam seus vizinhos para reestabelecer as estimativas de relgios destes.

7.3 OSPF - Open Shortest Path First (RFC 1131)


O protocolo OSPF foi desenvolvido pelo grupo de trabalho IETF (Internet Engineering
Task Force) e baseado na tecnologia link state para manter as tabelas de rotas.
O OSPF tambm prov autenticao das mensagens de atualizao de roteamento. O OSPF
roteia pacotes IP baseando-se no endereo de destino e no TOS (Type of Service), ambos
pertencentes ao protocolo IP.
O protocolo OSPF detecta rapidamente mudanas no sistema autnomo, como falhas na
interface de roteamento, e calcula novas rotas, livres de loops, aps o perodo de
convergncia. Este perodo de convergncia pequeno e envolve o mnimo de trfego de
roteamento.
O OSPF calcula separadamente rotas para cada tipo de servio (TOS - type of service).
Quando vrias rotas de custos iguais existem para um mesmo destino, o trfego
distribudo igualmente sobre elas, ou seja, existe balanceamento de carga. O custo de uma
rota descrito por uma mtrica.
O OSPF permite que um conjunto de redes sejam agrupados. A este agrupamento damos o
nome de rea. A topologia de uma rea no vista pelo resto do Sistema Autnomo. Esta
informao oculta permite uma reduo significativa no trfego de roteamento. Da mesma
forma, o roteamento de uma rea determinado apenas pela topologia da mesma, dando
proteo a rea de dados de roteamentos errados.
O protocolo OSPF permite uma configurao flexvel de subredes IP. Cada rota distribuda
pelo OSPF possui um destino e uma mscara. Duas subredes diferentes em um mesmo
numero IP de rede podem ter diferentes tamanhos (mscaras). Isto comumente
referenciado como tamanho varivel de subredes. Um pacote roteado para melhor
combinao. Esta caracterstica uma grande vantagem em relao ao RIP, que no trata
bem o conceito de mscaras.
Toda troca do protocolo OSPF autenticada. Isto significa que apenas gateways
confiveis podem participar do roteamento de um sistema autnomo. Uma variedade de
esquemas de autenticao pode ser usado. Um esquema simples de autenticao
configurado para cada rea. Isto permite que algumas reas usem autenticao mais
restrita que outras. A autenticao um caracterstica importante pois garante que um
pacote no vai ser desviado para um destino que no o correto.
Em um protocolo de roteamento baseado no SPF (shortest path first), cada roteador
mantm uma base de dados descrevendo a topologia do Sistema Autnomo. Cada roteador
participante possui uma base idntica. Cada parte individual desta base de dados um
estado particular do roteador local (a interface usvel do roteador e vizinhos alcanveis).

Todos roteadores executam o mesmo algoritmo em paralelo. Sobre a base de dados


topologica, cada roteador constri uma rvore dos menores caminhos alcanveis, com ele
prprio de raiz. Esta rvore mostra a rota para cada destino de um sistema autnomo.
Informaes para roteamento externo aparecem como folhas na rvore. Este esquema reduz
drasticamente a comunicao entre os gateways, alm de permitir uma tomada de deciso
muito mais rpida e eficiente a respeito do caminho a ser escolhido.

7.3.1 Formato das Mensagens


Descreveremos nesta sesso o formato bsico das mensagens que so trocadas atravs do
protocolo OSPF. A Figura 7.7 mostra o cabealho padro de uma mensagem OSPF.

Figura 7.7 Cabealho padro mensagem OSPF


A Tabela 7.1 descreve os campos do cabealho padro.
Nome do Campo
VERSION
TYPE

MESSAGE LENGHT
SOURCE GATEWAY
IP ADDRESS
CHECKSUM
AUTHENTICATION TYPE

Descrio
Especifica a verso do protocolo OSPF
Tipo de Mensagem. As possveis mensagens so:
1 Hello (usado para testar alcance)
2 Database Description (Topologia)
3 Link Status Request (Requisio de status do link)
4 Link Status Update (Atualizao do status do link)
5 Link Status Acknowledgement (Reconhecimento do
status do link)
Tamanho da mensagem OSPF
Utilizado para identificao do gateway gerador da
mensagem OSPF, onde introduzido o seu respectivo
endereo IP
Utilizado na verificao de erros da mensagem OSPF
Utilizado para garantir a idoneidade das informaes de
roteamento trocadas. Quando "0", no ser utilizada a

Nome do Campo

AUTHENTICATION

Descrio
autenticao. Quando "1", ser utilizada uma "senha" de
autenticao
Senha de validao, caso AUTHENTICATION TYPE = 1

Tabela 7.1 Descrio dos campos da mensagem OSPF


Veremos a seguir quais so as mensagens trocadas para cada tipo de servio. O tipo Hello
no ser apresentado por ser tratar de um tipo que s trata se a mquina esta alcanvel ou
no.

7.3.1.1Database Description
O OSFP trabalha com o conceito de Gateway Mestre e Gateway Escravo. O Gateway
Mestre responsvel por repassar aos Gateways Escravos a topologia e as alteraes da
rede. J os Gateways escravos somente se alimentam dessas informaes. A Figura 7.8
mostra a mensagem padro enviada do Gateway Mestre para os Escravos.

Figura 7.8 Formato da Mensagem enviada pelo Gateway Mestre aos Escravos
A Tabela 7.2 descreve os campos da Figura 7.8
Nome do Campo
I

Descrio
Controle de fragmentao. Quando "0" identifica segmentos
posteriores de uma mensagem. Se "1", indica o fragmento
inicial

Nome do Campo

Descrio
M
Se "0" indica que a mensagem no foi segmentada ou que
este o ltimo fragmento. Se "1" indica que a mensagem
foi fragmentada e mais fragmentos sero enviados
S
Se "0" indica que a mensagem foi enviada por um gateway
escravo, e se "1", foi enviada por um gateway mestre.
DATABASE
Utilizado para manter o sincronismo das mensagens
SEQUENCE NUMBER
enviadas, onde um nmero gerado inicialmente e
acrescido a cada mensagem enviada.
LINK TYPE
Descreve o tipo do link mencionado
LINK ID
Identifica o endereo IP de um gateway ou de uma rede
ADVERTISING GATEWAY Endereo IP do gateway que divulga o link
LINK
Cada link divulgado na database tem seu prprio nmero
SEQUENCE NUMBER
de sequncia, assegurando que as mensagens no se percam
ou cheguem fora de ordem
LINK CHECKSUM
Visa garantir que os dados referentes a cada link no sejam
corrompidos
LINK AGE
Utilizado para medir a permanncia de cada link em estado
ativo
Tabela 7.2 Descrio dos campos Database Description
Os campos de LINK TYPE at LINK AGE so repetidos na mensagem para cada link
especificado.

7.3.1.2Link Status Request


Aps a troca de mensagens Tipo 2 (Database Description), os gateways podem descobrir
que existem partes de seus bancos de dados desatualizadas, para atualizar suas bases de
dados, um gateway envia uma mensagem de requisio de estado ao seu vizinho,
especificando quais os links que o emissor deseja atualizar. O receptor envia uma resposta
o mais atualizado possvel. A Figura 7.9 especfica o cabealho do Link Status Request.
Os campos Link Type, Link ID e Advertising Gateway so os mesmos do Database
Description.

Figura 7.9 Cabealho de uma mensagem Link Status Request

7.3.1.3Link Status Update


As mensagens de Link Status Update, como o prprio nome sugere atualizam a situao
de um determinado Link. Esta mensagem enviada por um gateway escravo ao gateway
mestre para que este atualize sua tabela de status daquele(s) link(s) e repasse esta
informao para os demais gateways escravos. Cada Update consiste de uma lista de
anncios, como mostra a Figura 7.10

Figura 7.10 Mensagem de atualizao de um link


Na Figura 7.10 o campo Number of Link Status Advertisements indica quantos links
esto sendo enviados para atualizao, j o campo Link Status Advertisement (Situao
do Link divulgado) possui o formato da Figura 7.11

Figura 7.11 Status do Link

Esta mensagem possui vrios campos de controle para identificar o link (Link Age, Link
Type e Link ID), com o nome do Link (Advertising Gateway) e um nmero de sequncia
do Link (Link Sequence Number), bem como os campos de controle de erro (Link
Checksum) e tamanho (Lengtht). atravs do campo Link Type que o receptor consegue
identificar quais links esto dentro do mesmo site ou so externos a ele.

7.3.1.4Link Status Acknowledgement


Todo link divulgado ou atualizado precisa de uma confirmao de recebimento desta
informao (lembre-se que a divulgao atravs do protocolo UDP). Esta confirmao
feita atravs da mensagem Link Status Acknowledgement (Reconhecimento da situao
do link). A Figura 7.12 ilustra a mensagem enviada.

Figura 7.12 Confirmao da situao do link


Os campos so os mesmo da Figura 7.11. atravs do Link Sequence Number (nmero
de sequncia do link) que receptor e transmissor fazem o controle entre mensagens
enviadas e confirmaes das mesmas.

7.3.2 Exemplo de Funcionamento OSPF


A Figura 7.13 mostra um mapa simples de um Sistema Autnomo. A nomenclatura
utilizada Hi para Host, Ni para Network (Rede) e RTi para Router (Roteador ou
Gateway). Desta forma, o retngulo H1 indica um host, que possui uma conexo SLIP com
o roteador RT12. Linhas entre os roteadores indicam uma rede fsica ponto a ponto entre
eles. Os roteadores RT5 e RT7 possuem conexes EGP para outros Sistemas Autnomos.
Um conjunto de rotas aprendidas pelos roteadores EGP, so informadas para estes
roteadores.

Figura 7.13 Mapa de um Sistema Autnomo


A cada sada de interface do roteador associado um custo. Este custo configurado pelo
administrador do sistema. Alm da configurao manual os custos so tambm associados
com dados de roteamento externo (rotas EGP).
A partir da Figura 7.13, e os seus respectivos custos possvel especificar o grafo da
Figura 7.14. Observe que cada reta indica o custo associado a ela. Para as retas que no
possuem custo associado intendido que o seus custo igual a zero.

O grafo gerado atravs da Figura 7.13 (Banco de dados da topologia) deve ser analisado
conjuntamente com as informaes do link state geradas pelos roteadores.

Figura 7.13 Grfico de custos de um sistema autnomo


Quando as reas OSPF no so configuradas, cada roteador no Sistema Autnomo possui
uma mesma base de dados topologicas. O roteador gera a sua tabela de roteamento a partir
deste grafo, gerando uma rvore do caminho mais curto com ele mesmo de raiz.
Obviamente o caminho mais curto depende do roteador que esta fazendo o clculo. A
rvore do caminho mais curto para o RT6 esta exemplificada na Figura 7.14.

Figura 7.14 Tabela de Rotas para o Roteador RT6


Observe que a rvore d toda a rota para qualquer destino (rede ou host). Contudo, apenas o
prximo passo para o destino usado para enviar a mensagem.

7.4 IGRP (Interior Gateway Routing Protocol)


O protocolo IGRP um protocolo de roteamento proprietrio da Cisco System,
desenvolvido em meados dos anos 80. O principal objetivo do IGRP prover um
mecanismo robusto de roteamento dentro de um sistema autnomo com topologia
complexa e meios de comunicao com diferentes bandas passantes e atrasos.
O IGRP usa o protocolo Vector Distance e sua mtrica um conjunto de parmetros que
definem o quo bom um caminho at o destino desejado. IGRP escolher, ento, o
caminho com a melhor mtrica. Tambm poder escolher dois ou mais caminhos desde que
suas mtricas sejam prximas. A mtrica do IGRP inclui:
Delay Topolgico (delay supondo que o caminho est totalmente livre de
trfego);
A banda passante do enlace mais lento no caminho;
A ocupao dos canais no caminho (percentagem da banda passante que est
sendo gasta naquele momento);
A confiabilidade do caminho (taxa mdia de erros).
No IGRP, o protocolo Bellman-Ford (Vector Distance) modificado em trs aspectos
crticos:
1. Ao invs de mtrica simples, um vetor de mtricas usado para caracterizar o
caminho.
2. Ao invs de escolher o caminho com menor mtrica, o trfego dividido em
vrios caminhos cujas mtricas estejam dentro de uma faixa especificada.
3. Vrias caractersticas so introduzidas para prover estabilidade em situaes
onde a topologia muda. Split Horizons, Hold Down, reverse Poison e triggered
Update.
Todas estas caractersticas so na verdade a fuso de vrias idias dos protocolos
anteriormente apresentados. Neste sentido o IGRP tem grande vantagem sobre os demais.
O ponto que mais pesa contra este protocolo ele ser proprietrio, diferente dos demais
protocolos de roteamento apresentados anteriormente.

8 EGP - Exterior Gateway Protocol (RFC 904)


Como visto no captulo 7, os protocolos de IGP (Interior Gateway Protocol) atuam dentro
de um determinado sistema autnomo. Quando conectamos dois sistemas autnomos
usamos o protocolo EGP (Exterior Gateway Protocol) para termos acesso as informaes
de roteamento e conseguirmos alcanar um gateway dentro de um sistema interior. A
Figura 8.1 ilustra dois sistemas autnomos interligados por um protocolo EGP. Observe
que cada sistema autnomo poderia estar rodando um protocolo de roteamento diferente,
Sistema Autnomo 1 executando RIP e Sistema Autnomo 2 rodando OSPF.

Figura 8.1 Dois sistemas autnomos interligados por um protocolo EGP


Em particular, gateways que rodam EGP usualmente usam IGP para obter informaes de
seu sistema autnomo. Um mesmo Gateway pode usar dois tipos diferentes de protocolos
de roteamento simultaneamente, um para comunicar para fora do sistema autnomo e outro
para dentro.
O protocolo EGP possui trs caractersticas principais:
Suporta mecanismo de aquisio de vizinho, que permite que um gateway
requisite a outro que eles devem trocar informaes de alcanabilidade;
Faz testes contnuos para ver se os vizinhos esto respondendo;
Divulgao de informao entre vizinhos utilizando mensagens de atualizao de
rotas.
Para acomodar estas trs funes bsicas, o protocolo EGP define nove tipos de mensagens,
mostrados na tabela 8.1.

Tipo de Mensagem EGP


ACQUISITION REQUEST
ACQUISITION CONFIRM
ACQUISITION REFUSE
CEASE REQUEST
CEASE CONFIRM
HELLO
I HEARD YOU
POLL REQUEST
ROUTING UPDATE
ERROR

Descrio
Requisita um gateway para tornar-se vizinho.
Resposta positiva para Acquisition Request.
Resposta negativa para Acquisition Request.
Requisita o trmino da relao de vizinhana.
Resposta de confirmao para Cease Request.
Requisita uma resposta ao vizinho para verificar se ele
est operante.
Resposta da mensagem Hello.
Requisita a atualizao de informaes de roteamento da
rede.
Atualiza as informaes de roteamento.
Resposta a mensagens incorretas.

Tabela 8.1 Mensagens do protocolo EGP


Veremos a seguir algumas dessas mensagens.

8.1 Cabealho Padro do EGP


Todas as mensagens EGP comeam com um cabealho fixo que identifica o tipo de
mensagem enviada. O cabealho padro mostrado na Figura 8.2 com a descrio dos seus
campos sendo apresentados na Tabela 8.2

Figura 8.2 Cabealho Padro EGP


Campo
VERSION
TYPE
CODE
STATUS

Descrio
Utilizado para identificar a verso corrente do protocolo
Utilizado junto ao campo CODE, indica o tipo da mensagem
Identifica o cdigo da mensagem (subtipo)
Contm informaes adicionais do estado, dependendo do tipo da
mensagem
CHECKSUM
Utilizado para verificao de erros
AUTONOMOUS Indica o nmero do Sistema Autnomo do gateway que enviou a
SYSTEM NUM mensagem
SEQUENCE
Contm um nmero utilizado pelo remetente para sincronismo de
NUMBER
mensagens e respostas. inicializado quando um gateway inicia a
comunicao com um Vizinho Exterior" e incrementado a cada

Campo

Descrio
mensagem enviada.
Tabela 8.2 Descrio dos campos do cabealho padro EGP

8.2 Mensagem de Aquisio de Vizinho


Para um "Gateway Exterior" obter informaes sobre um Vizinho Exterior, este envia
uma mensagem do tipo Neighbor Acquisition para adquirir estas informaes. O formato
da mensagem mostrado na Figura 8.3

Figura 8.3 Formato da Mensagem de Aquisio do Vizinho


Os campos Version, Type, Status, CheckSum, Autonomous System Num. e Sequence
Number so os campos do cabealho padro mostrado na Figura 8.2. Nesta mensagem
especificamente o campo Code pode receber os seguintes valores (Tabela 8.3)
CODE
Significado
0
comando de requisio
1
resposta de confirmao
2
resposta de rejeio
3
comando de terminao
4
resposta de encerramento
Tabela 8.3 Opes do campo CODE para a mensagem Neighbor Acquisition
J os outros campos so descritos na Tabela 8.4
Campo
Descrio
HELLO INTERVAL Utilizado para implementar um timer a ser utilizado para o envio
de mensagens peridicas com o intuito de testar a resposta do
vizinho (saber se o vizinho est vivo).
POLL INTERVAL Mxima freqncia de atualizaes de rotas
UNUSED
No usado
Tabela 8.4 Demais campos da mensagem Neighbor Acquisition

8.3 Teste Contnuo de Funcionamento de Vizinho

A mensagem para descobrir se um vizinho esta respondendo a mensagem EGP bsica,


com o campo Type = 5 e o campo Code = 0 (Comando HELLO) ou 1 (Resposta I HEAD
YOU Eu te escuto). A forma da mensagem mostrada na Figura 8.4

Figura 8.4 Formato da Mensagem confirmao se vizinho esta respondendo


EGP usa o algoritmo k-out-of-n para declarar que o parceiro est UP ou DOWN. Ou seja,
s quando k dentre as ltimas n mensagens forem perdidas que o parceiro declarado
DOWN.

8.4 Mensagem POLL REQUEST


As mensagens de Poll request e poll response permitem a um gateway obter informaes
de alcanabilidade de redes. Somente o campo IP Source Network incluido no cabealho
padro (Figura 8.5).

Figura 8.5 Cabealho padro POLL REQUEST


O campo IP SOURCE NETWORK especifica a rede comum ao sistema autnomo a qual
ambos os gateways se ligam. A resposta a esta mensagem conter rotas que tem distncias
medidas com respeito aos gateways na referida rede.

8.5 Mensagem de Atualizao de Rotas


Um gateway exterior envia uma mensagem de routing update com informaes de
roteamento para o EGP vizinho. A mensagem enviada a da Figura 8.6

Figura 8.6 Formato da mensagem de atualizao de rotas do EGP

Os campos da Figura 8.6 so descritos na Tabela 8.5

Campo
#INT. GWYS
#EXT. GWYS
IP SOURCE
NETWORK
ROUTER 1
IP ADDRESS
#DISTANCES

Descrio
Identifica o nmero total de gateways interiores que aparecem
na mensagem
Identifica o nmero total de gateways exteriores que aparecem
na mensagem
Nmero IP da rede sobre a qual esto sendo solicitadas as
informaes de alcanabilidade, ou seja, a rede sobre a qual a
alcanabilidade medida
Contm o endereo do roteador (gateway) destino

Utilizado para identificar o nmero de distncias existentes no


segmento relativo ao I-simo Gateway
DISTANCE Dii
Identifica qual a distncia (em hops) deste grupo de endereos
#NETS AT Dii
Especifica quantos endereos so mencionados para a distncia
em questo, j que utilizado juntamente com um determinado
nmero de distncia
NETWORK "I"
Reservado para a incluso dos endereos IP (NETID) na
AT DISTANCE Dii respectiva distncia
Tabela 8.5 Descrio dos campos da mensagem de atualizao de rotas
Para exemplificar o funcionamento do protocolo EGP observe a Figura 8.7

Figura 8.7 Mapa de redes com EGP

Neste exemplo, o Gateway G2 foi designado a rodar EGP neste sistema autnomo. este
gateway que se comunicar com outros gateways exteriores. A obrigao de G2 informar
a alcanabilidade das redes 1 a 4 (Net1 Net4).
G2 reportar ento ao Gateway exterior que a Rede 1 (Net1) alcanvel pelo gateway G1,
que as redes 3 e 4 (Net3 e Net4) so alcanveis por G3 e a Rede 2 (Net2) alcanvel por
G2 (ele mesmo).
Do ponto de vista de G2, Rede 2 est a uma distncia zero. No entanto, ele reporta a Rede 2
com distncia 1, a distncia da SOURCE NETWORK.

9 DNS - Domain Name System


Do ponto de vista da Internet, as mquinas so muito bem identificadas pelo endereo IP.
So estes valores (endereos IP) que realmente viajam no pacote IP, conforme j visto
anteriormente. No entanto, do ponto de vista do usurio, estes nmeros so difceis de
serem memorizados. mais fcil para o usurio guardar o nome www.microsoft.com.br
do que o seu respectivo endereo IP 200.240.13.31.
A fim de facilitar a vida do usurio foi criado o servio de DNS (Domain Name System
Servio de Nomes), que associa nomes simblicos a endereos IP, tornando mais fcil ao
usurio final a utilizao da Internet como um todo.
Um nome meramente um identificador que consiste de uma sequncia de caracteres
escolhidas num alfabeto. O endereo IP considerado um nome de baixo nvel, no entanto
os usurios preferem endereos de alto nvel.
Uma forma de estabelecer um sistema de nomes seria criar um nico banco de dados que
contivesse a relao <nome, endereo IP> de todas as mquinas da Internet. Este banco de
dados estaria numa nica mquina (talvez em duas por questo de segurana) e todas as
outras mquinas consultariam esta para conseguir traduzir os nomes para endereos IP.
Qualquer mquina que fosse adicionada a esta Internet deveria ser cadastrada neste servidor
de nomes central.
Para uma Internet pequena este sistema funcionaria bem. Porm com seu crescimento este
sistema traria alguns inconvenientes.
Toda incluso de nomes teria que ser feita por uma nica pessoa (ou grupo de
pessoas)
Haveria problema na escolha dos nomes, devido as poucas opes que se teria
Devido a estas limitaes em um sistema nico, foi escolhido construir esse Banco de
Dados de forma distribuda. Hoje, a Internet possui em cada pas um rgo responsvel
pela criao de domnios e distribuio de endereos IPs, entre outras atividades. No Brasil
esta organizao a FAPESP (Fundao de Amparo Pesquisa do Estado de So Paulo)
www.fapesp.br.
A FAPESP responsvel pela criao e manuteno de domnios no Brasil, ela que
possui o banco de dados Nome do Domnio x Endereo IP para todos os domnios
cadastrados no Brasil. Caso voc faa uma solicitao de incluso de um domnio preciso
verificar antes se ele j existe - registro.fapesp.br caso j exista voc ter que escolher
um outro nome. Caso no exista voc pode providenciar o seu registro sozinho ou com a
ajuda de um provedor de acesso.

O Domain Name System (DNS) responsvel por diversas tarefas. Ele cria uma hierarquia
de domnios, referncias, ou grupos de computadores. Estabelece um nome de referncia
(tambm conhecido como endereo da Internet) para cada computador na rede. As
referncias principais tem a responsabilidade de manter listas e endereos de outras
referncias do nvel imediatamente inferior em cada grupo. Este nvel inferior de
referncias o responsvel pelo prximo nvel e assim por diante at o usurio final, ou
computador final. O DNS utiliza esta hierarquia para transformar um nome de computador,
escrito por extenso, em um nmero denominado endereo IP. O protocolo TCP/IP precisa
saber o endereo da mquina local e o endereo IP da mquina que se deseja conectar.
Quando o usurio informa o nome de uma mquina e no o seu endereo IP o servio de
DNS que se responsabiliza em transformar aquele nome de mquina em endereo IP, para
que se possa estabelecer a comunicao. Em geral, este processo totalmente transparente
ao usurio final.
Apesar da FAPESP ser responsvel pelos domnios, so os domnios que so responsveis
pelos nomes das suas mquinas. Por exemplo de responsabilidade da FAPESP registrar e
divulgar o domnio UFES.BR, mas de responsabilidade da UFES definir quais sero o
nome das suas mquinas e caso existam sub-domnios quais so os nomes das mquinas
destes sub-domnios, por exemplo o sub-domnio INF.UFES.BR possui uma mquina que
se chama CAIRO.INF.UFES.BR.
Todo servio pode ser acessado pelo nome hierrquico ou pelo endereo IP correspondente.
Logo digitarmos em um Browser http://www.microsoft.com.br ou http://200.240.13.31
tem o mesmo significado, sendo que a primeira opo s funciona se o computador possui
o servio de DNS instalado, j a segunda opo funciona em todos os casos.
A descrio do servio de DNS feita na RFC 1034 ftp://ds.internic.net/rfc/rfc1034.txt escrita por Paul Mockapetris.

9.1 Nomes Hierrquicos


A Internet usa a analogia do sistema postal para definir o nome de um determinado domnio
ou mquina. No sistema postal, uma casa pode ser localizada atravs de seu pas, estado,
cidade, rua e nmero, onde o nmero esta contido na rua, que por sua vez esta contida na
cidade e assim por diante.
Na Internet o mecanismo bastante semelhante, uma mquina endereada por um
conjunto de informaes, por exemplo a mquina cairo do Laboratrio de Informtica do
CT-III da UFES (Universidade Federal do Esprito Santo) pode ser localizada da seguinte
forma:
cairo.inf.ufes.br
Este endereo indica que a mquina cairo est contida no conjunto inf que por sua
vez est contida no conjunto ufes que est no conjunto br. O que foi referido como

conjuntos, no mundo da Internet recebe o nome de domnios. Desta forma, existe o


grande domnio br. Este contm vrios sub-domnios dentre os quais o sub-domnio
ufes, que por sua vez contm o sub-domnio inf, que possui a mquina cairo. A
Figura 9.1 ilustra como essa diviso feita na Internet.

Hierarquia de Nomes
.

Eltrica
ele

Canad
ca

Brasil
br

Frana
fr

UFES
ufes

Governamental
gov

Comercial
com

Informtica
inf

Estados Unidos

Educacional
edu

Governamental
gov

Comercial
com

Outros

cairo

Figura 9.1 Hierarquia de nomes na Internet


A Figura 9.1 mostra uma hierarquia onde o domnio . o nvel mais alto, vindo abaixo
dele a designao dos pases, menos para os Estados Unidos, que no tem essas designao.
Abaixo de cada pas feita uma estrutura de acordo com as necessidades daquele pas.
Observe entretanto, que no somente uma mquina que responde pelo domnio br, nem
to pouco uma que responde pelo domnio .. Este s um modelo esquemtico da
Hierarquia de nomes, na realidade, vrias mquinas respondem por cada um dos domnios
especificados, com objetivo de evitar falhas na resoluo de nomes. Nem as prprias
ligaes fsicas precisam existir necessariamente, podendo ser somente conceitual, estando
ligadas de outra forma.
Com os conceitos de domnios j discutidos pode-se mostrar como a Internet est
estruturada. A Internet formada por um conjunto de grande domnios globais, divididos
em pases, como mostrado abaixo:

br
ca
uk
it

Brasil
Canada
Reino Unido
Itlia

Existem ainda alguns domnios globais pertencentes aos Estados Unidos. Estes foram os
domnios iniciais da Internet, antes das expanses para os outros pases, e por isso no tem
nenhuma extenso, como US por exemplo:

mil
gov
edu
com
net

Militar
Governamental
Educacional
Comercial
Empresas/grupos preocupados com a Administrao da Internet

org

Outras organizaes da Internet

Cada um destes domnios apresenta vrios sub-domnios pelos quais so responsveis. Por
exemplo, o grande domnio global br, possui alguns sub-domnios:
ufes.br
rnp.br
usp.br

UFES
Rede Nacional de Pesquisa
USP

Existe ainda os sub-domnios de um domnio. Por exemplo o domnio com.br que denota as
empresas possui vrios sub-domnios dentre deste domnio maior:
uol.com.br
zaz.com.br
digital.com.br

Universo Online
Provedor ZAZ
Digital, empresa de Informtica

9.2 Ferramenta Nslookup


O sistema operacional UNIX apresenta uma ferramenta bastante til para ajudar o
administrador de rede a encontrar problemas de DNS. Esta ferramenta chama-se nslookup.
A seguir sero mostrados alguns exemplos ilustrativos do uso do nslookup:
Comando
vitoria.inf.ufes.br> nslookup
Default Server: cairo.inf.ufes.br
Address: 200.241.16.8
>

> dix.mines.colorado.edu.
Server: cairo.inf.ufes.br
Address: 200.241.16.8
Name:
dix.mines.colorado.edu
Address: 138.67.12.10
> www.zaz.com.br
Server: cairo.inf.ufes.br
Address: 200.241.16.8
Name:
Address:
Aliases:

zazpoa7.zaz.com.br
200.248.149.68

www.zaz.com.br

Significado
Chama o utilitrio nslookup, a partir da
mquina vitoria.inf.ufes.br.
O nslookup informa que o servidor de DNS
default cairo.inf.ufes.br (200.241.16.8)
O smbol > indica que o utilitrio esta
esperando por um comando
Para
saber
o
endereo
IP
de
dix.mines.colorado.edu para digitar o nome e
o endereo ser mostrado na linha seguinte.
Para
saber
o
endereo
IP
de
www.zaz.com.br, basta digitar o endereo.
Ser mostrado ento o verdadeiro nome da
mquina: zazpoa7.zaz.com.br e o seu
endereo IP 200.248.149.68, bem como o
Aliases para www.zaz.com.br

Tabela 9.1 Comando Nslookup


Ainda dentro do Nslookup possvel definir que tipo de servidor estamos procurando. Se
desejarmos saber qual o servidor de mail que responde pelo domnio microsoft.com basta
digitarmos setquetytype=mx para indicarmos que o tipo de resposta para um servidor de

e-mail e logo aps digitar o nome do domnio. Observe que necessrio colocar o ponto (.)
no final do domnio. No exemplo abaixo, este domnio possui cinco servidor de mail com a
mesma prioridade (10), e abaixo mostrado o endereo IP de cada servidor de e-mail.
> setquerytype=mx
> microsoft.com.
Server: cairo.inf.ufes.br
Address: 200.241.16.8
microsoft.com
preference =
microsoft.com
preference =
microsoft.com
preference =
microsoft.com
preference =
microsoft.com
preference =
mail1.microsoft.com
inet
mail2.microsoft.com
inet
mail3.microsoft.com
inet
mail4.microsoft.com
inet
mail5.microsoft.com
inet

10, mail exchanger = mail1.microsoft.com


10, mail exchanger = mail2.microsoft.com
10, mail exchanger = mail3.microsoft.com
10, mail exchanger = mail4.microsoft.com
10, mail exchanger = mail5.microsoft.com
address = 131.107.3.125
address = 131.107.3.124
address = 131.107.3.123
address = 131.107.3.122
address = 131.107.3.121

possvel ainda mudar o nome do servidor de DNS, para tanto basta escrever o comando
server e o nome do servidor de DNS, no caso caracol.inf.ufrgs.br. A partir deste
momento o servidor que esta sendo consultado para as pesquisas de DNS
caracol.inf.urfgs.br e no mais cairo.inf.ufes.br, como pode ser visto a seguir.
cairo.inf.ufes.br> nslookup
Default Server: cairo.inf.ufes.br
Address: 200.241.16.8
> server caracol.inf.ufrgs.br
Default Server: caracol.inf.ufrgs.br
Address: 143.54.11.7
> www.altavista.digital.com
Server: caracol.inf.ufrgs.br
Address: 143.54.11.7
Non-authoritative answer:
Name:
altavista.digital.com
Addresses: 204.123.2.69, 204.123.2.75, 204.123.2.107, 204.74.103.37
204.123.2.66
Aliases: www.altavista.digital.com
>

Observe que a resposta do endereo IP de www.altavista.digital.com agora dada por


caracol.inf.ufrgs.br e no mais por cairo.inf.ufes.br. Esta opo bastante til para testar
se um servidor esta respondendo corretamente, de forma remota.

9.3 Configurao do DNS


A configurao do servio de DNS para o usurio final bastante simples. Ele s precisa
informar qualquer o endereo IP do servidor de DNS. Vai ser este servidor entretanto que

ir converter os nomes hierrquicos em endereos IP e retornar as respostas aplicao. A


Figura 9.2 mostra a configurao de um cliente de DNS em uma estao Windows 95.

Figura 9.2 Configurao do servio de DNS em um cliente Windows 95


Na Figura 9.2 possvel observar que existe a opo Enable DNS (habilitar o servio de
DNS) ou Disable DNS (Desabilitar o servio de DNS). No campo DNS Server Search
Order o usurio informa qual o endereo IP que responder perguntas de DNS.
Observe, que possvel colocar vrios servidores de DNS, isto para que caso um servidor
falhe o outro continue respondendo. Nesta mesma tela possvel definir o nome da
mquina (Host), no caso krone e o nome do domnio (Domain), no caso ish.net.
A configurao do Servidor feita basicamente editando um arquivo colocando o endereo
IP da mquina e o seu respectivo nome. O servidor de DNS faz somente checar se o
endereo informado consta na sua tabela de rotas. Caso a afirmativa seja verdadeira, ele
retorna o endereo IP, caso contrrio ser informado uma mensagem de erro, informando
que o endereo hierrquico no possui um endereo IP.
vitoria
cairo
berlim
quebek

IN
IN
IN
IN

A
A
A
A

200.241.16.7
200.241.16.8
200.241.16.9
200.241.16.21

otawa
www

IN
IN

A
200.241.16.23
CNAME cairo

Estas so algumas mquinas do domnio inf.ufes.br. A mquina otawa, cujo endereo IP


200.241.16.23 conhecida dentro do domnio somente como otawa ou como
otawa.inf.ufes.br, j para as redes externas, essa mquina conhecida somente como
otawa.inf.ufes.br. Da mesma forma a mquina berlim.inf.ufes.br possui o endereo
200.241.16.9 e assim sucessivamente.
muito comum que o nome de mquinas de uma determinada sub-rede tenham alguma
relao entre si, no sendo isto parte do padro. possvel identificar as mquinas por
qualquer nome, como XYZ, abc, X1Z2, etc. Observa-se entretanto que as pessoas tendem a
colocar nomes dentro de um conjunto de valores, como por exemplo nomes de cidades,
frutas, escolas de samba, nome de moedas, etc.
Observe que existe um nome WWW que aponta para a mquina cairo (200.241.16.8). Isto
significa que quando o usurio digitar www.inf.ufes.br ele dever fornecer o endereo IP
de cairo.inf.ufes.br.
Vale ressaltar que o servio de DNS s faz a traduo de um nome para um endereo IP,
para que a mquina cairo.inf.ufes.br possa responder ao servio de www necessrio que
este servio esteja instalado e funcionando nesta mquina.
Outro detalhe que vale a pena ressaltar que o servio de www no precisa estar em um
mquina com o nome na forma www. + nome do domnio, isto sendo somente uma
conveno das pessoas utilizado amplamente.

9.4 Resoluo de Nomes


Veremos nesta sesso como so trocadas as mensagens para resoluo de nomes entre um
cliente e um servidor de nome (DNS).

9.4.1 Formato da Mensagem


Assumiremos que um usurio invoca uma aplicao e fornece o nome da mquina com a
qual a aplicao deve se comunicar. Antes de usar os protocolos UDP ou TCP para
transmitir os dados pela rede, a aplicao deve encontrar o endereo IP da mquina destino
(Lembre-se que o cabealho do nvel de rede contm o endereo IP de destino e no o
nome data mquina).
A aplicao passa o nome da mquina para o RESOLVER local. O Resolver verifica se o
nome informado esta na memria cache. Caso esteja, ele informa o endereo IP
aplicao, caso contrrio ele monta uma mensagem, como a mostrada na Figura 9.3 e envia
ao servidor de DNS, que especificado na Figura 9.2.
As mensagens do resolver so encapsulados em datagramas UDP.

Figura 9.3 Formato da mensagem DNS


O campo IDENTIFICATION usado para identificar de forma nica qual foi a pergunta
feita com a sua respectiva resposta. O campo PARAMETER identifica qual a operao
esta sendo solicitada. Os possveis valores para este campo so descritos na Figura 9.4

Figura 9.4 - Opes do campo Parameter


Basicamente, o servidor pode responder a esta mensagem de trs formas distintas.

No primeiro caso, ele responde com uma mensagem de erro informando por exemplo que o
servidor no existe, ou o servidor falhou, ou h um mal formato na mensagem, etc.
Uma outra forma de resposta o servidor de DNS responder alguns possveis endereos IP
de servidores DNS que podem resolver este nome. Da o Resolver manda a mesma
mensagem para este(s) novo(s) endereo. O processo continua at que uma mensagem
informando o endereo IP ou uma mensagem de erro seja entregue.
Na outra forma, a mensagem enviada ao primeiro servidor de DNS, caso este no saiba
qual o endereo IP daquela mquina, ele prprio se encarrega de enviar uma ou mais
mensagens para outro(s) servidor(es) de DNS a procura daquele nome. O processo continua
at que chegue uma nica resposta ao solicitante inicial, informando o endereo IP da
mquina ou uma mensagem de erro.

10 Aplicaes
As aplicaes da arquitetura TCP/IP no possuem uma padronizao comum. As aplicaes
ditas padronizadas, como o SNMP (e-mail), FTP, HTTP, etc possuem uma ou mais RFCs
que as identificam. Logo, qualquer pessoa ou empresa pode escrever um programa de email utilizando os padres descritos nas RFCs sobre SNMP por exemplo.
Outras aplicaes usadas largamente na Internet entretanto no possuem uma padronizao,
como o caso por exemplo dos programas ICQ (www.icq.com), RealAudio e RealVideo
(www.real.com), Microsoft Netmetting (www.microsoft.com), entre outros. Este programas
no possuem uma padronizao a nvel de RFCs. A especificao da aplicao fica a cargo
da prpria empresa que a confeccionou, cabendo a ela divulgar isto ou no.
Como visto anteriormente, toda aplicao precisa estar relacionada a uma porta e a um
protocolo (TCP ou UDP). Para as aplicaes padro os nmeros de porta esto reservados
de 1 1.024. J para as portas no padro pode-se escolher entre 1.025 65.536. Cada
fabricante escolhe um nmero de porta qualquer, podendo eventualmente ocorrer conflito
de portas, se dois fabricantes resolverem fazer uma aplicao diferente utilizando a mesma
porta. Pensando nisso a maioria dos sistemas permite configurar o nmero de porta que a
aplicao servidor ser utilizada, para evitar conflito com outras aplicaes.
Veremos a seguir algumas aplicaes utilizadas na Arquitetura TCP/IP.

10.1 Telnet Terminal Remoto


O servio de terminal remoto (telnet) permite que um usurio conecte-se a uma mquina e
tenha acesso a todos os seus recursos (ou pelo menos aqueles que sua senha permite) como
se estivesse trabalhando nesta mquina fisicamente.
possvel por exemplo a um usurio conectar-se a uma mquina atravs do telnet e
imprimir um texto na impressora desta rede. Ou executar um programa utilizando os
recursos de hardware da mquina remota. Esta opo particularmente interessante quando
uma pessoa deseja utilizar a velocidade de processamento de uma mquina que ele no
possui. Neste caso ele pode usar o poder de processamento da mquina remota, em geral
super-computadores. Esta opo foi amplamente utilizada no incio da Internet onde
somente algumas universidades americanas possuam super-computadores, mas como todas
as universidades estavam conectadas Internet, todas elas podiam utilizar os recursos
computacionais destas mquinas. At hoje este servio bastante utilizado, inclusive no
Brasil que possui trs super-computadores que servem a vrias universidades brasileiras.
O servio de telnet tambm muito utilizado por administradores de sistemas ou redes,
para concertarem configuraes de programas sem precisarem irem ao local fisicamente.
Como toda aplicao client-server, o telnet tambm precisa de um servidor de telnet e um
cliente telnet. Todas as mquinas possuem o servidor de telnet instalado, podendo as vezes
ser desabilitado por problemas de segurana, como acontece em vrios provedores de
acesso que tem medo de um cracker invadir o sistema utilizando o telnet. O sistema
operacional Windows NT no possui o servio de servidor telnet.
O Telnet uma aplicao que utiliza o protocolo TCP para transportar os dados, pois
necessita de certeza de entrega dos pacotes entre as mquinas envolvidas. O servio de
telnet esta na porta 23.
Qualquer mquina pode ter acesso ao servio de telnet, desde que o usurio esteja
cadastrado na mquina servidora e possua uma senha no sistema. Alguns sistemas
permitem o usurio se logar como guess (convidado). A Figura 10.1 mostra a tela de um
cliente telnet acessando um servidor telnet. Neste caso especfico o servidor telnet uma
mquina UNIX (cairo.inf.ufes.br 200.241.16.8) e o cliente telnet esta sendo executado em
uma estao Windows 95/NT qualquer.

Figura 10.1 Usurio acessando o servio de telnet


Observe que mesmo o usurio remoto estando em uma mquina Windows, quando ele se
conecta ao servidor de telnet, que uma mquina UNIX, ele tem que usar os comandos
deste sistema operacional. O mesmo aconteceria se o sistema operacional fosse o VMS por
exemplo.
possvel tambm uma mquina UNIX fazer uma conexo telnet com outra mquina
UNIX, bastando para isso digitar na linha de comando:
telnet <nome da mquina ou endereo IP>
O telnet um pouco ineficiente do ponto de vista de transporte de informaes. Isto
acontece porque todo caracter digitado mandado para o servidor telnet na forma de um
pacote separado dos demais. Diferente do servio de FTP, onde o usurio digita toda uma
linha, e s aps o enter do usurio que toda a linha enviada. Isto no ocorre no telnet
porque as vezes a aplicao que ser executada pede ao usurio para digitar somente um
nico caracter (as vezes sem enter). Logo esta a nica forma de compatibilizar todas as
aplicaes.

10.2 FTP - Transferncia de Arquivos


O FTP (File Transfer Protocol Protocolo de Transferncia de Arquivos), como o prprio
nome indica um servio que possibilita a transferncia de arquivos entre mquinas.
possvel transferir qualquer tipo de arquivo entre mquinas com diferentes sistemas
operacionais. Basicamente voc tem um servidor de FTP, que contem vrios arquivos
armazenados nele e um cliente FTP, que se conecta ao servidor de FTP para buscar um
arquivo (download) ou colocar um arquivo no servidor (upload).
Existem basicamente duas classes de FTP. O FTP annimo que aquele onde o usurio no
precisa se identificar. Neste caso ele s tem acesso a arquivos pblicos e sem direito a
transferir arquivos para o servidor. S tendo direito de pegar arquivos do servidor para ele.
J no FTP identificado, o usurio entra com o seu login e a sua senha, que foram
previamente cadastradas e tem acesso a sua rea de trabalho, onde pode fazer downloads ou
uploads de arquivos. Dependendo basicamente da sua configurao junto ao servidor de
FTP, que definida pelo administrador da rede.
O FTP um servio utilizado por vrias pessoas. Este servio vem nativo nas mquinas
UNIX tanto a verso servidor como a cliente, e nas mquinas Windows pode ser instalado a
verso servidora, a cliente, no modo caracter j vindo nativa. Outras aplicaes visuais
entretanto transforma a tarefa de se transferir arquivos numa tarefa muito mais fcil para o
usurio final.
No modo a caracter, tanto no UNIX quanto no Windows, o usurio digita basicamente:
ftp <nome da mquina>
Ex: ftp ftp.microsoft.com
Aps este comando e com estabelecimento da conexo, ser requisitado o nome da conta:
name:
Logo aps, a senha:
password:
O usurio informa os dados e a partir da ir usar os comandos do FTP. Caso seja um FTP
annimo (o usurio no tem conta na mquina remota), basta ele digitar anonymous no
campo name e o seu e-mail no campo password.
Os principais comandos do FTP so: put <nome do arquivo> para enviar um arquivo da
mquina local para a mquina remota e get <nome do arquivo> para trazer um arquivo da
mquina remota para a mquina local. Alguns outros comandos do FTP so mostrados na
Tabela 10.1

Comando
dir ou ls
cd <caminho>
lcd <caminho>
Pwd
!<comando>
Ex: !del *.txt
get <arquivo>
Ex: get scan.exe
Mget <arquivos>
mget *.txt
put <arquivo>
Ex: put agenda.dat
mput <arquivos>
mput *.gif
hash
help ou ?
quit ou bye
ascii

bin

Descrio
Mostra a listagem do diretrio corrente
Muda o diretrio remoto
Muda o diretrio local
Informa o diretrio remoto atual
Permite a execuo de comandos na mquina local
Deleta os arquivos *.txt na mquina local
Transfere um arquivo da mquina remota para a mquina local
Transfere mltiplos arquivos da mquina remota para a mquina
local
Transfere um arquivo da mquina local para a mquina remota
Transfere mltiplos arquivos da mquina local para a mquina
remota
Imprime o smbolo #, a cada 1024 bytes transferidos
Obtm a lista dos comandos disponveis
Encerra uma conexo FTP
Para transferncia de arquivos no forma ASCII
Esta transferncia, faz converso de formatos, no caso de
estarmos transferindo arquivos de mquinas com sistemas
operacionais diferentes.
Aconselhvel para transferncia de arquivos textos
Para transferncia no formato binrio
Esta transferncia no altera nenhum bit do arquivo, transferindoo de forma a deixa-lo igual na mquina local e remota.
Aconselhvel para transferncia de programas

Tabela 10.1 Comandos do FTP


Observe que os comandos bin e ascii tem que ser informados ao computador antes
do incio da transferncia de um arquivo. Antes de transferir algum dado, verifique se o
FTP esta no modo apropriado, porque se no voc pode transferir dados e depois no
conseguir ter acesso a eles.
Existem basicamente trs tipo de arquivos: ASCII (American Standard Code for
Information Interchange, ou Cdigo Americano Padro para Intercmbio de Informaes),
EBCDIC (Extended Binary Coded Decimal Interchange Code, ou Cdigo Estendido de
Intercmbio Decimal Codificado em Binrio) e binrio. ASCII e EBCDIC no so nada
mais que protocolos, ou modos padronizados para organizar bits de dados em algo que os
humanos possam entender. ASCII o denominador comum para a computao baseada em
caracteres. Os cdigos ASCII em seu computador representam os caracteres que voc v na
tela. O EBCDIC funciona como o ASCII, mas usado somente entre certos tipos de
computadores de grande porte e normalmente no se tem muito contato com ele. J os
cdigos binrios, normalmente representam programas executveis que s rodam em um
tipo de computador, um programa em Mac no roda no Windows.

Visando facilitar a transferncia de arquivos, alguns programas foram desenvolvidos para


tornar esta tarefa mais fcil e intuitiva. A Figura 10.2 mostra a tela de um sistema que
permite transferir arquivos entre duas mquinas utilizando o protocolo FTP. Observe que
todos os comandos visuais so traduzidos internamente em comandos do FTP e executados
pelo protocolo.

Figura 10.2 Sistema de FTP no Windows


possvel colocar todos os comandos que devem ser executados pelo FTP em um arquivo
do tipo script e mandar executar este arquivo. Todos os comandos sero executados em
sequncia aps o trmino de cada comando. mostrado abaixo um exemplo de script
trazdados.
open ftp.embratel.net.br
user anonymous brandino@inf.ufes.br
verbose
cd /pub/windows/winsock
hash
ascii
mget *.txt
get readme.msg
bin
get twsk20b.exe
bye

Neste exemplo, possvel observar que primeiro ser aberta uma conexo FTP com a
mquina ftp.embratel.net.br, aps o estabelecimento da conexo ser informado o login de
anonymous e o e-mail do usurio. S aps estes comandos ser trocados o diretrio e os
arquivos do tipo *.txt sero transferidos, aps a transferncia de todos os arquivos, ele trar
mais dois outros arquivos, um do tipo msg e o ltimo arquivo um programa exe. A
conexo encerrada atravs do comando bye.
Os sistemas UNIX permitem ainda que este script seja executado em Background,
enquanto o usurio faz uma outra tarefa ou agendado para ser executado em um
determinado horrioUma muito utilizada em sistemas UNIX o FTP por comandos em
lote. Este servio consiste basicamente de um script com comando FTP que sero
executado.
Para executar o comando em background basta digitar:
$ ftp -n <trazdados> trazdados.out&
Este comando ir executar o FTP, que ter como parmetros o arquivo trazdados, e
colocar as sadas de erro ou de sucesso no arquivo trazdados.out
Como dito anteriormente, este comando pode ser executado em um determinado horrio,
para tanto, basta usar o comando at e a hora a ser executado.
$ at 1040
ftp -n <cesar.com> cesar.out&
<CTRL> + D
$
Isto far com que o FTP seja executado as 10:40h, em Background.

10.3 E-mail - Mensagens Eletrnicas


O E-MAIL (Eletronic Mail) um servio de correio eletrnico, onde pode-se trocar
correspondncia de uma forma rpida e barata com outras pessoas, de forma anloga ao
correio tradicional. Utilizando-se desta analogia, uma carta, quando enviada, deve conter o
endereo do destinatrio e do remetente. No correio eletrnico tambm usa-se endereos,
denominados endereos eletrnicos.
Como j foi visto, cada mquina possui seu endereo. Visto que vrios usurios utilizam-se
de uma mesma mquina, faz-se necessrio a identificao de cada usurio. Esta
identificao feita acrescentado a identificao do sistema ao endereo da mquina,
unidos pelo smbolo @ (arroba) ou at. Por exemplo, o usurio brandino que possui
uma conta na mquina de endereo cairo.inf.ufes.br ser identificado da seguinte forma:
brandino@cairo.inf.ufes.br
ou
brandino at cairo.inf.ufes.br
Entretanto, na maioria dos casos quando configura-se o servio de DNS informamos qual
mquina responder pelo servio de e-mail daquele domnio. Neste caso a mquina
cairo.inf.ufes.br responde pelo domnio inf.ufes.br, logo podemos utilizar endereos da
forma:
brandino@inf.ufes.br
ou
brandino at inf.ufes.br
Desta forma, pode-se enviar mensagens para qualquer usurio de qualquer mquina do
mundo. Uma boa prtica utilizar como identificao do usurio, seu nome verdadeiro,
porm nem sempre isso possvel, basta imaginar quantos nomes de Maria, Joo ou Jos
temos, da usa-se apelidos, sobrenomes, ou combinao destes. Veja alguns exemplos de
endereos eletrnicos abaixo:
zegonc
brandino
rcesar

#Nome real Jos Gonalves Pereira Filho


#Nome real Wandreson Luiz Brandino
#Nome real Roberto Cesar Cordeiro

Caso voc cometa algum erro ao escrever o endereo do destinatrio, a sua mensagem no
ser entregue e retornar a voc para que possa envia-la pessoa correta. Entretanto, se a
combinao de nomes digitada existir na Internet, a sua carta ser entregue a uma outra
pessoa, e no retornar voc.
As mensagens de E-MAIL possuem alguns identificadores bsicos que formam o cabealho
da mensagem, a fim de identificar origem, destino, assunto, etc. Veja agora como a
estrutura interna de uma mensagem:

Message 9:
From rogerio@telemidia.puc-rio.br Fri Apr 11 10:40:35 1997
Date: Fri, 11 Apr 1997 10:40:35 -0400
From: rogerio@telemidia.puc-rio.br (Rogerio F. Rodrigues)
To: brandino@inf.ufes.br
Subject: Congresso SBRC/97

#(nmero da mensagem)
#(end. do remetente e data de envio)
#(data de chegada)
#(end. do remetente e seu nome real)
#(end. do destinatrio)
#(Assunto da Mensagem)
#(Corpo da Mensagem)

Ola Wandreson,
Como vao as coisas ai em Vitoria? Aqui na PUC esta aquela batalha de sempre, estou acabando a tese.
Quando terminar a versao draft te mando uma copia. A proposito, voce vai no SBRC/97? Mande mensagem confirmando
pra gente armar alguma coisa.
Abracos
Rogerio

Observe que a mensagem enviada para brandino@inf.ufes.br e no para


brandino@cairo.inf.ufes.br, isto porque pode-se omitir o nome da mquina, e deixar s o
nome do domnio, desde que se configure na mquina responsvel pelo domnio inf.ufes.br,
que qualquer mensagem enviada a inf.ufes.br deve ser direcionada mquina
cairo.inf.ufes.br. Ou seja, uma mensagem enviada para brandino@inf.ufes.br ou para
brandino@cairo.inf.ufes.br vo para o mesmo destinatrio.
Alguns dados que vo com a mensagem no so descritos aqui, servem para identificar por
onde a mensagem passou. Isto ajuda a confirmar se a mensagem veio de onde o usurio
indica que ela veio realmente. uma forma de validao da mensagem, utilizada em
conjunto com a identificao da mensagem permite confirmar se o remetente realmente
quem ele diz que .
Para mandar uma mensagem pela Internet, o usurio deve usar um programa de e-mail.
Existem vrios programas deste tipo. O UNIX traz o programa mail de forma nativa no
sistema operacional, j os Browsers Netscape e Internet Explorer possuem tambm verses
de e-mail, existindo ainda os programas como o Eudora e o Microsoft Outlook, entre
outros. A Figura 10.3 mostra a tela principal do Microsoft Outlook, onde possvel ler,
enviar e armazenar mensagens eletrnicas entre outras informaes.

Figura 10.3 Tela principal do programa Microsoft Outlook


Todos os aplicativos de e-mail utilizam o protocolo SMTP (Simple Mail Transfer Protocol)
para a troca de mensagens entre diferentes servidores. Vrios padres de formato de
mensagens tambm so suportados.
Quando o primeiro programa de e-mail foi criado ele s aceitava caracteres e sem acentos.
Hoje j existem padres para mandar fguras, udio, vdeo, textos formatos e acentuados,
alm de arquivos e pgina HTML (Home Pages).

10.4 News Group


Usenet o conjunto de mquinas que intercambia artigos identificados por um ou mais
rtulos reconhecidos universalmente, chamados de newgroups (ou apenas groups). A
UseNet rene mensagens sobre um nico tpico em um grupo de notcias. Os grupos de
notcias so bancos de dados destas mensagens que esto frequentemente duplicadas em
alguns computadores.
Este servio permite a realizao de fruns de debates e acesso a noticias e assuntos
variados, desde fabricao de computadores culinria alem. O usurio envia comandos
para trazer artigos de seu interesse ou participa de debates mandando a sua opinio ou
fazendo uma pergunta que ser passada aos outros usurios que participam da discusso.
Aps algum tempo o usurio comeara a receber respostas a sua pergunta ou mais
informaes sobre o assunto em pauta.
Este servio suportado pelo UseNet, que o protocolo que determina como os grupos de
mensagens (as informaes) sero transferidas entre os computadores ou mesmo
armazenadas j que algumas instalaes mantm arquivos de discusses anteriores. O
NewsGroup acessado por um leiture de News, como os encontrados no Netscape e o
Internet Explorer.
A diferena bsica entre uma lista de discusso e o NewsGroup que na lista a mensagem
enviada para o usurio, na sua caixa-postal (via e-mail), j no caso do NewsGroup o
usurio tem que se conectar a um servidor de NewsGroup e ler a mensagem. Todos os
Browsers do suporte a News Groups. Alguns servidores ou provedores de acesso limitam
o acesso as mensagens de News somente para os seus usurios, outros como o universo online (UOL) por exemplo permitem com que qualquer pessoa tenha acesso aos fruns de
discusso. O endereo do UOL news://news.uol.com.br.

10.5 WWW (Word Wide Web)


O servio de WWW o servio que mais cresce na Internet, perdendo somente para o
servio de e-mail, que sem dvida o mais utilizado pelos Internautas. Este servio permite
que os usurios naveguem atravs de pginas de pgina HTML (HyperText Markup
Language Linguagem de Marcao de Texto), conhecidas como HomePages tendo acesso
a textos, figuras, sons, vdeos, imagens, etc e atravs de Hiperlinks que so pontos do texto
ou figuras que ao se clicar o usurio levado a uma outra pgina e assim sucessivamente.
O servio de WWW foi o grande responsvel pela popularizao da Internet, pela sua
forma simples e atrativa de apresentar informaes. O WWW suportado pelo protocolo
HTTP (HyperText Transfer Protocol Protocolo de Transferncia de Hiper-Texto).
O servio de WWW acessado atravs dos Browsers de navegao. O Internet Explorer e o
Netscape Navegator so os mais utilizados atualmente. A Figura 10.4 mostra um usurio
navegando em uma mquina atravs do Internet Explorer.
Figura 10.4 Pgina HTML no Browser Internet Explorer

O usurio precisa informar apenas o endereo da pgina, e a pgina comear a ser


carregada em seu Browser. As pginas WWW do acesso a uma infinidade de
informaes, como compras de livros, CDs, diverso (piadas, bate-papo, etc), informaes
de pesquisas, visitas a museus, entre outros.
Alguns exemplos de endereos so:
Servio Oferecido
Venda de Livros
Venda de Livros
Laboratrio Informtica da UFES
ATM Forum
Microsoft
Revista PlayBoy
AT&T
Cerveja Antarctica
Nasa
Declarao Imposto de Renda
Jornal do Brasil
Sebrae - ES
Cerveja Skol
Supermercados Roncetti
Universo On-Line
Piadas
Embratel

Endereo na Internet
http://www.books.com
http://www.bookpool.com
http://www.inf.ufes.br
http://www.atmforum.com
http://www.microsoft.com
http://www.playboy.com
http://www.att.com
http://www.antarctica.com.br
http://www.nasa.gov/
http://www.receita.fazenda.gov.br/
http://www.jb.com.br
http://www.sebes.com.br
http://www.skol.com.br
http://www.roncetti.com.br
http://www.uol.com.br
http://www.humortadela.com
http://www.embratel.net.com

Servio Oferecido
RNP - Rede Nacional Pesquisas
FAPESP
Flamengo
Rede Globo
Disney
Compra de Livros
Compra de Livros
Compra de Livros
Universo On Line
Volkswagen
Brahma
SebraeSat
IBGE
TecToy
Microsoft Brasil
Bradesco
Memoria Ayrton Senna
Servio de Busca: Cad?
Servio de Busca: Altavista
Venda de Livros

Endereo na Internet
http://www.rnp.br
http://www.fapesp.br
http://www.flamengo.com.br
http://www.redeglobo.com.br/
http://www.disney.com/
http://www.bookpool.com
http://www.books.com
http://www.amazon.com
http://www.uol.com.br
http://www.volks.com.br
http://www.brahma.com.br
http://www.sebraesat.com.br
http://www.ibge.gov.br
http://www.tectoy.com.br
http://www.microsoft.com/brasil
http://www.bradesco.com.br
http://www.africanet.com.br/senna
http://www.cade.com.br
http://www.altavista.digital.com
http://www.booknet.com.br

10.6 Ping
O Ping utilizado basicamente para verificar se uma mquina esta viva e quanto tempo
uma mensagem UDP gasta para sair da mquina local, ir mquina remota e retornar. Ao
final de sua execuo feita uma estatstica da comunicao. Atravs desta estatstica podese verificar se existe contato com a mquina remota e qual a performance da comunicao
com a mquina. Veja o exemplo abaixo:
cairo.inf.ufes.br> ping microsoft.com
PING microsoft.com (207.68.137.53): 56 data bytes
64 bytes from 207.68.137.53: icmp_seq=0 ttl=54 time=1046 ms
64 bytes from 207.68.137.53: icmp_seq=1 ttl=54 time=960 ms
64 bytes from 207.68.137.53: icmp_seq=2 ttl=54 time=1023 ms
64 bytes from 207.68.137.53: icmp_seq=3 ttl=54 time=619 ms
64 bytes from 207.68.137.53: icmp_seq=4 ttl=54 time=516 ms
64 bytes from 207.68.137.53: icmp_seq=5 ttl=54 time=630 ms
64 bytes from 207.68.137.53: icmp_seq=6 ttl=54 time=778 ms
64 bytes from 207.68.137.53: icmp_seq=7 ttl=54 time=788 ms

----microsoft.com PING Statistics---9 packets transmitted, 8 packets received, 11% packet loss
round-trip (ms) min/avg/max = 516/795/1046 ms
cairo.inf.ufes.br>
Observe que informado um endereo hierrquico e este endereo transformado
primeiramente em endereo IP, atravs do servio de DNS, logo aps so enviadas
mensagens para o servio de ping remoto, e este as re-envia para a mquina que solicitou o
servio e calcula o tempo em milissegundos gasto para para o pacote ir e voltar.
Analisando estes dados, possvel verificar se a conexo esta muito lenta (tempo em
milissegundos muito grande) e qual a taxa de erros de pacotes (packet loss), incidando que
os pacotes esto sendo perdidos ao longo da rede, geralmente por problemas de
congestionamento ou de perda de pacotes entre os gateways da origem at o destino.
Todas as linhas so mostradas ao longo do tempo. Para acabar o ping, basta pressionar
CTRL+C. Neste momento ser mostrada a estatstica da conexo. Mostrando o: nmero de
pacotes transmitidos, recebidos, porcentagem de pacotes perdidos e tempo de resposta.
Assim, tem-se uma avaliao da conexo com a mquina remota.

10.7 Finger
O Finger um aplicativo Internet que permite obter informaes sobre um usurio
especfico numa mquina especfica. Por exemplo, ao executarmos o comando:
finger cecilio@salgueiro.telemidia.puc-rio.br
Obtemos o seguinte resultado:
cairo.inf.ufes.br> finger cecilio@salgueiro.telemidia.puc-rio.br
[salgueiro.telemidia.puc-rio.br]
Login
Name
TTY
Idle When Where
cecilio Edmundo Lopes Cecili 024
<Apr 15 12:47> 200.20.120.177
cairo.inf.ufes.br>
Alm das informaes bsicas sobre a conta do usurio (Nome real, Departamento
ou setor, diretrio, shell) ainda diz se o usurio est logado ou no.
Quando se usa o comando finger sem nenhum argumento, ele da a lista dos usurios
que esto logados no sistema naquele momento.
finger @npd1.ufes.br

11 Evoluo e Concluso
Como podemos ver, a arquitetura TCP/IP traz grandes facilidades na interligao de redes
heterogneas, provendo vrios servios amplamente utilizados atualmente, como: e-mail,
www, ftp, telnet, entre outros. A Internet realmente um fenmeno tecnolgico, que
proporciona mudanas comportamentais e culturais nas pessoas e empresas que dela se
utilizam.
possvel, por exemplo trabalhar em casa e se corresponder com a empresa somente por email, ter acesso as mais diversas informaes, como jornais, revistas, livros, etc, e ainda
pedir pizza, alugar carro, fazer reserva em vos ou hotis, comprar comida em
supermercados ou CDs tudo sem sair de casa ou do escritrio.
Sem dvida muito j foi feito, com uma arquitetura extremamente simples e por isso
amplamente utilizada. Entretanto, muita coisa ainda precisa ser feita ou melhorada
Hoje podemos ouvir uma rdio na Internet ou conversar com uma pessoa, vendo-a
inclusive, mas a qualidade ainda muito baixa. Projetos como a Internet 2, que comeou
nos Estados Unidos, Europa e que agora j se encontra em fase de testes no Brasil, vo
aumentar significativamente a velocidade e a qualidade das redes atuais impactando
diretamente na qualidade das aplicaes.
Hoje, no Brasil, a maior velocidade de uma canal de comunicao de 2 Mbps. Caso o
usurio queira maior velocidade ter que alugar vrios canais de 2 Mbps. Entretanto muitas
empresas esto ligadas Internet por velocidades ainda menores como de 64, 128 ou 256
Kbps. Na Internet 2 a velocidade mnima de 155 Mbps, utilizando as redes ATM
(Assyncronus Transfer Mode) que provm Qualidade de Servio, garantindo ao usurio
final, que por exemplo, uma msica no ser interrompida no meio do caminho como
acontece hoje em dia na Internet tradicional. diferente do conceito atual de best-force da
Internet atual.
Para isso novos protocolos esto sendo desenvolvidos como o caso do IPv6 (Internet
Protocol verso 6 ou IP New Generation). Este protocolo aumentar o nmero de bits de
endereamento, acabando com um problema srio hoje da escassez de nmeros IPs.
Provendo entre outras coisas suporte a multicasting (o envio de uma nica mensagem para
vrios destinos), extremamente til nas aplicaes multimdia existentes e que ainda esto
por vim.
Fatores como segurana tambm precisam ser melhorados. Quando o TCP/IP foi
desenvolvido no se imagina a necessidade do uso de criptografia para garantir a segurana
dos dados que trafegam em diferentes redes. Hoje em dia, este requisito fundamental, haja
visto a grande quantidade de aplicaes de comrcio eletrnico que existem na rede.
H muito ainda por se desenvolver, mas parece-me que estamos no caminho certo...

12 Bibliografia
Comer, Douglas E., Internetworking with TCP/IP Volume I Principles, Protocols and
Architecture Third Edition, Prentice Hall, 1995
Cordeiro, Roberto Cesar, Apostila TCP/IP Departamento de Informtica Universidade
Federal do Esprito Santo UFES, 1996
Microsoft Press, Internetworking with TCP/IP on Windows NT 4.0, Microsoft Press, 1997
Sites Internet:

www.dicas-l.unicamp.br
www.penta.ufrgs.br/hometcp.htm
www.geocities.com/SiliconValley/Horizon/4761/tcpip.html

Vous aimerez peut-être aussi