Você está na página 1de 48

TCP/IP

Conhecendo o TCP/IP

Autor: Kleper Gomes

Kleper Gomes -1-

TCP/IP

1.

INTRODUO

Devido ao tremendo impacto dos computadores na sociedade, principalmente na ltima dcada, este perodo da histria tem sido denominado a era da informao. O lucro e a produtividade das organizaes e indivduos tem sido aumentados de forma significativa pelo uso das redes de computadores como suporte a troca e acesso informao. Indivduos utilizam as redes de computadores quase que diariamente de forma a conduzir suas atividades pessoais e empresariais. O que se pode observar uma acelerao da utilizao e das aplicaes com base na tecnologia das redes de computadores, medida que mais pessoas descobrem as potencialidades dos computadores e das redes de comunicao tanto em aplicaes domsticas como em empresariais. As transaes e atividades dirias em lojas de departamentos, bancos, e outras pessoas e empresas das mais diversas naturezas, esto cada vez mais dependentes das redes de computadores. Lamentavelmente, a maioria das redes constitui entidades independentes estabelecidas para atender s necessidades de um grupo isolado. Os usurios selecionam uma tecnologia de hardware que seja adequada aos seus problemas de comunicao. impossvel a estruturao de uma rede universal com base em uma nica tecnologia de hardware, j que nenhuma rede nica atende a todas as aplicaes. Alguns usurios precisam de uma rede de alta velocidade para conectar-se a mquinas, mas essas redes no podem ser expandidas para alcanar grandes distncias. Outros preferem uma rede de velocidade inferior que faa conexo com mquinas a centenas de milhas de distncia.

Ao longo dos anos, as agncias governamentais norte-americanas perceberam a importncia e o potencial de tecnologia de interligao em redes e vm financiando as pesquisas que possibilitaram a interconexo global de redes. A tecnologia da ARPA (Advanced Research Projects Agency) inclui um conjunto de padres de rede que especificam os detalhes do sistema pelo qual os computadores se comunicam, bem como um conjunto de convenes para interconexo em redes e para roteamento. Denominado oficialmente Pilha de Protocolos de interligao em redes TCP/IP, e geralmente citado como TCP/IP, essa pilha pode ser utilizada para comunicao em qualquer conjunto de redes interconectadas. Algumas empresas, por exemplo, utilizam o TCP/IP para interconectar todas as redes de sua organizao, ainda que a empresa no se comunique com redes externas. Outros grupos utilizam o TCP/IP para estabelecer comunicaes entre sites geograficamente distantes. Nos Estados Unidos, a National Science Foundation (NSF), o Department of Energy (DOE), o Department of Defense (DOD), a Health and Human Services Agency (HHS) e a National Aearonautics and Space Administration (NASA) participaram do financiamento da Internet e utilizam o TCP/IP para conectar muitas de suas instalaes de pesquisa. A interligao em redes resultante permite que os pesquisadores de instituies conectadas compartilhem informaes com seus colegas de todo o mundo com a mesma facilidade com que compartilham informaes com pesquisadores da sala ao lado. Um sucesso extraordinrio, a Internet demonstra a viabilidade da tecnologia TCP/IP e mostra como pode-se lidar com uma diversidade de tecnologias de redes.

1.1.

SERVIOS EM REDES

Grande parte da abordagem de servios ter como foco padres denominados protocolos. Protocolos como TCP e IP fornecem as regras para a comunicao. Eles contm os detalhes de formatos de mensagens, descrevem o que um computador faz ao receber uma mensagem e especificam como um computador trata os erros ou outras condies anormais. De certa forma, um protocolo de comunicao permite que algum especifique ou entenda uma comunicao de dados sem depender de conhecimentos minuciosos do hardware da rede de um fornecedor especfico. Todos os servios de rede so descritos por protocolos.

Kleper Gomes -2-

TCP/IP

Os servios de aplicativos da Internet mais comum e difundidos incluem: Correio Eletrnico. O correio eletrnico permite que um usurio elabore memorandos e os envie a indivduos ou grupos. Uma outra parte do aplicativo do correio eletrnico permite que os usurios leiam os memorandos que receberam. O correio eletrnico tem sido to bem-sucedido que muitos usurios da Internet dependem dele para correspondncia comercial normal. Embora existam muitos sistemas de correio eletrnico, a utilizao do TCP/IP faz com que a entrega de correio seja mais confivel, j que no depende de computadores para processamentos intermedirios na transmisso de mensagens. Um sistema de entrega de correio TCP/IP opera atravs de contato direto entre a mquina do transmissor e a mquina do receptor. Assim, o transmissor sabe que quando a mensagem deixa a mquina local, ela foi recebida com xito no destino.

Transferncia de arquivos. Embora alguns usurios s vezes transfiram arquivos atravs do correio eletrnico, ele se destina, sobretudo, a mensagens de pouco texto. Os protocolos TCP/IP incluem um programa aplicativo que permite que os usurios enviem ou recebam arbitrariamente arquivos externos de programas de dados. Ao utilizar, por exemplo, um programa de transferncia de arquivos, a pessoa pode copiar de uma mquina para outra uma base de dados extensa contendo imagens de satlite, um programa escrito em Pascal ou C++, ou um dicionrio de ingls. O sistema indica uma maneira de checar os usurios autorizados, ou at de evitar acessos. Tal como ocorre com o correio eletrnico, a transferncia de arquivos na interligao em redes TCP/IP confivel porque as duas mquinas envolvidas comunicam-se diretamente, sem depender de mquinas intermedirias que faam cpias do arquivo ao longo do processo.

Login remoto. O login remoto permite que, de seu computador, um usurio entre em conexo com uma mquina remota e estabelea uma sesso interativa de login. O login remoto faz com que uma janela na tela do usurio parea conectar-se diretamente com a mquina remota, enviando cada toque no teclado a uma mquina remota e exibindo cada caracter que o computador remoto imprime na janela do usurio. Quando a sesso de login remoto termina, o aplicativo retorna o usurio ao sistema local.

No nvel da camada de rede, uma interconexo proporciona extensos tipos de servios que todos os programas aplicativos utilizam:

Servio de entrega de pacotes sem conexo. Este servio, explicado com detalhes ao longo do texto, forma a base para todos os servios de interligao em redes. A entrega sem conexo constitui uma preocupao do servio oferecido pela maioria das redes distribuidoras de encomendas. Isso simplesmente significa que a interligao em redes TCP/IP promove o roteamento de pequenas mensagens de uma mquina para outra, com base nas informaes do endereo contidas na mensagem. Como o servio sem conexo promove o roteamento de cada pacote separadamente no h garantia de entrega, e nem de entrega na mesma ordem na qual os pacotes forma transmitidos. J que quase sempre h um mapeamento direto para o hardware, o servio sem conexo extremamente eficiente. O mais importante que a entrega de pacotes, sem conexo, como base para todos os servios de interligao em redes, torna os protocolos TCP/IP adaptveis a uma ampla gama de hardware de redes.

Servio de transporte de streams confiveis. A maioria dos aplicativos precisa de muito mais do que uma entrega de pacotes, porque eles exigem que o software de comunicao corrija automaticamente erros de transmisso, pacotes perdidos, ou falhas de comutaes ao longo do caminho entre o transmissor e o receptor. O servio de transporte confivel trata desses problemas. Ele permite que um aplicativo de um computador estabelea uma conexo com um aplicativo de outro computador, e a seguir envie um grande volume de dados atravs da conexo, como se fosse uma conexo de hardware direta e permanente. Naturalmente, em um nvel mais baixo, os protocolos de comunicao dividem a cadeia de dados em mensagens curtas e as envia, uma de cada vez, esperando que o receptor confirme a recepo.

Muitas redes oferecem servios bsicos semelhantes aos mencionados acima, de modo que algum poderia questionar o que diferencia os servios TCP/IP de outros. As principais caractersticas diferenciadoras so:

Kleper Gomes -3-

TCP/IP

Independncia da tecnologia de redes. Embora o TCP/IP seja baseado em tecnologia convencional de comutao de pacotes, ele independente do hardware de qualquer fornecedor especfico. A Internet inclui diversas tecnologias de rede, desde as redes projetadas para operar em um prdio at as projetadas para cobrir grandes distncias. Os protocolos TCP/IP definem a unidade de transmisso de dados denominada datagrama, e especifica como transmitir datagramas em uma rede especfica.

Interconexo universal. Uma interligao em redes TCP/IP permite a comunicao de que qualquer par de computadores ao qual ela conectada. A cada computador atribudo um endereo universalmente reconhecido por toda a interligao em redes. Cada datagramas traz os endereos de sua origem e de seu destino. Os computadores de comutao intermediria utilizam o endereo de destino para tomar decises sobre roteamento.

Confirmaes fim-a-fim. Os protocolos de interligao em redes TCP/IP fornecem uma confirmao entre a origem e o destino final, e no entre mquinas sucessivas ao longo do caminho, mesmo quando as duas mquinas no se conectam a uma mesma rede fsica.

Padres de protocolo de aplicativos. Alm dos servios bsicos no nvel de transporte (como conexes de streams confiveis), os protocolos TCP/IP incluem padres para muitos aplicativos comuns, inclusive o correio eletrnico, a transferncia de arquivos e o login remoto. Assim, quando esto desenvolvendo programas aplicativos que utilizam TCP/IP, os programadores sempre descobrem que o software existente oferece os servios de comunicao de que eles precisam.

1.2.

ESCOPO DA INTERNET

A arquitetura TCP/IP surgiu com a criao de uma rede patrocinada pelo Departamento de Defesa dos Estados Unidos. Uma das tarefas essenciais dessa rede seria manter comunicados, mesmo que apenas uma parte, rgos do governo e universidades, numa ocorrncia de guerras ou catstrofes que afetassem os meios de comunicao daquele pas. Dessa necessidade, surgiu a ARPANET, uma rede que permaneceria intacta caso um dos servidores perdesse a conexo. A ARPANET necessitava ento de um modelo de protocolos que assegurasse tal funcionalidade esperada, mostrando-se confivel, flexvel e de fcil implementao. ento desenvolvida a arquitetura TCP/IP, que se torna um padro de fato. A ARPANET cresceu e tornou-se a rede mundial de computadores Internet. A utilizao (e facilidades) do padro TCP/IP utilizado pelos fabricantes de outras redes, com a finalidade da conectividade com a Internet. A normalizao do TCP/IP chegou aps a sua utilizao em massa.

A Internet cresceu, abrangendo centenas de redes individuais localizadas nos Estados Unidos e na Europa. Conectou aproximadamente 20.000 computadores de universidades, rgos pblicos e laboratrios de pesquisa organizacional. O tamanho e a utilizao da Internet continuou em ascenso muito mais acelerada do que o previsto. No final de 1987, estimou-se que o crescimento alcanara 15% ao ms. Em torno de 1994, a Internet alcanava mais de 3 milhes de computadores em 61 pases.

A utilizao de protocolos TCP/IP e o crescimento da Internet no se limitaram a projetos financiados pelo governo. Grandes companhias voltadas para o setor de computadores conectaram-se Internet, bem como muitas outras organizaes de grande porte como companhias de petrleo, indstria automobilstica, empresas de eletrnica, companhias farmacuticas e portadoras de telecomunicaes. As empresas de pequeno e mdio porte comearam a conectar-se na dcada de 1990. Alm disso, muitas outras utilizavam os protocolos TCP/IP em suas interligaes em redes corporativas, mesmo tendo optado por no participar da Internet.

Kleper Gomes -4-

TCP/IP

Uma expanso acelerada trouxe problemas de escala no previstos no projeto original e motivou os pesquisadores a encontrar tcnicas para gerenciar numerosos recursos distribudos. No projeto original, por exemplo, os nomes e endereos de todos os computadores conectados Internet eram mantidos em um nico arquivo que era editado manualmente e, a seguir, distribudo a todos os sites da Internet. Em meados da dcada de 1980, tornou-se bvio que um banco de dados de origem no seria suficiente. Primeiro, os pedidos para atualizao de arquivos rapidamente provocaria excesso do pessoal disponvel para process-los. Segundo, ainda que existisse um arquivo-fonte correto, a capacidade da rede seria insuficiente para permitir a distribuio freqente para todos os sites ou o acesso on-line a cada site.

Novos protocolos foram desenvolvidos e um sistema de atribuio de nome foi colocado em vigor atravs da Internet para permitir que qualquer usurio automaticamente determinasse o nome de uma mquina remota. Conhecido como Domain Name System (DNS), o mecanismo conta com mquinas denominadas servidoras de nome para responder a consultas sobre nomes. Nenhuma mquina contm todo o banco de dados de nomes de domnios. Em vez de uma mquina, os dados so distribudos por um conjunto de mquinas que utilizam protocolos TCP/IP para se comunicarem entre si quando estiverem respondendo a uma consulta. To logo a Internet tornou-se popular e os usurios passaram a buscar informaes atravs de servios como Gopher e a World Wide Web, novamente o trfego aumentou.

A Internet no controlada por nenhum rgo governamental ou comercial, mas sim por organizaes voluntrias que controlam os usurios e os artigos publicados na Internet. Eis algumas organizaes: IAB

A IAB (Internet Advisory Board) constituda de vrias organizaes e seu objetivo principal coordenar a organizao geral da Internet.

InterNIC IRTF

A InterNIC (Internet Network Information Center) foi criado pela NSF para distribuir endereos IP. O IRTF (Internet Research Task Force) um dos comits que constituem a IAB. Ele responsvel por vrias atividades a nvel de pesquisa, como o desenvolvimento de protocolos.

RFC

RFC (Request for Comments) so documentos tcnicos relacionados aos protocolos da Internet. Alguns deles contm padres para os protocolos, outros so recentemente desenvolvidos, podendo obter sucesso e se tornarem padres. Esses documentos formam a documentao da Internet.

FNC

FNC (Federal Networking Council) um comit que exerce a parte informativa da Internet. A FNC realiza o intermdio entre a IAB e as instituies governamentais, alm de prestar suporte a agncias no uso da Internet.

IETF

IETF (Internet Engeneering Task Force) um subcomit da IAB que realiza a manuteno de problemas construtivos e tambm a implementao de novas tecnologias.

A Internet considerada por muitos como um dos mais importantes e revolucionrios desenvolvimentos da histria da humanidade. Pela primeira vez no mundo um cidado comum ou uma pequena empresa pode (facilmente e a um custo muito baixo) no s ter acesso a informaes localizadas nos mais distantes pontos do globo como tambm e isso que torna a coisa revolucionria criar, gerenciar e distribuir informaes em larga escala, no mbito mundial, algo que somente uma grande organizao poderia fazer usando os meios de comunicao convencionais. Isso com certeza afetar substancialmente toda a estrutura de disseminao de informaes existente no mundo, a qual controlada primariamente por grandes empresas. Com a Internet um pessoa qualquer (um jornalista, por exemplo) pode, de sua prpria casa, oferecer um servio de informao baseado na Internet, a partir de um microcomputador, sem precisar da estrutura que no passado s uma empresa de grande porte poderia manter. Essa perspectiva abre um enorme mercado para profissionais e empresas interessadas em oferecer servios de informao especficos.

Kleper Gomes -5-

TCP/IP

2.

BSICO DE UMA REDE

Independente do tipo de conexo que faam, seja entre computadores ou entre terminais e computadores, as redes de comunicao dividem-se em dois tipos bsicos: de comutao de circuitos (tambm conhecidas como redes baseadas em conexes) e de comutao de pacotes (conhecidas, ainda, como redes sem conexo).

A comutao por circuitos opera formando uma conexo dedicada entre duas pontas. O sistema telefnico dos Estados Unidos utiliza uma tecnologia de comutao de circuitos uma chamada telefnica estabelece um circuito da linha de quem telefona, atravs de uma central de comutao local, passando por linhas do tronco, at uma central de comutao remota e, finalmente, ao destinatrio da chamada. Enquanto um circuito estiver aberto, o equipamento telefnico testa o microfone vrias vezes, converte os sinais para o formato digital e os transmite atravs do circuito para o receptor. O transmissor tem a garantia de que os sinais sero distribudos e reproduzidos, pois o circuito oferece um percurso de dados seguro, de 64 kpbs (mil bits por segundo), o mnimo necessrio para o envio de voz digitalizada. A vantagem da comutao de circuitos reside na sua capacidade segura: uma vez que um circuito estabelecido, nenhuma outra atividade de rede poder reduzir a capacidade do circuito. A desvantagem da comutao de circuitos o alto custo: o preo fixo, independente do trfego. Por exemplo, o preo de uma ligao telefnica o mesmo, ainda quando as duas pontas no se comunicam.

Nas redes de comutao de pacotes, as mensagens a serem transmitidas atravs das estaes da rede so divididas em pequenas unidades chamadas pacotes que so multiplexados por meio de conexes entre mquinas de alta capacidade. Um pacote que geralmente contm apenas pequenas unidades de informaes transporta uma identificao que capacita o hardware da rede a enviar as informaes a determinado destino. Por exemplo, a transmisso de um arquivo extenso entre dois equipamentos deve ser feita a partir da diviso do arquivo em vrios pacotes antes de encaminh-los rede. O hardware da rede envia os pacotes aos seus respectivos destinos onde o software os rene novamente em um nico arquivo. A grande vantagem da comutao de pacotes a possibilidade de realizar simultaneamente vrias comunicaes entre computadores, com conexes entre equipamentos compartilhados por todos os pares de equipamentos que esto se comunicando. A desvantagem que medida que a atividade se intensifica, um determinado par de computadores conectados entre si recebe uma capacidade menor da rede. Ou seja, toda vez que uma rede de comutao de pacotes estiver sobrecarregada, os computadores conectados a ela tero que esperar at poderem enviar pacotes adicionais.

2.1.

WANs e LANs

As tecnologias de comutao de pacotes so freqentemente divididas em duas categorias, de acordo com a extenso: redes de longas distncias (WANs) e redes locais (LANs). As duas categorias no possuem definies formais. Ao contrrio, os fornecedores utilizam os termos de forma coloquial para que os consumidores saibam diferenciar as duas tecnologias.

As tecnologias de rede remota ou de redes de longas distncias possibilitam a comunicao entre grandes distncias. A maioria das tecnologias de rede de longas distncias no impe um limite na extenso da distncia; permite que os dois extremos se comuniquem a uma distncia arbitrria. Por exemplo, uma rede de longa distncia pode operar em um continente ou conectar computadores de continentes diferentes. Geralmente, as redes de longa distncias operam em velocidades mais lentas do que as redes locais, e necessitam de um retardo de transmisso bem maior entre as conexes. A velocidade de uma rede de longas distncias varia de 56 Kbps a 155 Mbps (um milho de bits por segundo). O retardo de transmisso pode variar desde alguns milissegundos at vrios dcimos de segundo.

Kleper Gomes -6-

TCP/IP

As tecnologias de rede local possuem uma velocidade de conexo entre comutadores bem mais rpida, mas deixam a desejar na capacidade de operar em longas distncias. Por exemplo, uma rede local tpica abrange uma rea pequena, como um nico edifcio ou um campus, e funciona entre 10 Mbps e 2 Gbps (bilhes de bits por segundo). J que essas tecnologias operam em pequenas reas, o retardo de transmisso bem menor do que o das tecnologias de rede de longas distncias, o qual pode durar desde alguns dcimos de um milissegundo, at no mximo dez milissegundos.

2.2.

A TECNOLOGIA ETHERNET

Ethernet o nome dado a uma tecnologia de rede local popular, de comutao de pacotes; a maioria das empresas de mdio e grande porte a utiliza. Cada cabo da Ethernet possui aproximadamente 0,5 polegadas de dimetro e at 500 metros de comprimento. Para oferecer o mximo de proteo contra interferncia eltrica de dispositivos como motores eltricos, o cabo possui uma forte proteo que o torna difcil de ser dobrado. O esquema de fiao funciona perfeitamente quando vrios computadores ocupam um mesmo compartimento. O cabo percorre o trajeto diretamente de um computador a outro. Para incluir um novo computador, basta conect-lo cadeia.

CABO DA ETHERNET

Figura 2.1. Conexo fsica entre dois computadores.

Com o avano da tecnologia foi possvel construir redes Ethernets que no necessitam da proteo eltrica de um cabo coaxial. Chamada de Ethernet de pares tranados, essa tecnologia permite que um computador acesse uma rede Ethernet utilizando um par de fios de cobre normais sem proteo, semelhantes aos utilizados para fazer conexes entre equipamentos telefnicos. A vantagem desse tipo de tecnologia que, alm de reduzir os custos, oferece proteo a outros computadores da rede no caso de um usurio desconectar um nico computador. Em alguns casos, uma tecnologia de pares tranados possibilita que uma instituio utilize a Ethernet com a fiao telefnica j existente, sem a adio de novos cabos. Conhecido tecnicamente como 10Base-T, o esquema de fiao de pares tranados conecta cada computador a um HUB da Ethernet, como ilustra a Figura 2.2.

CONEXES DE PARES TRANADOS PARA O HUB HUB

Figura 2.2. Cada computador conecta-se a um HUB por cima de um par de fios.

Kleper Gomes -7-

TCP/IP

O HUB um dispositivo eletrnico que estimula os sinais num cabo Ethernet. Fisicamente, o HUB formado por uma pequena caixa que geralmente alojada em um gabinete de fiao; uma conexo entre um HUB e um computador deve ter menos de cem metros de extenso. Um HUB necessita de energia eltrica e, talvez, de pessoal qualificado para fazer o monitoramento e o controle de sua operao na rede. Para a interface com um computador, a conexo a um HUB parece funcionar do mesmo modo que a conexo direta com coaxial.

A Ethernet uma tecnologia de barramento de difuso de 10 Mbps com mtodo de entrega sem garantia e controle de acesso distribudo. um barramento porque todas as estaes compartilham um nico canal de comunicao; de difuso (broadcast) porque todos os transceptores recebem cada uma das transmisses. O controle de acesso distribudo porque, ao contrrio de algumas tecnologias de rede, a Ethernet no possui nenhuma autoridade central para permitir o acesso, vrios equipamentos podem acessar a Ethernet simultaneamente e cada um deles estabelece se o meio est ou no livre, detectando a presena ou no de sinal. Quando uma interface do host tem um pacote para transmitir, ela verifica o meio para saber se h alguma mensagem sendo transmitida. Se nenhuma transmisso for detectada, a interface do host inicializa a transmisso. Cada uma das transmisses possui um limite de durao (porque h um tamanho mximo de pacote). Alm do mais, o hardware deve observar um intervalo mnimo de tempo entre as transmisses, o que significa que nenhum par de equipamentos comunicantes pode utilizar a rede sem oferecer aos demais equipamentos uma oportunidade de acesso.

Apesar de um cabo da Ethernet possuir um comprimento mximo, a rede pode ser aumentada de duas maneiras: com o auxlio de repetidores e de pontes.

O repetidor pode ser utilizado para transmitir sinais eltricos de um cabo a outro. Entretanto, no mximo dois repetidores podem ser colocados entre duas mquinas, de modo que o comprimento total de uma nica Ethernet continua muito pequeno (trs segmentos de 500 metros cada).

As pontes so melhores do que os repetidores porque no repercutem os rudos, as falhas ou os quadros com m formao; um quadro inteiramente vlido deve ser recebido antes que a ponte o aceite e o transmita para outro segmento.

De acordo com a viso do TCP/IP, as Ethernets ligadas por pontes so simplesmente uma outra forma de conexo fsica de rede. O importante que: Em virtude de a conexo entre cabos fsicos, fornecida pelas pontes e pelos repetidores, ser transparente para os equipamentos conectados Ethernet, um sistema nico de rede fsica.

2.3.

FDDI (Fiber Distributed Data Interconnect)

A FDDI uma conhecida tecnologia de rede que opera em pequenas reas geogrficas e oferece uma largura de banda maior do que a Ethernet. Ao contrrio da Ethernet e de outras tecnologias de redes locais que utilizam cabos para transportar os sinais eltricos, a FDDI utiliza fibras de vidro e transmite as informaes, convertendo-as em feixes de luz.

A fibra ptica possui duas vantagens a mais do que o fio de cobre:

so imunes interferncia eletromagntica, podendo ficar prximas a dispositivos eltricos potentes;

O termo quadro deriva-se da comunicao por linhas seriais, nas quais o transmissor configura a informao, acrescentando sinais especiais antes e aps a transmisso das informaes.

Kleper Gomes -8-

TCP/IP

como utilizam luz, a quantidade de informao transportadas por um nico canal de fibra ptica significativamente maior do que a dos cabos que transportam sinais eltricos.

A FDDI uma rede token ring de 100 Mbps dotada de um recurso de auto-reparo uma rede em anel porque forma um circuito fechado, iniciando em um computador, passando por todos os outros, e novamente retornando ao computador de origem. Trata-se de uma rede de tecnologia token ring porque utiliza um token como forma de controlar a transmisso. Quando a rede est inativa, um quadro especial denominado token passa de estao a estao. Sempre que uma estao tiver que enviar um pacote, ela ter que esperar a chegada de um token, enviar o pacote e depois passar o token estao seguinte. O token que est sendo utilizado garante o equilbrio: concede a todas as estaes a oportunidade de enviar um pacote antes que outra estao envie um segundo pacote.

REDE FDDI EM ANEL

Figura 2.3. Uma rede FDDI com fibras pticas fazendo a conexo de seis computadores. As setas indicam a direo do trfego nas fibras e nos computadores conectados entre si.

Para oferecer um recurso de recuperao automtica de falhas, o hardware da FDDI utiliza dois anis independentes que se conectam a cada computador. Quando a interface percebe que no pode comunicar-se com o computador ao lado, o anel de garantia utilizado para contornar a falha.

A falha talvez seja decorrente da desconexo da fibra (p. ex., um corte acidental). Se as fibras de ambos os anis seguirem o mesmo percurso fsico, muito provvel que a Segunda fibra tambm seja desconectada. O hardware da FDDI automaticamente utiliza o anel de rotao oposta para formar o circulo fechado na direo em que ele ainda est operando. Com isso, os outros computadores podem continuar se comunicando, mesmo com a ocorrncia da falha.

2.4.

ATM (Asynchronous Transfer Mode)

O ATM o nome dado a uma tecnologia de rede de alta velocidade, baseada em conexo, que vem sendo usada tanto nas redes que operam em pequenas como em grandes reas geogrficas. Pelos padres correntes, as redes de alta velocidade so aquelas que operam a uma velocidade de, no mnimo, 100 Mbps; o ATM pode intercambiar informaes com velocidades de gigabit/segundo. claro que para se obterem velocidades to altas necessrio um equipamento complexo de ltima gerao. Consequentemente, as redes ATM possuem um custo mais alto do que as demais tecnologias.

Kleper Gomes -9-

TCP/IP

Uma rede ATM utiliza tcnicas de hardware e software especiais:

Uma rede ATM formada por um ou mais comutadores de alta velocidade que so conectados aos computadores host e a outros comutadores ATM.

O ATM utiliza fibras pticas para fazer conexes, inclusive conexes entre um computador host e um comutador ATM. As fibras pticas possuem uma velocidade de transferncia maior do que a dos fios de cobre; normalmente, a conexo entre um host e um comutador ATM opera a uma velocidade de 100 ou 155 Mbps.

As camadas mais baixas de uma rede ATM utilizam quadros de tamanhos fixos chamados clulas. Como as clulas possuem exatamente o mesmo tamanho, o hardware do comutador ATM pode process-la rapidamente.

A rede ATM difere das redes de comutao de pacotes porque oferece um servio baseado em conexo. Antes de um computador host conectado a um ATM enviar clulas, ele deve primeiramente interagir com o comutador para especificar o endereo do destinatrio. A interao anloga a uma ligao telefnica . O host especifica o endereo do computador remoto e espera o comutador ATM entrar em contato com o sistema remoto e estabelecer um caminho (rota fixa). Se o computador remoto no aceitar o pedido, no responder ou se o comutador no puder alcanar o computador remoto, o pedido para estabelecer a comunicao falha.

Quando uma conexo feita, o comutador ATM local escolhe um identificador da conexo e passa-o para o host, juntamente com um mensagem informando o sucesso da conexo. O host utiliza o identificador da conexo ao enviar ou receber clulas. Ao terminar a conexo, o host comunica-se novamente com o comutador para que a conexo seja desfeita. O comutador desconecta os dois computadores. A desconexo equivale a tirar um telefone do gancho no final de uma ligao telefnica; aps a desconexo, o comutador pode novamente utilizar o identificador da conexo. 2.5. INTERLIGAO EM REDES

Fisicamente, duas redes s podem ser conectadas por um computador que esteja ligado s duas. No entanto, uma ligao fsica no fornece a interconexo que imaginamos, porque tal ligao no garante que o computador vai cooperar com outras mquinas que desejam se comunicar. Para se ter uma interconexo de rede vivel, necessitamos de computadores que queiram repassar pacotes de uma rede para outra. Os computadores que conectam entre si duas redes e repassam pacotes de um para o outro so chamados de gateways de interligao em redes ou roteadores de interligao em redes. Considere um exemplo que consista de duas redes fsicas mostradas na Figura 2.4, o roteador R est conectado s redes 1 e 2. Para R atuar como um roteador, precisa capturar pacotes na rede 1 que so destinados s mquinas na rede 2 e transferi-los e vice-versa.

Em virtude de a rede ATM ter sido idealizada para transportar voz, assim como dados, h uma forte relao entre o ATM e a comutao telefnica.

Kleper Gomes - 10 -

TCP/IP

REDE "1"

REDE "2"

Figura 2.4. Duas redes fsicas conectadas entre si por um roteador.

Na figura acima, so usadas nuvens para demonstrar redes fsicas, porque o hardware especfico no tem importncia. Cada rede pode ser uma rede local ou uma rede de longa distncia, e cada uma pode ter muitos ou poucos hosts acoplados.

Quando conexes de interligao em redes se tornam mais complexas, os roteadores necessitam saber sobre a topologia da interligao em redes, alm das redes s quais esto conectados.

REDE "1"

R1

REDE "2"

R2

REDE "3"

Figura 2.5. Trs redes interconectadas por dois roteadores.

Neste exemplo, o roteador R1 deve transferir da rede 1 para a rede 2 todos os pacotes destinados a mquinas em qualquer das redes 2 e 3. Para uma grande interligao em redes composta de muitas redes, a tarefa do roteador de tomar decises sobre por onde enviar pacotes se torna mais complexa.

Alm de roteadores que conectam entre si redes fsicas, o software necessrio em cada host para permitir que programas aplicativos usem a interligao em redes como se fosse uma nica rede realmente fsica. Do ponto de vista da interligao em redes, qualquer sistema de comunicao capaz de transferir pacotes considerado como uma nica rede, independente do retardo, da vazo, do tamanho mximo do pacote ou da escala geogrfica.

O protocolo da interligao em redes do TCP/IP trata todas as redes do mesmo modo. Uma rede local, como uma Ethernet, uma rede de rea maior, como o backbone de ANSNET, ou uma ligao de ponto a ponto entre duas mquinas, cada uma conta como uma rede. 3. ENDEREAMENTO

Pensando em uma interligao em redes como uma grande rede igual a qualquer outra rede fsica. A diferena que a interligao em redes uma estrutura virtual, idealizada por seus projetistas e totalmente implantada em software. Assim, os projetistas esto livres para escolher formatos e tamanhos de pacotes, endereos, tcnicas de entrega e assim por diante; nada orientado pelo hardware. Para endereos, os projetistas de TCP/IP optaram por um esquema anlogo ao endereamento de rede fsica, no qual a cada host da interligao atribudo um endereo com nmero inteiro de 32 bits, denominado seu endereo IP. A parte interessante do endereamento da interligao que os nmeros inteiros so escolhidos cuidadosamente para tornar o roteamento eficiente. Especificamente, um endereo IP codifica a identificao da rede qual um host se acopla, assim como a identificao de um nico host nessa rede. Resumindo:

Kleper Gomes - 11 -

TCP/IP

A cada host de uma interligao em redes TCP/IP atribudo um endereo de interligao em redes nico de 32 bits que usado em todas as comunicaes com aquele host.

Os bits dos endereos IP para todos os hosts de uma rede dada compartilham um mesmo prefixo. Conceitualmente, cada endereo um par (netid, hostid) em que netid identifica uma rede e hostid identifica um host naquela rede. Na prtica, cada endereo IP deve Ter uma das trs primeiras formas mostradas na Figura 3.1. Dado um endereo IP, seu tipo pode ser determinado a partir de trs bits de alta ordem, sendo dois bits suficientes para distinguir entre as trs classes principais:
16

Endereos do tipo A, so usados pelas numerosas redes que no possuem mais de 2 (ou seja, 65.536) hosts, dedicam sete bits para netid e 24 bits para hostid.

Endereos do tipo B, que so usados para redes de tamanho mdio que possuem entre 28 (ou seja, 256) e 216 hosts, alocam 14 bits para o netid e 16 bits para o hostid.

Endereos do tipo C, que possuem menos de 28 hosts, alocam 21 bits para o netid e somente 8 bits para hostid.

O endereo IP foi definido de tal modo que possvel extrair as partes do netid ou do hostid rapidamente. Os roteadores, que usam a parte netid de um endereo ao decidir qual o destino de um pacote, dependem de uma extrao eficiente para alcanar velocidade alta.

0 1 1 1 1 1

1 2 Netid 0 1 1 1

8 Hostid

16

24

31

Netid 0 1 1 Netid 0 1 Endereos multicast 0 Reservado para uso futuro

Hostid Hostid

Figura 3.1. As cinco formas de endereos da Internet (IP). As trs primeiras formas, classes A, B e C podem ser diferenciadas pelos trs primeiros bits. Quando os computadores convencionais possuem duas ou mais conexes fsicas so denominados hosts multi-homed. Esses hosts e os roteadores necessitam de endereo IP mltiplos. Cada endereo corresponde a uma das conexes de rede da mquina. Portanto, como os endereos IP codificam no apenas uma rede, como tambm um host daquela rede, os endereos IP no especificam um computador individual, e sim uma conexo rede. Assim, um roteador conectando n redes tem n endereos diferentes de IP, um para cada conexo de rede.

Os endereos IP so escritos como quatro nmeros inteiros decimais separados por pontos decimais, no qual cada nmero inteiro fornece o valor de um octeto de endereo IP. Assim, o endereo de 32 bits: 10000000 representado por: 128.10.2.30 00001010 00000010 00011110

Kleper Gomes - 12 -

TCP/IP

Na realidade, a maioria dos softwares TCP/IP que apresenta ou requer uma pessoa para manipular um endereo IP usa a notao decimal com ponto. Assim, compreender a relao entre tipos de endereos IP e nmeros decimais pode ajudar. A tabela da Figura 3.2 resume a escala de valores para cada tipo. Classe A B C D E Endereo mais baixo 0.1.0.0 128.0.0.0 192.0.1.0 224.0.0.0 240.0.0.0 Endereo mais alto 126.0.0.0 191.255.0.0 223.255.255.0 239.255.255.255 247.255.255.255

Figura 3.2. A escala de valores decimais que correspondem a cada tipo de endereo IP.

3.1.

ENDEREOS DE REDES E DE BROADCAST

A maior vantagem de codificar informaes de rede em endereos de interligao em redes o roteamento eficiente. Outra vantagem que os endereos de interligao em redes podem se referir a redes, assim como a hosts. Por conveno, hostid zero nunca atribudo a um host individual. Em vez disso, um endereo IP com hostid zero usado para se referir a essa prpria rede. O esquema de endereamento da interligao em redes inclui um endereo de difuso que se refere a todos os hosts da rede. De acordo com o padro, qualquer hostid que consista de todos os 1s reservado para difuso. Em muitas tecnologias de rede, difuso pode ser to eficiente quanto as transmisses normais; em outras, difuso apoiada pelo software da rede, mas requer uma demora muito mais substancial do que uma transmisso nica. Algumas redes no aceitam qualquer difuso. Assim, ter um endereo de difuso de IP no assegura a disponibilidade ou a eficincia da entrega de difuso. Um endereo de difuso direcionado pode ser interpretado sem ambivalncia em qualquer etapa de uma interligao em redes porque identifica, de modo nico, a rede de destino, alm de especificar difuso naquela rede. Os endereos de difuso direcionados fornecem um poderoso mecanismo que permite a um sistema remoto enviar um pacote nico que ser transmitido por difuso na rede especificada. Do ponto de vista de endereamento, a principal desvantagem da difuso direcionada que ela requer conhecimento do endereo da rede. Outra forma de endereo de difuso, denominada endereo de difuso limitado ou de rede local, fornece um endereo de difuso para a rede local, independente do endereo atribudo de IP. Consiste em trinta e dois 1s. Um host pode usar os endereos de difuso limitados coo parte de um procedimento padro antes que ele aprenda seu endereo de IP ou o endereo para a rede local. Entretanto, uma vez que o host aprenda o endereo correto de IP para a rede local, ele deve usar difuso direcionada.

Em geral, o software da interligao em redes interpreta os campos que consistem em 0s (zeros) para significar este. Assim, um endereo de IP com hostid igual a zero refere-se a este host e outro de netid igual a zero refere-se a esta rede. Usar netid zero especialmente importante nas circunstncias em que um host deseja comunicar-se em uma rede, mais ainda no sabe o endereo IP dela. O host usa a netid zero temporariamente, e outros hosts da rede interpretam o endereo como esta rede.

Kleper Gomes - 13 -

TCP/IP

3.2.

ENDEREO DE LOOPBACK

A tabela da Figura 3.2 mostra que nem todos os endereos possveis foram atribudos a classes. Por exemplo, o endereo 127.0.0.0, num valor da escala da classe A, reservado para loopback, e utilizado no teste TCP/IP e para a comunicao na mquina local. Quando algum programa usa o endereo de loopback como destino, o software de protocolo retorna os dados sem enviar o trfego atravs de qualquer rede. Um pacote enviado a um endereo 127 da rede no deve aparecer em nenhuma rede. Alm disso, um host ou um roteador nunca deve difundir informaes sobre roteamento ou alcance para o nmero de rede 127; este no um endereo de rede.

3.3.

PONTOS FRACOS NO ENDEREAMENTO

Codificar informaes de rede em um endereo pode ter suas desvantagens. A mais bvia delas que os endereos referem-se s conexes de redes, no ao host: se um host se move de uma rede para outra, seu endereo IP deve mudar.

Outra falha do esquema de endereamento que, quando qualquer rede tipo C cresce alm de 255 hosts, deve ter seu endereo mudado para um endereo tipo B. Apesar de isto parecer um problema menor, mudar endereos de redes pode tomar muito tempo e ser difcil para depurar. Coo muitos softwares no so projetados para trabalhar com endereos mltiplos para a mesma rede fsica, os administradores no podem planejar uma transio tranqila, na qual introduzam novos endereos lentamente. Ao contrrio, devem interromper o uso de um endereo de rede, mudar os endereos de todas as mquinas e, ento, recuperar a comunicao usando o novo endereo de rede.

Saber apenas um endereo de IP, para determinado destino, talvez no seja suficiente; pode ser impossvel alcanar o destino usando tal endereo. Considere o exemplo da interligao em redes mostrado na Figura 3.3. Nesta figura, dois hosts, A e B, conectam-se rede 1 quase sempre se comunicam diretamente usando aquela rede. Assim, os usurios do host A normalmente devem referir-se ao host B usando endereo IP I3. Existe outro caminho de A at B, atravs do roteador R, e usado sempre que A envia um pacote com endereo IP I5 (endereo de B na rede 2). Agora, suponha que a conexo de B para a rede 1 falhe, mas a mquina em si continue trabalhando. Os usurios em A, que especificam endereos IP I3, no alcanam B apesar de os usurios que especificam endereos I5 poderem alcanar.

REDE 1 I2 A I4 I5 REDE 2 B I3

I1 R

Figura 3.3. Um exemplo de interligao em redes com um host de multi-homed, B, que indica um problema com o esquema de endereamento IP. Se a interface I3 desconectada, A deve usar o endereo I5 para alcanar B, enviando pacotes atravs do roteador R.

Kleper Gomes - 14 -

TCP/IP

3.4.

UM EXEMPLO

Para esclarecer o esquema de endereamento IP, considere um exemplo de duas redes de Universidades conectadas IBPI-NET. A Figura 3.4 mostra os endereos de redes e ilustra como os roteadores conectam redes entre si.

UMC (Ethernet) 128.10.0.0

ROTEADORES

UNICSUL (Token) 192.5.48.0

IBPI-NET 10.0.0.0

Figura 3.4. A conexo lgica de duas redes ao provedor IBPI-NET.

O exemplo mostra trs redes e os nmeros de rede que lhes foram designados: a IBPI-NET (10.0.0.0), a UMC (128.10.0.0) e a UNICSUL (192.5.48.0). De acordo com a tabela da Figura 3.2, os endereos tm classes A, B e C, respectivamente.

A Figura 3.5 mostra as mesmas redes com host, e endereos Internet designados para cada conexo de rede. Quatro hosts cognominados HOST1, HOST2, HOST3 e HOST4 acoplam-se s redes; ROUTER1 um roteador que conecta a IBPI-NET e a rede token ring (UNICSUL), e ROUTER2 um roteador que conecta a rede UNICSUL Ethernet (UMC). O HOST2 tem conexes tanto na Ethernet quanto na rede token ring, podendo, assim, alcanar destinos diretamente em qualquer rede. Apesar de um host de multi-homed, como HOST2, poder ser configurado para rotear pacotes entre as duas redes, a maioria dos sites usa computadores dedicados como roteadores, a fim de evitar sobrecarregar sistemas de computao convencionais com o processamento requerido pelo roteamento. Na figura, um roteador dedicado, ROUTER2 , executa a tarefa de rotear trfego entre a Ethernet e as redes token ring.

Kleper Gomes - 15 -

TCP/IP

UMC (Ethernet) 128.10.0.0 128.10.2.3 Host 2 192.5.48.3 128.10.2.8 Host 3 Host 4 128.10.2.26

192.5.48.7 128.10.2.70 Router2

UNICSUL (Token) 192.5.48.0

192.5.48.6

10.0.0.37

IBPI-NET

Router1 192.5.48.1 Host 1

Figura 3.5. Exemplo de designao de endereos IP para roteadores e hosts acoplados a trs redes da figura anterior. 4. PROTOCOLOS

Os protocolos so os padres que especificam como os dados so apresentados ao serem transmitidos de uma mquina para outra. Os protocolos representam para a comunicao computadorizada o que a linguagem de programao para a computao.

Os complexos sistemas de comunicao de dados no usam um nico protocolo para tratar com todas as tarefas de transmisso. Ao contrrio, requerem uma pilha de protocolos cooperativos, algumas vezes chamados famlia de protocolo ou pilha de protocolo. Para compreender a razo, vejamos os problemas que surgem quando as mquinas se comunicam atravs de uma rede de dados:

Falha de hardware. Um host ou roteador pode falhar tanto porque o hardware falha como porque o sistema operacional entra em colapso. Um enlace de transmisso de rede pode falhar ou ser desconectado acidentalmente. O software de protocolo necessita detectar tais falhas e recuperar-se delas, se possvel.

Congestionamento de redes. Mesmo quando todo o hardware e software operam corretamente, as redes tm capacidade finita que pode ser ultrapassada. Os protocolos precisam encontrar formas para que uma mquina em congestionamento possa suprimir o excesso de trfego.

Demora ou perda de pacotes. Algumas vezes, os pacotes demoram muito ou so perdidos. Os protocolos precisam aprender sobre as falhas ou adaptar-se a longas demoras.

Danificao de dados. Interferncia eltrica ou magntica ou falhas de hardware podem causar a transmisso de erros que danificam os contedos dos dados transmitidos. Os protocolos necessitam detectar e recuperar tais erros.

Duplicao de dados ou erros seqenciais. Redes que oferecem rotas mltiplas podem transmitir dados fora de seqncia ou podem transmitir duplicatas de pacotes. Os protocolos necessitam reorganizar os pacotes e remover algumas duplicatas.

Kleper Gomes - 16 -

TCP/IP

4.1.

MODELO DA DIVISO EM CAMADAS OSI

Existe um modelo desenvolvido pela ISO (International Standards Organization) usado para descrever a estrutura e funcionamento dos protocolos de comunicao de dados denominado Modelo de Referncia OSI (Open Systems Interconnect). A base deste modelo a diviso da complexidade do projeto organizando a rede em camadas, com nveis de abstrao diferentes definindo uma pilha de protocolos. Ele contm sete camadas, sendo cada uma, responsvel por oferecer servios s camadas superiores de uma forma transparente, ou seja, as demais camadas no precisam saber de detalhes da implementao do servio implementado nesta camada.

Camada 7 6 5 4 3 2 1

Funcionalidade Aplicativo Apresentao Sesso Transporte Rede Enlaces de Dados Conexo Fsica Figura 4.1. Modelo OSI de referncia das sete camadas para o protocolo.

Descrio bsica das camadas do modelo OSI:

Camada fsica. Especifica um padro para a interconexo fsica entre hosts e comutadores de pacote de rede, e tambm os procedimentos usados para transferir pacotes de uma mquina para outra.

Camada de enlaces de dados. Especifica como os dados transitam entre um comutador de pacote e um host ao qual est conectado. Define o formato dos quadros e especifica como as duas mquinas reconhecem os limites do quadro. J que a transmisso de erros pode destruir os dados, o protocolo de nvel inclui a deteco de erro, permitindo que as duas saibam quando a transferncia de um quadro foi bem-sucedida.

Camada de rede. Contm a funcionalidade que completa a definio da interao entre o host e a rede. Denominado camada de rede ou subrede de comunicao, esse nvel define a unidade bsica de transferncia na rede e inclui os conceitos de endereamento e roteamento de destino.

Camada de transporte. Garante que o destino recebe os dados extamente da forma que eles tenham sido mandados. Para isso ela tambm oferece servios com conexo e sem conexo, como a camada de redes, mas estes so melhorados. A camada de rede faz parte da sub-rede de comunicao, pertence concessionria e pode variar de uma rede para outra. Com a camada de transporte possvel rodar vrios programas de aplicao sobre redes diferentes, uma vez que se utiliza primitivos padres da camada de transporte.

Camada sesso. Permite que os usurios estabeleam uma sesso, ou seja, um ambiente iniciado a partir de uma conexo e que permite a transferncia organizada de dados. Alm disso, gerencia os dilogos, ou seja, o controle de quem deve ser a vez de conversar. Existem conexes full-duplex, onde os dados se movem nos dois sentidos simultaneamente, e half-duplex, onde somente um lado fala a cada vez.

Camada de apresentao. Cuida dos problemas relativos a representao dos dados transmitidos, como converso, criptografia e compresso.

Kleper Gomes - 17 -

TCP/IP

Camada de aplicativo. Contm os programas com os quais o usurio interfaceia mais diretamente. Alguns desses programas tornaram-se extremamente teis e acabaram por definir uma srie de padronizaes. Entre os exemplos possveis esto: correio eletrnico, transferncia de arquivos, acessos a arquivos remotos, entre outros. 4.2. MODELO DA DIVISO EM CAMADAS TCP/IP

O software TCP/IP organizado em quatro camadas conceituais construdas em uma quinta camada de hardware. A Figura 4.2 mostra as camadas conceituais, assim como a forma dos dados medida que passa entre elas. Camada Conceitual Aplicativo Transporte Inter-rede Interface de Redes Hardware Figura 4.2. As quatro camadas conceituais do software TCP/IP e a forma dos objetos que passam entre elas. Objetos Passados entre Camadas Mensagens ou Fluxos Pacotes de Protocolos de Transporte Datagramas IP Quadros de Redes Especficas

Camada de aplicativos. No nvel mais alto, os usurios rodam programas aplicativos que acessam servios disponveis atravs de uma interligao em redes TCP/IP. Um aplicativo interage com um dos protocolos do nvel de transporte para enviar ou receber dados. Cada programa aplicativo escolhe o estilo de transporte necessrio, que tanto pode ser uma seqncia de mensagens individuais ou um stream contnuo de bytes. O programa aplicativo passa, para o nvel de transporte, os dados na forma adequada, para que possam, ento, ser transmitidos.

Camada de Transporte. A primeira funo da camada de transporte prover a comunicao de um programa aplicativo para outro. Tal comunicao sempre chamada fim-a-fim. A camada de transporte pode regular o fluxo de informaes. Ela pode fornecer transporte confivel, assegurando que os dados cheguem sem erros e em seqncia. Para isso, o protocolo de transporte faz com que o lado receptor envie confirmaes e o lado transmissor retransmita pacotes perdidos. O software da camada de transporte divide o fluxo de dados transmitidos em pequenas partes (algumas vezes chamadas pacotes) e passe cada pacote, juntamente com o endereo de destino, camada seguinte para ser transmitido.

Camada Internet. Como vimos, a camada da Internet trata das informaes de uma mquina para outra. Aceita um pedido para enviar um pacote originrio da camada de transporte juntamente com um identificao da mquina para a qual o pacote deve ser enviado. Encapsula o pacote em um datagrama IP, preenche o cabealho do datagrama, usa o algoritmo de roteamento para decidir se entrega o datagrama diretamente ou o envia para um roteador e passa o datagrama para a interface de rede apropriada para transmisso. A camada Internet tambm lida com datagramas de entrada, verificando sua validade, e usa o algoritmo de roteamento para decidir se o datagrama deve ser processado no local ou se deve ser enviado. Para os datagramas endereados mquina local, o software da camada de interligao em redes apaga o cabealho do datagrama e, entre vrios protocolos de transporte, escolhe aquele que vai cuidar do pacote.

Kleper Gomes - 18 -

TCP/IP

Camada de interface de rede. O nvel mais baixo do software TCP/IP compreende uma camada da interface de rede responsvel pela aceitao de datagramas IP e por sua transmisso atravs de uma rede especfica. Uma interface de rede pode consistir em um driver de dispositivo ou em um subsistema complexo que usa seu prprio protocolo de enlace de dados. 4.3. PROTOCOLOS DE TRANSPORTE

4.3.1. UDP (User Datagram Protocol)

Na pilha de protocolos TCP/IP, o UDP, fornece o mecanismo principal utilizado pelos programas aplicativos para enviar datagramas a outros programas iguais. O UDP fornece um servio de transmisso sem conexo, no-confivel, usando o IP para transportar mensagens entre mquinas. Usa o IP para transportar mensagens, porm acrescenta a habilidade de distinguir entre mltiplos destinos em um certo host.

Cada mensagem UDP conhecida como um datagrama de usurio, que consiste em duas partes: um cabealho UDP e uma rea de dados UDP. Como a Figura 4.3 mostra, o cabealho est dividido em quatro campos de 16 bits que especificam a porta da qual a mensagem foi enviada, a porta qual a mensagem destinada, o comprimento da mensagem e a soma de verificao UDP.

0 1 2 3 4 PORTA DE ORIGEM UDP

16 PORTA DE DESTINO UDP SOMA DE VERIFICAO UDP

24

31

COMPRIMENTO DE MENSAGEM UDP DADOS ...

Figura 4.3. O formato dos campos em um datagrama UDP.

Os campos PORTA DE ORIGEM e PORTA DE DESTINO contm os nmeros de porta do protocolo UDP de 16 bits usados para demultiplexar os datagramas entre os processos que esperam para receb-los. A PORTA DE ORIGEM opcional. Quando usada, especifica a porta para a qual devem ser enviadas as respostas; se no usada, dever ser zero.

O campo COMPRIMENTO contm uma contagem de octetos no datagrama UDP, incluindo o cabealho UDP e os dados de usurio. Assim, o valor mnimo para COMPRIMENTO oito, que o comprimento apenas do cabealho.

A soma de verificao UDP opcional e no precisa ser usada; um valor de zero no campo SOMA DE VERIFICAO significa que a soma de verificao no foi calculada. Os projetistas resolveram tornar opcional a soma de verificao a fim de permitir que as implementaes operassem com pouco overhead ao usar UDP atravs de uma rede local altamente confivel. O IP no calcula uma soma de verificao na parte dos dados de um datagrama IP, portanto, a soma de verificao oferece o nico modo de assegurar que os dados tenham chegado intactos e possam ser usados. A camada IP responsvel apenas pela transferncia de dados entre um par de hosts em uma interligao em redes, enquanto a camada UDP responsvel apenas pela diferenciao entre mltiplas origens ou destinos em um host. Desse modo, apenas o cabealho IP identifica os hosts de origem e destino; apenas a camada UDP identifica as portas de origem e destino em um host.

Kleper Gomes - 19 -

TCP/IP

O software colocado em cada camada de uma hierarquia de protocolo deve ser capaz de multiplexar ou demultiplexar mltiplos objetos da camada seguinte. O software UDP apresenta outro exemplo de multiplexao e demultiplexao. Aceita datagramas UDP de muitos programas aplicativos e os passa ao IP, para transmisso, e aceita datagramas UDP recebidos de IP e os passa ao programa aplicativo apropriado. Conceitualmente, toda a multiplexao e demultiplexao entre o software UDP e os programas aplicativos ocorre atravs do mecanismo da porta. Na prtica, cada programa aplicativo deve negociar com o sistema operacional a fim de obter uma porta de protocolo e um nmero de porta correspondente, antes que ele possa enviar um datagrama UDP.

O modo mais simples de conceber uma porta UDP uma fila. Na maioria das implementaes, quando um programa aplicativo negocia com um sistema operacional para usar determinada porta, o sistema operacional cria uma fila interna que pode reter as mensagens que esto chegando. Freqentemente, o aplicativo pode especificar ou mudar o tamanho da fila. Quando o UDP recebe um datagrama, verifica se o nmero de porta de destino confere com uma das portas atualmente em uso. Se no conferir, envia uma mensagem de erro de porta no-atingida e descarta o datagrama. Se for encontrada uma correspondncia, o UDP enfileira o novo datagrama na porta onde o programa aplicativo pode acess-lo. Naturalmente, ocorrer um erro se a porta estiver cheia e o UDP descartar o datagrama recebido.

O UDP um protocolo mais rpido do que o TCP, pelo fato de no verificar o reconhecimento das mensagens enviadas. Por este mesmo motivo, no confivel como o TCP.

4.3.2. TCP (Transmission Control Protocol)

Em um nvel mais baixo, as redes de comunicao fornecem uma entrega de pacotes no-confivel, os pacotes podem ser perdidos ou danificados quando erros de transmisso interferem nos dados. As redes que roteiam pacotes dinamicamente podem entreg-los fora de ordem, entreg-los aps um intervalo substancial, ou entregar reprodues.

Em um nvel mais alto, os programas aplicativos freqentemente precisam enviar grandes volumes de dados de um computador a outro. A utilizao de um sistema de transmisso sem conexo e no-confivel torna-se tediosa e irritante, e requer que os programadores criem deteco e recuperao de erros em cada programa aplicativo. Um dos objetivos da pesquisa de protocolos de rede foi encontrar solues de fins gerais para problemas de transmisso confivel de streams de pacotes, possibilitando aos especialistas criar um nico protocolo para transmisso de stream de dados que todos os programas aplicativos pudessem utilizar.

O servio definido pelo TCP, o servio de stream confivel to importante que toda a pilha de protocolos citada como TCP/IP. O TCP um protocolo de comunicao, e no um software, o protocolo especifica o formato dos dados e das confirmaes que os dois computadores trocam para oferecer uma transferncia confivel e, tambm, os procedimentos de que se valem os computadores para assegurar que os dados cheguem corretamente.

O TCP pode ser utilizado com uma variedade de sistema de transmisso de pacotes, inclusive o servio de transmisso de datagramas IP. O TCP pode, por exemplo, ser implementado para utilizar linhas telefnicas por discagem, rede local, rede de fibra ptica de alta velocidade, ou uma rede de longas distncias de velocidade mnima. Na realidade, um dos pontos fortes do TCP a grande variedade de sistemas de transmisso que ele pode usar.

O TCP posiciona-se acima do IP no esquema de diviso em camadas do protocolo, permite que programas aplicativos mltiplos, de determinada mquina, comuniquem-se simultaneamente, e ele demultiplexa o trfego TCP de entrada entre os programas aplicativos. Como o UDP, o TCP utiliza

Kleper Gomes - 20 -

TCP/IP

nmeros de porta de protocolo para identificar o destino final em uma mquina. Porm, as portas TCP so muito mais complexas, porque determinado nmero delas no corresponde a um objeto nico. Ao contrrio, o TCP foi estruturado na abstrao de conexo, em que os objetos a serem identificados so conexes de circuito virtual, e no portas isoladas.

A unidade de transferncia entre o software TCP de duas mquinas denominada segmento. Os segmentos so trocados para estabelecer conexes, transferir dados, enviar confirmaes, informar tamanhos de janelas e encerrar conexes. A Figura 4.4 mostra o formato do segmento TCP.

0 1 2 3 4 PORTA DE ORIGEM NMERO DE SEQNCIA

16 PORTA DE DESTINO

24

31

NMERO DO RECONHECIMENTO HLEN RESERVADO BITS DE CDIGO JANELA PONTEIRO URGENTE ENCHIMENTO

SOMA DE VERIFICAO OPES (SE HOUVER) DADOS ...

Figura 4.4. O formato de um segmento TCP com o cabealho TCP seguido de dados.

Cada segmento dividido em duas partes: um cabealho seguido de dados. O cabealho, conhecido como cabealho TCP, transporta a identificao esperada e as informaes de controle. Os campos PORTA DE ORIGEM e PORTA DE DESTINO contm os nmeros de portas TCP que identificam os programas aplicativos nas extremidades da conexo. O campo NMERO DE SEQNCIA identifica a posio no stream de bytes do transmissor dos dados no segmento. O campo NMERO DO RECONHECIMENTO identifica o nmero do octeto que a origem espera receber depois. Observe que o nmero seqencial refere-se ao stream que segue na mesma direo que o segmento, enquanto o nmero do reconhecimento refere-se ao stream que segue em direo oposta ao segmento.

O campo HLEN contm um nmero inteiro que especifica o comprimento do cabealho do segmento, medido em mltiplos de 32 bits. Isso necessrio porque o campo OPES varia em comprimento, dependendo de quais opes foram includas. Assim, o tamanho do cabealho TCP varia de acordo com as opes selecionadas.

Uma das idias mais importantes e complexas em TCP concentra-se na maneira como ele trata o timeout e a retransmisso. A exemplo de outro protocolos confiveis, o TCP espera que o destino envie confirmao toda vez que recebe novos octetos, com xito, do stream de dados. Sempre que envia um segmento, o TCP inicia um temporizador e espera uma confirmao. Se o temporizador terminar antes que os dados do segmento tenham sido confirmados, o TCP aceita que esse segmento foi perdido ou destrudo e o retransmite. O software TCP precisa aceitar as duas grandes diferenas entre o tempo necessrio para atingir vrios destinos e as alteraes necessrias no tempo para atingir um determinado destino, de acordo com a variao de carga do trfego. O TCP monitora o desempenho de cada conexo e deduz valores razoveis para timeout. medida que o desempenho de uma conexo muda, o TCP revisa seu valor de timeout (ou seja, adapta-se mudana).

O congestionamento uma condio de retardo longo causado por uma sobrecarga de datagramas em um ou mais pontos de comutao (p. ex., em roteadores). Quando ocorre um congestionamento, os intervalos aumentam e o roteador comea a enfileirar datagramas at que possa distribu-los.

De acordo com a especificao, o campo HLEN o deslocamento dos dados da rea situada dentro do segmento.

Kleper Gomes - 21 -

TCP/IP

Precisamos lembrar que cada roteador possui uma capacidade limitada de armazenamento e que os datagramas concorrem para esse armazenamento. Na pior hiptese, o nmero total de datagramas que chega ao roteador congestionado cresce at que o roteador alcance a capacidade e comece a eliminar datagramas. Lamentavelmente, a maioria dos protocolos de transporte utiliza timeout e retransmisso, de modo que reajam ao aumento do retardo com a retransmisso de datagramas. As retransmisses agravam o congestionamento em vez de o amenizarem. Se no for verificado, o aumento do trfego produzir um aumento do retardo, provocando uma elevao do trfego, e assim por diante, at que a rede torne-se intil; mas os protocolos de transporte, como o TCP, podem evitar o congestionamento reduzindo automaticamente as taxas de transmisso sempre que ocorrerem retardo. Logicamente, os algoritmos para evitar congestionamentos precisam ser criados cuidadosamente porque, mesmo em condies operacionais normais, uma interligao em redes exibir grande variao de retardo de ida e volta. 4.4. PROTOCOLOS DE REDE

4.4.1. IP (Internet Protocol)

O servio mais importante de uma rede consiste em um sistema de entrega de pacotes. Tecnicamente, o servio definido como um sistema de transmisso sem conexo, e no-confivel; anlogo ao servio oferecido por hardwares de redes. O servio conhecido como no-confivel porque a entrega no garantida. O pacote pode ser perdido, reproduzido, atrasar-se ou ser entregue com problemas, mas o servio no detectar tais condies, nem informar isso ao transmissor nem ao receptor. Ele denominado sem conexo porque cada pacote independente dos outros, uma seqncia de pacotes enviados de um computador a outro pode trafegar por caminhos diferentes, ou alguns podem ser perdidos enquanto outros so entregues. O protocolo que define o mecanismo de transmisso sem conexo e no-confivel conhecido como Internet Protocol. O IP oferece trs definies importantes:

O protocolo IP define a unidade bsica de transferncia de dados utilizada atravs de uma interligao em redes TCP/IP, assim, ela especifica o formato exato de todos os dados medida que ela passa pela interligao em redes TCP/IP.

O software IP desempenha a funo de roteamento, escolhendo um caminho por onde os dados sero enviados.

O IP inclui um conjunto de regras que concentram a idia da entrega no-confivel de pacotes, que definem como os hosts e os roteadores devem processar os pacotes, como e quando as mensagens de erro devem ser geradas e as condies segundo as quais os pacotes podem ser descarregados.

Numa rede fsica, a unidade de transferncia um quadro que contm um cabealho e dados, onde o cabealho fornece informaes como endereo de origem e de destino (fsicos). A interligao em redes denomina sua unidade bsica de transferncia de um datagrama IP, que dividido em cabealho e reas de dados. A diferena que o cabealho do datagrama contm endereos IP, enquanto o quadro contm os endereos fsicos.

Kleper Gomes - 22 -

TCP/IP

A Figura 4.5 mostra a organizao dos campos em um datagrama:

0 1 2 VERS

3 4 HLEN

8 TIPO DE SERVIO

16 COMPRIMENTO TOTAL FLAGS

24

31

IDENTIFICAO TEMPO DE VIDA PROTOCOLO

DESLOCAMENTO DO FRAGMENTO

VERIFICAO DA SOMA DO CABEALHO

ENDEREO IP DE ORIGEM ENDEREO IP DE DESTINO OPES IP (SE HOUVER) DADOS ... Figura 4.5. Formato de um datagrama da Internet, a unidade bsica de transferncia em um interligao em redes TCP/IP. J que o processamento de datagramas se d em softwares, o contedo e o formato no so retringidos por quaisquer hardwares. O primeiro campo de quatro bits de um datagrama (VERS), por exemplo, contm a verso do protocolo IP utilizada para criar o datagrama. Ele utilizado para verificar se o transmissor, o receptor e quaisquer roteadores existentes entre eles concordam quanto ao formato do datagrama. Todo software IP precisa verificar o campo de verso antes de processar um datagrama, para assegurar-se de que ele se adapta ao formato que o software espera. Se os padres mudarem, as mquinas rejeitaro datagramas com verses de protocolo diferentes dos seus, impedindo que eles deturpem o contedo do datagrama com um formato desatualizado. A verso atual do protocolo IP a quatro. PADDING

O campo de comprimento do cabealho (HLEN), tambm de quatro bits, fornece o comprimento do cabealho do datagrama medido em palavras de 32 bits. Todos os campos do cabealho contm um comprimento fixo, exceto para OPES IP e os campos correspondentes PADDING. O cabealho mais comum, que no contm qualquer opo e nenhum preenchimento, mede 20 octetos e o campo de comprimento de cabealho igual a cinco.

O campo COMPRIMENTO TOTAL, fornece o comprimento do datagrama IP medido em octetos, incluindo octetos no cabealho e nos dados. O tamanho da rea de dados pode ser calculado subtraindo-se de COMPRIMENTO TOTAL o comprimento do cabealho (HLEN). J que o campo COMPRIMENTO TOTAL, possui 16 bits de coprimento, o maior tamanho possvel para um datagrama IP 216 ou 65.535 octetos. Na maioria do aplicativos, essa no uma limitao rgida. No futuro pode tornar-se mais importante, se as redes de velocidade mais alta puderem transportar pacotes de dados maiores que 65.535 octetos. Trs campos no cabealho do datagrama, IDENTIFICAO, FLAGS e DESLOCAMENTO DO FRAGMENTO, controlam a fragmentao e a remontagem de datagramas. O campo IDENTIFICAO contm um nmero inteiro nico que identifica o datagrama, sua finalidade principal permitir que o destino saiba quais datagramas esto chegando e a que datagramas pertencem. O campo DESLOCAMENTO DO FRAGMENTO responsvel pela remontagem do datagrama, o destino precisa obter todos os fragmentos que iniciam com o fragmento que possui deslocamento zero at o fragmento de maior deslocamento. O campo FLAGS controlam a fragmentao, define se o datagrama pode ou no ser fragmentado e se o destino reuniu todos os fragmentos.

O campo TEMPO DE VIDA especifica quanto tempo, em segundos, o datagrama pode permanecer no sistema de interligao em redes, os roteadores e os hosts que processam datagramas precisam decrementar o campo TEMPO DE VIDA medida que o tempo passa e remover o datagrama da interligao quando seu tempo expira. PROTOCOLO especifica qual protocolo de alto nvel foi utilizado para criar a mensagem que est sendo transportada na rea DADOS do datagrama.

Kleper Gomes - 23 -

TCP/IP

O campo VERIFICAO DA SOMA DO CABEALHO assegura a integridade dos valores de cabealho. A verificao IP formada com o tratamento do cabealho como uma seqncia de nmeros inteiros de 16 bits (na ordem de bytes da rede), reunindo-os com uma aritmtica complemento de um, e a seguir considerando o complemento de um como o resultado. Para a finalidade de calcular a soma de verificao, considera-se que o campo VERIFICAO DA SOMA DO CABEALHO contenha zero.

Os campos ENDEREO IP DE ORIGEM e ENDEREO IP DE DESTINO contm endereos IP de 32 bits do transmissor do datagrama e do receptor desejado. Embora o datagrama possa ser roteado atravs de muiots roteadores intermedirios, os campos da origem e destino nunca mudam; eles especificam os endereos IP da origem e do ltimo destino.

O campo denominado DADOS mostra o incio da rea de dados do datagrama, seu comprimento depende, logicamente, do que est sendo enviado no datagrama. O campo OPES IP que se segue ao endereo de destino no necessrio em todo datagrama, e as opes so includas principalmente para testes ou depurao da rede. Contudo, o processamento de opes parte integrante do protocolo IP; assim, todas as implementaes de padres precisam inclu-lo. O campo PADDING depende das opes selecionadas. Ele representa bits contendo zero e que podem ser necessrios para garantir que o cabealho do datagrama se estenda at o mltiplo exato de 32 bits.

O objetivo do IP fornecer uma rede virtual que abranja vrias redes fsicas e oferea um servio de entrega de datagrama sem conexo. O algoritmo de roteamento IP deve escolher a forma pela qual enviar um datagrama atravs de vrias redes fsicas. O roteamento se classifica em dois tipos: encaminhamento direto e encaminhamento indireto. O encaminhamento direto a transmisso de um datagrama, atravs de uma nica rede fsica para outra mquina. Duas mquinas s podem executar o encaminhamento direta se ambas se conectarem diretamente a uma mesma rede fsica (p. ex., uma nica Ethernet). O encaminhamento indireto ocorre quando o destino no se encontra na mesma rede fsica, forando o transmissor a passar o datagrama para um roteador executar a entrega.

O algoritmo de roteamento IP pode ser descrito da seguinte forma: Extrai o endereo IP de destino, D, do datagrama e calcule o prefixo da rede, N; Se N corresponder com qualquer endereo de rede conectado diretamente entregue datagrama ao destino D atravs desta rede (Isto envolve converter D para um endereo fsico, encapsular o datagrama e enviar o quadro.) Se a tabela contiver uma rota especfica do host para D envie o datagrama para o prximo passo da rota especificada na tabela Se a tabela contiver uma rota para a rede N envie o datagrama para o prximo passo da rota especificada na tabela Se a tabela contiver uma rota padro envie o datagrama para o roteador padro especificado na tabela Caso contrrio declare um erro de roteamento; O endereo IP selecionado pelo algoritmo de roteamento IP conhecido como endereo do prximo passo da rota, porque indica para onde o datagrama deve ser enviado (mesmo que no seja o ltimo destino). O software da interface de rede vincula o endereo do prximo passo da rota a um endereo fsico, forma um quadro usando aquele endereo fsico, coloca o datagrama na parte de dados do quadro e envia o resultado. Aps usar o endereo do prximo passo da rota para encontrar um endereo fsico, o software de interface da rede descarta o endereo do prximo passo da rota.

Kleper Gomes - 24 -

TCP/IP

Quando um datagrama IP chega a um host, o software de interface da rede entrega-o ao software IP para processamento. Se o endereo de destino do datagrama corresponder ao endereo de IP do host, o software IP do host aceita o datagrama e passa-o ao software apropriado, do protocolo de nvel mais alto, para posterior processamento. Se no houver correspondncia com o IP de destino, o host deve descartar o datagrama (ou seja, os hosts ficam proibidos de tentar encaminhar datagramas acidentalmente roteados para a mquina errada).

O algoritmo de roteamento da interligao em redes orientado por tabela e usa apenas endereos IP. Embora seja possvel para uma tabela de roteamento conter um endereo de destino especfico ao host, a maior parte dessas tabelas contm apenas endereos de rede, mantendo pequenas as tabelas de roteamento. O uso de uma rota padro tambm pode manter pequena a tabela de roteamento, principalmente para hosts que s conseguem acessar um roteador. 4.4.2. ICMP (Internet Control Message Protocol)

Para permitir que os roteadores de uma interligao em redes informem os erros ou forneam informaes sobre ocorrncias inesperadas, os projetistas acrescentaram aos protocolos TCP/IP um mecanismo de mensagem para fins especficos, conhecido como ICMP Internet Control Message Protocol (Protocolo Internet de Mensagem de Controle), considerado uma parte necessria do IP e deve ser includo em cada implementao de IP.

O ICMP permite que os roteadores enviem mensagens de erro ou de controle aos outros roteadores ou aos hosts; possibilita a comunicao entre o software do IP em uma mquina, e o software de IP em outra. Um host pode usar o ICMP para se corresponder com um roteador ou com outro host. A principal vantagem de permitir que os hosts usem ICMP que isto fornece um mecanismo nico usado para todas as mensagens de controle de informao. Do ponto de vista tcnico, o ICMP um mecanismo para relatar erros. Fornece um meio pelo qual os roteadores que encontram erros possam lev-los ao conhecimento do transmissor. As mensagens ICMP so geradas por gateways na rota de transporte de um datagrama ou pela estao de destino. Quando ocorre algum problema previsto pelo ICMP. A mensagem ICMP descrevendo a situao preparada e entregue camada IP (Figura 4.6), que adiciona mensagem ICMP o cabealho IP e envia ao emissor do datagrama com o qual ocorreu o problema.

Kleper Gomes - 25 -

TCP/IP

Mensagem ICMP Camada IP Camada Inferior Cabealho IP Cabealho do Quadro Dados IP Dados do Quadro

Figura 4.6. Encapsulamento da mensagem ICMP em um Datagrama IP.

4.4.3. ARP (Address Resolution Protocol)

Os endereos IP so atribudos independente de um endereo de hardware fsico de uma mquina. Para enviar um pacote de interligao em redes atravs de uma rede fsica de um computador para outro, o software de rede deve mapear o endereo IP em um endereo fsico de hardware e usar o endereo de hardware para transmitir o quadro. Se os endereos de hardware forem menores do que os endereos IP, um mapeamento direto pode ser estabelecido tendo o endereo fsico da mquina codificado em seu endereo IP. De outra maneira, os mapeamentos devem ser executados dinamicamente. O ARP executa a converso de endereo dinmica, usando somente o sistema de comunicao de rede de baixo nvel. ARP permite que as mquinas convertam endereos sem manter um registro permanente das vinculaes. Uma mquina usa ARP para descobrir o endereo de hardware de outra mquina, difundindo uma solicitao ARP. A solicitao contm o endereo IP da mquina para o qual um endereo de hardware requisitado. Todas as mquinas de uma rede recebem uma solicitao ARP. Se a solicitao combina com um endereo IP de mquina, a mquina responde enviando uma resposta que contm o endereo de hardware necessitado. As respostas so dirigidas para uma mquina; no so transmitidas por difuso.

Para tornar ARP eficiente, cada mquina trata as vinculaes entre endereos fsicos IP. Como o trfego de interligao em redes geralmente consiste em uma seqncia de interaes entre pares de mquinas, o cache elimina muitas solicitaes de difuso ARP. 4.4.4. RARP (Reverse Address Resolution Protocol)

Este protocolo destina-se soluo do problema inverso ao resolvido pelo ARP. O problema RARP um host que no conhece o seu prprio endereo IP ou o de um outro host, mas possui o endereo fsico correspondente. O protocolo RARP permite que a partir do endereo fsico, seja obtido o endereo IP correspondente. Para que o RARP funcione, necessrio ao menos um servidor RARP, que possui informaes de mapeamento de todos os hosts da rede. Pode haver um ou vrios servidores RARP na mesma rede.

A principal vantagem de possuir diversas mquinas funcionando como servidores RARP tornar o sistema mais confivel. Se um servidor estiver desativado, ou excessivamente sobrecarregado para responder, um outro responder solicitao. Assim, muito mais provvel que o servio esteja disponvel. A principal desvantagem de se utilizarem muitos servidores que quando uma mquina difunde uma solicitao RARP, a rede torna-se sobrecarregada se todos os servidores tentam responder. Em uma Ethernet, por exemplo, utilizar servidores RARP mltiplos torna mais provvel uma coliso.

Kleper Gomes - 26 -

TCP/IP

Para evitar respostas mltiplas e simultneas, h pelos menos duas possibilidades, e ambas envolvem o aumento do intervalo entre as respostas:

A cada mquina que faz solicitaes RARP atribudo um servidor principal. Em circunstncias normais, somente o servidor principal da mquina responde sua solicitao RARP. Todos os servidores que no sejam principais recebem a solicitao, mas apenas registram seu tempo de chegada. Se o servidor principal no estiver disponvel, a mquina original far um intervalo para aguardar uma resposta e, a seguir, difundir novamente a solicitao. Sempre que um servidor, que no seja o principal, receber uma segunda cpia de uma solicitao RARP em um curto espao aps a primeira, ele responde.

A segunda soluo utiliza um esquema semelhante, mas tenta impedir que todos os servidores no-principais transmitam respostas simultaneamente. Cada mquina no-principal que receber uma solicitao calcula um intervalo aleatrio e, a seguir, envia uma resposta. Em circunstncias normais, o servidor principal responde imediatamente e com intervalos entre as respostas sucessivas, de modo que h pouca probabilidade de que cheguem ao mesmo tempo. Quando o servidor principal no est disponvel, a mquina solicitante sofre um pequeno retardo antes que uma resposta seja recebida. Escolhendo os intervalos com cuidado, o projetista assegura que as mquinas solicitantes no difundiram antes de receber uma resposta.

5.

ROTEAMENTO

5.1.

ROTEAMENTO BASEADO EM TABELAS

Este algoritmo do protocolo IP utiliza uma tabela de roteamento que armazena informaes sobre como atingir cada sub-rede de rede internet. Sempre que a camada IP, em uma estao ou em um gateway, precisa transmitir um datagrama para uma estao que no est diretamente conectada mesma sub-rede, ela consulta a tabela de roteamento a fim de determinar o gateway para o qual esse datagrama deve ser enviado.

128.10

129.7

128.15

HOST B 128.15.1.1 C D 128.15.1.3 Destino 128.10 128.15 129.7 Default Roteamento Conexo Direta Conexo Direta 128.15.1.3 128.15.1.1

INTERNET

Figura 5.1. Tabela de Roteamento do Gateway B.

Kleper Gomes - 27 -

TCP/IP

Tipicamente, a tabela de roteamento do IP contm entradas do tipo (N,G), onde N um endereo IP (endereo de destino) e G endereo IP do prximo gateway para atingir N. Essa tabela, portanto, s determina o prximo passo no caminho para um destinatrio. Nem a estao emissora nem o gateway conhecem a rota completa at a estao a estao destinatria. Vale ressaltar que as entradas dessa tabela s referenciam gateways que podem ser atingidos diretamente, isto , todos os gateways listados na tabela de roteamento de uma mquina M esto conectados s sub-redes fsicas nas quais a mquina M est conectada. Um exemplo de tabela de roteamento dado na Figura 5.1. A tabela de roteamento do IP pode conter informaes sobre todos os destinatrios de uma rede internet, j que a maioria das mquinas no teria espao em memria suficiente para isso Por esse motivo, so armazenados os endereos das sub-redes. Outra tcnica utilizada para minimizar o tamanho das tabelas a utilizao de rotas predefinidas (default) para o qual um datagrama deve ser enviado sempre que no for encontrada na tabela uma entrada especfica para o endereo IP destino. A utilizao de rotas predefinidas particularmente til em redes com um nico gateway, j que todas as demais sub-redes da rede Internet devem ser atingidas mediante esse gateway. 5.2. ALGORITMOS DE ROTEAMENTO

O algoritmo de roteamento a tcnica utilizada pelos gateways para se localizarem mutuamente e para conseguirem comunicao com as diversas redes de uma rede Internet. A tabela de roteamento de um gateway atualizada a partir de informaes obtidas na execuo do algoritmo de roteamento utilizados na arquitetura TCP/IP: Vetor-Distncia (Vector-Distance) e Estado-do-Enlace (Link-State), que so discutidos a seguir.

5.2.1. ROTEAMENTO VECTOR-DISTANCE

Inicialmente, cada gateway possui uma tabela contendo uma entrada para cada sub-rede qual est conectado. A cada sub-rede especificada na tabela est associada a distncia entre a mesma e o gateway que mantm a tabela. Esta distncia pode ser medida em hops (nmero de gateways a atravessar para atingir uma sub-rede) ou em retardo (tempo necessrio para a sub-rede).Inicialmente, os campos de distncia devem valer zero, pois somente as sub-redes s quais o gateway est diretamente conectado so especificadas na tabela. Periodicamente, cada gateway envia uma cpia de sua tabela para todo o gateway que possa atingir diretamente. O gateway que recebe a tabela, a compara com a sua prpria e modifica esta ltima nos seguintes casos:

se o gateway emissor conhecer um caminho maios curto para determinada sub-rede, ou seja se a distncia apresentada na tabela do emissor for menor do que a da tabela do receptor;

se o gateway emissor apresentar uma sub-rede que o receptor no conhece, ou seja, se na tabela do emissor existir uma entrada que no est presente na tabela do receptor; esta entrada inserida na tabela do receptor;

se uma rota que passa pelo emissor tiver sido modificada, ou seja, se a distncia associada a uma sub-rede que passa pelo emissor tiver mudado.

Na atualizao dos campos de distncia da tabela do receptor, deve-se considerar a distncia entre os gateways emissor e receptor, (por exemplo, necessrio somar 1 no caso da mtrica baseada em hops). Vale lembrar que, para cada sub-rede especificada na tabela, existe associada um campo que indica o prximo gateway na rota para essa sub-rede. A Figura 5.2 ilustra este tipo de roteamento.

Kleper Gomes - 28 -

TCP/IP

O algoritmo simples e de fcil implementao; porm, em ambientes dinmicos, onde novas conexes surgem e outras so desativadas com freqncia, a informao de atualizao propaga-se muito lentamente e, durante esse perodo de propagao, alguns gateways possuem informaes de roteamento inconsistentes. Alm disso, as mensagens de atualizao tornam-se enormes, pois so diretamente proporcionais ao nmero total de redes e gateways presentes na rede Internet (todos os gateways devem participar, seno o algoritmo no converge).

1 A B

2 C Tabela do N A Destino Ligao Distncia 0 1 2 1 2

4 5 6

A B C D E

local 1 1 3 1

Figura 5.2. Roteamento Vector-Distncia.

5.2.2. ROTEAMENTO LINK-STATE (Shortest Path First)

Neste algoritmo, cada gateways deve conhecer a topologia completa da rede Internet. Isto feito descrevendo-se os gateways interconectados entre si por enlaces (links). Existe um enlace entre dois gateways se ambos puderem comunicar-se diretamente, ou seja se estiverem mesma rede fsica.

Cada gateway exerce duas funes principais. A primeira testar continuamente o estado dos enlaces com os gateways vizinhos. A segunda enviar periodicamente os dados de estado de seus enlaces a todos os outros gateways da rede Internet. O teste de estado realizado atravs do envio de mensagens curtas que exigem resposta. Se acontecer uma resposta, sob condies que variam segundo a implementao do protocolo, o enlace est ativo, seno est inativo. Os dados de estado indicam, simplesmente, se h possibilidade de comunicao entre dois gateways. .Estes dados so em geral enviados em modo difuso (broadcast) individualmente.

Ao receber uma informao de estado, um gateway atualiza seu mapa da rede Internet ativado ou desativado os enlaces em questo e recalcula as rotas para todos os destinos possveis atravs do algoritmo Shortest-Path-First (SPF), de Dijskstra, aplicado topologia da rede Internet. A figura 5.3 ilustra um exemplo deste tipo de roteamento. Em relao ao algoritmo Vector-Distance, o SPF possui diversas vantagens. O clculo das rotas realizado localmente, no dependendo de mquinas intermedirias. O tamanho das mensagens no depende do nmero de gateways diretamente conectados ao gateway emissor. Como as mensagens trafegam inalteradas a deteco de problemas torna-se mais fcil.

Kleper Gomes - 29 -

TCP/IP

1 A B

2 C Tabela do N A Fonte Ligao B C D E D E Distncia 1 2 3 5 6 4

4 5 6

A B A C E B

Figura 5.3. Roteamento Link-State.

Os algoritmos descritos anteriormente assumem, a priori, a existncia de uma tabela de roteamento devidamente iniciada. Esta iniciao depende do prprio sistema computacional no qual se situa a camada IP. Vrias solues manuais existem como, por exemplo, a carga de uma tabela prconfigurada com dados limitados ou a carga de uma tabela vazia que so preenchidas atravs de comandos. Entretanto, o problema principal a manuteno dessas tabelas devido dinmica das redes. Para resolver esse problema torna-se imprescindvel o uso de mecanismos automticos, previstos nos protocolos de roteamento descritos nos itens seguintes. 5.3. PROTOCOLOS DE ROTEAMENTO

O protocolo de roteamento determina a forma pela qual os gateways devem trocar informaes necessrias execuo do algoritmo de roteamento. Por exemplo, se o algoritmo de roteamento implementado for do tipo Vector-Distance, o protocolo de roteamento deve definir como cada gateway envia aos demais a sua distncia em relao a cada sub-rede Internet.

5.3.1. IGP Interior Gateway Protocol

O termo IGP utilizado para designar o protocolo usado na troca de informaes de roteamento entre Interior Gateways (IG).

Em sistemas autnomos (SA) pequenos, as tabelas de roteamento podem ser determinadas, manualmente, pelo administrador do sistema. O administrador mantm uma tabela de redes do SA que atualizada sempre que uma rede removida ou inserida no SA . Alm de no ser confivel, esse mtodo torna-se invivel com o crescimento do SA . No existe um protocolo padro entre os gateways de um mesmo SA . Por esse motivo, o termo IGP usado para referenciar qualquer protocolo de roteamento entre Interior Gateways (IG). Os protocolos IGP mais conhecidos so: RIP (Routing Information Protocol), Hello Protocol e OSPF (Open Shortest-Path-Frist Protocol).

Kleper Gomes - 30 -

TCP/IP

RIP - Routing Information Protocol

O RIP foi originalmente desenvolvido pela Universidade da Califrnia em Berkeley. Este protocolo permite a troca de informaes utilizadas pelo algoritmo de roteamento Vector-Distance em uma sub-rede dotada do servio de difuso de mensagens.

O RIP divide as mquinas da sub-rede em ativas e passivas. As mquinas ativas divulgam informaes de roteamento para as outras, enquanto as mquinas passivas recebem as informaes e atualizam suas rotas, sem divulga-las. Tipicamente, os gateways executam o RIP no modo ativo, enquanto as estaes o executam no modo passivo. Um gateway executando o RIP no modo ativo difunde as mensagens a cada 30 segundos e tambm quando recebe uma solicitao de informao de outro gateway. A mensagem difundida normalmente contm informaes sobre todas as sub-redes do SA, extradas da tabela de roteamento do gateway. Cada mensagem enviada por um gateway G consiste em pares de informaes. Cada par composto de um endereo de sub-rede IP e da distncia do gateway G sub-rede . A mtrica utilizada para o clculo de distncia baseada no nmero de hops (nmero de gateways) na melhor rota entre o gateway G e a rede. Curiosamente o RIP assume o valor "1" para a distncia de um gateway a uma sub-rede qual ele est diretamente conectado. Para compensar diferenas de tecnologia de redes, algumas implementaes do RIP informam uma distncia maior quando a rota atravessa uma rede lenta. Participantes ativos e passivos do RIP, quando recebem uma mensagem, atualizam suas rotas de acordo com o algoritmo de roteamento Vector-Distance, descrito no item 5.2.1 Para evitar que uma rota oscile entre dois ou mais caminhos com a mesma mtrica, o RIP especifica que uma rota deve ser atualizada somente quando a nova rota possuir distncia menor que a atual. OSPF - Open Shortest-Path-First Protocol

O protocolo OSPF foi elaborado por um grupo de trabalho da Internet Engineering Task Force com o propsito de atender s exigncias de roteamento de grandes redes, ou seja, um IGP para sistemas autnomos de porte. um protocolo que usa o algoritmo SPS e compreende uma srie de facilidades adicionais listados a seguir, as quais permitem diminuir a sobrecarga necessria para a manuteno da topologia atualizada de uma rede Internet: roteamento levando em considerao o tipo de servio; balanceamento de carga entre rotas de mesmo tamanho; participao dos gateways e redes em subgrupos denominados reas, sendo a topologia de uma rea conhecida apenas dentro da mesma, facilitando o crescimento modular do SA ; definio da topologia de rede virtual que abstraia detalhes de rede real; divulgao e informaes recebidas de exterior gateways. O formato da mensagem permite distinguir informaes recebidas de fontes externas daquelas recebidas dentro do SA ; O protocolo OSPF baseado nas mensagens: Hello, Database Description, Link Status Request e Link Status Uptade. Quando um gateway OSPF inicializado, sua primeira ao contatar os gateways vizinhos, atravs de mensagens Hello. Os gateways trocam mensagens entre si para eleger o gateway mestre (DR -Designated Router). Este gateway torna-se responsvel pela notificao de informaes de roteamento a todos os gateways presentes na rede (gateways secundrios). Nos protocolos de roteamento discutidos anteriormente todos os gateways enviavam e recebiam informaes de roteamento, gerando trfego excessivo. A figura de um gateway mestre, com o funo de gerador/distribuidor de informaes, reduz significativamente o trfego relativo s mensagens de roteamento, que so trocadas somente entre o gateway mestre e os demais gateways secundrios.

Kleper Gomes - 31 -

TCP/IP

O OSPF usa o roteamento link state. As informaes de roteamento trocados entre gateways, atravs da mensagem Database Description, indicam o estado e o custo associado s interfaces e aos gateways vizinhos. Estas mensagens so confirmadas pelos gateways que a recebem. Como as bases podem ser grandes, uma base de topologia pode gerar vrias mensagens. A mensagem Link Status Request usada por um gateway na requisio de dados atualizados a outro gateway. Na mensagem Link Status Updade usada por um gateway no envio de informaes sobre o estado de seus enlaces. Uma vez estabelecido o gateway mestre da cada sub-rede Internet ,realizada a troca de informaes de roteamento entre o gateways mestres das vrias sub-redes em que esteja conectado, o gateway monta a sua base de dados de roteamento. O algoritmo SPF , ento executado a partir dessa base e, como resultado, obtida uma rvore de roteamento com o gateway na raiz, indicando a conectividade com outras redes. A partir dos dados de custo, so calculados os custos totais das rotas at cada sub-rede da Internet.

5.3.2. EGP - Exterior Gateway Protocol

O protocolo EGP no est vinculado a nenhum algoritmo de roteamento. Isto , para que dois gateways se comuniquem atravs do EGP no necessrio que eles executem um mesmo algoritmo de roteamento. O EGP define as informaes a serem trocadas entre EG (basicamente as tabelas de roteamento) e os elementos de protocolo necessrios troca dessas informaes.

Tais informaes permitem que um ou mais sistemas autnomos sejam utilizados como intermedirios do trfego originado em algum sistema autnomo e destinado a outro, sem que o usurio da rede perceba que a rede composta por mais de um sistema autnomo.

O EGP um protocolo de roteamento elaborado para uma rede de sistemas autnomos organizados em uma estrutura tipo rvore, ou seja, uma rede sem loops (ciclos) na sua topologia. As informaes trocadas neste protocolo no impedem que ocorram loops no roteamento. Uma situao de loop pode ocorrer, por exemplo, quando uma tabela de roteamento de um gateway G indica o gateway G' como a melhor sada para uma rede N, e a tabela de roteamento de G' indica G como a melhor sada para a rede N. As mensagens do EGP so associadas a cada Sistema Autnomo atravs de uma identificao de 16 bits que colocada no cabealho da cada mensagem do EGP. Essas mensagens trafegam somente entre gateways vizinhos. Dois gateways podem tornar-se vizinhos quando: esto diretamente conectadas por um, cabo, por exemplo; ou esto conectados por uma rede transparente para eles, isto , uma rede cuja estrutura interna eles no conhecem.

No faz parte do protocolo EGP determinar quando dois gateways devem tornar-se vizinhos. Esta uma tarefa do administrador do SA . Dois gateways tornam-se vizinhos atravs da troca de mensagens de Aquisio de Vizinho. Aps se tornarem vizinhos, dois gateways passam a trocar mensagens de Disponibilidade, para conhecer o estado do vizinho (conectado/desconectado), e mensagens de Alcance, para identificar quais redes podem ser acessadas atravs do vizinho.

O EGP um protocolo do tipo solicitao (polling). As mensagens so trocadas somente quando ocorre uma solicitao de um dos vizinhos. Por isso, o EGP permite que cada gateway controle a sua taxa de envio e recebimento de informao de roteamento. Alm disso, esse protocolo permite que um S A tenha um mecanismo de roteamento interno que no afetado por falhas em outros sistemas.

Kleper Gomes - 32 -

TCP/IP

5.3.3. BGP Border Gateway Protocol

Com o crescimento da Internet, o uso do EGP tornou-se limitado. Existia a necessidade de acrescentar funes de policiamento no roteamento e o protocolo devia suportar topologias complexas. Consequentemente surgiu o BGP, para suprir as deficincias do EGP no roteamento entre sistemas autnomos.

Roteadores com BGP se preocupam com critrios polticos de roteamento. Um sistema autnomo (SA) deve querer habilidade de enviar pacotes para algum site e receber pacotes de outro site de seu interesse. Entretanto, ele no deve gostar de conduzir pacotes entre sistemas autnomos (SA's) que no seja de seu interesse. Por exemplo, companhias telefnicas devem atuar como portadora de seus clientes, mas no dos outros.

O protocolo BGP foi projetado para permitir muitos critrios de roteamento a serem aplicadas no trfego entre SA's. Critrios tpicos envolvem consideraes de ordem poltica, de segurana, ou econmicas. Alguns exemplos de limites de roteamento so: nunca coloque o Iraque na rota para o Pentgono; trfego iniciando ou terminando na IBM, no trafega para Microsoft. Os critrios so configurados manualmente em cada roteador BGP.

Do ponto de vista do roteador BGP, o mundo consiste de outros roteadores BGP interconectados. Dois roteadores BGP so considerados conectados se eles compartilham uma rede comum. Dado o interesse de um BGP especial no trfego, as redes so grupadas em trs categorias. A primeira categoria stubs networks, na qual somente tem conexo para um roteador BGP. Estas no podem ser usadas para trnsito na rede, porque s tem uma ligao. A segunda as redes multiconnected networks. Podem ser usadas para trfego em trnsito, exceto se recusarem. Finalmente, existem as redes transit networks, como um backbone, que esto dispostas a manipular pacotes de outros, possivelmente com algumas restries.

Pares de roteadores BGP se comunicam atravs de conexes TCP. Operando deste modo eles fornecem uma comunicao confivel e escondem os detalhes da rede que os pacotes esto passando. BGP um protocolo que usa o algoritmo vector distance, mas com uma pequena diferena. Ao invs de manter a distncia de cada destino, cada roteador BGP mantm o caminho usado. Similarmente, ao invs de periodicamente dar a cada vizinho a distncia estimada para cada possvel destino, cada roteador diz a seus vizinhos o caminho exato que est usando.

Como um exemplo, considerar os roteadores conforme a Figura 5.3. Em particular, considerar a tabela de roteamento de F. Supor que ele usa o caminho FGCD para alcanar D. Quando os vizinhos sua informao de roteamento, eles fornecem seus caminhos completos, como mostra a Figura 5.3 (por simplicidade, somente o destino D ilustrado).

Kleper Gomes - 33 -

TCP/IP

B C

F recebe informaes de seus vizinhos sobre D: de de de de H B: BCD G: GCD I: IFGCD E: EFGCD

G F E

(a)

(b)

Figura 5.3. Roteamento com o protocolo BGP.

Aps todos os caminhos chegarem dos vizinhos. F examina-os para ver qual o melhor. Rapidamente descarta os caminhos de I e E, porque estes caminhos passam por F. A escolha est entre B e G. Cada roteador BGP contm um mdulo que examina rotas para um dado destino e d um valor a eles, retornando um nmero da distncia para o destino de cada rota. Alguma rota viola um critrio de roteamento e seu valor infinito. O roteador ento adota a rota de menor distncia.

BGP facilmente resolve o problema de contagem infinita que causa problema a outros algoritmos de roteamento. Por exemplo, supor que G quebre ou a linha FG esteja desativada. F ento recebe rotas dos outros trs vizinhos. Estas rotas so BCD, IFGCD e EFGCD. Verifica-se que duas rotas esto sem sentido, porque passam por F, ento escolhido FBCD como a nova rota. Vector-distance, uma diferente estratgia de podar a rvore deve ser seguida. O algoritmo bsico o reverse path forwarding. Entretanto, quando um roteador que no faz parte do grupo, recebe uma mensagem multicast, ele responde para que o emissor no envie mensagens para ele.

5.4.

ROTEAMENTO MULTICAST

A comunicao IP normal ponto-a-ponto. Entretanto, para algumas aplicaes, a comunicao multiponto til para o processo de enviar mensagens para um grande nmero de receptores simultaneamente. Exemplos de aplicaes multiponto so replicao de dados, banco de dados distribudos e multiconferncia. O IP suporta multicast, usando a classe de endereos D. Cada endereo da classe D identifica um grupo de estaes. No endereo IP, 28 bits esto disponveis para identificar grupos. Quando um processo envia um pacote para endereo de classe D, o pacote liberado para todos os membros do grupo, mas no garante que todos recebero o pacote.

Existe dois tipos de grupos de endereos: permanente e temporrio. Um grupo permanente sempre existir e no precisa ser configurado. Alguns exemplos de endereos de grupo permanente so:

Kleper Gomes - 34 -

TCP/IP

- 224.0.0.1 - todos os sistemas numa rede local; - 224.0.0.2 - todos os roteadores numa rede local; - 224.0.0.5 - todos os roteadores OSPF numa rede local. Multicasting implementado por roteadores multicast especiais. Cerca de uma vez a cada minuto, cada roteador multicast envia um pacote para as estaes de sua rede local (endereo 224.0.0.1) perguntando para eles responderem de volta, quais os grupos que seus processos pertencem. Estes pacotes de consultas e respostas usam um protocolo chamado IGMP (Internet Group Management Protocol) , que similar ao ICMP. Ele tem dois tipos de pacote: consulta e resposta, cada um com formato fixo contendo alguma informao de controle na primeira palavra do campo payload e um endereo classe D na segunda palavra. Para algumas aplicaes, os processos esto separados em vrios locais, mas trabalham juntos em grupo. Por exemplo, um grupo de processos implementando um sistema de banco de dados distribudo. Nele freqente um processo enviar uma mensagem para todos os outros membros do grupo. Ento necessita-se de um modo de enviar mensagens para grupos bem definidos que so numericamente grandes, mas pequenos comparados ao tamanho da rede. Para realizar esta tarefa necessrio utilizar uma tcnica de roteamento multiponto. Para fazer multicasting, cada roteador constri sua spanning tree selecionando enlaces na rede formando uma rvore, de forma a cobrir todos os outros roteadores na sub-rede. Por exemplo, na Figura 5.4(a) temos uma sub-rede com dois grupos, 1 e 2. Alguns roteadores so ligados nos grupos, como indicado na Figura 5.4(a). A spanning tree para o roteador mais a esquerda mostrado na figura 5.4(b).

2 1

1,2 1,2 2 2 1,2

1,2 2 2

1 1

1 1

(a) SUB-REDE

(b) "SPANNING TREE" DO ROTEADOR MAIS A ESQUERDA

2 1 1 2 2 2

1 1 (c) ARVORE MULTICAST - GRUPO 1 (d) ARVORE MULTICAST - GRUPO 2

Figura 5.4. Roteamento Multicast.

Kleper Gomes - 35 -

TCP/IP

Quando um processo envia um pacote multicast para o grupo, o primeiro roteador examina sua spanning tree e poda a rvore, removendo toda as linhas que no pertencem ao seu grupo. A Figura 5.4(c) ilustra a rvore do grupo 1 e a Figura 5.4(d) ilustra a rvore do grupo 2. Pacotes multicast so enviados somente na spanning tree apropriada.

Vrios modos de podar a rvore so possveis. O modo mais simples usar o roteamento link-state, sendo que cada roteador deve conhecer a topologia completa da sub-rede. Ento a spanning tree pode ser construda iniciando no final de cada caminho at a raiz, eliminando os roteadores que no pertencem ao grupo. Com o roteamento vector-distance, uma diferente estratgia de podar a rvore deve ser seguida. O algoritmo bsico o reverse path forwarding. Entretanto, quando um roteador que no faz parte do grupo, recebe uma mensagem multicast, ele responde para que o emissor no envie mensagens para ele. Uma desvantagem deste algoritmo que para grandes redes muita memria necessria. Supor que uma rede tem n grupos, cada um com a mdia de m membros. Para cada grupo, m spanning trees podadas so armazenadas, para um total de m.n rvores. Quando muitos grupos grandes existem, gasto muito memria para armazenar as rvores. Uma alternativa usar rvores chamadas core-base tree. Aqui uma nica rvore spanning tree por grupo computada, com a raiz ("the core") perto do meio do grupo. Para enviar uma mensagem multicast, uma estao envia-a para a raiz, que ento envia para os ns do grupo. Embora esta tcnica no seja tima, ela reduz os custos de armazenagem de m rvores para uma rvore por grupo. 6. TCP/IP EM REDES ATM

O ATM uma tecnologia de rede de alta velocidade na qual a rede possui um ou mais comutadores conectados entre si para formar uma estrutura de comutao. Na lgica, uma estrutura de comutao funciona como uma nica grande rede que permite a comunicao entre quaisquer hosts.

J que o ATM uma tecnologia baseada em conexo, dois computadores devem estabelecer um circuito virtual atravs da rede antes de transmitir dados. Um host pode optar por um circuito virtual comutado ou permanente. Os circuitos comutados so criados por demanda. Os permanentes requerem uma configurao manual. Em ambos os casos, o ATM atribui a cada circuito aberto um identificador de nmero inteiro. Cada quadro enviado pelo host ou pela rede possui um identificador de circuito. Um quadro no possui um endereo de origem e de destino.

Apesar dos nveis mais baixos do ATM utilizarem clulas de 53 octetos para a transmisso de dados, o ATM possui mecanismos adicionais em sua camada de adaptao que so utilizados pelos aplicativos. A AAL5 (Adaptation Layer 5) do ATM, em particular, utilizada para o envio de dados atravs de uma rede ATM. A AAL5 oferece uma interface que recebe e envia blocos de dados de tamanhos variados, os quais podem ter octetos de at 64kb.

Para enviar um datagrama IP atravs de uma rede ATM, o transmissor precisa formar uma conexo de circuito virtual para o destino que utiliza a AAL5 e enviar o datagrama AAL5 coo um nico bloco de dados. A AAL5 acrescenta um trailer, divide o datagrama e o trailer em clulas menores para a transmisso atravs da rede e, depois, reagrupa o datagrama antes de encaminh-lo ao sistema operacional do computador de destino.

Kleper Gomes - 36 -

TCP/IP

Assim, ao enviar datagramas atravs da rede ATM, o IP no fragmenta no tamanho da clula ATM. Ao contrrio, o IP utiliza uma MTU de 9.180 octetos e permite que a AAL5 divida o datagrama em clulas.

Uma LIS (Logical IP Subnet) formada por um conjunto de computadores que utiliza a rede ATM em vez de uma rede local. Os computadores formam circuitos virtuais entre si por meio dos quais alteram os datagramas. A presena tanto dos circuitos virtuais como dos circuitos permanentes em uma LIS torna ainda mais complicada a questo da vinculao de endereos. Um protocolo ARP modificado, conhecido como ATMARP, faz a vinculao de endereos para os computadores em uma LIS conectada por um circuito virtual comutado. Os computadores de uma LIS contam com um servidor ATMARP para vincular o endereo IP de outro computador da LIS a um endereo ATM equivalente. Cada computador de uma LIS deve fazer o registro com o servidor, fornecendo seus endereos IP e ATM ao servidor. Desse modo, outros computadores podem entrar em contato com o servidor para obter uma vinculao, conforme necessrio. Como no caso do ARP convencional, uma vinculao deve ser revalidada ou descartada. Um protocolo relativo ao ATMARP inverso utilizado para descoberta dos endereos ATM e IP de um computador remoto conectado por um circuito virtual permanente. 7. DNS (DOMAIN NAME SYSTEM)

O DNS (Domain Name System) um esquema de gerenciamento de nomes, hierarquico e distribudo. O DNS define a sintaxe dos nomes usados na Internet, regras para delegao de autoridade na definio de nomes, um banco de dados distribudo que associa nomes a atributos (entre eles o endereo IP) e um algoritmo distribudo para mapear nomes em endereos. O DNS especificado nas RFCs 882, 883 e 973.

As aplicaes normalmente utilizam um endereo IP de 32 bits no sentido de abrir uma conexo ou enviar um datagrama IP. Entretanto, os usurios preferem identificar as mquinas atravs de nomes ao invs de nmeros. Assim e necessrio um banco de dados que permita a uma aplicao encontrar um endereo, dado que ela conhece o nome da mquina com a qual se deseja comunicar.

Um conjunto de servidores de nomes mantm o banco de dados com os nomes e endereos das mquinas conectadas a Internet. Na realidade este apenas um tipo de informao armazenada no domain system (sistema de domnios). Note que usado um conjunto de servidores interconectados, ao invs de um nico servidor centralizado. Existem atualmente tantas instituies conectadas a Internet que seria impraticvel exigir que elas notificassem uma autoridade central toda vez que uma mquina fosse instalada ou trocasse de lugar. Assim, a autoridade para atribuio de nomes e delegada a instituies individuais. Os servidores de nome formam uma rvore, correspondendo a estrutura institucional. Os nomes tambm adotam uma estrutura similar. Um exemplo tpico o nome chupeta.jxh.xyz.br. Para encontrar seu endereo Internet, pode ser necessrio o acesso a at quatro servidores de nomes. Inicialmente deve ser consultado um servidor central, denominado servidor raiz, para descobrir onde est o servidor br. O servidor br o responsvel pela gerencia dos nomes das instituies/empresas brasileiras ligadas a Internet. O servidor raiz informa como resultado da consulta o endereo IP de vrios servidores de nome para o nvel br (pode existir mais de um servidor de nomes em cada nvel, para garantir a continuidade da operao quando um deles para de funcionar). Um servidor do nvel br pode ento ser consultado, devolvendo o endereo IP do servidor xyz.

De posse do endereo de um servidor xyz possvel solicitar que ele informe o endereo de um servidor jxh, quando, finalmente, pode-se consultar o servidor jxh sobre o endereo da mquina chupeta. O resultado final da busca o endereo Internet correspondente ao nome chupeta.jxh.xyz.br.

MTU (Maximum Transfer Unit) significa o maior volume de dados que pode ser transferido em determinada rede fsica, a MTU determinada pelo hardware da rede. RFC (Request For Comments), nome de um conjunto de notas que contm levantamentos, avaliaes, idias, tcnicas e comentrios, bem como padres de protocolos TCP/IP sugeridos e aceitos. As RFCs esto disponveis on-line.

Kleper Gomes - 37 -

TCP/IP

Cada um dos nveis percorridos e referenciado como sendo um domnio. O nome completo chupeta.jxh.xyz.br um nome de domnio.

Na maioria dos casos, no necessrio ter acesso a todos os domnios de um nome para encontrar o endereo correspondente, pois os servidores de nome muitas vezes possuem informaes sobre mais de um nvel de domnio o que elimina uma ou mais consultas. Alm disso, as aplicaes normalmente tem acesso ao DNS atravs de um processo local (servidor para as aplicaes e um cliente DNS), que pode ser implementado de modo a guardar os ltimos acessos feitos, e assim resolver a consulta em nvel local. Essa abordagem de acesso atravs de um processo local, simplifica e otimiza a tarefa das aplicaes no que tange ao mapeamento de nomes em endereos, uma vez que elimina a necessidade de implementar, em todas as aplicaes que fazem uso do DNS, o algoritmo de caminhamento na rvore de domnios descrito anteriormente.

O DNS no se limita a manter e gerenciar endereos Internet. Cada nome de domnio e um n em um banco de dados, que pode conter registros definindo varias propriedades. Por exemplo, o tipo da mquina e a lista de servios fornecidos por ela. O DNS permite que seja definido um alias (nome alternativo) para o n. Tambm possvel utilizar o DNS para armazenar informaes sobre usurios, listas de distribuio ou outros objetos.

O DNS particularmente importante para o sistema de correio eletrnico. No DNS so definidos registros que identificam a mquina que manipula as correspondncias relativas a um dado nome, identificado assim onde um determinado usurio recebe suas correspondncias. O DNS pode ser usado tambm para definio de listas para distribuio de correspondncias. 8. APLICAES

As aplicaes, no modelo TCP/IP, no possuem uma padronizao comum. Cada uma possui um RFC prprio. O endereamento das aplicaes feito atravs de portas (chamadas padronizadas a servios dos protocolos TCP e UDP), por onde so passados as mensagens. na camada de Aplicao que se trata a compatibilidade entre os diversos formatos representados pelos variados tipos de estaes da rede. 8.1. TELNET

O protocolo TCP/IP inclui um protocolo simples de terminal remoto denominado TELNET. O TELNET permite que um usurio em determinado site estabelea uma conexo TCP com um servidor login situado em outro site. O TELNET transmite, ento os toques no teclado do usurio diretamente ao computador remoto, como se estivessem sendo digitados no teclado conectado mquina remota. Esse terminal tambm retorna a sada da mquina remota at a tela do usurio. O servidor recebe o nome de transparente, porque faz com que o teclado e o monitor do usurio paream estar conectados diretamente mquina remota.

Embora o TELNET no seja sofisticado se comparado a alguns protocolos de terminal remoto, ele amplamente aceito. Geralmente o software do cliente do TELNET permite que o usurio especifique a mquina remota fornecendo seu nome de domnio ou seu endereo IP. Por aceitar endereos IP, o TELNET pode ser usado com hosts mesmo que o vnculo nome/endereo no possa ser estabelecido (p. ex., quando o software de atribuio de nomes de domnio estiver sendo depurado).

O TELNET oferece trs servios bsicos:

Define um terminal virtual da rede fornecedora de uma interface padro para sistemas remotos. Os programas clientes no precisam entender os detalhes de todos os sistemas remotos possveis; eles so projetados para usar a interface padro.

Kleper Gomes - 38 -

TCP/IP

Inclui um mecanismo que permite ao cliente e ao servidor negociar opes e fornece um conjunto de opes padronizadas (p. ex., uma das opes verifica se os dados passados pela conexo usam o caracter padro ASCII de sete bits ou o conjunto de oito bits).

Trata ambas as pontas da conexo de forma simtrica. Em particular, no obriga a entrada do cliente via teclado, nem obriga o cliente a ter a sada indicada na tela. Dessa forma, o TELNET permite que o programa arbitrrio torne-se um cliente. Alm do mais, qualquer ponta pode negociar opes.

A Figura 8.1 ilustra como os programas aplicativos implementam um cliente e servidor TELNET, quando um usurio chama o TELNET, um programa aplicativo existente na mquina do usurio torna-se o cliente. O cliente estabelece uma conexo TCP com o servidor por intermdio da qual iro se comunicar. Uma vez estabelecida a conexo, o cliente aceita toques de teclado do usurio e os envia ao servidor enquanto, simultaneamente, aceita caracteres que o servidor envia de volta e apresenta-os na tela do usurio. O servidor deve aceitar uma conexo TCP de um cliente e, a seguir, retransmitir dados entre a conexo TCP e o sistema operacional local.

Na prtica, o servidor mais complexo do que a figura representa porque precisa conduzir vrias conexes simultneas. Em geral, um processo de servidor-mestre aguarda novas conexes e cria um novo escravo para cuidar de uma conexo em particular. Desse modo, o servidor TELNET mostrado na Figura 8.1 representa o escravo que trata de uma conexo em particular. A figura no mostra o servidor-mestre que espera novas solicitaes, nem mostra os escravos cuidando das outras conexes.

Kleper Gomes - 39 -

TCP/IP

Cliente l dados do terminal

Cliente TELNET

Cliente envia dados ao servidor

Sevidor TELNET

Sevidor envia dados para pseudoterminal

S.O. Dispositivo de entrada e sada de dados do usurio

Servidor receb e dados do cliente

S.O.

Inter-rede TCP/IP

Figura 8.1. Trajeto de dados em uma sesso de terminal remoto TELNET, enquanto trafega do teclado do usurio at um sistema de operao remoto. Acrescenta um servidor TELNET a um sistema timesharing geralmente requer modificaes no sistema operacional. O termo pseudoterminal descreve o ponto de entrada do sistema operacional que permite que o servidor de um programa em funcionamento, como o TELNET, transfira caracteres ao sistema operacional como se estivessem vindo de um teclado. impossvel construir um servidor TELNET, a no ser que o sistema operacional fornea tal recurso. Se o sistema suporta tal abstrao de pseudoterminal, o servidor TELNET pode ser implementado com programas aplicativos. Cada servidor-escravo conecta um canal TCP de um cliente a um pseudoterminal especfico. 8.2. FTP (File Transfer Protocol)

A transferncia de arquivos um dos aplicativos TCP/IP usados com mais freqncia e responde por grande parte do trfego de rede. Os protocolos de transferncia de arquivos padro existiram para ARPANET antes que o TCP/IP se tornasse operacional. Essas verses anteriores do software de transferncia de arquivos evoluram para um padro atual conhecido como FTP (File Transfer Protocol).

O FTP oferece muitas vantagens alm da funo de transferncia propriamente dita:

Acesso interativo. Apesar do TCP ser projetado para uso por programas, muitas implementaes fornecem uma interface interativa que permite que as pessoas interajam facilmente com servidores remotos. Por exemplo, um usurio pode pedir uma listagem de todos os arquivos de um diretrio em uma mquina remota. O cliente tambm responde normalmente entrada help, mostrando a informao do usurio sobre possveis comandos que podem ser chamados.

Especificao de formato (representao). O FTP permite que o cliente especifique o tipo e o formato dos dados armazenados. Por exemplo, o usurio pode determinar se um arquivo contm texto ou nmeros inteiros binrios e se os arquivos textos usam os conjuntos de caracteres ASCII ou EBCDIC.

Controle de autenticao. O FTP requer que os clientes autorizem a si prprios enviando um nome de login e a senha ao servidor antes de requisitar a transferncia e arquivos. O servidor recusa acesso aos clientes que no podem fornecer um login vlido e uma senha.

A exemplo de outros servidores, a maioria das implementaes de servidor FTP permite o acesso simultneo de vrios clientes. Os clientes usam o TCP para se conectar a um servidor. Um processo de servidor principal nico guarda concesses e cria um processo escravo para tratar cada conexo. De maneira diferente de outros servidores, no entanto, o processo escravo no realiza toda a computao necessria. Ao contrrio, o

Kleper Gomes - 40 -

TCP/IP

escravo aceita e trata a conexo de controle do cliente, mas usa um processo ou processos adicionais para tratar uma conexo de transferncia de dados parte. A conexo de controle transporta comandos que informam ao servidor qual arquivo transferir. A conexo de transferncia de dados, que tambm usa o TCP como protocolo de transferncia, transporta todas as transferncias de dados.

Geralmente tanto o cliente como o servidor criam um processo separado para tratar da transferncia de dados. Considerando que os detalhes exatos da arquitetura do processo dependam do sistema operacional usado, a Figura 8.2 ilustra o conceito:

Sistema Cliente

Conexo de controle do cliente

Sistema Servidor

Transferncia de dados

Processo de Controle
Conexo de controle do servidor

Transferncia de dados

Processo de Controle

Sistema Operacional
Conexo de dados do cliente

Sistema Operacional
Conexo de dados do servidor

Interligao em TCP/IP

Figura 8.2. Um cliente e um servidor FTP com uma conexo de controle TCP entre eles e uma conexo TCP parte entre seus processos e transferncia de dados relacionados. A conexes de transferncia de dados e os processos de transferncia de dados que as utilizam podem ser criados dinamicamente, quando necessrio, mas a conexo de controle persiste atravs de uma sesso. Uma vez que a conexo de controle desaparece, a sesso finalizada e o software de ambas as extremidades encerra todos os processos de transferncia de dados. 8.3. NFS (Network File System)

Desenvolvido inicialmente pela Sun Microsystems, o NFS (Network File System) fornece acesso de arquivo online compartilhado que transparente e integrado. Muitos sites TCP/IP usam NFS para interconectar seus sistemas de arquivo de computadores. Da perspectiva do usurio, o NFS praticamente invisvel. Um usurio pode executar um programa aplicativo arbitrrio e usar arquivos arbitrrios para entrada ou sada. O prprio nome dos arquivos no indica se eles so locais ou remotos.

A Figura 8.3 ilustra como o NFS est inserido no sistema operacional. Quando um programa aplicativo executado, este chama o sistema operacional para abrir um arquivo ou para armazenar e recuperar dados de um arquivo. O mecanismo de acesso a arquivos aceita o pedido e automaticamente passa-o ou para o software de sistema de arquivo local ou para o cliente NFS, dependendo de o arquivo estar no disco local ou em uma mquina remota. Quando ele recebe um pedido, o software do cliente usa o protocolo NFS para contatar o servidor apropriado em uma mquina remota e executar a operao requisitada. Quando o servidor remoto responde, o software do cliente devolve os resultados ao programa aplicativo.

Kleper Gomes - 41 -

TCP/IP

Aplicativo

Sistema de arquivos local

Cliente NFS

Disco local

Conexo da inter-rede com o servidor NFS

Figura 8.3. Cdigo NFS em um sistema operacional. Quando um programa aplicativo requisita uma operao de arquivo, o sistema operacional deve passar o pedido para o sistema de arquivo local ou para o software do cliente NFS. 8.4. RPC (Remote Procedure Call)

Em vez de definir o protocolo NFS a partir de riscos, os projetistas deviam preferir montar trs peas independentes: o prprio protocolo NFS, um mecanismo de RPC (Remote Procedure Call) para fins gerais e um XDR (eXternal Data Representation), tambm para fins gerais. O objetivo seria separar os trs para possibilitar o uso de RPC e XDR em outro software, inclusive em programas aplicativos e tambm em outros produtos.

Do ponto de vista do programador, o prprio NFS no fornece novos procedimentos que possam ser chamados por um programa. Ao contrrio, uma vez que um administrador tenha configurado o NFS, ele programa arquivos remotos de acesso usando exatamente as mesmas operaes utilizadas para arquivos locais. No entanto, o RPC e o XDR fornecem macanismos que os programadores podem usar para construir programas distribudos. Por exemplo, um programador pode dividir um programa entre o lado do cliente e o lado do servidor que usam RPC como o principal mecanismo de comunicao. No lado do cliente, o programador atribui alguns procedimentos como remotos, obrigando o compilador a incorporar a esses procedimentos os cdigos de RPC. No lado do servidor, o programador implementa os procedimentos desejados e usa outros recursos RPC para declar-los parte do servidor. Quando o programa de execuo do cliente chama um dos programas remotos, o RPC automaticamente coleta valores para argumentos, monta uma mensagem, envia a mensagem ao servidor remoto, espera uma resposta e armazena os valores devolvidos nos argumentos atribudos. Basicamente, a comunicao com o servidor remoto ocorre automaticamente como efeito parcial de uma chamada de procedimento remoto. O mecanismo RPC concentra todos os detalhes do protocolo, possibilitando aos programadores que tm pouco conhecimento de protocolos de comunicao bsicos desenvolver programas distribudos.

O XDR uma ferramenta relacionada que fornece meios para que os programadores passem dados entre mquinas heterogneas sem codificar procedimentos que convertam as representaes de dados de hardware. Por exemplo, nem todos os computadores armazenam nmeros inteiros binrios de 32 bits no mesmo formato. Alguns armazenam o byte mais significativo no endereo de memria mais alta, enquanto outros armazenam o byte menos significativo no endereo mais alto. Assim, se os programadores usam uma rede simplesmente para mover bytes de nmero inteiro, de uma mquina para outra, sem redistribu-los, o valor do nmero inteiro pode mudar. O XDR resolve o problema definindo uma representao de mquina independente. Em uma extremidade de um canal de comunicao, um programa chama procedimentos XDR para fazer a converso da representao do hardware local para a representao independente da mquina. Uma vez que os dados tenham sido transferidos para outra

Kleper Gomes - 42 -

TCP/IP

mquina, o programa receptor solicita rotinas XDR para proceder converso da representao independente da mquina para a representao local da mquina.

A principal vantagem do XDR automatizar grande parte da tarefa de converso de dados. Os programadores no precisam digitar chamadas de procedimentos XDR normalmente. Ao contrrio, eles fornecem o compilador XDR com os estatutos de declarao do programa para o qual os dados devem ser transformados e o compilador automaticamente gera um programa com as chamadas de biblioteca XDR necessrias. 8.5. SMTP (Simple Mail Transfer Protocol)

O SMTP (Simple Mail Transfer Protocol) e o protocolo usado no sistema de correio eletrnico na arquitetura Internet TCP/IP. Um usurio, ao desejar enviar uma mensagem, utiliza o mdulo interface com o usurio para compor a mensagem e solicita ao sistema de correio eletrnico que a entregue ao destinatrio. Quando recebe a mensagem do usurio, o sistema de correio eletrnico armazena uma cpia da mensagem em seu spool (rea do dispositivo de armazenamento), junto com o horrio do armazenamento e a identificao do remetente e do destinatrio. A transferncia da mensagem executada por um processo em background, permitindo que o usurio remetente, aps entregar a mensagem ao sistema de correio eletrnico, possa executar outras aplicaes.

O processo de transferncia de mensagens, executando em background, mapeia o nome da mquina de destino em seu endereo IP, e tenta estabelecer uma conexo TCP com o servidor de correio eletrnico da mquina de destino. Note que o processo de transferncia atua como cliente do servidor do correio eletrnico. Se a conexo for estabelecida, o cliente envia uma cpia da mensagem para o servidor, que a armazena em seu spool. Caso a mensagem seja transferida com sucesso, o servidor avisa ao cliente que recebeu e armazenou uma cpia da mensagem. Quando recebe a confirmao do recebimento e armazenamento, o cliente retira a cpia da mensagem que mantinha em seu spool local. Se a mensagem, por algum motivo, no for transmitida com sucesso, o cliente anota o horrio da tentativa e suspende sua execuo. Periodicamente o cliente acorda e verifica se existem mensagens a serem enviadas na rea de spool e tenta transmiti-las. Se uma mensagem no for enviada por um perodo, por exemplo de dois dias, o servio de correio eletrnico devolve a mensagem ao remetente, informando que no conseguiu transmiti-la.

Em geral, quando um usurio se conecta ao sistema, o sistema de correio eletrnico e ativado para verificar se existem mensagens na caixa postal do usurio. Se existirem, o sistema de correio eletrnico emite um aviso para o usurio que, quando achar conveniente, ativa o mdulo de interface com o usurio para receber as correspondncias.

Um mensagem SMTP divide-se em duas partes: cabealho e corpo, separados por uma linha em branco. No cabealho so especificadas as informaes necessrias para a transferncia da mensagem. O cabealho e composto por linhas, que contm uma palavra-chave seguida de um valor. Por exemplo, identificao do remetente (palavra-chave to: seguida do seu endereo), identificao do destinatrio, assunto da mensagem, etc... No corpo so transportadas as informaes da mensagem propriamente dita. O formato do texto livre e as mensagens so transferidas no formato texto.

Os usurios do sistema de correio eletrnico so localizados atravs de um par de identificadores. Um deles especifica o nome da mquina de destino e o outro identifica a caixa postal do usurio. Um remetente pode enviar simultaneamente varias cpias de uma mensagem, para diferentes destinatrios utilizando o conceito de lista de distribuio (um nome que identifica um grupo de usurios). O formato dos endereos SMTP o seguinte:

Nome_local@Nome do domnio

Kleper Gomes - 43 -

TCP/IP

Onde o nome_do_domnio identifica o domnio ao qual a mquina de destino pertence (esse endereo deve identificar um grupo de mquinas gerenciado por um servidor de correio eletrnico). O nome_local identifica a caixa postal do destinatrio.

O SMTP especifica como o sistema de correio eletrnico transfere mensagens de uma mquina para outra. O mdulo interface com usurio e a forma como as mensagens so armazenadas no so definidos pelo SMTP. O sistema de correio eletrnico pode tambm ser utilizado por processos de aplicao para transmitir mensagens contendo textos. 9. FUTURO DO TCP/IP (IPv6)

Nem a Internet nem os protocolos TCP/IP so estticos. Atravs de sua Fora Tarefa de Engenharia da Internet, a Diretoria de Arquitetura da Internet (IAB, acrnimo de Internet Architecture Board) promove esforos efetivos e constantes que mantm a tecnologia elstica e em evoluo. O estmulo para a mudana ocorre medida que aumentos em volume e em tamanho foram as melhorias necessrias para manter o servio, uma vez que novos aplicativos exigem mais da tecnologia denominada e j que novas tecnologias tornam possvel fornecer novos servios.

A verso 4 do Internet Protocol (IPv4, verso atual) fornece o mecanismo bsico de comunicao da pilha TCP/IP e da Internet. Essa verso permaneceu quase inalterada desde seu incio, no final da dcada de 1970. A longevidade da verso 4 mostra que o projeto flexvel e poderoso. Desde quando o IPv4 foi projetado, o desempenho do processador aumentou mais de duas ordens de magnitude, os tamanhos tpicos de memria aumentaram 32 vezes, a largura de banda de rede cresceu 800 vezes, tecnologias de rede local afloraram e o nmero de hosts na Internet cresceu para 4 milhes. Alm disso, as mudanas no ocorreram simultaneamente o IP conciliou mudanas em uma tecnologia, diante das mudanas em outras.

O protocolo IPv6 proposto mantm muitas das caractersticas que contriburam para o sucesso do IPv4. Na verdade, os projetistas dotaram o IPv6 basicamente com as mesmas caractersticas do IPv4, com algumas modificaes. Por exemplo, o IPv6 ainda aceita entrega sem conexo (permite que cada datagrama seja roteado independentemente), permite que o transmissor escolha o tamanho de um datagrama e requer que o transmissor especifique o nmero mximo de passos da rota que um datagrama pode fazer antes de ser concludo. O IPv6 tambm retm a maioria dos conceitos fornecidos pelas opes do IPv4, inclusive os recursos para fragmentao e roteamento de origem. A despeito de muitas semelhanas conceituais, o IPv6 muda a maioria dos detalhes do protocolo. Por exemplo, o IPv6 usa endereos maiores e acrescenta algumas caractersticas novas. Mais importante, revisa completamente o formato de datagrama, substituindo o campo de opes de comprimento varivel do IPv4 por uma srie de cabealhos de formato fixo. As mudanas introduzidas pelo IPv6 podem ser agrupadas em cinco categorias:

Endereos Maiores. O novo tamanho de endereo a mudana mais visvel. O IPv6 quadruplica o tamanho de um endereo de IPv4, de 32 para 128 bits. O espao de endereo de IPv6 to grande que no pode ser consumido em futuro previsvel.

Formato Flexvel de Cabealho. O IPv6 usa um formato de datagrama inteiramente novo e incompatvel. A contrrio do IPv4, que usa um cabealho de datagrama de formato fixo onde todos os campos, exceto o de opes, ocupam um nmero fixo de octetos com um deslocamento fixo, o IPv6 usa um conjunto de cabealhos opcionais.

Opes Aprimoradas. Como o IPv4, o IPv6 permite que um datagrama inclua informaes de controle opcionais. O IPv6 inclui novas opes que oferecem recursos adicionais no disponveis no IPv4.

Kleper Gomes - 44 -

TCP/IP

Suporte para Alocaes de Recursos. O IPv6 substitui a especificao de tipo de servio do IPv4 por um mecanismo que permite pr-alocao de recursos de rede. Particularmente, o novo mecanismo aceita aplicativos tais como vdeo em tempo real, que requer garantias de largura de banda e retardo de transmisso.

Proviso para Extenso de Protocolo. Talvez a mudana mais significativa no IPv6 seja uma transio de um protocolo que especifica inteiramente todos os detalhes, para um protocolo que pode permitir recursos adicionais. 9.1. FORMATO DO DATAGRAMA

O IPv6 muda completamente o formato de datagrama. Como mostra a Figura 9.1, um datagrama IPv6 tem um cabealho bsico de tamanho fixo seguido de zero, ou mais cabealhos de extenso seguidos de dados.

Opcional Cabealho Bsico Cabealho De Extenso 1 ... Cabealho De Extenso N Dados...

Figura 9.1. Forma geral de um datagrama IPv6 com vrios cabealhos. Apenas o cabealho bsico exigido; os de extenso so opcionais. Curiosamente, embora deva acomodar endereos maiores, um cabealho bsico IPv6 contm menos informaes do que um cabealho de datagrama IPv4. As opes e alguns dos campos fixos que aparecem em um cabealho de datagrama IPv4 foram removidos para cabealhos de extenso no IPv6. Em geral, as mudanas no cabealho de datagrama refletem mudanas no protocolo:

O alinhamento foi mudado de mltiplos de 32 bits para mltiplos de 64 bits

O campo de comprimento de cabealho foi eliminado e o campo de comprimento de datagrama foi substitudo por um campo COMPRIMENTO DO PAYLOAD.

O tamanho dos campos de endereo de origem e de destino foi aumentado para 16 octetos cada.

As informaes de fragmentao foram retiradas de campos fixos do cabealho bsico, para um cabealho de extenso.

O campo TEMPO DE VIDA foi substitudo por um campo LIMITE DE PASSOS DE ROTA.

O campo TIPO DE SERVIO foi substitudo por um campo RTULO DE FLUXOS.

O campo PROTOCOLO foi substitudo por um campo que especifica o tipo do prximo cabealho.

Kleper Gomes - 45 -

TCP/IP

A Figura 9.2 mostra o contedo e o formato do cabealho bsico do IPv6.

0 1 2 VERS

16 RTULO DE FLUXO PRXIMO CABEALHO

24

31

COMPRIMENTO DO PAYLOAD

LIMITANTE DE PASSOS DA ROTA

ENDEREO DE ORIGEM

ENDEREO DE DESTINO

Figura 9.2. Formato de cabealho bsico de 40 octetos do IPv6. Cada datagrama do IPv6 comea com um cabealho bsico. Vrios campos de um cabealho bsico do IPv6 correspondem diretamente aos campos de um cabealho do IPv4. Como no IPv4, o campo inicial VERS de 4 bits especifica a verso do protocolo; VERS sempre contm 6 em um datagrama IPv6. Como no IPv4, os campos ENDEREO DE ORIGEM e ENDEREO DE DESTINO especificam os endereos do transmissor e do destinatrio pretendido. No IPv6, entretanto, cada endereo requer 16 octetos. O campo LIMITE DE PASSOS DA ROTA corresponde ao campo TEMPO DE VIDA (TIME TO LIVE) do IPv4. Ao contrrio do IPv4, que interpreta um tempo de vida como uma combinao de contagem de passos da rota e do tempo mximo, o IPv6 interpreta o valor atribuindo limite estrito ao nmero mximo de passos da rota que um datagrama pode fazer antes de ser descartado. 9.2. TAMANHO DO ESPAO DE ENDEREO

Em IPv6, cada endereo ocupa 16 octetos, quatro vezes o tamanho de um endereo de IPv4. O espao grande de endereo garante que o IPv6 pode tolerar qualquer esquema razovel de atribuio de endereo. De fato, se posteriormente os projetistas decidirem mudar o esquema de endereamento, o espao de endereo ser suficientemente grande para acomodar uma nova atribuio.

difcil compreender o tamanho do espao de endereo de IPv6. Um modo de examin-lo consiste em relacionar a magnitude ao tamanho da populao: o espao de endereo to grande que cada pessoa do planeta pode ter endereos suficientes para ter sua prpria interligao em redes to grande quanto a Internet atual. Um outro modo de compreender o tamanho o relacionar ao esgotamento do endereo. Por exemplo, considere quanto tempo voc levaria para atribuir todos os endereos possveis. Um nmero inteiro de 16 octetos pode conter 2128 valores. Assim, o espao de endereo maior do que 3,4x1038. Se os endereos forem atribudos razo de um milho de endereos a cada microssegundo, sero necessrios mais de vinte anos para atribuir todos os endereos possveis.

Embora solucione os problemas de capacidade insuficiente, o tamanho grande do endereo cria um problema novo e interessante: as pessoas que mantm interligaes em rede precisam ler, dar entrada e manipular tais endereos. Obviamente, a notao binria indefensvel. Contudo, a notao decimal pontuada, usada para IPv4, tambm no torna tais endereos suficientemente compactos. Para compreender por que, considere um nmero de 128 bits, como um exemplo, expresso na notao decimal pontuada: 104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255

Kleper Gomes - 46 -

TCP/IP

Para ajudar o endereo a tornar-se ligeiramente mais compacto e mais fcil de dar entrada, os projetistas do IPv6 propem o uso de notao hexadecimal de dois pontos, na qual o valor de cada conjunto de 16 bits representado em hexadecimal separado por dois pontos. Por exemplo, quando o valor mostrado acima em notao decimal pontuada tiver sido convertido em notao hexadecimal de dois pontos e impresso usando o mesmo espaamento, ele se tornar: 68E6:8C64:FFFF:FFFF:0:1180:96A:FFF

A notao hexadecimal de dois pontos tem a vantagem bvia de requerer menos dgitos e menos caracteres separadores do que o decimal pontuada. Alm disso, a notao hexadecimal de dois pontos inclui duas tcnicas que a tornam extremamente til. Primeiro, a notao hexadecimal de dois pontos permite a compresso de zero, em que um string de zeros repetidos substitudo por um par de dois pontos. Para assegurar que a compresso de zero produz uma interpretao no-ambgua, a proposta determina que ela pode ser aplicada apenas uma vez em qualquer endereo. A compresso de zero especialmente til quando usada com o esquema de atribuio de endereo proposto, pois muitos endereos vo conter strings de zero contguos. Segundo, a notao hexadecimal de dois pontos incorpora sufixos de notao hexadecimal pontuada. Veremos que tais combinaes destinam-se ao uso durante a transio do IPv4 para IPv6. Por exemplo, o string a seguir uma notao hexadecimal vlida, de dois pontos: 0:0:0:0:0:0:128.10.2.1

Observe que, embora os nmeros separados cada um por dois pontos especifiquem o valor de uma quantidade de 16 bits, cada nmero da parte de notao hexadecimal pontuada especifica o valor de um octeto. Naturalmente, a compresso de zero pode ser usada com o nmero acima a fim de produzir um string equivalente de notao hexadecimal de dois pontos que parece ser totalmente semelhante a um endereo IPv4: ::128.10.2.1 9.3. TRS TIPOS BSICOS DE ENDEREO DO IPv6

Como o IPv4, o IPv6 associa um endereo a uma conexo de rede especfica, no a um computador especfico. Assim, atribuies de endereo so semelhantes a IPv4: um roteador IPv6 tem dois ou mais endereos, e um host IPv6 com uma conexo de rede precisa de apenas um endereo. O IPv6 tambm retm (e estende) a hierarquia de endereo de IPv4 em que um prefixo atribudo a uma rede fsica. Entretanto, para facilitar a atribuio e a modificao de endereo, o IPv6 permite que vrios prefixos sejam atribudos a determinada rede e permite que um computador tenha vrios endereos simultneos atribudos a determinada interface.

Alm de permitir vrios endereos simultneos por conexo de rede, o IPv6 expande e, em alguns casos, unifica endereos especiais do IPv4. Geralmente, um endereo de destino de um datagrama situa-se em uma das trs categorias: Unicast

O endereo de destino especifica um nico computador (host ou roteador); o datagrama dever ser roteado para o destino ao longo do caminho mais curto possvel.

Cluster

O destino um conjunto de computadores que juntos dividem um nico prefixo de endereo (ex.: vinculam-se mesma rede fsica). O datagrama dever ser roteado para o grupo ao longo de um caminho o mais curto possvel e, ento, entregue a exatamente um membro do grupo (ex.: o membro mais prximo).

Multicast

O destino um conjunto de computadores, possivelmente em diversos locais. Uma cpia do datagrama ser entregue a cada membro do grupo usando hardware multicast ou broadcast, conforme o caso.

Kleper Gomes - 47 -

TCP/IP

Um endereo IPv6 tem um comprimento de 128 bits, tornando o espao de endereo to longo que cada pessoa do planeta poderia ter uma interligao em redes to grande quanto a atual Internet. O IPv6 divide os endereos em tipos, do mesmo modo que o IPv4 os divide em classes. Um prefixo de endereo determina o local e a interpretao dos campos restantes do endereo. Muitos endereos de IPv6 sero atribudos por provedores de servios de rede autorizados. Esses endereos tm campos eu contm uma ID de provedor, uma ID de assinante, uma ID de subrede e uma ID de n.

10. BIBLIOGRAFIA

Sociedade Brasileira para Interconexo de Sistemas Abertos (BRISA), ARQUITETURA DE REDES DE COMPUTADORES OSI e TCP/IP, Makron Books, 1994.

Alves, Luiz, COMUNICAO DE DADOS, Makron Books, 1994.

Comer, Douglas E., INTERLIGAO EM REDES COM TCP/IP, Editora Campus, 1998.

Tanenbaum, Andrew S., COMPUTERS NETWORKS, Third Edition, Prentice Hall PTR, 1996.

Huitema, Christian, ROUTING IN THE INTERNET, Prentice Hall PTR, 1995.

O'Sullivan, Bryan, THE INTERNET MULTICAST BACKBONE, February 1996. http://www.serpentine.com/~bos/tech/mbone

Kumar, V., MBone: INTERACTIVE MULTIMEDIA ON THE INTERNET, Indianapolis, IN: New Riders, 1996.

Deering, S., HOST EXTENSIONS FOR IP MULTICASTING, August 1989. http://ds.internic.net/rfc/rfc1112.txt

Schulzinne, H., Casner, S., Frederick, R., Jacobson, V.,RTP: A TRANSPORT PROTOCOL FOR REAL TIME APPLICATIONS, January 1996. http://ds.internic.net/rfc/rfc1889.txt

Kleper Gomes - 48 -