Você está na página 1de 117

SISTEMA DADOS

TCP/IP BSICO

NEC DO BRASIL
Centro de Treinamento

COPYRIGHT BY NEC DO BRASIL


Reservados todos os direitos. Todas as informaes e detalhes tcnicos deste documento so de inteira e total propriedade da NEC do Brasil S.A., no podendo ser copiados, reduzidos ou cedidos a terceiros sem autorizao escrita desta empresa.

As informaes tcnicas contidas nos manuais de treinamento so utilizadas como referncia, no encontrando obrigatoriamente uma correspondncia exata no equipamento fornecido. Deste modo, a existncia de especificao ou descrio de uma determinada funo em um manual de treinamento no obriga, em nenhum momento, a existncia da funo no equipamento fornecido.

RAD ED001

NDICE 1. 1.1. 1.2. 2. 2.1. 3. 3.1. 3.2. 3.2.1. 3.2.2. 3.3. 3.4. 3.4.1. 3.5. 3.5.1. 4. 4.1. 4.1.1. 4.2. 4.3. 5. 5.1. 5.2. 5.2.1. 5.2.2. 5.2.3. 5.2.4. 5.2.5. Introduo ao TCP/IP.................................................................................................1 Histrico .....................................................................................................................2 Documentao ...........................................................................................................3 ARQUITETURA OSI VERSUS TCP/IP ......................................................................4 Encapsulamento de Dados ........................................................................................4 PROTOCOLO INTERNET - IP...................................................................................6 Endereo IP ...............................................................................................................6 Classes de Endereos ...............................................................................................8 Endereo Loopback ..........................................................................................10 Endereos IP reservados..................................................................................11 Roteadores...............................................................................................................11 Sub-rede ..................................................................................................................13 Mscara de uma Sub-Rede ..............................................................................14 Formato do datagrama IP ........................................................................................19 Algumas OPTIONS interessantes.....................................................................22 Mapeamento de endereo de rede em endereo do nvel fsico .............................23 Protocolo ARP..........................................................................................................23 Formato do Pacote ARP ...................................................................................26 Protocolo RARP .......................................................................................................27 Fragmentao de endereo IP em endereo fsico .................................................27 ICMP Internet Control message Protocol..............................................................30 Entrega de Mensagens ICMP ..................................................................................31 Tipos de Mensagem ICMP.......................................................................................31 Echo Request & Echo Reply.............................................................................32 Reports unreacheble destination ......................................................................34 Controle de Fluxo e de Congestionamento ......................................................35 Route Change Request (Redirect)....................................................................35 Detecta rota circular ou excessivamente longa ................................................36

5.2.6. 5.2.7. 6. 6.1. 6.1.1. 6.1.2. 6.2. 6.2.1. 6.2.2. 6.3. 6.3.1. 6.3.2. 7. 7.1. 7.2. 7.3. 7.4. 7.5. 7.5.1. 8. 8.1. 8.1.1. 8.1.2. 8.2. 8.3. 8.3.1. 8.3.2. 8.4. 9. 9.1. 9.2.

Reporta outros problemas ................................................................................38 Sincronizao de relgio e estimativa de tempo de transito.............................38 Camada de Transporte ............................................................................................39 Aplicaes Cliente-Servidor.....................................................................................40 O conceito de Porta ..........................................................................................41 Utilizando a Arquitetura Cliente-Servidor .........................................................42 O Protocolo TCP (Transmission Control Protocol) ..................................................44 Formato do pacote TCP....................................................................................45 Portas bem conhecidas do TCP .......................................................................47 O Protocolo UDP (User Datagram Protocol)............................................................48 Formato do Pacote UDP (User Datagram Protocol) .........................................48 Portas bem conhecidas do UDP .......................................................................49 Protocolos de Roteamento.......................................................................................50 Roteamento Direto ...................................................................................................50 Roteamento Indireto.................................................................................................51 Tabela de Roteamento.............................................................................................52 Rota Default .............................................................................................................55 Alguns exemplos prticos ........................................................................................56 Exemplo 1 .........................................................................................................56 IGP Interior Gateway Protocol ..............................................................................60 RIP - Routing Information Protocol (RFC 1058).......................................................62 Problemas do Protocolo RIP.............................................................................63 Convergncia Lenta do RIP..............................................................................64 O Protocolo Hello.....................................................................................................66 OSPF - Open Shortest Path First (RFC 1131).........................................................66 Formato das Mensagens ..................................................................................68 Exemplo de Funcionamento OSPF...................................................................74 IGRP (Interior Gateway Routing Protocol) ...............................................................77 EGP - Exterior Gateway Protocol (RFC 904) ...........................................................78 Cabealho Padro do EGP......................................................................................79 Mensagem de Aquisio de Vizinho ........................................................................81

9.3. 9.4. 9.5. 10. 10.1. 10.2. 10.3. 10.4.

Teste Contnuo de Funcionamento de Vizinho ........................................................82 Mensagem POLL REQUEST ...................................................................................82 Mensagem de Atualizao de Rotas........................................................................83 DNS - Domain Name System...................................................................................86 Nomes Hierrquicos .............................................................................................88 Ferramenta Nslookup ...........................................................................................90 Configurao do DNS...........................................................................................91 Resoluo de Nomes ...........................................................................................93 Formato da Mensagem .....................................................................................93

10.4.1. 11. 11.1. 11.2. 11.3. 11.4. 11.5. 11.6. 11.7. 12.

Aplicaes................................................................................................................95 Telnet Terminal Remoto ....................................................................................96 FTP - Transferncia de Arquivos .........................................................................98 E-mail - Mensagens Eletrnicas.........................................................................103 News Group........................................................................................................106 WWW (Word Wide Web)...................................................................................107 Ping ....................................................................................................................109 Finger .................................................................................................................110 Evoluo e Concluso ...........................................................................................111

1.

INTRODUO AO TCP/IP

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

1.1.

HISTRICO

A plataforma TCP/IP surgiu atravs dos trabalhos do DARPA (Defense Advanced Research Projects Agency) dos Estados Unidos, em meados da dcada de 70, constituindo a ARPANET, que mais tarde se desmembrou em ARPANET, para pesquisa, e MILNET, voltada para as instituies militares. Vale ressaltar que desde o princpio a arquitetura TCP/IP foi concebida em um contexto de guerra (Guerra Fria), onde uma das grandes preocupaes era interligar os diversos computadores (independente da tecnologia de rede utilizada), de forma simples e no centralizada, ou seja, se determinados computadores fossem eventualmente destrudos a rede continuasse funcionando independente daqueles computadores, o que inclui um conceito muito forte de descentralizao, caracterstica essa que no era comum na poca. Para encorajar os pesquisadores universitrios a adotar o TCP/IP, o DARPA fez uma implementao de baixo custo, integrando-o ao sistema operacional UNIX da Universidade de Berkeley (BSD) j em uso em todas as universidades americanas. Alm disso, teve-se o cuidado de definir aplicaes de rede similares s j conhecidas em Unix, como rusers e rcp. Mais tarde a NSF (National Science Foundation) estimulou o seu crescimento criando a NSFNET, que ligava centros de supercomputao espalhados por todo Estados Unidos, numa rede de longa distncia, tambm utilizando o protocolo TCP/IP para interligar as diferentes tecnologias de redes. Devido a sua grande facilidade de implementao, baixo custo e as vantagens que esta rede oferecia, ela cresceu rapidamente e se espalhou por diversos pases, constuindo o que hoje conhecemos como Internet. Quando algum nos fala do protocolo TCP/IP logo nos vem a cabea a palavra Internet, porque a Internet s o que graas a este protocolo, vale observar que voc pode utilizar o TCP/IP independente de estar ligado a Internet. A palavra que usamos atualmente para definir uma rede que utiliza o TCP/IP mas no esta ligada Internet Intranet. Neste contexto, possvel ter todas as facilidades das aplicaes Internet, ou seja, do protocolo TCP/IP, dentro de um ambiente fechado.

Como o TCP/IP um sistema aberto, no existe uma pessoa ou instituio responsvel por ele. Existem sim, organismos como o IAB (Internet Activites Board) que coordena os esforos de pesquisa na rea, atravs de vrios grupos de trabalho, tal como o IETF (Internet Engineering Task Force). Todas estas especificaes so descritas nas RFC (Request for Comments), que detalham o conjunto de padres para comunicao entre os computadores, assim como as convenes de interconexo, roteamento, trfego e etc.

1.2.

DOCUMENTAO

Qualquer pessoa pode sugerir um novo padro ou alterao de um documento j existente, para isso ela escreve a especificao deste padro e o envia na forma de um draft (Rascunho) de uma RFC, para o NIC (Network Information Center), onde julgada a viabilidade de aceitao ou no do padro, caso o padro seja aceito, ele recebe um nmero sequncia e publicado na Internet para que as pessoas tenham conhecimento dele. Um exemplo de RFC seria portanto a RFC1092, RFC734 e assim por diante. Caso o draft no seja aceito, ele simplesmente descartado. Existem vrios lugares na Internet que se publicam as RFCs, entre eles citamos: http://www.ietf.org/ http://andrew2.andrew.cmu.edu/rfc/rfc1160.html , vai trazer a RFC1160 ftp://ftp.nic.mil/rfc/rfcXXXX.txt por exemplo

2.

ARQUITETURA OSI VERSUS TCP/IP

A Figura 2.1 mostra uma comparao entre o modelo de referncia OSI e a arquitetura Internet, nele possvel ver que o protocolo IP correspondente exatamente ao nvel de rede do modelo OSI.
Modelo de referncia OSI 7 6 5 4 3 2 1 Aplicao Apresenrao Sesso Transporte Rede Enlace No especificado Fsica
Protocolos de roteamento

Protocolo IP NFS FTP, Telnet, SMTP, SNMP XDR RPC TCP, UDP IP ARP, RARP ICMP

Figura 2.1 - Modelo OSI versus Arquitetura TCP/IP

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

2.1.

ENCAPSULAMENTO DE DADOS

As arquiteturas de redes como sabemos so divididas em camadas a TCP/IP est dividida em cinco camadas Aplicao,TCP, IP, Enlace e Fsico. Esta diviso foi feita a fim de facilitar a implementao de sistemas abertos.

Para melhor compreenso do TCPIP veremos o encapsulamento dos dados na camada de aplicao temos o protocolo da aplicao enviando os dados para a camada de Transporte TCP, esta camada segmenta os dados no sentido de transmisso e remonta no sentido de recepo, alm de estabelecer uma comunicao fim-a-fim verdadeiramente confivel, pois o nvel IP no garante necessariamente que um pacote chegue a seu destino, e pacotes podem ser perdidos ou mesmo chegar fora da seqncia de transmisso. Outras funes so mutiplexao (vrias conexes de transporte partilhando a mesma conexo de rede) e o splitting (uma conexo de transporte ligada a vriasconexes de rede). O splitting utilizada para aumentar a vazo de uma conexo de transporte atravs do uso de vrias conexes de rede simultaneamente. J a multiplexao usada quando uma conexo de transporte no gera trfego suficiente para ocupar toda a capacidade de conexo de rede por ela utilizada. Outra funo importante da camada de transporte o controle de fluxo.

APLICAO

Dados de Aplicao

Dados

TCP ou UDP

Segmentos TCP ou Datagramas UDP Pacotes

Dados

IP Dados Dados Pacote de dados Dados codificados

ENLACE

Quadros

FSICO Bits

Figura 2.2 Encapsulamento dos dados.

Aps a segmentao, os segmentos (TCP) ou datagramas (UDP), os dados vo para a camada IP, da recebem o cabealho IP e so chamados de pacotes, como veremos nesta camada que recebem o endereo IP, esta camada tambm possui vrias funes tais como, protocolos de roteamento e protocolo ICMP. Na camada de Enlace (Data-Link) os pacotes recebem os cabealhos da camada LLC e MAC, inclusive o endereo MAC (Endereo Fsico do Host), aps isso o fluxo de dados chamado de Quadro (Frame).

Finalmente o fluxo de dados (Frames) chegam a camada fsica, na qual possui a interface fsica que transformar os frames em bits, de acordo com a implementao padro (Ethernet, Fast Ethernet, Token Ring, FDDI, etc)

3.

CAMADA IP (INTERNET PROTOCOL)

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

3.1.

ENDEREO IP

Para duas mquinas se comunicarem utilizando o protocolo TCP/IP, cada uma destas mquinas precisa ter um endereo IP diferente, pois atravs do endereo IP que possvel identificar uma determinada mquina. Agora imagine que ao invs de voc ligar somente duas mquinas, voc queira ligar milhes delas em diversas partes do mundo. natural pensar que a quantidade de endereos tambm seja enorme. Pensando nisso, o endereo IP foi criado como um conjunto de 32 bits para ser utilizado por todas as aplicaes que utilizem o protocolo TCP/IP. A notao desta representao mostrada a seguir: X.X.X.X

Onde o valor de X varia de 0 a 255, ou seja, 28 = 256 possibilidades, como mostrado abaixo:

0.0.0.0 255.255.255.255

Observe, portanto, que o nmero mximo de computadores e elementos de rede utilizando esta forma de endereamento seria: 4.294.967.296 (256 x 256 x 256 x 256), o que um nmero bastante representativo, mas que j esta ficando saturado para os dias atuais1. por isso que solues como Proxy, DHCP ou o prprio IPV6 (nova verso do IP) esto sendo largamente utilizados para resolver este problema de escassez de nmeros IP, como veremos nos prximos captulos. Alguns exemplos de endereo IP seriam: 200.241.16.8 30.10.90.155 197.240.30.1

De forma a facilitar a compreenso ao homem, o endereo IP escrito como quatro nmeros decimais separados por ponto. Cada decimal d o valor de um octeto do endereo IP (em binrio). A figura 2.2 mostra um endereo IP com a sua representao binria e a sua representao decimal. A representao binria separada em quatro blocos de oito bits, j na sua forma decimal, estes blocos so agrupados e separados por ponto. 10000000 00001010 00000010 00011110 11001000 11110001 00010000 00001000 128.10.2.30 200.241.16.8

Figura 2.2 Representao IP binria e decimal

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

3.2.

CLASSES DE ENDEREOS

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

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

De 0 128 192 224 240

a 126 191 223 239 247

Classe de Endereo A B C D E

Tabela 2.1 Faixa de endereos IP de cada classe

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

0 Classe "A" 0 REDE

16 HOST

24

32

Classe "B"

1 1

0 1 0

REDE REDE

HOST HOST

Classe "C"

Classe "D"

Broadcasting e Multicasting

Classe "E"

Reservado para utilizao futura

Figura 2.3 - Diviso dos endereos IP em classes

A Tabela 2.2 ilustra as classes de endereos com suas faixas decimal e sua representao binria. Class e A B C D E Faixa de Endereos 1-126.X.X.X 128-191.X.X.X 192-223.X.X.X 224-239.X.X.X 240-247.X.X.X Representao Binria Utilizao

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

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

3.2.1.

Endereo Loopback

Observe que o endereo 127.X.X.X no mostrado na tabela acima, isto porque este endereo foi reservado para Loopback. Por conveno, toda mquina rodando TCP/IP possui uma interface de Loopback, alm das interfaces de rede que possui. Esta interface no conecta a rede alguma. Seu objetivo permitir teste de comunicao inter-processos dentro da mesma mquina. Quando um programa usa o endereo de loopback para enviar dados, o software do protocolo retorna o dado sem gerar trfego na rede (isto muito utilizado para se testar programas, inclusive quando no se tem placa de rede). A comunicao vai pelo caminho normal, saindo do nvel de aplicao, passando pelo nvel de transporte (TCP ou UDP) e chegando ao nvel IP, que retorna a comunicao de volta ao nvel de aplicao de um outro processo. A especificao determina que um pacote enviado para a rede 127 nunca deve aparecer em nenhuma rede. O endereo de loopback utilizado pela quase totalidade das implementaes 127.0.0.1.

10

3.2.2.

Endereos IP reservados

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

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

Figura 2.4 Roteador entre duas Redes

Proxy e Core sero vistos mais adiante.

11

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

Token Ring 192.3.40.0 (classe C) Ethernet 146.134.0.0 (classe B) Ethernet 12.0.0.0 (classe A)

Ethernet 146.134.0.0 146.134.8.2 146.134.20.7 146.134.20.8 192.3.40.22 192.3.40.1 146.134.150.1

B
12.11.111.0

Token-Ring 192.3.40.0

192.3.40.20 192.3.40.2

192.3.40.21

C
12.20.40.32 12.0.0.4

Ethernet 12.0.0.0
Figura 2.5 Interconexo de trs redes

12

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


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

Na rede Ethernet, 146.134.0.0, temos as mquinas:


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

Na rede Ethernet, 12.0.0.0, temos as mquinas:


12.11.111.0 (Mquina B) 12.0.0.4 12.20.40.32 (Mquina C)

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

3.4.

SUB-REDE

A classificao dos endereos IP por classes tem como objetivo facilitar o roteamento. Pela classe do endereo sabe-se quantos bits representam a rede e quantos a mquina O endereo classe C geralmente usado para redes pequenas. No entanto, a alocao de um endereo classe C para uma rede implica na alocao de 256 endereos, na verdade 254 (so desconsiderados o ltimo nmero igual a 0 e a 255), mesmo que eles no sejam todos usados.

13

O crescimento elevado da Internet fez escassear o nmero de endereos disponvel, principalmente porque muitas empresas tem endereo IP classe C para 254 mquinas e usam bem menos que esta quantidade. Para minimizar este problema, foi introduzido o conceito de sub-rede, que procura utilizar outros bits para identificar a rede ao invs da estao. O exemplo da Figura 2.6 mostra uma rede 200.45.50.0 que subdividida internamente em duas redes distintas, a rede 200.45.50.64 e a rede 200.45.50.128.
Rede 200.45.50.64 200.45.50.67 200.45.50.70

H1 INTERNET G

H2

Todo o trfego p/ 200.45.50.0

Rede 200.45.50.128 200.45.50.130 200.45.50.133

H3 Figura 2.6 Sub-Diviso de uma rede

H4

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

3.4.1.

Mscara de uma Sub-Rede

Para definirmos se um determinado endereo IP um endereo de rede ou um endereo de mquina utilizamos o conceito de mscara. A mscara de uma rede vai nos permitir dizer quais endereos so da rede e quais so de mquinas e dentro de qual rede. O formato de escrita da mscara o mesmo do nmero IP.

14

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

Classe A B C

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

Mscara Decimal 255.0.0.0 255.255.0.0 255.255.255.0

Pelo padro, os bits usados para sub-rede no precisam ser contguos. A seguinte mscara vlida: 11111111 11111111 00011000 01000000 Esta mscara, no entanto, traria endereos de mquinas na sub-rede bastante confusos, de forma que boa poltica usar bits de rede contguos.

15

Exemplo: Vamos fazer agora um exemplo real. Suponha que tenhamos um endereos IP classe C, digamos 200.241.16.X. Quantas sub-redes eu posso ter? E quais os endereos de mquina? No caso mais simples, temos apenas 1 rede, no h sub-redes, logo a mascara seria: Binrio Decimal 11111111 255 11111111 255 11111111 255 00000000 0

E os endereos IPs seriam de: 200.241.16.0 200.241.16.255 S que devemos lembrar SEMPRE de retirar os endereos IP extremos. Portanto, nossos endereos vlidos so: 200.241.16.1 200.241.16.254 Agora suponha que tenhamos 2 sub-redes. Nossa mscara ento seria: Binrio Decimal 11111111 255 11111111 255 11111111 255 10000000 128

Neste caso estamos utilizando mais um bit para identificar a rede (o primeiro bit igual a 1 do quarto octeto). Logo temos duas redes possveis. A rede 0 e a rede 1. Na sub-rede 0 teremos os endereos IPs de: 200.241.16.0 200.241.16. 127 Como devemos eliminar sempre os extremos, os nossos endereos vlidos nessa sub-rede sero: 200.241.16.1 200.241.16.126 J na sub-rede 1 teremos os endereos IPs de: 200.241.16.128 a 200.241.16.255 Aplicando tambm a eliminao dos extremos, ficamos com os endereos: 200.241.16.129 200.241.16.254

16

Observao Importante: De acordo com o padro a primeira sub-rede (todos os bits de rede igual a zero) e a ltima sub-rede (todos os bits de rede igual a um) tem que ser descartadas. Logo, pelo padro, a rede acima no teria nenhuma mquina j que descartaramos a primeira e a ltima sub-rede. Alguns fabricantes, entretanto, como a Cisco por exemplo aceitam a mascara acima, mas vale ressaltar que isto no faz parte do padro e portanto no recomendado. Agora suponha que tenhamos 4 sub-redes. Nossa mscara ento seria: 11111111 11111111 11111111 11000000 255 255 255 192 Neste caso estamos utilizando mais dois bits para identificar a rede (os dois primeiros bits igual a 1 do quarto octeto). Logo temos quatro redes possveis. A rede 00, 01, 10 e 11. Binrio Decimal Na sub-rede 00 teremos os endereos IPs de: 200.241.16.0 a 200.241.16.63 Como devemos eliminar sempre os extremos, os nossos endereos vlidos nessa sub-rede sero: 200.241.16.1 200.241.16.62 A explicao acima s ilustrativa, porque como j vimos esta sub-rede deve ser desconsiderada. Na 200.241.16.127 sub-rede 01 teremos os endereos IPs de: 200.241.16.64

Aplicando tambm a eliminao dos extremos, ficamos com os endereos: 200.241.16.65 200.241.16.126 Na sub-rede 10 teremos os endereos IPs de: 200.241.16.128 200.241.16.191 Aplicando tambm a eliminao dos extremos, ficamos com os endereos: 200.241.16.129 200.241.16.190 Na sub-rede 11 teremos os endereos IPs de: 200.241.16.192 200.241.16.255 Aplicando tambm a eliminao dos extremos, ficamos com os endereos:

17

200.241.16.193 200.241.16.254 Pelo mesmo motivo mencionado anteriormente esta sub-rede tambm ser descartada. Para saber qual a faixa de endereos IP de cada sub-rede basta dividir 256 pelo nmero de sub-redes. No exemplo anterior teriamos 256 dividido por 4 igual a 64. Isto significa dizer que cada rede teria 64 mquinas (sem considerar a eliminao dos extremos). Ficando ento os endereos distribudos da seguinte forma:

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

Lembrando sempre que o primeiro e o ltimo conjunto de endereos dever ser descartado. No caso os endereos de X.X.X.0 a X.X.X.63 e X.X.X.192 a X.X.X.255 O processo para achar todas as outras sub-redes o mesmo. A tabela 2.4 faz um resumo deste processo para um endereo IP classe C at 8 sub-redes. As subredes grifadas no podero ser usadas de acordo com o padro. SubRedes 1 2 4 Mscara 255.255.255.0 255.255.255.128 255.255.255.128 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.192 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 No. Da SubRede 0 1 00 01 10 11 000 001 010 011 100 101 110 111 IPs Vlidos x.x.x.1 x.x.x.254 x.x.x.1 x.x.x.126 x.x.x.129 x.x.x.254 x.x.x.1 x.x.x.62 x.x.x.65 x.x.x.126 x.x.x.129 x.x.x.190 x.x.x.193 x.x.x.254 x.x.x.1 x.x.x.30 x.x.x.33 x.x.x.62 x.x.x.65 x.x.x.94 x.x.x.97 x.x.x.126 x.x.x.129 x.x.x.158 x.x.x.161 x.x.x.190 x.x.x.193 x.x.x.222 x.x.x.225 x.x.x.254 Tot. Maq. 254 126 126 62 62 62 62 30 30 30 30 30 30 30 30

Tabela 2.4 N de sub -redes versus classes

18

A Tabela 2.5 mostra a quantidade de sub-redes, a quantidade de mquinas de cada sub-rede e a quantidade total de mquinas.
N de Bits 0 1 2 3 4 5 6 N Sub-Redes 0 2-2=0 4-2=2 8-2=6 16-2=14 32-2=30 64-2=62 Quantidade de Mquinas por Sub-Rede 254 0 62 30 14 6 2 Total Mquinas 254 0 124 180 196 180 124

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

3.5.

FORMATO DO DATAGRAMA IP

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

TOTAL LENGTH FRAGMENT OFFSET

IDENTIFICATION TIME TO LIVE PROTOCOL

HEADER CHECKSUM

SOURCE IP ADDRESS DESTINATION IP ADDRESS IP OPTIONS (IF ANY) DATA PADDINIG

Figura 2.7 Datagrama IP

19

A Tabela 2.6 fornece a descrio de cada campo. Campo IP VERS HLEN SERVICE-TYPE Descrio Verso do protocolo IP que foi usada para criar o datagrama Comprimento do cabealho, medido em palavras de 32 bits Este campo especifica como o datagrama poderia ser manipulado pelo sistema de comunicao. Algumas opes so: Precedence: indica a importncia do pacote, com valores desde 0 (precedncia normal) at 7 (controle da rede). Este bits permite-se ao transmissor indicar a importncia de cada datagrama que ele est enviando, sem contudo garantir que estas exigncias sero cumpridas pela rede. Existem ainda as opes abaixo:
0 1 PRECEDNCIA 2 3 D 4 T 5 R 6 7

Precedncia Indica a importncia do pacote D: Baixo Delay T: Alto throughput R: Alta confiabilidade TOTAL-LENGTH Este campo proporciona o comprimento do datagrama medido em bytes, incluindo cabealho e dados. Se o pacote for fragmentado este campo indicar o tamanho do fragmento e no do pacote original IDENTIFICATION Valor inteiro que identifica o datagrama. Este campo usado para ajudar na remontagem de pacotes fragmentados. Este campo muito importante porque quando um gateway fragmenta um datagrama, ele copia a maioria dos campos do cabealho do datagrama em cada fragmento, ento a identificao tambm deve ser copiada, com o propsito de que o destino saiba quais fragmentos pertencem a quais datagramas. Cada fragmento tem o mesmo formato que um datagrama completo. FRAGMENT Especifica o incio do datagrama original dos dados que esto OFF SET sendo transportados no fragmento. medido em unidades de 8 bytes FLAG Controla a fragmentao. Os dois bits de mais baixa ordem controlam a fragmentao. Um bit especifica se o pacote pode ou no ser fragmentado e o outro bit especifica se o pacote o ltimo fragmento TTL (Time to Live) Especifica o tempo em segundos que o datagrama est permitido a permanecer no sistema Internet. Gateways e hosts que processam o datagrama devem decrementar o campo TTL cada vez que um datagrama passa por eles e devem remov-lo quando seu tempo expirar. PROTOCOL Especifica qual protocolo de alto nvel foi usado para criar a

20

Descrio mensagem que est sendo transportada na rea de dados do datagrama. Exemplo: FTP, HTTP, SMTP, etc HEADERAssegura a integridade dos valores do cabealho. Observe CHECKSUM que no existe CheckSum para os dados, somente para o cabealho, isto porque no pode haver erro na hora da entrega de um pacote ao endereo de destino, mesmo que os dados estejam com problemas. Isto significa dizer que o endereo da carta estar sempre correto, no significando que esta chegue ao seu destinatrio ou caso chegue, que os dados estejam corretos. SOURCE IP Especfica o endereo IP de origem DESTINATION IP Especfica o endereo IP de destino Consiste de um nico octeto com opes diversas sobre um OPTIONS determinado pacote. Algumas delas so:
0 COPY 1 2 3 4 5 6 7 OPTION CLASS

Campo IP

OPTION NUMBER

PADDING

DATA

Copy controla como os gateways tratam as opes quando h fragmentao: Se Copy = 1, ento Opes devem ser copiadas em todos os fragmentos Option Class Significado 0 Datagrama de controle 1 Reservado para uso futuro 2 Debug 3 Reservado para uso futuro Para cada uma das opes existe ainda um Option Number para aumentar mais ainda a diversidade de opes. A prxima sesso traz alguns exemplo interesantes. Este campo pode ou no ser usado dependendo do campo OPTIONS. um campo complementar, usado para armazenar um determinado valor dependendo da opo anterior. o pacote da camada de transporte (TCP ou UDP)
Tabela 2.6 Opes do Datagrama IP

21

3.5.1.

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

Option Number 7, Option Class 0 - Record Route Option Esta opo permite a origem criar uma lista vazia de endereos IPs e a cada gateway que manusear o datagrama colocar o seu IP nesta lista. Esta opo ento traria toda a rota utilizada que um determinado pacote fez entre o seu endereo de origem e o seu endereo de destino. A Figura 2.8 ilustra como os endereos IP seriam armazenados.
0 CODE (7) 8 LENGTH 16 POINTER 24 31

Primeiro endereo IP Segundo endereo IP .....

Figura 2.8 Endereos IP de uma rota armazenados

Os endereos IP dos Gateways intermedirios so colocados na posio indicada pelo campo POINTER. Option Number 9 ou 3, Option Class 0 - Source Route Option Permite a origem indicar a rota a ser seguida pelo pacote IP. Pode ser strict (option 9) ou loose (option 3). No modo strict, o caminho entre dois endereos sucessivos deve consistir de uma nica conexo fsica de rede. Na opo loose, o datagrama deve seguir a sequncia de endereos, mas dois endereos sucessivos na lista podem ter vrios gateways entre eles. Esta opo utilizada quando se deseja que um datagrama passe por um caminho especfico independente do protocolo de roteamento. A Figura 2.9 ilustra este fato.
0 CODE 8 LENGTH 16 POINTER 24 31

Endereo IP do primeiro HOP Endereo IP do segundo HOP .....

Figura 2.9 Definindo uma rota no datagrama

22

Option Number 4, Option Class 2 - Timestamp Option Esta opo similar ao Record Route, porm cada gateway coloca na lista, alm do seu IP, o tempo em que o pacote chegou a este gateway. A Figura 2.10 ilustra este fato.
0 CODE 8 LENGTH 16 POINTER 24 31 OFLOW FLAGS

Endereo IP do primeiro HOP Endereo IP do segundo HOP .....

Figura 2.10 Armazenando uma rota e o seu tempo

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

4. FSICO

MAPEAMENTO DE ENDEREO DE REDE EM ENDEREO DO NVEL

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

4.1.

PROTOCOLO ARP

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

Figura 3.1 Computadores em uma mesma rede

23

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

Quadro de Nvel Fsico (Por exemplo, Ethernet

Cabelalho

Dados

Tail

Figura 3.2 Encapsulamento nvel de rede no nvel fsico

Primeiramente, A envia um broadcast (uma mensagem que parte de uma estao e atinge todas as outras estaes da mesma rede), pedindo para a mquina cujo endereo IP seja IB responder com seu endereo fsico FB. Todas as mquinas recebem este broadcast, mas s B responde mquina que solicitou, no caso a mquina A, s a partir deste momento que A pode enviar a mensagem para B. Este protocolo chamado de ARP (Address Resolution Protocol). De forma a otimizar a resoluo de endereos IP em fsico, o protocolo ARP usa uma cache da seguinte forma:

Quando A recebe a resposta de B, guarda numa tabela os endereos IP e fsico de B (IB e FB) Quando B recebe o broadcast de A pedindo seu endereo fsico, B guarda em sua cache IA e FA, supondo que se A deseja falar com ela (a mquina B), certamente ela (a mquina B) ter de falar com A. Esta informao residir no cache por um perodo apropriado.

A seguir apresentado um exemplo de como saber quais so os endereos IPs de uma rede e os seus respectivos endereos fsicos. O comando arp a, pode ser usado tanto para mquinas UNIX quanto na linha de comando do DOS. cairo.inf.ufes.br> arp -a milao.inf.ufes.br (200.241.16.86) at b4-66-56-ed-98-81 router.inf.ufes.br (200.241.16.1) at 08-00-02-09-71-90 xareu.16.241.200.in-addr.arpa (200.241.16.212) at 00-00-e8-31-8e-eb stale

24

helsinki.inf.ufes.br (200.241.16.253) at 00-a0-4b-03-5b-52 barcelona.inf.ufes.br (200.241.16.31) at 52-54-00-db-05-fe seoul.inf.ufes.br (200.241.16.20) at (incomplete) stale not responding novel107.inf.ufes.br (200.241.16.57) at b4-66-48-90-98-81 berlim.inf.ufes.br (200.241.16.9) at 08-00-2b-e7-74-e0 baleia.16.241.200.in-addr.arpa (200.241.16.220) at 00-60-08-df-4a-62 stale paris.inf.ufes.br (200.241.16.2) at 08-00-2b-3d-ef-4e stale novel115.inf.ufes.br (200.241.16.65) at b4-66-59-85-98-81 stale albany.inf.ufes.br (200.241.16.28) at 00-00-e8-08-71-1d stale londres.inf.ufes.br (200.241.16.6) at 00-00-3b-80-33-94 stale novel119.inf.ufes.br (200.241.16.69) at b4-66-52-9e-98-81 stale leeds.inf.ufes.br (200.241.16.10) at 10-00-5a-fa-37-10 novel109.inf.ufes.br (200.241.16.59) at 00-00-b4-33-9f-4b stale veneza.inf.ufes.br (200.241.16.11) at 10-00-5a-fa-50-83 marlin.inf.ufes.br (200.241.16.200) at 10-00-5a-fa-4d-b2 camburi.inf.ufes.br (200.241.16.130) at 08-00-20-0e-9a-d3 otawa.inf.ufes.br (200.241.16.23) at 00-00-e8-08-6b-f6

Neste exemplo, possvel ver que a mquina de endereo hierrquico otawa.inf.ufes.br, possui endereo IP 200.241.16.23 e endereo fsico 00-00-e8-08-6bf6. Seguindo a mesma leitura, sabe-se o endereo fsico de todas as outras mquinas da rede. importante ressaltar que diferentes redes (Ethernet, Token Ring, ATM, FDDI), tem diferentes implementaes do ARP. Sendo isto totalmente transparente para arquitetura TCP/IP, j que tendo o endereo fsico a preocupao de entrega deste pacote nesta rede fica por conta dos protocolos de acesso ao meio e de entrega desta rede. Quando iniciadas, as estaes no possuem a tabela endereo IP / endereo fsico. Esta tabela vai sendo criada e manipulada dinamicamente dependendo da sua necessidade.

25

4.1.1.

Formato do Pacote ARP A Figura 3.3 mostra o formato do pacote ARP.


0 8 HARDWARE TYPE HLEN PLEN SENDER HA (octetos 0-3) SENDER HA (octetos 4-5) SENDER IP (octetos 2-3) SENDER IP (octetos 0-1) TARGET HA (octetos 0-1) 16 PROTOCOL TYPE OPERATION 31

TARGET HA (octetos 2-5) TARGET IP (octetos 0-3)

Figura 3.3 Formato do pacote ARP

A Tabela 3.1 descreve os campos do pacote ARP.

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

26

4.2.

PROTOCOLO RARP

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

4.3.

FRAGMENTAO DE ENDEREO IP EM ENDEREO FSICO

Para o nvel IP (de rede), um pacote IP uma unidade nica e indivisvel. Idealmente, o pacote IP deveria caber inteiro no quadro do nvel de enlace. No entanto, nem sempre isso acontece. Pode acontecer de que num certo caminho existam nveis de enlace que tenham tamanho de rea de dados bastante reduzidos. Pode acontecer tambm do usurio configurar o tamanho do pacote IP maior que a rea de dados da prpria rede onde a mquina est conectada.

27

Quando um pacote IP no couber inteiro na rea de dados do quadro fsico, ele deve ser fragmentado. Isto significa dizer, que o pacote deve ser quebrado em diversos pedaos que caibam no nvel fsico. Ao chegar no seu destino, o pacote deve ser reconstitudo, j que o nvel IP s poder processar o pacote se este estiver inteiro. A fragmentao/remontagem feita pelo prprio nvel IP. Na configurao do TCP/IP o usurio pode configurar o MTU (Maximun Transfer Unit), parmetro que define o tamanho mximo do pacote IP inteiro. Se o tamanho mximo da rea de dados do quadro de enlace for menor que o MTU o pacote IP ser fragmentado. Esta fragmentao poder ser feita em qualquer gateway no caminho do pacote at o seu destino, e no apenas na origem. No entanto, uma vez fragmentado, o pacote seguir viagem assim (podendo ainda ser fragmentado novamente, caso em algum caminho a unidade de dados do nvel fsico seja menor que o tamanho deste fragmento). A responsabilidade pela remontagem dos fragmentos da mquina destino. A perda de um fragmento implica na perda do pacote inteiro. Para exemplificar o processo de fragmentao, observe a Figura 3.4, nela existem duas redes Ethernet, cada uma com rea de dados de 1500 bytes, ligando as duas redes temos uma rede X.25 com rea de dados de 256 bytes.

Figura 3.4 Redes com reas de dados diferentes

Observe que caso H1 queira enviar um dado para H2 no haver fragmentao (desde que o pacote IP seja menor que 1500 bytes), o mesmo ocorre entre as mquinas H3 e H4. Agora imagine que H1 queira enviar um dado para a mquina H3 ou H4. Ser de responsabilidade de G1 fragmentar este dado para que ele possa passar pela rede X.25, e ser de responsabilidade de H3 ou H4 remontar este pacote. O mesmo acontece caso H3 ou H4 queiram enviar um pacote para H1 ou H2.

28

Uma forma de evitar esse problema seria definir a MTU das duas redes Ethernet para 256 (mesmo tamanho da rede X.25). Neste caso no haveria fragmentao, entretanto, operaes dentro da mesma rede estariam sub-utilizando o frame Ethernet. Na Figura 3.5 temos um pacote IP de 1400 bytes, sendo transmitido em uma rede com MTU igual a 620 bytes e 20 bytes de cabealho. Ser portanto necessrio fragmentar este pacote em trs outros. Pacote 1: 620 bytes (600 de dados e 20 de cabealho), Pacote 2: 620 bytes (600 de dados e 20 de cabealho) e Pacote 3: 220 bytes (200 de dados e 20 de cabealho). claro que este processo aumenta o Overhead da rede, incluindo vrios cabealhos, desperdiando assim recursos do sistema de computao.
DATAGRAM HEADER DATA 1 600 octets (a) FRAGMENT 1 HEADER FRAGMENT 2 HEADER FRAGMENT 3 HEADER DATA 2 600 octets DATA 3 200 octets

DATA 1

FRAGMENT 1 (offset 0)

DATA 2

FRAGMENT 2 (offset 0)

DATA 3

FRAGMENT 3 (offset 0)

(b)

Figura 3.5 Fragmentao de um pacote

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

29

5.

ICMP INTERNET CONTROL MESSAGE PROTOCOL

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

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

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

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

ICMP somente reporta condies de erros fonte original. A fonte deve relatar os erros aos programas de aplicao individuais e tomar ao para corrigir o problema. Uma fragilidade do ICMP a de s reportar erros fonte original, no a intermedirios.

30

Suponha que um datagrama siga uma rota atravs de uma srie de gateways G1, G2, ..., GK. Se GK tem rotas incorretas e envia o datagrama para o gateway GE, GE reporta o erro de volta para a origem do datagrama. Porm a origem no tem nenhuma responsabilidade sobre esse erro nem controle sobre o gateway problemtico. Pode inclusive nem saber qual esse gateway. Alm disso, o prprio pacote ICMP pode se perder como qualquer datagrama IP, no informando a ningum do problema. O comando PING (ver captulo de aplicaes) por exemplo, faz uso de um dos tipos de pacote ICMP. A mquina origem envia pacote ICMP do tipo echo request. A mquina que recebe essa mensagem responde com ICMP do tipo echo reply. Algumas verses de PING enviam vrios pacotes e devolvem estatsticas. Se o PING tem sucesso, significa que as principais partes do sistema de transporte esto funcionando.

5.1.

ENTREGA DE MENSAGENS ICMP

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

DATAGRAM DATA AREA

FRAME HEADER

FRAME DATA AREA

Figura 4.1 Encapsulamento do ICMP em um pacote IP

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

5.2.

TIPOS DE MENSAGEM ICMP

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

TYPE (8 bits), que identifica a mensagem

31

CODE (8 bits), que fornece mais informaes sobre a mensagem CHECKSUM (16 bits) A Figura 4.2 relaciona os possveis tipos para o campo TYPE.

Type Field 0 3 4 5 8 11 12 13 14 15 16 17 18

ICMP Message Type Echo Reply Destinatination Unreachable Source Quench Redirect (change a route) Echo Request Time Exceeded for a Datagram Parameter Problem on a Datagram Timestamp Request Timestamp Reply Information Request (obsolete) Information Reply (obsolete) Address Mask Request Address Mask Reply

Figura 4.2 Possveis tipos de mensagens ICMP

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

5.2.1.

Echo Request & Echo Reply

A Figura 4.3 descreve o campo de solicitao (Echo Request) e resposta (Echo Reply) do tipo eco. Essa mensagem usada pelo programa PING para verificar se uma mquina esta respondendo ou no.
0 TYPE (8 or 0) 8 CODE (0) 16 CHECKSUM SEQUENCE NUMBER OPTIONAL DATA ..... 31

IDENTIFIER

Figura 4.3 Mensagem do tipo Echo Request & Echo Reply

Os campos TYPE, CODE e CHECKSUM so os mesmos descritos acima. A Tabela 4.1 relaciona os outros campos com as suas funcionalidades.
Campo TYPE=8 TYPE=0 IDENTIFIER e SEQUENCE NUMBER Descrio Echo Request (Requisio de resposta) Echo Reply (Resposta solicitao anterior) So usados para identificar qual mensagem foi

32

OPTIONAL DATA

enviada e qual esta sendo recebida Campo opcional, que dependendo da implementao pode retornar dados ao remetente, como por exemplo o tempo gasto para se alcanar a mquina.

Tabela 4.1 Descrio dos campos da mensagem Echo Request & Echo Reply

33

5.2.2.

Reports unreacheble destination

A Figura 4.4 ilustra a mensagem que enviada para informar que uma mquina ou rede no esta alcanvel (unreacheble).
0 TYPE (3) 8 CODE (0-5) 16 CHECKSUM 31

UNUSED (MUST BE ZERO) INTERNET HEADER + FIRST 64 BITS OF DATAGRAM .....

Figura 4.4 Cabealho padro para endereo no alcanvel

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

Code Value 0 1 2 3 4 5 6 7 8 9 10 11 12

Meaning Network Unreachable Host Unreachable Protocol Unreachable Port Unreachable Fragmentation Needed and DF set Source Route Failed Destination network unknown Destination host unknown Source host isolated Communication with destination network administratively prohibited Communication with destination host administratively prohibited Network Unreachable for type of service Host unreachable for type of service

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

34

5.2.3.

Controle de Fluxo e de Congestionamento

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

UNUSED (MUST BE ZERO) INTERNET HEADER + FIRST 64 BITS OF DATAGRAM .....

Figura 4.6 Cabealho padro para controle de congestionamento

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

5.2.4.

Route Change Request (Redirect)

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

GATEWAY INTERNET ADDRESS INTERNET HEADER + FIRST 64 BITS OF DATAGRAM .....

Figura 4.7 Mensagem de mudana de rota

35

Uma mensagem de mudana de rota identificada pelo campo TYPE=5 e o campo CODE=0 3. O campo INTERNET HEADER conter o endereo do gateway problemtico, mais 64 bits do datagrama. Suponha por exemplo que eu tenha um Host conectado a dois Gateways (G1 e G2), nas redes 1 e 2 respectivamente (Figura 4.8).

Figura 4.8 Exemplo de mensagem de redirecionamento de rota

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

5.2.5.

Detecta rota circular ou excessivamente longa

Quando um Gateway detecta que o campo TTL (Time-to-Live) do datagrama IP est com o valor ZERO, ele manda o ICMP TIME EXCEEDED para a origem (Figura 4.9).
0 TYPE (11) 8 CODE (0 or 1) 16 CHECKSUM 31

UNUSED (MUST BE ZERO) INTERNET HEADER + FIRST 64 BITS OF DATAGRAM .....

Figura 4.9 Cabealho ICMP TIME EXCEEDED

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

36

37

5.2.6.

Reporta outros problemas

Quando um Gateway detecta um problema diferente dos citados anteriormente (por exemplo, erro no cabealho), ele envia um ICMP PARAMETER PROBLEM para a origem (Figura 4.10).
0 TYPE (12) POINTER 8 CODE (0 or 1) 16 CHECKSUM 31

UNUSED (MUST BE ZERO)

INTERNET HEADER + FIRST 64 BITS OF DATAGRAM .....

Figura 4.10 Cabealho ICMP para outros problemas

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

5.2.7.

Sincronizao de relgio e estimativa de tempo de transito

Uma mquina pode usar o ICMP REQUEST TIMESTAMP para requisitar a hora do dia doutra mquina. A mquina endereada retorna um ICMP TIMESTAMP REPLY (Figura 4.11).
0 TYPE (13 or 14) 8 CODE (0) IDENTIFIER 16 CHECKSUM SEQUENCE NUMBER ORIGINATE TIMESTAMP RECEIVE TIMESTAMP TRANSMIT TIMESTAMP 31

Figura 4.11 Cabealho ICMP para mensagem de sincronizao de relgios

38

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

6.

CAMADA DE TRANSPORTE

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

APLICAO TCP Internet (IP) INTEFACE DE REDE UDP

Figura 5.1 Camada de Transporte da Arquitetura TCP/IP

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

39

6.1.

APLICAES CLIENTE-SERVIDOR

As aplicaes Cliente-Servidor so caracterizadas basicamente pela presena de um Servidor, responsvel por prover determinadas facilidades e um Cliente que ir acessar as facilidades que so providas pelo servidor. Basicamente o Cliente solicita uma determinada tarefa ao Servidor, este a processa e devolve o resultado ao Cliente, diminuindo substancialmente a troca de mensagens na rede, j que as perguntas e respostas costumam ser bem curtas. Na maioria do casos, temos um Servidor, em geral uma mquina melhor que as demais, servindo a vrios Clientes simultaneamente. Dentro deste contexto para uma mesma aplicao, por exemplo o telnet (Terminal Remoto) existe o telnet do servidor, conhecido tambm como daemon e o telnet do cliente. Quando um usurio chama a aplicao telnet no seu terminal, ele esta usando o telnet do cliente, s que para esta aplicao funcionar ele precisa se conectar a um servidor, que precisa estar rodando o telnet do servidor. A este conjunto de aplicaes do cliente e do servidor damos o nome de arquitetura cliente-servidor ou clientserver. A Figura 5.2 mostra algumas aplicaes do modelo TCP/IP. Observe que o Telnet, FTP e SMTP utilizam o TCP como protocolo de transporte, j aplicaes tipo NSF, SNMP e TFTP utilizam o UDP.

Telnet

FTP SMTP

NSF

SMNP

TFTP

Nvel de Aplicaes

Fluxo Confivel (TCP)

Datagrama de Usurio (UDP) Nvel de Transporte Nvel de Rede Nvel de Enlace e Fsico

Internet Protocol (IP) Interface Fsica

Figura 5.2 Algumas aplicaes do modelo TCP/IP

40

6.1.1.

O conceito de Porta

Quando uma aplicao cliente deseja conectar-se aplicao servidor, esta deve fornecer o endereo IP ou nome hierrquico (que ser convertido em endereo IP pelo servio de DNS, pois na Internet s trafegam endereos IPs) do servidor. Neste caso teremos um endereo IP de origem e um endereo IP de destino que identificar uma comunicao. Entretanto, estes dois campos no so suficientes para identificar unicamente uma conexo, pois o servidor poder estar rodando diversas aplicaes simultaneamente. Como ento eu conseguiria identificar que eu desejo me conectar aplicao A ou aplicao B? Para resolver este problema, foi criado o conceito de Porta. A idia bastante simples: Para cada aplicao definido um nmero de porta nico que a distingue das demais aplicaes, chamaremos porta do servidor de Porta de Destino. possvel agora informar o endereo IP de destino e o endereo da Porta de Destino, para identificar uma determinada aplicao. Aplicaes como Telnet, FTP (Transferncia de Arquivos), HTTP (Home Pages), entre outras tem suas portas bem definidas e em geral no precisam ser informadas pelas aplicaes, j so colocadas nos pacotes de Transporte automaticamente por estes programas. Observe que o endereo IP de origem, endereo IP de destino e Porta de destino ainda no definem unicamente uma aplicao. Pois dentro da mquina cliente (o mesmo endereo IP de origem) eu posso querer me conectar com o mesmo servidor (endereo IP de destino) na mesma aplicao (porta de destino). Como eu conseguiria identificar quais das duas aplicaes da minha mquina deve receber determinada resposta? Isto acontece com frequncia quando abrimos diversas instncias de um mesmo programa. Quando por exemplo estamos navegando na Internet atravs de um browser (Internet Explorer ou Netscape) e abrimos vrias janelas que tem como endereo o mesmo servidor de destino. Para resolver este problema incluindo nossa lista o conceito de Porta de origem. A porta de origem vai identificar qual das instncias de um mesmo programa esta se conectando a um mesmo servio, numa mesma mquina destino.

41

A Figura 5.3 ilustra este fato, mostrando o formato de um pacote TCP (observe que o pacote UDP tambm ter que ter porta de origem e porta de destino tambm). O campo Source Port, identifica a porta de origem e o campo Destination Port, identifica a porta de destino. Os campos de IP de origem e IP de destino so colocados no cabealho do pacote IP e no do TCP ou UDP. Os demais campos sero explicados na sesso Protocolo TCP.

TCP
SOURCE PORT DESTINATION PORT

SEQUENCE NUMBER ACKNOWLEDGEMENT NUMBER OFFSETReserved FLAGS CHECKSUM OPTIONS DATA WINDOW URGENT POINTER PADDING

Figura 5.3 Porta de Origem e Destino no pacote TCP

6.1.2.

Utilizando a Arquitetura Cliente-Servidor

Para utilizarmos desta arquitetura primeiramente precisamos instalar um determinado servio em um determinado servidor. Suponha que iremos instalar o servio de WWW (World Wide Web) que utiliza o protocolo HTTP no servidor www.uol.com.br (200.246.5.65). O servio de WWW um servio bastante difundido e por isso j possui uma porta padro, a porta 80. Temos portanto que do ponto de vista de um cliente:

IP de destino: 200.246.4.65 Porta de destino: 80

42

Suponha agora que voc esteja na mquina este site atravs de um Browser qualquer. Voc precisa nmero de porta fornecido dinamicamente pelo sistema dado momento a porta de origem seja: 3478. Logo j estabelecer a comunicao

200.241.16.8 e deseja acessar de uma porta de origem. Este operacional, digamos que num temos todo o cabealho para

IP de origem: 200.241.16.8 Porta de Origem: 3478 Caso voc abra uma nova janela do seu Browser, e se conecte ao mesmo lugar, utilizando o mesmo servio o sistema operacional lhe dar uma nova Porta de Origem, para que no se confunda com as outras portas em uso. Digamos que a nova porta seja 4312. Teremos portanto:

IP de origem: 200.241.16.8 Porta de Origem: 4312 Desta forma possvel enderear corretamente uma determinada informao. Se outra pessoa, numa outra mquina, digamos 200.30.20.83 quiser acessar o mesmo site, pode ocorrer do sistema operacional dar a ela o mesmo nmero de porta, digamos 4312. Logo teramos:

IP de origem: 200.30.20.83 Porta de Origem: 4312 Observe que o IP de origem outro e portanto no haver confuso na hora da entrega dos pacotes. Os servidores de aplicao esto sempre ativos e esperando conexes. As conexes acontecem assincronamente e por um perodo de tempo indeterminado. Nas mquinas UNIX possvel ver quais so os servios ativos, e quais os programas que os manipulam atravs dos respectivos comandos:

% cat /etc/services % cat /etc/inetd.conf

43

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

6.2.

O PROTOCOLO TCP (TRANSMISSION CONTROL PROTOCOL)

O TCP um protocolo do nvel de transporte da arquitetura Internet. Este protocolo garante que um dado enviado de um computador A para um computador B em qualquer rede (que esteja ligada via TCP/IP) vai ser entregue corretamente. O TCP um protocolo confivel e orientado a conexo. Este protocolo prov uma Interface para a camada de aplicao que deixa totalmente transparente os procedimentos de retransmisso, sequencializao, correo e verificao de erros, controle de fluxo, entre outros, sendo de sua responsabilidade estas tarefas. Tambm de responsabilidade do TCP especificar como duas mquinas iniciam uma conexo, transferem dados e terminam uma conexo. Mostraremos a seguir as principais responsabilidades do protocolo TCP. 1. Estabelecimento e Liberao de conexo Como o TCP orientado conexo, antes de comear qualquer processo de transferncia de dados preciso estabelecer uma conexo entre a mquina origem e a mquina destino. Aps o trmino da transferncia de dados a conexo desfeita. 2. Transferncia de dados Aps o estabelecimento da conexo possvel comear o processo de transferncia de dados, que pode ser por mensagens variveis ou de tamanho fixo e no formato full-duplex (as duas mquinas podem estar transmitindo dados simultaneamente). 3. Transferncia de dados urgentes Ainda na transferncia de dados possvel definir se uma mensagem ser normal ou urgente. Esta ltima opo usada geralmente para informaes de controle. 4. Multiplexao A multiplexao um processo de colocar diversas conexes de transporte, no caso o TCP, em uma conexo de rede, no caso o IP, este processo feito na mquina origem. Na mquina destino feito o processo inverso, chamado de de-multiplexao, que consiste em separar uma conexo de rede em vrias conexes de transporte.

44

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

6.2.1.

Formato do pacote TCP

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

SOURCE PORT

SEQUENCE NUMBER ACKNOWLEDGEMENT HLEN RESERVED CODE BITS CHECKSUM OPTIONS (IF ANY) DATA WINDOW URGENT POINTER PADDING

...
Figura 5.4 Formato do pacote TCP

45

A seguir so apresentados os objetivos de cada campo do pacote TCP. 1. SOURCE PORT Identifica a porta de origem 2. DESTINATION PORT Identifica a porta de destino 3. SEQUENCE NUMBER Especfica o nmero de sequncia de dados no mesmo segmento. atravs deste nmero que possvel fazer a sequencializao. 4. ACKNOWLEDGEMENT NUMBER Identifica o nmero de bytes que a fonte esperar receber na prxima transmisso. 5. HLEN Este campo especifica a partir da onde ir comear o campo de dados. Isto necessrio pois dependendo da tamanho do campo de opes (OPTION), o campo de dados ir comear em uma determinada posio. 6. RESERVED Campo reservado para uso futuro. 7. CODE BITS Determina o propsito e contedo do segmento, codificado na forma da Tabela 5.1. Opo URG ACK PSH RST SYN FIN Significado Campo de ponteiro Urgente vlido Campo de Reconhecimento vlido Este segmento solicita um Push Resetar a conexo Sincroniza nmeros de Sequncias O transmissor chega ao fim do fluxo de bytes
Tabela 5.1 Significado do Code Bits

1. WINDOW Atravs deste campo o protocolo TCP indica quantos dados ele tem capacidade de receber em seu buffer. 2. CHECKSUN usado para verificar a integridade tanto do cabealho como dos dados do segmento TCP. 3. URGENT POINT possvel, atravs deste campo especificar que alguns dados devem ser entregues de forma urgente. Esta informao repassada ao nvel IP que tenta executar esta operao. Esta opo totalmente dependente dos recursos do sistema de comunicao.

46

4. OPTION (IF ANY) Campo reservado para opes do TCP (caso haja algum). 5. PADDING Este campo serve para colocar alguns parmetros que podem ser requeridos na escolha de uma determinada opo no campo OPTION. 6. DATA Campo de dados do TCP. 6.2.2. Portas bem conhecidas do TCP

Como j foi dito anteriormente, uma mesma mquina pode prover diversos servios, bastando para isso que cada servio (ou aplicao) esteja colocado em uma porta diferente. Alguns servios so bastante utilizados na Internet, e por isso suas portas so bem conhecidas. A Figura 5.5 mostra algumas portas conhecidas. Nela possvel ver, por exemplo, que o servio de terminal remoto (telnet) esta na porta 23, que o servio de correio eletrnico (SMTP) esta na porta 25, e que o servio de transferncia de arquivos (FTP) esta na porta 21, entre outros. Observe que o servio de WWW (HTTP) no esta listado na Figura 5.5, entretanto pela popularizao cada vez maior deste servio, ele colocado na maioria dos casos na porta 80, podendo eventualmente ser colocado em outra porta. As portas acima de 1024 podem ser usadas por qualquer aplicao cliente-servidor
Decimal 0 1 5 7 9 11 13 15 17 19 20 21 23 25 37 42 43 53 77 79 93 95 101 102 103 104 111 113 117 119 129 139 160-223 Keyword TCPMUX RJE ECHO DISCARD USERS DAYTIME QUOTE CHARGEN FTP-DATA FTP TELNET SMTP TIME NAMESERVER NICNAME DOMAIN FINGER DCP SUPDUP HOSTNAME ISO-TSAP X400 X400-SND SUNRPC AUTH UUCP-PATH NNTP PWDGEN NETBIOS-SSN Reserved Unix Keyword echo discard systat daytime netstat qotd chargen ftp-data ftp telnet smtp time name whois nameserver rje finger supdup hostnames iso-tsap x400 x400-snd sunrpc auth uucp-path nntp Description Resrved TCP Multiplexor Remote Job Entry Echo Discard Active Users Daytime Network status program Quote of the day Character Generator File Transfer Protocol (data) File Transfer Protocol Terminal Connection Simple Mail Transport Protocol Time Host Name Server Who is Domain Name Server any private RJE service Finger Device Control Protocol SUPDUP Protocol NIC Host Name Server ISO-TSAP X.400 Mail Service X.400 Mail Sending SUN Remote Procedure Call Authentication Service UUCP Path Service USENET News Transfer Protocol Password Generator Protocol NETBIOS Session Service

Figura 5.5 Algumas portas TCP bem conhecidas

47

6.3.

O PROTOCOLO UDP (USER DATAGRAM PROTOCOL)

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

6.3.1.

Formato do Pacote UDP (User Datagram Protocol) A Figura 5.6 mostra o formato do pacote UDP.
PORTA UDP ORIGEM Tamanho da Mensagem UDP Dados

PORTA UDP DESTINO UDP Checksum

...
Figura 5.6 Formato do pacote UDP

A estrutura do pacote UDP muito simples, os campos que compe o pacote so: PORTA UDP ORIGEM Este campo contm a porta UDP usado pela origem (opcional). PORTA UDP DESTINO Este campo contm a porta UDP de destino.

48

TAMANHO DA MENSAGEM UDP Este campo contm o tamanho de todo o pacote UDP (Dados + Cabealho) UDP CHECKSUM Este campo utilizado na recepo dos dados para verificar se o dado recebido esta certo ou no. um campo opcional, para tanto basta colocar o valor 0 (zero) no campo. Caso o valor zero seja informado o receptor no tem como saber se o dado esta correto ou no. DADOS Este campo contm os dados propriamente ditos.

6.3.2.

Portas bem conhecidas do UDP

Tal como no TCP, o UDP tambm possui um conjunto de portas bem conhecidas, como ilustra a Figura 5.7. As portas reservadas vo de 1 a 1000, e as portas livres vo de 1001 a 65535. Na Figura 5.7 possvel ver, por exemplo, que o servio de DayTime, que informa o dia e a hora daquela mquina utilizado na porta 13, o servio de DNS (Domain Name Service) esta na porta 53, o servio de Gerenciamento da rede (SNMP) esta na porta 161 e 162, entre outros servios.
Decimal 0 7 9 11 13 15 17 19 37 42 43 53 67 68 69 111 123 161 162 512 513 514 525 Keyword ECHO DISCARD USERS DAYTIME QUOTE CHARGEN TIME NAMESERVER NICNAME DOMAIN BOOTPS BOOTPC TFTP SUNRPC NTP Unix Keyword echo discard systat daytime netstat qotd chargen time name whois nameserver bootps bootpc tftp sunrpc ntp snmp snmp-trap biff who syslog timed Description Resrved Echo Discard Active Users Daytime Who is up or NETSTAT Quote of the day Character Generator Time Host Name Server Who is Domain Name Server Bootstrap Protocol Server Bootstrap Protocol Client Trivial File Transfer Sun Microsystems RPC Network Time Protocol SNMP net monitor SNMP traps UNIX comsat UNIX rwho daemon system log Time daemon

Figura 5.7 Portas UDP bem conhecidas

49

7.

PROTOCOLOS DE ROTEAMENTO

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

7.1.

ROTEAMENTO DIRETO

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

50

7.2.

ROTEAMENTO INDIRETO

O roteamento indireto ocorre quando as duas mquinas envolvidas no esto na mesma rede fsica. Neste caso, gateways intermedirios tero que manusear este pacote at que ele chegue rede fsica de destino, para ai ser tratado como um roteamento direto. No roteamento indireto o transmissor deve identificar um Gateway para o qual o datagrama deve ser enviado, para que este Gateway tome a deciso de continuar enviando o pacote para a rede fsica que o conecta ou para um outro Gateway. Observe que o endereo deste Gateway deve estar na mesma rede fsica da mquina de origem. Cada mquina na Internet, seja ela um Host ou um Gateway, dever possuir uma tabela de rotas. A deciso que um Host dever tomar, baseado na sua tabela de rotas : O roteamento ser direto ou no? Caso no seja, para qual Gateway dever enviar o pacote? J a deciso do Gateway : Se a mquina destino est na mesma rede fsica e pode ser alcanada diretamente? (Neste caso ele o Gateway Final) Caso contrrio, para qual outro Gateway entregar o pacote?

GATEWAY H1 H2 H3 H4

Ethernet 1

Ethernet 2

Figura 6.1 Duas redes Ethernet ligadas por um Gateway

Na Figura 6.1, se H1 desejar se comunicar com H2, isto ser feito utilizando o roteamento direto, ou seja, H1 ter que mapear o endereo IP de H2 em seu endereo fsico (via ARP), encapsular o pacote IP no quadro fsico e enviar na rede para que H2 possa receb-lo. O mesmo ocorre se H3 quiser se comunicar com H4 ou vice-versa.

51

Agora se H1 desejar se comunicar com H3, ser feito um roteamento indireto. H1 escolher o Gateway como a mquina no caminho para H3. Observe que a princpio, H1 no sabe por quantos gateways o pacote ter que passar at atingir a mquina H3. A nica informao que ele tem que como o endereo de destino no esta conectado sua rede fsica ele precisa enviar este pacote para o Gateway, para que este tome uma deciso. Para que H1 consiga ento mandar o pacote para H3 ele ter que envi-lo antes ao Gateway. Neste caso, H1 far o mapeamento do endereo IP do gateway no seu endereo fsico (via ARP) e enviar o pacote para o gateway. Ao receber o pacote, o Gateway verifica que precisa fazer uma entrega direta para H3, e tambm via ARP o faz. Observe que apesar de H1 direcionar o pacote para o Gateway, este direcionamento apenas no nvel fsico. O pacote no ser alterado, ou seja, continuar com o endereo IP de destino H3. Desta forma o Gateway poder ento rote-lo. Este tipo de roteamento mais difcil que o roteamento direto, j que o remetente deve identificar um gateway ao qual o datagrama pode ser enviado, depois o gateway deve enviar o datagrama a rede destino, ou a outro gateway, e assim sucessivamente. Vamos supor que tenham muitas redes interconetadas por gateways, mas s tenham dois hosts em cada extremo da interconexo das redes, quando um host quer enviar ao outro, ele encapsula o datagrama e o envia ao gateway mais prximo. Uma vez que o quadro chega ao gateway, o software de IP extra o datagrama encapsulado, e a rotina de roteamento IP seleciona o prximo gateway que formar parte do caminho que levarr o datagrama ao Host destino. Talvez voc esteja se perguntando, como que eu vou ter certeza que as escolhas de gateways levaro o pacote ao endereo IP de destino correto? Este processo feito atravs da manipulao de um banco de dados distribudo. Onde cada rede tem que informar somente os dados referentes sua rede e manipular o que chamamos de Tabela de Roteamento.

7.3.

TABELA DE ROTEAMENTO

Tipicamente, uma tabela de roteamento (ou tabela de rotas), contm um par (N,G), onde N o endereo IP da rede destino e G o endereo IP do prximo Gateway no caminho da rede N.

52

Os Gateways no conhecem o caminho completo at a mquina destino e sim o prximo passo em direo quela rede. As tabelas de rota sempre apontam para Gateways que esto na mesma rede fsica da mquina que possui esta tabela. Na Figura 6.2 vemos quatro redes interligadas por trs gateways.
20.0.0.5 30.0.0.6 40.0.0.7

Rede 10.0.0.0

Rede 20.0.0.0

Rede 30.0.0.0

Rede 40.0.0.0

10.0.0.5

20.0.0.6

30.0.0.7

Figura 6.2 Configurao de quatro redes e trs gateways

Veremos a seguir quais deveriam ser as tabelas de rotas do gateway F (Tabela 6.1), G (Tabela 6.2) e H (Tabela 6.3). Rede Destino 10.0.0.0 20.0.0.0 30.0.0.0 40.0.0.0 Mandar Para Direto Direto 20.0.0.5 20.0.0.5

Tabela 6.1 Tabela de rotas do Gateway F

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

Tabela 6.2 Tabela de rotas do Gateway G

53

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

Tabela 6.3 Tabela de rotas do Gateway H

Nesta tabela possvel observar que quando um datagrama por enviado para a rede 10.0.0.0 ou para a rede 20.0.0.0 ele ser roteado para o endereo IP 30.0.0.6 (Gateway G) e quando for enviado para a rede 30.0.0.0 ou 40.0.0.0 o roteamento ser direto. Observe que cada Gateway no guarda toda a rota que o pacote dever seguir, e sim o prximo Gateway ou rede para o qual ele dever ser roteado ou entregue diretamente. importante entender que a tabela de roteamento sempre aponta aos gateways que podem ser alcanados atravs da rede a qual esse gateway est conetado. Isso significa que todos os gateways listados na tabela de roteamento de uma mquina M devem conetar-se as redes s quais M est conetada diretamente. Quando um datagrama est pronto para sair de M, o protocolo IP localiza o endereo IP destino e extrae a poro da rede. Logo M usa a identificao da rede para fazer uma deciso de roteamento, selecionando um gateway que possa ser alcanado diretamente. Nas tabelas de roteamento no possvel armazenar as informaes de cada mquina destino, seria impossvel manter as tabelas atualizadas, alm do que as mquinas teriam problemas com armazenamento para toda a informao.

54

7.4.

ROTA DEFAULT

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

Rede 10.0.0.0

Rede 20.0.0.0

Rede 30.0.0.0

Rede 40.0.0.0

10.0.0.5

20.0.0.6

30.0.0.7 I

40.0.0.8

70.0.0.5

60.0.0.6

50.0.0.7

50.0.0.8

Rede 80.0.0.0

Rede 70.0.0.0

Rede 60.0.0.0

Rede 50.0.0.0

80.0.0.5

70.0.0.6

60.0.0.7

Figura 6.3 Vrias redes interconectadas por Gateways

A Tabela de Rotas do Gatway G ficaria na forma da Tabela 6.4. Rede Destino 10.0.0.0 20.0.0.0 30.0.0.0 40.0.0.0 50.0.0.0 60.0.0.0 70.0.0.0 80.0.0.0 Mandar Para 20.0.0.5 Direto Direto 30.0.0.7 30.0.0.7 30.0.0.7 30.0.0.7 30.0.0.7

Tabela 6.4 Tabela de Rotas do Gateway G

Podemos notar claramente que existem vrias rotas apontando para o mesmo Gateway H (endereo IP 30.0.0.7). Alm disso, se a rede continuar crescendo para este lado, a tabela de rotas de G aumentaria tambm, e sempre apontando para o mesmo gateway H.

55

Para no ficarmos desperdiando espao em memria, a especificao TCP/IP permite que seja definida uma rota default, que ser usada sempre que nenhuma outra rota for encontrada na tabela. Utilizando a rota default a tabela de rotas de G seria apenas (Tabela 6.5): Rede Destino 10.0.0.0 20.0.0.0 30.0.0.0 Default Mandar Para 20.0.0.5 Direto Direto 30.0.0.7

Tabela 6.5 Tabela de Rotas do Gateway G usando rota Default

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

7.5.

ALGUNS EXEMPLOS PRTICOS

Nesta sesso faremos alguns exerccios prticos de estabelecimento de rotas de Gateways e Hosts. Faremos agora um exemplo prtico, para demonstrar como feita a tabela de rotas estticas de trs redes conectadas entre si e Internet.

7.5.1.

Exemplo 1

Estabelea a tabela de rotas das mquinas G1, G2, G3, G4, H1, H2 conforme a Figura 6.4
Ethernet 146.134.20.0
146.134.20.2 146.134.20.7 146.134.20.8 192.3.40.22 146.134.20.1

H1
192.3.40.1

G3

G4
146.134.21.12

FDDI

192.3.40.0

H2 G1
200.241.155.10 Ligao ponto-a-ponto 200.241.155.9 146.134.21.2 146.134.21.1 192.3.40.20 192.3.40.21

192.3.40.2

G2

Ethernet 146.134.21.0 Para a Internet

56

Figura 6.4 Trs redes conectadas entre si e Internet

G1
Rede Destino 192.3.40.0 146.134.20.0 146.134.21.0 0.0.0.0 Mscara 255.255.255.0 255.255.255.0 255.255.255.0 0.0.0.0 Gateway Destino 192.3.40.2 192.3.40.22 192.3.40.20 200.241.155.9 Interface 192.3.40.2 192.3.40.2 192.3.40.2 200.241.155.10 Mtrica 1 1 1 1

57

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

G2
Rede Destino 192.3.40.0 146.134.21.0 146.134.20.0 146.134.20.0 0.0.0.0 Mscara 255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0 0.0.0.0 Gateway Destino 192.3.40.20 146.134.21.2 192.3.40.22 146.134.21.12 192.3.40.2 Interface 192.3.40.20 146.134.21.2 192.3.40.20 146.134.21.2 192.3.40.20 Mtrica 1 1 1 2 1

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

58

E por ltimo, a nossa default enviada para G1 (192.3.40.2) atravs da interface FDDI (192.3.40.20) A configurao de G3 e G4 segue o mesmo princpio da de G2 e G3

G3
Rede Destino 146.134.20.0 192.3.40.0 146.134.21.0 146.134.21.0 0.0.0.0 Mscara 255.255.255.0 255.255.255.0 255.255.255.0 255.255.255.0 0.0.0.0 Gateway Destino 146.134.20.8 192.3.40.22 192.3.40.20 146.134.20.1 192.3.40.2 Interface 146.134.20.8 192.3.40.22 192.3.40.22 146.134.20.8 192.3.40.22 Mtrica 1 1 1 2 1

59

8.

IGP INTERIOR GATEWAY PROTOCOL

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

BACKBONE

G1

Core Gateway

Local Net 1

Local Net 2

G2

G3

Local Net 3

Figura 7.1 Sistema Autnomo

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

60

BACKBONE

G1

G2

G3

Sistema Autnomo 1

Sistema Autnomo 2

Sistema Autnomo 3

Figura 7.2 Interligao de trs sistemas autnomos ao Backbone

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

Sistema Autnomo 1

EGP G1 G2

Sistema Autnomo 2

Figura 7.3 Troca de informaes entre sistemas autnomos

61

Gateways que trocam informaes de roteamento somente com gateways do mesmo Sistema Autnomo so considerados "Vizinhos Interiores" e utilizam diversos protocolos denominados genericamente IGP (Interior Gateway Protocols). Entre eles encontram-se o RIP (Routing Information Protocol), o HELLO, o OSPF (Open Shortest Path First), o IGRP (Internal Gateway Routing Protocol), entre outros. Neste captulo veremos os protocolos IGP e no prximo captulo os protocolos EGP.

8.1.

RIP - ROUTING INFORMATION PROTOCOL (RFC 1058)

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

62

Nas mquinas UNIX o comando routed aciona o daemon responsvel pelo roteamento. Este daemon deve ser executado quando a mquina ligada. O arquivo /etc/gateways indica a rota para uma determinada rede e a mtrica para ela. J o comando netstat r, mostra a tabela de roteamento e a sua respectiva mtrica. O RIP utiliza a porta UDP 520 para transmisso dos dados de roteamento.

8.1.1.

Problemas do Protocolo RIP

O RIP especifica poucas regras para melhorar a performance e confiabilidade. Por exemplo, quando um gateway aprende uma rota de um outro gateway, ele deve manter esta rota at que aprenda uma melhor. Se dois gateways anunciam uma rota com o mesmo custo, ser usada aquela que for anunciada primeiro. A Figura 7.4 ilustra a interligao de cinco redes (Rede 1 a 5) atravs de cinco Gateways (G1 a G5). Rede 2

G1 Rede 1 G2 G5

Rede 3

G3 Rede 4
Figura 7.4 Interligao de redes

G4 Rede 5

Na Figura 7.4, suponha que G4 aprendeu que a rota para a rede 1 pelo Gateway G2. Caso o gateway G2 falhe, G4 manteria esta informao errada por um determinado tempo, no conseguindo rotear os pacotes para Rede 1. Observe entretanto que G4 poderia mandar os pacotes atravs do gateway G5. Esta rota sempre existiu, mas G4 simplesmente no enxergava.

63

Para evitar este tipo de problema, o RIP estabelece que todos os ouvintes devem colocar um temporizador (time-out) para cada rota aprendida. O temporizador reinicializado sempre que o gateway receber um novo anncio para aquela rota. Caso este tempo passe de 180 segundos a rota eliminada. No caso acima, a partir do momento que o gateway G2 para de responder, levar pelos menos 180 segundos para que a rota em G4 seja excluda. Aps este momento levar algum tempo ainda para que G4 aprenda a rota por G5. Observe que o tempo para aprendizado de rotas muito grande no RIP.

8.1.2.

Convergncia Lenta do RIP

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

Figura 7.5 Interligao de gateways a uma rede

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

64

Figura 7.6 Loop entre G1 e G2

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

8.1.2.1.

Mtodo Split Horizon

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

8.1.2.2.

Mtodo Hold Down

Se um gateway informa um rota curta de acesso a uma rede, todas os gateways recebem esta informao e rapidamente atualizam suas tabelas de rotas. Agora se um gateway para de informar uma rota o protocolo depende de um mecanismo de timeout antes de considerar a rota inalcanvel. Uma vez que o time-out ocorre, o gateway pode encontrar uma rota alternativa, atualizar sua tabela e comear a propagar esta informao. Infelizmente, um gateway no pode saber se a rota alternativa depende da rota que esta interrompida (por exemplo, se foi propagao de um outro gateway que ainda no estourou o time-out). Esta negativa de informao no se propaga rapidamente.

65

Na tcnica de Hold Down fora-se um gateway participativo a ignorar a informao sobre uma rede por um perodo fixo de tempo (tipicamente 60 segundos) aps o recebimento de uma mensagem que informa que a rede est inalcanvel ou aps o estouro do time-out. O problema do Hold Down que ele preserva rotas incorretas durante seu tempo de durao.

8.1.2.3.

Mtodo Poison Reverse

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

8.2.

O PROTOCOLO HELLO

O protocolo HELLO muito parecido com o RIP. A diferena bsica que o RIP usa a mtrica de hops e o Hello usa a mtrica de delay (atraso) entre uma rede e outra. As funes bsicas so:

manter o sincronismo dos relgios de todos os gateways envolvidos divulgar alcance por tempo referente a cada rede.

Cada mquina participante do Hello mantm uma tabela com a estimativa do relgio em cada um de seus vizinhos. Antes de transmitir um pacote Hello, a mquina coloca neste pacote o seu relgio. Quando o pacote chega, a mquina receptora computa o delay no enlace baseado na estimativa do relgio da mquina que enviou. Periodicamente as mquinas atualizam seus vizinhos para reestabelecer as estimativas de relgios destes.

8.3.

OSPF - OPEN SHORTEST PATH FIRST (RFC 1131)

66

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

67

Em um protocolo de roteamento baseado no SPF (shortest path first), cada roteador mantm uma base de dados descrevendo a topologia do Sistema Autnomo. Cada roteador participante possui uma base idntica. Cada parte individual desta base de dados um estado particular do roteador local (a interface usvel do roteador e vizinhos alcanveis). Todos roteadores executam o mesmo algoritmo em paralelo. Sobre a base de dados topologica, cada roteador constri uma rvore dos menores caminhos alcanveis, com ele prprio de raiz. Esta rvore mostra a rota para cada destino de um sistema autnomo. Informaes para roteamento externo aparecem como folhas na rvore. Este esquema reduz drasticamente a comunicao entre os gateways, alm de permitir uma tomada de deciso muito mais rpida e eficiente a respeito do caminho a ser escolhido.

8.3.1.

Formato das Mensagens

Descreveremos nesta sesso o formato bsico das mensagens que so trocadas atravs do protocolo OSPF. A Figura 7.7 mostra o cabealho padro de uma mensagem OSPF.
VERSION (1) TYPE MESSAGE LENGTH

SOURCE GATEWAY IP ADDRESS AREA ID CHECKSUM AUTHENTICATION TYPE

AUTHENTICATION (octets 0-3) AUTHENTICATION (octets 4-7)

Figura 7.7 Cabealho padro mensagem OSPF

A Tabela 7.1 descreve os campos do cabealho padro.

Nome do Campo VERSION TYPE

Descrio Especifica a verso do protocolo OSPF Tipo de Mensagem. As possveis mensagens so: 1 Hello (usado para testar alcance) 2 Database Description (Topologia) 3 Link Status Request (Requisio de status do

68

Nome do Campo

MESSAGE LENGHT SOURCE GATEWAY IP ADDRESS CHECKSUM AUTHENTICATION TYPE

AUTHENTICATION

Descrio link) 4 Link Status Update (Atualizao do status do link) 5 Link Status Acknowledgement (Reconhecimento do status do link) Tamanho da mensagem OSPF Utilizado para identificao do gateway gerador da mensagem OSPF, onde introduzido o seu respectivo endereo IP Utilizado na verificao de erros da mensagem OSPF Utilizado para garantir a idoneidade das informaes de roteamento trocadas. Quando "0", no ser utilizada a autenticao. Quando "1", ser utilizada uma "senha" de autenticao Senha de validao, caso AUTHENTICATION TYPE =1

Tabela 7.1 Descrio dos campos da mensagem OSPF

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

8.3.1.1.

Database Description

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

69

OSPF Header With Type = 2 Must be zero Database Sequence Number Link Type Link ID Advertising Gateway Link Sequence Number Link Checksum Link Age I M S

...

Figura 7.8 Formato da Mensagem enviada pelo Gateway Mestre aos Escravos

A Tabela 7.2 descreve os campos da Figura 7.8 Nome do Campo I Descrio Controle de fragmentao. Quando "0" identifica segmentos posteriores de uma mensagem. Se "1", indica o fragmento inicial M Se "0" indica que a mensagem no foi segmentada ou que este o ltimo fragmento. Se "1" indica que a mensagem foi fragmentada e mais fragmentos sero enviados S Se "0" indica que a mensagem foi enviada por um gateway escravo, e se "1", foi enviada por um gateway mestre. DATABASE Utilizado para manter o sincronismo das mensagens SEQUENCE NUMBER enviadas, onde um nmero gerado inicialmente e acrescido a cada mensagem enviada. LINK TYPE Descreve o tipo do link mencionado LINK ID Identifica o endereo IP de um gateway ou de uma rede ADVERTISING GATEWAY Endereo IP do gateway que divulga o link LINK Cada link divulgado na database tem seu prprio SEQUENCE NUMBER nmero de sequncia, assegurando que as mensagens no se percam ou cheguem fora de ordem

70

Nome do Campo LINK CHECKSUM LINK AGE

Descrio Visa garantir que os dados referentes a cada link no sejam corrompidos Utilizado para medir a permanncia de cada link em estado ativo
Tabela 7.2 Descrio dos campos Database Description

Os campos de LINK TYPE at LINK AGE so repetidos na mensagem para cada link especificado.

8.3.1.2.

Link Status Request

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

OSPF Header With Type = 3 Link Type Link ID Advertising Gateway

...
Figura 7.9 Cabealho de uma mensagem Link Status Request

8.3.1.3.

Link Status Update

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

71

OSPF Header With Type = 4 Number of Link Status Advertisements Link Status Advertisement 1

...
Link Status Advertisement n

Figura 7.10 Mensagem de atualizao de um link

Na Figura 7.10 o campo Number of Link Status Advertisements indica quantos links esto sendo enviados para atualizao, j o campo Link Status Advertisement (Situao do Link divulgado) possui o formato da Figura 7.11
Link Age Link ID Advertising Gateway Link Sequence Number Lenght Link Checksum Link Type

Figura 7.11 Status do Link

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

8.3.1.4.

Link Status Acknowledgement

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

72

OSPF Header With Type = 5 Link Age Link ID Link Sequence Number Link Type

Advertising Gateway

Figura 7.12 Confirmao da situao do link

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

73

8.3.2.

Exemplo de Funcionamento OSPF

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

Figura 7.13 Mapa de um Sistema Autnomo

74

A cada sada de interface do roteador associado um custo. Este custo configurado pelo administrador do sistema. Alm da configurao manual os custos so tambm associados com dados de roteamento externo (rotas EGP). A partir da Figura 7.13, e os seus respectivos custos possvel especificar o grafo da Figura 7.14. Observe que cada reta indica o custo associado a ela. Para as retas que no possuem custo associado intendido que o seus custo igual a zero. O grafo gerado atravs da Figura 7.13 (Banco de dados da topologia) deve ser analisado conjuntamente com as informaes do link state geradas pelos roteadores.

Figura 7.13 Grfico de custos de um sistema autnomo

75

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

Figura 7.14 Tabela de Rotas para o Roteador RT6

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

76

8.4.

IGRP (INTERIOR GATEWAY ROUTING PROTOCOL)

O protocolo IGRP um protocolo de roteamento proprietrio da Cisco System, desenvolvido em meados dos anos 80. O principal objetivo do IGRP prover um mecanismo robusto de roteamento dentro de um sistema autnomo com topologia complexa e meios de comunicao com diferentes bandas passantes e atrasos. O IGRP usa o protocolo Vector Distance e sua mtrica um conjunto de parmetros que definem o quo bom um caminho at o destino desejado. IGRP escolher, ento, o caminho com a melhor mtrica. Tambm poder escolher dois ou mais caminhos desde que suas mtricas sejam prximas. A mtrica do IGRP inclui:

Delay Topolgico (delay supondo que o caminho est totalmente livre de trfego); A banda passante do enlace mais lento no caminho; A ocupao dos canais no caminho (percentagem da banda passante que est sendo gasta naquele momento); A confiabilidade do caminho (taxa mdia de erros).

No IGRP, o protocolo Bellman-Ford (Vector Distance) modificado em trs aspectos crticos: 1. Ao invs de mtrica simples, um vetor de mtricas usado para caracterizar o caminho. 2. Ao invs de escolher o caminho com menor mtrica, o trfego dividido em vrios caminhos cujas mtricas estejam dentro de uma faixa especificada. 3. Vrias caractersticas so introduzidas para prover estabilidade em situaes onde a topologia muda. Split Horizons, Hold Down, reverse Poison e triggered Update.

Todas estas caractersticas so na verdade a fuso de vrias idias dos protocolos anteriormente apresentados. Neste sentido o IGRP tem grande vantagem sobre os demais. O ponto que mais pesa contra este protocolo ele ser proprietrio, diferente dos demais protocolos de roteamento apresentados anteriormente.

77

9.

EGP - EXTERIOR GATEWAY PROTOCOL (RFC 904)

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

Figura 8.1 Dois sistemas autnomos interligados por um protocolo EGP

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

78

Para acomodar estas trs funes bsicas, o protocolo EGP define nove tipos de mensagens, mostrados na tabela 8.1. Tipo de Mensagem EGP ACQUISITION REQUEST ACQUISITION CONFIRM ACQUISITION REFUSE CEASE REQUEST CEASE CONFIRM HELLO I HEARD YOU POLL REQUEST ROUTING UPDATE ERROR Descrio Requisita um gateway para tornar-se vizinho. Resposta positiva para Acquisition Request. Resposta negativa para Acquisition Request. Requisita o trmino da relao de vizinhana. Resposta de confirmao para Cease Request. Requisita uma resposta ao vizinho para verificar se ele est operante. Resposta da mensagem Hello. Requisita a atualizao de informaes de roteamento da rede. Atualiza as informaes de roteamento. Resposta a mensagens incorretas.
Tabela 8.1 Mensagens do protocolo EGP

Veremos a seguir algumas dessas mensagens.

9.1.

CABEALHO PADRO DO EGP

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

Figura 8.2 Cabealho Padro EGP

Campo VERSION TYPE CODE STATUS

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

79

Campo

Descrio quando um gateway inicia a comunicao com um Vizinho Exterior" e incrementado a cada mensagem enviada.
Tabela 8.2 Descrio dos campos do cabealho padro EGP

80

9.2.

MENSAGEM DE AQUISIO DE VIZINHO

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

Figura 8.3 Formato da Mensagem de Aquisio do Vizinho

Os campos Version, Type, Status, CheckSum, Autonomous System Num. e Sequence Number so os campos do cabealho padro mostrado na Figura 8.2. Nesta mensagem especificamente o campo Code pode receber os seguintes valores (Tabela 8.3) CODE 0 1 2 3 4 Significado comando de requisio resposta de confirmao resposta de rejeio comando de terminao resposta de encerramento

Tabela 8.3 Opes do campo CODE para a mensagem Neighbor Acquisition

J os outros campos so descritos na Tabela 8.4 Campo Descrio HELLO INTERVAL Utilizado para implementar um timer a ser utilizado para o envio de mensagens peridicas com o intuito de testar a resposta do vizinho (saber se o vizinho est vivo). POLL INTERVAL Mxima freqncia de atualizaes de rotas UNUSED No usado
Tabela 8.4 Demais campos da mensagem Neighbor Acquisition

81

9.3.

TESTE CONTNUO DE FUNCIONAMENTO DE VIZINHO

A mensagem para descobrir se um vizinho esta respondendo a mensagem EGP bsica, com o campo Type = 5 e o campo Code = 0 (Comando HELLO) ou 1 (Resposta I HEAD YOU Eu te escuto). A forma da mensagem mostrada na Figura 8.4

Figura 8.4 Formato da Mensagem confirmao se vizinho esta respondendo

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

9.4.

MENSAGEM POLL REQUEST

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

Figura 8.5 Cabealho padro POLL REQUEST

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

82

9.5.

MENSAGEM DE ATUALIZAO DE ROTAS

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

Figura 8.6 Formato da mensagem de atualizao de rotas do EGP

83

Os campos da Figura 8.6 so descritos na Tabela 8.5 Campo #INT. GWYS #EXT. GWYS IP SOURCE NETWORK ROUTER 1 IP ADDRESS #DISTANCES DISTANCE Dii #NETS AT Dii Descrio Identifica o nmero total de gateways interiores que aparecem na mensagem Identifica o nmero total de gateways exteriores que aparecem na mensagem Nmero IP da rede sobre a qual esto sendo solicitadas as informaes de alcanabilidade, ou seja, a rede sobre a qual a alcanabilidade medida Contm o endereo do roteador (gateway) destino Utilizado para identificar o nmero de distncias existentes no segmento relativo ao I-simo Gateway Identifica qual a distncia (em hops) deste grupo de endereos Especifica quantos endereos so mencionados para a distncia em questo, j que utilizado juntamente com um determinado nmero de distncia Reservado para a incluso dos endereos IP (NETID) na respectiva distncia

NETWORK "I" AT DISTANCE Dii

Tabela 8.5 Descrio dos campos da mensagem de atualizao de rotas

Para exemplificar o funcionamento do protocolo EGP observe a Figura 8.7

Figura 8.7 Mapa de redes com EGP

84

85

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

10.

DNS - DOMAIN NAME SYSTEM

Do ponto de vista da Internet, as mquinas so muito bem identificadas pelo endereo IP. So estes valores (endereos IP) que realmente viajam no pacote IP, conforme j visto anteriormente. No entanto, do ponto de vista do usurio, estes nmeros so difceis de serem memorizados. mais fcil para o usurio guardar o nome www.microsoft.com.br do que o seu respectivo endereo IP 200.240.13.31. A fim de facilitar a vida do usurio foi criado o servio de DNS (Domain Name System Servio de Nomes), que associa nomes simblicos a endereos IP, tornando mais fcil ao usurio final a utilizao da Internet como um todo. Um nome meramente um identificador que consiste de uma sequncia de caracteres escolhidas num alfabeto. O endereo IP considerado um nome de baixo nvel, no entanto os usurios preferem endereos de alto nvel. Uma forma de estabelecer um sistema de nomes seria criar um nico banco de dados que contivesse a relao <nome, endereo IP> de todas as mquinas da Internet. Este banco de dados estaria numa nica mquina (talvez em duas por questo de segurana) e todas as outras mquinas consultariam esta para conseguir traduzir os nomes para endereos IP. Qualquer mquina que fosse adicionada a esta Internet deveria ser cadastrada neste servidor de nomes central. Para uma Internet pequena este sistema funcionaria bem. Porm com seu crescimento este sistema traria alguns inconvenientes.

86

Toda incluso de nomes teria que ser feita por uma nica pessoa (ou grupo de pessoas) Haveria problema na escolha dos nomes, devido as poucas opes que se teria

Devido a estas limitaes em um sistema nico, foi escolhido construir esse Banco de Dados de forma distribuda. Hoje, a Internet possui em cada pas um rgo responsvel pela criao de domnios e distribuio de endereos IPs, entre outras atividades. No Brasil esta organizao a FAPESP (Fundao de Amparo Pesquisa do Estado de So Paulo) www.fapesp.br. A FAPESP responsvel pela criao e manuteno de domnios no Brasil, ela que possui o banco de dados Nome do Domnio x Endereo IP para todos os domnios cadastrados no Brasil. Caso voc faa uma solicitao de incluso de um domnio preciso verificar antes se ele j existe - registro.fapesp.br caso j exista voc ter que escolher um outro nome. Caso no exista voc pode providenciar o seu registro sozinho ou com a ajuda de um provedor de acesso. O Domain Name System (DNS) responsvel por diversas tarefas. Ele cria uma hierarquia de domnios, referncias, ou grupos de computadores. Estabelece um nome de referncia (tambm conhecido como endereo da Internet) para cada computador na rede. As referncias principais tem a responsabilidade de manter listas e endereos de outras referncias do nvel imediatamente inferior em cada grupo. Este nvel inferior de referncias o responsvel pelo prximo nvel e assim por diante at o usurio final, ou computador final. O DNS utiliza esta hierarquia para transformar um nome de computador, escrito por extenso, em um nmero denominado endereo IP. O protocolo TCP/IP precisa saber o endereo da mquina local e o endereo IP da mquina que se deseja conectar. Quando o usurio informa o nome de uma mquina e no o seu endereo IP o servio de DNS que se responsabiliza em transformar aquele nome de mquina em endereo IP, para que se possa estabelecer a comunicao. Em geral, este processo totalmente transparente ao usurio final. Apesar da FAPESP ser responsvel pelos domnios, so os domnios que so responsveis pelos nomes das suas mquinas. Por exemplo de responsabilidade da FAPESP registrar e divulgar o domnio UFES.BR, mas de responsabilidade da UFES definir quais sero o nome das suas mquinas e caso existam sub-domnios quais so os nomes das mquinas destes sub-domnios, por exemplo o sub-domnio INF.UFES.BR possui uma mquina que se chama CAIRO.INF.UFES.BR.

87

Todo servio pode ser acessado pelo nome hierrquico ou pelo endereo IP correspondente. Logo digitarmos em um Browser http://www.microsoft.com.br ou http://200.240.13.31 tem o mesmo significado, sendo que a primeira opo s funciona se o computador possui o servio de DNS instalado, j a segunda opo funciona em todos os casos. A descrio do servio de DNS feita ftp://ds.internic.net/rfc/rfc1034.txt -escrita por Paul Mockapetris. na RFC 1034

10.1.

NOMES HIERRQUICOS

A Internet usa a analogia do sistema postal para definir o nome de um determinado domnio ou mquina. No sistema postal, uma casa pode ser localizada atravs de seu pas, estado, cidade, rua e nmero, onde o nmero esta contido na rua, que por sua vez esta contida na cidade e assim por diante. Na Internet o mecanismo bastante semelhante, uma mquina endereada por um conjunto de informaes, por exemplo a mquina cairo do Laboratrio de Informtica do CT-III da UFES (Universidade Federal do Esprito Santo) pode ser localizada da seguinte forma: cairo.inf.ufes.br Este endereo indica que a mquina cairo est contida no conjunto inf que por sua vez est contida no conjunto ufes que est no conjunto br. O que foi referido como conjuntos, no mundo da Internet recebe o nome de domnios. Desta forma, existe o grande domnio br. Este contm vrios sub-domnios dentre os quais o sub-domnio ufes, que por sua vez contm o sub-domnio inf, que possui a mquina cairo. A Figura 9.1 ilustra como essa diviso feita na Internet.
Hierarquia de Nomes .

Canad ca

Brasil br

Frana fr

Estados Unidos

UFES ufes

Governamental gov

Comercial com

Educacional edu

Governamental gov

Comercial com

Eltrica ele

Informtica inf

Outros

cairo

Figura 9.1 Hierarquia de nomes na Internet

88

A Figura 9.1 mostra uma hierarquia onde o domnio . o nvel mais alto, vindo abaixo dele a designao dos pases, menos para os Estados Unidos, que no tem essas designao. Abaixo de cada pas feita uma estrutura de acordo com as necessidades daquele pas. Observe entretanto, que no somente uma mquina que responde pelo domnio br, nem to pouco uma que responde pelo domnio .. Este s um modelo esquemtico da Hierarquia de nomes, na realidade, vrias mquinas respondem por cada um dos domnios especificados, com objetivo de evitar falhas na resoluo de nomes. Nem as prprias ligaes fsicas precisam existir necessariamente, podendo ser somente conceitual, estando ligadas de outra forma. Com os conceitos de domnios j discutidos pode-se mostrar como a Internet est estruturada. A Internet formada por um conjunto de grande domnios globais, divididos em pases, como mostrado abaixo: Brasil Canada Reino Unido Itlia Existem ainda alguns domnios globais pertencentes aos Estados Unidos. Estes foram os domnios iniciais da Internet, antes das expanses para os outros pases, e por isso no tem nenhuma extenso, como US por exemplo: mil Militar gov Governamental edu Educacional com Comercial net Empresas/grupos preocupados com a Administrao da Internet org Outras organizaes da Internet Cada um destes domnios apresenta vrios sub-domnios pelos quais so responsveis. Por exemplo, o grande domnio global br, possui alguns sub-domnios: ufes.br UFES rnp.br Rede Nacional de Pesquisa usp.br USP Existe ainda os sub-domnios de um domnio. Por exemplo o domnio com.br que denota as empresas possui vrios sub-domnios dentre deste domnio maior: uol.com.br zaz.com.br digital.com.br Universo Online Provedor ZAZ Digital, empresa de Informtica br ca uk it

89

10.2.

FERRAMENTA NSLOOKUP

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

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

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

www.zaz.com.br

Tabela 9.1 Comando Nslookup

Ainda dentro do Nslookup possvel definir que tipo de servidor estamos procurando. Se desejarmos saber qual o servidor de mail que responde pelo domnio microsoft.com basta digitarmos setquetytype=mx para indicarmos que o tipo de resposta para um servidor de e-mail e logo aps digitar o nome do domnio. Observe que necessrio colocar o ponto (.) no final do domnio. No exemplo abaixo, este domnio possui cinco servidor de mail com a mesma prioridade (10), e abaixo mostrado o endereo IP de cada servidor de e-mail.
> setquerytype=mx > microsoft.com. Server: cairo.inf.ufes.br Address: 200.241.16.8 microsoft.com preference = microsoft.com preference = microsoft.com preference = microsoft.com preference = microsoft.com preference = mail1.microsoft.com inet 10, mail exchanger = mail1.microsoft.com 10, mail exchanger = mail2.microsoft.com 10, mail exchanger = mail3.microsoft.com 10, mail exchanger = mail4.microsoft.com 10, mail exchanger = mail5.microsoft.com address = 131.107.3.125

90

mail2.microsoft.com mail3.microsoft.com mail4.microsoft.com mail5.microsoft.com

inet inet inet inet

address address address address

= = = =

131.107.3.124 131.107.3.123 131.107.3.122 131.107.3.121

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

Observe que a resposta do endereo IP de www.altavista.digital.com agora dada por caracol.inf.ufrgs.br e no mais por cairo.inf.ufes.br. Esta opo bastante til para testar se um servidor esta respondendo corretamente, de forma remota.

10.3.

CONFIGURAO DO DNS

A configurao do servio de DNS para o usurio final bastante simples. Ele s precisa informar qualquer o endereo IP do servidor de DNS. Vai ser este servidor entretanto que ir converter os nomes hierrquicos em endereos IP e retornar as respostas ap licao. A Figura 9.2 mostra a configurao de um cliente de DNS em uma estao Windows 95.

91

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

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

92

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

10.4.

RESOLUO DE NOMES

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

10.4.1.

Formato da Mensagem

Assumiremos que um usurio invoca uma aplicao e fornece o nome da mquina com a qual a aplicao deve se comunicar. Antes de usar os protocolos UDP ou TCP para transmitir os dados pela rede, a aplicao deve encontrar o endereo IP da mquina destino (Lembre-se que o cabealho do nvel de rede contm o endereo IP de destino e no o nome data mquina).

93

A aplicao passa o nome da mquina para o RESOLVER local. O Resolver verifica se o nome informado esta na memria cache. Caso esteja, ele informa o endereo IP aplicao, caso contrrio ele monta uma mensagem, como a mostrada na Figura 9.3 e envia ao servidor de DNS, que especificado na Figura 9.2. As mensagens do resolver so encapsulados em datagramas UDP.

Figura 9.3 Formato da mensagem DNS

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

Figura 9.4 - Opes do campo Parameter

94

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

11.

APLICAES

As aplicaes da arquitetura TCP/IP no possuem uma padronizao comum. As aplicaes ditas padronizadas, como o SNMP (e-mail), FTP, HTTP, etc possuem uma ou mais RFCs que as identificam. Logo, qualquer pessoa ou empresa pode escrever um programa de e-mail utilizando os padres descritos nas RFCs sobre SNMP por exemplo. Outras aplicaes usadas largamente na Internet entretanto no possuem uma padronizao, como o caso por exemplo dos programas ICQ (www.icq.com), RealAudio e RealVideo (www.real.com), Microsoft Netmetting (www.microsoft.com), entre outros. Este programas no possuem uma padronizao a nvel de RFCs. A especificao da aplicao fica a cargo da prpria empresa que a confeccionou, cabendo a ela divulgar isto ou no.

95

Como visto anteriormente, toda aplicao precisa estar relacionada a uma porta e a um protocolo (TCP ou UDP). Para as aplicaes padro os nmeros de porta esto reservados de 1 1.024. J para as portas no padro pode -se escolher entre 1.025 65.536. Cada fabricante esc olhe um nmero de porta qualquer, podendo eventualmente ocorrer conflito de portas, se dois fabricantes resolverem fazer uma aplicao diferente utilizando a mesma porta. Pensando nisso a maioria dos sistemas permite configurar o nmero de porta que a aplicao servidor ser utilizada, para evitar conflito com outras aplicaes. Veremos a seguir algumas aplicaes utilizadas na Arquitetura TCP/IP.

11.1.

TELNET TERMINAL REMOTO

O servio de terminal remoto (telnet) permite que um usurio conecte-se a uma mquina e tenha acesso a todos os seus recursos (ou pelo menos aqueles que sua senha permite) como se estivesse trabalhando nesta mquina fisicamente. possvel por exemplo a um usurio conectar-se a uma mquina atravs do telnet e imprimir um texto na impressora desta rede. Ou executar um programa utilizando os recursos de hardware da mquina remota. Esta opo particularmente interessante quando uma pessoa deseja utilizar a velocidade de processamento de uma mquina que ele no possui. Neste caso ele pode usar o poder de processamento da mquina remota, em geral super-computadores. Esta opo foi amplamente utilizada no incio da Internet onde somente algumas universidades americanas possuam supercomputadores, mas como todas as universidades estavam conectadas Internet, todas elas podiam utilizar os recursos computacionais destas mquinas. At hoje este servio bastante utilizado, inclusive no Brasil que possui trs super-computadores que servem a vrias universidades brasileiras. O servio de telnet tambm muito utilizado por administradores de sistemas ou redes, para concertarem configuraes de programas sem precisarem irem ao local fisicamente. Como toda aplicao client-server, o telnet tambm precisa de um servidor de telnet e um cliente telnet. Todas as mquinas possuem o servidor de telnet instalado, podendo as vezes ser desabilitado por problemas de segurana, como acontece em vrios provedores de acesso que tem medo de um cracker invadir o sistema utilizando o telnet. O sistema operacional Windows NT no possui o servio de servidor telnet.

96

O Telnet uma aplicao que utiliza o protocolo TCP para transportar os dados, pois necessita de certeza de entrega dos pacotes entre as mquinas envolvidas. O servio de telnet esta na porta 23. Qualquer mquina pode ter acesso ao servio de telnet, desde que o usurio esteja cadastrado na mquina servidora e possua uma senha no sistema. Alguns sistemas permitem o usurio se logar como guess (convidado). A Figura 10.1 mostra a tela de um cliente telnet acessando um servidor telnet. Neste caso especfico o servidor telnet uma mquina UNIX (cairo.inf.ufes.br 200.241.16.8) e o cliente telnet esta sendo executado em uma estao Windows 95/NT qualquer.

Figura 10.1 Usurio acessando o servio de telnet

Observe que mesmo o usurio remoto estando em uma mquina Windows, quando ele se conecta ao servidor de telnet, que uma mquina UNIX, ele tem que usar os comandos deste sistema operacional. O mesmo aconteceria se o sistema operacional fosse o VMS por exemplo. possvel tambm uma mquina UNIX fazer uma conexo telnet com outra mquina UNIX, bastando para isso digitar na linha de comando: telnet <nome da mquina ou endereo IP>

97

O telnet um pouco ineficiente do ponto de vista de transporte de informaes. Isto acontece porque todo caracter digitado mandado para o servidor telnet na forma de um pacote separado dos demais. Diferente do servio de FTP, onde o usurio digita toda uma linha, e s aps o enter do usurio que toda a linha enviada. Isto no ocorre no telnet porque as vezes a aplicao que ser executada pede ao usurio para digitar somente um nico caracter (as vezes sem enter). Logo esta a nica forma de compatibilizar todas as aplicaes.

11.2.

FTP - TRANSFERNCIA DE ARQUIVOS

O FTP (File Transfer Protocol Protocolo de Transferncia de Arquivos), como o prprio nome indica um servio que possibilita a transferncia de arquivos entre mquinas. possvel transferir qualquer tipo de arquivo entre mquinas com diferentes sistemas operacionais. Basicamente voc tem um servidor de FTP, que contem vrios arquivos armazenados nele e um cliente FTP, que se conecta ao servidor de FTP para buscar um arquivo (download) ou colocar um arquivo no servidor (upload). Existem basicamente duas classes de FTP. O FTP annimo que aquele onde o usurio no precisa se identificar. Neste caso ele s tem acesso a arquivos pblicos e sem direito a transferir arquivos para o servidor. S tendo direito de pegar arquivos do servidor para ele. J no FTP identificado, o usurio entra com o seu login e a sua senha, que foram previamente cadastradas e tem acesso a sua rea de trabalho, onde pode fazer downloads ou uploads de arquivos. Dependendo basicamente da sua configurao junto ao servidor de FTP, que definida pelo administrador da rede. O FTP um servio utilizado por vrias pessoas. Este servio vem nativo nas mquinas UNIX tanto a verso servidor como a cliente, e nas mquinas Windows pode ser instalado a verso servidora, a cliente, no modo caracter j vindo nativa. Outras aplicaes visuais entretanto transforma a tarefa de se transferir arquivos numa tarefa muito mais fcil para o usurio final. No modo a caracter, tanto no UNIX quanto no Windows, o usurio digita basicamente: ftp <nome da mquina> Ex: ftp ftp.microsoft.com

98

Aps este comando e com estabelecimento da conexo, ser requisitado o nome da conta: name: Logo aps, a senha: password: O usurio informa os dados e a partir da ir usar os comandos do FTP. Caso seja um FTP annimo (o usurio no tem conta na mquina remota), basta ele digitar anonymous no campo name e o seu e-mail no campo password. Os principais comandos do FTP so: put <nome do arquivo> para enviar um arquivo da mquina local para a mquina remota e get <nome do arquivo> para trazer um arquivo da mquina remota para a mquina local. Alguns outros comandos do FTP so mostrados na Tabela 10.1 Comando dir ou ls cd <caminho> lcd <caminho> Pwd !<comando> Ex: !del *.txt get <arquivo> Ex: get scan.exe Mget <arquivos> mget *.txt put <arquivo> Ex: put agenda.dat mput <arquivos> mput *.gif hash help ou ? quit ou bye ascii Descrio Mostra a listagem do diretrio corrente Muda o diretrio remoto Muda o diretrio local Informa o diretrio remoto atual Permite a execuo de comandos na mquina local Deleta os arquivos *.txt na mquina local Transfere um arquivo da mquina remota para a mquina local Transfere mltiplos arquivos da mquina remota para a mquina local Transfere um arquivo da mquina local para a mquina remota Transfere mltiplos arquivos da mquina local para a mquina remota Imprime o smbolo #, a cada 1024 bytes transferidos Obtm a lista dos comandos disponveis Encerra uma conexo FTP Para transferncia de arquivos no forma ASCII Esta transferncia, faz converso de formatos, no caso de estarmos transferindo arquivos de mquinas com sistemas operacionais diferentes. Aconselhvel para transferncia de arquivos textos Para transferncia no formato binrio Esta transferncia no altera nenhum bit do arquivo, transferindo-o de forma a deixa-lo igual na mquina local e remota. Aconselhvel para transferncia de programas

bin

99

Tabela 10.1 Comandos do FTP

100

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

Figura 10.2 Sistema de FTP no Windows

101

possvel colocar todos os comandos que devem ser executados pelo FTP em um arquivo do tipo script e mandar executar este arquivo. Todos os comandos sero executados em sequncia aps o trmino de cada comando. mostrado abaixo um exemplo de script trazdados. open ftp.embratel.net.br user anonymous brandino@inf.ufes.br verbose cd /pub/windows/winsock hash ascii mget *.txt get readme.msg bin get twsk20b.exe bye Neste exemplo, possvel observar que primeiro ser aberta uma conexo FTP com a mquina ftp.embratel.net.br, aps o estabelecimento da conexo ser informado o login de anonymous e o e-mail do usurio. S aps estes comandos ser trocados o diretrio e os arquivos do tipo *.txt sero transferidos, aps a transferncia de todos os arquivos, ele trar mais dois outros arquivos, um do tipo msg e o ltimo arquivo um programa exe. A conexo encerrada atravs do comando bye. Os sistemas UNIX permitem ainda que este script seja executado em Background, enquanto o usurio faz uma outra tarefa ou agendado para ser executado em um determinado horrioUma muito utilizada em sistemas UNIX o FTP por comandos em lote. Este servio consiste basicamente de um script com comando FTP que sero executado. Para executar o comando em background basta digitar: $ ftp -n <trazdados> trazdados.out& Este comando ir executar o FTP, que ter como parmetros o arquivo trazdados, e colocar as sadas de erro ou de sucesso no arquivo trazdados.out Como dito anteriormente, este comando pode ser executado em um determinado horrio, para tanto, basta usar o comando at e a hora a ser executado. $ at 1040 ftp -n <cesar.com> cesar.out&

102

<CTRL> + D $ Isto far com que o FTP seja executado as 10:40h, em Background.

11.3.

E-MAIL - MENSAGENS ELETRNICAS

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

103

Caso voc cometa algum erro ao escrever o endereo do destinatrio, a sua mensagem no ser entregue e retornar a voc para que possa envia-la pessoa correta. Entretanto, se a combinao de nomes digitada existir na Internet, a sua carta ser entregue a uma outra pessoa, e no retornar voc. As mensagens de E-MAIL possuem alguns identificadores bsicos que formam o cabealho da mensagem, a fim de identificar origem, destino, assunto, etc. Veja agora como a estrutura interna de uma mensagem:
Message 9: #(nmero da mensagem) From rogerio@telemidia.puc-rio.br Fri Apr 11 10:40:35 1997 #(end. do remetente e data de envio) Date: Fri, 11 Apr 1997 10:40:35 -0400 #(data de chegada) From: rogerio@telemidia.puc-rio.br (Rogerio F. Rodrigues) #(end. do remetente e seu nome real) To: brandino@inf.ufes.br #(end. do destinatrio) Subject: Congresso SBRC/97 #(Assunto da Mensagem) #(Corpo da Mensagem) Ola Wandreson, Como vao as coisas ai em Vitoria? Aqui na PUC esta aquela batalha de sempre, estou acabando a tese. Quando terminar a versao draft te mando uma copia. A proposito, voce vai no SBRC/97? Mande mensagem confirmando pra gente armar alguma coisa. Abracos Rogerio

Observe que a mensagem enviada para brandino@inf.ufes.br e no para brandino@cairo.inf.ufes.br, isto porque pode-se omitir o nome da mquina, e deixar s o nome do domnio, desde que se configure na mquina responsvel pelo domnio inf.ufes.br, que qualquer mensagem enviada a inf.ufes.br deve ser direcionada mqu ina cairo.inf.ufes.br. Ou seja, uma mensagem enviada para brandino@inf.ufes.br ou para brandino@cairo.inf.ufes.br vo para o mesmo destinatrio. Alguns dados que vo com a mensagem no so descritos aqui, servem para identificar por onde a mensagem passou. Isto ajuda a confirmar se a mensagem veio de onde o usurio indica que ela veio realmente. uma forma de validao da mensagem, utilizada em conjunto com a identificao da mensagem permite confirmar se o remetente realmente quem ele diz que .

104

Para mandar uma mensagem pela Internet, o usurio deve usar um programa de e-mail. Existem vrios programas deste tipo. O UNIX traz o programa mail de forma nativa no sistema operacional, j os Browsers Netscape e Internet Explorer possuem tambm verses de e-mail, existindo ainda os programas como o Eudora e o Microsoft Outlook, entre outros. A Figura 10.3 mostra a tela principal do Microsoft Outlook, onde possvel ler, enviar e armazenar mensagens eletrnicas entre outras informaes.

Figura 10.3 Tela principal do programa Microsoft Outlook

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

105

11.4.

NEWS GROUP

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

106

11.5.

WWW (WORD WIDE WEB)

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

Figura 10.4 Pgina HTML no Browser Internet Explorer

O usurio precisa informar apenas o endereo da pgina, e a pgina comear a ser carregada em seu Browser. As pginas WWW do acesso a uma infinidade de informaes, como compras de livros, CDs, diverso (piadas, bate-papo, etc), informaes de pesquisas, visitas a museus, entre outros.

107

Alguns exemplos de endereos so:

Servio Oferecido Venda de Livros Venda de Livros Laboratrio Informtica da UFES ATM Forum Microsoft Revista PlayBoy AT&T Cerveja Antarctica Nasa Declarao Imposto de Renda Jornal do Brasil Sebrae - ES Cerveja Skol Supermercados Roncetti Universo On-Line Piadas Embratel RNP - Rede Nacional Pesquisas FAPESP Flamengo Rede Globo Disney Compra de Livros Compra de Livros Compra de Livros Universo On Line Volkswagen Brahma SebraeSat IBGE TecToy Microsoft Brasil Bradesco Memoria Ayrton Senna Servio de Busca: Cad? Servio de Busca: Altavista Venda de Livros

Endereo na Internet http://www.books.com http://www.bookpool.com http://www.inf.ufes.br http://www.atmforum.com http://www.microsoft.com http://www.playboy.com http://www.att.com http://www.antarctica.com.br http://www.nasa.gov/ http://www.receita.fazenda.gov.br/ http://www.jb.com.br http://www.sebes.com.br http://www.skol.com.br http://www.roncetti.com.br http://www.uol.com.br http://www.humortadela.com http://www.embratel.net.com http://www.rnp.br http://www.fapesp.br http://www.flamengo.com.br http://www.redeglobo.com.br/ http://www.disney.com/ http://www.bookpool.com http://www.books.com http://www.amazon.com http://www.uol.com.br http://www.volks.com.br http://www.brahma.com.br http://www.sebraesat.com.br http://www.ibge.gov.br http://www.tectoy.com.br http://www.microsoft.com/brasil http://www.bradesco.com.br http://www.africanet.com.br/senna http://www.cade.com.br http://www.altavista.digital.com http://www.booknet.com.br

108

11.6.

PING

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

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

109

11.7.

FINGER

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

110

12.

EVOLUO E CONCLUSO

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

111

Fatores como segurana tambm precisam ser melhorados. Quando o TCP/IP foi desenvolvido no se imagina a necessidade do uso de criptografia para garantir a segurana dos dados que trafegam em diferentes redes. Hoje em dia, este requisito fundamental, haja visto a grande quantidade de aplicaes de comrcio eletrnico que existem na rede.

112