TCPv2 PDF

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 19

Apostila de

Internet e Arquitetura TCP/IP


volume I I

Curso de Redes de Computadores


2a edio

Jos Alberto Vasi Werner


CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 2

1. Protocolos da camada de Rede e Protocolos auxiliares de TCP/IP


Este protocolos so agrupados neste captulo, por fornecerem servios auxiliares para TCP/IP, tanto a nvel de
enlace OSI quanto a nvel a de aplicao.

BOOTP e DHCP

Este protocolos fornecem aos protocolos TCP/IP, as informaes iniciais de configurao da mquina tais
como endereo IP, mscara de sub-rede, roteadores default, rotas, servidores de Boot, servidores de nome e
diversas outras informaes. Eles so utilizados principalmente para realizar a administrao centralizada de
mquinas TCP/IP e possibilitar o BOOT de mquinas sem rgido e sem informaes iniciais de configurao. O
BOOTP (Bootstrap Protocol) o protocolo mais antigo e o DHCP (Dynamic Host Control Protocol) est aos
poucos o substituindo. O BOOTP bastante utilizado para o boot inicial de dispositivos de rede, como
roteadores, switches, hubs gerenciveis, alm de estaes Unix diskless (sem disco e cada vez mais raras
hoje). O DHCP um pouco mais complexo e mais verstil e vem sendo utilizado principalmente para simplificar
a administrao de endereos e outros parmetros de configurao de grandes instalaes de mquinas
TCP/IP.

Protocolo BOOTP

A mensagem BOOTP encapsulada em UDP e possui o seguinte formato:

0 7 15 23 31
Octeto 1 Octeto 2 Octeto 3 Octeto 4

OP (1=Req,2=Rep) HW TYPE HLENGTH HOPS


TRANSACTION ID
SECONDS (tempo desde o boot) UNUSED
CLIENT IP ADDRESS (se cliente souber)
YOUR IP ADDRESS
SERVER IP ADDRESS
GATEWAY IP ADDRESS
CLIENT HARDWARE ADDRESS (16 OCTETS)

SERVER HOST NAME (64 OCTETS)

BOOT FILE NAME (128 OCTETS)

VENDOR-SPECIFIC AREA (64 OCTETS)

As mensagens BOOTP Request e BOOTP Reply tem o mesmo formato mas no Request alguns campos no
so preeenchidos. Uma estao que deseja obter informaes de configurao pode enviar uma mensagem
BOOTP Request por broadcast. Um servidor de BOOTP pr configurado na rede com os parmetros de cada
cliente, receber a mensagem e enviar os dados previamente armazenados para o cliente. Este
procedimento mostrado nas duas figuras abaixo:

1 1 6 0 2 1 Cliente6 0
003267A3 003267A3
BOOTP Servidor BOOTP
2 0000 2 0000
00000000 00000000
00000000 139.82.17.10
00000000 139.82.20.15
00000000 139.82.17.55
EF234A671234A012 EF234A671234A012
000000000000000000 servidor.inf.puc-rio.br
UNIX /bootfiles/vmunix
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 3

Na rea Vendor-Specific da mensagem BOOTP podem ser colocadas uma srie de variveis possveis
adicionais para configurao da estao cliente de BOOTP. Estas opes so definidas em RFCs adicionais e
servem tanto para BOOTP quanto para DHCP.

Protocolo DHCP

O DHCP tem como principal vantagem em relao ao BOOTP a sua capacidade de configurao automtica
de estaes, sem necessidade de criao de uma tabela de configurao para cada mquina (com seus
parmetros e endereos MAC respectivos, como o caso de BOOTP). Desta forma, um administrador de rede
pode configurar as diversas estaes IP existentes na rede de modo genrico, sem especificar uma tabela
para cada uma.

O DHCP tem a capacidade de distribuir endereos de forma dinmica para as estaes, usando trs mtodos
de fornecimento distintos:

Emprstimo (leasing) de endereo aleatrio por tempo limitado: Neste tipo de fornecimento de endereo IP,
o servidor fornece ao cliente um endereo IP obtido de um conjunto pr-definido de endereos (p.ex.
192.168.0.10 a 192.168.0.90) por um tempo pr determinado.

Emprstimo de endereo aleatrio por tempo infinito: Neste tipo, o servidor associa um endereo obtido do
conjunto de endereos a um cliente na primeira vez que este cliente contactar o servidor. Nas demais
vezes, ser fornecido o mesmo endereo a este cliente (associado atravs do endereo MAC), mesmo que
as duas mquinas sejam desligadas e ligadas. Este mtodo simplifica a atribuio de endereos para uma
quantidade grande de mquinas.

Emprstimo de endereo fixo: Neste tipo de fornecimento, o DHCP opera como o BOOTP, onde h a
associao explcita entre o endereo IP e o endereo MAC da mquina origem, estipulado em uma tabela
de configurao

A mensagem DHCP compatvel com BOOTP e possui o formato abaixo:

0 7 15 23 31
Octeto 1 Octeto 2 Octeto 3 Octeto 4

OP HTYPE HLEN HOPS


TRANSACTION ID
SECONDS FLAGS
CLIENT IP ADDRESS
YOUR IP ADDRESS
SERVER IP ADDRESS
ROUTER IP ADDRESS
CLIENT HARDWARE ADDRESS (16 bytes)
SERVER HOST NAME (64 bytes)
BOOT FILE NAME (128 bytes
OPTIONS (Variavel)

Ao contrrio da mensagem BOOTP que possui apenas dois tipos de comandos (REQUEST e REPLY), a
mensagem DHCP possui 8 tipos de comandos. Este comandos no so colocados no campo OP, como em
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 4

BOOTP, mas para manter a compatibilidade, so colocados como uma opo especial no campo OPTIONS, a
de cdigo 53, associado a um dos comandos abaixo:

DHCP DISCOVER - Enviado pelo cliente para solicitar uma resposta de algum servidor DHCP
DHCP OFFER - Oferta de endereo IP de um servidor para um cliente. Um cliente pode receber vrias
ofertas de diferentes servidores DHCP
DHCP REQUEST - Requisio de um endereo especfico daqueles oferecidos pelos servidores.
enviado por broadcast apesar de ser endereado a um nico servidor para que os demais tomem
conhecimento da escolha.
DHCP DECLINE - Informa que a oferta contm parmetros incorretos (Erro)
DHCP ACK - Confirmao do servidor sobre a atribuio do endereo para a requisio do cliente.
DHCP NAK - Servidor nega o fornecimento do endereo previamente oferecido, geralmente causado
por um erro ou pelo fato do cliente ter demorado muito a requisitar o endereo solicitado.
DHCP RELEASE - Cliente libera o endereo IP utilizado. raramente utilizado na prtica, pois
geralmente o cliente desligado sem liberar o endereo. Ele retorna ao conjunto de endereos
disponveis no servidor devido ao estouro do tempo de leasing.
DHCP INFORM - Cliente que j possui endereo IP pode requisitar outras informaes de
configurao respectivas quele endereo.

A operao de DHCP define diversos estados de funcionamento, quando o cliente est executando alguma
ao e enviando uma das mensagens acima:

1. INITIALIZE
Configura interface com valor zero pois no tem endereo disponvel - 0.0.0.0
Envia DHCPDISCOVER(UDP 67) como broadcast e muda para estado SELECT. Nesta
mensagem, pode colocar opes de configuraes desejadas
2. SELECT
Pode receber uma ou vrias mensagens DHCPOFFER, cada uma com seus parmetros distintos
Escolhe uma, envia DHCPREQUEST como broadcast e vai para estado REQUEST
3. REQUEST
Aguarda at receber DHCPACK do servidor escolhido. Se no receber, escolhe outra oferta e a
solicita
Vai para o estado BOUND.
4. BOUND
o estado normal de funcionamento.
Passa a utilizar o endereo, durante o tempo especificado pelo servidor
Quando o tempo atingir 50%, envia novo DHCPRequest para o servidor e passa para estado
RENEW
Para cancelar o uso da endereo envia DHCPRelease
5. RENEW
Servidor pode enviar DHCPNAK, DHCPACK ou nenhuma resposta solicitao de Request
Se receber ACK, volta para o estado BOUND
Se no receber resposta nenhuma, o cliente envia DHCPREQUEST em broadcast para que outros
servidores possam enviar ofertas.
Se receber DHCPNAK, libera IP e vai para estado INITIALIZE

Opes DHCP

As opes DHCP tem o formato abaixo:

CODE LENGTH VARIVEL ...

O cdigo indica o tipo da opo. Os comandos DHCP tem sempre o cdigo 53 e tamanho 1, sendo o prximo
byte o cdigo especfico do comando:
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 5

1 = DHCPDISCOVER
2 = DHCPOFFER
3 = DHCPREQUEST
4 = DHCPDECLINE
5 = DHCPPACK
6 = DHCPNACK
7 = DHCPRELEASE
8 = DHCPINFORM

As opes de DHCP e BOOTP informam dados teis para as diversas camadas TCP/IP, desde o nvel de
Reda ao Nvel de Aplicao. Enumera-se algumas abaixo:

Opes Bsicas:
Code Param Descrio
0 Pad - alinhamento
255 Fim das opes
1 MASK Mscara a ser utilizada pela estao
3 IP1, IP2, ... Lista de roteadores default para a estao
6 IP1, IP2, Lista de servidores de DNS
9 IP1, IP2, Lista de servidores de impresso LPR
12 nome Nome da mquina
13 nmero Tamanho do arquivo de boot
15 nome Nome do domnio
16 IP Endereo do servidor de swap
17 nome Path do diretrio / da mquina

Opes de DHCP
Code Param Descrio
50 IP Endereo IP requerido preferencialmente
51 tempo (s) Tempo de emprstimo de endereo
53 mensagem Mensagem DHCP
54 IP Identificao do servidor DHCP remetente
55 COD1, Cliente requisita opes ao servidor
56 texto Mensagem de erro
57 nmero Tamanho mximo da mensagem DHCP
58 tempo T1 - Tempo de espera para estado RENEWING
59 tempo T2 - Tempo de espera para estado REBINDING

Opes de IP
Code Param Descrio
19 1/0 Habilita IP Forwarding na estao
20 1/0 Habilita Source Routing na estao
22 nmero Tamanho mximo do datagrama que cliente deve receber
23 nmero Tamanho do TTL default da mquina
26 nmero MTU da interface
27 1/0 Todas as interfaces tem o mesmo MTU ?
28 IP Endereo de broadacst da rede
29 1/0 Realizar ICMP Mask Discovery ?
31 1/0 Realizar ICMP Router Discovery ?
33 IP1/DEST1, IP2/DEST2, .. Rotas estticas

Protocolo PPP

O protocolo PPP (Point-to-Point Protocol) o principal protocolo para o transporte de IP sobre ligaes ponto a
ponto, criando um nvel de enlace em um meio que no o possua. O PPP empregado como protocolo de
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 6

enlace nos seguintes tipos de meio: ligaes seriais discadas, ligaes seriais dedicadas (enlaces telefnicos,
satlite, rdio), ligaes ISDN e outras.

Pode-se diferenciar o funcionamento de PPP em dois grupos principais: quando empregado em ligaes
discadas ele prov os mecanismos de autenticao, com a correspondente interao com os dispositivos para
verificar a autenticidade do originador da chamada, alm de que as mensagens trocadas diferenciam o
originador da chamada do receptor da chamada. Quando empregado em ligaes dedicadas, geralmente no
so trocadas mensagens de autenticao e o funcionamento do protocolo praticamente simtrico em relao
s mensagens trocadas.

PPP genrico podendo carregar diversos protocolos de nvel de rede OSI, alm de possuir uma srie de
opes que podem ser negociadas pelos dois lados da conexo. PPP prov trs tipos de funcionalidade:

Encapsulamento

Protocolos de Controle do Enlace PPP (protocolo LCP, PAP, CHAP, LQM)

Protocolos de Controle do Protocolo de Nvel 3 sendo carregado (protocolos IPCP, IPXCP, )

O Encapsulamento de PPP na verdade no faz parte do protocolo, permitindo que ele se encaixe em outros
protocolos de nvel de enlace. O PPP pode utilizar diversos tipos de encapsulamento compatveis com HDLC,
ISDN e outros. Na sua forma default, o encapsulamento de PPP similar ao incio de um pacote HDLC,
conforma a figura abaixo:

FLAG Addr Ctrl Protocolo Dados FCS FLAG

7E FF 03 7E

Os campos FLAG, ADDR e CTRL so similares a HDLC. Os campos Protocolo, Dados e FCS so comuns a
todo pacote PPP. Protocolo contm o protocolo sendo carregado no campo de dados, sendo por exemplo os
valores: LCP = C021, IPCP = 8021, IPXCP = 802B, PAP = C023, CHAP = C223, LQR = C025, IP = 0021, IPX
= 002B, Bridging NCP = 8031, Netbios = 803F, ...

O encapsulamento dos diversos protocolos sobre PPP mostrado na figura abaixo:

Pacote LQM Pacote IPCP


Pacote PAP

Pacote IP
Pacote LCP

FLAG Addr Ctrl Protocolo Dados FCS FLAG

Pacote PPP

Protocolo LCP - Link Control Protocol

Este protocolo controla o enlace PPP. O formato de sua mensagem dado abaixo:

COMANDO ID Length Dados Variveis


CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 7

O Comando pode ser um dos seguintes tipos:

Configure-Request: Solicita o aceite para as opes especificadas no campo de dados


Configure-Ack: Concorda com as opes, para serem utilizadas pelo outro lado
Configure-Nack: Rejeita as opes, enumerando-as no campo de dados
Configure-Reject: Rejeita as opes que no possuem um campo de valor
Terminate-Request: Informa o fim da conexo PPP
Terminate-Ack: Concorda com o fim da conexo
Code-Reject: Informa erro no cdigo do comando LCP
Protocol-Reject: Informa erro no protocolo da mensagem PPP
Echo-Request
Echo-Reply
Discard-Request

A troca de dados em uma conexo PPP realizada conforme a figura abaixo. Os comandos de configurao
do link PPP (LCP) so trocados com o objetivo de estabelecer os parmetros de operao da ligao. Aps o
acordo dos comandos de configurao, so passados os comandos de configurao do protocolo de dados
(IPCP) e, apes estes, so finalmente passados os pacotes do protocolo IP.

Configure-Request para parmetros default A T

Configure-Nack para alguns parmetros propostos porA


Configure-Reject para parmetros sem campo de dados
Configure-Request para parmetros A modificados
Configure-Ack para parmetros A

Configure-Request para parmetros default B


A . B

Pacotes NCP de teste


Pacotes IPCP, PAP, CHAP, IP, etc...

Terminate-Request
Terminate-Ack

As opes de configurao LCP mais utilizadas so:

Maximum Receive Unit


Authentication Protocol
Quality Protocol
Magic Number
Protocol Field Compression
Address Control Field Compression

Em ligaes discadas comum os servidores de acesso remoto possurem a opo de deteco automtica
de PPP. Neste caso, como, geralmente os primeiros pacotes PPP trocados so os Configure-Request, basta
que o receptor verifique se os dados correspondem aos cdigos deste comando e, ento, iniciem
automaticamente o PPP.
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 8

Protocolo IPCP - Network Control Protocol

Os comandos possveis no protocolo IPCP so:

Configure-Request: Solicita o aceite para as opes especificadas no campo de dados


Configure-Ack: Concorda com as opes, para serem utilizadas pelo outro lado
Configure-Nack: Rejeita as opes, enumerando-as no campo de dados
Configure-Reject: Rejeita as opes que no possuem um campo de valor
Terminate-Request: Informa o fim da troca de dados IP
Terminate-Ack: Concorda com o fim da troca de dados
Code-Reject: Informa erro no cdigo do comando IPCP

Este comandos so trocados de forma semelhante ao LCP, sendo que ao trmino da fase de acordo do IPCP,
passam os dados do protocolo IP.

As principais opes de configurao de IPCP so:

IP Compression Protocol: Informa se ser utilizado algum protocolo de compresso (e qual) para o
cabealho IP
IP Address: origem informa ao destino o endereo IP a ser utilizado pela origem. No caso de conter 0.0.0.0
(que ocorre tipicamente na estao que realiza uma ligao serial discada), o outro lado (neste caso o
servidor de acesso remoto) fornece o endereo IP a ser utilizado pela origem, atravs do comando
Configure Nack.

As possveis formas de negociao de endereo IP so dadas pela figura abaixo:

1. Cliente e servidor tem endereos especficos (ligao dedicada) T

Configure-Request IP = 200.0.2.3 S
e
Configure-Ack
r
Configure-Request IP = 200.0.2.100 v
i
Configure-Ack d
C
o
l
r
I
e
de
n 2. Cliente solicita endereo IP qualquer (ligao discada)
t
Configure-Request IP = 0.0.0.0 A
e
c
Configure-Nack IP = 200.0.2.99 e
Configure-Request IP = 200.0.2.100 (servidor informa seu prprio end.) s
s
Configure-Ack o

Protocolo SLIP

SLIP fornece apenas o encapsulamento para um enlace serial. Sua mensagem dado na forma abaixo:
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 9

Flag Data Flag


0xDB - ESC 0xC0 - END

O funcionamento de SLIP ocorre da seguinte forma:

Transmite ESC
Transmite datagrama, caracter por caracter, substituindo um ESC nos dados por ESC ESC
Transmite END
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 10

3. Interfaces do Nvel de Transporte (socket, WinSock)


A interface de socket do Unix um conjunto de funes para permitir a utilizao do sistema de comunicao
por processos (programas) neste sistema operacional. A interface Winsock composta de funes
semelhantes a socket, para o ambiente Windows.

A interface socket possui funes distintas para a comunicao com e sem conexo.

A utilizao das funes de socket para a comunicao sem conexo dada abaixo:

Cliente socket() socket() Servidor


Aplicao bind() bind() Aplicao
sendto() recvfrom()
recvfrom() sendto()
Sistema Sistema
Operacional close() close() Operacional

Inter-rede
TCP/IP

A utilizao destas funes dada abaixo:

socket: Inicializa a estrutura de dados do socket (equivalente ao SAP - Ponto de acesso de servio),
determinando qual o protocolo (PF_INET = TCP/IP) e o tipo do servio (DGRAM = UDP e STREAM = TCP)

bind: associa o socket a uma porta USP ou TCP - pode-se dizer que para o programador, a porta do
protocolo TCP ou UDP efetivamente o socket.

sendto: solicita ao sistema de comunicao o envio de dados, especificando o endereo IP destino e a


porta destino, alm dos prprios dados.

recvfrom: informa ao sistema de comunicao que o programa est aguardando dados. O programa ser
congelado enquanto no houverem dados para receber, sendo reativado quando chegarem dados.

close: desassocia a porta do socket e desativa o socket.

Deve-se observar que nem todas as funes geram mensagens de rede. De fato, apenas a funo sendto
gera uma mensagem.

A sintaxe destas funes mostrada abaixo:

sock1 = socket (pf, type, protocol)


pf = PF_INET | PF_APPLETALK | PF_NETW | PF_UNIX
type = SOCK_STREAM | SOCK_DGRAM | SOCK_RAW | SOCK_RDGRAM

close (sock1)

bind (sock1, localaddr, addrlen)


localaddr = struct {ADDR_FMLY, PROTO_PORT, IP_ADDR}

sendto (sock1, message, length, flags, destaddr, addrlen)


CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 11

recvfrom (sock1, buffer. length, flags, fromaddr, addrlen)

nptr = gethostbyname (name)


nptr = struct {name, aliases, address_type, address}

nptr = gethostbyaddr (addr, len, type)

sptr = getservbyname (servname, proto)


sptr = struct {name, protocol, port)

No caso de comunicao utilizando conexo, a utilizao das funes dada na figura abaixo:

Cliente socket() socket() Servidor


Aplicao bind() bind() Aplicao
connect() accept()
write( ) read( )
Sistema read( ) write( ) Sistema
Operacional Operacional
close( ) close( )

Inter-rede
TCP/IP

A sintaxe das funes adicionais dada abaixo:

connect (sock1, destaddr, addrlen)


destaddr = struct {ADDR_FMLY, PROTO_PORT, IP_ADDR}

write (sock1, data, length)

read (sock1, buffer, length)

listen (sock1, qlength)

newsocket = accept (sock1, addr, addrlen)

ready = select (ndesc, indesc, outdesc, excdesc, timeout)


ndesc = numero de descritores a serem examinados
indesc = descritores examinados
excdesc = descritores examinados para exceo
timeout = tempo mximo de espera
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 12

4. Protocolos de Nvel de Aplicao


Os protocolos de aplicao TCP/IP so aqueles que realizam as funes de alto-nvel e que utilizam os
servios da camada de transporte UDP ou TCP para a comunicao.

Os protocolos de aplicao podem realizar funes diretamente acessveis pelo usurio como FTP, HTTP,
SMTP, POP3, IMAP4, Finger, Telnet, Chat, NFS, TFTP, NNTP e outros. Alm disto, podem tambm realizar
funes mais prximas do sistema de comunicao, tais como os protocolos DNS, BOOTP, DHCP, SNMP,
BGP4, e outros.

As aplicaes so ilustradas na figuira abaixo:

APLICAES
NFS
CMOT FTP SNMP CMOT XDR
RLOGIN
ASN.1 SMTP RSH TELNET HTTP DNS ASN.1 TFTP BOOTP RPC

TCP UDP

IP + ICMP + IGMP
ARP RARP
HARDWARE + ENLACE DE DADOS + PROTOCOLOS DE ACESSO

Protocolo DNS

O protocolo DNS (Domain Name System) especifica duas partes principais: regras de sintaxe para a definio
de domnios e o protocolo utilizado para a consulta de nomes.

O DNS basicamente um mapeamento entre endereos IP e nomes. A abordagem inicial para este
mapeamento era a utilizao de nomes planos, ou seja, sem hierarquia. Esta abordagem possui limitaes
intrnsecas quanto a escalabilidade e a manuteno. O sistema de nomes utilizado na Internet tem o objetivo
de ser escalvel, suportando a deinio de nomes nicos para todas as redes e mquinas na Internet e
permitir que a administrao seja descentralizada.

A estrutura de nomes na Internet tem o formato de uma rvore invertida onde a raiz no possui nome. Os
ramos imediatamante inferiores raiz so chamados de TLDs (Top-Level Domain Names) e so por exemplo
.com, .edu., .org, .gov, .net, .mil, .br, .fr, .us, uk, etc Os TLDs que no designam pases so utilizados nos
EUA. Os diversos pases utilizam a sua prpria designao para as classificaes internas. No Brasil, por
exemplo, temos os nomes .com.br., .gov.br, .net.br, .org.br e outros.

Cada ramo completo at a raiz como, por exemplo, puc-rio.br, acme.com.br, nasa.gov, e outros so chamados
de domnios. Um domnio a rea administrativa englobando ele prprio e os subdomnios abaixo dele. Por
exemplo o domnio .br engloba todos os subdomnios do Brasil. O domnio acme.com.br tem a
responsabilidade por todos os domnios abaixo dele.

A delegao de responsabilidade de um domnio a capacidade do DNS de simplificar a administrao. Ao


invs do domnio .br ser responsvel diretamente por todos os seus sub-domnios e os que vierem abaixo
deles, h na verdade uma delegao na atribuio de nomes para os diversos sub-domnios. No exemplo
acima, a empresa Acme possui a responsabilidade de administrao do domnio acme.com.br.
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 13

A hierarquia de domnios pode ser observada na figura abaixo:

root

edu com net org gov mil int uk br ...

MIT UCLA puc-rio com

inf telemdia icad acme


exu.inf.puc-rio.br

adm
exu oxum oxala odeon

rh fin

serv.rh.adm.acme.com.br serv

Os domnios principais genricos, chamados de GTLDs (Generic Top Level Domain Names) que so .net,
.com e .org so administrados pelo Internic (Internet Network Information Center) que tambm responsvel
pela administrao do espao de endereamento IP. Recentemente foram criados novos nomes de domnio
genricos que sero utilizado a partir de 98. So eles: .firm, .store, .web, .arts, .rec, .infor, .nom.

Os domnios so completamente independentes da estrutura de rede utilizada. No existe necessariamente


algum relacionamento entre eles. O DNS possui uma estrutura inversa para poder representar o
endereamento de rede, ou permitir que seja feito o mapemento do endereo IP correspondente a um nome.
Esta estrutura possui como raiz principal a notao .arpa e possui como nico ramo o .in-addr. Abaixo deste
so colocados em ordem os bytes do endereo IP.

Implementao do DNS

O DNS implementado por meio de uma aplicao cliente-servidor. O cliente o resolver (conjunto de rotinas
em uma implementao de TCP/IP que permite a aconsulta a um servidor) e um servidor geralmente o
programa bind ou uma implementao especfica de um servidor de DNS (Windows NT).

Um servidor de DNS pode ser responsvel pela resoluo de uma ou mais nomes de domnios (ex.
acme.com.br, presid.acme.com.br). Seu escopo de atuao define a Zona de atuao de um servidor DNS.
Por exemplo, para resolver o domnio acme.com.br e seus sub-domnios existem trs zonas: a primeira resolve
o prprio domnio principal e os subdomnios mktg.acme e vendas.acme; a segunda resolve os domnios
engen.acme e prod.engen.acme; e a terceira resolve o domnio lab.engen.acme. Cada zona possui um
servidor de nomes principal ou primrio, que mantm em tabelas o mapeamento dos nomes em endereos IP
daquele domnio. Uma zona pode ter servidores secundrios que possam substituir os primrios em caso de
falha. Os secundrios, entretanto no possuem fisicamente as tabelas de mapeamento mas carregam
regularmente as informaes do primrio.

Veja figura abaixo:


CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 14

br

com

acme Zona

Zona engen mktg vendas

lab prod B C A B C A B

C D E F G
Zona

Por outro lado, a representao do domnio reverso .in-addr.arpa para uma das mquinas de
prod.engen.acme.com.br visto abaixo:

arpa serv1.prod.engen.acme.com.br = br
200.18.100.2
in-addr acme

1 2 3 ... 200 ... 254


engen
1 2 ... 18 ... 254

prod B C
1 2 ... 100 ... 254

serv1 G
1 2 3 ... 253 254

serv1.prod.engen.acme.com.br

A resoluo de um nome realizada de forma recursiva, consultando diversos servidores de nome at chegar
quele responsvel pelo domnio consultado. Por exemplo a resoluo do endereo www.lab.acme.com.br,
ser realizado pelo servidor da zona responsvel por lab.acme.com.br. A figura abaixo ilustra o processo de
consulta:
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 15

NS2

com
br org
NS3 acme
...

4 3 2
com puc
5
6 NS1

NS4
acme telemidia
7 8
1
www resolver odeon
www =
9 200.18.1.1
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 16

Protocolos de Roteamento

Protocolo RIP

Conforme citado em captulos anteriores, o IP possui vrios mecanismos para obter informaes para sua
tabela de rotas (especficas de cada mquina). A tabela de rotas de IP pode ser preeenchida por meio de:

Rotas default por meio de configurao esttica (manual)

Rotas especficas por meio de configurao esttica (manual)

Rotas default por meio do protocolo ICMP Router Advertisement

Rotas especficas para estao por meio de ICMP Redirect

Rotas aprendidas dinmicamente por meio de protocolos de roteamento (ex. RIP, OSPF, BGP-4)

A ltima forma de aprendizado se aplica normalmente aos prprios roteadores, quando situados em redes
complexas, j que suas tabelas de rota devem conter os detalhes de roteamento da rede (Uma estao por
outro lado, pode ter rotas para um nico roteador default e aprender rotas melhores por meio de ICMP
Redirect).

O protocolo RIP do tipo Vetor de Distncia, j que baseia a escolha de rotas por meio da distncia em
nmero de roteadores. O funcionamento do protocolo RIP bem simples, consistindo na divulgao de rotas
de cada roteador para seus vizinhos (situados na mesma rede).

Cada roteador divulga sua tabela de rotas atravs de um broadcast na rede. Os demais roteadores situados na
mesma rede recebem a divulgao e verificam se possuem todas as rotas divulgadas, com pelo menos o
mesmo custo (custo a quantidade de roteadores at o destino).

Se no possurem rota para determinada rede divulgada, incluem mais uma entrada na sua tabela de rotas e
colocam o roteador que a divulgou como o gateway para aquela rede. Em seguida, sua prpria divulgao de
rotas j conter a rota nova aprendida. Este processo se repete para todos os roteadores em um conjunto de
redes, de modo que, aps vrias interaes, todos j possuem rotas para todas as redes. Uma rota aprendida
mantida enquanto o roteador que a originou continuar divulgando. Caso o roteador pare de divulgar a rota ou
nenhuma mensagem de divulgao seja recebida dele, o roteador que havia aprendido a rota a mantm por
160 segundos, findos os quais a rota retirada da tabela de rotas. Neste caso, se outro roteador divulgar uma
rota para aquela rede especfica, esta ser utilizada.

No caso em que um roteador, recebe rotas para uma mesma rede divulgadas por roteadores diferentes, a com
menor custo usada, sendo as demais descartadas.

O protocolo RIP no possui suporte para sub-rede (mscara de rede), o que s vem a ser suportado no
protocolo RIPv2.

O custo de uma rota a quantidade de roteadores que uma mensagem ter que atravessar desde o roteador
que possui a rota at a rede destino. O custo mximo em RIP tem o valor de 16, que significa infinito. Por isto, o
dimetro mximo de uma rede com protocolo RIP de 14 roteadores.

A mensagem RIP tem o seguinte formato:


CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 17

0 7 15 23 31
Octeto 1 Octeto 1 Octeto 1 Octeto 1

COMMAND VERSION MUST BE ZERO


FAMILY OF NET 1 MUST BE ZERO
IP ADDRESS OF NET 1
MUST BE ZERO
MUST BE ZERO
DISTANCE TO NET 1
FAMILY OF NET 2 MUST BE ZERO
IP ADDRESS OF NET 2
MUST BE ZERO
MUST BE ZERO
DISTANCE TO NET 2
...

Nesta mensagem, as rotas divulgadas por cada roteador so includas na parte IP ADDRESS OF NET X .

As figuras abaixo mostram a divulgao de rotas por meio do protocolo RIP. Os roteadores divulgam e
recebem informaes de rotas via RIP, enquanto as estaes apenas aprendem as rotas (RIP passivo).

1. Roteador G1 divulga sua tabela de rotas, que inicialmente contm apenas as rotas diretas, para as redes
ligadas diretamente.

A B C
G1 G2

Rede 1 Rede 2 Rede 3

G1 Rede 2 0 G1 Rede 1 0

Tabela de Rotas
Rede GW M Rede GW M Rede GW M Rede GW M Rede GW M
Rede 1 - 0 Rede 1 - 0 Rede 2 - 0 Rede 3 - 0
Rede 2 - 0
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 18

2. O roteador G2, possui rotas para as redes ligadas diretamente, mas recebe um pacote de divulgao de
rotas de R1, com uma rede nova (Rede 1). O roteador G2 instala a rota nova na sua tabela de rotas.

A B C
G1 G2

Rede 1 Rede 2 Rede 3

G1 Rede 1 0

Tabela de Rotas
Rede GW M Rede GW M Rede GW M Rede GW M Rede GW M
Rede 1 - 0 Rede 1 - 0 Rede 2 - 0 Rede 2 - 0 Rede 3 - 0
Rede 2 G1 1 Rede 2 - 0 Rede 1 G1 1 Rede 3 - 0
Rede 1 G1 1

3. O Roteador G2 divulga suas rotas para as redes ligadas diretamente, incluindo a rota nova aprendida de G1.
G1, recebendo esta divulgao, instala uma rota nova para a Rede 3.

A B C
G1 G2

Rede 1 Rede 2 Rede 3

G2 Rede 3 0 G2 Rede 1 1
G2 Rede 2 0

Tabela de Rotas
Rede GW M Rede GW M Rede GW M Rede GW M Rede GW M
Rede 1 - 0 Rede 1 - 0 Rede 2 - 0 Rede 2 - 0 Rede 3 - 0
Rede 2 G1 1 Rede 2 - 0 Rede 1 G1 1 Rede 3 - 0
Rede 1 G1 1

O protocolo RIP possui problemas intrnsecos de loop e convergncia. O problema de convergncia ocorre no
seguinte caso:

Rede A X R1 R2 R3 Rede B

O roteador R2 havia aprendido uma rota para a Rede A, atravs de R1. Tanto R1 quanto R2 divulgam de 30
em 30 segundos a sua tabela de rotas por meio de RIP. No funcionamento normal, se R1 perder a rota para a
CURSO REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP - PUC RIO/CCE 19

Rede A, o roteador R1 divulgar uma mensagem RIP contendo uma rota para a Rede A com custo infinito
(=16). O roteador R2, ao receber esta rota, verificar que ela veio de R1, de onde havia aprendido a rota para a
rede A. Ele ento proceder como determina o protocolo RIP e colocar a rota tambm com custo = 16.

Entretanto se, quando R1 perder a rota para a Rede A, R2 enviar sua tabela de rotas por RIP antes que R1 o
tenha feito, R1 verificar que R2 possui uma rota melhor que ele para a rede A, com custo = 2 (j que R2
enviaria por meio de R1). R1 ento instala uma rota para a rede A com custo = 3, sendo R2 o gateway da rota.
Na prxima divulgao de R1, R2 constatar uma rota para a rede A com custo = 3. Ele ento atualizar sua
prpria rota (j que a havia aprendido de R1), com custo = 4. A prxima divulgao de R2, causar a
respectiva alterao do custo da rota em R1 para 5. Isto ocorre at que o custo desta rota atinja o valor 16.

O problema de convergncia pode ser reduzido adotando-se as seguintes tcnicas:

split -horizon update: no divulga rotas de volta para a interface de onde recebeu a informao de rota

hold-down: no aceita por 60s informaes sobre uma rede aps ela ser dada como no -alcanvel

poison-reverse: divulga rotas de volta para a interface de onde recebeu a rota, mas com mtrica 16 (no -
alcanvel e mantm este estado durante um tempo mnimo, mesmo recebendo rota para a rede

riggered-updates: fora um roteador a divulgar imediatamente as rotas quando recebe rede no-alcanvel

Protocolo RIP2

O protocolo RIP2 bastante semelhante ao RIP, com as seguintes adies:

As rotas contm a mscara da rede destino, permitindo divulgar rotas para subredes

O protocolo pode ser autenticado, adicionando segurana

RIP2 pode carregar informaes de outros roteadores adjacentes, que funcionam com outros protocolos
(como OSPF e BGP-4)

A mensagem RIP mostrada abaixo:

0 7 15 23 31
Octeto 1 Octeto 1 Octeto 1 Octeto 1

COMMAND (1) VERSION (2) MUST BE ZERO


FAMILY OF NET 1 ROUTE TAG
IP ADDRESS OF NET 1
SUBNET MASK
NEXT HOP GATEWAY
DISTANCE TO NET 1
...

Você também pode gostar