Академический Документы
Профессиональный Документы
Культура Документы
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
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
2.5
2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6
2.6
2.6.1 2.6.2
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
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
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
8.5
8.5.1
Aluzio Rocha
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.
Redes de Computadores
Aluzio Rocha
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.1 Custo
O custo das conexes depender muito do desempenho que se espera da rede.
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.
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.
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
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
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.
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.
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
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).
Aluzio Rocha
Redes de Computadores
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.
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.
Aluzio Rocha
Redes de Computadores
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.
19
Redes de Computadores
Aluzio Rocha
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.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.
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
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.
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.
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).
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
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
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.
Tempo de Transmisso
Mensagem
Transmisso da Mensagem
28
Aluzio Rocha
Redes de Computadores
Mensagem
Mensagem
Mensagem
29
Redes de Computadores
Cabealho 1 Dados (pacote) 2 T 3 2 1 1 Transmisso dos pacotes
Aluzio Rocha
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
Aluzio Rocha
Redes de Computadores
7 Camadas. A figura abaixo ilustra o modelo de camadas ISO e mostra que cada camada numerada.
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.
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
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.
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.
(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
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.
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.
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.
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.
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.
43
Redes de Computadores
Aluzio Rocha
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.
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
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.
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).
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.
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
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:
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).
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.
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.
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.
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.
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.
61
Redes de Computadores
Aluzio Rocha
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.
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.
Aluzio Rocha
Redes de Computadores
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.
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