Você está na página 1de 18

Apostila de

Internet e Arquitetura TCP/IP

volume I I

CURSO

REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

- PUC RIO/CCE

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 Octeto 1 OP (1=Req,2=Rep) 7 Octeto 2 15 Octeto 3 HLENGTH HW TYPE TRANSACTION ID UNUSED 23 Octeto 4 HOPS 31

SECONDS (tempo desde o boot) YOUR IP ADDRESS SERVER IP ADDRESS GATEWAY IP ADDRESS

CLIENT IP ADDRESS (se cliente souber)

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 003267A3 2 0000 00000000 00000000 00000000 00000000 EF234A671234A012 000000000000000000 UNIX 2 6 0 BOOTP 2 0000 00000000 139.82.17.10 139.82.20.15 139.82.17.55 EF234A671234A012 servidor.inf.puc-rio.br /bootfiles/vmunix
Cliente 003267A3

Servidor BOOTP

CURSO

REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

- PUC RIO/CCE

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 mtodosimplifica 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 Octeto 1 OP 7 15 23 Octetto 22 Octeto 3 Octeto 4 HTYPE SECONDS 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) HLEN FLAGS HOPS 31

TRANSACTION ID

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 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:

CURSO

REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

- PUC RIO/CCE

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 ao e enviando uma das mensagens acima:

executando alguma

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 1. 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 1. REQUEST Aguarda at receber DHCPACK do servidor escolhido. Se no receber, escolhe outra oferta e a solicita Vai para o estado BOUND. 1. 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 1. 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:
1 = DHCPDISCOVER 2 = DHCPOFFER 3 = DHCPREQUEST 4 = DHCPDECLINE

CURSO

REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

- PUC RIO/CCE

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 Rede 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 50 IP 51 tempo (s) 53 mensagem 54 IP 55 COD1, < 56 texto 57 nmero 58 tempo 59 tempo

Descrio Endereo IP requerido preferencialmente Tempo de emprstimo de endereo Mensagem DHCP Identificao do servidor DHCP remetente Cliente requisita opes ao servidor Mensagem de erro Tamanho mximo da mensagem DHCP T1 - Tempo de espera para estado RENEWING 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 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

receber

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 enlace nos seguintes tipos de meio: ligaes seriais discadas, ligaes seriais dedicadas (enlaces telefnicos, satlite, rdio), ligaes ISDN e outras.

CURSO

REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

- PUC RIO/CCE

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 PAP Pacote IPCP

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

O Comando pode ser um dos seguintes tipos: Configure-Request: Solicita o aceite para as opes especificadas no campo de dados

CURSO

REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

- PUC RIO/CCE

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.
T Configure-Request para parmetros default A

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

$.

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 dePPP. 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.

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

CURSO

REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

- PUC RIO/CCE

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:
T

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


Configure-Request IP = 200.0.2.3
Configure-Ack

S
e

Configure-Request IP = 200.0.2.100
Configure-Ack C l e

r v i
d o r

I
t

n
e

2. Cliente solicita endereo IP qualquer (ligao discada)


Configure-Request IP = 0.0.0.0

de A

Configure-Nack IP = 200.0.2.99
Configure-Request IP = 200.0.2.100
(servidor informa seu prprio end.)

c e
s

Configure-Ack

s o

Protocolo SLIP
SLIP fornece apenas o encapsulamento para um enlace serial. Sua mensagem dado na forma abaixo:

Flag
0xDB - ESC

Data

Flag
0xC0 - END

O funcionamento de SLIP ocorre da seguinte forma:

CURSO

REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

- PUC RIO/CCE

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 Cliente
Aplicao

sem conexo dada abaixo:

Sistema
Operacional

socket() bind() sendto() recvfrom()


close()

socket() Servidor bind() recvfrom() sendto()


close()

Aplicao

Sistema
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, 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:
a porta do

sock1 = socket (pf, type, protocol) pf = PF_INET | PF_APPLETALK type = SOCK_STREAM | SOCK_RDGRAM close (sock1)

PF_NETW | PF_UNIX SOCK_DGRAM | SOCK_RAW |

localaddr sendto (sock1,

= struct

{ADDR_FMLY, PROTO_PORT, flags, destaddr,

IP_ADDR}

message, length,

addrlen)
11

CURSO

REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

- PUC RIO/CCE

recvfrom nptr nptr sptr

(sock1,

buffer.

length,

flags,

fromaddr,

addrlen) address}

= gethostbyname (name) nptr = struct {name, aliases, = gethostbyaddr (addr, len,

address_type, type)

= getservbyname (servname, proto) sptr = struct {name, protocol, port)

No caso de comunicao utilizando conexo, a utilizao das funes dada na figura abaixo:
Clienttee socket() socket() Servidor bind() bind() Aplicao Aplicao connect() accept() write( ) read( ) Sistema Sistema read( )read( )write( )write( ) 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, write (sock1, data, buffer, length) length)

IP_ADDR}

read (sock1, listen (sock1,

qlength) (sock1, addr, addrlen) timeout)

newsocket

= accept

ready = select (ndesc, indesc, outdesc, excdesc, 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 comoos protocolos DNS, BOOTP, DHCP, SNMP, BGP4, e outros. As aplicaes so ilustradas na figuira abaixo:

APLICAES
NFS
FTP

CMOT
RLOGIN

SNMP
SMTPSMTP

CMOT
DNS ASN.SN.1

XDR TFTP BOOTPBOOTP RPCRPC

ASN.1

RSH

TELNETTELNET

HTTPHTTP

TCP IP + ICMP + IGMP ARP

UDP

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 exu.inf.puc-rio.br

telemdia

icad

acme

adm exu
oxum oxala odeon

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

fin

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 novos nomes de do domnio espao de endereamento IP. Recentemente foram criados

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 existenecessariamente 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 lab C D E prod F

engen B C A

mktg B C

vendas A B

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
1

2
2

... 18

...
100

254
prod 254 serv1 G B C

...
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 endereowww.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

br
NS3

com
org acme

...

com
6
NS4

puc
5

NS1

acme
7

telemidia
8
resolver

1
odeon www =

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 rede recebem a divulgao e verificam se possuem na mesma 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

15

23

31

Octeto 1 COMMAND

Octeto 1 VERSION

Octeto 1

Octeto 1

MUST BE ZERO MUST BE ZERO

FAMILY OF NET 1 MUST BE ZERO MUST BE ZERO

IP ADDRESS OF NET 1

DISTANCE TO NET 1 FAMILY OF NET 2 MUST BE ZERO MUST BE ZERO DISTANCE TO NET 2 ... MUST BE ZERO IP ADDRESS OF 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 G1
Rede 1
G1 Rede 2 0

B G2
Rede 2
G1 Rede 1 0

Rede 3

Tabela de Rotas
Rede GW M Rede 1 0 Rede GW M Rede 1 Rede 2 0 0 Rede GW M Rede 2 0 Rede GW M Rede GW M Rede 3 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 G1
Rede 1

B G2
Rede 2
G1 Rede 1 0

Rede 3

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

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 G1
Rede 1

B G2
Rede 2
G2 Rede 3 0

Rede 3
G2 Rede 1 1 G2 Rede 2 0

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

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

Rede A

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 Rede

CURSO

REDES DE COMPUTADORES - INTERNET E ARQUITETURA TCP/IP

- PUC RIO/CCE

19

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, quandoR1 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 (como OSPF e BGP-4) A mensagem RIP mostrada abaixo: 0 7 15 23 31
com outros protocolos

Octeto 1Octeto 1 Octeto 1 COMMAND (1) VERSION (2)

Octeto 1Octeto 1 Octeto 1Octeto 1

Octeto

MUST BE ZERO

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