Вы находитесь на странице: 1из 67

LIGA DE ENSINO DO RIO GRANDE DO NORTE

FACULDADE NATALENSE PARA O DESENVOLVIMENTO DO RIO GRANDE DO NORTE

Redes de Computadores
Prof. Aluzio Rocha

Natal, 2003

Redes de Computadores

Aluzio Rocha

Sumrio
1 Introduo ........................................................................................................................ 5
1.1 1.2 1.3
1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7

Evoluo dos Sistemas de Computao ................................................................................. 5 Redes de Computadores......................................................................................................... 6 Parmetros de comparao..................................................................................................... 7


Custo ................................................................................................................................................7 Retardo de Transferncia .................................................................................................................7 Desempenho ....................................................................................................................................7 Confiabilidade..................................................................................................................................7 Modularidade ...................................................................................................................................7 Compatibilidade...............................................................................................................................8 Sensibilidade Tecnolgica ...............................................................................................................8

Topologias ......................................................................................................................... 9
2.1 2.2 2.3
2.3.1 2.3.2 2.3.3

Linhas de Comunicao ......................................................................................................... 9 Redes Geograficamente Distribudas ................................................................................... 10 Redes Locais e Metropolitanas ............................................................................................ 11
Topologia em Estrela .....................................................................................................................11 Topologia em Anel ........................................................................................................................11 Topologia em Barra .......................................................................................................................12

2.4
2.4.1 2.4.2

Exemplo de Rede em Barra: Ethernet .................................................................................. 13


Compartilhamento em uma Ethernet .............................................................................................13 Sensibilidade de Portadora em Redes de Acesso Mltiplo com Deteco de Coliso (CSMA/CD) 14

2.5
2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6

Projeto de Redes Locais ....................................................................................................... 14


Cabeamento Fino de Ethernet........................................................................................................14 Ethernet de Par Tranado...............................................................................................................15 Extenses de Fibra tica ...............................................................................................................15 Repetidores ....................................................................................................................................16 Bridges...........................................................................................................................................17 Exemplos de Cabeamento..............................................................................................................17

2.6
2.6.1 2.6.2

Redes Locais sem Fio .......................................................................................................... 18


Padro IEEE 802.11.......................................................................................................................19 Conexo com Pontos de Acesso ou Ponto a Ponto ........................................................................20

Transmisso da Informao.......................................................................................... 21
3.1 3.2 3.3 3.4 3.5
3.5.1 3.5.2 3.5.3 3.5.4 3.5.5

Informao e Sinal ............................................................................................................... 21 Freqncia............................................................................................................................ 21 Sinais Analgicos e Digitais ................................................................................................ 22 Banda Passante..................................................................................................................... 23 Multiplexao e Modulao................................................................................................. 24
Multiplexao na Freqncia .........................................................................................................25 Tcnicas de Modulao..................................................................................................................26 Sistemas em Banda Larga e em Banda Bsica...............................................................................27 PCM...............................................................................................................................................23 Multiplexao no Tempo ...............................................................................................................26

3.6
3.6.1 3.6.2 3.6.3

Comutao ........................................................................................................................... 27
Comutao de Circuitos.................................................................................................................28 Comutao de Mensagens..............................................................................................................29 Comutao de Pacotes ...................................................................................................................29

3.7
3.7.1 3.7.2 3.7.3

Tcnicas de Deteco de Erros ............................................................................................ 30


Paridade .........................................................................................................................................30 Checksum ......................................................................................................................................31 CRC ...............................................................................................................................................31

Arquitetura de Redes de Computadores ..................................................................... 32


4.1 4.2 Por que Protocolos so necessrios...................................................................................... 32 Conjuntos de Protocolos ...................................................................................................... 32

Aluzio Rocha 4.3 4.4 4.5 4.6 4.7 4.8


4.8.1 4.8.2 4.8.3

Redes de Computadores

Um plano para Projeto de Protocolo.....................................................................................32 As Sete Camadas ..................................................................................................................33 Pilhas: Diviso de Software em Camadas ............................................................................34 Como o Software em Camadas Funciona.............................................................................35 Mltiplos Cabealhos Aninhados .........................................................................................35 Tcnicas Usadas por Protocolos ...........................................................................................55
Seqenciamento de Pacotes........................................................................................................... 55 Retransmitindo pacotes perdidos................................................................................................... 56 Controle de Fluxo para Prevenir Atropelamento de Dados ........................................................... 56

Ligao Inter-redes......................................................................................................... 36
5.1 5.2 5.3 5.4 5.5 5.6 5.7 Motivao para Ligao Inter-redes .....................................................................................36 Ligao Inter-redes ...............................................................................................................36 Arquitetura de Inter-rede ......................................................................................................36 Uma Rede Virtual .................................................................................................................37 Protocolos para Ligao Inter-redes .....................................................................................38 Arquitetura da Internet TCP/IP.............................................................................................38 Comparao entre as Arquiteturas OSI e Internet TCP/IP ...................................................40 Endereos para a Inter-rede Virtual ......................................................................................41 O Esquema de Endereamento IP.........................................................................................41 A Hierarquia de Endereos IP ..............................................................................................41 Classes de Endereos IP .......................................................................................................42 Notao Decimal Pontilhada ................................................................................................42 Classes e Notao Decimal Pontilhada.................................................................................43 Diviso do Espao de Endereamento ..................................................................................43 Um Exemplo de Endereamento ..........................................................................................44 Resoluo de Endereos .......................................................................................................44
Tcnicas de Resoluo de Endereos ............................................................................................ 44 Protocolo de Resoluo de Endereo (ARP) ................................................................................. 45 Protocolo Reverso de Resoluo de Endereo............................................................................... 46

Endereamento IP .......................................................................................................... 41
6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9
6.9.1 6.9.2 6.9.3

6.10

Endereos IP Especiais .........................................................................................................46


Endereo de Rede ..................................................................................................................... 46 Endereo de Broadcast.............................................................................................................. 46 Endereo de Broadcast Limitado .............................................................................................. 47 Endereo de Loopback.............................................................................................................. 47

6.10.1 6.10.2 6.10.3 6.10.4

6.11 6.12

Endereos IP Privados ..........................................................................................................47 Roteadores e o Princpio de Endereamento IP....................................................................48 O Datagrama IP ....................................................................................................................49 Roteamento ...........................................................................................................................49 Entradas da Tabela de Roteamento e o Campo de Mscara .................................................50 Sub-Redes .............................................................................................................................51 Rota Padro...........................................................................................................................52 Exerccios .............................................................................................................................53 Introduo .............................................................................................................................54 Caractersticas do TCP..........................................................................................................54
Servio Fim-a-Fim......................................................................................................................... 55 Obtendo Confiabilidade................................................................................................................. 55

Roteamento IP ................................................................................................................ 49
7.1 7.2 7.3 7.4 7.5 7.6

Protocolos de Transporte............................................................................................... 54
8.1 8.2
8.2.1 8.2.2

8.3 8.4
8.4.1 8.4.2 8.4.3

Caractersticas do UDP.........................................................................................................58 O Paradigma Cliente-Servidor..............................................................................................58


Caractersticas de Clientes e Servidores ........................................................................................ 58 Programas Servidores e Computadores da Classe Servidor .......................................................... 59 Protocolos de Transporte e Interao Cliente-Servidor ................................................................. 59

8.5
8.5.1

Identificando um Servio Particular .....................................................................................60


Comunicao No-Ambgua ......................................................................................................... 60

Redes de Computadores 8.6


8.6.1

Aluzio Rocha

Interface de Sockets ............................................................................................................. 61


Parmetros e a API de Sockets ......................................................................................................61

Sistema de Nomes de Domnios .................................................................................... 62


9.1 9.2 9.3 9.4 9.5 9.6 9.7 O Problema .......................................................................................................................... 62 A Soluo............................................................................................................................. 63 Estrutura de Nomes de Computador .................................................................................... 63 Estrutura Geogrfica ............................................................................................................ 64 Nomes de Domnio Dentro de uma Organizao................................................................. 64 A Hierarquia do Servidor DNS ............................................................................................ 65 Resolvendo um Nome .......................................................................................................... 66

Aluzio Rocha

Redes de Computadores

1 Introduo
A comunicao uma das maiores necessidades da sociedade humana desde os primrdios de sua existncia. Conforme as populaes se espalhavam, a comunicao a longa distncia se tornava cada vez mais uma necessidade e um desafio. Formas de comunicao atravs de sinais de fumaa ou pombos-correio foram as maneiras encontradas por nossos ancestrais para tentar aproximar as comunidades. A conjuno destas duas tecnologias comunicao e processamento de informaes veio revolucionar o mundo em que vivemos, abrindo as fronteiras com novas formas de comunicao, e permitindo uma maior eficcia dos sistemas computacionais. Redes de computadores so hoje uma realidade neste contexto. Para que possamos entend-las, necessrio que observemos como se deu a evoluo dos sistemas de computao at os dias de hoje, onde a distribuio do poder computacional uma tendncia indiscutvel.

1.1 Evoluo dos Sistemas de Computao


Na dcada de 1950, computadores eram mquinas grandes e complexas, operadas por pessoas altamente especializadas. Usurios enfileiravam-se para submeter seus jobs (utilizando-se de leitoras de cartes ou fitas magnticas) que eram processadas em lote (batch). Avanos na dcada de 1960 possibilitaram o desenvolvimento dos primeiros terminais interativos, permitindo aos usurios acesso ao computador central atravs de linhas de comunicao. Usurios passavam a ter ento interao direta com o computador, ao mesmo tempo em que avanos nas tcnicas de processamento davam origem a sistemas de tempo compartilhado (time-sharing), permitindo que as vrias tarefas dos diferentes usurios ocupassem simultaneamente o computador central, atravs de uma espcie de revezamento no tempo de ocupao do processador. Com o desenvolvimento tecnolgico, a contnua reduo do custo do hardware acompanhada do aumento da capacidade computacional levou tambm ao uso cada vez maior dos microcomputadores. Esses sistemas pequenos e dispersos eram mais acessveis ao usurio, possuam um tempo de resposta melhor e eram mais fceis de utilizar. Embora o custo do hardware de processamento estivesse caindo, o preo dos equipamentos perifricos continuavam alto. Assim, a interconexo entre os vrios sistemas para o uso compartilhado de dispositivos perifricos tornou-se importante. A capacidade de troca de informaes tambm foi uma razo importante para a interconexo. Usurios de sistemas de computao no trabalham isolados e necessitam de alguns benefcios oferecidos por um sistema centralizado. Entre esses, encontram-se a capacidade de troca de mensagens, a facilidade de acesso a dados e programas de vrias fontes quando da preparao de um documento. A busca de paralelismo para a soluo de problemas complexos tambm impulsionou os pesquisadores a criar novas arquiteturas que propunham a distribuio e o paralelismo como forma de melhorar o desempenho, confiabilidade e modularidade dos sistemas computacionais. 5

Redes de Computadores

Aluzio Rocha

1.2 Redes de Computadores


Uma Rede de Computadores formada por um conjunto de mdulos processadores (MPs)1 capazes de trocar informaes e compartilhar recursos, interligados por um sistema de comunicao, conforme ilustrado na figura abaixo.

Sistema de Comunicao

O Sistema de Comunicao vais se constituir de um arranjo topolgico interligando os vrios mdulos processadores atravs de enlaces fsicos (meios de transmisso) e de um conjunto de regras com o fim de organizar a comunicao (protocolos). Redes Locais (Local rea Network LANs) surgiram dos ambientes de institutos de pesquisa e universidades. Pode-se caracterizar uma rede local como sendo uma rede que permite a interconexo de equipamentos de comunicao de dados numa pequena regio. Em geral, nos dias de hoje, constuma-se considerar pequena regio distncias entre 100m e 25Km. Outras caractersticas associadas a redes locais so: alta taxa de transmisso (de 0,1 a 100Mbps) e baixas taxas de erro (de 10-8 a 10-11). importante notar que os termos pequena regio, altas taxas de transmisso ou baixas taxas de erro so susceptveis evoluo tecnolgica atual e certamente no sero mais os mesmos dentro de poucos anos. Quando a distncia de ligao entre os vrios mdulos processadores comea a atingir distncias metropolitanas, chamamos esses sistemas de Redes Metropolitanas (Metropolitan rea Networks MANs). Uma rede metropolitana apresenta caractersticas semelhantes redes locais, sendo que as MANs, em geral, cobrem distncias maiores do que as LANs operando em velocidades menores. Redes Geograficamente Distribudas (Wide rea Networks WANs) surgiram da necessidade de se compartilhar recursos especializados por uma maior comunidade de usurios geograficamente dispersos. Por terem um custo de comunicao bastante elevado (circuitos por satlite e enlaces de microondas), tais redes so em geral pblicas, isto , o sistema de comunicao, chamado de sub-rede de comunicao, mantido, gerenciado e de propriedade pblica. Ainda por problemas de custo, as velocidades de transmisso empregadas so baixas: da ordem de algumas dezenas de kilobits/segundo.
A definio de mdulos processadores se refere a qualquer dispositivo capaz de se comunicar atravs do sistema de comunicao por troca de mensagens.
1

Aluzio Rocha

Redes de Computadores

1.3 Parmetros de comparao


A escolha de um tipo particular de rede para suporte a um dados conjunto de aplicaes uma tarefa difcil. Cada arquitetura possui caractersticas que afetam sua adequao a uma aplicao em particular. Nenhuma soluo pode chamar para si a classificao de tima quando analisada em contexto geral, e at mesmo em particular. Muitos atributos entram em jogo, o que torna qualquer comparao bastante complexa.

1.3.1 Custo
O custo das conexes depender muito do desempenho que se espera da rede.

1.3.2 Retardo de Transferncia


Chamamos de retardo de transferncia o intervalo de tempo decorrido desde que uma mensagem a transmitir gerada pela estao at o momento em que a estao consiga obter para ela e somente para ela o direito de transmitir, sem que haja coliso de mensagens no meio. Chamamos de retardo de transmisso o intervalo de tempo decorrido desde o incio da transmisso de uma mensagem por uma estao de origem at o momento em que a mensagem chega estao destino. Podemos agora definir o retardo de transferncia como a soma dos retardos de acesso e transmisso. O retardo de transferncia , na maioria das vezes, uma varivel aleatria, como veremos mais adiante. No entanto, o maior valor que o retardo de transferncia pode assumir limitado (costuma-se dizer que o retardo de transferncia determinstico, embora a palavra, seja mal empregada).

1.3.3 Desempenho
Vamos definir desempenho de uma rede como a capacidade efetiva de transmisso da rede. Os termos velocidade, desempenho e retardo de transferncia esto intimamente relacionados. A escolha adequada da arquitetura, incluindo a estrutura de conexo, o protocolo de comunicao e o meio de transmisso vo influenciar em muito no desempenho, velocidade e retardo de transferncia de uma rede.

1.3.4 Confiabilidade
Confiabilidade pode ser avaliada em termos de tempo mdio entre falhas, tolerncia falhas, degradao amena, tempo de reconfigurao aps uma falha e tempo mdio de reparo.

1.3.5 Modularidade
Modularidade pode ser caracterizada como o grau de alterao de desempenho e funcionalidade que uma rede pode sofrer sem mudar seu projeto original. 7

Redes de Computadores

Aluzio Rocha

1.3.6 Compatibilidade
De fundamental importncia, a compatibilidade (ou interoperabilidade) ser aqui utilizada como a capacidade que o sistema (rede) possui para se ligar a dispositivos de vrios fabricantes, quer a nvel de hardware quer a nvel de software.

1.3.7 Sensibilidade Tecnolgica


Sensibilidade tecnolgica, em sua essncia, diz respeito modularidade, e foi aqui destacada devido a sua importncia. Uma rede deve ter a capacidade de suportar todas as aplicaes para a qual foi dedicada, mais aquelas que o futuro possa requerer incluindo transmisso de vdeo, voz, interconexes com outras redes, etc. Quando possvel, no deve ser vulnervel tecnologia, prevendo a utilizao de futuros desenvolvimentos, quer sejam novas estaes, novos padres de transmisso ou novas tecnologias de circuito integrado, transmisso, etc.

Aluzio Rocha

Redes de Computadores

2 Topologias
O sistema de comunicao vai se constituir de um arranjo topolgico interligando os vrios mdulos processadores atravs de enlaces fsicos (meios de transmisso) e de um conjunto de regras com o fim de organizar a comunicao (protocolos). A topologia de uma rede de comunicao refere-se forma com que os enlaces fsicos e os ns de comutao esto organizados, determinando os caminhos fsicos existentes e utilizveis ebtre quaisquer pares de estaes conectadas a essa rede.

2.1 Linhas de Comunicao


As ligaes fsicas podem ser de dois tipos: ponto a ponto ou multiponto. Ligaes ponto a ponto caracterizam-se pela presena de apenas dois pontos de comunicao, um em cada extremidade do enlace ou ligao em questo. Nas ligaes multiponto observa-se a presena de trs ou mais dispositivos de comunicao com possibilidade de utilizao do mesmo enlace.
Ponto a Ponto Multiponto

A forma de utilizao do meio fsico que conecta estaes d origem seguinte classificao sobre a comunicao no enlace: Simplex: o enlace utilizado apenas em um dos dois possveis sentidos de transmisso. Half-duplex: o enlace utilizado em dois possveis sentidos de transmisso, porm apenas um por vez. Full-duplex: o enlace utilizado nos dois possveis sentidos de transmisso simultaneamente.
Simplex

Half-duplex ou

Full-duplex

Voc pode estar se perguntando como ser possvel obter-se comunicao full-duplex atravs de um nico enlace fsico. Um enlace pode ser formatado, por exemplo, por dois pares de fios: para a transmisso em cada um dos sentidos (muito embora esta no seja a nica forma de implementao para um enlace onde se deseje obter comunicao full-duplex). 9

Redes de Computadores

Aluzio Rocha

2.2 Redes Geograficamente Distribudas


Uma primeira tentativa, bastante intuitiva, para a conexo de computadores em rede seria em uma topologia totalmente ligada (todo mundo conectado a todo mundo). A troca de mensagens entre cada par de estaes se d diretamente atravs de um desses enlaces. Embora, essa topologia apresente maior grau de paralelismo de comunicao, torna-se quase sempre impraticvel, principalmente em redes com grande nmero de estaes e fisicamente dispersas. Isto porque o custo de comunicao bastante alto em redes geograficamente distribudas. Outro caso extremo, agora no sentido inverso ao da topologia totalmente ligada, a topologia em anel. Nessa topologia procura-se diminuir ao mximo o nmero de ligaes no sistema alm de simplificar ao mximo o tipo de ligao utilizada. Dessa forma, utiliza-se, em geral, ligao ponto a ponto que operam num nico sentido de transmisso (ligaes simplex) fazendo com que o anel apresente uma orientao ou sentido nico de transmisso. Apesar de apresentar uma economia considervel, tal topologia apresenta algumas desvantagens que inviabilizam sua utilizao. A principal delas diz respeito inexistncia de caminhos alternativos para o trfego de mensagens; em redes WAN caminhos alternativos devem ser providenciados dado que as linhas utilizadas so, em geral, de baixa velocidade e de pouca confiabilidade. Assim, camos em uma topologia intermediria que utilizada pela maioria das redes WAN: a topologia parcialmente ligada (Figura abaixo), tambm chamada topologia em grafo.
B 3AC A 1EB 2EB 3EB 1AC D 5EB 4EB C 2AC 4AC

Nessa topologia, nem todas as ligaes entre pares de estaes esto presentes, mas caminhos alternativos existem e podem ser utilizados em casos de falhas ou congestionamentos em determinadas rotas. No caso em que estaes sem conexo fsica direta desejem se comunicar, elas devero, de alguma forma, encaminhas as suas mensagens para alguma outra estao que possa fazer a entrega da mensagem para a estao de destino. A comunicao entre dois equipamentos pode ser realizada por chaveamento de circuitos, chaveamento de mensagens ou chaveamento de pacotes. Em sistemas de chaveamento de circuitos, um canal entre o ETD (Equipamento Terminal de Dados) fonte e o ETD de destino estabelecido para uso exclusivo dessas estaes at que a conexo seja desfeita, de maneira idntica a uma chamada telefnica comum. Chaveamento de mensagem ou pacote vai otimizar o uso dos meios de comunicao, tentando evitar a monopolizao de todo o caminho durante uma conversao. Maiores detalhes sobre estes tipos de chaveamento, no prximo Captulo. 10

Aluzio Rocha

Redes de Computadores

2.3 Redes Locais e Metropolitanas


Em redes locais e metropolitanas, meios de transmisso de alta velocidade, baixa taxa de erro, de baixo custo e privados podem ser usados. Topologias muitas vezes inviveis em ambientes geograficamente distribudos podem ser utilizadas.

2.3.1 Topologia em Estrela


Uma rede com topologia em estrela ilustrada na Figura abaixo. Nesse tipo de topologia cada estao interligada a um n central, atravs do qual todo o trfego de informaes deve passar. Tal n age, assim, como centro de controle da rede, interligando as estaes atravs de circuitos fsicos dedicados a cada comunicao entre duas estaes. Nada impede que haja comunicaes simultneas, desde que as estaes envolvidas sejam diferentes.

switch

O n central cuja funo chaveamento (ou comutao) entre as estaes que desejam se comunicar denominado comutador ou switch. Redes em estrela no tm necessidade de roteamento, uma vez que concentram todas as mensagens no n central. O gerenciamento das comunicaes por este n pode ser por chaveamento de pacotes ou chaveamento de circuitos. Falhas no n central podem ocasionar a parada total do sistema. Outro problema da rede em estrela relativo modularidade. A configurao pode ser expandida at um certo limite imposto pelo n central: em termos de capacidade de chaveamento, nmero de circuitos concorrentes que podem ser gerenciados e nmero total de ns que podem ser servidos.

2.3.2 Topologia em Anel


Uma rede em anel consiste em estaes conectadas atravs de um caminho fechado (crculo). Por motivos de confiabilidade, o anel no interliga as estaes diretamente, mas consiste de uma srie de repetidores ligados por um meio fsico, sendo cada estao ligada a esses repetidores, conforme Figura abaixo.

11

Redes de Computadores

Aluzio Rocha

Redes em anel so, teoricamente, capazes de transmitir e receber dados em qualquer direo. As configuraes mais usuais, no entanto, so unidirecionais, de forma a simplificar o projeto dos repetidores e tornar menos sofisticados os protocolos de comunicao que asseguram a entrega da mensagem ao destino corretamente e em seqncia, pois sendo unidirecionais evitam o problema de roteamento. Quando uma mensagem enviada por um n, ela entra no anel e circula at ser retirada pelo n de destino, ou ento at voltar ao n de origem, dependendo do protocolo empregado. Cada n deve ser capaz de remover seletivamente mensagens da rede ou pass-las frente para o prximo n. Isto requer um repetidor ativo em cada n, como mostrado na Figura abaixo.

2.3.3 Topologia em Barra


Topologia em barra comum bastante semelhante ao conceito de arquitetura de barra em um sistema de computador, onde todas as estaes (ns) se ligam ao mesmo meio de transmisso. Ao contrrio das outras topologias, que so configuraes ponto a ponto (isto , cada enlace fsico de transmisso conecta apenas dois dispositivos), a topologia em barra tem uma configurao multiponto.

12

Aluzio Rocha

Redes de Computadores

Nas redes em barra cada n conectado barra pode ouvir todas as informaes transmitidas, similar s transmisses de radiodifuso. Esta caracterstica vai facilitar as aplicaes com mensagens do tipo broadcast (difuso mensagens globais) alm de possibilitar que algumas estaes possam trabalhar no que chamamos, de endereamento promscuo ou modo espio. A ligao das estaes ao meio de comunicao realizada atravs de um tranceptor (trasnsmissor/receptor), que tem como funes bsicas transmitir e receber sinais, bem como reconhecer a presena destes sinais no meio. Assim como em redes em anel, a utilizao de concentradores (hubs) ir facilitar a localizao e o isolamento de falhas, bem como permitir a insero de novas estaes na barra sem a parada do sistema (desde que existam entradas livres disponveis no hub). A figura abaixo mostra um hub de uma rede em barra.
Hub

2.4 Exemplo de Rede em Barra: Ethernet


Ethernet uma tecnologia bem-conhecida e extensamente usada que emprega topologia em barra. A Ethernet foi inventada no Centro de Pesquisa da Xerox em Palo Alto, no inicio dos anos 70. Atualmente o IEEE (Institute of Electrical and Eletronic Engeneers) controla os padres Ethernet. Em sua verso original, uma LAN Ethernet consistia em um cabo coaxial nico, chamado de ter, ao qual mltiplos computadores se conectam. Os engenheiros usam o termo segmento para se referir ao cabo coaxial de Ethernet ou barramento Ethernet. O hardware Ethernet original operava em uma largura de banda de 10 Megabits por segundo (Mbps); uma verso posterior conhecida como Fast Ethernet opera a 100 Mbps, e a verso mais recente, que conhecida como Gibabit Ethernet, opera a 1.000 Mbps ou I Gigabit por segundo (Gbps).

2.4.1 Compartilhamento em uma Ethernet


Como a Ethernet usa uma topologia em barra, mltiplos computadores devem compartilhar o acesso a um meio fsico nico. Um remetente transmite um sinal, que se propaga do remetente em direo s duas extremidades do cabo.

13

Redes de Computadores

Aluzio Rocha

2.4.2 Sensibilidade de Portadora em Redes de Acesso Mltiplo com Deteco de Coliso (CSMA/CD)
O aspecto mais interessante sobre a Ethernet o mecanismo usado para coordenar a transmisso. Uma rede Ethernet no tem uma controladora centralizada que diz a cada computador como se alternar usando o cabo compartilhado. Em vez disso, todos os computadores acoplados a uma Ethernet participam em um esquema de coordenao distribuda chamado de Carrier Sense Multiple Access (CSMA). O esquema usa atividade eltrica no cabo para determinar o estado. Quando nenhum computador estiver enviando um quadro, o ter no contm sinais eltricos. Durante a transmisso de um quadro, porm, um remetente transmite sinais eltricos usados para codificar bits. Se no houver nenhum sinal, o computador pode transmitir um quadro. Se houver um sinal, o computador deve esperar que o remetente termine antes de continuar. Como o CSMA permite que cada computador determine se um cabo compartilhado j est em uso por outro computador, ele previne que um computador interrompa uma transmisso em andamento. Porm, o CSMA no pode prevenir todos os conflitos possveis. Para entender por qu, imagine o que acontece se dois computadores em extremidades opostas de um cabo inativo tm um quadro pronto para enviar ao mesmo tempo. Quando eles tentam detectar uma portadora, ambas as estaes encontram o cabo inativo e comeam a enviar quadros simultaneamente. Os sinais viajam a aproximadamente 70% da velocidade da luz, e quando os sinais transmitidos por dois computadores alcanam o mesmo ponto no cabo, eles interferem um com o outro. A interferncia entre dois sinais chamada de coliso. Embora uma coliso no prejudique o hardware, ela produz uma transmisso adulterada que previne que qualquer um dos dois quadros seja corretamente recebido. Para assegurar que nenhum outro computador transmita simultaneamente, o padro Ethernet exige que estaes remetentes monitorem sinais no cabo. Se o sinal no cabo difere do sinal que a estao est enviando, quer dizer que ocorreu uma coliso. Sempre que uma coliso detectada, a estao remetente pra imediatamente de transmitir. Tecnicamente, a monitorao de um cabo durante a transmisso conhecida como Deteco de Coliso (Collision Detection, CD) e o mecanismo para Ethernet conhecido como Carrier Sense Multiple Access with Collision Detection (CSMA/CD).

2.5 Projeto de Redes Locais


A limitao de distncia uma parte fundamental dos projetos de LANs. Quando esto projetando uma tecnologia de rede, os engenheiros escolhem uma combinao de capacidade, atraso mximo e distncia que pode ser alcanada a um dado custo. Para ajudar a diminuir os custos, as tecnologias de LANs normalmente usam um meio de comunicao compartilhado como um barramento Ethernet.

2.5.1 Cabeamento Fino de Ethernet


Um dos primeiros tipos de cabo que se popularizou nas redes Ethernet foi o Thinnet, denominado de 10Base2. Em uma instalao de Thinnet, um cabo coaxial fino (de 50 ohms) se estende entre cada par de mquinas. Cada mquina deve possuir uma NIC (Network Interface Card, ou placa de interface de rede) com um conector BNC onde ser ligado um conector T do cabo coaxial, como mostrado na Figura abaixo. 14

Aluzio Rocha

Redes de Computadores

2.5.2 Ethernet de Par Tranado


Formalmente chamado de 10Base-T, o esquema popularmente conhecido como Ethernet de par tranado ou simplesmente Ethernet TP. O esquema 10Base-T, que se tornou o padro para Ethernet, no usa um cabo coaxial. Em vez disso, o 10Base-T usa um hub como forma de implementar o barramento Ethernet. Como os outros esquemas de cabeamento, o 10Base-T exige que cada computador tenha uma placa de interface de rede e uma conexo direta da NIC at a rede. A conexo usa cabeamento de par tranado com conectores RJ-45 que so verses maiores dos conectores modulares usados com telefones. O conector em uma extremidade de um par tranado se conecta na interface de rede em um computador, e o conector na outra extremidade se conecta ao hub. Deste modo, cada computador tem uma conexo dedicada com o hub, como mostra a Figura a seguir.

2.5.3 Cabos de Fibra tica


O cabeamento de fibra tica como mdia de comunicao oferece diversas vantagens importantes quando comparado com o cabeamento baseado em cobre. Os maiores benefcios encontrados neste tipo de cabeamento so suas caractersticas de altssima taxa de transferncia e imune a rudos eltricos externos, alm de no emitir qualquer interferncia a outros meios. 15

Redes de Computadores

Aluzio Rocha

O uso dos cabos de fibra tica est cada vez mais associado utilizao daquelas aplicaes que requerem uma alta velocidade de transmisso, visto qu no existe nada mais rpido que a luz. Os limitadores de velocidade so os dispositivos ticos/eletrnicos que conectam os computadores s redes ticas. O cabo de fibra emprega o vidro para carregar pulsos de luz com uma perfeita imunidade a rudos.

Recentes desenvolvimentos na tecnologia de fibras ticas tm tornado atraente o uso de cabos de fibra de baixo custo e fcil instalao. Estes tipos de cabo, denominados de POF (Plastic Optical Fiber), ao invs de empregarem o vidro, utilizam o plstico como o elemento de transmisso no ncleo do cabo, e seus conectores so de fcil manuseio. Quanto s desvantagens encontradas no POF, podemos citar a reduo de distncia e capacidade de transmisso, quando comparado com cabos de fibra que usam o vidro como ncleo e tm alta taxa de transmisso. As fibras ticas utilizadas nas redes so classificadas de acordo com a forma que a luz trafega no cabo. Em outras palavras, temos a classificao das fibras como monomodo e multmodo. No tipo monomodo, um nico sinal de luz transportado de uma forma direta no ncleo do cabo. O sinal pode atingir distncias maiores sem a repetio nesta forma de trfego da luz quando comparado com a transmisso na segunda classe de fibra. Uma fibra multmodo tem como caracterstica um feixe de luz que viaja ao longo do seu trajeto fazendo diferentes refraes ao longo das paredes do ncleo do cabo. Na figura abaixo, temos um exemplo da transmisso num cabo de fibra monomodo (a) e multmodo (b).

2.5.4 Repetidores
Uma limitao de distncia em LANs surge porque um sinal eltrico se torna mais fraco ao viajar ao longo de um fio. Para superar tal limitao, algumas tecnologias de LAN permitem que dois cabos sejam juntados atravs de um dispositivo conhecido como repetidor. 16

Aluzio Rocha

Redes de Computadores

Um repetidor normalmente um dispositivo eletrnico analgico que continuamente monitora sinais eltricos em cada cabo. Quando ele percebe um sinal em um cabo, o repetidor transmite uma cpia ampliada no outro cabo. A Figura a seguir ilustra como um repetidor pode dobrar o tamanho efetivo de uma rede Ethernet.

2.5.5 Bridges
Como um repetidor, uma bridge um dispositivo eletrnico que conecta dois segmentos de LAN. Diferentemente de um repetidor, porm, uma bridge manipula quadros completos usa a mesma interface e rede que um computador convencional. A bridge escuta trfego em cada segmento usando o modo promiscuo. Quando a bridge recebe um quadro de um segmento, ela verifica se o quadro chegou intacto (por exemplo, se no se verificou nenhuma interferncia eltrica na LAN durante a transmisso), e ento encaminha uma cpia do quadro para o outro segmento se necessrio. Deste modo, dois segmentos de LAN conectados por uma bridge se comportam como uma LAN nica. Um computador conectado a um dos segmentos pode enviar um quadro para qualquer outro computador conectado a um dos dois segmentos. Na Figura abaixo, seis computadores conectados a um par de segmentos de LAN unidos por uma bridge (bridged LANs). A bridge, que usa o mesmo tipo de conexes que um computador, sempre envia e recebe quadros completos.

2.5.6 Exemplos de Cabeamento

17

Redes de Computadores

Aluzio Rocha

Na Figura abaixo, podemos observar uma comparao entre os diversos tipos de cabeamento Ethernet dentro de um mesmo prdio (ambiente): (a) espesso, (b) fino e (c) 10Base-T (par tranado). Os fios podem correr acima do teto ou debaixo de um piso falso. Na Figura a seguir, um exemplo de ligao entre prdios.

2.6 Redes Locais sem Fio


As redes locais sem fio so sistemas de comunicaes de dados flexveis implementados como uma extenso, ou como uma alternativa, s redes locais tradicionais. Utilizando tecnologia de rdio-freqncia, elas transmitem e recebem dados via ar, minimizando a necessidade de conexes via cabo. Redes locais sem fio combinam conectividade de dados com mobilidade do usurio. As tecnologias das wireless LAN (redes locais sem fio ao invs de usar a expresso sem fio, decidimos adotar o termo wireless, pois o mesmo bastante empregado na leitura internacional) vm se mostrando um elemento cada vez mais fundamental para agregar valor s redes de computadores das organizaes. Com as wireless LAN, usurios podem acessar informaes compartilhadas sem se preocupar com um lugar para se conectar a rede, e administradores de rede podem gerenciar redes sem instalar ou mover cabos. 18

Aluzio Rocha

Redes de Computadores

2.6.1 Padro IEEE 802.11


O principal problema enfrentado pelas primeiras redes locais wireless era a inexistncia de padres reais. Cada empresa produzia seu prprio sistema proprietrio, fornecendo aos clientes opes confusas. Muitos usurios simplesmente decidiam no comprar a LAN sem fio, por medo de ficarem presos tecnologia de um nico fornecedor. As inmeras vantagens dos servios oferecidos pelas wireless LAN sempre se depararam com a falta de padronizao da rea. Este problema representava um obstculo real para o efetivo crescimento do uso das tecnologias wireless. Em outras palavras, com diferentes abordagens de diversos fornecedores, os usurios muitas vezes se retraem evitando solues proprietrias. A maioria dos padres de wireless LAN definida pelo IEEE (Institute of Electrical and Eletronic Engeneers). Como j vimos, o IEEE responsvel pelo sistema Ethernet, o sistema a cabo dominante, e, por isso, suas recomendaes talvez tenham maior repercusso na comunidade redes. O IEEE produziu pelo menos seis padres incompatveis, listados adiante na tabela. Observe que os valores referentes capacidade so bastante otimistas, pois at metade da largura de banda desperdiada nos sistemas sem fio. A natureza da transmisso significa que os valores so apenas unidirecionais; por exemplo, a capacidade de 10 Mbps representa realmente apenas 5 Mbps em cada direo.
Sistema IEEE 802.11 (FHSS) IEEE 802.11 (DSS) IEEE 802.11b IEEE 802.11a Capacidade de dados 1 Mbps 2 Mbps 11 Mbps 54 Mbps Freqncia2 2,4 GHz (ISM) 2,4 GHz (ISM) 2,4 GHz (ISM) 5 GHz (U-NII)

O IEEE 802.11 foi o primeiro padro de LAN sem fio a ser definido. Esse padro utiliza os mesmos protocolos de comutao da Ethernet convencional, mas substituindo os cabos pelo rdio ISM. A verso mais simples do padro 802.11 utiliza a tecnologia FHSS (Frequency Hopping Spread Spectrum), com ciclos rpidos entre as freqncias, varias vezes por segundo. Uma verso mais complexa utiliza a tecnologia DSSS (Direct Sequence Spread Spectrum), a mesma dos celulares CDMA: Transmite em todas as freqncias simultaneamente. Isso aumenta a velocidade de dados de um mximo de 1 Mbps para 2 Mbps, mas tambm utiliza mais energia. O consumo de energia pode ser um fator importante para dispositivos que quase sempre operam alimentados por baterias. A verso IEEE 802.11b baseado na verso DSSS do IEEE 802.11. Utiliza tcnicas melhores de modulao, um recurso que ser discutido no Captulo 3, aumentando a capacidade at mximo de 11 Mbps. Este padro tambm apresentado como Wireless Ethernet ou Wi-Fi (The Standard for Wireless Fidelity). O IEEE 802.11a alcana velocidades de 54 Mbps, pois foi projetada para minimizar a interferncia causada pelos sinais refletidos nas paredes. Seu maior ponto fraco no poder ser utilizado na Europa, por causa da norma que determina os padres HiperLan do ETSI.

Esta propriedade das ondas de rdios ser discutida em detalhes no Captulo 3.

19

Redes de Computadores

Aluzio Rocha

2.6.2 Conexo com Pontos de Acesso ou Ponto a Ponto


Todos os sistemas de wireless LAN podem ser utilizados para a conexo do tipo ponto a ponto, chamadas de ad-hoc, de dois ou mais usurios quaisquer, que tenham uma placa instalada. reas, como escritrios ou casas, tambm podem ser ajustadas com pontos de acesso (Access Points), que estendem a faixa do sistema e permitem ligaes para LANs comuns ou para a Internet. A figura abaixo mostra os dois tipos de redes.

O Access Point tambm pode agir como uma ponte para outra rede (cabeada ou sem fio). A figura abaixo mostra trs APs com suas trs reas de atuao e uma rede cabeada ligando essas trs reas.

20

Aluzio Rocha

Redes de Computadores

3 Transmisso da Informao
A transmisso da informao atravs de sistemas de comunicao pressupe a passagem de sinais atravs dos meios fsicos de comunicao que compem as redes. As propriedades fsicas dos meios de transmisso e as caractersticas dos sinais transmitidos apresentam uma srie de questes tecnolgicas que influenciam na construo e no projeto de redes de computadores.

3.1 Informao e Sinal


O processo de comunicao envolve a transmisso de informao de um ponto a outro atravs de uma sucesso de processos, a saber: 1. A gerao de uma idia, padro ou imagem na origem. 2. A descrio dessa idia, com uma certa medida de preciso, por um conjunto de smbolos. 3. A codificao desses smbolos em uma forma propcia transmisso em um meio fsico disponvel. 4. A transmisso desses smbolos codificados ao destino. 5. A decodificao e reproduo dos smbolos. 6. A recriao da idia transmitida com uma possvel degradao de qualidade pelo destinatrio. A gerao de idias ou imagens na origem do processo representa a produo de informao na sua forma mais pura ou fundamental. A concretizao dessa informao em computadores digitais, por exemplo, corresponde a um conjunto de dados, eletrnica ou magneticamente armazenados. O processo de codificao dos smbolos, que descrevem a idia, em uma forma propcia para a transmisso o processo pelo qual o remetente produz uma mensagem, utilizando-se de uma linguagem, que poder ento ser transmitida e decodificada pelo receptor. Sinais nada mais so do que ondas que se propagam atravs de algum meio fsico, seja ele o ar, um par de fios telefnicos, etc.. Informaes esto em geral, associadas s idias ou aos dados manipulados pelos agentes que as criam, manipulam e processam. Sinais, por outro lado, correspondem materializao especfica dessas informaes utilizada no momento da transmisso.

3.2 Freqncia
Para entendermos os conceitos de comunicao de forma mais abrangente, importante que tenhamos conhecimento sobre freqncia e alguns dos parmetros relacionados (exemplos so a banda, largura de banda, tamanho da onda, perodo e fase, entre outros). O IEEE define uma freqncia como nmero completo de variaes dos ciclos de uma senoide por unidade de tempo. A unidade de tempo que podemos considerar o segundo. A unidade da freqncia dada em Hertz (Hz), que significa nmero de ciclos por segundo. Na figura a seguir, em (a) apresentamos uma onda senoidal da funo y = seno(x). 21

Redes de Computadores

Aluzio Rocha

Y A 2 X

Y +5V y2 y1

0 0

X -5V

-A

(a)

(b)

Em (b), duas ondas com diferentes freqncias so ilustradas. Temos uma onda com menor freqncia (y1), quando comparamos com a outra onda (y2). Da figura tambm podemos falar sobre a amplitude. Nos exemplos da figura, consideramos que a amplitude medida em volts igual a +5V e -5V. Em outras palavras, a grandeza da amplitude caracterizada pelo tamanho da onda numa direo no eixo y.

3.3 Os Termos Analgico e Digital


Computadores so equipamentos que armazenam, processam e codificam informaes em bits que correspondem a dois nveis discretos de tenso ou corrente, representando os valores lgicos 0 ou 1. Chama-se este tipo de informao de digital. J informaes geradas por fontes sonoras apresentam variaes contnuas de amplitude, constituindo-se no tipo de informao que comumente denominamos de analgica. Numa rede de comunicao, os dados so propagados de um determinado ponto A para outro B como um sinal eltrico, que pode estar numa forma analgica ou digital. O sinal analgico caracterizado pela contnua variao da onda eletromagntica, que pode ser transmitida por uma gama diferentes de meios. Em outras palavras, o sinal analgico pode ser transmitido empregando-se meios guiados (cabos de um modo geral) e meios noguiados (a atmosfera terrestre ou o espao). O sinal digital, por outro lado, caracteriza-se pela presena de pulsos de voltagem nos quais a amplitude fixa. O sinal construdo atravs de uma seqncia de intervalos de tamanho fixo iguais a T segundos, chamados de intervalos de sinalizao, durante os quais a amplitude do sinal permanece fixa, caracterizando um dos smbolos digitais transmitidos. Na figura a seguir, ilustramos a transmisso dos sinais analgicos e digitais.
T

Sinal Analgico

Sinal Digital

22

Aluzio Rocha

Redes de Computadores

importante que se entenda que qualquer tipo de informao (seja analgica ou digital) pode ser transmitido atravs de um sinal analgico ou digital. Um sinal analgico, por exemplo, pode ser amostrado, quantizado e o resultado dessa quantizao, codificado em um sinal digital para transmisso. A transmisso de informao digital atravs de sinais analgicos tambm possvel; tcnicas de modulao transformam sinais digitais em sinais que apresentam variao contnua de amplitude. O equipamento mais comum de modulao o modem (MODulador/DEModulador), utilizado quando um computador deseja transmitir informaes digitais usando sinais de voz em linhas telefnicas. O nmero de nveis utilizados em sinais digitais no necessariamente precisa se restringir a dois. Outras formas de codificao de sinais digitais podem ser obtidas atravs da atribuio de mais de um bit a cada nvel de amplitude, casos em que o nmero de nveis possvel no ser mais de apenas dois. Ao se transmitir dois bits por nvel, por exemplo, necessita-se de quatro nveis para expressar todas as possveis seqncias de dois bits; tem-se o chamado dibit. Para esquemas com trs bits, tribit, precisamos de oito nveis de amplitude, e assim por diante. De uma forma geral, para se codificar n bits em um nvel de amplitude so necessrios 2n nveis diferentes.
T Nveis 11 10 01 00 01 01 10 10 01 00 11 10 11 00 01

Mensagem

Uma confuso bastante comum entre os estudantes e profissionais na rea de telecomunicao e redes a terminologia e os conceitos de bps (bits por segundo) e baud. Esta ltima a medida de transies por segundo ou, em outras palavras, a grandeza se refere a quantas vezes por segundo ocorreu uma transio de estado do sinal. Assim, num ambiente onde temos a taxa de sinalizao de 400 bauds com 3 bits por elemento de sinalizao, teremos uma taxa de transferncia de 1.200 bps.

3.4 Codificao
A codificao uma mudana na representao da informao de entrada para que esta possa ser transportada num sistema de comunicao digital. A informao de entrada pode ser analgica (como a voz humana) ou digital (proveniente de um computador). Em outras palavras, o objetivo da codificao a transformao de uma informao em um sinal digital adequado s condies de uma rede de comunicao digital.

3.4.1 PCM
Na utilizao de circuitos digitais para a transmisso da voz precisamos modificar a forma analgica da voz em uma forma digital (digitalizao da voz). A voz humana limitada para fins de transmisso nas redes de comunicao a uma freqncia de 4kHz. Os dispositivos capazes de codificar informaes analgicas em sinas digitais so denominados 23

Redes de Computadores

Aluzio Rocha

CODECs (CODer/DECoder). Nesta seo examinaremos a principal tcnica utilizada por CODECs, denominada Pulse Code Modulation (PCM). A tcnica PCM baseada no teorema de Nyquist (ou teorema da amostragem). Segundo o teorema, devemos amostrar a uma taxa do dobro do sinal de uma determinada freqncia para podermos reconstituir o sinal original. Ento, podemos dizer que para um canal de voz de 4 kHz, a taxa de amostragem dever ser igual a 8.000 vezes por segundo. Utilizando esta taxa, o sinal original deve ser amostrado e, a cada amostra, deve-se associar um valor proporcional amplitude do sinal naquele ponto. Este processo ilustrado na figura acima, conhecido como Pulse Amplitude Modulation (PAM).

Sinal original

6.0 5.0 4.1 3.0 2.2 1. 5 1. 5 5.0

7.0

Pulsos PAM

2.8

Pulsos PCM
100 110 011 010 101 001 001 101 111 010

7 6 5 4 3 2 1 0

Sada PCM

100110011010101001001101111010

A partir dos pulsos PAM, podemos produzir os pulsos PCM atravs de um processo conhecido como quantizao, onde cada amostra PAM aproximada a um inteiro de n bits. No exemplo da figura, escolhemos n=3, dando origem a oito nveis (23). A sada PCM corresponde ao resultado dessa quantizao. Observe que este arredondamento para nmeros inteiros significar perda de informao quando o sinal digital tiver que ser descodificado. Isto , para que o sinal codificado seja o mais fiel possvel ao sinal original, os arredondamentos tm que ser os menores possveis. Para isso, deve-se aumentar o nmero de nveis de amplitude, aumentando conseqentemente, o nmero de bits por amostra.

3.5 Banda Passante


Denomina-se banda passante de um sinal o intervalo de freqncias que compem este sinal. A largura de banda desse sinal o tamanho de sua banda passante (ou seja, a diferena entre a maior e a menor freqncia que compem o sinal). Nenhum meio de transmisso capaz de transmitir sinais sem que haja perdas de energia durante o processo. Perdas de energia significam redues na amplitude de sinais componentes. A proporo da perda para cada freqncia do espectro uma caracterstica do 24

Aluzio Rocha

Redes de Computadores

meio. Desta forma, o meio de transmisso atua como um filtro sobre o sinal, que sofrer uma perda em cada uma de suas componentes de acordo com a curva caracterstica do ganho daquele meio fsico, ocasionando distores no sinal resultante. Chamaremos de banda passante do meio fsico quela faixa de freqncias que permanece praticamente preservada pelo meio.

3.6 Multiplexao e Modulao


Sempre que a banda passante de um meio fsico for maior ou igual banda passante necessria para um sinal, podemos utilizar este meio para a transmisso do sinal. Na prtica, a banda passante necessria para um sinal , em geral, bem menor que a banda passante dos meios fsicos disponveis, como mostra a figura abaixo.
0 Hz

Desperdcio Banda passante necessria para o sinal Banda passante do meio fsico

A tcnica que permite a transmisso de mais de um sinal em um mesmo meio fsico denominada multiplexao. Existem duas formas bsicas de multiplexao: a multiplexao na freqncia (Frequency Division Multiplexing FDM) e a multiplexao no tempo (Time Division Multiplexing TDM).

3.6.1 Multiplexao na Freqncia


Considere, por exemplo, trs sinais (C0, C1, C2) com a banda passante necessria indicada na figura abaixo.
C0 C1 C2
0 Hz

C0

C1

C2

A tcnica consiste em passar um filtro em cada um dos sinais de forma a preservar somente a faixa relativa banda passante de cada um deles, e deslocar estas faixas de freqncia originais sem que um sinal interfira no outro, isto , eles passam a ocupar trs faixas disjuntas, sem sobreposio. Esta tcnica que permite esse deslocamento ou shift de freqncias so conhecida e denominadas tcnicas de modulao.

25

Redes de Computadores

Aluzio Rocha

3.6.2 Tcnicas de Modulao


Todas as tcnicas de modulao envolvem o deslocamento do sinal original, doravante denominado sinal modulador, de sua faixa de freqncia original para uma outra faixa. O valor desse deslocamento corresponde freqncia de uma onda denominada portadora. Existem trs tcnicas bsicas de modulao: Modulao por Amplitude (Amplitude Modulation AM). Modulao por Freqncia (Frequency Modulation FM). Modulao por Fase (Phase Modulation PM).

3.6.3 Multiplexao no Tempo


A multiplexao por diviso do tempo (Time Division Multiplexing - TDM) se beneficia do fato de que a capacidade (em quantidade de bits por segundo) do meio de transmisso, em muitos casos, excede a taxa mdia de gerao de bits das estaes conectadas ao meio fsico. Quando isto ocorre, vrios sinais podem ser transportados por um nico caminho fsico, intercalando-se pores de cada sinal durante o tempo. A multiplexao no tempo pode ser classificada em sncrona ou assncrona. 3.6.3.1 TDM Sncrono No TDM sncrono (ou simplesmente TDM), o domnio do tempo dividido em intervalos de tamanho fixo T chamados frames; cada frame subdivido em N subintervalos {t1, t2, ..., tn} denominados slots ou segmentos que formam uma partio dos frames que, por sua vez, formam uma partio do tempo infinito. Denomina-se canal, ao conjunto de todos os segmentos, um em cada frame, identificado por uma determinada posio fixa dentro desses frames. Por exemplo, o canal 3 formado pelo terceiro slot de cada frame. Canais podem ser alocados a estaes que desejem transmitir. Cada estao dever esperar o slot correspondente dentre de cada frame, quando ento poder transmitir durante o tempo daquele slot, utilizando a taxa de transmisso mxima suportada pelo meio fsico.

t1

t2

...

tn

t1

t2

...

tn

A1

B1

C1

D1

A2

B2

C2

D2

Banda desperdiada

26

Aluzio Rocha

Redes de Computadores

3.6.3.2 TDM Assncrono Uma alternativa ao TDM sncrono que procura eliminar o desperdcio de capacidade existente nesse esquema o TDM assncrono (tambm conhecido por TDM estatstico ou STDM Statistical TDM). Nesse esquema, no h alocao de canal nem estabelecimento de conexo. Parcelas de tempo so alocadas dinamicamente de acordo com a demanda das estaes. Nenhuma capacidade desperdiada, pois o tempo no utilizado est sempre disponvel caso alguma estao gere trafego e deseje utilizar o canal de transmisso. Em compensao, cada unidade de informao transmitida deve sempre conter um cabealho com os endereos de origem e de destino.
A1 B1 B2 C2

Cabealho

Capacidade extra disponvel

3.6.4 Sistemas em Banda Larga e em Banda Bsica


As tcnicas de transmisso esto diretamente relacionadas com as tcnicas de multiplexao. Duas tcnicas de transmisso so as mais empregadas: a sinalizao em banda bsica (baseband) e a sinalizao em banda larga (broadband). Na sinalizao em banda bsica o sinal simplesmente colocado na rede sem se usar qualquer tipo de modulao, aparecendo diretamente na rede e no como deslocamentos de freqncia, fase ou amplitude de uma portadora de alta freqncia. Ao contrario da sinalizao em banda bsica (tambm chamada sinalizao digital) na qual todo o espectro (banda) de freqncia do meio utilizado para produzir o sinal, a sinalizao em banda larga (tambm chamada de sinalizao analgica) realiza a multiplexao em freqncia (FDM). Com essa multiplexao o espectro de freqncia do meio divido em vrios canais, cada um podendo suportar diferentes trfegos.

27

Redes de Computadores

Aluzio Rocha

3.7 Comutao
A funo de comutao (ou chavemento) em uma rede de comunicao refere-se alocao dos recursos da rede (meios de transmisso, repetidores, sistemas intermedirios, etc.) para a transmisso pelos diversos dispositivos conectados. As principais formas de comutao so denominadas comutao de circuitos e comutao de pacotes.

3.7.1 Comutao de Circuitos


A comunicao via comutao de circuitos pressupe um caminho dedicado de comunicao entre duas estaes. A comunicao via comutao de circuitos envolve trs fases: 1. Estabelecimento do circuito: antes que estaes possam se comunicar, um circuito fim a fim tem que ser estabelecido. Em cada enlace, um canal alocado e permanece dedicado a essa conexo at a hora da desconexo do circuito. 2. Transferncia de informao: uma vez estabelecida a conexo, os dados podem ser transmitidos e recebidos pelas estaes envolvidas. 3. Desconexo do circuito: aps um certo perodo a conexo pode ser encerrada, em geral, pela ao de uma das estaes envolvidas. Sinais de controle devem ser propagados por todos os ns intermedirios do circuito de forma que todos os caminhos sejam desalocados. Na figura abaixo, ilustramos a progresso de uma comunicao via comutao de circuitos entre duas estaes. Na fase de estabelecimento de conexo, uma mensagem de controle enviada ao destino. Conforme ela vai sendo roteada (entre os diversos pontos de comunicao entre a origem e o destino), um caminho vai sendo alocado (correspondendo aos ns intermedirios 2 e 3 da figura). Quando esta mensagem de controle atinge o n de destino (n 4), um caminho foi totalmente alocado, e uma mensagem de controle de confirmao enviada de volta ao n de origem (n 1), j utilizando o circuito alocado pela primeira mensagem (note que no h mais tempo de processamento desta mensagem em cada n intermedirio, como havia na primeira mensagem). A partir da, as estaes podem se comunicar atravs do circuito estabelecido, at o momento em que uma das estaes decida terminar a conexo.
T Tempo de propagao Estabelecimento da conexo

Tempo de Transmisso

Mensagem

Transmisso da Mensagem

28

Aluzio Rocha

Redes de Computadores

3.7.2 Comutao de Mensagens


Na comutao de mensagens no necessrio o estabelecimento de um caminho dedicado entre as estaes. Ao invs disso, se uma estao deseja transmitir uma mensagem (uma unidade lgica de informao), ela adiciona o endereo de destino a essa mensagem que ser ento transmitida pela rede de n em n. Em cada n, a mensagem inteira recebida e o prximo caminho da rota determinado com base no endereo contido na mensagem. Note que esse caminho pode se encontrar ocupado pela transmisso de uma outra mensagem e, ainda, outras mensagens j podem estar esperando para serem transmitidas por esse caminho. Nesse caso, a mensagem espera numa fila at que chegue a sua vez de ser transmitida e o caminho esteja liberado, quando ento a transmisso se inicia. Assim, uma mensagem caminha de n em n pela rede utilizando apenas um canal por vez, sendo armazenada e retransmitida em cada n (processo conhecido como store-and-forward), como ilustrado na Figura abaixo.
Cabealho Mensagem T Tempo de espera na fila + tempo de escolha da rota

Mensagem

Mensagem
Mensagem

3.7.3 Comutao de Pacotes


A comutao de pacotes semelhante comutao de mensagens. A principal diferena est no fato de que o tamanho da unidade de dados transmitida na comunicao de pacotes limitado. Mensagens com tamanho acima de um limite devem ser quebradas em unidades menores denominadas pacotes. Pacotes de uma mesma mensagem podem estar em transmisso simultaneamente pela rede em diferentes enlaces, o que reduz o atraso de transmisso total de uma mensagem. Alm disso, redes com tamanho de pacotes requerem ns de comutao com menor capacidade de armazenamento e os procedimentos de recuperao de erros para pacotes so mais eficientes do que para mensagens. A tcnica de comutao de pacotes tambm uma tcnica store-and-forward, dado que pacotes caminham de n em n pela rede, sendo armazenados e retransmitidos sucessivamente. Em cada n, um pacote inteiro recebido e o prximo caminho da rota escolhido. Logo, vemos que cada pacote deve conter a informao de seu destino (endereo de destino) de forma a possibilitar o roteamento correto. A figura abaixo ilustra um exemplo onde todos os pacotes de uma mensagem seguem por uma mesma rota at o destino.

29

Redes de Computadores
Cabealho 1 Dados (pacote) 2 T 3 2 1 1 Transmisso dos pacotes

Aluzio Rocha

3.8 Tcnicas de Deteco de Erros de Transmisso


J falamos de vrios fenmenos que podem causar erros de transmisso, como os rudos eltricos. Na impossibilidade de eliminar totalmente esses fenmenos, sistemas de comunicao devem ser projetados de forma a possibilitar a recuperao da informao perdida. O primeiro passo para qualquer esquema de tratamento de erros a sua deteco. O segundo passo seria o procedimento para a recuperao dos dados. Nesta seo abordaremos apenas as tcnicas para a deteco de erros. Todos os mtodos de deteco de erros so baseados na insero de bits extras na informao transmitida. Esses bits consistem em informao redundante, isto , que pode ser obtida a partir da informao original. Esses bits so computados pelo transmissor atravs de algum algoritmo que tem como entrada os bits originais a serem transmitidos. Aps computar esses bits, o transmissor os acrescenta aos bits de informao propriamente dita, para ento prosseguir com a transmisso do quadro. Quando o quadro recebido, o receptor, conhecendo o algoritmo utilizado pelo transmissor, pode recomputar os bits de redundncia e compara-los com os respectivos bits recebidos no quadro. Se eles forem diferentes, detectou-se a presena de um erro.

3.8.1 Paridade
A forma mais simples de redundncia para deteco de erros consiste na insero de um bit de paridade ao final de cada caractere de um quadro. O valor desse bit definindo contando todos os bits do caractere, e atribuindo-o a um (1) se esta contagem for par (paridade par) ou se a contagem for mpar (paridade mpar). Tipicamente, em transmisso assncrona, costuma-se a utilizar paridade par. Se o transmissor desejar, por exemplo, transmitir o caracter 1110001, utilizando paridade mpar, ele acrescentar um bit 1 ao caracter, de forma que a seqncia resultante ter um nmero mpar de bits 1 (no caso, igual a 5): 11100011. O receptor, examinando o caractere recebido, dever sempre encontrar um nmero de bits 1 mpar, caso em que assumir que a transmisso foi efetuada com sucesso. Caso contrrio, houve algum erro durante a transmisso que ocasionou a inverso de um ou mais bits. Note que, caso um nmero par de bits tenha sido invertido, o receptor no ser capaz de perceber a existncia de erro, pois a paridade ainda estar correta.

30

Aluzio Rocha

Redes de Computadores

3.8.2 Checksum
Neste esquema, o remetente trata os dados como uma seqncia de inteiros binrios e computa sua soma. Os dados no so restritos a valores inteiros podem conter caracteres, nmeros em ponto flutuante ou uma imagem. O sistema de rede trata os dados meramente como uma seqncia de inteiros com o propsito de calcular um checksum. Por exemplo, a figura abaixo ilustra o clculo de um checksum de 16 bits para uma pequena string de texto. Para calcular um checksum, o remetente trata cada par de caracteres como um inteiro de 16 bits e faz a soma. Se a soma cresce mais do que 16 bits, os bits de transporte (carry bits) so adicionados soma final.

Os checksums tm vantagens e desvantagens. As vantagens principais derivam do tamanho e da facilidade de computao. A desvantagem principal no detectar todos os erros comuns. Por exemplo, a soma pode dar o resultado esperado mesmo quando h uma troca de bits. Como no h qualquer referncia posio dos bits no quadro, os bits podem ser arranjados de alguma forma que a soma pode dar o valor original calculado pelo transmissor. Entretanto, a probabilidade disto acontecer pequena.

3.8.3 CRC
Nesse esquema, um quadro de k bits, representado por um polinmio em X, de ordem k 1, onde o coeficiente do termo Xi dado pelo (i + 1)-simo bit da seqncia de k bits. Assim, por exemplo, o quadro 10110001 seria representado pelo polinmio X7 + X5 + X4 + 1. No transmissor o polinmio de ordem k 1 dividido, em aritmtica mdulo 2, por um polinmio gerador de ordem n, tendo como resultado um quociente e um resto de ordem n 1. O transmissor gera em sua sada os k bits originais, seguidos dos n bits correspondentes ao polinmio obtido como resto da diviso (chamado de Frame Check Sequence FCS). No receptor, um processo anlogo realizado. De posse dos k primeiros bits recebidos, o receptor realiza a diviso do polinmio correspondente, de ordem k 1, pelo mesmo polinmio gerador usado no transmissor. O resto da diviso comparado com os n ltimos bits recebidos no quadro. Se os bits forem iguais, o receptor assume que recebeu os dados sem erros. Caso algum bit seja diferente, um erro detectado.

31

Redes de Computadores

Aluzio Rocha

4 Arquitetura de Redes de Computadores


Este captulo examina a estrutura de software usado com sistemas de rede. O captulo explica por que o hardware sozinho no resolve todos os problemas de comunicao e mostra por que tambm necessrio software de protocolo. O captulo discute os problemas que o software de protocolo deve tratar e as tcnicas usadas para resolv-los. Mais importante, neste captulo, a descrio do conceito de diviso em camadas que fornece uma base conceitual para se entender como um conjunto de completo de protocolos trabalha em conjunto com o hardware para fornecer um sistema de comunicao poderoso.

4.1 Por que Protocolos so necessrios


Todas as partes envolvidas em uma comunicao devem concordar com um conjunto de regras a ser usado quando esto trocando mensagens (por exemplo, o idioma a ser usado e as regras para quando as mensagens podem ser enviadas). Os diplomatas chamam tal acordo de protocolo. O termo aplicado igualmente para comunicao entre computadores: um conjunto de regras que especifica o formato das mensagens, e as aes apropriadas exigidas para cada mensagem conhecido como um protocolo de rede ou um protocolo de comunicao entre computadores. O software que implementa tais regras chamado de software de protocolo.

4.2 Conjuntos de Protocolos


Em vez de terem um protocolo nico e gigante que especifica detalhes completos para todas as formas possveis de comunicao, os projetistas escolheram dividir o problema de comunicao em subpartes e projetar um protocolo separado para cada uma deles. Isto torna o protocolo muito mais fcil de se projetar, analisar, implementar e testar. A diviso em protocolos separados deve ser cuidadosamente escolhida para assegurar que o sistema de comunicao resultante seja eficiente e efetivo. Para evitar a duplicao de esforo, cada protocolo deve tratar de uma parte do problema de comunicao no tratada por outros protocolos. Como algum pode garantir que os protocolos funcionaro bem juntos? A resposta reside em um plano de projeto global: em vez de desenvolver cada protocolo isoladamente, os protocolos so projetados e desenvolvidos em conjuntos completos e cooperativos chamados simplesmente de conjuntos ou famlias. Cada protocolo em um conjunto resolve uma parte do problema de comunicao; juntos, eles resolvem o problema da comunicao por inteiro.

4.3 Um plano para Projeto de Protocolo


Foram desenvolvidas varias ferramentas para ajudar os projetistas de protocolos a entender as subpartes do problema de comunicao e planejar um conjunto de protocolos inteiro. Uma das ferramentas mais importantes chamada de modelo em camadas (layering model). Essencialmente, o modelo em camadas descreve uma maneira de dividir o problema de comunicao em subpartes, denominadas camadas. Um conjunto de protocolos pode ser projetado especificando-se um protocolo que corresponde a cada camada. Por exemplo, anteriormente na histria das redes a Organizao Internacional para Padronizao (International Organization for Standardization) ISO definiu um Modelo de Referncia de 32

Aluzio Rocha

Redes de Computadores

7 Camadas. A figura abaixo ilustra o modelo de camadas ISO e mostra que cada camada numerada.

4.4 As Sete Camadas


Embora as idias sobre o projeto de protocolos tenham mudado nos vinte anos desde que o modelo ISO foi desenvolvido e embora muitos protocolos modernos no se encaixem no velho modelo, grande parte da terminologia ISO ainda persiste. Em particular, quando os profissionais de rede se referem Camada i, eles normalmente se referem i-sima camada do ISO. O modelo ISO popular porque fornece uma explicao simples das relaes entre o hardware complexo e os componentes de protocolo de uma rede. No modelo ISO, a mais baixa camada corresponde ao hardware, e as camadas sucessivas correspondem ao firmware ou software que usam o hardware. Esta seo resume o propsito de cada camada. Camada 1: Fsica A camada 1 corresponde ao hardware de rede bsico. Por exemplo, a especificao de RS-232 das portas serias dos microcomputadores pertence camada 1. Camada 2: Enlace de Dados Os protocolos da camada 2 especificam como organizar os dados em quadros e como transmiti-los atravs de uma rede. Por exemplo, as discusses sobre formato de quadros e computao de checksum so classificadas como Camada 2. Camada 3: Rede Os protocolos da Camada 3 especificam como so atribudos endereos e como so encaminhados pacotes de uma ponta da rede para outra. Camada 4: Transporte Os protocolos da Camada 4, que especificam como tratar dos detalhes de transferncia confivel, esto entre os protocolos mais complexos. Camada 5: Sesso Os protocolos da Camada 5 especificam como estabelecer uma sesso de comunicao com um sistema remoto (por exemplo, como fazer um login em um computador remoto de 33

Redes de Computadores

Aluzio Rocha

tempo compartilhado). As especificaes para detalhes de segurana como autenticao usando senhas pertencem Camada 5. Camada 6: Apresentao Os protocolos da Camada 6 especificam como representar dados. Tais protocolos so necessrios porque marcas diferentes de computadores usam representaes internas diferentes para inteiros e caracteres. Deste modo, os protocolos da Camada 6 so necessrios para traduzir da representao em um computador para a representao em outro. Camada 7: Aplicao Cada protocolo da Camada 7 especifica como um aplicativo em particular usa uma rede. Por exemplo, a especificao para um aplicativo que transfere arquivos de um computador para outro pertence Camada 7.

4.5 Pilhas: Diviso de Software em Camadas


Quando so projetados protocolos de acordo com um modelo de camadas, o software de protocolo resultante segue a organizao em camadas. O software de protocolo em cada computador dividido em mdulos, com um mdulo correspondendo a cada camada. Mais importante que a diviso em camadas determina as interaes entre os mdulos: em teoria, quando o software de protocolo envia ou recebe dados, cada modulo se comunica somente com um mdulo correspondente da camada imediatamente superior ou inferior. Deste modo, os dados que esto sendo enviados passam para baixo atravs de cada camada, e os dados em recebimento passam para cima atravs de cada camada. A figura abaixo ilustra o conceito.

Como mostra a figura, cada computador contm software para um conjunto inteiro de protocolos. Os vendedores usam o termo pilha (stack) para se referir a tal software porque o modelo em camadas usado na construo do software freqentemente ilustrado com um conjunto de retngulos representando uma pilha. 34

Aluzio Rocha

Redes de Computadores

Vrias pilhas esto comercialmente disponveis. A tabela abaixo lista seis pilhas de protocolos que so populares. Vendedor Novell Corporation Banyan System Corporation Apple Computer Corporation Digital Equipment Corporation IBM (muitos vendedores) Pilha Netware VINES Apple Talk DECNET SNA TCP/IP

4.6 Como o Software em Camadas Funciona


Foi dito que cada camada de software de protocolo resolve uma parte do problema de comunicao. Para fazer isso, o software em uma determinada camada no computador remetente acrescenta informaes aos dados que esto sendo enviados, e o software na mesma camada no computador receptor usa as informaes adicionais para processar os dados recebidos. Por exemplo, se dois computadores concordarem em um formato de quadro que inclui um checksum, o software na camada de Enlace de Dados nas duas mquinas executam a computao do checksum. Na Figura anterior, sempre que um quadro de partida chega no software de Link de Dados no computador 1, o software computa um checksum antes de enviar o quadro atravs da rede. Sempre que um quadro entrante chega no software de Enlace de Dados no computador 2, o software verifica e remove o checksum antes de passar o quadro camada de Rede.

4.7 Mltiplos Cabealhos Aninhados


Normalmente, cada camada coloca informaes adicionais em um cabealho antes de enviar dados a uma camada inferior. Deste modo, um quadro viajando atravs de uma rede contm uma serie de cabealhos como mostra a Figura abaixo.

Como mostra a figura, no modelo de camadas ISO, o cabealho para o protocolo de enlace de dados aparece primeiro, pois a Camada 1 no acrescenta um cabealho da mesma forma que nas outras camadas.

35

Redes de Computadores

Aluzio Rocha

5 Ligao Inter-redes
Os captulos anteriores descrevem a ligao em redes bsicas, incluindo os componentes de hardware usados em redes LAN e WAN como tambm conceitos gerais, tais como endereamento e roteamento. Este captulo comea a examinar outra idia fundamental em comunicao entre computadores uma tecnologia de ligao inter-redes que pode ser usada para conectar mltiplas redes fsicas em um grande e uniforme sistema de comunicao.

5.1 Motivao para Ligao Inter-redes


Cada tecnologia de rede projetada para satisfazer um conjunto especfico de restries. Por exemplo, as tecnologias de LAN so projetadas para fornecer comunicao de alta velocidade atravs de pequenas distncias, enquanto que as tecnologias de WAN so projetadas para fornecer comunicao atravs de reas geograficamente distantes. Conseqentemente, no h uma tecnologia de rede que seja a melhor para todas as necessidades. Uma organizao grande com requisitos de rede diversos precisa de mltiplas redes fsicas. Mais importante, se a organizao escolhe o tipo de rede que o melhor para cada tarefa, a organizao ter vrios tipos de redes.

5.2 Ligao Inter-redes


Apesar das incompatibilidades entre tecnologias de rede, os pesquisadores inventaram um esquema que fornece servio universal entre redes heterogneas. O esquema, chamado ligao inter-redes (internetworking), utiliza hardware e software. Os sistemas de hardware adicionais so usados para interconectar um conjunto de redes fsicas. O software em todos os computadores acoplados, ento, fornece servio universal. O sistema que resulta das redes fsicas conectadas conhecido como uma inter-rede (internetworking).

5.3 Arquitetura de Inter-rede


O componente bsico de hardware usado para interconectar redes heterogneas um roteador. Fisicamente, os roteadores se assemelham a bridges cada roteador um computador de propsito especfico dedicado tarefa de interconectar redes. Como uma bridge, um roteador tem um processador e memria convencional, como tambm uma interface de E/S separada para cada rede que conecta. A rede trata a conexo com um roteador da mesma forma que uma conexo com qualquer outro computador.

Uma inter-rede formada usando trs roteadores para interconectar quatro redes fsicas. Cada rede pode ser uma LAN ou uma WAN.

Embora a figura mostre cada roteador com exatamente duas conexes, os roteadores comerciais podem conectar mais de duas redes. Deste modo, um nico roteador poderia 36

Aluzio Rocha

Redes de Computadores

conectar todos as quatro redes em nosso exemplo. Porm, uma organizao raramente usa um nico roteador para conectar todas as suas redes. Existem duas razes: Como a CPU e a memria em um roteador so usadas para processar cada pacote, o processador em um roteador insuficiente para tratar do trfego que passa entre um nmero arbitrrio de redes. Redundncia melhora a confiabilidade da inter-rede. O trfego pode seguir caminhos alternativos quando uma rede ou roteador falha.

5.4 Uma Rede Virtual


Dizemos que uma inter-rede um sistema de rede virtual porque o sistema de comunicao uma abstrao. Isto , embora uma combinao de hardware e software fornea a iluso de um sistema de rede uniforme, tal rede no existe. A figura abaixo mostra o conceito de rede virtual como tambm uma estrutura fsica correspondente.
O conceito de inter-rede.

(a) A iluso de uma nica rede que o software TCP/IP fornece para usurios e aplicativos, e

(b) a estrutura fsica subjacente que liga um computador a uma rede fsica, e os roteadores interconectam as redes.

37

Redes de Computadores

Aluzio Rocha

5.5 Protocolos para Ligao Inter-redes


Embora muitos protocolos tm sido adaptados para uso em uma inter-rede, um sute distingue-se como o mais extensamente usado para a ligao inter-redes. O sute formalmente conhecido como Os Protocolos de Internet TCP/IP; a maioria dos profissionais de redes se referem a eles simplesmente como TCP/IP. O TCP/IP foi o primeiro conjunto de protocolos desenvolvido para o uso em uma inter-rede. De fato, os pesquisadores que inventaram o TCP/IP desenvolveram tambm a arquitetura de inter-rede descrita neste captulo. O trabalho com TCP/IP comeou nos anos 70, aproximadamente ao mesmo tempo em que as Redes Locais estavam sendo desenvolvidas. O exrcito dos EUA fundamentou boa parte da pesquisa em TCP/IP e ligao inter-redes atravs da Advance Research Projects Agency (ARPA). O exrcito estava entra as primeiras organizaes a ter mltiplas redes fsicas. Pela metade dos anos 80, a National Science Foundation e outras agncias do governo dos EUA estavam financiando o desenvolvimento do TCP/IP e uma grande inter-rede que seria usada para testar os protocolos.

5.6 Arquitetura da Internet TCP/IP


A arquitetura do TCP/IP baseia-se principalmente em um servio de transporte orientado conexo, fornecido pelo Transmission Control Protocol (TCP), e em um servio de rede no-orientado conexo (datagrama no confivel), fornecido pelo Internet Protocol (IP). Os padres da arquitetura Internet TCP/IP no so elaborados por rgos internacionais de padronizao, como a ISO ou o IEEE. O corpo tcnico que coordena o desenvolvimento dos protocolos dessa arquitetura um comit denominado IAB (Internet Activity Board). O IAB formado por pesquisadores seniores, tendo a maioria deles projetado e implementado os protocolos da Arquitetura Internet. O IAB, na realidade, produz poucos documentos. Qualquer pessoa pode projetar, documentar, implementar e testar um protocolo para ser usado na Internet. Para que um protocolo se torne um padro Internet necessrio documenta-lo atravs de uma RFC (Request for Comments). As RFCs podem ser obtidas por qualquer pessoa conectada Internet. Da anlise das RFCs surgem sugestes, e novas verses do protocolo podem ser elaboradas. Quando o protocolo se torna estvel, um dos membros do IAB prope ao comit que o protocolo se torne um padro. Uma RFC publicada indicando esse status e, se aps decorridos aproximadamente seis meses no houver nenhuma objeo, o IAB declara o protocolo como uma Internet Standard. Para interligar duas redes distintas necessrio conectar uma mquina a ambas as redes. Essa mquina fica responsvel pela tarefa de transferir mensagens de uma rede para a outra. Uma mquina que conecta duas ou mais redes denominada internet gateway ou internet router. Para ser capaz de rotear corretamente as mensagens, os gateways precisam conhecer a topologia da inter-rede, ou seja, precisam saber como as diversas redes esto interconectadas. J os usurios vem a inter-rede como uma rede virtual qual todas as mquinas esto conectadas, no importando a forma fsica de interconexo.

38

Aluzio Rocha

Redes de Computadores

A arquitetura Internet TCP/IP organizada em quatro camadas conceituais construdas sobre uma quinta camada que no faz parte do modelo, a camada intra-rede. A figura abaixo mostra as camadas de dados que passado de uma para outra.

No nvel de aplicao os usurios usam programas de aplicao para acessar os servios disponveis na inter-rede. As aplicaes interagem com o nvel de transporte para enviar e receber dados. As aplicaes podem usar o servio orientado conexo fornecido pelo TCP (servio de circuito virtual), ou o servio no-orientado conexo fornecido pelo User Datagram Protocol (UDP) que um servio de datagrama no confivel, como veremos nos captulos seguintes. Algumas aplicaes disponveis na Internet TCP/IP so: Simple Mail Transfer Protocol (SMTP), que oferece um servio store-andforward para mensagens que carregam correspondncias contendo textos; File Tranfer Protocol (FTP), que fornece o servio de transferncia de arquivos; TELNET, que fornece o servio de terminal virtual; Domain Name System (DNS) que oferece um servio de mapemanento de nomes em endereos de rede. A funo bsica do nvel de transporte permitir a comunicao fim-a-fim entre aplicaes. As funes do nvel de transporte na arquitetura Internet TCP/IP so semelhantes s do mesmo nvel do RM-OSI (Modelo de Referncia OSI da ISO). Se o protocolo utilizado for o TCP, os seguintes servios so fornecidos: controle de erro, controle de fluxo, seqenciao e multiplexao do acesso ao nvel inter-rede. O UDP um protocolo bem mais simples e o servio que ele fornece apenas a multiplexao/demultiplexao do acesso ao nvel inter-rede. O nvel inter-rede o responsvel pela transferncia de dados atravs da inter-rede desde a mquina origem at a mquina de destino. Esse nvel recebe pedidos do nvel de transporte para transmitir pacotes que, ao solicitar a transmisso, informa o endereo da 39

Redes de Computadores

Aluzio Rocha

mquina onde o pacote dever ser entregue. O pacote encapsulado em um datagrama IP, e o algoritmo de roteamento executado para determinar se o datagrama pode ser entregue diretamente, ou se deve ser repassado para um gateway. Com base no resultado da avaliao algoritmo de roteamento, o datagrama passado para a interface de rede apropriada para ento ser transmitido. O nvel inter-rede tambm processa pacotes recebidos das interfaces de rede.

5.7 Comparao entre as Arquiteturas OSI e Internet TCP/IP


Como pode ser observada na figura abaixo, a primeira diferena entre as arquiteturas OSI e Internet TCP/IP est no nmero de camadas. Enquanto na arquitetura OSI so definidas sete camadas, na arquitetura Internet TCP/IP so definidas cinco.
Aplicao Apresentao Sesso Transporte Rede
Interface de rede

Aplicao

Transporte Inter-rede

Enlace Fsico

Intra-rede

A arquitetura Internet TCP/IP foi desenvolvida com o objetivo de resolver um problema prtico: interligar redes com tecnologias distintas. Para tal foi desenvolvido um conjunto especfico de protocolos que resolveu o problema de forma bastante simples e satisfatria. Os nveis fsico, de enlace, e os aspectos do nvel de rede do RM-OSI, relativos transmisso de dados em uma nica rede, no so tratados pela arquitetura TCP/IP, que agrupa todos esses servios na camada intra-rede. A arquitetura TCP/IP se limita a definir uma interface entre o nvel intra-rede e o nvel inter-rede. Os servios do nvel de rede do RM-OSI relativos interconexo de redes distintas so implementados na arquitetura TCP/IP pelo protocolo IP. Em outras palavras, nessa arquitetura s existe uma opo de protocolo e servio para esta subcamada do nvel de rede: o protocolo IP, cujo servio datagrama no confivel. Esta inflexibilidade da arquitetura TCP/IP no nvel inter-rede uma das principais razes de seu processo. O fato de um sistema utilizar ou no o protocolo IP foi usado inclusive para distinguir os sistemas que esto na Internet dos que no esto. No nvel de transporte a arquitetura TCP/IP oferece duas opes: o TCP (que oferece um servio de circuito virtual) e o UDP (datagrama). Acima do nvel de transporte est a camada de aplicaes na arquitetura TCP/IP. Nessa arquitetura os servios dos nveis de sesso e apresentao OSI so implementados por cada aplicao de modo especfico. A abordagem da ISO definindo as camadas de sesso, apresentao, e elementos de servios genricos bsicos no nvel de aplicao mais razovel, no sentido em que permite uma maior reutilizao de esforos durante o desenvolvimento de aplicaes distribudas.

40

Aluzio Rocha

Redes de Computadores

6 Endereamento IP
O captulo anterior explica a arquitetura fsica de uma inter-rede em que roteadores interconectam redes fsicas. Este captulo comea uma descrio do software de protocolo que faz uma inter-rede parecer ser um sistema de comunicao nico integrado. O captulo introduz o esquema de endereamento usado pelo Protocolo de Internet (Internet Protocol, IP) e explica como o IP divide endereos em classes.

6.1 Endereos para a Inter-rede Virtual


O endereamento um componente crtico da abstrao de inter-rede. Para dar a aparncia de um sistema nico uniforme, todos os computadores devem usar um esquema de endereamento uniforme, e cada endereo deve ser nico. Infelizmente, no bastam endereos fsicos de rede, porque uma inter-rede pode incluir mltiplas tecnologias de rede, e cada tecnologia define seu prprio formato de endereo. Deste modo, os endereos usados por duas tecnologias podem ser incompatveis pois possuem tamanhos ou formatos diferentes. Para fornecer endereamento uniforme em uma inter-rede, o software de protocolo define um esquema de endereamento abstrato que atribui a cada host um endereo nico. Usurios, programas aplicativos e camadas mais altas de software de protocolo usam os endereos abstratos para se comunicar.

6.2 O Esquema de Endereamento IP


Na pilha de protocolos TCP/IP, o endereamento especificado pelo Protocolo de Internet (IP). O padro IP especifica que a cada host atribudo um nmero de 32 bits nico conhecido como endereo de Protocolo de Internet do host, que freqentemente abreviado como endereo IP, ou endereos de Internet. Cada pacote enviado atravs de uma inter-rede contm o endereo IP de 32 bits do remetente (origem) como tambm o receptor pretendido (destino). Deste modo, para transmitir informaes atravs de uma TCP/IP, um computador deve conhecer o endereo IP do computador remoto para o qual as informaes esto sendo enviadas.

6.3 A Hierarquia de Endereos IP


Conceitualmente, cada endereo IP de 32 bits dividido em duas partes: prefixo e sufixo; a hierarquia de dois nveis projetada para fazer uso eficiente de roteamento e alocao de faixas de endereos entre as diversas redes interconectadas. O prefixo do endereo identifica a rede fsica ao qual o computador est acoplado, enquanto o sufixo identifica um computador individual naquela rede. Isto , a cada rede fsica em uma inter-rede atribudo um valor nico conhecido como nmero de rede. O nmero de rede aparece como um prefixo no endereo de cada computador acoplado rede. Alm disso, a cada computador em uma determinada rede fsica atribudo um sufixo de endereo nico. A hierarquia de endereos IP garante duas propriedades importantes: A cada computador atribudo um endereo nico (isto , um nico endereo nunca atribudo a mais de um computador). 41

Redes de Computadores

Aluzio Rocha

Embora as designaes de nmeros de rede devam ser coordenadas globalmente, os sufixos podem ser atribudos localmente sem coordenao global.

6.4 Classes de Endereos IP


Uma vez que os projetistas do IP escolheram um tamanho para endereos IP e decidiram dividir cada endereo em duas partes, eles tiveram que determinar quantos bits colocar em cada parte. O prefixo precisa de bits suficientes para permitir que um nmero de rede nico seja atribudo a cada rede fsica em uma inter-rede. O sufixo precisa de bits suficientes para permitir que a cada computador acoplado a uma rede seja atribudo um sufixo nico. Escolher um prefixo grande acomoda muitas redes, mas limita o tamanho de cada rede; escolher um sufixo grande significa que cada rede pode conter muitos computadores, mas limita o nmero total de redes. Os primeiros quatro bits de um endereo determinam a classe a que o endereo pertence e especificam como o restante do endereo dividido em prefixo e sufixo. A figura abaixo mostra as cinco classes de endereo, os bits iniciais usados para identificar cada classe e a diviso em prefixo e sufixo.

As classes A, B e C so chamadas de classes primrias porque so usadas para endereos de hosts. A classe D usada para multicasting, que permite a entrega a um conjunto de computadores. Para usar IP multicasting, um conjunto de hosts deve concordar em compartilhar um endereo multicast. Uma vez que o grupo multicast foi estabelecido, uma cpia de qualquer pacote enviado para o endereo multicast ser entregue para cada host no conjunto.

6.5 Notao Decimal Pontilhada


Embora os endereos IP sejam nmeros de 32 bits, os usurios raramente entram ou lem os valores em binrios. Em vez disso, quando est interagindo com um usurio, o software usa uma notao que mais conveniente para as pessoas entenderem. Chamada de notao decimal pontilhada, a forma expressa cada seo de 8 bits de um nmero de 32 bits como um valor decimal e usa pontos para separar as sees. A figura abaixo mostra alguns exemplos de nmeros binrios e as formas decimais pontilhadas equivalentes.

42

Aluzio Rocha

Redes de Computadores

A notao decimal pontilhada trata cada octeto (conjunto de 8 bits ou 1 byte) como um inteiro binrio sem sinal. Como mostra o exemplo final na figura, o menor valor possvel, 0, acontece quando todos os bits de um octeto so zeros, e o maior valor possvel, 255, quando todos os bits do octeto so um. Deste modo, os endereos variam de 0.0.0.0 a 255.255.255.255.

6.6 Classes e Notao Decimal Pontilhada


A notao decimal pontilhada trabalha bem com endereos IP porque o IP usa limites de octeto para separar um endereo em prefixo e sufixo. Em um endereo classe A, os ltimos trs octetos correspondem a um sufixo de host. Semelhantemente, os endereos classe B tm dois octetos de sufixo de host, e os endereos de classe C tm um octeto. Infelizmente, como a notao decimal pontilhada no mostra os bits individuais de um endereo, a classe deve ser reconhecida a partir do valor decimal do primeiro octeto. A figura abaixo mostra o alcance decimal de valores para cada classe.

6.7 Diviso do Espao de Endereamento


Como mostra a figura abaixo, o nmero de bits alocados a um prefixo ou sufixo determina quantos nmeros nicos podem ser atribudos. Por exemplo, um prefixo de n bits permite 2n nmeros de rede nicos, enquanto um sufixo de n bits permite que 2n nmeros de hosts sejam atribudos em uma determinada rede.

43

Redes de Computadores

Aluzio Rocha

6.8 Um Exemplo de Endereamento


Um exemplo elucidar as idias e explicar como os endereos so atribudos na prtica. Considere uma organizao que escolhe formar uma inter-rede TCP/IP privada que consiste em quatro redes fsicas. A organizao deve comprar roteadores para interconectar as quatro redes e ento deve atribuir endereos IP. Para comear, a organizao escolhe um prefixo nico para cada rede. Como mostra a figura abaixo, o endereo IP atribudo a um host sempre comea com o prefixo que foi atribudo rede fsica do host. Os sufixos, que so atribudos pelo administrador de rede local, podem ser nmeros arbitrrios. Embora muitos administradores prefiram atribuir sufixos consecutivamente, o IP no exige que um administrador assim o faa.

6.9 Resoluo de Endereos


Os endereos de protocolo IP so abstraes fornecidas pelo software; o hardware de rede fsica no sabe como localizar um computador a partir de seu endereo de protocolo. O endereo de protocolo de um destino qualquer da rede deve ser traduzido para um endereo de hardware equivalente antes que um pacote possa ser enviado (fisicamente). A traduo de um endereo de protocolo de um computador para um endereo de hardware equivalente conhecida como resoluo de endereo, e diz-se que um endereo de protocolo resolvido para o endereo de hardware correto. A resoluo de endereo local a uma rede. Um computador pode resolver um endereo de outro computador somente se ambos os computadores estiverem acoplados mesma rede fsica.

6.9.1 Tcnicas de Resoluo de Endereos


Os algoritmos de resoluo de endereos podem ser agrupados em trs categorias bsicas: 44

Aluzio Rocha

Redes de Computadores

Pesquisa de Tabela (table lookup). As informaes ou mapeamentos so armazenados em uma tabela em memria, que o software procura quando precisa resolver um endereo. Computao de forma fechada (closed-form computation). O endereo de protocolo atribudo a um computador cuidadosamente escolhido de forma que o endereo de hardware do computador possa ser computado a partir do endereo de protocolo usando operaes bsicas booleanas e aritmticas. Troca de Mensagem (message exchange). Os computadores trocam mensagens atravs de uma rede para resolver um endereo. Um computador envia uma mensagem de broadcast que solicita um a amarrao de um endereo (isto , traduo), e outro computador envia uma resposta que contm as informaes solicitadas.

6.9.2 Protocolo de Resoluo de Endereo (ARP)


Para garantir que todos os computadores concordem no formato e significado exato de mensagens usadas para resolver endereos, o sute de protocolos TCP/IP inclui um Protocolo de Resoluo de Endereo (Address Resolution Protocol, ARP). O padro ARP utiliza Troca de Mensagens e Pesquisa de Tabela para a resoluo de endereos. O protocolo define dois tipos bsicos de mensagens: uma requisio e uma resposta. O protocolo especifica que uma mensagem de requisio ARP deve ser colocada em um quadro de hardware e difundido com broadcast para todos os computadores na rede. Cada computador recebe a requisio e examina o endereo IP. O computador que possui o IP procurado na requisio envia uma resposta diretamente ao computador que emitiu a requisio; todos os demais computadores descartam a requisio. A figura abaixo ilustra isto.

Sempre que uma resoluo feita por um computador, este armazenada a resoluo em uma estrutura de tabela em memria. Cada entrada na tabela contm um endereo de protocolo e o endereo de hardware equivalente, como mostrado na figura abaixo. Os endereos de hardware exemplificados na tabela so de uma rede Ethernet.

45

Redes de Computadores

Aluzio Rocha

6.9.3 Protocolo Reverso de Resoluo de Endereo


Alguns sistemas de computador so projetados para iniciar o sistema operacional a partir de um disco local e usar a rede para obter informaes de configurao de protocolo. O TCP/IP inclui o Reverse Address Resolution Protocol (RARP) que um computador pode usar para determinar seu prprio endereo IP a partir de um servidor de endereos. O computador ao iniciar envia um broadcast na rede contendo um RARP request. Este broadcast capturado pelo servidor de configurao IP que responde com um RARP reply contendo o endereo IP do computador. Alguns protocolos de aplicao foram desenvolvidos para utilizar tal recurso. Entre eles, temos o BOOTP e o DHCP (Dynamic Host Configuration Protocol). No DHCP, no s o endereo IP passado aos clientes, mas tambm qualquer outra informao necessria para o perfeito funcionamento dos protocolos TCP/IP.

6.10 Endereos IP Especiais


Alm de atribuir um endereo a cada computador, conveniente ter endereos que podem ser usados para denotar redes ou conjuntos de computadores. O IP define um conjunto de formas de endereo especial que reservado. Isto , endereos especiais nunca so atribudos a hosts.

6.10.1 Endereo de Rede


Uma das motivaes para definir formas de endereo especial pode ser vista na figura acima conveniente ter um endereo que pode ser usado para denotar o prefixo atribudo a uma determinada rede. O IP reserva um endereo de host zero (ou seja, todos os bits do sufixo so zeros) e o usa para denotar uma rede. Deste modo, o endereo 128.211.0.0 denota a rede qual foi atribudo a prefixo de classe B 128.211. O endereo de rede se refere rede propriamente e no aos computadores acoplados quela rede. Deste modo, o endereo de rede nunca deveria aparecer em um pacote.

6.10.2 Endereo de Broadcast


s vezes, conveniente enviar uma cpia de um pacote para todos os hosts em uma rede fsica. Para facilitar o broadcasting, o IP define um endereo de broadcast dirigido para 46

Aluzio Rocha

Redes de Computadores

cada rede fsica. Um pacote contendo como destino um endereo de broadcast entregue a todos os hosts na rede. O endereo de broadcast dirigido formado colocando-se 1 em todos os bits de sufixo do endereo. Assim, para o nosso exemplo, o endereo de broadcast dirigido rede 128.211.0.0 seria 128.211.255.255.

6.10.3 Endereo de Broadcast Limitado


O termo broadcast limitado se refere a um broadcast em uma rede fsica local, independente de seu endereo de rede. O broadcast limitado usado durante a partida do sistema por um computador que ainda no sabe o seu endereo de rede. O IP reserva o endereo que consiste em todos os bits em 1 para se referir ao broadcast limitado. Assim, este endereo 255.255.255.255.

6.10.4 Endereo de Loopback


O IP define um endereo de loopback usado para testar aplicativos de rede. Este endereo utiliza o prefixo de rede classe A 127 para fazer um loopback. Um loopback serve para testar a comunicao entre as camadas na pilha de protocolos: o pacote sai da camada mais superior, desce at a camada IP e sobe novamente at a camada de aplicao. Por conveno, os projetistas utilizam o endereo 127.0.0.1 para o endereo de loopback. Durante o teste do loopback nenhum pacote deixa um computador o software IP encaminha pacotes de um programa aplicativo a outro. Conseqentemente, o endereo de loopback nunca aparece em um pacote que viaja atravs de uma rede. A figura abaixo resume as formas de endereo IP especiais.

6.11 Endereos IP Privados


Uma Intranet uma estrutura de inter-rede em uma organizao privada que utiliza toda a famlia de protocolos TCP/IP para implementar a comunicao entre os seus computadores. Freqentemente, estas redes privadas no esto interligadas Internet, e assim no h motivo para se requisitar ao rgo central da Internet, responsvel pela distribuio de endereos, faixas nicas de endereos IPs a serem utilizadas na organizao. Por conveno, o Comit Gestor da Internet reservou trs faixas de endereos para tal fim. As faixas de endereos privados so: 10.0.0.0 a 10.255.255.255 172.16.0.0 a 172.16.255.255 192.168.0.0 a 192.168.255.255 47

Redes de Computadores

Aluzio Rocha

Pacotes contendo qualquer um destes endereos como destino no podem trafegar na Internet, eles so descartados pelos roteadores. Uma Intranet que utilize estas faixas de endereos e que queira se interligar com a Internet dever implementar algum esquema de troca de endereos privado/pblico para que seus pacotes trafegem da Intranet para a Internet e vice-versa. Este esquema conhecido como Mascaramento IP (IP Masquerading).

6.12 Roteadores e o Princpio de Endereamento IP


Um endereo IP no identifica um computador especfico. Em vez disso, cada endereo IP identifica uma conexo entre um computador e uma rede. Um computador com mltiplas conexes de rede (por exemplo, um roteador) deve ser designado com um endereo IP para cada conexo. A figura abaixo ilustra a idia com um exemplo que mostra endereos IP atribudos a dois roteadores que conectam trs redes.

48

Aluzio Rocha

Redes de Computadores

7 Roteamento IP
Os captulos anteriores descrevem a arquitetura de uma inter-rede, endereamento da Internet e o software de resoluo de endereos usado para amarrar endereos da Internet a endereos de hardware. Este captulo discute o servio de comunicao fundamental em uma inter-rede. Descreve o formato de pacotes que so enviados atravs de uma inter-rede e discute como os roteadores processam e encaminham tais pacotes.

7.1 O Datagrama IP
Os protocolos TCP/I usam o nome datagrama IP para se referir a um pacote de interrede. Curiosamente, um datagrama IP tem o mesmo formato geral de um quadro de hardware: o datagrama comea com um cabealho seguido de uma rea de dados. A figura abaixo mostra o formato de um datagrama.

A quantidade de dados transportados em um datagrama no fixa. O remetente escolhe uma quantidade de dados que apropriada para um propsito particular. Por exemplo, um aplicativo que transmite o pressionar de teclas atravs de uma rede pode colocar cada tecla pressionada em um datagrama separado, enquanto que um aplicativo que transfere arquivos grandes pode enviar datagrama grandes. A questo : o tamanho de um datagrama determinado pelo aplicativo que envia dados. Permitir o tamanho varivel de datagramas torna o IP adaptvel para uma variedade de aplicativos. Na verso corrente do IP (verso 4), um datagrama pode conter at mesmo um nico octeto de dados e no mximo octetos de 64K, incluindo o cabealho.

7.2 Roteamento
Roteamento inter-redes a principal funo do protocolo IP. O protocolo assume que os hosts sabem enviar datagramas para qualquer host conectado mesma rede. A funo de roteamento torna-se mais complexa quando uma entidade deve transmitir um datagrama cujo destinatrio no est ligado mesma rede que ela. Neste caso, a funo de roteamento transferida para os gateways (roteadores) entre a rede de origem e a rede de destino. Cada roteador ao longo do caminho recebe o datagrama, extrai o endereo de destino do cabealho e usa o endereo de destino para determinar um prximo hop (salto de uma rede para outra) para o qual o datagrama deve ser enviado, que pode ser o destino final ou outro roteador. Para fazer a seleo eficiente de um prximo hop e para possibilitar que as pessoas entendam a computao, cada roteador IP mantm informaes em uma tabela de roteamento. Uma tabela de roteamento deve ser iniciada durante o boot do roteador e deve ser atualizada se houver mudanas na topologia; caso contrrio o hardware falha. 49

Redes de Computadores

Aluzio Rocha

Conceitualmente, a tabela de roteamento contm um conjunto de entradas, no qual cada uma especifica um destino e o prximo hop a ser usado para alcanar aquele destino. A figura abaixo mostra o contedo de uma tabela de roteamento no roteador do centro (R2) que so usados para interconectar quatro redes em uma pequena inter-rede.

Como mostra a figura, o roteador R2 se conecta diretamente s redes indicadas por Rede 2 e Rede 3. Portanto, o R2 pode entregar um datagrama a qualquer destino acoplado quelas redes. Quando um datagrama for destinado rede 4, R2 envia o datagrama para o roteador R3. Cada destino listado em uma tabela de roteamento uma rede, no um host individual. A distino importante porque uma inter-rede pode conter acima de 1000 vezes mais hosts do que as redes. Deste modo, usar redes como destinos mantm as tabelas de roteamento pequenas.

7.3 Entradas da Tabela de Roteamento e o Campo de Mscara


Na prtica, uma tabela de roteamento IP ligeiramente mais complexa do que mostra a Figura acima. O campo Destino em cada entra contm o prefixo de rede da rede destino. Segundo, um campo adicional em cada entrada contm uma mscara de endereo que especifica quais bits do destino correspondem ao prefixo de rede. Terceiro, usado um endereo IP quando o campo Prximo Hop representar um roteador. A figura abaixo mostra como a tabela de roteamento da figura acima poderia aparecer.

50

Aluzio Rocha

Redes de Computadores

As duas primeiras redes na figura acima tm um prefixo classe A cada, a terceira rede tem um prefixo classe B e a quarta tem um prefixo classe C. A cada roteador foram atribudos dois endereos IP, um para cada interface. Por exemplo, o roteador que conecta a rede 30.0.0.0 rede 40.0.0.0 foram atribudos os endereos 30.0.0.7 e 40.0.0.7. Uma mscara de bits torna eficiente a extrao do prefixo o software computa o E (and) booleano da mscara com o endereo de destino do datagrama. Deste modo, a computao para examinar a i-sima entrada na tabela pode ser expressa como: Se ( ( Mscara[i] AND End_Destino ) = Destino[i] ) ento Encaminha para o prximo Hop[i]; Como exemplo, considere um datagrama destinado ao endereo 192.4.10.3, e assuma que o datagrama chega a um roteador que contm a tabela de roteamento que ilustra a figura acima. Assuma tambm que o software procura entradas na tabela em ordem. A primeira entrada falha porque 255.0.0.0 AND 192.4.10.3 no igual a 30.0.0.0. Depois de rejeitar a segunda e a terceira entradas na tabela, o software de roteamento escolher o prximo Hop 128.1.0.9 porque 255.255.255.0 AND 192.4.10.3 = 192.4.10.0

7.4 Sub-Redes
A tcnica de mscara de bits que til para se definir o encaminhamento de um datagrama, alm de simplificar o esquema de roteamento, flexibiliza a distribuio de endereos nas redes. Isto , eu posso definir mscaras que permitam, por exemplo, uma rede classe C ser subdivida em duas ou mais redes, chamadas de sub-redes. O esquema de sub-rede consiste em incluir no prefixo alguns bits do sufixo dos endereos. Assim, diminui-se o nmero mximo de hosts por rede mas aumenta-se o nmero de redes para o mesmo prefixo. Estes bits que so tirados do sufixo (definidos a partir da diviso de classes de endereos IP) e so passados para o prefixo a fim de aumentar o nmero de sub-redes chamado de bits da sub-rede. O Campus da Universidade Estadual de Campinas (Unicamp) um exemplo de tal esquema de sub-redes. A Unicamp possui uma classe B de endereos 143.106.0.0 e, portanto, sua mscara 255.255.0.0. Internamente, a Rede da Unicamp consiste de vrias pequenas redes espalhadas pelo Campus, tais como as LANs dos seus vrios departamentos. Assim, se a Unicamp utilizar a mscara 255.255.255.0 a faixa de endereos IP quebrado em 254 sub-redes de 254 mquinas cada, ao invs de 2552 mquinas para uma nica rede. Vale salientar que o esquema de se criar sub-redes apenas uma diviso interna da rede. Sub-redes so geradas pelo administradores de rede para refletir limites geogrficos e/ou administrativos nas LANs da organizao. Para o mundo exterior, esta diviso no precisa ser conhecida. No nosso exemplo da Unicamp, para todos ns que no fazemos parte da Rede da Unicamp, a nica informao que temos que os endereo da Rede da Unicamp 143.106.0.0 com mscara 255.255.0.0, embora, internamente, todos os roteadores da Unicamp trabalham com a mscara 255.255.255.0. Este esquema muito til para se economizar endereos. 51

Redes de Computadores

Aluzio Rocha

7.5 Rota Padro


Freqentemente, as redes s possuem uma rota de sada para uma outra rede. Isto , s existe um gateway na rede. Nestes casos, interessante definir uma rota padro nas tabelas de roteamento que ser utilizada sempre que nenhuma outra rota casa com o endereo de destino. Por exemplo, considere a seguinte topologia:

Firewall

Roteador A

Roteador B

Roteador C

Roteador D

LAN A

LAN B

LAN C

LAN D

Em cada roteador existir uma rota para cada LAN apontando para o seu roteador especfico (Roteador A para LAN A, Roteador B para LAN B e assim por diante), mais a rota padro apontando para Roteador 1. A rota padro utilizada no s pelos roteadores, mas tambm por qualquer host de uma inter redes (como um host de internet). Quando definimos um gateway em um host, estamos definindo a rota padro que o host ir utilizar quando quiser passar um pacote para um outro host que no est na sua rede. Em termos de endereo e mscara, a entrada na tabela de roteamento para a rota padro tem a seguinte forma: Rede 0.0.0.0 Mscara 0.0.0.0 Roteador IP DO SERVIDOR

52

Aluzio Rocha

Redes de Computadores

7.6 Exerccios
1. Defina a classe, o endereo de sub-rede e o de broadcast dos seguintes endereos:

Endereo 201.222.10.60 15.16.193.6 128.16.32.13 153.50.6.27

Mscara 255.255.255.248 255.255.248.0 255.255.255.252 255.255.255.128

Classe

Sub-Rede

Broadcast

2. Com base na topologia a seguir de uma organizao que possui a classe B 143.200.0.0 para a sua intranet, defina o endereo de rede para cada LAN. Com base em sua definio, informe a tabela de roteamento dos quatro roteadores e da mquina Pedro.

INTERNET

Route A

Route D

LAN

LAN

LAN

Maria

Joo

Pedro

53

Redes de Computadores

Aluzio Rocha

8 Protocolos de Transporte
Os endereos definidos pelo protocolo IP so eficientes em rotular os milhes de computadores ligados Internet de maneira que os dados cheguem at o endereo desejado. Entretanto, o protocolo IP no dispe de meios para garantir a entrega dos dados ntegros e no tempo certo. Para isto, conta com o protocolo TCP, formando a dupla que um dos pilares onde se assenta o funcionamento da Internet.

8.1 Introduo
Conforme j vimos anteriormente, o protocolo IP se encarrega de dirigir os pacotes de dados at seu destino. Entretanto, nada pode fazer para garantir a entrega dos dados. Por exemplo, vamos imaginar um determinado pacote de dados que chegou ao destino. Os pacotes IP carregam consigo nmeros de checagem de integridade (checksum). O receptor verifica os dados, e se o checksum no for igual, simplesmente descarta as informaes. Assim, o protocolo IP necessita de algo que cuide de fazer com que os dados que no chegam ao destino ou que cheguem deteriorados sejam retransmitidos, at que a informao percorra com sucesso o caminho entre o emissor e o transmissor. Esta uma tarefa para os protocolos da camada de transporte. Na famlia TCP/IP, existem dois protocolos de transporte, o TCP e o UDP. O protocolo TCP oferece um servio de entrega de pacotes do tipo orientado conexo e confivel. J o UDP oferece o mesmo servio de entrega de pacotes s que no orientado conexo (no confivel).

8.2 Caractersticas do TCP


Do ponto de vista de um programa aplicativo, o servio oferecido pelo TCP tem sete caractersticas importantes: Orientado conexo. O TCP fornece servio orientado conexo em que um aplicativo deve primeiro solicitar uma conexo com um destino, e ento usar a conexo para transmitir dados. Comunicao ponto a ponto. Cada conexo TCP tem exatamente duas extremidades. Confiabilidade completa. O TCP garante que os dados enviados atravs de uma conexo sero entregues exatamente como enviados, sem dados faltando ou fora de ordem. Comunicao Full Duplex. Uma conexo TCP permite que os dados fluam em uma ou outra direo e permite que um outro programa aplicativo envio dados a qualquer hora. O TCP pode armazenar nos buffers dados que partem e que chegam em ambas as direes, possibilitando que um aplicativo envie dados e ento continue uma computao enquanto os dados esto sendo transferidos. Interface de stream. Dizemos que o TCP fornece uma interface de stream em que um aplicativo envia uma seqncia contnua de octetos atravs de uma conexo. Isto , o TCP no fornece a noo de registros de dados. Partida de uma conexo confivel. O TCP exige que quando dois aplicativos criem uma conexo, ambos devem concordar com a nova conexo; os pacotes 54

Aluzio Rocha

Redes de Computadores

duplicados usados em conexes anteriores no parecero ser respostas vlidas ou de outra forma interferiro com a nova conexo. Desligamento de conexo graciosa (Graceful Connection Shutdown). Um programa aplicativo pode abrir uma conexo, enviar quantias arbitrrias de dados e ento requisitar o fechamento da conexo. O TCP garante a entrega confivel de todos os dados antes de fechar a conexo.

8.2.1 Servio Fim-a-Fim


O TCP chamado de um protocolo fim-a-fim pois fornece uma conexo diretamente de um aplicativo em um computador remoto. Os aplicativos podem solicitar que o TCP forme uma conexo, envie e receba dados, e feche a conexo. As conexes fornecidas pelo TCP so chamadas de conexes virtuais porque so obtidas via software. Realmente, o sistema de inter-rede subjacentes no fornece suporte de hardware ou software para conexes. Em vez disso, os mdulos de software TCP em duas mquinas trocam mensagens para obter a iluso de uma conexo. O TCP usa o IP para transportar mensagens. Cada mensagem TCP encapsulada em um datagrama IP e enviada atravs da inter-rede. Quando o datagrama chega ao host destino, o IP passa o contedo para o TCP. A figura abaixo ilustra a relao entre TCP e o IP.

8.2.2 Obtendo Confiabilidade


8.2.2.1 Seqenciamento de Pacotes Um sistema de rede com chaveamento por pacotes, que pode mudar as rotas destes, pode tambm entregar pacotes fora de ordem. Para resolver este problema, os protocolos de transporte usam seqenciamento. O lado remetente inclui um nmero de seqncia em cada pacote. O lado receptor armazena o numero de seqncia do ltimo pacote recebido em ordem assim como uma lista de pacotes adicionais que chegaram fora de ordem. Quando um pacote chega, o receptor examina o nmero de seqncia para determinar como o pacote deve ser tratado. Se o pacote o prximo esperado (ou seja, chegou em ordem), o software de protocolo entrega o pacote para a camada imediatamente superior e verifica sua lista para ver se podem ser entregues tambm pacotes adicionais. Se o pacote chegou fora de ordem, o software de protocolo acrescenta o pacote lista. Um hardware com mau funcionamento pode fazer com que os pacotes sejam duplicados. O seqenciamento resolve, tambm, o problema da duplicao de pacotes. O 55

Redes de Computadores

Aluzio Rocha

software receptor verifica se h duplicatas quando examina o nmero de seqncia de um pacote sendo recebido. Se a seqncia j foi entregue ou igual a um dos pacotes esperando na lista, o software descarta a nova cpia. 8.2.2.2 Retransmitindo pacotes perdidos A perda de pacotes um problema fundamental em redes de computadores porque erros de transmisso podem adulterar bits, tornando o quadro invlido. Quando um receptor detecta tais problemas, o receptor descarta o quadro. Para garantir a transferncia (isto , transferncia sem perda), o TCP usa confirmao positiva com retransmisso. Sempre que um quadro chega intacto, o TCP receptor devolve uma pequena mensagem que relata que a recepo foi bem-sucedida. A mensagem conhecida como confirmao (acknowledgment, ACK). O remetente tem que assegurar que cada pacote seja transmitido com sucesso. Sempre que o remetente envia um pacote, o software de protocolo do lado remetente comea um temporizador. Se uma confirmao chega antes do temporizador expirar, o protocolo cancela o temporizador. Se o temporizador expira antes de uma confirmao chegar, o software envia outra cpia do pacote e reinicia o temporizador. A retransmisso no pode ter sucesso se um defeito de hardware desconectou permanentemente a rede. Portanto, os protocolos que retransmitem mensagens usualmente limitam o nmero de retransmisses. Quando este limite alcanado, o protocolo pra de transmitir e declara que o destino inalcanvel. 8.2.2.3 Controle de Fluxo para Prevenir Atropelamento de Dados Os computadores no trabalham todos na mesma velocidade. O atropelamento de dados acontece quando um computador envia dados atravs de uma rede mais rapidamente do que o destino pode absorver. Conseqentemente, dados podem ser perdidos. Existem vrias tcnicas para tratar de atropelamento de dados. Coletivamente, as tcnicas so conhecidas como mecanismos de controle de fluxo (flow control mechanisms). A forma mais simples de controle de fluxo um sistema em que um remetente espera aps a transmisso de cada pacote. Quando o receptor estiver pronto para outro pacote, o receptor envia uma mensagem de controle, normalmente uma forma de acknowledgement. Embora os protocolos do tipo pra-e-vai (stop-and-go) previnem atropelamento, eles podem levar ao uso extremamente ineficiente da largura de banda da rede. Para obter taxas altas de throughput, os protocolos usam uma tcnica de controle de fluxo conhecida como janela deslizante (sliding window). O remetente e o receptor so programados para usar um tamanho de janela fixo, que a quantia mxima de dados que podem ser enviados antes de um acknowledgment chegar. Por exemplo, o remetente e o receptor poderiam concordar em um tamanho de janela de quatro pacotes. O remetente comea com os dados a serem enviados, extrai os dados para encher a primeira janela e transmite. O receptor deve ter espao de buffer pronto para receber a janela inteira. Quando um pacote chegar em seqncia, o receptor passa o pacote para o aplicativo receptor e transmite um acknowledgment para o remetente. Quando chega um acknowledgment, o remetente descarta a sua cpia do pacote cuja recepo foi confirmada e transmite o prximo pacote. A figura abaixo mostra porque o processo conhecido como uma janela deslizante. 56

Aluzio Rocha

Redes de Computadores

A janela deslizante pode aumentar drasticamente o throughput. Para entender por qu, considere a seqncia de transmisses com um esquema pra-e-vai e um esquema de janela deslizante. A Figura abaixo contm uma comparao considerando a transmisso de quatro pacotes.

57

Redes de Computadores

Aluzio Rocha

8.2.2.4 Three-Way Handshake Baseia-se na troca de trs mensagens. Os cientistas provaram que a troca de 3 mensagens necessria e suficiente para assegurar o acordo no ambguo apesar da perda de pacotes, duplicao e atraso. A figura abaixo ilustra o 3-way handshake usado para fechar uma conexo.

8.3 Caractersticas do UDP


O UDP (User Datagram Protocol) uma alternativa econmica ao TCP. O UDP oferece um servio de entrega de dados no orientado conexo. Isto , no h a necessidade de abertura de conexo para a entrega de pacotes de um ponto a outro. Alm disso, o UDP no utiliza tcnicas para deteco de erros na transmisso. Ele pressupe que o hardware de rede envolvido entre o transmissor e o receptor est livre de erros. Por no sobre-carregar o protocolo com tcnicas para deteco e correo de erros, o UDP acaba ficando ligeiramente mais rpido que o TCP. Principalmente, se o volume de dados que dever ser transmitido for pequeno, pois o custo de estabelecimento e controle da conexo acaba ficando mais alto do que simplesmente reenviar os dados. Portanto, o UDP indicado para servios de redes que no exigem a transferncia de um volume de dados grande. Um exemplo tpico deste tipo de comunicao, a notificao que os servidores de mensagens rpidas (instant messages), como ICQ e MS-Messenger, enviam para os clientes informando que um usurio est on-line ou off-line.

8.4 O Paradigma Cliente-Servidor


O paradigma de organizar um programa aplicativo para esperar passivamente que outro aplicativo inicie a comunicao distribuda que ele recebeu um nome: o paradigma de interao cliente-servidor. Os termos cliente e servidor se referem aos dois aplicativos envolvidos em uma comunicao. O aplicativo que comea ativamente o contato chamado de cliente, ao passo que o aplicativo que espera passivamente por contato chamado de servidor.

8.4.1 Caractersticas de Clientes e Servidores


Embora existam variaes menores, a maioria das instncias de interao clienteservidor tem as mesmas caractersticas gerais. Em geral, o software de cliente: 58

Aluzio Rocha

Redes de Computadores

um programa aplicativo arbitrrio que se torna um cliente termporariamente quando for necessrio acesso remoto, mas executa tambm outro processamento localmente. diretamente invocado por um usurio e executa somente para uma sesso. Executa localmente no computador pessoal de um usurio. Inicia ativamente o contato com um servidor. Pode acessar mltiplos servios quando necessrio, mas contata ativamente um servidor remoto de cada vez. No exige hardware especial ou um sistema operacional sofisticado.

Em contraste, o software de servidor: um programa privilegiado de propsito geral especial dedicado a fornecer um servio, mas por tratar de mltiplos clientes remotos ao mesmo tempo. automaticamente invocado quando um sistema inicia e continua a executar ao longo de muitas sesses. Roda em um computador compartilhado (isto , no em um computador pessoal de um usurio). Espera passivamente pelo contato de clientes remotos arbitrrios. Aceita contato de clientes arbitrrios, mas oferece um nico servio. Exige hardware poderoso e um sistema operacional sofisticado.

8.4.2 Programas Servidores e Computadores da Classe Servidor


H confuso s vezes sobre o termo servidor. Formalmente, o termo se refere a um programa que espera passivamente por comunicao, e no pelo computador em que ele executa. Porm, quando um computador dedicado execuo de um ou mais programas servidores, o prprio computador s vezes chamado (incorretamente) de servidor. Aderimos terminologia cientificamente precisa e usamos o termo servidor para nos referirmos ao programa que est rodando e no ao computador. O termo computador da classe servidor (server class computer) se refere a um computador poderoso usado para executar software de servidor.

8.4.3 Protocolos de Transporte e Interao Cliente-Servidor


Um aplicativo de cliente ou servidor interage diretamente com um protocolo de transporte para estabelecer uma comunicao e para enviar ou receber informaes. O protocolo de transporte, ento, usa protocolos das camadas mais baixas para enviar e receber mensagens individuais. Deste modo, um computador necessita de uma pilha completa de protocolos para rodar um cliente ou um servidor. A figura abaixo mostra dois servidores em um nico computador acessado por clientes em dois outros computadores. O cliente 1 pode acessar o servidor 1, enquanto o cliente 2 pode acessar o cliente 2.

59

Redes de Computadores

Aluzio Rocha

Tecnicamente, diz-se que um sistema de computador que permite que mltiplos programas aplicativos executem ao mesmo tempo suporta concorrncia, e um programa que tem mais de um thread de controle3 chamado de programa concorrente. A concorrncia fundamental para o modelo cliente-servidor de interao porque um servidor concorrente oferece servio para mltiplos clientes ao mesmo tempo, sem exigir que cada cliente espere que os clientes anteriores terminem.

8.5 Identificando um Servio Particular


Os protocolos de transporte fornecem um mecanismo que permite a um cliente especificar de forma no-ambgua qual servio desejado. O mecanismo atribui a cada servio um identificador nico e exige que o servidor e o cliente usem o identificador. No TCP/IP este identificador de 16 bits conhecido como nmero de porta. Assim, cada servio oferecido por um servidor tem uma porta associada. Isto permite que o servidor oferea vrios servios de redes simultaneamente. Quando um servidor inicia a execuo, ele se registra com o software de protocolo local especificando o nmero da porta para o servio que ele oferece e ento espera passivamente pela comunicao. Um cliente especifica o nmero de porta de protocolo do servio desejado ao enviar uma requisio. Conceitualmente, o TCP no computador servidor usa o nmero da porta para determinar qual servidor deve receber a requisio. Abaixo, tem uma lista de nmero de portas para os servios de redes mais conhecidos: Porta 21 23 25 80 110 Protocolo / Servio FTP Transferncia de arquivos TELNET Abertura de sesso de trabalho em computador remoto SMTP Correio eletrnico HTTP Transferncia de documentos hipermdia (HTML) POP3 Transferncia de mensagens de correio do servidor para o cliente

8.5.1 Comunicao No-Ambgua


Se existem muitas cpias de um servidor, como um cliente pode interagir com a cpia correta? Diretamente ao ponto, como uma requisio recebida pode ser passada para a cpia
3

Alguns sistemas usam o termo processo ou tarefa para o thread de controle.

60

Aluzio Rocha

Redes de Computadores

correta de um servidor? A resposta para estas perguntas reside no mtodo que os protocolos de transporte usam para identificar um servidor. O TCP exige que cada cliente escolha um nmero de porta de protocolo local que no tenha sido atribudo a um servio. Quando um cliente enviar um segmento de TCP, ele deve colocar seu nmero de porta de protocolo local no campo SOURCE PORT, e o nmero de porta de protocolo do servidor no campo DESTINATION PORT. No computador do servidor, o TCP usa a combinao de nmero de porta de origem e de destino (como tambm endereos IP do cliente e do servidor) para identificar uma comunicao particular. Deste modo, as mensagens podem chegar de dois ou mais clientes para o mesmo servio sem causar problema. O TCP passa cada segmento recebido para a cpia do servidor que concordou em tratar do cliente.

8.6 Interface de Sockets


A interface que um aplicativo usa quando interage com o software de protocolo de transporte conhecida como Interface de Programa Aplicativo (Application Program Interface), ou API. Uma API define um conjunto de operaes que um aplicativo pode executar quando interage com o software de protocolo. A API para a programao de aplicativos que utilizem a famlia de protocolos de interrede TCP/IP, conhecida como API de sockets (l-se s-queti, significando conector). A API de sockets est disponvel para muitos sistemas operacionais, incluindo sistemas usados em computadores pessoais (por exemplo, Windows NT e 98 da Microsoft) como tambm vrios sistemas UNIX (por exemplo, Solaris da Sun Microsystems e Linux). A API de sockets se originou como parte do sistema operacional BSD UNIX da University of Califrnia em Berkeley. Muitos vendedores de computadores portaram o sistema BSD para seu hardware, e o usaram como base em seus sistemas operacionais comerciais. Deste modo, a API de sockets se tornou o padro de facto na indstria.

8.6.1 Parmetros e a API de Sockets


Na programao atravs de sockets um aplicativo deve especificar diversos detalhes para usar um socket. Por exemplo, um aplicativo deve escolher um protocolo de transporte em particular, fornecer o endereo IP de uma mquina remota e especificar se o aplicativo um cliente ou um servidor. Para acomodar todos os detalhes, cada socket tem diversos parmetros e opes um aplicativo deve fornecer valores para cada um deles. Essencialmente, um aplicativo cria um socket e ento invoca funes para especificar em detalhes como ser usado o socket. A vantagem da abordagem de sockets que a maioria das funes tem trs ou menos argumentos; a desvantagem que um programador deve se lembrar de chamar mltiplas funes ao usar sockets. Um socket composto de trs partes: o endereo IP do receptor, o nmero da porta do receptor e a indicao do protocolo de transporte: TCP ou UDP.

61

Redes de Computadores

Aluzio Rocha

9 Sistema de Nomes de Domnios


Os captulos anteriores descrevem como atribudo a cada computador um endereo do Internet Protocol que aparece em cada datagrama IP enviado para o computador. Embora os endereos IP sejam fundamentais em TCP/IP, qualquer pessoa que tenha usado a Internet sabe que os usurios no precisam lembrar ou digitar endereos IP. Em vez disso, aos computadores tambm so atribudos nomes simblicos. Embora nomes simblicos sejam convenientes para as pessoas, eles so inconvenientes para computadores. Deste modo, embora softwares aplicativos permitam que usurios digitem nomes simblicos, os protocolos de rede subjacentes exigem endereos um aplicativo deve traduzir cada nome em um endereo IP equivalente antes de us-lo para comunicao. Neste captulo estudaremos o servio encarregado de traduzir nomes simblicos dados aos computadores em endereos IP e vice-versa.

9.1 O Problema
O primeiro problema que os projetistas dos protocolos de redes enfrentaram foi o fato de que mquinas trabalham com nmeros, enquanto que as pessoas trabalham com nomes. muito mais cmodo para os humanos decorarem nomes simblicos do que nmeros quando precisam referenciar algum computador da rede. Com resolver esta questo? A primeira soluo adotada foi criar arquivos, que eram armazenados localmente nos computadores, que associavam cada endereo IP de computador da rede com seu respectivo nome simblico. Por exemplo, na plataforma UNIX existe um arquivo chamado hosts no diretrio /etc com a seguinte informao:
200.174.131.31 200.239.44.169 turing pascal

O esquema de traduo baseado neste arquivo era bem simples. Sempre que algum informasse o nome turing o Sistema Operacional traduzia tal nome pelo IP 200.174.131.31 associado ao nome no arquivo /etc/hosts. O problema encontrado neste esquema, que o inviabilizou, era a necessidade de se espalhar o mesmo arquivo em todos os computadores da rede; para redes muito grandes, isto no era uma tarefa trivial. Alm disso, sempre que houvesse alguma alterao de nome ou acrscimo de computadores na rede, todo o trabalho de distribuio tinha que ser refeito. Mas, como se referenciar a qualquer computador no mundo conectado na Internet? No existe uma autoridade central sobre todas as redes. Isto , a Internet um agrupamento de redes, cada uma gerenciada localmente e em constante alterao. O esquema acima estava muito distante da soluo para este problema.

62

Aluzio Rocha

Redes de Computadores

9.2 A Soluo
Os projetistas do TCP/IP resolveram este problema de traduo de nomes para endereos IPs na Internet atravs do DNS Domain Name Service (Servio de Nomes de Domnios). O DNS um protocolo baseado em TCP/IP encarregado de distribuir e resgatar qualquer Nome/IP de computadores na Internet, fazendo a traduo de nomes simblicos para os endereos IPs respectivos, e vice-versa. O mesmo funciona graas ao estabelecimento de zonas de autoridade. Cada zona tem autoridade sobre a atribuio de nomes aos seus computadores. Os nomes so organizados em uma estrutura hierrquica de nomes de domnios, onde um domnio significa um ambiente de rede. Uma zona constituda de um domnio mais todos os domnios sobre ele, exceto os domnios delegados. Cada domnio administrativo possui um servidor de nomes, que atende s pesquisas de traduo daquele ambiente de rede ou da Internet.

9.3 Estrutura de Nomes de Computador


Cada nome de computador consiste de uma seqncia de segmentos alfanumricos separados por pontos. Por exemplo, um computador no Departamento de Cincias da Computao da UNICAMP tem o nome de domnio: marumbi.unicamp.br e um computador no Centro de Tecnologia da UFRN tem o nome de domnio: www.ct.ufrn.br Os nomes de domnio so hierrquicos, com a parte mais significativa do nome direita. O segmento mais esquerda de um nome (marumbi e www nos exemplos) o nome de um computador individual. Outros segmentos em um nome de domnio identificam o grupo que possui o nome. Por exemplo, os segmentos unicamp e ufrn correspondem ao nome de uma universidade. O sistema de nomes de domnios especifica valores para o segmento mais significativo, que chamado de nvel mais alto do DNS. A tabela abaixo lista os domnios de nveis mais altos:

63

Redes de Computadores

Aluzio Rocha

Quando uma organizao deseja participar no sistema de nomes de domnios, a organizao deve solicitar um nome abaixo de um dos domnios de nvel mais alto existentes. A maioria das corporaes escolhe registrar sob o domnio com. Uma vez que tenha sido atribudo um domnio a uma organizao, o sufixo reservado para a organizao a nenhuma outra organizao ser atribudo o mesmo sufixo de nome. Por exemplo, uma vez que foobar.com foi atribudo, outra organizao de nome Foobar poderia solicitar foobar.edu ou foobar.org mas no foobar.com.

9.4 Estrutura Geogrfica


Alm da familiar estrutura organizacional, o DNS permite a organizaes usarem um registro geogrfico. Por exemplo, a Rede Governamental Norte-Riograndense de Informtica registrou o domnio: rn . gov . br porque ela est localizada no RN, na categoria governamental, no Brasil. Por exemplo, as universidades no Reino Unido se registraram sob o domnio: ac . uk onde ac uma abreviao para acadmica, e uk o cdigo oficial de pas para o Reino Unido (United Kingdom).

9.5 Nomes de Domnio Dentro de uma Organizao


Uma vez que uma organizao tenha um domnio particular, ela pode decidir se introduz ou no uma estrutura hierrquica adicional. Por exemplo, se a Corporao Foobar pequena, ela pode decidir que todos os nomes tero a forma: computador . foorbar . com onde computador denota o nome atribudo a um nico computador. Porm, se Foobar tem muitas divises em cada localizao, um nvel da hierarquia de nomes de domnio poderia ser usado para distinguir entre divises, resultando em nomes da forma: computador . diviso . local . foobar . com Por exemplo, a figura abaixo usa uma representao visual para ilustrar a hierarquia DNS da Foobar se a companhia tem trs subdivises: doces de amendoim, de amndoa, e de nozes. Como mostra a figura, a hierarquia corresponde diretamente sintaxe de nomes. Por exemplo, os computadores na subdiviso nozes tm nomes que terminam com o sufixo: nozes . doces . foobar . com Em termos de diagrama, o sufixo dos nomes corresponde exatamente seqncia de smbolos encontrados ao longo de um caminho sudindo na hierarquia do item identificado por nozes. 64

Aluzio Rocha

Redes de Computadores

9.6 A Hierarquia do Servidor DNS


Os servidores DNS so organizados em uma hierarquia que combina a hierarquia de nomes, cada um sendo a autoridade para parte da hierarquia de nomes. Um servidor de raiz ocupa o topo da hierarquia e uma autoridade para os domnios do nvel topo (por exemplo, .com). Embora no contenha todos os nomes de domnios possveis, um servidor raiz contm informaes sobre como alcanar outros servidores. Por exemplo, embora no conhea os nomes dos computadores na IBM Corporation, um servidor raiz sabe como alcanar um servidor que trata de requisies para ibm.com. Embora a hierarquia de servidores DNS siga a hierarquia de nomes, a estrutura no idntica. Uma corporao pode escolher colocar todos os seus nomes de domnio em um nico servidor ou pode escolher executar vrios servidores. Por exemplo, a figura abaixo mostra dois modos que a corporao Foobar poderia escolher para alocar sua hierarquia de nomes a dois servidores. Em (a), o servidor para foobar.com inclui tambm a diviso sabo, enquanto que, em (b), o servidor foobar.com inclui tudo exceto a subdiviso nozes.

65

Redes de Computadores

Aluzio Rocha

Como mostrado na figura, um servidor no est restrito a um nico nvel na hierarquia de nomes de domnio, nem necessrio conter mltiplos nveis.

9.7 Resolvendo um Nome


A traduo de um nome de domnio em um endereo IP equivalente chamada de resoluo de nome, e diz-se que o nome resolvido em um endereo. O software para executar a traduo conhecido como software resolvedor de nomes (name resolver, ou simplesmente resolver). Como funciona o software resolvedor? Cada resolvedor configurado com o endereo de um servidor de domnio de nomes local. Para se tornar um cliente do servidor DNS, o resolvedor coloca o nome especificado em uma mensagem de requisio DNS e envia a mensagem para o servidor local. O resolvedor, ento, espera que o servidor envie uma mensagem de resposta DNS que contm a resposta. Os resolvedores usam UDP para se comunicar com o servidor pois exige menos sobrecarga para uma nica requisio. Quando uma requisio recebida especifica um nome para o qual um servidor uma autoridade, o servidor responde diretamente requisio. Isto , o servidor pesquisa o nome em sua base de dados local e envia uma resposta para o resolvedor. Porm, quando uma requisio chega para um nome fora do conjunto para o qual o servidor uma autoridade, h uma interao cliente-servidor adicional. O servidor se torna temporariamente um cliente de outro servidor de nomes. Quando o segundo servidor retorna uma resposta, o servidor original envia uma cpia da resposta de volta ao resolvedor a partir do qual a requisio chegou. Como um servidor DNS sabe que outro servidor DNS a autoridade para um determinado nome? Ele no sabe. Porm, cada servidor sabe o endereo de um servidor raiz. Conhecer a localizao de um servidor raiz suficiente porque o nome pode ser resolvido a partir do servidor raiz. Por exemplo, suponha que os servidores da Corporao Foobar so organizados tal como a figura (b) acima, e um resolvedor em um site remoto (por exemplo, em uma universidade) envia uma requisio para seu servidor local, L, para o nome: venuz.nozes.doces.foobar.com.

66

Aluzio Rocha

Redes de Computadores

O servidor L no uma autoridade para o nome, ento ele prossegue para agir como um cliente de outros servidores. No primeiro passo, L envia uma requisio para o servidor raiz. O servidor raiz no autoridade para o nome, mas a resposta do servidor raiz d a localizao de um servidor para foobar.com. Ao receber a resposta do servidor raiz, o servidor L contata o servidor para foobar.com. Embora, no seja a autoridade para nomes na subdiviso nozes, o servidor principal em Foobar sabe a localizao do servidor para nozes. Deste modo, ele retorna uma resposta para informar a L. Finalmente, L contata o servidor que uma autoridade para nomes da forma: computador.nozes.doces.foobar.com Aquele servidor retorna uma resposta autorizada para L, que o endereo IP para o nome requisitado ou uma indicao de que esse nome no existe. Caminhar atravs da hierarquia de servidores para encontrar o servidor que seja uma autoridade para um nome chamado de resoluo iterativa de query (iterative query resolution), e somente usada quando um servidor precisa resolver um nome. Os resolvedores que os aplicativos chamam sempre solicitam resoluo recursiva de query (recursive query resolution). Isto , eles solicitam a resoluo completa a resposta para uma resoluo recursiva de query ou o endereo IP sendo buscado ou uma declarao autorizada que esse nome no existe. Um exemplo de diagrama para o esquema de resoluo discutido anteriormente pode ser visto na figura abaixo.

67

Вам также может понравиться