1 Introdução...............................................................................................................4 2 TRANSMISSÃO DE DADOS..................................................................................6 2.1 Analógico X Digital.

..........................................................................................6 2.2 Modulação.......................................................................................................7 2.3 Velocidades de transmissão..........................................................................10 2.4 Ruídos e distorções na transmissão de dados..............................................11 2.5 Detecção/Correção........................................................................................12 2.6 Canais de transmissão...................................................................................14 2.7 Transmissões Paralelas e Seriais..................................................................16 2.8 Transmissões Síncronas e Assíncronas........................................................16 3 Redes de Computadores......................................................................................18 3.1 Paradigma Cliente Servidor...........................................................................19 3.3 Cabeamento...................................................................................................19 3.4 Topologia .......................................................................................................23 3.5 Comunicação sem fio (WIRELESS)..............................................................24 3.6 O Modelo ISO/OSI.........................................................................................24 4 A INTERNET.........................................................................................................26 4.1 A INTERNET..................................................................................................26 4.2 Como começou a INTERNET........................................................................26 4.3 O modelo TCP/IP...........................................................................................27 4.4 Camada Física...............................................................................................27 4.5 Camada Rede – O protocolo IP.....................................................................31 4.6 Camada Transporte – TCP e UDP................................................................40 4.7 Camada Aplicação.........................................................................................43 4.9Tipos de Conexão/Utilização na INTERNET..................................................54 5 - Segurança em Redes.........................................................................................58 5.1 - Principais tipos de ataque............................................................................58 5.2 – Boas Práticas..............................................................................................58 5.3 – Criptografia..................................................................................................59 5.4 - Algoritmos de Hash......................................................................................59 5.5 - Algoritmos Simétricos..................................................................................59 5.6 - Algoritmos Assimétricos...............................................................................60 5.7 - Certificados digitais......................................................................................60 6 Outros tipos de rede.............................................................................................61 6.1 IPX / SPX........................................................................................................61 6.2 X.25 e Frame Relay.....................................................................................61 6.3 ATM (Assyncronous Transfer Mode).............................................................61

1

Introdução

A Comunicação de Dados tem se mostrado como um dos principais fatores de mudança em nossa sociedade nos últimos anos, e promete ainda grandes avanços quando associada a outras tecnologias da informática. Por exemplo, você já pensou como a comunicação de dados associada a técnicas de realidade virtual podem resolver o problema de tráfego das grandes cidades? Ou melhor, se tivermos meios de comunicação suficientemente bons, será que seremos obrigados a viver em grandes cidades? Conceitos: COMPUTADOR LOCAL: máquina na qual você trabalha; COMPUTADOR REMOTO: Qualquer máquina diferente da que você trabalha, independente da distância física. TELE PROCESSAMENTO: significa “processar longe” (TELE=longe grego). Na prática da informática, tele processar significa processar dados fora da máquina em que você está trabalhando no momento, por meio de transmissão e recepção de dados de/para máquinas remotas. O tele processamento pode ser considerado uma revolução na área de informática, aproximando os equipamentos do usuário final, e alterando a forma de trabalho dos CPD’s. ANTES DO TELEPROCESSAMENTO (batch) 1. Usuário preenche formulário (papel) e encaminha ao CPD; 2. Preparação processa documentos e encaminha a gravação 3. Gravação transcreve dados para meio magnético; 4. Operação processa dados e emite relatórios para conferência; 5. Conferência emite acertos necessários; 6. Dados corretos, conferência libera processamento final; 7. Operação emite relatórios com resultado do processamento; 8. Dados são encaminhados ao Usuário na forma de relatórios (papel);

COM TELEPROCESSAMENTO (ON-LINE) 1. Usuário digita dados em terminal e transmite para o computador; 2. Computador processa dados, solicitando confirmação/conferencia pelo usuário se necessário; 3. Usuário recebe resultado do processamento (poucos segundos depois); Este processo, além de melhorar consideravelmente a qualidade do serviço de processamento de dados, acaba por reduzir custos com pessoal.

2 2.1

TRANSMISSÃO DE DADOS Analógico X Digital

Os circuitos eletrônicos atualmente existentes foram criados para transmissão de dados que podem assumir infinitos valores em um determinado intervalo. Estes tipos de dados são chamados de dados analógicos e se encontram nesta categoria as transmissões atuais de rádio, televisão (televisão digital em implantação), voz via telefonia entre outros. Quando os dados a serem transmitidos podem variar somente entre alguns valores pré-determinados, a transmissão é chamada “DIGITAL”.

Os circuitos analógicos tendem a ser mais baratos, no entanto, neste tipo de circuitos, a transmissão tende a se deteriorar com a distância, sem possibilidade de recuperação. Para o caso da voz, isto é compensado em grande parte pelo receptor, não trazendo grandes consequências à qualidade da conversa, no entanto, para o caso dos computadores, a troca de um bit pode ser fatal, dependendo do caso. A rede publica de telefonia sempre utilizou equipamentos para transmissão analógica da voz humana e, por isto, é necessária uma adaptação para a transmissão dos sinais digitais gerados por computadores. Esta “adaptação” é feita pelo MODEM. Atualmente, com o barateamento crescente dos circuitos digitais, existe uma tendência de trocar os equipamentos analógicos por digitais, tornando-se necessária uma adaptação em sentido inverso, ou seja, em uma nova linha digital padrão ISDN, a voz humana tem de ser codificada (“digitalizada”), para trafegar no circuito digital.

2.2

Modulação

Conceito: ONDA: É uma perturbação periódica. As ondas do mar são perturbações no nível da água do oceano, As ondas sonoras são variações na pressão do ar. As ondas elétricas são variações no potencial elétrico de um corpo (voltagem) e as ondas eletromagnéticas (luz, rádio, televisão, raios-X,...) são variações de campos elétricos e magnéticos. Os fenômenos ondulatórios possuem características importantes: AMPLITUDE: Distância entre a posição de equilíbrio e a posição extrema em uma onda. (Unidade – depende do tipo da onda: sonora:decibel, elétrica:volt,...) PERÍODO: Tempo gasto pela onda para uma vibração completa. FREQUÊNCIA: Número de períodos na unidade de tempo (Unidade Hertz vibrações por segundo). FASE: Estágio do desenvolvimento de uma onda (Unidade para defasagemGraus) ONDA PORTADORA: Onda que carrega a informação. Em inglês: data carrier. As ondas eletromagnéticas são de especial interesse por se propagarem a altas velocidades (luz) e não dependerem de meio físico para propagação. Dependendo de sua frequência recebem nomes e são utilizadas de forma diferente.

Na faixa de aproximadamente 2 a 4 MHz, a ondulação eletromagnética é percebida por nossos olhos como luz, e a variação de frequência é percebida como diferentes tonalidades de cor.

Alguns animais conseguem perceber outras faixas de frequência. Por exemplo: as abelhas percebem frequências maiores do que os seres humanos. Por isto, algumas flores possuem padrões de reflexão de luz ultra violeta complexos, que, aparentemente, atraem os insetos para polinização. A modulação é o processo pelo qual se imprime uma informação em uma onda portadora, pela variação de um de seus parâmetros: amplitude, frequência ou fase. O processo inverso, no qual uma informação é retirada de uma portadora, é chamado de demodulação. Existem 3 formas básicas de modulação de sinais digitais em ondas analógicas para transmissão:

AM Amplitude Modulada A amplitude da onda portadora é modificada para conter a informação digital

FM Frequência Modulada A frequência da onda portadora é modificada para conter a informação digital

PSK Mudança de Fase (Phase Keying) A fase da onda portadora é modificada para conter a informação digital

Com o auxílio de opções mais sofisticadas, é possível imprimir a onda portadora mais de duas condições, e assim transmitir mais de um bit por alteração de estado da onda portadora. Quando conseguimos transmitir 2 bits por variação da onda,

dizemos que a transmissão é DIBIT (3-TRIBIT, 4-TETRABIT,...).

Estendendo a ideia podemos variar mais de um parâmetro da onda, por exemplo, fase e frequência, de forma a conseguirmos mais sinais distintos e transmitirmos mais informação em cada sinal. Podemos variar, por exemplo, a frequência e a fase da onda, neste caso, a amplitude deve ser mantida constante para que a onda que carrega o sinal seja reconhecida no destino. 2.3 Velocidades de transmissão

Um sinal tem de ser mantido no meio de transmissão por um determinado tempo, a fim de que o equipamento receptor consiga identificá-lo corretamente. O número de sinais diferentes que criamos em um segundo é chamado de taxa de transmissão em BAUDS. Assim, se alteramos a forma da onda, mudando a informação transmitida 500 vezes por segundo, dizemos que a transmissão é feita a 500 BAUDS. Em uma transmissão digital, um mesmo sinal pode carregar mais de um bit de informação, portanto a taxa efetiva de transmissão é um múltiplo da taxa em BAUDS, expressa em bps (bits por segundo). Outro fator que influencia a velocidade de uma transmissão é a faixa de valores nos quais a onda pode variar os seus parâmetros. Conceito: BANDA DE TRANSMISSÃO: Faixa de valores que um esquema de modulação pode utilizar para transmitir seus dados.

O governo é responsável pela alocação de bandas de transmissão para as diversas utilizações como TV, rádio, telefonia celular, etc. Como a capacidade de distinção dos sinais pelos receptores é limitada, a largura da banda de transmissão é decisiva sobre a velocidade efetiva dos dados transmitidos, tanto que transmissões em altas velocidades são atualmente chamadas de transmissões em BANDA LARGA. Exemplo: Em uma modulação por frequência, suponha que seu aparelho receptor consiga separar com precisão somente sinais com diferença de frequências maiores do que 50 Hz. Supondo que a banda de transmissão seja de 1.000 Hz a 1.400 Hz, conseguiremos criar 8 sinais facilmente distinguíveis no destino. Com 8 sinais distintos, conseguimos codificar qualquer sequencia de 3 bits (000,001,010,011,100,101,110,111). Portanto podemos fazer uma transmissão TRIBIT. Se, pudéssemos transmitir na faixa de 1.000 Hz a 1.800 Hz, disporíamos de 16 sinais distinguíveis e, portanto, poderíamos fazer a transmissão se tornar TETRABIT. Exercícios: 1) Qual a maior velocidade em BPS para uma transmissão a 600 BAUDS na faixa de 2.000 Hz a 3.000 Hz, supondo que meus aparelhos só consigam distinguir seguramente diferenças maiores do que 100 Hz? 2) Suponha uma transmissão em que possamos variar entre 4 frequências diferentes e 4 fases diferentes. Que a taxa de transmissão em BAUDS devemos conseguir para obter uma transmissão de 56 Kbps? 3) Que diferença de fase (em graus) meus equipamentos terão de distinguir com segurança se desejarmos que uma transmissão PSK de multiplicidade 1 (monobit) tenha sua velocidade dobrada? 4) Que largura de banda seria necessária para que uma transmissão a 100 BAUDS, modulando por frequência e fase atingisse 500 bps, supondo que meus equipamentos distinguam com segurança diferenças de frequência maiores que 20 Hz e de fase maiores que 45o? Latência de Comunicação Além da largura de banda, outra característica importante dos canais de comunicação de dados é a latência de comunicação. A latência de comunicação é usualmente medida em milissegundos, e representa o tempo que uma informação

gasta para ser transmitida pelo canal. Comunicações com banda larga podem entregar muitos bits por segundo, mas isto não significa necessariamente que possuam latência baixa. Um exemplo notável são os canais de satélite que possuem banda larga, mas alta latência de comunicação devido às grandes distancias que devem ser percorridas entre o satélite e a terra. Podemos perceber claramente o efeito da latência alta quando, em uma conexão via satélite, o âncora do telejornal faz uma pergunta a um repórter, e este leva vários segundos para responder. Neste exemplo, o canal tem largura de banda suficiente (imagem e som chegam de forma satisfatória) mas a latência é alta demais para um “bate papo” ao vivo. 2.4 Ruídos e distorções na transmissão de dados

Em qualquer sistema de telecomunicações, por melhor que seja, sempre haverá deterioração do sinal transmitido. A taxa de erros com as técnicas atuais é muito baixa (menos de 1 bit errado a cada 100.000 transmitidos) no entanto, dependendo da aplicação, até mesmo isto pode ser inaceitável. Conceitos: DISTORÇÕES: são alterações não desejadas nas características iniciais da onda transmitida. ATENUAÇÃO: Perda de energia do sinal enquanto o sinal se propaga pelo meio. RUIDOS: são sinais não desejados que aparecem na linha, interferindo na transmissão. Tipos de Ruídos: CROSS-TALK: Ocorre quando dois fios correm em paralelo. O sinal em um fio gera um campo magnético em seu entorno. Este campo eletromagnético, por sua vez, gera cargas elétricas em fios que estejam próximos o suficiente. É como se o sinal “pulasse” entre fios próximos. Este é o principal motivo para não passarmos fiações elétricas e de dados em mesmos dutos. RUIDO BRANCO: é um chiado incoerente e constante, que forma um fundo a toda sinalização eletrônica, variando conforme a temperatura e o material utilizado para guiar a comunicação (fio). RUIDO IMPULSIVO: são pulsos de onda abruptos e passageiros, causados por variações de voltagem nos aparelhos, raios, contato dos canais com árvores, transmissões de radar, soldas mal feitas, contatos sujos, placas mal encaixadas,

sinalização de companhias telefônicas ou PABX,... 2.5 Detecção/Correção

Faz-se necessário então a detecção de erros em transmissões. Isto normalmente é feito incluindo-se bits ou sequências de bits de controle ou de paridade, que servem para uma “conferência” dos dados transmitidos. O bit de paridade é incluído ao final de cada byte sendo um ou zero conforme o número de uns do byte seja par ou impar. Na recepção, a paridade é testada novamente para detecção dos erros. Quando zero for o bit de paridade para um número impar de uns, dizemos que estamos usando a paridade impar, caso o zero seja o bit utilizado para um número par de uns, dizemos estar usando paridade par. O uso da paridade par ou impar não tem qualquer efeito sobre a eficiência do método que não é muito grande, pois caso tenhamos dois bits errados em um mesmo byte, o método não detectará o erro. Uma forma de melhorarmos a eficiência do teste de paridade é incluirmos mais bits de paridade para blocos de bytes, sendo que estes novos bits de paridade seriam achados consultando-se os primeiros, segundos,... bits de todos os bytes do bloco, conforme exemplo abaixo. Este tipo de teste é chamado de Teste de Redundância Longitudinal (LRC-Longitudinal Redundance Check). Exemplo:(paridade par) 1 0 1 1 0 1 0 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0

No caso do teste de CRC (Cyclic Redundancy Check), os dados transmitidos são transformados em um polinômio e a sequência de bits transferida para conferencia é o resto da divisão deste polinômio por um outro, pré estabelecido. Quando os dados são recebidos, o aparelho receptor faz novamente a divisão e compara o resto obtido com o recebido. Caso os restos não sejam iguais, o erro é detectado. Os protocolos mais modernos (MNP5 , V42 ) utilizam variações deste procedimento. A sequência de bits transmitida para verificação é comumente conhecida como checksum.

Alguns polinômios usados como DIVISOR nos testes de CRC: CRC-16 (ANSI) : x16+x15+x5+1 CRC (CCITT) : x16+x12+x5+1 O teste de CRC é frequentemente utilizado em compactadores de dados para verificar a integridade das informações após a sua descompactação. Detectado o erro, pode-se adotar um dos procedimentos, dependendo da finalidade dos dados transmitidos: SINALIZA-LO, incluindo um byte padrão (* ou ?) no lugar do com erro (raro); Solicitar a RETRANSMISSÃO do bloco de dados a origem da transmissão; DESCARTAR a informação, caso algum método de recuperação de informações faltosas entre os comunicantes (utilizado na internet). Conceitos: PROTOCOLO: Conjunto de normas. PROTOCOLOS DE COMUNICAÇÃO definem os diversos parâmetros em que se dará a transmissão como: tipo de modulação,codificação dos dados, frequências e amplitudes utilizadas, bits de controle; etc... Além dos protocolos de comunicação existem, protocolos de detecção e correção de erros (definem a forma de conferência dos dados recebidos e como recuperalos caso necessário) e os protocolos de compactação de dados. Em todos os casos, existem protocolos diferentes para a mesma finalidade e a comunicação entre dois equipamentos só se dará caso ambos utilizem o mesmo conjunto de protocolos. Os protocolos mais utilizados atualmente são os recomendados pelo ITU (International Telecomunication Union União Internacional para Telecomunicações), antigo CCITT (Consultive Committee for International Telegraph and Telephony), órgão da ONU, com sede em Genebra, Suíça. Exemplos: V22, V32, V32bis, V36 (comunicação) V42, V42bis (compactação e correção), X25 (comutação de pacotes). 2.6 Canais de transmissão

Um canal é uma trajetória para transmissão de informação entre dois ou mais pontos. Ele pode ser classificado quanto às direções possíveis do fluxo de informações que conduz, podendo ser:

-Simplex

- se ele levar informações em apenas uma direção

-Half Duplex - se ele conduzir informações em ambas as direções, mas não simultaneamente -Full Duplex - se ele conduzir a informação em ambas as direções ao mesmo tempo. As transmissões FULL DUPLEX eventualmente também são chamadas transmissões a 4 fios e as HALF DUPLEX a 2 fios porém, estes termos não são bem aplicados pois eventualmente pode-se dividir a banda de transmissão de uma linha, de forma conseguir-se conexões FULL DUPLEX com apenas dois fios. Um canal físico pode ser dividido em diversos canais lógicos. Esta técnica é chamada de MULTIPLEXAÇÃO do canal. A multiplexação pode ser implementada por diversas técnicas, entre elas: TDMA (Time Division Multiple Access): Os diversos canais lógicos utilizam o mesmo canal físico, mas não ao mesmo tempo. FDMA (Frequence Division Multiple Access): Os diversos canais lógicos utilizam o mesmo canal físico ao mesmo tempo, mas em frequências diferentes. Redes de Pacotes: As informações dos diversos canais são divididas em pequenos pacotes de informação, que entram em uma fila e são transmitidos individualmente. A informação é remontada no destino (este item será visto mais detalhadamente no item REDES). Os canais físicos utilizam-se das mais diferentes tecnologias para transmissão de dados como: Cabos metálicos
 

Paralelos, trançados, coaxiais Fios de telefone comuns, CAT-5 para redes locais;

Cabos de Fibra Ótica

Tipo de cabo que utiliza a luz ao invés dos sinais elétricos para transmitir informações; Fino e Flexível; Suporta grandes velocidades, com nível muito baixo de distorção; Não susceptível a interferência eletromagnética;

  

Multimodo, gradual ou monomodo (tradeoff entre velocidade e distância)

Cabos submarinos
 

Cabos estendidos no fundo dos oceanos ligando diferentes continentes; Podem ser metálicos (desuso) ou de fibra ótica;

Comunicação sem fio

Oscilador gera ondas eletromagnéticas que podem ser detectadas por receptores; Mais susceptível transmissores); interferências (condições atmosféricas, outros

Antenas utilizadas nas transmissões podem ser direcionais ou não. Antenas não direcionais são frequentemente chamadas omnidirecionais; Antenas direcionais concentram sua potência em uma determinada direção, enquanto antenas omni concentram a potência em um plano. A medida desta concentração é feita em dB (decibeis) que é uma comparação entre a antena em questão e uma antena que fizesse a dispersão de seu sinal de forma idêntica em todas as direções (antena isotrópica), apesar deste tipo de antena na realidade não existir;

Microondas (rádio)
 

Altamente Direcional; Possível a grandes distâncias;

Transmissão via satélite

Satélites de comunicação ficam em órbita geoestacionária a dezenas de kilometros de altura da terra, na linha do equador; Os satélites recebem sinais e os retransmitem a terra;

O canal lógico existe sempre que for estabelecida uma conexão, independentemente da tecnologia utilizada no canal físico, sendo comuns estruturas mistas. Por exemplo, Um canal de comunicação entre Juiz de Fora e o Rio provavelmente utiliza-se de cabos para a ligação entre o local de origem dos dados e a Embratel, mas a conexão entre a Embratel JF e a Embratel Rio trocarão os dados via satélite. Neste caso, um canal lógico foi estabelecido utilizando-se diferentes meios de transmissão nos canais físicos.

As linhas telefônicas comuns também são chamadas de LINHAS COMUTADAS ou LINHAS DISCADAS, pois passam pelas centrais telefônicas que se incumbem de conectar o aparelho de origem ao aparelho cujo número telefônico foi discado. Comumente as centrais incluem ruídos indesejáveis nas conexões, limitando as velocidades de transmissão. As empresas de telecomunicação oferecem também as LPCD (Linha Privativa de Comunicação de Dados), que são linhas diretas (não passam por centrais) entre dois pontos. Tais linhas possibilitam velocidades de transmissão mais altas, no entanto possuem custos elevados. Em dados de hoje (abril/1997), é cobrado aprox. R$800,00 por uma LPCD local de 128 KBps. Se a LPCD for interurbana, por exemplo, entre JF e BH, este valor sobe consideravelmente. 2.7 Transmissões Paralelas e Seriais

Quando os bits componentes de um byte são transmitidos todos simultaneamente, por canais independentes, dizemos que a transmissão é PARALELA, caso todos os bits trafeguem por um mesmo canal, dizemos que a transmissão é SERIAL. As transmissões paralelas são aparentemente mais eficientes porem vários sinais sendo transmitidos ao mesmo tempo por cabos próximos, tendem a gerar correntes induzidas indesejadas, o que tem levado os projetistas a optar mais frequentemente por protocolos seriais, mesmo quando a distâncias pequenas, onde seria viável a utilização de diversos cabos, necessários às transmissões paralelas. 2.8 Transmissões Síncronas e Assíncronas

As transmissões seriais podem ser SINCRONAS ou ASSINCRONAS. As transmissões ASSINCRONAS incluem além dos bits de dados, bits de sincronismo a cada byte transmitido de forma que o aparelho receptor seja informado quando o byte começa e termina. Na transmissão SINCRONA, os bytes são transmitidos um após o outro, sem qualquer sinal especial entre eles em grandes blocos, só sendo necessários sinais de sincronismo entre um bloco e outro. Apesar de a transmissão SÍNCRONA ser mais eficiente, os aparelhos utilizados são mais caros, pois necessitam de clocks extremamente precisos, sendo a transmissão ASSINCRONA mais comum.

3 Redes de Computadores
É um conjunto de equipamentos com capacidade de processamento que compartilham recursos entre si. Estes recursos podem ser físicos (discos, impressoras, MODEM e periféricos de uma forma geral) ou lógicos (dados, programas e arquivos de uma forma geral). É preciso cuidado para não confundirmos as redes locais com os computadores multiusuários, pois estes últimos, apesar de uma configuração física parecida, possuem uma forma de trabalho totalmente diferente. Nos computadores multiusuário (normalmente Mainframes ou Minis), Existe apenas uma CPU centralizando todos os recursos computacionais, e os usuários possuem diversos terminais para acesso estes recursos. É como se possuíssemos um computador com vários conjuntos de teclado e vídeo. Nas redes, existem vários computadores processando de forma independente, somente compartilhando alguns recursos computacionais. Existem alguns softwares chamados EMULADORES, que podem transformar um micro em um terminal de um computador multiusuário. Neste caso, apesar do micro possuir capacidade de processamento, ele atua como terminal, sendo todo o trabalho processado pelo computador multiusuário.

Classificamos as redes de computadores quanto a distância entre seus nós em 3 classes: • LAN - Local Area Network - Rede Local. Conecta equipamentos separados por pequenas distâncias. Não existe limite de distância bem definido. Podemos classificar uma rede como local, quando seus computadores encontram-se em um mesmo prédio, separados por no máximo algumas centenas de metros; MAN – Metropolitan Área Network – Rede metropolitana. Seus computadores encontram-se em uma cidade ou no máximo em uma área metropolitana. Distância da ordem de algumas dezenas de quilômetros; WAN - Wide Area Network - Redes de Longa Distância) - Conectam equipamentos em cidades, estados ou até mesmo países distintos. Distâncias na ordem de milhares de quilômetros.

3.1

Paradigma Cliente Servidor

Apesar de utilizarmos o termo “servidor” com bastante frequência para fazermos referência a uma máquina, normalmente com maior poder de processamento, em uma rede de computadores, é mais preciso utilizamos a palavra para designar uma categoria de programas, que normalmente é executada nestas máquinas. O modelo “cliente-servidor” baseia a comunicação entre dois pontos em duas classes de programas: O SERVIDOR, que fica disponível para fornecer, “servir”, a uma determinada necessidade, e o CLIENTE, que necessita de algum serviço. O servidor tem de estar 24 horas por dia ativo no computador, pois não se sabe quando o cliente solicitará o serviço (o cliente normalmente não consegue iniciar a execução de um serviço em um computador remoto) já o cliente pode ser carregado apenas quando o usuário necessitar. Normalmente o servidor não tem interfaces diretas com o usuário (tela/teclado), pois as solicitações ao servidor são feitas por outros programas (os clientes) por meio da interface de rede, e as respostas também são enviadas aos clientes pela rede. Como exemplo, podemos citar o serviço de páginas de hipertexto (WWW). O cliente é o navegador (Internet Explorer, Firefox, Opera,...) que todos utilizamos quando navegamos pela internet. O servidor (Apache, IIS, ...) é um programa que o provedor de conteúdo tem de utilizar para que possamos acessar suas páginas. Ao carregarmos um endereço no navegador, este se conecta ao servidor, solicita a página, que é enviada pela rede e exibida. 3.2 Comunicação Ponto-a-Ponto No modelo de comunicação ponto-a-ponto (pear-to-pear, P2P), ambos os programas comunicantes possuem características de cliente e servidor, ou seja, aguardam por requisições e podem eventualmente fazer requisições a outros participantes da rede ponto a ponto. Este modelo vem ganhando importância nos últimos anos, com o surgimento de sistemas para compartilhamento de arquivos entre usuários da internet (kazaa, emule, etc). Estes sistemas ainda dependem de um servidor tradicional (cliente/servidor), para obter uma lista dos participantes da rede ponto a ponto, depois disto, os programas ponto-a-ponto trocam arquivos entre si, sem a participação direta do servidor tradicional. 3.3 Cabeamento

a) PAR TRANÇADO - UTP (Unshielded Twisted Pair) Cabos são trançados de forma a minimizar a influência de correntes induzidas por campos magnéticos na comunicação. Trançando-se os cabos, as correntes induzidas trocam de sentido a cada cruzamento dos cabos, cancelando-se

mutuamente.

Cabos de par trançado mais comuns: 10 BASE-T – 2 fios de cobre de aprox. 1mm entrelaçados de forma a minimizar a interferência. Também utilizados no sistema de telefonia convencional. CAT-5 – O padrão conhecido como CAT-5 (ou categoria 5) É o mais utilizado para a conexão de redes locais atualmente. É composto de quatro pares trançados envoltos em um protetor plástico. Utilizam-se conectores padrão RJ45 com oito conexões. Atinge até 100 m sem repetidores. O conector RJ45 deve ser crimpado utilizando-se um alicate especial seguindo o padrão TIA/EIA 568-B que prevê a conexão na ordem abaixo. Devemos considerar o pino um como sendo o mais à esquerda, com os conectores virados para cima.

Os pinos 1, 2, 3 e 6 são destinados a transmissão (TX) e recepção (RX) exclusivamente (canais simplex). Quando conectamos uma placa de rede a um concentrador (hub ou switch), estes equipamentos cuidam para que o TX de um cabo seja conectado ao RX de outro. Podemos também conectar dois computadores sem concentrador, ligando uma placa de rede diretamente na outra, mas, neste caso, temos de promover os cruzamentos dos pinos 1/3 e 2/6, criando o cabo CROSS OVER, ilustrado na figura acima. É possível conectarmos um concentrador em um uma porta de outro concentrador. Este tipo de conexão é dita “em cascata”. A única preocupação neste caso é que a inversão dos pinos TX/RX não seja feita duas vezes, uma por cada concentrador. Equipamentos mais modernos detectam automaticamente o tipo de dispositivo que está sendo conectado em uma porta, fazendo os ajustes necessários automaticamente. Outros possuem uma porta especial chamada porta de uplink, onde a inversão TX/RX não é feita. Caso não disponhamos de nenhum destes recursos, ainda nos resta conectar os concentradores com um cabo cros-over, que invertendo novamente as conexões, anula a inversão de um dos concentradores (inverter duas vezes é o mesmo que não inverter!). Veja na figura a seguir o esquema para a conexão de concentradores em cascata com porta de uplink.

Os cabos Cat-5 se adaptam perfeitamente a transmissões de até 100 Mbps. Protocolos mais rápidos (Gigabit Ethernet), por exemplo, devem ser utilizados sobre cabos Cat-5e, Cat-6 ou Cat-7. b) COAXIAL – 10 BASE2 – Utiliza camadas concêntricas de material condutor e isolante. As conexões são feitas com o padrão BNC. Alcança até 200 m. Atualmente pouco utilizado.

c) Fibra Ótica – Utiliza dois meios transparentes com diferentes densidades, de forma que a luz seja sempre refletida para o interior da fibra. Pode ser monomodo quando carrega apenas um comprimento de onda ou multimodo ou gradual quando carregam mais de um comprimento de onda. Fibras monomodo conseguem transmitir sinais a maiores distâncias, mas fibras multimodo conseguem maiores larguras de banda.

Dependendo da luz utilizada (lazer, diodo), fibras óticas podem ser utilizadas para transmissões acima de 100 Km, com altas taxas de transmissão, praticamente sem perdas.

3.4

Topologia

A palavra TOPOLOGIA indica a forma com que arrumamos os computadores na rede. Existem 3 topologias básicas:

a) BARRAMENTO – Um cabo passa de computador em computador, possuindo terminadores nas extremidades, que “fecham” a rede. Sem os terminadores a rede não funciona, portanto se o cabo se romper em algum ponto toda a rede para de funcionar.

b) ESTRELA – Um dispositivo central (hub) concentra a conexão entre os computadores. Caso a conexão entre um computador e o hub caia, a rede continua a funcionar normalmente.

c) ANEL - Similar ao barramento porem a rede é fechada conectando-se o último micro ao primeiro. Não é muito comum atualmente.

3.5

Comunicação sem fio (WIRELESS)

Vários padrões para comunicação sem fio existem atualmente. O BLUETOOTH (802.15) foi desenvolvido para visando possibilitar comunicação entre eletrodomésticos ou pequenos dispositivos de uso pessoal, como PDAs, telefones celulares , computadores portáteis, controles de videogames mas também é utilizado para a comunicação de periféricos, como impressoras e scanners. Os dispositivos Bluetooth se comunicam a distâncias de no máximo 10 metros, agrupando-se em redes que chamadas piconets ou picoredes. Cada piconet possui um dispositivo mestre e no máximo sete outros chamados escravos. Ao

líder atribuição de frequências e sincronização dos participantes de sua piconet. Se for necessária a conexão de mais de oito dispositivos, até 10 piconets podem coexistir em um mesmo ambiente. A este agrupamento de piconets chamamos scatternet. O padrão WiMax (IEEE 802.16) é um padrão que suporta altas velocidades (até 10Gbps) a grandes distâncias (até 50 Km). Pouco utilizado, principalmente por necessitar de autorização da ANATEL para instalação, e por apresentar largura de banda relativamente baixa, se considerarmos a possibilidade de abrangência. Uma possibilidade interessante das redes sem fio, é a criação de redes em malha (mesh ou ad-hoc), onde cada nó incluído na rede pode atuar como intermediário entre outros nós e o restante da rede, desta forma, cada nó aumenta a cobertura da rede O padrão de comunicação sem fio mais importante para redes de computadores atualmente é o Wi-Fi (IEEE 802.11) que será estudado com mais detalhes no capítulo sobre INTERNET. 3.6 O Modelo ISO/OSI

A ISO (International Standarts Organization) propôs um modelo de segmentação de tarefas na interconexão de computadores via rede em 7 camadas (layers), com a finalidade de possibilitar ao usuário a escolha de aplicativos de diversos fornecedores para as diversas camadas e minimizar a necessidade de alteração com o surgimento de novas tecnologias para qualquer das camadas. Este modulo é chamado Modelo de referência OSI (Open Systems Interconection). As 7 camadas que o compõem estão relacionadas abaixo:

7. APLICAÇÃO

Camada que implementa a funcionalidade desejada pelo usuário. Responsável pela interface com o usuário.

6. APRESENTAÇÃO Traduz diferentes representações de números/caracteres suportadas por computadores diferentes. 5. SESSÃO 4. TRANSPORTE 3. REDE Estabelece sessões de comunicação entre máquinas, controlando retomadas após perdas de comunicação. Assegurar que os dados cheguem ao destino como a aplicação necessita (sem erros, na ordem correta,...) Divide informações em pacotes e determina para onde estes pacotes devem ser transmitidos para alcançarem seu

destino final (roteamento). 2. LIGAÇÃO 1. FÍSICA Dividir informação a ser transmitida em frames, checar se os frames foram corretamente transmitidos. Codificação da informação em diferentes voltagens, quantos milisegundos cada bit será mantido na linha,...

4 A INTERNET 4.1 A INTERNET
Internet é a maior rede mundial de computadores existente na atualidade. A Internet é um conglomerado de milhares de redes eletrônicas interconectadas, criando um meio global de comunicação. Essas redes variam de tamanho e natureza, bem como diferem as instituições mantenedoras e a tecnologia utilizada. O que as une é a linguagem que usam para comunicar-se (protocolo) e o conjunto de ferramentas utilizadas para obter informações (correio eletrônico, FTP, telnet, WWW). As informações podem ser encontradas em diferentes formatos e sistemas operacionais, rodando em todo tipo de máquina. Atualmente, o número estimado de usuários da Internet é de 40 milhões em mais de cem países. Esta significativa massa de usuários acessa a rede através de computadores e terminais em instituições educacionais, provedores comerciais e outras organizações. 4.2 Como começou a INTERNET

O embrião da Internet surgiu de uma pequena rede experimental de computadores criada em 1969 pela Advanced Research Projects Agency (Arpa) do Departamento de Defesa dos EUA, para permitir a partilha de recursos computacionais, tais como bancos de dados, computadores de alto desempenho e dispositivos gráficos, entre os pesquisadores e fornecedores contratados pelo Departamento. Logo ela passou a ser usada também como meio de cooperação entre os participantes do projeto, possibilitando o uso de correio eletrônico, dentre outros serviços. Tal rede interligava inicialmente as universidades americanas de Stanford, Berkeley, UCLA e Universidade de UTAH através do NCP (Network Control Protocol). Em 1974 a rede contava com 62 servidores e tornou-se necessária a substituição do NCP pois este possuía a limitação de 156 máquinas conectadas. Foi proposto e aceito o TCP/IP que possibilita a interconexão de até 4 bilhões de máquinas. O TCP/IP e o NCP funcionaram em paralelo até 1983, quando o NCP foi definitivamente abandonado. Em 1980, essa rede experimental foi dividida em outras duas: a Arpanet, para pesquisa civil com fins militares, e a Milnet, com fins exclusivamente militares. A interligação dessas redes foi chamada de Defense Advanced Research Projects Agency Internetwork, nome que foi abreviado posteriormente para Internet. A

expansão dessa nova rede estimulou o surgimento de diversas redes descentralizadas nos EUA, tais como UUCP, CSNET, BITNET, etc. 4.3 O modelo TCP/IP

O modelo OSI serviu de base para o modelo TCP/IP, utilizado na INTERNET, como podemos ver abaixo. CAMADA 7 – APLICAÇÂO 4 – TRANSPORTE 3 – REDE PRINCIPAIS PROTOCOLOS HTTP, TELNET, FTP, SMTP, DNS TCP, UDP IP

1– FÍSICA (engloba as ETHERNET, FAST ETHERNET, TOKEN RING, FDDI. camadas 1 e 2 do modelo OSI) 4.4 Camada Física

A camada física lida com problemas como, por exemplo: • tipo de cabeamento e conectorização a ser utilizada;

• codificação do canal (qual o significado de cada sinal enviado); • controle de acesso ao meio de comunicação. Este último item, é considerado o mais importante nos protocolos de camada física, por isto, é comum chamarmos esta camada de camada de controle de acesso ao meio, ou MAC (Medium Access Control). ETHERNET (IEEE 802-3) É o protocolo de camada física mais utilizado para redes locais da atualidade. Inicialmente as redes ETHERNET foram projetadas para trabalhar com topologia em barramento, com cabos coaxiais, a 10MBps. Hoje a implementação mais comum é em ESTRELA a 100 MBps e cabeamento CAT 5, chamado Fast Ethernet, mas já se existem especificações para maiores velocidades (Gigabit Ethernet) e sobre meios físicos diversos (Fibra ótica, Wireless,...). O Ethernet utiliza o padrão de sinalização de 0,85 V para 1 e –0,85 V para 0

(Manchester Encoding).O Frame Ethernet é composto da seguinte forma: •Preâmbulo (7 bytes iguais):10101010; •Início de Frame (1 byte):10101011; •Endereço de destino (6 bytes); •Endereço de Origem (6 bytes); •Tamanho do frame em bytes (2 bytes); •Dados (46 a 1500 bytes. Frames de tamanho zero são válidos, mas a área de dados deve conter no mínimo 46 bytes, que não serão utilizados); •CheckSum (4 Bytes); O ethernet utiliaza para controle de acesso ao meio o CSMA/CD (Carrier Sense Multipple Acces/Colision Detectection). Neste método, todas as máquinas escutam o meio e podem tentar utilizar a rede sempre que este esteja silencioso. Mesmo escutando o meio, se duas máquinas tentarem o acesso em intervalos de tempo inferiores ao tempo de propagação do sinal, ambas encontrarão o meio silencioso e transmitirão simultaneamente. Se isto ocorrer, dizemos que houve uma COLISÃO. Ambos os comunicantes devem escutar o meio logo depois de colocada sua mensagem, a fim de detectar uma eventual colisão, neste caso, nenhuma das duas consegue enviar sua mensagem. Ambas as máquinas entram em um estado de espera por um tempo (pequeno) aleatório, e tentam acessar a rede novamente.

É um protocolo muito eficiente, devido a sua simplicidade, porem pode perder em desempenho quando existem muitos computadores utilizando a rede, e a probabilidade de colisão aumenta. Não se pode garantir um tempo máximo de espera para acesso a rede. Os protocolos da camada física normalmente identificam os equipamentos de comunicação por endereços chamados endereços físicos ou endereços MAC. No caso do ETHERNET, também é usada a expressão endereço ETHERNET e o endereço vem gravado na interface de rede (placa) pela fábrica, não sendo possível alteração pelo usuário. Os endereços ETHERNET são números de 6 bytes, normalmente escritos em hexadecimal, como em 00-02-2F-EB-05-93. Teoricamente não deveriam existir duas placas ETHERNET com mesmo endereço, no entanto, na prática existem placas com endereços idênticos no mercado. Estas placas não podem ser instaladas em uma mesma rede local. OBS: Cuidado para não confundir ETHERNET com INTERNET !! TOKEN RING (IEEE 802-5) Desenvolvido pela IBM. Normalmente implementado em anel. Um padrão (chamado TOKEN) circula pelo anel dizendo que a rede está disponível. Quando um computador não necessita do meio, ele simplesmente passa o token a frente. Se necessitar do meio, a máquina deve esperar receber o token, quando ocorrer ele sabe que pode utilizar o meio com exclusividade, sem riscos de colisão. Após um determinado tempo a máquina deve interromper sua transmissão e passar o token à frente. Apesar de possuir vantagens sobre o ETHERNET em grandes taxas de utilização da rede, este padrão é muito pouco utilizado atualmente. Wi-Fi (IEEE 802-11) É o principal padrão para o estabelecimento de redes locais sem fio. Vem ganhando muita popularidade nos últimos anos, com o barateamento dos equipamentos que implementam esta tecnologia. Possui dois modos de funcionamento: ad-hoc e infraestrutura. No modo ad-hoc as estações comunicam-se livremente entre si, sem a necessidade de um ponto central. Por ser de difícil administração, é pouco utilizado.

No modo infraestrutura surge a figura de um ponto central que intermeia todas as comunicações entre as estações. Este ponto central é chamado Access Point (AP), ou roteador wireless (veja figura ao lado). Existem várias variações do protocolo. As principais são: • • • IEEE 802.11b: (2,4 GHz / 11 Mbps) IEEE 802.11g: (2,4 GHz / 54 Mbps) compatível com o padrão anterior. IEEE 802.11n: (2.4 ou 5 GHz / 128 Mbps) compatível com b e g.

O CSMA/CD não pode ser aplicado pois uma estação não tem condições de saber se o meio de comunicação está ou não sendo utilizado pois pode estar fora do alcance de outra estação que, apesar disto, pode estar utilizando o meio, trocando dados com o AP. A solução para o problema se baseia no fato de todos os participantes da rede terem de estar necessariamente na área de cobertura do AP. Uma estação que deseje transmitir, primeiro envia ao AP uma solicitação (RTS – Request to Send). Caso o AP esteja ocioso, ele envia a autorização (CTS – Clear to Send). O CTS é necessariamente percebido por todas as estações que ficam cientes de que o meio está ocupado. Ao final da transmissão, o AP envia um sinal (ACK – Acknowledge) que confirma a recepção dos dados ao emissor e informa a todas as demais estações que o meio está livre. Desta forma evita-se colisões. Como os dados são transmitidos pelo ar, a espionagem fica facilitada em relação à transmissão com fio. Qualquer um pode colocar um receptor na área de cobertura do AP e receber todos os pacotes que trafeguem pela rede, até mesmo da rua, sem a necessidade de entrar no prédio onde se encontrar instalado o AP. Portanto, a segurança se reveste de especial importância. Estão disponíveis na maioria dos AP's disponíveis atualmente os seguintes recursos encontram-se disponíveis:

Cancelar o broadcast da SSID: Os AP's normalmente transmitem periodicamente suas identificações (SSID) e as estações podem detectar automaticamente as redes a que pode se conectar. Cancelando esta transmissão “escondemos” a rede, em compensação dificultamos a conexão de estações desejadas, demandando configurações manuais quando uma nova máquina for desejada na rede. Listas de controle de acesso (ACL – Access Control List): Podemos criar listas de IP's ou endereços MAC que podem ou não podem acessar nossa rede. Ou temos por padrão que todos podem acessar a rede exceto os participantes de uma “lista negra” ou, ao contrário, estabelecemos que ninguém pode acessar a rede exceto os participantes de uma “lista branca”. Esta segunda opção é normalmente mais útil aos administradores.

Criptografia e autenticação por senha: Dois padrões são utilizados atualmente o WEP (Wired Equivalent Privacy) e o WPA (Wi-Fi Protected Access). O WEP não é considerado seguro, portanto sua utilização é desaconselhada, sendo o WPA a opção mais indicada. O WPA é apresentado tradicionalmente em duas formas. Uma simplificada, mais voltada para uso particular ou de pequenas empresas, que demanda a configuração de uma chave compartilhada entre o AP e todas as estações. Outra forma mais elaborada, mais voltada para o mundo corporativo, demanda a instalação e manutenção de um servidor de autenticação (RADIUS ou LDAP), onde são cadastrados todos os usuários da rede (pessoas) com senhas individualizadas.

4.5

Camada Rede – O protocolo IP

O principal objetivo do IP é permitir aos protocolos das camadas superiores (transporte, aplicação) abstraírem-se dos limites das redes em que se encontram, tratando diversas redes interconectadas como se fosse uma única (“internetworking”). Os equipamentos que fazem esta interconexão possuem diversas interfaces de rede, cada uma conectada a uma das redes onde a interligação é necessária. Para conectar apenas duas redes locais, normalmente basta um computador com duas placas de rede. Um computador nestas condições é usualmente chamado de bridge, pois faz uma ponte entre as duas redes locais. Quando o objetivo é interligar várias LANs, o equipamento mais utilizado é um computador dedicado denominado ROTEADOR, cuja principal função é colher pacotes endereçados a redes diferentes da que se encontram atualmente e coloca-los na rede que esteja mais próxima de seu destino final. O protocolo IP é dito STATELESS ou SEM ORIENTAÇÃO A CONEXÃO, pois cada pacote de uma conexão é tratado independente de seus antecessores e sucessores, ou seja, os programas não guardam nenhuma informação sobre o estado da conexão (STATELESS). Se informações sobre a conexão fossem armazenadas, classificaríamos o protocolo como STATEFULL, ou ORIENTADO A CONEXÃO. O IP não fornece recursos para garantir uma determinada velocidade de transmissão. Dizemos que o IP é um protocolo Best Effort (melhor esforço). Protocolos em que se negocia uma conexão a uma determinada velocidade e tal velocidade é garantida durante toda a conexão são ditos protocolos provedores de QoS (Quality of Service – Qualidade de Serviço).

Os endereços físicos (endereço MAC) das placas de comunicação não podem ser utilizados para a entrega das mensagens, pois estes se restringem a suas próprias redes, sendo próprios ao protocolo adotado na camada física. Portanto, a fim possibilitar a união de diversas redes locais, possivelmente implementadas com diferentes protocolos na camada física, criou-se o endereço IP. Endereçamento IP O endereço IP é um número de 32 bits, normalmente exibido de 4 em 4 octetos na base decimal, separados por pontos, dividido em um prefixo que identifica a rede onde está conectada a máquina e um sufixo que identifica cada máquina individualmente em sua rede. O endereço IP completo (prefixo da rede + sufixo da máquina) tem de ser único em todas as sub-redes que componham a rede maior. Para efeito de gerenciamento e controle, os gestores dividiram os endereços IP na INTERNET em classes com diferentes “fronteiras” entre o endereço de rede e da máquina conforme pode ser visto na figura 1.

Desta forma cada rede, dependendo do número de máquinas que possuir, recebe um prefixo para as classes A, B ou C e gerencia o sufixo de forma a não repetir endereços, podendo inclusive subdividir um sufixo em novo endereço de sub-rede, caso ele as possua internamente em sua organização. Portanto o espaço de endereçamento na INTERNET é dividido conforme abaixo:

Classe A B C D

Faixa de valores Número de (primeiro octeto) endereços de REDE 0 a 127 128 a 191 192 a 223 224 a 239 128 16.384 2.097.152 ---

Número de MÁQUINAS em cada rede 16.777.216 65.536 256 ---

E

240 a 255

?

?

Adicionalmente, existem endereços com atribuições especiais, que não devem ser atribuídos a máquinas. A tabela abaixo relaciona estes endereços especiais.

Prefixo Zeros

Sufixo Zeros

Tipo Este computador

Propósito Utilizado para computadores descobrirem seus próprios endereços IP (possivelmente máquinas sem disco). Possibilita imagens de boot iguais para todas as máquinas

Qualquer Zeros Uns Uns

Broadcast para uma Mensagens recebidas por todas as rede qualquer máquinas de uma determinada rede Broadcast na rede Possibilita broadcast na rede local local sem a necessidade de conhecimento de seu endereço Pacote não vai para a rede. É devolvido localmente para fins de teste de novos softwares.

127

Qualquer Loopback

10 172.16 192.168

Qualquer Faixas de endereços Utilização restrita a redes locais com não roteáveis tradução de endereços ou de teste.

O sistema de classes facilita o roteamento, pois dependendo da faixa em que se encontrar o primeiro octeto do endereço, se sabe quantos bits dele se referem a rede e quantos a máquina. No entanto, tira versatilidade do sistema. Ficamos limitados a 3 tamanhos de redes: grande (classe C), muito grande (classe B) ou exagerada (classe A). Com o crescimento da internet, foi necessária a subdivisão dos espaços de endereçamento, para acomodar maior quantidade de redes (menores). Assim nasceu o CIDR (Classeless Interdomain Routing), que possibilita a utilização de qualquer número de bits para rede, devendo este número ser informado em um netmask. Roteamento sem classes (CIDR)

Netmask é a forma de informarmos ao sistema operacional qual a parte do endereço refere-se a rede e qual a parte do endereço refere-se a máquina. Ele possui “1’s” na porção rede do endereço e “0’s” na porção máquina. Normalmente o netmask é escrito no mesmo formato de um endereço IP (bits separados em octetos escritos na base decimal), apesar de não se tratar de endereço. Por exemplo, um netmask para uma rede classe “C” é 255.255.255.0, já que apenas o último octeto dos endereços classe “C” são referentes à rede, os demais estão totalmente preenchidos por 1’s pois (255)10=(11111111)2. Administradores frequentemente têm de subdividir o espaço de endereçamento recebido para a internet. Por exemplo: Suponha que tenha recebido um endereço classe “C” 200.131.56 e deseje separar o espaço para 4 sub-redes. Neste caso, devemos separar mais dois bits do último octeto para identificar as redes (00, 01, 10 e 11) e o netmask teria (11000000)2 no último octeto assim o netmask seria 255.255.255.192. Todos os endereços iniciariam por 200.131.56, e teriam para o último octeto o seguinte: Primeira sub-rede: de (00000000)2.=(0)10 a (00111111)2=(63)10 Segunda sub-rede: de (01000000)2.=(64)10 a (01111111)2=(127)10 Terceira sub-rede: de (10000000)2.=(128)10 a (10111111)2=(191)10 Primeira sub-rede: de (11000000)2.=(192)10 a (11111111)2=(255)10 O netmask, assim construído, é ideal para a extração do endereço de rede de um endereço IP. Com um simples “e” (and) bit a bit entre o netmask e o endereço e a tarefa é efetuada. Como esta tarefa deve ser realizada nos roteadores, a cada pacote, para decisão da porta de destino, a eficiência é importante. No entanto, alguns sistemas utilizam uma grafia diferente, indicando o número de bits componentes do endereço de rede. Por exemplo: 200.131.56.207/24. O 24 após o endereço IP indica que os 16 primeiros bits do endereço referem-se a rede e, consequentemente, os 8 restantes referem-se ao endereço da máquina. Exercícios: 1) É possível que tenhamos uma netmask 255.225.0.0 ? 2) Quantos computadores posso colocar em uma rede com netmask 255.255.254.0? 3) Suponha que tenha recebido o endereço classe “C” 200.200.34 para utilizar em 5 redes distintas. Qual será o netmask utilizado e quais as faixas de endereçamento de cada uma?

4) Um computador possui o endereço IP 200.200.190.98 e netmask 255.255.255.240. Que faixa de endereços compõe a sub-rede deste computador? Endereço IP X Endereço Físico Normalmente o endereço IP não pode ser utilizado pela camada física que possui seu próprio endereçamento, dependente do protocolo utilizado. Portanto o endereço IP sempre tem de ser convertido no endereço da camada física para composição do frame que transitará naquele nível mais baixo. A resolução (descoberta do endereço físico de um determinado endereço IP) pode se dar de 3 formas distintas Pesquisa em tabela, Computação em forma fechada e Resolução com troca de mensagem: a) Pesquisa em tabela: Forma mais simples e genérica onde cada máquina mantém uma tabela que é consultada quando necessário. Dependendo do tamanho da rede até mesmo uma busca sequencial pode ser viável. Outras soluções são a utilização do endereço IP como um índice para busca ou a utilização de algum tipo de tabela de dispersão (“hash table”). A utilização de tabelas indexadas exige que os endereços IP atribuídos sejam sequenciais, sob pena de desperdício de recursos (memória para tabela). Um problema nesta implementação é a manutenção das tabelas atualizadas quando, por exemplo, uma interface de rede é substituída, tendo seu endereço físico alterado. b) Computação em forma fechada: Alguns protocolos da camada física permitem a escolha dos endereços de cada cartão de rede. Neste caso é possível escolher endereços físicos que correspondam diretamente ao endereço IP, ou levem a ele por meio de alguma operação simples. Por exemplo, escolhe-se o endereço físico 5 para a máquina com endereço IP 123.1.12.5, tornando a resolução obvia. c) Resolução com troca de mensagem: As placas de rede endereços físicos bits computação fechada pesquisas em tabelas. Resolution Protocol). Ethernet, largamente utilizadas atualmente, possuem atribuídos pelos fabricantes. Tal fato dificulta técnicas de e os tamanhos das redes atuais inviabilizam simples Portanto tornou-se necessária a criação do ARP (Address

Com o ARP, uma máquina que deseje enviar uma mensagem, coloca um pacote de broadcast na rede contendo seus próprios endereços físicos e IP e o endereço IP da máquina com a qual a comunicação é necessária. Todas as máquinas recebem o pacote e somente a máquina cujo endereço é desejado responde com seu endereço físico. Os endereços IP e físicos das máquinas comunicantes são armazenados em uma memória tipo cache, de forma tornar desnecessária a repetição da operação caso a comunicação continue (o que acontece com grande probabilidade). Exemplo: Se a máquina 1 precisa comunicar-se com a máquina 2 na rede da figura acima: A máquina 1 verifica se possui o endereço físico (E1) da máquina 2. Se não encontrar: A máquina 1 gera um pacote ARP com com seus próprios endereços (E1 e 192.31.65.7) e o IP desejado (192.31.65.5) e o coloca como um bradcast na rede; As camadas físicas de todas as máquinas lêem o pacote e o passam para o IP. Todas as máquinas descartam o pacote exceto a 2; A máquina 2 insere em sua memória cache os endereços da máquina 1 e gera uma resposta ARP contendo os endereços da máquina 1 e os seus próprios (físico e IP); A máquina 1 lê o pacote enviado pela 2 e insere em seu cache os endereços da

máquina 2.

Eventualmente o problema inverso pode surgir. Uma máquina (diskless, provavelmente) pode necessitar descobrir seu próprio endereço IP. O RARP (Reverse Address Resolution Protocol – RFC 903) atende a esta necessidade. A máquina em questão coloca um pacote de broadcast na rede perguntando “meu endereço ethernet é X. Alguem conhece meu endereço IP?”. Um servidor deve responder com a informação desejada. Tal procedimento possibilita o uso de imagens de boot idênticas para todas as máquinas diskless de uma rede, economizando espaço para seu armazenamento e simplificando o processo. Roteamento para fora da sub-rede A camada física enxerga somente a sub-rede em que se encontra e a principal função do IP é justamente fazer com que várias sub-redes sejam vistas como uma única rede por suas camadas superiores. Portanto, quando uma mensagem é destinada para um endereço IP externo a sub-rede local o ARP não conseguirá resolver o endereço e alguma estratégia adicional é necessária. O tráfego de mensagens entre redes é feito através de roteadores que pertençam a ambas as envolvidas. Portanto uma mensagem destinada a um endereço IP externo deve ser encaminhada sempre ao roteador que se encarregará de colocar o pacote na rede correta, ou em uma outra rede que esteja interconectada a correta de alguma forma. Portanto, cada máquina deve reconhecer o pacote endereçado a uma máquina externa e encaminhá-lo ao roteador ou o roteador deverá reconhecer que a mensagem destina ao exterior e responder a solicitação ARP com seu próprio endereço físico (esta solução é chamada de proxy ARP). Exemplo: Considerando ainda a figura acima, se a máquina 1 necessitar comunicar-se com a máquina 4 (supondo proxy ARP): A máquina 1 solicita via ARP o endereço físico da máquina 4; Roteador R1 detecta endereço externo e responde com seu endereço físico; Roteador R1 consulta sua tabela de roteamento e verifica que deve colocar o pacote na rede FDDI; Roteador R1 coloca pacote ARP na rede FDDI mas, como a máquina 4 é externa

também a rede FDDI, o roteador R2 responde com seu endereço físico; Pacote é passado a R2 que coloca um pacote ARP na segunda rede ethernet (192.31.63.0) que é respondido pela máquina 4; Pacote é entregue a máquina 4; Após o primeiro pacote entregue, os endereços físicos das diversas redes referentes ao caminho entre 1 e 4 constarão das memórias cache de todas as máquinas envolvidas e o ARP não será mais necessário. Tradução de Endereços de Rede (NAT – Network Address Translation) É uma forma de mapear toda uma rede (ou redes) para apenas um endereço IP. NAT é necessário quando o número de endereços IP atribuídos a você pelo seu Provedor de Serviços Internet é menor que o número total de computadores para os quais você quer prover acesso à Internet. Quando utilizamos o NAT, podemos configurar toda uma rede local com endereços não roteáveis, usualmente o classe B 192.168.?.? ou o classe A 10.?.?.?. O NAT tem de ser executado na máquina que faça a interligação da rede com a internet (gateway), que possuirá uma conexão interna com um endereço não roteável, e uma conexão externa com um endereço roteável. Quando uma estação da rede deseja se comunicar com uma máquina externa, o gateway substitui o endereço interno pelo externo antes de passar o pacote para a internet e quando a resposta externa chega, faz a substituição inversa, do endereço externo pelo interno. Desta forma, todas as solicitações de todos os computadores da rede sairão com o mesmo endereço IP, todos os computadores parecendo apenas um para as máquinas externas a rede. Observação: Quando uma máquina, como no NAT, funciona como um intermediário entre duas outras comunicantes, dizemos que ele funciona como um “proxy” . Existem servidores proxy para várias outras finalidades como segurança, criptografando e decriptografando dados ou desempenho, funcionando como um cachê para os clientes. Servidores NAT escondem os IP’s reais das máquinas de uma rede e, por isto, tornam a comunicação mais segura, no entanto, máquinas externas não podem iniciar comunicações com máquinas internas pois não conhecerão seus endereços IP. Na realidade, UM e apenas UM servidor para cada serviço pode ser instalado na rede interna, configurando-se o gateway para repassar todas as solicitações de um determinado serviço para o servidor interno. Neste caso, o cliente externo endereça para a interface externa do gateway, que troca o endereço externo pelo

interno cadastrado. Isto é chamado IP FORWARDING. Tabelas de roteamento É crucial, portanto que os roteadores saibam encaminhar corretamente qualquer pacote à sua respectiva sub-rede, onde este pode ser finalmente entregue à máquina destinatária. Os roteadores decidem para qual sub-rede encaminhar um pacote baseado em tabelas de roteamento, construídas através de troca de informações entre os roteadores sobre as suas respectivas vizinhanças. O primeiro protocolo com esta finalidade utilizado na internet foi o RIP (Distance Vector Protocol) porém este apresentou problemas com o crescimento da rede e foi substituido pelo OSPF (Open Shortest PathFirst). Fragmentação de Datagramas Os datagramas IP viajam portanto, por sub-redes baseadas em tecnologias diferentes para a camada física e são colocados na área de pay-load de frames com características diferentes. Este procedimento é denominado ENCAPSULAMENTO. (os frames ethernet possuem tamanho máximo de 1536 bytes). Quando o frame da camada física é restrito a um tamanho menor do que o datagrama, este tem de ser fragmentado em dois ou mais, que seguirão em frames diferentes e posteriomente, no destino final, reagrupados para recompor a informação original. Quando um datagrama é fragmentado, o IP altera um campo específico do header do datagrama original com a informação que permita a reconstituição posterior, sendo portanto gerados novos datagramas (fragmentos) com headers diferentes do original. O cabeçalho IP

Vers indica Versão. Atualmente é preenchido com 4. Campo importante durante troca de especificações pois permite que os roteadores tomem decisões diferentes dependendo da versão, possibilitando a convivência das duas versões durante a fase de troca de protocolo. Tam.H. indica tamanho do Cabeçalho em conjuntos de 32 bits. Varia de 5 a 15. Tipo de Serv. (tipo de serviço) visa incluir informações sobre as prioridades na escolha de rotas. Por exemplo, quando transporta-se voz velocidade é mais importante de que confiabilidade. No caso de dados, a situação se inverte. Tamanho total indica a quantidade total de octetos do pacote. Identificação indica, no caso de fragmentação, a qual datagrama original este trecho pertence. Todos os fragmentos de um datagrama contêm o mesmo valor neste campo. O primeiro dos 3 bits do campo flags não é utilizado. O segundo é o DF (Dont Fragment) que indica ao roteador que fragmente o pacote, mesmo que seja necessária a escolha de um caminho subótimo para tal. O terceiro é o MF (More Fragments). Todos os fragmentos de um datagrama possuem 1 nesta posição, exceto o último. É utilizado para determinar o último fragmento de um datagrama. Offset do fragmento indica qual a posição do fragmento no datagrama original, em octetos (unidade básica de fragmentação). Tempo de vida é um número que decresce a cada nó por onde o datagrama passa. Quando chega a zero, o datagrama é descartado. Previne-se assim que tabelas de roteamento corrompidas carreguem datagramas indefinidamente pela rede. O campo tipo indica ao IP da máquina de destino a que protocolo da camada de transporte entregar os dados quando chegam com sucesso (exemplo: TCP ou UDP?). Os possíveis protocolos são padronizados pela RFC 1700 em toda a rede.

Checksun do header: verificador para o Cabeçalho. Tem de ser recomputado a cada nó por onde o passa o datagrama, já que pelo menos um dos campos (tempo de vida) necessariamente é alterado. IP de origem e IP de destino dispensam comentários. Opções IP é um campo de tamanho variável. Códigos de 1 byte são definidos para algumas opções como as abaixo: SEGURANÇA: Especifica quão secreto o datagrama é. Possibilita, por exemplo, que datagramas contendo informações militares secretas sejam desviadas de roteadores da Líbia. Na prática os roteadores ignoram esta opção. ROTA ESPECÍFICA: Instrui os roteadores a encaminhar o datagrama por uma rota fixa. Útil quando se desconfia da integridade das tabelas de roteamento ou quando se deseja medir a velocidade de uma rota específica. FORÇAR PASSAGEM: Indica uma lista de roteadores que devem ser visitados pelo datagrama até atingir o destino final. Para chegar a estes roteadores utilizase as técnicas usuais de roteamento. GRAVAR ROTA: Faz com que os endereços dos roteadores por onde o pacote passar sejam incluídos no cabeçalho de forma a podermos descobrir a rota seguida por um pacote. GRAVAR ROTA E TEMPOS: Idêntico ao anterior exceto por gravar também o tempo gasto em cada roteador. As opções IP são, portanto de tamanho variável. O último campo do cabeçalho permite um ajuste para que o cabeçalho continue com um tamanho múltiplo de 32 bits. 4.6 Camada Transporte – TCP e UDP

As principais funções desta camada são: Lidar com os diversos protocolos da camada aplicação, destinando corretamente as informações que chegam do IP. Para tal, o TCP estabelece conexões ou sessões de troca de dados entre os aplicativos; Tornar as conexões confiáveis, controlando o fluxo de pacotes de forma a garantir que cheguem aos seus destinos, emitindo e aguardando confirmações (ACK’s) e processando retransmissões quando necessário; Tenta ajustar o fluxo de pacotes à capacidade real da rede, permitindo um número fixo de pacotes on the fly em um dado momento.

TCP – Transmission Control Protocol O cabeçalho TCP é colocado após o cabeçalho IP, conforme mostrado na figura a seguir.

O TCP controla os aplicativos da camada aplicação associando cada conexão a uma porta TCP. Uma porta é representada por um número decimal. Portas abaixo de 1024 são chamadas well-known ports e são reservadas para serviços padrão. Por exemplo, o FTP (File Transfer Protocol) utiliza a porta 21, o TELNET (protocolo para terminal remoto), utiliza a porta 23. Portanto, cada servidor deve “escutar” sua porta padrão. Quando um cliente deseja estabelecer uma conexão, ele escolhe uma porta para si e envia um pacote para a porta padrão do servidor desejado. O servidor, ao estabelecer a conexão troca o número da porta para um acima de 49.151, de forma que a conexão, após a esta fase inicial, se dá com portas acima de 49.151. Sequenciais são sorteados para o primeiro pacote CLIENTE->SERVIDOR e para o primeiro pacote SERVIDOR->CLIENTE. Pacotes posteriores em ambos os obedecem à sequência. Ao enviar um pacote com sequencial X, uma máquina aguarda um tempo e determinado pelo recebimento de um pacote com o valor X+1 no campo Sequencial Recebido (ACK). Caso tal ACK não seja recebido, o pacote é reencaminhado. Os 4 bits seguintes exprimem o tamanho do Header, em unidades de 32 bits.Os 6 bits seguintes não são utilizados. 6 Flags de 1 bit seguem agora: URG – indica que um ponteiro de urgência utilizado;

ACK – Campo ACK utilizado; PSH – (PUSH) não buferizar; RST – Resetar a conexão; SYN – Solicitação de sincronismo. FIN – Finalizar conexão; O campo “Tamanho da Janela” é utilizado para indicar quantos bytes uma máquina está apta a receber no próximo pacote, evitando-se assim estouros de buffer (buffer overflow) Checksum existe para detecção de erros no cabeçalho, no payload e em alguns campos chave do cabeçalho IP. O ponteiro para urgente indica um número de bytes, contados a partir do último ACK, onde existirão dados urgentes. A seguir ilustramos a evolução dos números de sequência de pacotes e ACK’s durante uma conexão TCP

UDP – User Datagram Protocol O UDP provê uma possibilidade de comunicação bem mais simples, mas sem confiabilidade, para aplicações como transmissões multimídia on-line (vídeo, áudio,...) onde retransmissões não podem ser suportadas sendo o maior overhead

do TCP desnecessário. Seu cabeçalho resume-se nos números das portas de origem e destino, uma indicação do tamanho do pacote (em bytes) e um checksum, como podemos verificar na figura abaixo.

O UDP é um protocolo conectionless, ou seja, não cria a figura da conexão entre duas máquinas. Criado um sistema que atenda em uma porta UDP, qualquer máquina pode enviar pacotes para ela. O UDP é utilizado para a comunicação multicast em redes locais. Todas as máquinas de um grupo executam um programa que escute a mesma porta e, assim, um pacote IP multicast, cujo endereço de destino possui porção máquina preenchido com 1´s, é encaminhado pelo UDP à aplicação de todas as máquina participantes do grupo. A aplicação UDP funciona, normalmente, da seguinte forma: Para cada pacote recebido a aplicação gera uma resposta, para o IP do solicitante, não sendo necessário o armazenamento de qualquer informação pelo servidor de seus interlocutores. Se não for possível a transmissão de uma solicitação ou resposta em um único pacote, a complexidade da construção do servidor que utilize o UDP é bastante aumentada pois, outro pacote, com outra origem, pode chegar entre duas partes de uma mensagem, tornando o gerenciamento mais trabalhoso. Tal problema normalmente leva os projetistas a optarem pelo TCP quando as mensagens não podem ser sempre incluídas em um pacote único. 4.7 Camada Aplicação

Nesta camada encontram-se os aplicativos que prestam serviço diretamente ao usuário (navegadores, browsers, ... ). Estes programas fazem uso da infraestrutura de comunicação TCP/IP, normalmente fornecida pelo sistema operacional. Assim, quando um programa da camada aplicação necessita trocar informações com outro, ele solicita ao sistema operacional a criação de uma conexão, chamada socket. Para isto, ele deve chamar uma primitiva do sistema operacional onde é informado o endereço IP, o protocolo de transporte (UDP/TCP) desejado, e a porta a ser utilizada. Feito isto, o sistema operacional cria todas as estruturas de controle necessárias para a comunicação, bastando a aplicação chamar por outra primitiva para enviar/receber mensagens (write/read). Além dos recursos básicos de correio eletrônico e lista de discussão, a Internet

proporciona a seus usuários acesso aos mais variados serviços de informação como, por exemplo, bases de dados especializadas, catálogos de bibliotecas, repositórios de software de domínio público, jornais e revistas eletrônicas, etc. Através da Internet também é possível ter acesso a recursos de hardware especializados como computadores de alto desempenho e processadores especializados. A seguir passamos a comentar algumas das aplicações mais utilizadas na Internet. DNS (Domain Name Service) Serviço que traduz os nomes dos servidores para endereços IP, de forma que possamos digitar ‘bancobrasil.com.br’ ao invés de 123.45.56.198. Um banco de dados único para todas as máquinas da internet seria difícil de administrar, além de um gargalo muito grande para a rede. Desta forma, os projetistas do protocolo optaram por um banco de dados distribuído por muitos servidores independentes, que se responsabilizam somente por seus domínios, identificados por uma terminação comum a todos os nomes das máquinas que ele deve resolver. Por exemplo, o domínio BR foi atribuído ao Brasil pelo comitê gestor mundial da Internet e a resolução de todos os nomes terminados por BR são de responsabilidade de um servidor mantido pelo órgão que gerencia a internet no Brasil. O servidor responsável por um domínio pode conter os endereços que tem de resolver em seus bancos de dados ou delegar responsabilidades a outros servidores criando “subdomínios”. Por exemplo, o servidor responsável pelo domínio BR delega o domínio UFJF.BR a um servidor da Universidade Federal de Juiz de Fora e, ao invés de armazenar todos os endereços terminados em UFJF.BR armazena apenas o endereço do servidor de DNS da UFJF. Assim, consultas sobre nomes terminados em UFJF.BR que cheguem ao servidor BR são repassadas ao servidor da universidade que deve resolve-las. Por sua vez, o administrador da rede da UFJF pode também delegar responsabilidades criando seus próprios “subdomínios”. A fim de aumentar a confiabilidade do sistema, SERVIDORES SECUNDÁRIOS podem ser criados para qualquer domínio. Estes servidores possuem cópias das tabelas de nomes do domínio e podem também responder a solicitações de resolução de nomes. A diferença para os servidores primários é que as tabelas devem ser atualizadas apenas no servidor primário, e a partir destes são automaticamente replicadas para os secundários. Os endereços IP dos servidores de nomes primário e secundários têm de ser cadastrados em todos os clientes de uma rede. Estes são os únicos servidores

que não podem possuir nomes, já que eles são os responsáveis pela associação de nomes em endereços IP. WWW (World Wide Web, ou simplesmente Web) É um serviço baseado em hipertextos que permite ao usuário buscar e recuperar informações distribuídas por diversos computadores da rede. A seleção de informações é feita com base no conceito de hipertexto (um texto cujas palavras contêm ligações subjacentes com outros textos, o que torna possível leituras diversas, não- lineares). O usuário pode selecionar uma das palavras que aparece assinalada na tela. Ao fazer isso, ele terá acesso ao documento associado ao termo escolhido. Esse processo pode se repetir com o usuário selecionando novamente um termo assinalado de seu interesse no documento recuperado. Ou seja, o acesso às informações disponíveis no WWW é obtido na medida em que o usuário assinala, em um dado documento, termos relevantes para a sua busca. De modo geral, documentos estruturados como hipertextos são interligados através de um conjunto de termos pré-selecionados pelo autor do hipertexto. A associação entre um termo e um documento depende do interesse do autor e pode ter objetivos diversos, tais como: explicar ou detalhar um conceito, definir um termo, ilustrar um fato, expandir uma sigla, apresentar uma informação correlata. O documento associado não precisa ser necessariamente um texto; ele também pode conter outros tipos de informação, tais como imagens, gráficos e sons. Os documentos não precisam estar armazenados em um único computador, podendo estar distribuídos pelos diferentes computadores da rede que suportam esse serviço. O WWW torna irrelevante para o usuário a localização física dos documentos recuperados. Além disso, a maioria dos clientes WWW (Mosaic, Netscape) seleciona e ativa automaticamente os programas necessários (browsers) para a visualização do arquivo transferido, seja ele som, imagem, texto ou programa compactado. A WWW nasceu da necessidade de compartilhamento de dados pelos pesquisadores do CERN, o laboratório de aceleração de partículas europeu. O primeiro navegador, o MOSAIC foi desenvolvido por Marc Andersen, e alcançou tal popularidade que motivou seu autor a fundar a Netscape Communications Inc. , empresa especializada no desenvolvimento de software para a WEB com grande participação no desenvolvimento da Internet. Em 1994 o CERN e o M.I.T. assinaram um acordo para a criação do World Wide Web Consortion (WWWC), instituição dedicada ao desenvolvimento da Web, padronização de protocolos e incentivo a interoperabilidade entre os sites. Mais informações sobre o WWWC podem ser obtidas, naturalmente, na web em

http://www.w3.org . O protocolo para transferência das páginas de hipertexto é o HTTP (Hyper Text Transfer protocolI) que descrevemos com mais detalhes a seguir. HTTP (Hyper Text Transfer protocolI) O HTTP rege a transferência das páginas de hipertexto pela rede. Está implementado nos softwares clientes (Internet Explorer, Netscape Navigator, Opera) e nos servidores (Apache e o Microsoft IIS). O servidor fica o tempo todo ativo, aguardando requisições na porta 80. No cliente, o usuário informa a URL desejada, por exemplo, “http:// www.w3.org/ hypertext/ WWW/ TheProject.htm”. Da URL, o browse extrai o nome da máquina (www.w3.org) e descobre seu endereço IP pelo DNS. De posse do IP, o browse pode estabelecer uma conexão TCP/IP com o servidor, na porta 80. Através da conexão aberta o navegador envia a requisição da página desejada, no exemplo, “GET / hypertext/ WWW/ TheProject.htm HTTP/1.0”. Onde GET é a palavra chave definida pelo protocolo para solicitar páginas e HTTP/1.0 é a versão do protocolo que está implementada no cliente. O servidor recebe a requisição e abre o arquivo solicitado. Um cabeçalho representado abaixo é construído e encaminhado ao cliente. HTTP/1.0 200 Document follows MIME-Version: 1.0 Server: CERN/3.0 Content-Type: text/html Content-Length: 8247 <HTML> <HEAD> <TITLE> The World Wide Web Consortium </TITLE> </HEAD> <BODY> ……… (aqui segue a página em HTML)….

A primeira linha do cabeçalho contem a versão do protocolo implementada no servidor, e o código 200 que significa “OK, ai vai a página...”. A seguir o servidor inclui uma série de informações no formato “Nome-da-Informação: conteúdo”. Estas informações compõem o cabeçalho HTTP. Ao final do cabeçalho uma linha em branco é saltada e o documento HTML é enviado.

Apesar do GET ser de longe a palavra chave mais utilizada, o http define algumas outras como HEAD, para receber apenas os cabeçalhos, sem o documento em si, PUT para enviar ao invés de receber uma página, POST para acrescentar um conteúdo a um arquivo existente no servidor, e outros. Nas respostas do servidor, o HTTP define também outros códigos além do 200 (OK). Por exemplo: • • • • 304 significa que o documento não foi modificado desde a última consulta e, por isto, não precisa ser encaminhado; 400 significa que a requisição foi feita de forma equivocada; 403 significa que o usuário não tem permissão para ler o arquivo solicitado; 404 significa que o documento solicitado não foi localizado pelo servidor;

A maioria dos servidores inclui recursos extras como: • A criação de um arquivo default, que é encaminhado ao cliente caso ele não informe o nome do arquivo desejado. Tradicionalmente este arquivo é o INDEX.HTML; Um diretório raiz para os documentos diferente do raiz real da máquina onde está instalado, de forma a podermos “esconder” os arquivos que não se deseja dar acesso via HTTP; “Sites virtuais”. Podemos criar vários registros de nomes no DNS para o mesmo IP de um servidor e, dependendo do nome digitado pelo usuário, encaminhar uma página diferente, fazendo com que um único servidor responda por diversos sites distintos.

Correio Eletrônico (e-mail) Serviço para troca de mensagens onde os comunicantes não precisam necessariamente estar conectados na rede simultaneamente. Cada usuário é identificado por um endereço composto por um nome de usuário mais um sinal de @ e o nome de uma máquina onde o usuário mantenha a conta. Por exemplo, marcelocps@interfire.com.br onde “interfire.com.br´ é o nome do servidor onde existe a conta “marcelocps”. O arroba é lido como “at” inglês, que significa “em”. Assim, o endereço é “marcelocps” em “interfire.com.br”. O formato da mensagem: A mensagem é acrescida de uma série de cabeçalhos para uso dos programas cliente e servidor de e-mail. Os cabeçalhos são separados da mensagem por uma

linha em branco. No exemplo abaixo podemos verificar várias informações nos cabeçalhos, todas no formato “<informação>:<conteúdo>” como em To: "jose@artnet.com.br" que especifica o destinatário da mensagem. From: "Marcelo Santos" <marcsan@acessa.com> To: "jose@artnet.com.br" Cc: "maria@bol.com.br" Subject: =?iso-8859-1?Q?Reuni=E3o_de_Departamento?= Date: Sun, 14 Jul 2002 08:52:57 -0300 MIME-Version: 1.0 Content-Type: multipart/mixed; (esta linha continua abaixo) boundary="---=_NextPart_000_002D_01C22B13.DDA2C440" X-Priority: 3 X-MSMail-Priority: Normal X-Unsent: 1 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 This is a multi-part message in MIME format. ------=_NextPart_000_002D_01C22B13.DDA2C440 Content-Type: text/plain; Charset="iso-8859-1"; Content-Transfer-Encoding: 8bit Srs. Professores, Informamos a seguir a pauta da reunião de segunda feira, 9:00hs. - Palestra para a Semana de Computação; - Critérios de avaliação para o próximo ano letivo; - Estágios disponíveis para os alunos; Anexo segue a apresentação no formato PPT da palestra proposta para a Semana de Computação. Chefe de Departamento. ------=_NextPart_000_002D_01C22B13.DDA2C440 Content-Type:application/vnd.ms-powerpoint; (linha continua abaixo) name="=?iso-8859-1?Q?TrabComputa=E7=E3o.ppt?=" Content-Transfer-Encoding: base64 Content-Disposition: attachment; (esta linha continua abaixo) filename="=?iso-8859-1?Q?TrabComputa=E7=E3o.ppt?=" 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAVYAAAAAA EAAAuwYAAAEAAAD+////AAAAAMkGAADKBgADNBgAAzgAADQBgAA0QYAA AADTBgAA1AYAANUGAAC6BgADABgAAvwYAAL4GAAvAYAAP///////////

//////////////////////////////////////////////////////8A bmIYLZdSexws2JTntzu3/iVBOoAAAANSUhEUgAAAgcAAAFCCAIAAADqv AAAABGdBTUEAALGIlZj0pgAAAAlwSFkQAADnMBYuyvIAAAIABJREFUeJ zsm7uyJLlxhNqLqWPm3NSurm548jiyalJ6Ag3WVceZcqb9eTprCdZW+3 NWvXDOtUWZCSquvpc5iIxup4HIQqFwSWT+mUh08/7//Ine50pzvd6U7w zca11n7GedzpTne6051+CfTN/uFPf/rTzO93pTne60y+kBOd7rTne70i 6A8GHzz8sWf//znv/Vc7nSnO93pTj8rbZcI31A+9f7rT ne70f5ewbpTne6053udKVf8eph4U53utOd7vT/kn7F8HNP4U53utOd7v SLoW+Crz8tXt8+fmzZm999VU1b03s8kXL6vSJyX9VP291/tfqqlOF2DH 7Mivf/rIRpZc72nfy5ld/J .... Além do destinatário, podemos identificar no exemplo acima as informações sobre remetente (From) cópias enviadas (Cc – Carbon Copy), assunto (Subject). O subject possui um caractere considerado não padrão, o “a” com til, que é codificado segundo o padrão a iso-8859-1. A data de envio segue o Assunto. A seguir temos uma linha que indica a versão do MIME ( MIMEVersion: 1.0). MIME é uma sigla para Multipurpose Internet Mail Extensions que é uma forma padrão de descrição do tipo de conteúdo da mensagem. Em nosso exemplo o tipo é multipart/mixed pois a mensagem contém anexos de tipos diferentes. Na sequência é definido o separador para os conteúdos ("---=_NextPart_000_002D_01C22B13.DDA2C440"). A seguir temos alguns campos começados por “X-“. Todos os campos começados assim são campos não padronizados. O protocolo permite a criação de campos não padronizados, desde que iniciados desta forma, para evitar o risco de conflitos com campos definidos ou que venham a ser definidos por futuras versões do protocolo. Campos não padronizados não suportados por um determinado programa são ignorados. Depois temos o separador de tipos, um cabeçalho particular para o texto da mensagem, a mensagem, novamente um separador de tipo de conteúdo, outro cabeçalho e o segundo conteúdo, que é uma apresentação do power point (ppt) que foi anexada a mensagem. O protocolo SMTP O principal protocolo utilizado para transferência de correio é o SMTP (Simple Mail Transfer Protocol). Uma transferência típica é ilustrada abaixo, com as mensagens enviadas pelo cliente (abc.com) precedidas de “C:” e as enviadas pelo servidor

(xyz.com) de um “S:”. O “C:”e o “S:”são incluídos apenas para facilitar o entendimento pelo leitor, e não fazem parte das mensagens trocadas. S:220 xyz.com SMTP service ready C:HELO abc.com S:250 xyz.com says hello to abc.com C:MAIL FROM: <elionor@abc.com> S:250 sender ok C:RCPT TO: <carolyn@xyz.com> S:250 recipient ok C:DATA S:354 Send mail; end with “.” On a line by itself C: “agora o cliente envia a mensagem propriamente dita” . . . . . . . . . C:. “esta linha marca o final da mensagem” S:250 message accepted C:QUIT S:221 xyz.com closing conection As mensagens do cliente são sempre comandos com 4 letras e as do servidor são códigos numéricos de resposta. No exemplo acima os códigos de resposta do servidor são seguidos de um texto explicativo que é permitido, mas não necessário, pois o cliente deve agir em função dos códigos numéricos. O programa que implementa o SMTP age hora como servidor, recebendo a mensagem a ser enviada pelo usuário local e hora como cliente, quando ele se conecta ao servidor do destinatário para recepção da mensagem. A entrega final da mensagem Grande parte dos usuários de e-mail não possuem máquinas que estejam o tempo todo conectadas a Internet. Por isto, a entrega final da mensagem a máquina do usuário nem sempre pode ser feita pelo SMTP pois o servidor de e-mail, a principio não sabe a hora em que a máquina do usuário estará disponível para receber as mensagens. Por esta razão, foram criados outros protocolos para regular a entrega final da mensagem ao cliente de e-mail do usuário. O POP (Post Office Protocol) é o protocolo mais utilizado, prevê a conexão do cliente ao servidor e a transferência de toda a correspondência para o micro local, de forma a poder ser consultada mesmo depois do micro desconectado, off-line. O IMAP (Interactive Mail Access Protocol) entende que o usuário consulta sua correspondência não necessariamente de uma única máquina, e por isto não

transfere as mensagens para o micro local. Ele provê uma forma do usuário ler seus e-mails, responde-los, apaga-los, etc, mas mantendo-os no servidor, de forma que caso o usuário interrompa o serviço e desejar continua-lo de outro computador, nenhum problema será notado. IRC (Internet Relay Chat) É uma ferramenta que permite estabelecer uma conversação simultânea entre dois ou mais usuários da rede, independentemente de sua localização geográfica. As discussões através de IRC fazem uso do conceito de canal (trilha de conversação), podendo ser públicas ou privadas quanto à participação de novos membros. Os tópicos de discussão, assim como o idioma da conversação, são bastante variados. Os diversos servidores IRC existentes na rede estão interconectados e apresentam continuamente aos usuários os canais e recursos do serviço em utilização. Embora a grande maioria das mensagens trocadas via rede seja constituída por informação puramente textual, o correio também pode transmitir outros tipos de informação, tais como sons e imagens, desde que devidamente codificadas. Dicionário de "Carinhas" (EMOTICONS) A comunicação por correio eletrônico é essencialmente baseada em texto escrito. Não permite transmitir o estado de espírito dos interlocutores. Não é, portanto, rara a má interpretação de frases escritas por brincadeira. Uma forma de contornar esta limitação é o uso de combinações de caracteres "rascunhando" um ícone e que, como a expressão facial num contato pessoal, exprime o humor do remetente. Estão listadas abaixo algumas das convenções de comunicação em redes. Para vê-las, incline sua cabeça 90 graus para a esquerda e use sua imaginação: :-) Cara básica. Esta carinha é usada para modular uma declaração jocosa ou sarcástica, a depender do contexto. Na maioria das vezes, significa que a intenção do autor é bem humorada. ;-) Piscada de olho. O usuário acabou de fazer uma observação sarcástica e/ou flertou com a pessoa, sugerindo cumplicidade. Tem o sentido de "não me bata pelo que acabei de dizer". :-( Cara carrancuda. O usuário não gostou da última observação ou está triste ou deprimido por algum motivo. :-| Cara de indiferente, de não-entendimento, de alienação com o assunto. Melhor

do que a cara carrancuda, mas não tão boa quanto uma cara feliz. :-> Usuário acaba de fazer uma observação realmente sarcástica. >:-> Usuário acaba de fazer uma observação realmente diabólica. >;-> Piscada de olho e diabólica combinadas. Uma observação muito obscena acaba de ser feita. Listas de Discussão É um serviço que permite o intercâmbio de mensagens entre vários usuários. Funciona como uma extensão do correio eletrônico, explorando uma facilidade conhecida como alias (um endereço fictício contendo uma lista de endereços eletrônicos). Usando esse recurso, qualquer mensagem enviada para o endereço alias é, automaticamente, reenviada para todos os endereços constantes da lista associada. USENET (Netnews) É um serviço de difusão e intercâmbio de mensagens trocadas entre usuários da rede sobre assuntos específicos. O netnews ou USENET news, ou simplesmente news provê um serviço semelhante ao das listas de discussão, porém com maior abrangência e facilidade de participação, além de ser operado de forma diferente do serviço de listas. Ao contrário das listas de discussão, em que as mensagens são enviadas para cada membro da lista, as mensagens de news são enviadas para um determinado computador da rede e de lá são reenviadas, em bloco, para os computadores que aceitam esse serviço. As mensagens podem então ser lidas por qualquer usuário desses computadores, sem necessidade de subscrever ao serviço, bastando ter acesso a um programa específico para leitura de news. As mensagens do netnews são classificadas em categorias chamadas newsgroups que, por sua vez, são organizadas em grandes grupos hierárquicos, tais como: alt (alternativos), comp (computadores), misc (miscelânea), news, rec (recreacional), sci (ciência), soc (social), entre outros. Os recursos básicos oferecidos pelos programas de leitura de news incluem: seleção de newsgroups preferenciais, leitura de mensagens (com marcação de mensagens não lidas), trilhas de discussão (para refazer a sequência de uma discussão), postagem de mensagens (para um dado newsgroup ou para o autor de uma dada mensagem).

Shel Seguro (SSH) É um serviço que permite ao usuário criar um terminal e enviar comandos para um computador remoto interligado à rede. Uma vez feita conectado, o usuário pode usar recursos do computador remoto como se estivesse lá. O SSH substitui o protocolo TELNET que também cumpre esta finalidade. A diferença principal entre TELNET e SSH é que o segundo criptografa os dados antes de enviá-lo péla rede. Atualmente o uso do TELNET é considerado uma falha de segurança. No entanto os clientes TELNET ainda podem ser de utilidade. O cliente TELNET tenta se conectar na porta 23 por padrão, mas a maioria das implementações podem se conectar a qualquer porta. O TELNET é um protocolo muito simples. O que ele faz é, simplesmente, repassar o texto digitado pelo usuário ao servidor e exibir ao cliente, no terminal, o texto enviado pelo servidor. Por isto, em alguns casos, é útil conectarmos o cliente TELNET a uma porta diferente da 23, e agirmos, nós mesmos, como um cliente para o servidor conectado. Por exemplo, se conectarmos um cliente TELNET na porta 80, e digitarmos uma requisição HTTP válida, o TELNET nos mostrará exatamente a resposta do servidor no terminal, com todos os cabeçalhos e códigos próprios do HTTP. Tal prática pode ser útil para testes de softwares. O Windows inclui um cliente TELNET (chamado TELNET). Experimente comandar “TELNET WWW.UFJF.BR 80” . O programa mostrará uma mensagem dizendo que você está conectado. Digite “GET /index.html HTTP/1.0”. Deverá surgir na tela os cabeçalhos HTTP e o código da página da UFJF. O protocolo SSH prevê a possibilidade de redirecionamento de dados para que possa ser utilizado para prover criptografia a outro protocolo. Esta possibilidade é chamada tunelamento. O cliente de qualquer serviço passa os dados a enviar para o cliente SSH, que os criptografa e envia para o servidor SSH que os decifra e passa para o servidor adequado (caminho semelhante é percorrido no sentido inverso (do servidor para o cliente). Transferência de Arquivos (FTP) É o serviço básico de transferência de arquivos na rede. É conhecido no jargão Internet como FTP, acrônimo de File Transfer Protocol. Usando FTP, um usuário da rede pode carregar (upload) arquivos de seu computador para um outro ou descarregar (download) arquivos de um dado computador para o seu. Para tanto, o usuário deve ter permissão de acesso ao computador remoto. Um serviço especial de FTP, conhecido como FTP anônimo (anonymous FTP),

permite que um usuário remoto "puxe" arquivos do computador em que o serviço está instalado, sem necessidade de obter permissão de acesso a ele. Para evitar acesso indevido aos arquivos de uso local do computador remoto, os arquivos disponíveis via FTP anônimo são armazenados em área separada daqueles. Configuração Automática de Estações (DHCP) A necessidade de configuração automática de hosts (estações, computadores) surgiu primeiramente com as máquinas diskless (sem disco) que, por somente disporem de meios de armazenamento volátil (memória RAM), tinham de ser configuradas a cada inicialização. Atualmente utiliza-se protocolos de configuração automática principalmente para facilitar o controle das estações pelo gerente da rede, mantendo-se os dados de configuração centralizados em um único ponto (o servidor de configuração). O primeiro protocolo para esta finalidade chamou-se RARP (Reverse Address Resolution Protocol) que funciona de forma muito semelhante ao ARP, porém de forma inversa. Uma comunicação em broadcast é enviada pela máquina que precisa de um IP, contento o seu endereço físico, e o servidor RARP responde com o IP que deve ser utilizado (no ARP, é enviado um IP e a resposta contêm um endereço físico). Por ser situado na camada física, o RARP é de difícil utilização, por isto foi criado o BOOTP (BOOTstrap Protocol), que realiza tarefa semelhante, utilizando o UDP para comunicação. Atualmente o protocolo mais utilizado é o DHCP (Dynamic Host Configuration Protocol) que possibilita o envio de várias informações de configuração além do endereço IP (máscara de rede, IP do servidor de DNS, etc), além de gerenciamento de tempos de utilização de endereços. Uma máquina que utilize o DHCP deve ao inicializar colocar na rede um pacote de broadcast contendo seu endereço MAC. Pode existir mais de um servidor DHCP na rede, todos responderão, mas o cliente utilizará apenas os dados de configuração do primeiro servidor que responder. Ao ser desligado o cliente deve comunicar ao servidor que poderá alocar aquele IP para outra máquina, se necessário. Um prazo de validade da configuração será recebido pelo cliente. Sempre que o prazo de validade se esgotar, o cliente deve se comunicar novamente com o servidor para “renovar” os dados de configuração. Caso o cliente seja desligado de forma inadequada, não informando o fato ao servidor, os dados de configuração utilizados estarão disponíveis para reutilização ao final do prazo de validade.

4.9 Tipos de Conexão/Utilização na INTERNET Provedor de Backbone Entidade mantenedora de rede de longa distância (WAN), de âmbito multiregional ou nacional, com o objetivo básico de "repassar" conectividade à rede através de vários Pontos-de-presença judiciosamente distribuídos pela região a ser coberta. A Internet é uma coleção dessas redes, mantidas por provedores de backbone. A RNP e a EMBRATEL são provedores deste tipo. Um provedor de serviços de backbone opera, pois, no atacado de conectividade, vendendo acesso a outras empresas que farão a (re)venda de acesso para usuários finais ou simplesmente utilizarão a rede para fins institucionais internos. O jogo de um provedor de backbone, portanto, é de grande escala e normalmente se mede em investimentos na casa dos milhões de reais. Abaixo podemos observar algumas ilustrações retiradas do site da embratel (http://www.embratel.com.br/Embratel02/cda/portal/0,2997,MG_P_951,00.html), sobre seu backbone.

Provedor de Acesso O provedor de acesso é aquele que se conecta a um provedor de backbone através de uma linha de boa qualidade e revende conectividade na sua área de atuação a outros provedores (usualmente menores), instituições e especialmente a usuários individuais, através de linhas dedicadas ou mesmo através de linhas telefônicas discadas.

O provedor de acesso é, portanto um varejista de conectividade à Internet, e como todo varejista pode operar em diversas escalas, desde um nível mínimo (ex.: uma máquina e umas poucas linhas telefônicas para acesso discado) até um nível de ampla atuação em uma região, aproximando-se da escala de atuação de provedores de backbone. Usuários Individuais Pessoas físicas ou jurídicas que contratam acesso por linha telefônica discada a computadores e dispositivos mantidos por provedores de acesso. Provedor de Informação Outra forma de explorar comercialmente os recursos da Internet é através da disponibilização de informações na rede. O exemplo mais simples seria a venda de informação de algum tipo. O empreendedor seria dono de uma base de dados e estabeleceria contas para os usuários, que acessariam o sistema mediante o uso de senhas. O provedor cobraria taxas para os portadores de senhas ou venderia espaço para marketing a terceiros. Usuário Institucional .Uma terceira razão para uma instituição comercial se ligar à Internet é permitir o acesso de sua rede local (ou de longa distância) à grande gama de serviços que ela oferece. Ali existe uma infinidade de informações relevantes a diversas áreas de atuação. Assim, as instituições podem se conectar à Internet, seja para obter acesso a bancos de dados, para permitir que parte de seu staff participe de grupos eletrônicos de discussão, para garantir a comunicação via correio eletrônico com clientes e fornecedores ou, simplesmente, para ver o que a concorrência está fazendo.

5 - Segurança em Redes
A segurança em redes é, na atualidade um assunto de interesse geral, amplo e irrestrito. Até os sites mais despretensiosos, aparentemente sem qualquer informação de interesse são invadidos e utilizados como base para ataques a outros sites, a fim de dificultar a identificação do atacante. 5.1 - Principais tipos de ataque

Invasões: Ocorre quando o atacante consegue acesso não autorizado a algum recurso da rede. O atacante explora de falhas em programas, principalmente servidores, descobre uma senha utilizando engenharia social (enganando uma pessoa) ou força bruta (testando exaustivamente o espaço de possíveis senhas) Cavalos de Troia (trojans): O atacante consegue instalar de alguma forma um programa no computador atacado. Este programa normalmente vai usualmente embutido em outro inofensivo (daí o nome) e, uma vez instalado pode fazer qualquer coisa no computador instalado, envia dados sensíveis (senhas) ao atacante como, por exemplo, o arquivos de senhas do sistema. Negação de serviço (DoS): O atacante não invade a máquina alvo, mas envia um grande número de solicitações de serviço que o alvo, sobrecarregado, passa a negar serviço a usuários legítimos por exaustão de recursos.

5.2 – Boas Práticas

Versões atualizadas: A correção de falhas de segurança está entre as principais causas de atualização para programas. Manter as últimas versões significa diminuir o número de falhas que podem ser exploradas Desenvolvimento de Cultura de segurança: A criação de boas senhas, de tamanho suficiente, e de difícil “adivinhação” (complexidade, ausente de dicionários, não baseada e datas, telefones, etc) é fundamental para a segurança de qualquer rede. Outro aspecto cultural importante é a manutenção do segredo das senhas (não compartilhamento) Manutenção do mínimo: Quanto menos servidores instalados em sua rede, menor a probabilidade de um deles possuir uma falha de segurança Scanear periodicamente: Programas para detecção de vulnerabilidades,

amplamente utilizados por invasores, podem ser utilizados por gerentes de segurança para detectar e sanar problemas Firewalls, NAT: São filtros que aplicados em um gateway de rede podem limitar o tráfego de pacotes a determinadas portas, endereços IP, ou até mesmo sites.

5.3 – Criptografia Criptografia (kryptós, "escondido", e gráphein, "escrita") é o estudo dos princípios e técnicas pelas quais dados podem ser transformados da sua forma original para outra ilegível. Pode visar:  confidencialidade da mensagem: só o destinatário autorizado deve ser capaz de extrair o conteúdo da mensagem da sua forma cifrada. Além disso, a obtenção de informação sobre o conteúdo da mensagem (como uma distribuição estatística de certos caracteres) não deve ser possível, uma vez que, se o for, torna mais fácil a análise criptográfica.  integridade da mensagem: o destinatário deverá ser capaz de determinar se a mensagem foi alterada durante a transmissão.  autenticação do remetente: o destinatário deverá ser capaz de identificar o remetente e verificar que foi mesmo ele quem enviou a mensagem.  não-repúdio ou irretratabilidade do emissor: não deverá ser possível ao emissor negar a autoria da mensagem. É uma ciência antiga, de grande interesse militar, e um grande motivador para o desenvolvimento da ciência da computação. 5.4 - Algoritmos de Hash São algoritmos sem volta, ou seja, não podemos obter os dados originais a partir do dado cifrado. Pode ser utilizado, por exemplo, para autenticação. A senha cifrada é armazenada em um banco de dados. O usuário digita a senha ao solicitar autenticação. A senha é recriptografada e comparada com a armazenada no banco de dados. A vantagem deste processo é que nem mesmo quem tenha acesso ao banco de dados sabe as senhas dos usuários. Exemplo: MD5

5.5 - Algoritmos Simétricos

São algoritmos em que a chave utilizada na cifragem é a mesma utilizada na decodificação da mensagem. São rápidos e muito utilizados, mas dependem de uma forma confiável para a transmissão da chave, o que pode ser um problema para a maioria das aplicações computacionais. Exemplos:3DES, AES, BlowFish

5.6 - Algoritmos Assimétricos Utiliza um par de chaves, se criptografamos com uma deciframos com a outra e vice versa. Normalmente instituímos uma chave como privada, e não a divulgamos para rigorosamente ninguém, e outra como pública e a divulgamos amplamente, sem comprometimento da segurança. Quando necessitamos confiabilidade ou garantia de integridade, criptografamos com a chave pública do destinatário. Desta forma, somente ele decifrará a mensagem (possuidor da chave privada correspondente). Se desejamos assinar uma mensagem (autenticação, não repudiação), a criptografamos com nossa chave privada. Nosso interlocutor pode, então, ter certeza da origem posto que a mensagem foi decifrada corretamente pela nossa chave pública. Problema: ter certeza de qual é realmente a chave pública do interlocutor. Exemplo: RSA

5.7 - Certificados digitais São documentos digitais que garantem que uma chave pública, relativa a uma assinatura digital, pertença a uma determinada entidade ou pessoa. Este certificado é emitido por uma organização chamada Autoridade Certificadora (Certification Authority – CA) de confiabilidade inquestionável que irá associar a chave pública à identidade de uma pessoa através de dados como: endereço, telefone, carteira de identidade.

6 Outros tipos de rede
6.1 IPX / SPX

Protocolo da NOVELL muito popular, mas vem perdendo mercado para o TCP / IP atualmente, dado a popularização da INTERNET. Bem mais simples que o TCP, e por isso mais eficiente pois utiliza cabeçalhos mais curtos, o que implica em menor overhead. O IPX possui função semelhante ao IP e o SPX ao TCP. 6.2 X.25 e Frame Relay

Estes são os dois principais protocolos utilizados para a concretização das redes WAN das empresas de telefonia. O X.25 é um protocolo antigo, definido pelo ITU na década de 70, que previa um pesado controle de detecção e correção de erro sobre cada conexão que compunha um caminho virtual entre dois pontos da rede. Tal controle era necessário na época, pois as conexões físicas eram pouco confiáveis, e os computadores eram caros e não podiam perder tempo de processamento para checagem dos dados transmitidos pelas linhas de comunicação. Esta realidade se alterou e surgiu o Frame Relay que é uma simplificação do X.25, que praticamente não faz controle de erro, cuja probabilidade diminuiu muito com as conexões de fibra ótica e, quando detecta um conjunto de dados com problemas, simplesmente o descarta, deixando todo o encargo da recuperação do erro com os computadores envolvidos nas extremidades da conexão. Com isto, o Frame Relay consegue velocidades muito superiores as dos seu antecessor, e está gradualmente o substituindo nas empresas de telefonia. 6.3 ATM (Assyncronous Transfer Mode)

Protocolo de alto desempenho, com utilização ainda restrita a empresas de telefonia e provedores de backbone devido ao custo ainda alto dos equipamentos. Baseia-se na transmissão da informação em pacotes de tamanho fixo muito pequenos (53 bytes) denominados células. O protocolo é orientado a conexão, ou seja, o roteamento é feito apenas uma vez e o caminho é armazenado nos switches, que possuem papel semelhante ao dos roteadores nas redes TCP / IP. Observe que as redes TCP / IP fazem o roteamento de cada pacote individualmente. Este tipo de rede é dita orientada a

datagrama. Na rede ATM, antes de se trocar a primeira informação, todo o roteamento feito, criando-se um canal virtual (Virtual Channel – VC). Cada ligação entre os switches é chamada de um caminho virtual (Virtual Path – VP). Os VC´s são, portanto, uma coleção de VP´s que levam ao destino desejado. Cada célula carrega o código de seu VC. Ao chegar em um switch, uma tabela de VC´s é consultada para descoberta da porta do VP correto. Note que esta tabela é bem menor to que as tabelas de roteamento IP tradicionais, pois contêm apenas os VC´s ativos no momento, e não referências para todas as redes da internet. As redes ATM implementam mecanismos para garantia de qualidade de serviço (QoS – Quality of Service). Ao ser estabelecida uma conexão, a largura de banda necessária deve ser informada e a conexão só é estabelecida se a rede realmente puder suportar a comunicação com aquela velocidade. Conexões podem ser eventualmente reacusadas mas, após estabelecidas, a largura de banda é garantida. Os switches tem papel chave nas redes ATM, sendo dispositivos extremamente rápidos. Nos roteadores as mensagens são recebidas e armazenadas em buffers. Dai são roteados e vão para um buffer de saída onde esperam até que possam ser inseridos na rede de destino. Nos switches a mensagem começa a ser encaminhada antes mesmo que termine de chegar. As redes ATM foram projetadas para atingir altas velocidades, sendo apropriadas para redes tipo B-ISDN (Broadband – Integrated Services Digital Networks), que devem suportar aplicações que requerem alto desempenho como transmissão de voz e vídeo em tempo real. Dada a grande disseminação do protocolo TCP/IP, tornou-se difícil a sua substituição pelo ATM. No entanto, divido ao seu desempenho muito superior, o ATM vem sendo utilizado como se fosse um meio físico de comunicação, utilizando-se o TCP/IP sobre o ATM. Desta forma todas as aplicações TCP/IP já construídas podem continuar a ser utilizadas e o desempenho do ATM é aproveitado. O TCP/IP é desnecessário, pois todas as suas funções são supridas com vantagens pelo ATM, é mantido apenas para que possamos continuar a utilizar as aplicações já existentes.