Você está na página 1de 19

www.ResumosConcursos.hpg.com.

br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

Apostila de Informtica

Assunto:

Internet e Arquitetura TCP/IP Parte 2

Contedo:

Redes de Computadores

Autor:

Jos Alberto Vasi Werner

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

Apostila de Internet e Arquitetura TCP/IP


Curso de Redes de Computadores
2a edio Jos Alberto Vasi Werner

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

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

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.

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

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 Octeto 1 OP 7 Octeto 2 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) 15 Octeto 3 HLEN FLAGS 23 Octeto 4 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:

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.

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

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:
1 = DHCPDISCOVER 2 = DHCPOFFER 3 = DHCPREQUEST 4 = DHCPDECLINE 5 = DHCPPACK 6 = DHCPNACK 7 = DHCPRELEASE

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2
8 = DHCPINFORM

por

Jos Alberto Vasi Werner

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 0 255 1 MASK 3 IP1, IP2, ... 6 IP1, IP2, 9 IP1, IP2, 12 nome 13 nmero 15 nome 16 IP
17 nome

Descrio Pad - alinhamento Fim das opes Mscara a ser utilizada pela estao Lista de roteadores default para a estao Lista de servidores de DNS Lista de servidores de impresso LPR Nome da mquina Tamanho do arquivo de boot Nome do domnio Endereo do servidor de swap
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 19 1/0 20 1/0 22 nmero 23 nmero 26 nmero 27 1/0 28 IP 29 1/0 31 1/0
33

Descrio Habilita IP Forwarding na estao Habilita Source Routing na estao Tamanho mximo do datagrama que cliente deve receber Tamanho do TTL default da mquina MTU da interface Todas as interfaces tem o mesmo MTU ? Endereo de broadacst da rede Realizar ICMP Mask Discovery ? Realizar ICMP Router Discovery ?
Rotas estticas

IP1/DEST1, IP2/DEST2, ..

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

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

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 LCP

Pacote IP

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

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

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, aps estes, so finalmente passados os pacotes do protocolo IP.
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 . B T

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.

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

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

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)
Configure-Request IP = 200.0.2.3 Configure-Ack Configure-Request IP = 200.0.2.100 C l I e n t e Configure-Ack S e r v i d o r de A c e s s o T

2. Cliente solicita endereo IP qualquer (ligao discada)


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

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

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

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

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
Aplicao

Sistema Operacional

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

socket() Servidor bind() Aplicao recvfrom() sendto() Sistema 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) recvfrom (sock1, buffer. length, flags, fromaddr, addrlen) nptr = gethostbyname (name) nptr = struct {name, aliases, address_type, address} nptr = gethostbyaddr (addr, len, type)

10

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

sptr = getservbyname (servname, proto) sptr = struct {name, protocol, port) No caso de comunicao utilizando conexo, a utilizao das funes dada na figura abaixo:
Cliente
Aplicao

Sistema Operacional

socket() bind() connect() write( ) read( ) close( )

socket() Servidor bind() Aplicao accept() read( ) Sistema write( ) Operacional 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

11

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

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

APLICAES
NFS CMOT
RLOGIN ASN.1 SMTP RSH

FTP
TELNET HTTP DNS

SNMP CMOT
ASN.1 TFTP BOOTP

XDR RPC

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 definio 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 imediatamente 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. A hierarquia de domnios pode ser observada na figura abaixo:

12

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2
root edu com net org gov mil int uk br

por

Jos Alberto Vasi Werner

...

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

13

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2
br com acme Zona

por

Jos Alberto Vasi Werner

Zona lab C D E

engen prod F G Zona B C A

mktg B C

vendas A B

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

arpa in-addr 1 1 1 1 2 2 2 2 3

serv1.prod.engen.acme.com.br = 200.18.100.2

br acme

...
18

200

...

254 254 254 254 engen prod serv1 G B C

... ...
3

...
100

...
253

...

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:

14

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2
NS2

por

Jos Alberto Vasi Werner

NS3

br

com org acme ...

com
6
NS4

puc
5

NS1

acme
7

telemidia
1 8
www = 200.18.1.1 resolver odeon

www
9

15

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

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

16

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2
0 7 15 23 31

por

Jos Alberto Vasi Werner

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 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 - 0 Rede 2 - 0 Rede GW M Rede 2 - 0 Rede GW M Rede GW M Rede 3 - 0

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.

17

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 A B C G1 G2
Rede 1 Rede 2
G1 Rede 1 0

por

Jos Alberto Vasi Werner

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 Rede 2
G2 Rede 3 0

B G2
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 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

18

www.ResumosConcursos.hpg.com.br
Apostila: Internet e Arquitetura TCP/IP - parte 2 por Jos Alberto Vasi Werner

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 noalcanvel

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

======================= F I M =========================

19

Você também pode gostar