147
unesp UNIVERSIDADE ESTADUAL PAULISTA São José do Rio Preto, SP Bacharelado em Ciências da Computação R R E E D D E E S S D D E E C C O O M M P P U U T T A A D D O O R R E E S S CCE-546 M M a a t t e e r r i i a a l l D D i i d d á á t t i i c c o o e e N N o o t t a a s s d d e e A A u u l l a a s s Versão 3.0 http://www.dcce.ibilce.unesp.br/redes Adriano Mauro Cansian [email protected] 2000

Curso de Redes de Computadores - 2000 · Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto iii “Pasmo sempre quando acabo qualquer

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

unesp UNIVERSIDADE ESTADUAL PAULISTA

São José do Rio Preto, SPBacharelado em Ciências da Computação

RREEDDEESS DDEE CCOOMMPPUUTTAADDOORREESSCCCCEE--554466

MMaatteerriiaall DDiiddááttiiccoo ee NNoottaass ddee AAuullaassVersão 3.0

http://www.dcce.ibilce.unesp.br/redes

Adriano Mauro Cansian

[email protected]

2000

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

ii

Prefácio

Este material é uma coleção de notas de aula do Curso de Redes de Computadorespara o primeiro semestre de 2000, sob responsabilidade do Professor Adriano MauroCansian, na UNESP – Universidade Estadual Paulista, Campus de São José do Rio Preto.Este material não substitui o livro texto adotado no curso (vide as informações sobrebibliografia em http://www.dcce.ibilce.unesp.br/redes/bibliografia.html). Estas notas deaula devem ser usadas de modo a complementar o livro texto, e em conjunto com outrasreferências recomendadas. A principal função é facilitar a realização das anotações dostópicos mais importantes discutidos em sala de aula, agilizando assim o andamento docurso.

A primeira versão foi utilizada no primeiro semestre de 1998. No ano de 1999 estematerial passou por uma revisão completa, onde novos tópicos foram adicionados e algunsforam suprimidos. Esta é a terceira versão, mais aprimorada, mas que também vempassando por uma série de correções, atualizações e aprimoramentos do texto e das figuras.Entretanto, algumas imperfeições ainda podem estar presentes nos textos. Sugestões eapontamentos de falhas podem ser enviadas diretamente ao autor, [email protected].

É importante ressaltar que este material tem finalidade meramente educacional.Estas notas de aula contêm figuras e textos extraídos de outras fontes, as quais sãodevidamente citadas. Os direitos autorais dos textos citados são de propriedade de seusdetentores. A citação ou uso de material de outros autores, quando ocorrer, tem finalidademeramente didática, dentro dos propósitos da disciplina “Redes de Computadores”. Useeste material por sua conta e risco. Não nos responsabilizamos por quaisquer danos diretosou indiretos que o uso deste material possa causar. O material disponível tem comoobjetivo único servir como texto de apoio para o desenvolvimento da disciplina “Redes deComputadores”. Este material não pode ser usado para outras finalidades, e não pode sercedido ou emprestado para pessoas que não estejam matriculadas na disciplina. Estematerial é de inteira responsabilidade do autor, e não reflete as opiniões da UNESP. AUNESP não é responsável pelas informações e opiniões contidas neste material.

Créditos

Estas notas de aula são, em sua grande parte, baseadas no livro de Andrew S.Tanenbaum – “Computer Networks”, 3th Edition - Prentice-Hall (ISBN 0-13-349945-6) eem sua tradução “Redes de Computadores” - Terceira Edição, da Editora Campus (ISBN85-352-0157-2). Para informações mais detalhadas sobre a bibliografia do curso, consultehttp://www.dcce.ibilce.unesp.br/redes/bibliografia.html.

Adriano Mauro Cansian, 15 de fevereiro de 2000.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

iii

“Pasmo sempre quando acabo qualquer coisa.Pasmo e desolo-me. O meu instinto de perfeiçãodeveria inibir-me de acabar; deveria inibir-me atéde dar começo. Mas distraio-me e faço. O queconsigo é um produto, em mim, não de umaaplicação de vontade, mas de uma cedência dela.Começo porque não tenho força parra pensar;acabo porque não tenho alma para suspender. Estelivro é a minha cobardia.”

Fernando Pessoa – O livro do desassossego, trecho 152.

iv

Créditos

Estes slides para notas de aula são, em sua grande parte, baseadas nos livros textosadotados para o curso no ano de 2003: “Computer Networking: A Top-Down ApproachFeaturing the Internet” – James F. Kurose & Keith W. Ross (ISBN: 0201477114),Editora Addison Wesley Longman, e “Computer Networks”, 3th Edition, de Andrew S.Tanenbaum – Prentice-Hall (ISBN 0-13-349945-6) e em sua tradução “Redes deComputadores” – Terceira Edição, da Editora Campus (ISBN 8535201572). Parainformações mais detalhadas sobre a bibliografia do curso, bem como outras referênciasutilizadas, consulte http://www.acmesecurity.org/redes/bibliografia.html.

Copyright (c) ADRIANO MAURO CANSIAN. É dada permissão paracopiar, distribuir e/ou modificar este documento sob os termos daLicença de Documentação Livre GNU, Versão 1.1 ou qualquerversão posterior publicada pela Free Software Foundation emhttp://www.gnu.org/licenses/licenses.html, SEM Seções Invariantes,com os Textos da Capa da Frente sendo “Curso de Redes deComputadores – Prof. Adriano Mauro Cansian”, e com os textos daquarta capa sendo as páginas numeradas de “ ii ” até “ v ” destedocumento.

Contato:

Adriano Mauro CansianProfessor Assistente Doutor

[email protected] / [email protected]

UNESP - Universidade Estadual PaulistaCampus de São José do Rio Preto

Depto. de Ciência da Computação e EstatísticaLaboratório ACME! de Pesquisa em Segurança de Computadores e Redes

Endereço:R. Cristóvão Colombo, 2265 - Jd. Nazareth15055-000 * São José do Rio Preto, SP.Tel. (17) 221-2475 (laboratório) / 221-2201 (secretaria)http://www.acmesecurity.org/~adriano

Chave PGP:Adriano Mauro Cansian <[email protected]>Key ID: 0x3893CD2BKey Type: DH/DSSKey Fingerprint: C499 85ED 355E 774E 1709 524A B834 B139 3893 CD2B

v

ACME! STANDARD DISCLAIMERPlease, read carefully.

This ACME! product is meant for educational purposes only. Any resemblance to real persons, living or dead is purelycoincidental. Void where prohibited. Some assembly required. List each check separately by bank number. Batteries notincluded. Contents may settle during shipment. Use only as directed. No other warranty expressed or implied. Do notuse ACME! while operating a motor vehicle or heavy equipment. Postage will be paid by addressee. Subject to CABapproval. This is not an offer to sell securities. Apply only to affected area. ACME! may be too intense for some viewers.Do not stamp. Use other side for additional listings. For recreational use only. Do not disturb. All models over 18 yearsof age. If condition persists, consult your physician. No user-serviceable parts inside. Freshest if eaten before date oncarton. Subject to change without notice. Times approximate. Simulated picture. No postage necessary if mailed in theUnited States. Breaking seal constitutes acceptance of agreement. For off-road use only. As seen on TV. One size fitsall. Many suitcases look alike. Contains a substantial amount of non-tobacco ingredients. Colors may, in time, fade. Wehave sent the forms which seem right for you. Slippery when wet. For office use only. ACME! Research is not affiliatedwith the American Red Cross. Drop in any mailbox. Edited for television. Keep cool. process promptly. Post office willnot deliver without postage. List was current at time of printing. Return to sender, no forwarding order on file, unable toforward. ACME! is not responsible for direct, indirect, incidental or consequential damages resulting from any defect,error or failure to perform. At participating locations only. Not the Beatles. Penalty for private use. See label forsequence. Substantial penalty for early withdrawal. Do not write below this line. Falling rock. Lost ticket pays maximumrate. Your canceled check is your receipt. Add toner. Place stamp here. Avoid contact with skin. Sanitized for yourprotection. Be sure each item is properly endorsed. Sign here without admitting guilt. Slightly higher west of theMississippi. Employees and their families are not eligible. Beware of dog. Contestants have been briefed on somequestions before the show. Limited time offer, call now to ensure prompt delivery. You must be present to win. Nopasses accepted for this engagement. No purchase ecessary. Processed at location stamped in code at top of carton.Shading within a garment may occur. Use only in a well-ventilated are. Keep ACME! away from fire or flames. Replacewith same type. Approved for veterans. Booths for two or more. Check here if tax deductible. Some equipment shown isoptional. Price does not include taxes. No Canadian coins. Not recommended for children. Prerecorded for this timezone. Reproduction strictly prohibited. No solicitors. No alcohol, dogs or horses. No anchovies unless otherwisespecified. Restaurant package, not for resale. List at least two alternate dates. First pull up, then pull down. Call ACME!toll free before digging. Driver does not carry cash. Some of the trademarks mentioned in this product appear foridentification purposes only. Record additional transactions on back of previous stub. Unix is a registered trademark ofAT&T. Do not fold, spindle or mutilate. No transfers issued until the bus comes to a complete stop. Package sold byweight, not volume. Your mileage may vary. This article does not reflect the thoughts or opinions of either myself, mycompany, my friends, or my cat. Don't quote me on that. Don't quote me on anything. All rights reserved. You maydistribute this article freely but you may not take a profit from it. Terms are subject to change without notice. Illustrationsare slightly enlarged to show detail. Any resemblance to actual persons, living or dead, is unintentional and purelycoincidental. Do not remove this disclaimer under penalty of law. Hand wash only, tumble dry on low heat. Do not bend,fold, mutilate, or spindle. No substitutions allowed. For a limited time only. This ACME! article is void where prohibited,taxed, or otherwise restricted. Caveat emptor. Article is provided "as is" without any warranties. Reader assumes fullresponsibility. An equal opportunity article. No shoes, no shirt, no articles. Quantities are limited while supplies last. Ifany defects are discovered, do not attempt to read them yourself, but return to an authorized service center. Read atyour own risk. Parental advisory - explicit lyrics. Text may contain explicit materials some readers may findobjectionable, parental guidance is advised. Keep away from sunlight. Keep away from pets and small children. Limitone-per-family please. No money down. No purchase necessary. You need not be present to win. Some assemblyrequired. Batteries not included. Instructions are included. Action figures sold separately. No preservatives added.Slippery when wet. Safety goggles may be required during use. Sealed for your protection, do not read if safety seal isbroken. Call before you dig. Not liable for damages arising from use or misuse. For external use only. If rash, irritation,redness, or swelling develops, discontinue reading. Read only with proper ventilation. Avoid extreme temperatures andstore in a cool dry place. Keep away from open flames. Avoid contact with eyes and skin and avoid inhaling fumes. Donot puncture, incinerate, or store above 120 degrees Fahrenheit. Do not place near a flammable or magnetic source.Smoking this article could be hazardous to your health. The best safeguard, second only to abstinence, is the use of acondom. No salt, MSG, artificial color or flavoring added. If ingested, do not induce vomiting, and if symptomspersist,consult a physician. Warning: Pregnant women, the elderly, and children should avoid prolonged exposure toACME! Caution: ACME! may suddenly accelerate to dangerous speeds. ACME! contains a liquid core, which if exposeddue to rupture should not be touched, inhaled, or looked at. Do not use ACME! on concrete. Discontinute use of ACME!if any of the following occurs: Itching, Vertigo, Dizziness, Tingling in extremities, Loss of balance or coordination, Slurredspeech, Temporary blindness, Profuse Sweating, or Heart palpitations. If ACME! begins to smoke, get awayimmediately. Seek shelter and cover head. ACME! may stick to certain types of skin. When not in use, ACME! should bereturned to its special container and kept under refrigeration. Failure to do so relieves the makers of ACME! , ACME!Products Incorporated, and it's parent company, ACME! Chemical Unlimited, of any and all liability. Ingredients ofACME! include an unknown glowing substance which fell to Earth, presumably from outer space. ACME! has beenshipped to troops in Saudi Arabia and is also being dropped by warplanes on Iraq. Do not taunt ACME! May cause anyof the aforementioned effects and/or death. Articles are ribbed for your pleasure. Possible penalties for early withdrawal.Offer valid only at participating sites. Slightly higher west of the Rockies. Allow four to six weeks for delivery. Must be 18to read. Disclaimer does not cover misuse, accident, lightning, flood, tornado, tsunami, volcanic eruption, earthquake,hurricanes and other Acts of God, neglect, damage from improper reading, incorrect line voltage, improper orunauthorized reading, broken antenna or marred cabinet, missing or altered serial numbers, electromagnetic radiationfrom nuclear blasts, sonic boom vibrations, customer adjustments that are not covered in this list, and incidents owing toan airplane crash, ship sinking or taking on water, motor vehicle crashing, dropping the item, falling rocks, leaky roof,broken glass, mud slides, forest fire, or projectile (which can include, put not be limited to, arrows, bullets, shot, BB's,shrapnel, lasers, napalm, torpedoes, or emissions of X-rays, Alpha, Beta and Gamma rays, knives, stones, etc.). Otherrestrictions may apply. This supersedes all previous notices. The ACME! Computer Security Research.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

1

1. Conceitos Fundamentais em Redes de Computadores1

1.1. Introdução

O ponto chave da tecnologia dominante neste século tem sido a aquisição, oprocessamento e a distribuição da informação. O Século 20 tornou-se a era da informação,onde houve um salto sem precedentes:

• Instalação de redes telefônicas de alcance mundial.• Invenção do rádio e televisão.• Nascimento e o contínuo crescimento da indústria de computadores.• Lançamento de satélites de comunicação.

Nos dias atuais as áreas descritas acima estão convergindo rapidamente e as diferençasentre coleta, transporte, armazenamento e processamento de informação desaparecemrapidamente.

Definição de Redes de Computadores: um conjunto de computadores autônomosinterconectados.

Interconectados ! Quando podem trocar informações através de algum meio, tais comocabos de cobre, fibras ópticas, micro-ondas, infra-vermelho, satélites, etc...

Aqui cabe fazer uma observação: Sistema DISTRIBUÍDO é diferente de Redes deComputadores.

Num sistema distribuído a existência de diversos computadores autônomos é transparente,ou seja ! o usuário não tem conhecimento deles ! o S.O. realiza a distribuição dastarefas.

Num Sistema Distribuído ! o USUÁRIO não sabe que há diversos processadores. Paraele é como se existisse um único processador virtual.

REDE ! Os usuários devem estabelecer uma sessão (ou fazer um “login”) explicitamenteem uma máquina, submeter explicitamente as tarefas remotas, e movimentar explicitamentearquivos ou outros dados.

Sist. Distribuído ! Nada é explícito, tudo é automático.

Na prática Sistema Distribuído é um sistema de software, instalado em umarede. O software é quem fornece a coesão e a transparência.

1 Nesta parte inicial, apresentamos um resumo dos pontos principais abordados nos capítulos I, II eIII do livro de Andrew S. Tanenbaum – “Computer Networks”, 3rd Edition. O livro permite oestabelecimento de conceitos muito bem definidos, os quais serão utilizados ao longo do curso. Recomenda-se fortemente uma leitura detalhada destes capítulos.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

2

1.2. A Utilização das Redes de Computadores

Objetivos:

• Fazer todos os programas, dados e outros recursos, disponíveis a todos, sem levar emconta a localização física do recurso e do usuário.

• Barateamento de processamento. Até 1970, computadores eram muito caros secomparados aos custos de comunicação. Atualmente, a situação se inverte: é maisbarato colocar vários computadores para análise local de dados, com transmissãoeventual destes dados.

• Fornecer um meio de comunicação eficiente entre pessoas trabalhando distantes umasdas outras.

• Adicionalmente, pequenos computadores tem uma relação de preço/performance muitomelhor que os mainframes. Os mainframes são mais ou menos 10 vezes maisrápidos que os micro-computadores, mas são mais ou menos 1000 vezes maiscaros.

Isto favorece a criação de redes locais de computadores (uma coleção decomputadores colocados perto uns dos outros), ao invés de um mainframe num centro deprocessamento de dados.

Em Seguida ! será feita uma importante apresentação sobre a classificação das redes decomputadores.

1.3. Hardware de Rede 1

Não existe um modo exato de classificar as redes de computadores. Entretanto doisparâmetros se destacam !ESCALA e TECNOLOGIA DE TRANSMISSÃO.

1.3.1. Classificação por ESCALA

Esta classificação é baseada no alcance que a rede possui.

Distância Localização Exemplo0.1 m Placa de Circuito Barramento de micro1 m Sistema Multiprocessador10 m Sala

100 m a 1 Km Prédio ou CampusRedes Locais

(LAN)10 Km Cidade100 Km País1000 Km Continente

RedesLonga Distância

(WAN)10.000 Km Planeta Interconexão de WANs

1 Para referência de estudo: Redes de Computadores - A.S.T. 3ª. Ed. – Tópico 1.2

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

3

1.3.2. Classificação por TECNOLOGIA DE TRANSMISSÃO

• Redes de difusão (broadcasting)• Redes ponto a ponto

* Redes de DIFUSÃO

Redes de DIFUSÃO (broadcasting) ! Têm apenas um canal de comunicação,compartilhado por todas as máquinas.

As mensagens curtas (por enquanto chamadas de “pacotes”1) enviadas por uma dasmáquinas são recebidas por todas as outras.

Campo de endereço ! Especifica o destinatário. Quando recebe um pacote, a máquinaanalisa o endereço e o processa ou o ignora ! verifica se o pacote é ou não para ela.

Rede de DIFUSÃO ! Permite ainda endereçar uma mensagem a todos os destinos,usando um código especial contido no campo de endereço ! échamado de “endereço de broadcast” ! todas as máquinas na rederecebem e processam a mensagem ! difusão por broadcasting.

Multicasting ! Multi-difusão : transmissão para um subconjunto de máquinas. Máquinaspodem ser registradas em grupos ! Quando uma mensagem é enviada a um dado grupo,ele é entregue e processado por todas as máquinas inscritas neste grupo.

* Redes PONTO A PONTO

Redes ponto a ponto ! formadas por muitas conexões entre pares individuais demáquinas.

Para ir da origem ao destino é possível que uma mensagem deste tipo de rede tenha quepassar por uma ou mais máquinas intermediárias.

É possível haver rotas diferentes ! algoritmos de roteamento possuem importante papelneste tipo de redes.

Regra Geral ! redes menores (LANs) usam DIFUSÃO e as maiores (WANs) usamPONTO A PONTO.

1 As definições formais de pacotes, mensagens, e outros termos similares, serão vistos mais adiante nestecurso.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

4

As tecnologias de rede de difusão e ponto a ponto serão vistas mais uma vez, logo a seguir,ao se discutir as características básicas do hardware de rede.

1.4. Breve introdução ao hardware de rede

1.4.1. Redes Locais – LANs 1

LANs – Local Area Networks ! Normalmente redes privativas, contidas em algunsquilômetros de extensão. Mais usadas para conectar computadores pessoais e estações detrabalho ! compartilhamento e troca de informações.

LANs possuem tamanho restrito ! quer dizer que o pior tempo de transmissão é limitadoe conhecido previamente ! simplifica o projeto e o gerenciamento.

Em geral ! cabos de cobre ou mesmo pequenos lances de fibras ópticas.

Velocidade ! de 10 a 100 Mbps, baixo retardo (décimos de microseg.) e erro pequeno.

LANs de DIFUSÃO ! aceitam várias topologias. Discutiremos as LANs de DIFUSÃOum pouco mais detalhadamente a seguir.

Cable Computer

(b)(a)

Computer

Figura 1.1: Exemplos de rede de difusão

DIFUSÃO por BARRAMENTO ! a qualquer momento uma máquina desempenhapapel de máquina principal (mestre) e pode enviar uma mensagem ! neste momento asdemais serão impedidas de transmitir.

Deve haver um mecanismo de arbitragem para resolver conflitos quando duas máquinasquiserem fazer uma transmissão ao mesmo tempo ! este mecanismo pode sercentralizado ou distribuído.

Exemplo:

1 Para referência de estudo: Redes de Computadores - A.S.T. 3ª. Ed. – Tópico 1.2.1

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

5

Ethernet ! rede de barramento a 10 ou 100 Mbps ! os computadores podemestabelecer uma transmissão no momento que quiserem ! se houve uma “COLISÃO” dedois ou mais mensagens (envio de mensagens ao mesmo tempo), cada computador aguardaum tempo aleatório e tenta enviar novamente.

Outro tipo de DIFUSÃO ! anel (Token Ring)

Redes de Difusão ! podem ainda ser divididas em ESTÁTICAS ou DINÂMICAS,dependendo de como o canal é alocado.

Difusão ESTÁTICA ! o tempo é dividido em intervalos distintos, e um algoritmo derodízio é executado, fazendo com que as máquinas transmitam apenas no intervalo detempo que dispõem ! desperdiça a capacidade do canal quando uma máquina não tem oque transmitir no intervalo de tempo a ela destinado.

Portanto ! a maioria dos sistemas tenta alocar o canal DINÂMICAMENTE ! à medidaque é solicitado.

Métodos de alocação dinâmica: " Centralizados" Descentralizados

Centralizado: Apenas uma unidade de arbitragem define as prioridades da rede;aceita solicitações e toma decisões usando um algoritmo.

Descentralizado: Não há entidade central; cada máquina decide se deve ou nãotransmitir naquele momento.

1.4.2. Redes Geograficamente Distribuídas (WANs) 1

WANs - Wide Area Networks #Abrange uma área geograficamente ampla.

HOSTS (hospedeiros) ! conjunto de máquinas cuja finalidade é executar programas(aplicações) dos usuários.

Os hosts são conectados por uma ou mais subnets.

SUBNET ! sub-rede de comunicação. A tarefa da subnet é carregar mensagens de hostspara hosts.

Separando-se os aspectos de uma comunicação (a subnet) dos aspectos de aplicação (oshosts), o projeto da rede fica simplificado.

1 Para referência de estudo: Redes de Computadores - A.S.T. 3ª. Ed. – Tópico 1.2.3

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

6

Nas WANs a subnet consiste de dois componentes distintos:

" Linhas de Transmissão ! circuitos, linhas ou canais que levam os bits." Elementos de Comutação (ou de chaveamento) ! computadores especiais para

conectar duas ou mais linhas de transmissão, denominados de IMP (Interface MessageProcessor).

Neste curso, chamaremos os IMPs de roteadores (routers).

Router

Host Host

Host Host

Host

Router

Host Host

Host

Host

Router

Router

Router

Router

Host Host

Host Host

Fronteira da Subrede

LAN

Subrede

LAN IMP

IMP

IMPIMP

LAN

Figura 1.2: Exemplo de interconexão de subnets, hosts e IMPs (roteadores)

Em geral ! uma subnet (na maioria das vezes uma LAN) está ligada num roteador, mashá casos em que um host se liga direto a um roteador.

CUIDADO com o termo SUB-REDE (subnet) ! Originalmente designava apenas umconjunto de roteadores e linhas, mas não incluia os hosts. Com o tempo esteconceito foi se modificando. Este termo será novamente discutido maisadiante neste curso.

Existem basicamente dois tipos genéricos de projetos para a subnet de comunicação:

1. Rede de difusão (broadcast) ! já discutido2. Redes ponto-a-ponto

Retornando às subredes ponto a ponto:

Numa subnet ponto-a-ponto, a rede contém inúmeros cabos (ou linhas de dados privativas),cada um conectando um par de roteadores.

Se dois roteadores que não compartilham um mesmo cabo querem se comunicar, elesdevem fazê-lo indiretamente.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

7

Como se dá este processo:Um pacote enviado de um roteador para outro através de umroteador intermédiário ! pacote é recebido integralmente emcada roteador, onde é armazenado até a linha de saída solicitadaser liberada.

Subnets usando este princípio são chamadas store-and-forward.

Quase todas as WANs (com exceção de satélites) ! são store-and-forward

Várias topologias podem ser utilizadas para este tipo de subnet.

(a) (b) (c)

(d) (e) (f)

Figura 1.3: Exemplos de topologias de redes ponto a ponto (A.S.T - Fig.1-6)

1.4.3. Ligações Inter-redes 1

Existem redes com softwares e hardwares específicos, formando redes diferentes.

Redes diferentes precisam se comunicar entre si ! estabelecer conexões entre redesincompatíveis ! isso é possível usando-se equipamentos especiais chamados de gateways.

Gateway ! estabelece as conexões e faz as conversões necessárias de hardware esoftware.

1 Para referência de estudo: Redes de Computadores - A.S.T. 3ª. Ed. – Tópico 1.2.5

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

8

1.5. Software de Rede 1

Primeiras redes ! hardware era prioridade, e o software ficou em segundo plano.

Atualmente ! software de rede altamente estruturado.

!! ATENÇÃO !! A seguir é realizada uma importante discussão sobre a arquitetura deredes. Os conceitos apresentados nos tópicos a seguir são fundamentos essenciais para oentendimento deste curso. Note que, por enquanto, trataremos de uma estruturagenérica. Mais adiante falaremos dos modelos de redes.

1.5.1. Hierarquia de Protocolos e Arquitetura de Redes 2

Redução de Complexidade do Projeto ! as redes foram organizadas como uma série deCAMADAS ou NÍVEIS (layers), que são colocados um sobre o outro, formando umaespécie de pilha de protocolos.

É importante notar que...• Número de camadas;• Nome de cada camada;• Conteúdo de cada camada; e• Função de cada camada

...diferem de tipo de rede para rede.

Objetivo de cada camada ! oferecer determinados SERVIÇOS para as camadassuperiores ! oculta detalhes da implementação destes recursos.

Protocolo de comunicação da camada N ! regras e convenções usadas neste diálogo, ouseja, define como acontece a comunicação entre as partes envolvidas.

Comunicação horizontal aparente ! a camada “N” de uma máquina conversa diretamente(de forma aparente) com a camada “N” da outra máquina.

As entidades que ocupam mesmas camadas em máquinas diferentes são chamadasprocessos pares (peers proccess). Os peers se comunicam usando um protocolo.

1 Para referência de estudo: Redes de Computadores - A.S.T. 3ª. Ed. – Tópico 1.32 Para referência de estudo: Redes de Computadores - A.S.T. 3ª. Ed. – Tópico 1.3.1

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

9

Layer 5

Layer 4

Layer 3

Layer 2

Layer 1

Host 1

Layer 4/5 interface

Layer 3/4 interface

Layer 2/3 interface

Layer 1/2 interface

Layer 5 protocolLayer 5

Layer 4

Layer 3

Layer 2

Layer 1

Host 2

Layer 4 protocol

Layer 3 protocol

Layer 2 protocol

Layer 1 protocol

Physical medium

Figura 1.4: Arquitetura em camadas (pilha de protocolos)

Na verdade ! a comunicação não é horizontal, ou seja, os dados não são transferidosda camada N de uma máquina diretamente para acamada N da outra.

Cada camada transfere os dados e as informações de controle para a camadaimediatamente abaixo dela, até a última camada ser alcançada.

Abaixo da última camada ! meio físico através do qual ocorre a comunicação.

Entre cada par de camadas adjacentes existe uma interface.

Interface ! define quais operações primitivas são oferecidas pela camada inferiorpara a camada superior.

Interfaces # devem ser claras e bem definidas entre as camadas.

O conjunto de camadas e protocolos é chamado Arquitetura de Rede.

Fragmentação e headers

" Os headers contém informações sobre a unidade a ser transmitida. Nenhum headerpara camadas destinadas abaixo de N é passado para a camada N

" Cada peer “imagina” que se comunica horizontalmente.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

10

H2 H3 H4 M1 T2 H2 H3 M2 T2 H2 H3 H4 M1 T2 H2 H3 M2 T2

H3 H4 M1 H3 M2 H3 H4 M1 H3 M2

H4 M H4 M

M M

Layer 2 protocol

2

Layer 3 protocol

Layer 4 protocol

Layer 5 protocol

3

4

5

1

Layer

Source machine Destination machine

Figura 1.5: Exemplo de inserção e remoção dos headers entre os processos

1.5.2. Parâmetros no projeto das camadas

Questões de projeto fundamentais para o funcionamento das redes estão presentes emdiversas camadas. As mais importantes são discutidas a seguir.

1. Mecanismos para estabelecer conexão e desconexão

Rede com muitos computadores e muitos processos ! deve existir mecanismos para queum processo de uma máquina diga com quem ela deseja se comunicar ! necessárioexistir endereçamento pois existem vários destinos possíveis.

2. Regras para transferência de dados

$ Simplex – dados apenas numa direção.$ Half-duplex – dados em ambas as direções, mas não simultaneamente.$ Full-duplex – dados em ambas as direções simultaneamente.

3. Controle de erro (detecção e correção)

$ Muito importante, pois os circuitos físicos não são perfeitos.$ Deve haver definição e consenso do método utilizado.$ Devem existir mecanismos para informar o emissor quais mensagens foram recebidas

corretamente e quais não foram.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

11

4. Sistema de ordenação de mensagens

$ Lidar com possível perda de seqüência.$ Emissor deve prover mecanismos para o receptor remontar fragmentos.$ Deve numerar os fragmentos e definir como ordenar.

5. Controle de Fluxo

$ Afeta todas as camadas e tem relação com a velocidade dos dados.$ É problema quando o emissor é mais rápido que o receptor.

6. Problema da multiplexação de canais

$ Nem todas as camadas aceitam ou conseguem lidar com mensagens longas ! devehaver um mecanismos para desmontar, transmitir e remontar mensagens.

Problema ! o que fazer quando um processo insiste em enviar dados emunidades tão pequenas, de tal forma que envia-las em separado se tornaineficiente ?

Solução ! Reunir pequenas mensagens com um mesmo destino, dentro de umamensagem maior e desmembra-la no outro lado.

$ MULTIPLEXAÇÃO ! Quando for ineficiente ou caro configurar uma conexão paracada par de processos ! a camada inferior pode usar a mesma conexão paradiversas comunicações não relacionadas.

$ A multiplexação é necessária na camada física, por exemplo, onde a maior parte dotráfego de todas as conexões tem de ser enviada através de alguns poucos circuitosfísicos.

7. Problema de roteamento.

$ Quando houver mais de um caminho entre origem e destino, qual deve ser escolhido.

________________________________________________________________________Anotações:

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

12

1.6. Interfaces e Serviços 1

1.6.1. Terminologias

A seguir vamos definir algumas terminologias:

• ENTIDADES ! são elementos ativos em cada camada. Podem ser de software (porexemplo um processo) ou de hardware (por exemplo um chip de I/O).

• Entidades pares (peer entity) ! entidades da mesma camada, mas contidas emmáquinas diferentes.

Entidades da camada N ! implementam o serviço usado pela camada N+1 ! N é aprovedora e N+1 é a usuária.

A camada N pode usar os serviços da camada N-1 para oferecer seu serviço.

• SERVIÇOS estão disponíveis em SAPs (Service Access Points) ! os SAPs dacamada N são os locais onde a camada N+1 pode obter os serviços oferecidos.

Cada SAP ! possui um endereço exclusivo que o identifica.

Uma boa analogia ! o SAP é a tomada do telefone na parede. O endereço SAP é o númerodo telefone. Para ligar para alguém não adianta saber onde o SAP está, mas sim é precisoconhecer o endereço.

Conjunto de regras sobre a interface ! permite duas camadas trocarem informações.________________________________________________________________________Anotações:

1 Para referência consulte Redes de Computadores - A.S.T. 3a. Ed. - Tópico 1.3.3

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

13

1.6.2. Como ocorre a troca de informações

• Entidade em N+1 passa uma IDU (Interface Data Unit) para a entidade da camada N,através do SAP.

• IDU = SDU (Service Data Unit) + Informações de Controle.

• SDU ! informação passada para entidade par (através da rede) e para a camada N(camada abaixo).

• ICI ! Informação de controle : ajuda a camada inferior a realizar sua tarefa.

Para transferir a SDU ! a entidade da camada N talvez tenha que fragmenta-la ! atribuium cabeçalho às partes ! enviadas como um PDU (Protocol Data Unit), como porexemplo um PACOTE.

Os cabeçalhos da PDU são usados pelas entidades pares, para executar seu protocolo !identificam PDUs que possuem dados e que contém informações de controle, além decontadores e números seqüenciais.

Layer N+1

Interface

Layer N

ICI SDU

IDU

ICI SDU

SAP

SDU

SAP = Service Access Point IDU = Interface Data Unit SDU = Service Data Unit PDU = Protocol Data Unit ICI = Interface Control Information

Layer N entities exchange N-PDUs in their layer N protocol

HeaderN-PDU

Figura 1.6: Relação entre as camadas de uma interface (A.S.T. Fig.1-12)

1.6.3. Serviços Orientados À Conexão e Sem Conexão 1

O entendimento destes conceitos de “conexão” e “sem conexão” é de grandeimportância para a compreensão dos protocolos que serão estudados mais adiante. Vejamosestes conceitos detalhadamente.

1 Para referência ver Redes de Computadores - A.S.T. 3a. Ed. - Tópico 1.3.4

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

14

As camadas oferecem dois tipos de serviço paras camadas superiores:

• Serviços orientados à conexão (connection-oriented)• Serviços sem-conexão (connectionless)

Orientado à Conexão

Também chamado de serviço “com conexão”, ou simplesmente serviço “conectado”.

É semelhante ao serviço telefônico: para falar ! tira o fone do gancho, disca o número,fala e desliga.

Em rede, analogamente ! estabelece uma conexão, usa, e libera a conexão.

Essência ! emissor empurra objetos (bits) de um lado, os quais são recebidos peloreceptor, na mesma ordem, do outro lado.

Sem Conexão

Semelhante ao sistema postal ! cada carta (mensagem) carrega o endereço destinocompleto, e cada uma é enviada (“roteada”) através do sistema, de forma independente detodas as outras.

Se 2 mensagens são enviadas para o mesmo destino ! pode acontecer da última que foienviada, acabar chegando primeiro, ou vice-versa ! no serviço orientado a conexão issonunca ocorre.

1.6.4. Serviços confiáveis e não-confiáveis

Estão relacionados com a qualidade do serviço. Não tem relação com segurança,confidencialidade ou privacidade.

Serviços Confiáveis ! dados nunca serão perdidos.

Processo de confirmação de chegada dos dados ! acknowledgment ou “ACK”.

Aplicação de serviço orientado à conexão, e confiável (com ACK)! transferência dearquivos.

Serviço sem conexão, não-confiável (sem ACK) ! chamado de “serviço de datagrama”.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

15

Algumas situações requerem a conveniência do serviço sem-conexão, mas deseja-seconfiabilidade ! Serviço de Datagrama com confirmação ou solicitação de resposta !similar a carta com “A.R.” (Aviso de Recebimento) usada pelo correio.

Serviço de Solicitação de Resposta

Em geral usada no modelo cliente-servidorEmissor ! envia um datagrama com uma solicitação de resposta.Receptor ! envia a réplica com a resposta

Serviço ExemploFluxo de mensagens confiável Seqüência de páginas

Fluxo de bytes confiável Login remoto

Ori

enta

do

a C

onex

ão

Conexão não confiável Voz digitalizada

Serviço ExemploDatagrama não confiável Correio eletrônico

Datagrama confirmado Correspondência registrada

Sem

Con

exão

Solicitação / Resposta Consulta a banco de dados

________Exercício extra-classe # Pergunta-se: Todas as aplicações precisam deconexões? Discuta e justifique sua resposta com uma boa argumentação, ealguns exemplos.

________________________________________________________________________Anotações:

_______________________________________________________________Fim de documento * Arquivo: netadrp1.pdf * Total de páginas deste arquivo: 15

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

16

1.6.3. Primitivas de Serviço

Um serviço é formalmente especificado por uma série de PRIMITIVAS

Primitivas! Operações disponíveis para um usuário acessar o serviço.! Executam ação ou recebem informações de uma entidade-par.

As primitivas são divididas em 4 classes:

REQUEST uma entidade quer o serviço para executar alguma tarefa.INDICATION uma entidade deve ser informada sobre o evento.RESPONSE uma entidade que responde a um evento.CONFIRM uma entidade deve ser informada sobre um pedido ou evento.

N + 1

N

N + 1

N

CONNECTrequest

CONNECTconfirm

CONNECTindication

CONNECTresponse

adrfig2

Figura 1.7: Interação das primitivas de request e confirm entre as camadas

Emissor Receptor

CONNECT.request

CONNECT.indication

CONNECT.response

CONNECT.confirm

negociação adrfig1

Figura 1.8: Negociação entre emissor e receptor, e a relação com as primitivas

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

17

Primitivas podem ter parâmetros:

Connect.request """" parâmetros possíveis:• Especificação da máquina• Tipo de serviço• Tamanho máximo da mensagem

Connect.indication """" parâmetros possíveis:• ID do que chama• Tipo de serviço• Tamanho máximo da mensagem

Estas primitivas de serviço podem ser com, ou sem ACK.

COM ACK ! há uma solicitação, uma indicação, uma resposta e uma confirmação.SEM ACK !!!! há apenas uma solicitação e uma indicação.

CONNECT ! é sempre um serviço com confirmação. O destinatário deve concordar emestabelecer a conexão.

O envio de dados quaisquer ! pode ser com ou sem confirmação.

Como exemplo, considere um serviço orientado à conexão genérico, denominado Uga!1 ,o qual possui as 8 seguintes primitivas de serviço:

• CONNECT.request Solicita estabelecer uma conexão.• CONNECT.indication Sinalização da parte para a qual foi feita a chamada.• CONNECT.response Receptor da chamada usa para aceita-la ou rejeita-la.• CONNECT.confirm Permite que a origem da chamada saiba se ela foi aceita.• DATA.request Solicita envio de dados.• DATA.indication Indica chegada de dados.• DISCONNECT.request Solicita encerrar a conexão.• DISCONNECT.indication Sinal do par sobre a solicitação de encerrar.

CONNECT é um serviço com confirmação ! existe necessidade de resposta explícita.

DISCONNECT é um serviço sem confirmação ! sem resposta.

1 Uga! © 1996/2000 Acme! Co. Advanced Security Research

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

18

Exemplo:

Como seria uma ligação telefônica para convidar a Adelaide para jantar, no serviço Uga! :

• CONNECT.REQUEST Você disca um número da Adelaide.• CONNECT.INDICATION O telefone da Adelaide toca.• CONNECT.RESPONSE Alguém tira o telefone do gancho do outro lado.• CONNECT.CONFIRM Você percebe que o telefone parou de chamar e ouve a

doce voz da Adelaide.• DATA.REQUEST Você faz o convite.• DATA.INDICATION Ela ouve o convite.• DATA.REQUEST Ela diz que gostou muito.• DATA.INDICATION Você ouve ela aceitando :-)• DISCONNECT.REQUEST Você desliga• DISCONNECT.INDICATION Ela ouve e desliga também.

Cada procedimento envolve a interação entre duas camadas, em um doscomputadores. Isto está bem esquematizado na Figura 1.15 do A.S.T. (pg.31 - 3ª Ed. emPortuguês):

1 5 7

4 6

1 2 3 4 5 6 7 8 9 10

2

3

6

5

8

Layer N + 1

Layer N

Layer N + 1

Layer N

Computer 1

Time

Computer 2

Figura 1.9: Interação entre camadas N e N+1 entre os computadores (A.S.T. Fig.1-12)

Cada solicitação ou resposta provoca logo em seguida uma indicação ou confirmação dooutro lado.

Neste exemplo anterior:

Usuários do serviço estão na camada N + 1Provedor do serviço (sistema telefônico) está na camada N

ATENÇÃO ! CUIDADO ! ! Serviço e Protocolo são coisas DIFERENTES !

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

19

SERVIÇO = Conjunto de primitivas (operações) que uma camada oferece para a camadaacima dela.! Define as operações para a camada, mas não tem nada a ver com o modocomo as operações são implementadas.

PROTOCOLO = Conjunto de regras que controla o formato e o significado dasmensagens trocadas pelas entidades pares contidas em uma camada.! Está relacionado com o modo como as operações são implementadas.

• !! Entidades usam protocolos para implementar serviços !!• !! Protocolos podem ser trocados sem alterar o serviço !!

1.7. O Modelo de Referência OSI/ISO 1

Open Systems Interconnection da International Standards Organization

O modelo OSI/ISO não é uma arquitetura de rede porque ele não especificaexatamente os serviços e protocolos a serem usados em cada camada ! apenas informa oque cada camada deve fazer.

O modelo possui 7 camadas. O motivo para se chegar às 7 camadas não serádiscutido neste curso. Para maiores referências consulte A.S.T. (pg. 32 3ª Ed. EmPortuguês).

Veremos a seguir as camadas que compõem o modelo OSI.

1.7.1. Camada Física

Esta camada está relacionada com a transmissão simples de bits através de umcanal de comunicação.

Questões típicas nesta camada:• Voltagem para bit "1"• Voltagem para bit "0"• Tempo de duração de um pulso

• O modelo de transmissão (simplex, half-duplex, full-duplex)• Como a conexão é estabelecida e cortada

• Qual a pinagem dos conectores

1 Referência A.S.T. 3ª Ed. - Tópico 1.4.1

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

20

1.7.2. Camada Link de Dados (Data-Link)

Tarefa ! é tornar um sistema de transmissão bruto e transformá-lo numa linhaque se mostre livre de erros de transmissão à camada network.

Organiza a entrada em data frames (algumas centenas de bits), transmite os framesseqüencialmente, e procura frames de aviso de recebimento para enviar de volta aotransmissor.

Coloca sinalizadores de início e fim de dados ! bits delimitadores.

Resolve problemas de danificação, perda e duplicação de frames.

Deve tratar do problema de conexão de máquinas de diferentes velocidades.

Controle de fluxo e controle de erros são normalmente integrados nesta camada.

Terminologia e camadas no modelo OSI:

Layer

Presentation

Application

Session

Transport

Network

Data link

Physical

7

6

5

4

3

2

1

Interface

Interface

Host A

Name of unit exchanged

APDU

PPDU

SPDU

TPDU

Packet

Frame

Bit

Presentation

Application

Session

Transport

Network

Data link

Physical

Host B

Network Network

Data link Data link

Physical Physical

Router Router

Internal subnet protocol

Application protocol

Presentation protocol

Transport protocol

Session protocol

Communication subnet boundary

Network layer host-router protocolData link layer host-router protocolPhysical layer host-router protocol

Figura 1.10: Comunicação entre as camadas e terminologia no modelo OSI/ISO

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

21

1.7.3. Camada Network

Esta camada controla a operação da subnet.Tarefa principal ! controlar como os pacotes de informação são roteados dafonte para o destino.

As rotas podem ser:• Estáticas ! são definidas por hardware e são raramente modificadas.

• podem ser definidas no início de uma sessão.

• Dinâmicas ! determinadas para cada pacote de forma variável.• podem ser altamente dinâmicas, modificando-se a cada transmissão.

Outras tarefas:

• Controle de congestionamento e tráfego.

• Estatística de uso por usuário ! tarifação.

• Quando um pacote viaja de uma rede para outra, muitos problemas de compatibilidadepodem aparecer (endereçamento, tamanho, etc.). A camada network deve resolver estasincompatibilidades ! permite comunicação entre redes heterogêneas.

• Em redes tipo broadcast (difusão) o problema de roteamento é simples, de modo quea camada network é muito pequena, ou mesmo inexistente.

1.7.4. Camada de Transporte

Tarefa ! pegar os dados da camada de sessão, quebrá-los em partes menores (senecessário), passá-los para a camada network e garantir que as partes cheguem emordem do outro lado.

Esta camada isola as camadas superiores das mudanças inevitáveis no hardware.

Cria uma conexão diferente na network, para cada conexão requisitada pela camada desessão.

No caso de uma requisição para conexão de grande desempenho, a camada de transportepode criar múltiplas conexões na network para melhorar o desempenho.

Por outro lado ! se a criação manutenção de uma conexão de rede for cara, a camada detransporte pode multiplexar diversas conexões de transporte, na mesma conexão derede.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

22

A Camada de Transporte ! torna a multiplexação ou a abertura de várias conexões de redetransparentes à camada de sessão.

Pode fazer difusão de mensagens para múltiplos destinatários " multicasting

Também determina o tipo de serviço a ser oferecido à camada de sessão e, em últimaanálise, aos usuários da rede.

IMPORTANTE !! ! A camada de transporte é a primeira camada fonte-destino, ou seja,um programa na máquina fonte conversa diretamente com umprograma semelhante na máquina destino.

Nas camadas inferiores, os protocolos são entre cada máquina e seu vizinho imediato, enão entre as máquinas origem e destino, as quais podem estar separadas por muitosroteadores.

Muitos hosts permitem multiprogramação, o que implica que múltiplas conexões podemestar entrando e saindo de cada host ! O header do transporte diz qual mensagempertence a qual conexão.

Cabe ainda à Camada de Transporte ! estabelecer e encerrar as conexões, e realizarcontrole de fluxo entre máquinas lentas e rápidas.

1.7.5. Camada de Sessão

A camada de sessão permite usuários em máquinas diferentes estabelecerem sessões(por exemplo, login, transferência de arquivos, web) entre elas.

Um serviço oferecido por esta camada é o controle de diálogo ! monitorar e controlar adireção do tráfego.

Para alguns protocolos, é essencial que ambos os lados não tentem a mesma operação aomesmo tempo. Um sistema de tokens pode ser gerenciado pela camada de sessão.

O problema de sincronização deve ser tratado nesta camada ! inserir pontos dereferência nos dados (sincronização) ! se ocorrem falhas, apenas parte dos dadostransferidos têm que ser enviados de novo.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

23

1.7.6. Camada de Apresentação

Trata da sintaxe e semântica da informação transmitida enquanto as camadasinferiores estavam interessadas apenas em tornar confiável a movimentação de bitsde um ponto a outro.

Sintaxe e semântica ! codificação de dados conforme padrões estabelecidos ! controlaa representação dos dados.

Faz também compressão de dados e criptografia para garantir privacidade.

1.7.7. Camada de Aplicação

Contém uma variedade de protocolos que são necessários às operações em nível deusuário.

Exemplo de controles realizados ! tipos de terminais; tipos de convenções de nomes emtransferência de arquivos; correio eletrônico, pesquisa em diretórios, dentre outros maisespecíficos e outros genéricos.

São anexados (ou não) cabeçalhos (headers) nas camadas.

O header + dados da camada superior ! se torna o campo de dados da camadainferior ! não diferencia.

No destino ! os headers vão sendo excluídos nas camadas apropriadas.

Apesar da transmissão REAL ser na VERTICAL, cada camada é programada como sefosse se comunicar horizontalmente.

1.8. O Modelo de referência TCP/IP 1

Modelo ! surgido a partir de pesquisas da rede ARPANET (Advanced ResearchProjects Agency Network) do Depto. de Defesa Americano, que mais tarde setornaria a Internet.

Objetivo: conectar várias redes diferentes de maneira autônoma, com computadoresheterogêneos, ao mesmo tempo.

1 Referência: A.S.T. 3ª Ed. - Tópico 1.4.2

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

24

O TCP/IP foi definido pela primeira vez em 1974 e depois sofreu uma revisão em 1982.Trata-se de uma arquitetura extremamente flexível, capaz de se adaptar a aplicaçõesmuito diferentes, desde a simples transferência de arquivos até a transmissão de voz eimagem em tempo real.

Veremos a seguir as camadas do modelo TCP/IP, em analogia com o modelo OSI.

Aplicação

Apresentação

Sessão

Transporte

Rede

Enlace de dados

Física

Aplicação

Transporte

Inter-rede

Host / Rede

OSI TCP/IP

não estão presentesno modelo

fig.ast1-18

Figura 1.11: Comparação entre as camadas dos modelos TCP/IP e OSI/ISO (A.S.T. Fig.1-18)

1.8.1. Camada de Inter-rede (camada internet - Protocolo IP)

As necessidades levaram a uma rede de comutação de pacotes, baseada numa camada deligação inter-redes.

Camada inter-redes ! integra toda a arquitetura.

Tarefa ! permitir que os hosts injetem pacotes em qualquer rede e garantir que eles sejamtransmitidos, de maneira independente do destino (que pode ser outra rede).

PROTOCOLO IP:

Camada inter-redes ! define um formato de pacote oficial , e um protocolo chamadoIP (internet protocol) # SEM CONEXÃO !

Definindo de outra forma: a tarefa da Camada inter-redes é entregar pacotes IP onde fornecessário.

Roteamento ! tem grande importância nesta camada, assim como o controle decongestionamentos.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

25

1.8.2. Camada de Transporte (protocolos TCP e UDP)

Camada localizada acima da camada de inter-redes.

Como no OSI ! permite que entidades pares dos hosts de origem e destino mantenhamuma conversação.

É baseada em dois protocolos ponto a ponto: • TCP• UDP

PROTOCOLO TCP (Transmission Control Protocol):

Orientado a conexão e confiável.

• Entrega, sem erros, um fluxo de bytes.

• Fragmenta o fluxo de bytes de entrada em mensagens e passa cada uma delaspara a camada de inter-redes.

No destino ! o processo TCP par remonta as mensagens recebidas e forma o fluxo desaída para a camada superior.

Realiza ainda o controle de fluxo ! impede que um emissor rápidosobrecarregue um receptor lento.

PROTOCOLO UP (User Datagram Protocol):

Sem conexão e não confiável.

• Para aplicações que não exigem controle de fluxo, nem manutenção de seqüência dasmensagens.

• É amplamente usado onde a entrega rápida é mais importante que a entrega precisa !dados, voz ou vídeo em tempo real.

1.8.3. Camada de Aplicação

TCP/IP ! não possui camadas de sessão e apresentação, pois são pouco usadas namaioria das aplicações.

Logo acima da camada de transporte fica a camada de aplicação ! protocolo de alto nível! TELNET, FTP, SMTP, DNS, SNMP, HTTP, DNS, etc...

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

26

1.8.4. Camada Host-Rede

Abaixo da camada inter-redes ! o TCP/IP não especifica nada !

Diz apenas que o host tem de se conectar com a rede usando um protocolo (qualquer) paraque seja possível enviar pacotes IP.

Este protocolo não é definido e varia de host para host e de rede para rede.

IP

TCP UDP

com conexão sem conexão

sem conexão

ARPANET SATNETPacketRadio LAN

TELNET FTP DNSSMTP HTTP... Aplicação

Transporte

Rede

Física + Enlacede Dados

Nomes no modelo OSI:

---

Pro

toco

los

---

Redes

fig.ast1-19

Figura 1.12: Alguns protocolos presentes na suite de protocolos TCP/IP (A.S.T. Fig.1-19)

1.8.5. Pequena comparação entre OSI e TCP/IP:

• Possuem muito em comum.

• Baseiam-se no conceito de pilhas de protocolos independentes.

• As camadas possuem praticamente as mesmas funções.

• Aos processos que desejam se comunicar " oferece-se um serviço de transporte ponto

a ponto, que não depende do tipo de rede.

• As camadas em conjunto formam o provedor de transporte.

• Em ambos " camadas acima da Camada deTransporte se relacionam aos usuários

orientados à aplicação do serviço.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

27

Para uma discussão mais detalhada sobre as diferenças entre os modelos, consulte A.S.T. -Computer Networks - 3ª Ed. - tópico 1.4.3.

Algumas diferenças a destacar:

OSI na camada de rede ! compatível com cominicação orientada à conexão e semconexão.

OSI na camada de transporte ! aceita apenas orientada à conexão (visível ao usuário)

TCP/IP na camada de rede ! apenas sem conexão (IP).

TCP/IP na camada de transporte ! com e sem conexão (TCP e UDP).

Neste curso, para nossas comparações e discussões, será utilizado um modelo híbridodefinido da seguinte forma:

Camada de Aplicação

Camada de Transporte

Camada de Rede

Camada de Enlace de dados

Camada Física

5

4

3

2

1fig.ast1-21

Figura 1.13: Modelo de rede híbrido, para desenvolvimento do curso (A.S.T. Fig.1-21)

________________________________________________________________________Anotações:

_______________________________________________________________Fim de documento * Arquivo: netadrp2.pdf * Total de páginas deste arquivo: 12

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

28

1.9. Exemplos de Redes1

1.9.1. USENET

Baseado em princípio em UUCP (Unix-to-Unix Copy), programa desenvolvido eutilizado dentro de sistemas Unix.

Simples ! inicialmente baseada em conexões sobre linhas telefônicas (normalmentetarde da noite) podendo chegar a 10.000 máquinas conectadas. Atualmente usa a infra-estrutura Internet. Não existe controle central.

Tem um único serviço ! correio eletrônico para troca de mensagens de interesse.

A rede USENET é uma rede irmã do UUCP ! Oferece Network News. A maioria dasmáquinas pertencentes à UUCP também pertencem à USENET.

Usuários da USENET podem se inscrever aos grupos que lhes interessam e portarmensagens que são normalmente transferidas por UUCP.

1.9.2. SNA (Systems Network Architecture) IBM 1974-1985

O modelo OSI copia vários conceitos da arquitetura SNA ! as camadas, número decamadas e funções aproximadas.

A intenção é fornecer aos clientes a possibilidade de construírem a própria rede ! comhosts e subnet.

Como um dos principais objetivos era o de manter compatíveis a maioria dos protocoloslançados previamente pela companhia; o protocolo é razoavelmente complicado.

1.9.3. Novell Netware

Usa pilha de protocolos proprietária, baseada no antigo XNS (Xerox Network System), mascom várias modificações.

NETWARE ! antecede o OSI e não é baseado nele. Parece-se mais com o TCP/IP

Camadas FÍSICA e DATALINK ! podem ser escolhidas entre diversas arquiteturas, taiscomo ethernet, token ring e outros.

Camada de Rede ! Protocolo IPX

1 Recomendação aos estudantes: ler as seções do livro texto: 1.5 – “Exemplos de redes”, e 1.6 –“Exemplos de serviços de comunicação de dados”.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

29

IPX ! Protocolo de inter-rede, SEM CONEXÃO, NÃO CONFIÁVEL.

O IPX envia pacotes da origem ao destino em diferentes redes, se preciso. Éfuncionalmente semelhante ao IP.

IPX ! Endereços de 10 bytes IP ! Endereços de 4 bytes

Acima do IPX ! NCP (Network Core Protocol)

Não é restrito ao transporte de dados do usuário. É considerado o coração do sistema edesempenha outras funções importantes.

Layer

Application

Transport

Network

Data link

Physical

SAP

Ethernet

Ethernet

NCP

File server

IPX

Token ring

Token ring

SPX

. . .

ARCnet

ARCnet

Figura 1.14: Modelo de referência Novell Netware (A.S.T. Fig.1-22)

SPX ! Oferece apenas transporte de dados.

Não existem camadas de sessão e apresentação. Há diversos protocolos de aplicação.

Assim como no TCP/IP ! a base da arquitetura é o pacote de datagrama da inter-rede.

Endereço de destino

fig.ast1-23

Endereço de origem

Tipo do pacote

Dados

Controle de transporte

Tamanho do pacote

Checksum

Bytes2 2 1 1 12 12

Figura 1.15: Esquema de um pacote IPX do Novell Netware (A.S.T. Fig.1-23)

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

30

Checksum !!!! é raramente usado, uma vez que a camada datalink também oferecechecksum.

Packet Lenght ! Informa o tamanho do pacote, incluindo o cabeçalho e os dados.

Transport Control ! conta a quantidade de redes que o pacote percorreu. Se ultrapassa umvalor máximo, ele é descartado.

Packet Type ! usado para marcar pacotes de controle.

Endereços ! Cada um deles (origem e destino) contém um número de rede de 32 bits,um número de máquina (MAC) de 48 bits (endereço 802.x da LAN) e oendereço local (socket) de 16 bits desta máquina.

Finalizando o pacote, estão os dados ! o tamanho máximo de dados é determinado pelarede adjacente.

Uma vez em cada minuto cada servidor transmite seu endereço e informa os serviços queoferece ! isso é feito utilizando-se o protocolo SAP1 - Service Advertising Protocol

Em seguida ! o cliente estabelece uma conexão NCP com o servidor, e negocia o tamanhomáximo do pacote. A partir daí o cliente poderá ter acesso ao sistema de arquivos doservidor.

1.10. Serviços de Comunicações de Dados

1.10.1. Frame Relay

Meio totalmente orientado à conexão ! alta velocidade e baixo custo.

Linhas privadas atuais ! rápidas, digitais e confiáveis.Computadores hoje ! muito velozes e baratos.

Isso permite usar protocolos simples, com a maior carga de trabalho sendo executada noscomputadores dos usuários.

FRAME RELAY = Linha Privada Virtual.

1 Observação: cuidado para não confundir com o conceito de “SAP - Service Access Point” doprojeto de camadas !

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

31

Cliente instala um circuito virtual permanente entre dois pontos, e pode enviar pacotes deate 1.600 bytes entre estes pontos.

Também é possível instalar circuitos virtuais permanentes entre vários sites ! cada frametransporta um número de 10 bits que identifica o circuito virtual a ser utilizado.

A diferença entre uma LP REAL e uma LP VIRTUAL:

Circuito físico ! mensagens a toda a velocidade o dia todo.

Circuito virtual ! rajadas (picos) a toda a velocidade, mas com um uso médio alongo prazo abaixo de uma velocidade pré-determinada.

" Físico ! mais caro" Virtual ! mais barato" Taxa de transmissão alta ! geralmente 1,5 Mbps

Frame Relay ! serviço mínimo, para definir basicamente o início e o fim de cada quadro edetectar erros de transmissão ! apenas descarta frames defeituosos, mas não osrecupera.

Não possui ! controle de fluxo , nem mensagens de ACK.

1.10.2. ATM e ISDN de Banda Larga

Surgiu em razão do desejo de se integrar todas as Redes especializadas em uma rede paratodos os tipos de informação ! alta taxa de dados, com uma oferta de novos serviços,mas que não se estabelecerá rapidamente.

O novo serviço B-ISDN (Broadband Integrated Service Digital Network) ! oferecerávídeo sob demanda, TV ao vivo, E-Mail multimídia, música com qualidade digital,interconexão LAN, dados em alta velocidade, dentre outros ! todos eles através de umalinha telefônica DIGITAL.

Tecnologia do B-ISDN ! ATM1 (Asynchronos Transfer Mode)

Não é síncrona como na maioria das linhas telefônicas de alta distância.

Idéia básica ! transmitir todas as informações em pequenos pacotes de tamanho fixo,chamadas de células.

1 Para maiores informações sobre o modelo ATM, recomenda-se uma leitura do livro texto A.S.T. -Computer Networks - 3ª ed. pg.72. , e seção 2.6 pg. 163.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

32

Células ATM ! 53 bytes: 5 no cabeçalho com 48 bytes de carga.

ATM é uma arquitetura oculta, e um serviço visível ao usuário.

Algumas vezes é chamado de CELL RELAY ! Analogia com Frame Relay.

Trata-se de uma tecnologia de comutação de células ao invés da tradicional comutação decircuitos.

Comutação de célula:• Flexível ! pode aceitar tráfego a taxa constante (áudio e vídeo) ou a uma taxa variável

(dados).• Processo digital da comutação de células em altas velocidades é mais fácil que a

multiplexação tradicional.• É possível oferecer Broadcast (difusão) ao contrário da comutação por circuito.

Redes ATM são organizadas como WANS, com linhas e comutadores (roteadores) !orientadas à conexão.

Pretende-se velocidades de 155 e 622 Mbps, mas no futuro devem chegar aos gigabits.

155 Mbps ! possibilita transmitir imagens de TV de alta definição.ATM no futuro ! substituir o sistema telefônico e concorrer com a TV a cabo.LANs ATM ! também possuem grandes aplicações crescentes.

________________________________________________________________________

Anotações:

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

33

2. A Camada Física

2.1. Base Teórica da Comunicação de Dados

Informações ! Podem ser transmitidas em fios, variando-se propriedades físicas comovoltagem e corrente.

Por exemplo: se representamos uma voltagem como uma função do tempo f(t) é possíveldefinir um modelo para o comportamento do sinal e analisá-lo matematicamente.

2.1.1. Análise de Fourier (Século XIX)

Qualquer função periódica g(t) com período T pode ser construída (ou reconstruída)através de um somatório de senos e co-senos.

Em outras palavras: Qualquer função periódica pode ser decomposta em uma soma defunções senoidais e co-senoidais, mais simples.

g t c a sen nft b nftnn

nn

( ) ( ) cos( )= + +=

=

∑ ∑1

22 2

1 1

π π , onde

f = 1/T (freqüência fundamental)

a bn n, são as amplitudes dos senos e co-senos da n-ésima harmônica.

Para qualquer g(t), a , b e c podem ser calculados ! "Termos de Fourier"

Amplitude Média Quadrática: n na b2 2+ ! potência na freqüência correspondente

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

34

0 1 1 0 0 0 1 01

0 Time T

1

0

1

0

1

0

1

0Time

rms

amp

litud

e

1 152 3 4 5 6 7 9 10111213148

0.50

0.25

Harmonic number

1 harmonic

2 harmonics

4 harmonics

8 harmonics

1

1 2

1 2 3 4

1 2 3 4 5 6 7 8Harmonic number

(a)

(b)

(c)

(d)

(e)

Figura 2.1: (a) Um sinal binário e suas amplitudes de média quadrática de Fourier. De (b) até (e)são aproximações sucessivas do sinal original (figura A.S.T-2.1)

Amplitude RMS (Root Mean Square) = Amplitude Média Quadrática

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

35

2.1.2. Sinais Limitados pela Largura de Banda

Meios de transmissão ! perdem parte da potência do sinal durante o processo detransmissão, entretanto:

• A atenuação não é a mesma para todas as freqüências.• Coeficientes da série de Fourier não são igualmente reduzidos.• Causa distorção no sinal.

Normalmente ! existe transmissão desde 0 até uma freqüência fc (freqüência de corte),sendo que todas as freqüências acima desta freqüência são fortemente atenuadas ! devidoa propriedades físicas ou filtros atenuadores que limitam a largura de banda.

O tempo T necessário à transmissão do caractere depende do método de codificação e davelocidade de amostragem ! nº de vezes por segundo que o sinal muda seu valor, ouseja, a variação na sua voltagem.

Número de mudanças por segundo ou taxa de amostragem ! baud (baud rate)

Uma linha de b bauds não transmite necessariamente a b bits/Seg ! pois cada sinal podetransmitir diversos bits ! depende da codificação (isto será discutido novamente maisadiante)

Por exemplo ! Se voltagens compreendidas entre 0 a 7 volts forem usadas, cada valor dosinal poderia ser usado para transportar 3 bits e, desta forma a taxa de bits seria 3 vezesmaior que a taxa de bauds.

No nosso exemplo ! usamos somente 0’s e 1’s (volts), então a taxa de bits é igual à taxade baud.

Se a taxa é de b bits/s ! então o tempo de envio de 8 bits é de (8/b) seg. = T (período).

Freqüência da Primeira Harmônica é de b

8 Hz (f =

1

T Hz).

Linha telefônica comum (voz) ! fc artificialmente introduzida de aproximadamente 3.000Hz (em geral os telefones transmitem freqüências entre 400 e 3.400 Hz)

Nº de harmônica mais alta transmitida é de 3000

824 000

bb= . (b é a taxa em bits/s)

Ou seja, este é o maior número possível de harmônicas.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

36

Por exemplo:

Para transmitir a 9600 bps, a harmônica mais alta será: 24000

96002 5 2= ≈, harmônicas

Para transmitir a 28.800 bps ! 24000

28 8000 83 0

.,= ≈ (zero) harmônicas !!

Ou seja, a 28.800 bps não é possível transmitir uma única harmônica usando uma linhatelefônica de voz ! inviabiliza a transmissão.

Relação entre as taxas de dados e as harmônicas:

bps T (ms) Primeira Harmônica No. de harmônicas enviadas300 26,67 37,5 80600 13,33 75 40

1.200 6,67 150 202400 3,33 300 104.800 1,67 600 59.600 0,83 1200 219.200 0,42 2400 138.400 0,21 4800 0

Quando se tenta fazer uma transmissão a 9.600 bps através de uma linha de voz, o modelosugerido na fig. 2.1(a) assume a forma mostrada na fig. 2.1(c) ! dificulta ou impossibilitaa recepção do fluxo original de bits.

Para taxas mais altas ! não há possibilidade de que todos os sinais sejam binários,mesmo sem ruído na linha.

Em resumo: limitando-se a Largura de Banda, limita-se a taxa de dados, mesmo noscanais sem ruídos.

Entretanto ! sofisticados esquemas de codificação que usam diversos níveis de voltagempossibilitam a existência e a utilização de taxas de dados mais altas (será visto maisadiante).

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

37

2.1.3. Taxa de Dados Máxima num Canal

TEOREMA DE NYQUIST

Teorema de Nyquist ! relativo a um canal sem ruído com largura de banda finita.(canal idealizado, pois não existe canal sem ruído)

Velocidade Máxima de Transmissão de um Canal segundo Nyquist:

• Para linhas sem ruído : Teorema de Nyquist.

onde H é a largura máxima de bandaV é o número de níveis discretos

Para linha telefônica com H = 3.000 Hz e binários ! 2 níveis temos que:

V.Max = 2 3000 22

× log = 6000 b/s

Velocidade máxima = 6 Kbps

TEOREMA DE SHANNON.

Relação sinal/ruído = Potência do sinal (S) Potência do ruído (N)

Decibel (dB) : 10 10logS

N

10 dB significa S/N = 10 20 dB significa S/N = 100 30 db significa S/N = 1000

Teorema de Shannon ! referente a um canal com ruído.

• H é a largura máxima de banda• Independe do nº discreto de níveis.

velocidade máxima = 2 2H Vlog bits/seg

velocidade máxima = H s nlog ( / )2 1+

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

38

Exemplo :

H= 3.000 Hz sinal/ruído de 30 dB (típico do sistema telefônico)

Velocidade Máxima = 30.000 b/s

Conclusão ! jamais poderá transmitir a mais de 30 Kbps independentemente daquantidade de níveis de sinal utilizado e da freqüência com que as amostras são obtidas.Entretanto deve-se considerar que este é apenas um limite máximo, raramente alcançadopelo canais reais.

2.1.4. Transmissão Analógica: O Sistema Telefônico.

• Conexão direta : 107 a 108 bps ( 1 erro em 1012 )• Linha telefônica : 104 bps ( 1 erro em 105)• 600 milhões de telefones instalados.

O sistema telefônico é organizado de maneira altamente redundante com hierarquia demulticamadas.

(a) (b) (c)

Figura 2.2: Situações para um sistema telefônico: (a) Rede totalmente interconectada(impraticável). (b) Comutador centralizado (c) Hierarquia de dois níveis (figura AST-2.14).

Telefone

Local

Estação

Interurbana

Estação deComutação

Intermediária

Telefone

CentralLocal

Estação

Interurbana

Local loop

Tronco deConexão

Inter-urbana

TroncosInter-urbanos

Alta largura de banda

Tronco deConexão

Inter-urbana

Local loop

Figura 2.3: Rota de um circuito telefônico típico, de uma chamada interurbana de média distância(figura AST-2.15)

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

39

2.1.5. Troncos de Multiplexação

Cias. Telefônicas ! desenvolveram esquemas para multiplexar várias linhas telefônicas emum único canal físico. Duas categorias básicas:

FDM ! Frequency Division MultiplexingMultiplexação por divisão de freqüência: O espectro de freqüências é dividido entre oscanais lógico, com cada usuário tendo posso exclusiva de alguma faixa de freuência.

TDM ! Time division Multiplexing

Multiplexação por divisão de tempo: Na TDM os usuários se revezam (circularmente) ecada um periodicamente obtém a largura de banda inteira por um determinado período detempo.

Multiplexação por divisão de freqüência

Filtros limitam a largura de banda a cerca de 3.000 Hz por canal de voz.Quando muitos canais são multiplexados ai mesmo tempo, 4.000 Hz são usados para cadacanal a fim de mante-los bem separados. Há faixas de proteção entre os canais, mas podemhaver sobreposições uma vez que os filtros não são uniformes.

FDM tem certa padronização ! 12 canais de voz de 4.000 Hz (sendo 3.000 Hz para ousuário, mais duas bandas de proteção de 500 Hz) ! são multiplexados na banda de 60 a108 KHz.

Depois, 5 grupos de 12 canais podem ser combinados para formar um supergrupo de 60canais. Existem padrões de até 230 MIL canais de voz.

300 3100

Channel 3

Channel 2

Channel 1

1

1

1

Att

enua

tion

fact

or

64

Frequency (kHz)

(c)

Channel 1 Channel 3

Channel 2

68 72

60 64

Frequency (kHz)

(b)

Frequency (Hz)

(a)

68 72

60

Figura 2.4: Multiplexação por divisão de freqüência. (a) Larguras de banda originais (c) O canalmultiplexado (figura AST-2.24).

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

40

2.1.6. Transmissão Digital no Sistema Telefônico

Vantagens : ( 1 ) - Taxa de erros baixa ( 2 ) - Voz, dados, música e imagem ao mesmo tempo ( 3 ) - Taxas de transferência maiores

( 4 ) - Mais baratos

Canal T1 ! 24 canais de voz multiplexados. A cada 125 microsegundos, passam 193 bits.Capacidade de transmissão = 1,544 Mbps

Canal E1 ! 32 canais de 64 Kbps canais. Capacidade de transmissão = 2 MbpsCanal T3 ! 43 Gbps

Canal Velocidade No. de CanaisE-0 64 kbps 1x E-0E-1 2.048 Mbps 32x E-0E-2 8.45 Mbps 128x E-0E-3 34 Mbps 16x E-1E-4 144 Mbps 64x E-1

Canal No. de sinais T1 No. Canais de voz VelocidadeT1 1 24 1544 kbpsT1c 2 48 3152 kbpsT2 4 96 6312 kbpsT3 28 672 44736 kbpsT4 168 4032 274760 kbps

Para informações sobre os canais usados em telecomunicações, consulte:http://www.mouse.demon.nl/ckp/telco/telco.htm

Exercícios: (a) Estudar Multiplexação por Divisão de Tempo (TDM). Vide A.S.T. -Redes de Computadores, pag. 137 a 141. (b) Ler sobre SONET/SDH, Pag. 141.

2.1.7. MODEMS

Veremos os problemas da transmissão analógica e como os modems permitem atransmissão de dados digitais através de circuitos analógicos.

Últimos 100 anos ! transmissão analógica dominou todas as comunicações, em particularna telefonia.

Atualmente ! troncos de longa distância são, em sua maioria, digitais.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

41

Entretanto ! loops locais são ainda analógicos.Loops locais ! ligação da residência até a central.

Computer Computer

ModemEnd

officeToll

officeEnd

office

Modem

Digital (short cable)

Digital (short cable)

Analog (local loop)

Digital (telephone company trunks)

Analog (local loop)

Codec Codec

Customer premises equipment

Customer premises equipment

Figura 2.5: Esquema de interconexão com modems (figura AST-2.17)

Sinalização analógica ! consiste na variação de uma voltagem para representar o fluxode informações.

Problema: Há perdas e o sinal recebido é diferente do transmitido.

Problema nas linhas de transmissão ! atenuação, distorção de retardo e ruído.

• Atenuação ! perda de energia à medida que o sinal se propaga. Depende dafreqüência do sinal ! surge outro espectro de Fourier.

• Distorção por retardo ! causada pela diferença de velocidade dos diferentescomponentes de fourier no meio físico. Pode misturar bits rápidos e lentos.

• Ruído ! energia indesejada vinda de outras fontes que não sejam o transmissor, oumesmo ruído térmico vindo dos elétrons livres em movimento aleatório.

Devido aos fatores acima serem dependentes da freqüência ! não é interessante ter umagrande variedade de freqüências no sinal.

Ondas quadradas e dados digitais ! sujeitos a uma grande atenuação e distorção deretardo.

Estes efeitos tornam a sinalização de banda básica (voltagem DC) inadequada, exceto emvelocidades menores e em distâncias curtas.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

42

Para contornar os problemas associados à sinalização DC, principalmente em linhastelefônicas, utiliza-se sinalização de voltagem AC.

• Conceito de "Portadora"

Portadora ou Onda Portadora Senoidal ! introduzida na faixa de 1.000 a 2.000 Hz pelomodem.

A Portadora ! pode ser modulada em sua amplitude, freqüência ou fase, para transmitirinformações.

• Modulação por amplitude ! dois diferentes níveis de voltagem são usados pararepresentar 0 e 1.

• Modulação por freqüência ! são usados 2 ou mais tons diferentes.• Modulação por fase ! na forma mais simples, a onda portadora é deslocada

sistematicamente de 45, 135, 225 ou 315 graus em intervalos uniformes. Por exemplo,cada deslocamento de fase pode transmitir 2 bits de informação.

Modem = “Modulator – Demodutator” ! qualquer dispositivo que aceite um fluxo serial,de bits com entrada e produza uma portadora modulada com saída, e vice-versa.

Fica entre o computador e o sistema telefônico.

0 1 0 1 1 0 0 1 0 0 1 0 0

(a)

(b)

(c)

(d)

Mudanças de fase

Figura 2.6: (a) Um sinal binário. (b) Modulação por amplitude. (c) Modulação por freqüência. (d)Modulação por fase (figura 2.18-A.S.T)

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

43

Para velocidades mais altas não basta aumentar a taxa de amostragem (oscilação).

Nyquist ! mesmo com 3.000 Hz perfeita (linha telefônica não se enquadra) não existeuma amostragem mais rápida que permita ultrapassar 6.000 bps (corrigir livro pg. 126).

AVANÇOS NOS MODEMS MAIS RÁPIDOS ! transmitir um volume maior de bits poramostra (ou seja, por baud).

Modems avançados utilizam uma combinação de técnicas de modulação para enviarvários bits por baud.

(a) (b)

15o

45o

Figura 2.7: (a) Modulação de 3 bits por baud. (b) Modulação de 4 bits por baud (figura 2.19-A.S.T.)

Na figura acima (AST 2.19-a) ! pontos em 0, 90, 180, 270 graus, com 2 níveis deamplitude por deslocamento de fase.

Amplitude é indicada pela distância a partir da origem ! Então são possíveis 8combinações diferentes ! pode enviar 3 bits por baud.

Lembre-se que Baud ! o nº de vezes por segundo que o sinal muda de valor

EXPLICANDO MELHOR A CODIFICAÇÃO:

Numa transmissão a onda só pode estar marcada por 1 entre 2 estágios.

Isto é, existem apenas 2 estágios possíveis em cada segmento ! então apenas um bitidentifica seu estado a qualquer momento ! o bit 0 ou o bit 1.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

44

No entanto, por exemplo, é possível estabelecer 4 níveis ou possibilidades de valores paraum sinal quaquer.

Estas possibilidades são, naturalmente expressas em códigos binários: 00 - 01 - 10 - 11

! 2 bits para cada unidade de mensagem.! 2 bits por baud.

Com um pouco mais de sofisticação:

É possível estabelecer oito níveis diferentes para um sinal

! por exemplo 2 níveis de amplitude com fase em 0, 90, 180 e 270 graus.

(Veja a figura 2.7a. logo acima)

Isto pode ser dodificado em:

000 001 010 011 100 101 110 111 ! 3 bits por baud

Lembrando:

O Baud mede o número de vezes que a condição da linha se altera por segundo ! taxa demodulação.

Na fig. 2.7 (b) acima ! 16 combinações válidas 4 bits por baud: 0000 0001 0010 .... .... 1111

PADRÕES DE CONSTELAÇÃO: São os diagramas que mostram as combinaçõeslegítimas de amplitude e fase.

Cada padrão de modem de alta velocidade contém seu próprio “Padrão de Constelação”.

Por exemplo:V.32 bis ! atinge 14.400 bps usando 6 bits por amostra a 2.400 bauds ! Padrão deconstelação com 64 pontos.V.34 ! 28.800 bps

Muitos pontos no padrão ! pequeno ruído na fase ou na amplitude pode provocar um erroe 6 bits defeituosos.Para reduzir erros ! acrescenta um bit de paridade, totalizando 128 pontos.Codificação de busca de erros cuidadosa ! trellis coding.

Outro método diferente para transmissão em alta velocidade: dividir o espectro de 3.000 Hzdisponível em 512 bandas pequenas e transmitir com uma velocidade de 20 bps cada uma.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

45

! exige processador possante no modem, mas desativa as bandas que estão com muitoruído ! Técnica de Correção de Erros.

Outra estrutura é a MNP-5 ! compactação com codificação de bytes idênticos.

V.42 bis ! compactação ZIV-Lempel (equivalente ao "compress" do Unix).

2.1.8. Serial RS-232c e RS-449

A interface entre o computador e o modem é um exemplo de um protocolo de camadafísica. Este protocolo deve especificar em detalhes as características mecânicas, elétricas,funcionais e procedurais.

Característica Mecânica: 25 pinosCaracterísticas Elétricas:

Voltagem < - 3 volts = bit "1"Voltagem > + 4 volts = bit "0"Velocidade de 24 Kbps ( com cabos de até 15 metros )

Características Funcionais - Dizem o que cada pino significa e quais circuitos sãoconectados a um determinado pino.

Características Procedurais - Dizem qual é a seqüência legal de eventos. O protocolo ébaseado em pares de ação e reação .

2.2. COMUTAÇÃO DE CIRCUITOS E COMUTAÇÃO DEPACOTES

COMUTAÇÃO DE CIRCUITOS ! é estabelecido um caminho físico (incluindopossivelmente cobre, fibra e rádio) no trajeto entre os telefones.

Comutação de circuitos estabelece um caminho fim-a-fim, antes que qualquer dado possaser enviado ! estabelecimento da chamada.

Uma vez estabelecida a conexão ! único atraso para entrega de dados é o tempo depropagação do sinal eletromagnético no meio (cerca de 5 ms de retardo por 1.000Km).Também não há risco de congestionamento após o estabelecimento.

COMUTAÇÃO DE MENSAGENS ! não estabelece caminho físico.

Quando o transmissor envia um bloco de dados ! são armazenados integralmente naprimeira estação de comutação (roteador) e, em seguida é passado adiante.

Cada bloco é chegado na estação de comutação e passado adiante através do caminho livre.

Esta é uma Rede store-and-forward conforme já mencionado.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

46

Comutação de MENSAGENS ! não há limite no tamanho do bloco ! Portanto, devehaver discos para armazenar temporariamente os blocos longos.

Um único bloco pode obstruir a linha entre roteadores por um certo tempo ! inútil paratráfego interativo.

COMUTAÇÃO DE MENSAGENS ! está obsoleta para redes modernas.COMUTAÇÃO DE PACOTES ! limite restrito para o bloco de dados.

Pacotes são armazenados temporariamente em memória e enviados rapidamente ! usuárionão monopoliza a linha. Adequa-se muito bem a tráfego interativo.

O 1º pacote de um bloco de dados com muitos pacotes pode ser enviado antes do 2º terchegado completamente ! reduz o atraso e melhora a velocidade.

Redes de computadores utilizam comutação de pacotes.

(a)

(b)

Switching office

Physical copper connection set up when call is made

Packets queued up for subsequent transmission

Computer

Computer

Figura 2.8: (a) Comutação de Circuitos (b) Comutação de Pacotes (Figura 2.34 A.S.T).

RECOMENDAÇÕES adicionais sobre estes tópicos:" Ler muito bem a seção 2.6 para ficar bem informado sobre ATM." Ver seção 2.7 ! telefonia celular.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

47

2.3. Meios de Transmissão

• Meios Magnéticos:

Gravação em fita ou disco magnético e transporte físico.- Oferece altas taxas de transmissão- Baixo custo por bit transportado

Fita exabyte de 8 mm ! armazena 7 Gbytes.

Uma caixa de 50 x 50 x 50 cm pode armazenzar 1.000 fitas = 7.000 Gbytes.

Se enviar por Correio/SEDEX para chegar em 24 horas a outra localidade.(7.000 x 8) Gbits / 86.400 segundos = 648 Mbps de largura de banda (ATM = 622 Mbps).

Se levar de carro, a uma hora de distância ! 15 Gbps

Moral da história: nunca despreze a largura de banda de uma Kombi.

• Par Trançado:

O par trançado consiste num par de fios que é trançado para evitar interferência elétrica deoutros fios em volta. A aplicação mais comum é o sistema telefônico.

Pode ter comprimentos de ordem de quilômetros, sem amplificação. A taxa de transmissãodepende da espessura do cabo e do comprimento. Recentemente foi adotado como um dospadrões de meio de transmissão para redes ethernet.

Este tipo de fiação costuma ser chamado de UTP - Unshielded Twisted Pair

Cabos de categoria 3 ! 4 pares de fios encapados e trançados. Foram usados até 1988.

Cabos de categoria 5 ! Também 4 pares, mas com mais voltas (mais nós por centímetro) eisolados com teflon.

Banda de 10 a 100 Mbps.

É um dos meios mais usados atualmente. Baixo custo e facilidade de manuseio. Baixa taxade falhas.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

48

• Cabo Coaxial:

Copper core

Insulating material

Braided outer conductor

Protective plastic covering

Baseband - 50 ohms - Transmissão digitalBroadband - 75 ohms - Transmissão Analógica.

Taxa de dados pode chegar a 2 Gbps com cabos de 1 Km.

• Redes de Fibra Óptica

Total internal reflection.

Air/silica boundary

Light sourceSilica

Air

(a) (b)

β1 β2 β3

α1 α2 α3

Jacket (plastic) Core Cladding

Sheath Jacket

Cladding (glass)

Core (glass)

(a) (b)

Vantagens:" Alta largura de banda. Largura de banda pode ultrapassar 50.000 Gbps (50 Tbps), mas o

limite prático de sinalização atual é de 1 Gbps." É fina e leve." Não afetada por ruídos eletromagnéticos oriundos de relâmpagos ou aparelhos elétricos." Muito segura, difícil fazer "grampeamento" sem ser detectado." Usa LED ao invés de laser ! barato." Consiste de dois canais em fibra, full duplex." Usa fibra multimode (não é necessário usar single mode para transmitir a 100 Mbps)." 1 erro em 2.5x1010 bits (pior caso).

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

49

Os cabos de fibras óticas são semelhantes aos coaxiais ! entretanto no lugar da malhaentrelaçada fica uma capa de vidro que protege a fibra de silício puro. No centro da fibrafica o núcleo que realmente transmite a luz.

Nas fibras multimodais ! núcleo de silício tem 50 microns de diâmetro (50 x 10-6 m), oque corresponde à espessura de um fio de cabelo humano. Nestas fibras, geralmente usa-seluz infravermelha com leds na faixa de 850 nm (0,85 micron)

Nas fibras monomodais ! núcleo entre 8 e 10 microns. São mais caras e tem menoratenuação. São usadas para transmissão em longa distância, como por exemplo em cabosintercontinentais submarinos. Usa-se luz na faixa de 1300 nanometros.

Espectro de radiação eletromagnética:

100 102 104 106 108 1010 1012 1014 1016 1018 1020 1022 1024

Radio Microwave Infrared UV X-ray Gamma Ray

f (Hz)

Visible light

104 105 106 107 108 109 1010 1011 1012 1013 1014 1015 1016

f (Hz)

Twisted pair

Coax

Satellite

TV

Terrestrial microwave

Fiber

optics

MaritimeAM

radioFM

radio

Band LF MF HF VHF UHF SHF EHT THF

_________________________________________________________________________Anotações:

_______________________________________________________________Fim de documento * Arquivo: netadrp3.pdf * Total de páginas deste arquivo: 22

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

50

3. A Camada de Enlace de Dados (datalink)

Camada de Enlace de Dados ! é composta por algoritmos que permitem comunicaçãoeficiente entre dois computadores.

CANAL ! possui uma característica que o torna parecido com um fio: os bits sãotransmitidos na ordem exata em que são enviados.

FUNÇÕES da CAMADA:• Fornecer uma interface de serviço muito bem definida à camada de rede;• Determinar como os bits da camada física serão agrupados em quadros (frames);• Tratar os erros e o controle de fluxo.

Maioria das LANs utiliza serviços sem conexão e sem confirmação na camada deenlace de dados.

3.1. A sub-camada de acesso ao meio

Rede de difusão (broadcast) ! questão fundamental está em determinar quem tem direitode usar o canal quando há uma disputa por ele.

Canais de Difusão ! também conhecidos como canais de multiacesso (multi accesschannel) e canais de acesso aleatório (random access control).

Os protocolos usados para determinar quem será o próximo em um canal multiacessopertencem a uma sub-camada do nível de enlace de dados.

Esta é a sub-camada é conhecida como MAC - Medium Access Control.

MAC ! é especialmente importante em LANs pois a maioria usa canais multiacesso.

Tecnicamente ! a MAC é a camada inferior da camada data-link.

A MAC deve resolver o problema da alocação de canais ! como alocar um canal dedifusão entre usuários que competem entre si.

3.1.1. Filas

Ferramenta básica para análise quantitativa de redes de computadores.

Sistemas de enfileiramento modela processos em que usuários:

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

51

chegam " esperam " são atendidos " saem

Sistemas de filas podem ser caracterizados por 5 componentes:

1. Função densidade de probabilidade de tempo de chegadas.2. Função densidade de probabilidade de tempo de serviços.3. O numero de servidores.4. O método de disciplina da fila.5. A quantidade de espaços de buffer nas filas.

Exemplificando:

Densidade de probabilidade de chegadas e serviços:

A densidade de probabilidade de tempo entre chegadas " descreve o intervaloentre chegadas consecutivas.

Para analisar o sistema de fila, o tempo que cada usuário toma do servidor deveser conhecido " este tempo varia de usuário para usuário.

Número de servidores:

O número de servidores também é importante. Por exemplo, em muitos bancos sevê uma grande fila única para todos os clientes (multi-servidor). Em outros, cadacaixa tem sua fila própria. Temos aí uma coleção de filas de servidor único.

Disciplina da fila:

A disciplina da fila descreve a ordem na qual os usuários são tomados da fila:

• Supermercados e bancos " primeiro que chega, primeiro a ser servido.• Pronto socorro " primeiro a ser atendido é o caso mais grave.• Alguns sistemas de fotocópias " trabalhos menores primeiro.

Buffers:

Nem todo sistema de filas tem um espaço de buffer infinito. Quando muitosusuários estão enfileirados, alguns podem ser rejeitados.

Nossa análise se concentrará em sistemas :• Com espaço de buffer infinito• Com um único servidor• Primeiro a chegar, primeiro a ser servido (FIFS)

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

52

Consideraremos sistemas com a notação A/B/m , onde :

A " é a função densidade de probabilidade do tempo entre chegadas.B " é a função densidade de probabilidade do tempo de serviço

m " é o número de servidores.

As densidades de probabilidades (A e B) são escolhidas entre:

M " exponencialD " todos os usuários têm o mesmo valor ( D de “determinístico” )G " genérico

Nós assumiremos o modelo M/M/1 (exponencial/exponencial/1), que é razoável paraqualquer sistema que tenha um número grande de usuários independentes.

Nestas circunstancias, a probabilidade de exatamente n usuários chegarem durante umintervalo de duração t é dado pela Lei de Poisson :

P tt

nen

nt( )

( )

!= −λ λ

onde λ é a velocidade média de chegada.

Deste resultado pode-se provar que uma distribuição de tempo entre chegadas definidaspela lei de Poisson, gera uma função exponencial de densidade de probabilidades.

a t dt e dtt( ) = −λ λ

Pode-se também mostrar que se a probabilidade de serviços terminando em algum intervalo

∆t é µ∆t , então a função densidade de probabilidade para o tempo de serviço é te µµ −

com o tempo médio de serviço de 1

µ segundos por usuário.

• Os Sistemas M/M/1 Em Equilíbrio

O estado de um sistema M/M/1 é completamente descrito quando se define quantosusuários estão correntemente no sistema, incluindo os na fila de espera e aqueles sendoatendidos.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

53

X X XXX X X X

FILA

Media de Chegadae' clientes/seg.

Media de atendimentoé clientes/seg.

Figura 3.1: Sistema de chegada e saída num sistema de fila e servidor

Pk é a probabilidade de que existam exatamente K clientes no sistema ( fila + servidor )em equilíbrio.

A partir do cálculo dos Pk s , pode-se achar:

• O número médio de clientes no sistema• O tempo de espera• Outras estatísticas do sistema

Pkk= −( )1 ρ ρ

onde ρ λµ

=

O número médio de clientes no sistema será :

N =−ρ

ρ1

O tempo de espera total, incluindo o tempo de atendimento será:

T =−1

µ λ

• Redes Com Filas M/M/1

Com algumas mudanças de notação, o resultado acima pode ser utilizado para resolver oproblema de achar o atraso de enfileiramento para pacotes num IMP (router).

TCi

i i

=−

1

µ λ

onde Ci é a capacidade de comunicação do canal i em bits/segundo e µCi é a taxa deserviço em pacotes/segundo.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

54

3.1.2. Alocação de Canais

Consideremos duas classes de Rede: ponto-a-ponto e broadcast

Conforme já discutido, em redes do tipo broadcast, a questão central é : “ quem consegueacesso ao canal (meio) quando existe competição por ele? ”.

Trataremos dos diferentes métodos de solução do problema do controle de acesso ao meio(MAC).

• Redes Locais e Metropolitanas

MACs são especialmente importantes em redes locais (LANs), pois praticamente todasusam canais de múltiplos acessos, ao contrário das WANs que utilizam ligações ponto-a-ponto.

Características de LANs:

- Dimensão de não mais que alguns quilômetros.- Taxa de transmissão total de pelo menos vários Mbps.- São controladas por uma única organização.

Características de WANs

- Se espalham sobre países inteiros.- Tem taxa de transmissão próximas de 2 a 10 Mbps.- São controladas por múltiplas entidades (as companhias de telecomunicações possuem

a subnet de comunicação e os clientes possuem os hosts).

Entre LANs e as WANs, estão as MANs (Metropolitan Area Networks) que se espalhampor cidades inteiras, mas usam tecnologia de LANs.

Projetistas de WANs são sempre forçados (por razões políticas, legais ou econômicas) ausarem a rede telefônica pública apesar dos seus problemas.

Projetistas de LANs podem projetar seus próprios meios de transmissão com a largura debanda desejada.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

55

Alocação Estática de Canais

Quando existe um número de usuários pequeno e fixo ! cada usuário tem uma cargagrande de tráfego.

Neste caso usa-se FDM (Frequency Division Multiplexing) o qual se trata de ummecanismo simples de alocação. Cada usuário tem uma parcela igual da largura debanda (a largura de banda é igualmente dividida entre os usuários).

Problemas:

• Se a banda tem N slots, e nem todos os usuários precisam utilizar o meio, o sistema ficaineficiente.

• Se mais que N precisam se comunicar, alguns não terão permissão, mesmo se algunsdos que tenham conseguido permissão não estejam transmitindo.

Como nenhum dos métodos estáticos de alocação de canais tem um resultado muitosatisfatório quando aplicado a tráfego de rajadas (bursts), vamos olhar maisdetalhadamente, a seguir, os métodos de alocação dinâmicos.

Alocação Dinâmica de Canais

Questões que devem ser consideradas quando se trata os métodos de alocação:

• Modelo da Estação: O modelo consiste de N estações independentes, cada qualgerando quadros para transmissão. Como visto acima, a probabilidade de um quadroser gerado em um intervalo de duração ∆t é t∆µ (constante, relativa à taxa dechegada de novos frames). Uma vez gerado um quadro, a estação é bloqueada e nadafaz até que o quadro tenha sido transmitido com êxito.

• Canal Único: Um único canal está disponível para todas as comunicações.

• Colisão: Se dois quadros são transmitidos simultaneamente, eles se sobrepõem e osinal resultante é adulterado. Esse evento é denominado COLISÃO. Um quadro quetenha sofrido colisão precisará ser transmitido posteriormente. Supõe-se que não háoutros erros além dos gerados por colisões.

!! As colisões podem ser detectadas verificando-se a potência (voltagem) e a largura(tempo) do pulso do sinal recebido e comparando-o com o sinal transmitido !!

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

56

• Tempo:

Tempo Contínuo ! A transmissão de um quadro pode começar a qualquerinstante. Não há um relógio-mestre dividindo o tempo em intervalos distintos.

Tempo Segmentado (slotted) ! O tempo é dividido em intervalos distintos(slots). A transmissão de um quadro sempre começa no início de um slot. O slotpode ou não conter quadros.

• Portadora:

Carrier Sense ! Existe detecção de portadora. As estações conseguem detectar se ocanal está sendo usado antes de tentar utiliza-lo. O canal não será usado se alguma outraestação já estiver usando

No Carrier Sense ! As estações não conseguem detectar o canal antes de tentarutiliza-lo. Simplesmente transmitem e depois determinam se foi bem sucedida.

Nota: Observe que o termo “portadora” (carrier), neste caso, refere-se ao sinalelétrico que está carregando os dados no cabo, e não tem relação com aportadora que é modulada nas comunicações usando modems (ou seja, não háum sinal de portadora de 1 ou 2 KHz sempre presente no cabo).

3.2. Protocolos de Acesso Múltiplo

Existem vários algoritmos para a alocação de um canal de múltiplo acesso. Veremos algunsa seguir.

3.2.1. Protocolos ALOHA

Idealizado para radiodifusão terrestre.

Existem duas versões ! ALOHA “puro” e ALOHA “discreto” (slotted).

Eles diferem com relação ao fato do tempo ser ou não dividido em slots distintos, aosquais todos os frames devem se ajustar.

Aloha slotted exige sincronização dos frames dentro dos slots de tempo enquanto o Alohapuro não exige.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

57

• ALOHA PURO

Idéia básica " permitir que os usuários transmitam sempre que tiverem dados a seremenviados.

Princípios:

• Deixe os usuários transmitirem sempre que tiverem dados a serem enviados.

• Colisões existirão e os frames serão destruídos. Entretanto, a fonte sempreconsegue saber se o frame foi destruído ou não “escutando” o canal de saída.

• Se o frame foi destruído, a fonte espera por um intervalo de tempo aleatório e oreenvia.

Tempo aleatório " senão os mesmos frames continuarão a colidir diversas vezes

Contention Systems: sistemas em que múltiplos usuários compartilham um canal comum demaneira que conflitos podem acontecer.

User

Time

A

B

C

D

E

Figura 3.2: Exemplos de disputa pelo meio e colisões num canal de múltiplo acesso (quais dosframes são transmitidos com sucesso?

ALOHA puro:

• Dois frames ao mesmo tempo → ambos destruídos

• Último bit de um frame coincide com o primeiro bit de outro → ambos destruídos

Qual a eficiência de um canal ALOHA?

Consideremos:

• “Frame time”: quantidade de tempo necessário para transmitir um frame padrão detamanho fixo.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

58

• Uma população infinita de usuários gera novos frames de acordo com a distribuiçãode Poison com média de S frames por frame time.

• Se S > 1 a população está gerando frames numa taxa que não pode ser acompanhadapelo canal. Para um desempenho razoável temos:

0 < S < 1

• Assume-se que a probalidade de ocorrerem K tentativas de transmissão por frametime é também distribuição de Poisson com média G por frame time. Logo temos:

G > S

• P0 = −2Ge " probabilidade de que um frame não sofra colisão.

• O desempenho será a carga G, vezes a probabilidade de que o frame não sofra colisão:

S = G P0 """" função exponencial

Em que condições um frame é transmitido sem danos?

t

to t + to t + 2to t + 3to Time

Vulnerável

Colide com oinício do framesombreado

Colide com ofinal do framesombreado

Figura 3.3: Tempo de vulnerabilidade de um frame

Um frame não sofrerá colisão se nenhum outro for enviado dentro de um frame time apartir de seu começo.

Quando o frame “sombreado” chega sem erros ?

Lembre-se que os tamanhos dos frames são sempre iguais.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

59

" Considere T o tempo necessário para enviar um frame. Se qualquer outro usuário tivergerado um frame no intervalo entre t0 e t0 + T o final deste quadro gerado colidirácom o início do frame sombreado.

" No ALOHA puro uma estação NÃO ESCUTA O CANAL antes de transmitir, enão sabe se já havia um frame a caminho.

" Da mesma forma: qualquer outro frame iniciado entre t0 + T e t0 + 2T vai colidir com ofinal do frame sombreado.

Portanto ! Para ter certeza da transmissão, é preciso haver um intervalo livre de 2frames.

A probabilidade de que K frames sejam gerados durante um frame time é dado peladistribuição de Poisson:

Pr[ ]!

KG e

K

K G

=−

Para K = 0 """" P e G0 = −

(probabilidade de zero quadros gerados durante todo o período de vulnerabilidade)

Para um intervalo de dois frames time, a média de frames gerada é 2G. Logo,

P e G0

2= − e S Ge G= −2

O melhor desempenho será quando G = 0.5 →→→→ S = 0.184 ≈≈≈≈ 18%

• SLOTTED ALOHA (1972)

Divisão do tempo em intervalos (slots), cada um correspondendo a um frame.

Uma estação emite um bip no início de cada intervalo. Um usuário sempre espera o iníciodo próximo slot.

" Período de vulnerabilidade é reduzido à metade !

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

60

" Probabilidade de não haver outro tráfego durante o mesmo slot que o mesmo frame

enviado é −Ge , o que resulta em:

S Ge G= −

Melhor desempenho : para G = 1 →→→→ S = 1/e ≅ 40%

Em 1985 → foi proposto o Slotted Aloha com população finita

0.40

0.30

0.20

0.10

0 0.5 1.0 1.5G (attempts per packet time)

2.0 3.0

S (th

roug

hput

per

fram

e tim

e)

Slotted ALOHA

Pure ALOHA

Figura 3.4: Desempenho dos protocolos ALOHA. Throughput S (capacidade de transmissão) emfunção do número de tentativas (G) por frame time.

3.2.2. Protocolos CSMA (Carrier Sense Multiple Access)

Em LANs ! as estações podem monitorar as atividades do canal e escolher o momentocerto para tentar acessá-lo.

Protocolos com detecção de Portadora: as estações examinam o canal para saber se eleestá ocupado ou não. Eles “escutam” aportadora.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

61

CSMA 1-PERSISTENTE

• Quando uma estação tem dados a transmitir, ela primeiro escuta o canal para ver semais alguém está transmitindo no momento.

• Se o canal estiver ocupado, a estação esperará até que ele fique inativo (permaneceescutando).

• Quando detectar um canal desocupado, a estação transmitirá um quadro.

• Se ocorrer uma colisão, a estação esperará um intervalo de tempo aleatório ereiniciará o processo.

CSMA NÃO-PERSISTENTE

• A estação verifica se alguém está utilizando o canal.

• Se desocupado, envia.

• Se o canal está ocupado, a estação não permanece monitorando a linha. Ela esperapor um tempo aleatório e repete o algoritmo.

CSMA P-PERSISTENTE

Se aplica a canais segmentados no tempo (slotted channels).

• A estação monitora o canal.

• Se o canal está desocupado, a estação transmite com probabilidade p. Com umaprobabilidade q = 1 −−−− p, ela desiste até o próximo slot.

• Se este próximo slot também está desocupado, a estação ou transmite ou desiste denovo, com probabilidades p e q.

• Processo é repetido até que o frame seja transmitido ou outra estação tenha começado atransmitir.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

62

1.0

0.9

0.8

0.5

0.4

0.3

0.2

0.1

01 2 3 4 5 6 7 8 90

0.6

0.7

S (

thro

ugh

put p

er p

ack

et t

ime)

G (attempts per packet time)

Pure ALOHA

Slotted ALOHA

1-persistent CSMA

0.1-persistent CSMA

0.5-persistent CSMA

Nonpersistent CSMA

0.01persistent CSMA

Figura 3.5: Comparação de desempenho dos protocolos ALOHA e CSMA. Throughput S(capacidade de transmissão) em função do número de tentativas (G) por frame time.

CSMA e a detecção de colisão

Persistentes e não-persistentes ! avanço significativo com relação ao ALOHA: garantemque nenhuma estação comece a transmitir se perceber que o canal está ocupado.

Outro avanço ! parar imediatamente ao detectar uma colisão.

No caso de haver colisão entre frames transmitidos simultaneamente por duas estações, asduas devem parar imediatamente a transmissão ao invés de terminar a transmissão dosframes deturpados ! a interrupção de quadros com erros economiza tempo e largura debanda.

Este protocolo, conhecido como CSMA/CD (Carrier Sense Multiple Access withCollision Detection) é amplamente usado em LANs.

No ponto marcado como t0, uma estação terminou a transmissão de um frame.

Qualquer estação que tenha um frame a ser enviado, pode transmiti-lo. Se duas estaçõesdecidirem enviar um frame ao mesmo tempo haverá a colisão.

Após detectar uma colisão, uma estação cancela sua transmissão, espera um intervalode tempo aleatório e, em seguida, tenta novamente, pressupondo que nenhuma outraestação tenha começado a transmitir neste meio-tempo.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

63

Modelo conceitual do CSMA/CD " consiste de períodos alternados de contenção e detransmissão, com a ocorrência de períodos de inatividade, quando todas as estaçõesestiverem em repouso (por exemplo por falta de atividade).

O CSMA/CD é um protocolo muito importante ! IEEE 802.3 visto mais adiante.

Contention slots

Contention period

Transmission period

Idle period

to

Frame Frame Frame Frame

Time

Figura 3.6: Intervalos de contenção e relação com envio de frames

_______________________________________________

Exercício para casa: estudar os protocolos sem colisões.

Embora colisões não ocorram durante a transmissão de um frame numa rede CSMA/CD, a partir do momentoem que uma estação assume o canal, elas ainda podem ocorrer durante o intervalo de contenção.

Ver:• Método Bit-Map Básico• BRAP - Broadcast Recognition with Alternating Priorities

________________________________________________________________________Anotações:

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

64

Pergunta-se: Quanto tempo é necessário para se perceber uma colisão?(Isto é, qual o tempo do slot de contenção? )

A B

Packet starts at time 0A B A B

Packet almost at B at - τ ∋

Collision at time τ

A B

Noise burst gets back to A at 2τ

A B

(a) (b)

(c) (d)

Figura 3.7: Determinação do slot de contenção

Tempo do percurso A →→→→ B = Ψ

Pior caso:

• A começa

• Num tempo Ψ −ε , um pequeno instante antes de o sinal chegar à estação maisdistante, B começa a transmitir e percebe a colisão, quase instantaneamente, e pára.

• Mas o pequeno efeito da colisão não chega até a estação original A num tempo melhorque 2Ψ −ε

Em outras palavras: na pior das hipóteses, a estação A só poderá ter certeza de haver seapoderado do canal após transmitir durante 2Ψ sem escutar uma colisão.

Portanto 2Ψ é o tempo necessário para que a estação esteja segura que assumiu ocontrole. Num cabo de 1 Km, Ψ = 5 microsegundos.

_______________________________________________________________Fim de documento * Arquivo: netadrp4.pdf * Total de páginas deste arquivo: 15

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

65

3.3. Padrão IEEE 802.3 e Ethernet

Os padrões IEEE 802.x diferem na camada física, mas são compatíveis na camada deenlace de dados.

IEEE 802.3 ! é uma LAN CSMA/CD 1-persistente

• Quando estação quer transmitir ! ela escuta o cabo.

• Se o cabo estiver ocupado, a estação aguarda até que ele fique livre; caso contrário (seestiver livre) ela começa a enviar imediatamente.

• Se duas ou mais transmitirem num cabo livre ao mesmo tempo, há uma colisão, e todasterminam a transmissão, aguardando um tempo aleatório até repetir o processo inteironovamente.

Ethernet " originalmente criado pela Xerox (1976): Definida como CSMA/CD de 2.94Mbps para 100 estações, num cabo de 1 Km. Depois Xerox, DEC e Intel criaram o padrãoda ethernet a 10 Mbps.

Ethernet " referência ao “ether luminífero”, através do qual se pensava que a radiaçãoeletromagnética se propagava (Sec. XIX J.C. Maxwell mostrou que as ondas viajavamcomo equações de onda; em 1887 Michelson & Morley descobriram que elas poderiam sepropagar no vácuo).

O 802.3 difere da especificação ethernet por descrever uma família inteira de sistemasCSMA/CD 1-persistente que funcionavam entre 1 e 10 Mbps em diversos meios.

3.4. Padrão IEEE 802 para LANs

802.1 - Descrição dos Protocolos802.2 - Descrição da camada Link Logic Controls802.3 - Ethernet (CSMA/CD) 1-persistente802.4 - Token Bus802.5 - Token Ring

• Ethernet

Padrão definido: Cabo coaxial grosso (thick) de 50 ohms (10B5) " obsoleto.

Outros meios: Cabo coaxial fino 50 ohms (thin) ou (10B2)" também chamado de cheapernet.Par Trançado TP - Twisted Pair (10BT) " mais usado atualmente.Fibra Óptica (10BF) " atualmente com preços em queda, e mais disponibilidade defornecedores, tanto do meio quanto dos equipamentos opto-eletrônicos.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

66

Thick - usa TAP's " completamente em desuso.

Thin - usa junções T " desaparecendo aos poucos, sendo substituido pelos cabos “TP”.

Par Trançado ou “Twisted Pair” (TP) " usa hubs ou concentradores.

Os sinais são codificados: Manchester Encoding

HIGH: 0.85 volts 1

LOW: -0.85 volts 0

Além disso " o campo de comprimento do cabeçalho do 802.3 é usado para identificar otipo de pacote no Ethernet.

Muitas pessoas usam incorretamente o termo “ethernet” em um sentido genérico para sereferir a todos os protocolos CSMA/CD " na verdade se refere a um produto específicoque implementa o 802.3

Cabeamento 802.3:

Nome Cabo Dist. Max. Nós/segmento Vantagens10base5 Coaxial Grosso1 500 m 100 Ideal para backbones10base2 Coaxial Fino2 200 m 30 Sistema barato10base-T Par Trançado 100 m 1024 Fácil manutenção10base-F Fibra Ótica 2000 m 1024 Maior distância

________________________________________________________________________Anotações:

1 Cabo coaxial grosso encontra-se completamente obsoleto atualmente. Está aqui devido a notação.2 Cabos coaxiais finos tendem a desaparecer, pois estão sendo substituídos por pares trançados, devido aobarateamento destes últimos.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

67

Transceiver ! Circuitos que tratam a detecção de portadora e de colisões.

Quando detecta uma colisão, o transceiver injeta um sinal inválido especial no cabo, paragarantir que todos os outros transceivers também entendam que ocorreu uma colisão.

Core

ConnectorHub

Transceiver cable

Vampire tap

Controller

Transceiver

Transceiver + controller

Twisted pair

Controller

(a) (b) (c)

Figura 3.8: Esquemas de cabeamento. (a) Cabo coaxial 10B5 (em desuso) ; (b) Cabo coaxial fino10B2, e (c) Cabo de par trançado 10BT com uso de hub.

Vários cabos podem ser conectados por REPETIDORES.

Repetidores ou ethernet repeaters " dispositivos de CAMADA FÍSICA " recebe,amplifica e retransmite sinais, em duas ou mais direções.

No que se refere ao software ! uma seqüência de segmentos de cabos conectados porrepetidores não é diferente de um único cabo " exceto pelo retardo introduzido pelosrepetidores " por isso há um limite máximo de repetidores que podem ser usados.

Regra ethernet:

Dois transceivers não podem estar a mais de 2,5 Km de distância, e nenhumcaminho entre dois transceivers pode atravessar mais de 4 (quatro) repetidores.

3.4.1. Codificação Manchester

Versões do 802.3 NÃO usam codificação binária direta, com 0 volts para o bit 0 e 5 voltspara o bit 1 " pois isso geraria ambigüidades, pois não conseguem identificar a diferençaentre um transmissor inativo (0 volts) de um bit 0.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

68

É necessário uma maneira dos transceivers determinarem exatamente o início, o fim ou omeio de cada bit, sem fazer referência a um clock externo " Codificação Manchester(Manchester Encoding) e Codificação Manchester Diferencial (Diferential ManchesterEncoding).

Codificação Manchester

• Cada período de bits é dividido em dois intervalos iguais.

• Um bit 1 binário é enviado quando a voltagem é definida como alta durante oprimeiro intervalo, e como baixa no segundo.

• No 0 binário acontece exatamente o contrário: primeiro baixa e depois alta.

• Garante que cada período de bits tenha uma transição na parte intermediária.

Desvantagem ! requer duas vezes mais largura de banda que a codificação bináriadireta, pois os pulsos são a metade da largura.

Codificação Manchester Diferencial

• Variação da codificação Manchester básica.• Um bit 1 é indicado pela ausência de uma transição no início do intervalo.• Um bit 0 é indicado pela presença de uma transição no início do intervalo.• Em ambos os casos existe uma transição no meio.

Requer equipamento mais complexo, mas oferece mais imunidade a ruído.

Sistemas Banda Básica " usam a codificação Manchester, devido à sua simplicidade.O sinal alto é de + 0,85 V e o sinal baixo é de − 0,85 V.

Bit stream 1 0 0 0 0 1 0 1 1 1 1

Binary encoding

Manchester encoding

Differential Manchester encoding

Transition here indicates a 0

Lack of transition here indicates a 1

Figura 3.9: Esquemas de codificação de sinais Manchester

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

69

3.4.2. Ethernet e Sub-camada MAC

Estrutura de um frame ethernet:

PreambleDestination

addressSource address

Start of frame delimiter

Length of data field

ChecksumPadData

0-1500 0-46 4Bytes 7 1 22 or 6 2 or 6

Figura 3.10: Estrutura de um frame ethernet e seus campos

• Preâmbulo: 7 bytes de 10101010

Cada frame começa com um preâmbulo de 7 bytes, cada um contendo o padrão de bit10101010. " codificação Manchester produz uma onda de 10 MHz de 5,6microsegundos para permitir que o relógio do receptor se sincronize com o dotransmissor.

• Start of frame: 10101011

Sinaliza o início do quadro propriamente dito.

• Destination address e Source address: podem ser de 2 ou 6 bytes (para 10 Mbps) masos padrões de banda base usam somente endereços de 6 bytes.

Bit de alta ordem no início do endereço é 0 para endereços comuns e 1 para endereçosde grupo " Multicast: envio de uma mesma mensagem para um grupo de estações.

Broadcast: envio de uma mesma mensagem para todas as estações. É reservado oendereço de destino com todos os bits = 1.

Outra informação interessante " O bit 46 (adjacente ao bit de alta ordem) é usado paradistinguir endereços locais de endereços globais:

Os endereços locais são atribuídos pelo administrador da rede, e não têm significado fora darede local.

Os endereços globais são atribuídos pelo IEEE para assegurar que duas estações dequalquer parte do mundo nunca tenham o mesmo endereço global.

Com os 48 −−−− 2 = 46 bits disponíveis " existem cerca de 7 x 1013 endereços globais.

A idéia é que qualquer estação possa endereçar, exclusivamente, qualquer outraestação, fornecendo apenas o número de 48 bits apropriado. Cabe à camada de rededescobrir como localizar o destino.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

70

• Lenght: dá o comprimento (tamanho) do data field (de 0 a 1500 bytes).

• Pad : preenchimento

Para evitar problemas e permitir a distinção de quadros válidos, o tamanho do frameque vai do destination address até o checksum deve ser maior ou igual a 64 bytes

! se a parte de dados de um quadro válido for menor que 46 bytes, o campo deenchimento será usado para preencher o quadro até o tamanho mínimo.

Razão mais importante ! tempo de propagação: evitar que uma estação conclua atransmissão de um quadro curto antes de o primeiro bit ter atingido a extremidadedo cabo.

Tratamento de Colisões:

Qualquer estação detectando uma colisão aborta sua transmissão e gera um ruído paraprevenir todas as outras estações, e então espera um tempo aleatório antes de repetir o ciclonovamente.

Depois da primeira colisão " cada estação espera 0 ou 1 slot time, antes de tentarnovamente.

Depois de uma segunda colisão, a espera será de 0, 1 ou 2 ou 3 slot times. Numa terceiracolisão, a espera será entre 0 e 7 slot times. E assim por diante.

Depois de 16 colisões " uma falha é relatada aos protocolos superiores.

3.4.3. Performance da 802.3 Ethernet

Seja A a probabilidade de alguma estação alocar o meio durante um slot (tempo deduração do pacote)

A Kp p K= − −( )1 1

ondeK = número máximo de estações prontas para transmitir.

p = probabilidade de uma estação transmitir durante um slot.

Eficiência = T

T A+ 2Ψ

T = tempo médio de transmissão de um frame.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

71

Aqui vemos que a distância máxima entre duas estações entra nos números dodesempenho " Quanto maior for o cabo, maior será o intervalo de contenção.

Restringindo o comprimento dos cabos a 2,5 Km, o tempo de ida e volta pode ser limitadoa 51,2 microsegundos " o que a 10 Mbps corresponde a 512 bits ou 64 bytes, que é otamanho mínimo de um quadro.

Algoritmo de recuo binário ! para acomodar o caminho mais longo permitido pelo 802.3(2,5 Km e 4 repeaters) o slot de tempo foi definido como 512 tempos de transmissão deum bit, ou 51,2 microsegundos.

Considerando outros parâmetros para reformular a equação acima, em termos docomprimento dos quadros (F), largura de banda (B), comprimento do cabo (L) e velocidadede propagação do sinal (C), para o caso ótimo de e slots de contenção por quadro, eusando T =F/B temos que a equação acima fica:

Eficiência = 1

1 2+ BLeCF

Onde: B = largura de banda L = comprimento do caboC = velocidade de propagação F = comprimento do frame

Quando o termo no denominador for grande, a eficiência da rede será baixa.

Ou seja, aumentar a largura de banda ou a distância da rede (ou seja, o produto BL)reduz a eficiência para um determinado tamanho de quadro. Maior parte das pesquisasvisa exatamente o aumento deste produto " largura de banda alta, em longasdistâncias ! 802.3 talvez não seja o melhor sistema para estas aplicações.

1.0

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0 1 2 4 8 16Número de estações tentando transmitir

Efic

iênc

ia d

o C

ana

l

32 64 128 256

Frames de 1024 byte

Frames de 512 bytes

Frames de 256 bytes

Frames de 128 byte

Frames de 64-bytes

Figura 3.11: Eficiência de um canal ethernet, em função do número de estações tentandotransmitir, considerando diversos tamanhos de frames.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

72

3.4.4. LANs comutadas (switcheds)

À medida que mais estações são acrescentadas à LAN o tráfego aumenta " chega-se a umasituação de saturação

Solução ! aumentar velocidade " trocar os chips das placas ou circuitos inteiros.

Melhor opção " LAN 802.3 comutada " comutador (switch) com um backplane de altavelocidade, e módulos de interconexão (também conhecidos como módulos “plugáveis” ousimplesmente “módulo”) de várias placas com diversas portas (8, 12, 16 ou mesmo 24portas).

Funcionamento:

• Quando deseja transmitir um quadro 802.3 ! a estação envia um quadro padrão para ocomutador. Cada estação (ou eventualmente um hub) está ligada numa porta de ummódulo do comutador.

• Depois " O módulo “plugável” que contém o quadro verifica se ele (quadro) se destinaa uma das outras estações que estão conectadas ao mesmo módulo.

• Se este for o caso, o quadro será copiado. Caso contrário, o quadro será enviado atravésde um backplane de alta velocidade para o módulo onde está a estação de destino.

Em geral o backplane rodam a mais de 1 Gbps quando usam protocolos proprietários.

Com este tipo de placa plugável só é possível uma transmissão por placa, em umdeterminado momento, mas todas as placas do comutador podem transmitir ao mesmotempo em paralelo " cada placa forma seu próprio DOMÍNIO DE COLISÃO (collisiondomain) independente das outras.

10Base-T connection

To hosts

To hosts

To the host computers

To hosts

Hub

ConnectorSwitch

802.3 LAN

Figura 3.12: Esquema de conexão de um switch

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

73

3.4.5. Alguns pequenos problemas do 802.3

Apesar de amplamente utilizado, o padrão 802.3 possui alguns pequenos problemas:

• Uma estação poderia esperar um tempo arbitrariamente longo para poder enviar umframe " devido ao comportamento probabilístico da MAC.

• Os frames do 802.3 não possuem prioridades " inadequados para sistemas de temporeal, onde frames importantes não deveriam ser retidos à espera de frames semimportância.

________________________________________________________________________Anotações:

_______________________________________________________________Fim de documento * Arquivo: netadrp5.pdf * Total de páginas deste arquivo: 9

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

74

3.5. Padrão IEEE 802.4 : o Token Bus

Idéia simples ! um anel (lógico ou físico) no qual as estações se revezam para transmitiros frames.

Assim " Se houver n estações, e forem necessários T segundos para enviar um frame,nenhum frame terá que aguardar mais do que nT segundos.

Anel " algumas dificuldades de implementação física e de topologia.

Novo padrão " idéia de difusão (broadcast) do 802.3, mas com um comportamento dopior caso sendo bem conhecido (lógica de anel) " 802.4 Token Bus.

3.5.1. Características do Token Bus

Fisicamente " cabo em forma de árvore ou barramento.

Logicamente " estações organizadas em anel, com cada estação conhecendo oendereço da estação “da esquerda” e “da direita”.

• Quando o anel lógico é iniciado " a primeira estação definida pode enviar o primeiroquadro.

• Depois disso " ela passa a permissão para seu vizinho imediato, enviando a ele umquadro de controle especial, chamado TOKEN (permissão).

• O token se propaga em torno do anel lógico " APENAS O PORTADOR DO TOKENTEM PERMISSÃO PARA TRANSMITIR QUADROS " não há colisões.

Ordem física das estações não é importante. Trata-se de um cabo de difusão " cadaestação recebe todos os quadros, descartando aqueles que não forem endereçados a ela.

Quando uma estação passa o token " ela envia endereçado ao seu vizinho lógico no anel,não importando localização física no cabo.

Controle de inserção e remoção " quando uma estação for ligada pela primeira vez, elanão estará anexada ao anel " protocolo de MAC tem recursos para acrescentar e removerestações do anel.

Protocolo MAC 802.4 é muito complexo, com cada estação tendo de manter 10 (dez)temporizadores diferentes, e duas dúzias de variáveis de estado internas. O padrão 802.4 émuito maior e mais complexo que o 802.3

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

75

Camada física : Usa cabo coaxial de banda larga de 75 ohms (usado em TV)Velocidade: 1,5 a 10 Mbps

Destination address

Source address

End delimiter

ChecksumData

0-8182 4 1Bytes ≥ 1 1 1 2 or 6 2 or 6

Preamble

Start delimiter

Frame control

Figura 3.13: Esquema de um frame 802.4 token bus (fig. AST-4.6).

Recomendação: ler a especificação da subcamada MAC do Token Bus (Pag. 329 - A.S.T - Redes deComputadores, 3ª edição).

3.6. Padrão IEEE 802.5: o Token Ring

Algumas considerações:

• Uma rede em anel não é de fato um meio de difusão (broadcast), mas sim umconjunto de ligações ponto-a-ponto individuais que formam um círculo.

• Ligações ponto-a-ponto " envolvem tecnologias bem conhecidas e de praticidadecomprovada, podendo ser feitas com cabo coaxial, par trançado, fibra ópticas ou mesmotecnologias de ondas de rádio ou luz.

• Engenharia de redes em anéis é toda digital, enquanto por exemplo o 802.3 tem umacomponente analógica considerável para detectar colisões.

• Um anel, além de ser confiável, tem um limite superior de acesso ao canal que é bemconhecido.

3.6.1. Comprimento físico de um bit

Um dos aspectos mais importantes num projeto de rede em anel é saber o tamanho físicodo bit, ou seja, quanto um bit ocupa dentro de uma linha de transmissão.

Se temos uma taxa de dados de R bps (bits por segundo), isto significa que 1 bit étransmitido cada 1/R segundos.

Ou seja, se temos uma taxa de R Mbps " isto significa que 1 bit é transmitido a cada 1/Rmicrosegundos (µs).

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

76

A velocidade de propagação (V) típica de um sinal elétrico num cabo coaxial é da ordem de200 metros por microsegundo.

D = V * T """" D = 200 m/(µµµµs) * 1/R (µµµµs).

D = 200/R metros """" cada bit ocupa 200/R metros no anel.

Por exemplo, numa rede rodando a 10 Mbps """" D = 20 metros.

Outro modo de pensar sobre este assunto: Um anel de 1 Mbps cuja circunferência(distância) seja de 1.000 metros, só pode conter 5 bits ao mesmo tempo. Uma rede de 10Mbps só pode conter 50 bits ao mesmo tempo.

3.6.2. Características do Token Ring

• Não é broadcast (de fato).• Coleção de links ponto a ponto, formando um círculo.• Pode rodar em par trançado, cabo coaxial ou fibra ótica.• É completamente digital.• É apropriado para aplicações que exigem boa resposta em tempo real.• Quando a rede não está ocupada, um token circula entre as estações.• Não existem colisões.

Como o anel é um conjunto de interfaces ponto-a-ponto " cada bit que chega a umainterface é copiado para um buffer e, em seguida, é copiado de volta ao anel.

Enquanto estiver no buffer, o bit poderá ser inspecionado e modificado antes de sermandado de volta para o anel (obviamente há um retardo de 1 bit em cada interface).

interfaces de anel

Estações

Token RingFigura 3.14: Uma rede token ring e as interfaces do anel.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

77

paraestacao

daestacao

1 bit delay

paraestacao

daestacao

Interfaces do Anel

Figura 3.15: Retardo de um bit numa interface de rede token ring.

Em um token ring " um padrão especial de bits, chamado de “token”, circula em tornodo anel, sempre que as estações estão ociosas.

Quando uma estação tem um frame para ser transmitido " ela deve se apossar do token eremovê-lo do anel, antes de transmitir.

Como só existe um token " apenas uma dada estação pode transmitir num dado instante:problema de acesso ao canal é resolvido.

Implicação do projeto " O anel deve ter um retardo suficiente para conter um tokencompleto, que circula quando todas as estações estão desocupadas (ociosas).

O retardo tem dois componentes " o retardo de um bit introduzido por cada estação e oretardo de propagação do sinal.

As interfaces do anel possuem dois modos de operação: ESCUTA e TRANSMISSÂO.

ESCUTA " bits na entrada são simplesmente copiados na saída (1 bit de retardo).

TRANSMISSÃO (depois de possuir o token) " A estação quebra a conexão entre entradae saída, colocando o seu próprio dado no anel.

À medida que os bits propagados ao longo do anel retornam, são retirados pela estaçãoque os envia. Estação emissora pode guardá-los e compará-los com os originais paramonitorar a confiabilidade do anel. Ou simplesmente podem ser descartados.

Assim que uma estação recebe de volta seu último bit ela deve chavear para o modoescuta e regenerar o token.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

78

Uma crítica aos anéis é a confiabilidade: se uma estação quebra o anel cai, e a redepoderia parar. Mas existem mecanismos para controlar isso. Este problema pode serresolvido pelo uso de um concentrador central.

........

Estação

bypass relay

conector

wire center

Figura 3.16: Chaveador com concentrador central

3.6.3. Formato do frame token e formato do frame de dados

Destination address

Source address

ChecksumData

No limit 4Bytes 2 or 6 2 or 6

Starting delimiter

Access control

Frame control Ending delimiter

Frame status

SD AC ED FS

1 1

FC

1 1 1

SD AC ED

1 1 1

(a)

(b)

Figura 3.17: (a) Formato de um token. (b) Formato do frame 802.5 (fig. AST-4.30).

Legenda:SD " delimitador de início (Start Delimiter)AC " controle de acesso (Access Control)FL " controle de quadro (Frame Load)ED " delimitador de fim (End Delimiter)

Outras considerações:

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

79

• Em condições normais o primeiro bit do frame vai circular todo o anel, e retornarantes de terminar a transmissão do frame. Por isso, a estação retransmissora deveretirar os bits que ela coloca na rede.

• Controle de quem pode transmitir " Cada estação tem um tempo determinadomáximo durante o qual ela pode reter o token. Se, transmitido o primeiro frame, aindarestar tempo, frames extras podem ser enviados.

• O anel deve apresentar um delay suficientemente grande para conter o token.

• Delays artificiais podem ser inseridos " para o caso de várias estações caírem.

• Acknowledgements são feitos pela inversão de um bit do frame lido.

Uma observação importante:

• Quando o tráfego for leve, o token passará a maior parte do tempo circulando em tornodo anel. Ocasionalmente, uma estação se apoderará dele, transmitindo um quadro e, emseguida, enviará um novo token.

• Entretanto, quando o tráfego for pesado, de forma que haja uma fila de frames em cadaestação, assim que uma estação finalizar sua transmissão, e regenerar o token, a estaçãoseguinte verá e removerá o token.

• Dessa forma, a permissão para transmitir gira uniformemente pelo anel, em umaseqüência de revezamento. A eficiência da rede Token Ring pode começar a seaproximar de 100% em condições de tráfego pesado.

Meios físicos utilizados: • Par trançado (blindado ou não) • Cabo Coaxial • Fibra ótica

3.6.4. Manutenção do anel

Enquanto o controle das redes em barramento é feito de maneira descentralizada, as redesToken Ring tem uma estação de monitoramento.

Qualquer estação tem capacidade de ser a monitora. As seguintes tarefas devem sercumpridas por esta estação monitora:

• Cuidar para que o token não se perca.• Tomar providências quando o anel quebrar.• Limpar o anel quando frames danificados aparecem.• Tomar providências relacionadas a frames órfãos.

Exercício: faça uma comparação entre os padrões 802.3, 802.4 e 802.5.Faça considerações a respeito da performance e confiabilidade.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

80

3.7. Rede de alta velocidade: Fast Ethernet

O crescimento natural do volume de operações de redes exigia largura de banda maior paraas operações de redes locais.

Em 1992 o IEEE reuniu o comitê do 802.3 e solicitou a criação de uma LAN mais rápida.

Optou-se por tornar o IEEE 802.3 mais rápido, mantendo-o exatamente como estava, pelasseguintes razões:

• Necessidade de manter compatibilidade com milhares de LANs já instaladas.• Preocupação com eventuais problemas imprevistos que pudessem surgir com um novo

protocolo.

Resultado " 802.3u - Fast Ethernet (junho de 1995).

Não se trata de um novo padrão, mas sim um adendo ao padrão já existente.

Idéia básica " manter os antigos formatos de pacotes, interfaces e regras de procedimentose apenas reduzir o tempo de codificação de bit de 100 ns para 10 ns.

Tecnicamente teria sido possível copiar o 10Base-5 ou o 10Base-2, e continuar a detectarcolisões a tempo " para isso bastaria reduzir os tamanhos máximos de cabos por umfator de 10.

Entretanto as vantagens de cabeamento 10Base-T eram tão grandes que o fast ethernetresolveu se basear inteiramente nesta especificação.

Todos os sistemas fast ethernet " usam hubs (concentradores). Conectores BNC ecabos coaxiais não são permitidos.

Havia três possibilidades de cabeamento " par trançado de categoria 3 e de categoria 5, efibra óptica.

Os cabos de categoria 3 para fast ethernet seguem uma especificação denominada100BaseT4. Esta especificação não será discutida aqui, devido a este esquema decabeamento não ser utilizado no Brasil (pois aqui as instalações que usam o fast ethernetsão recentes e, em sua maioria, já foram feitas usando o par trançado blindado de categoria5). Para maiores detalhes sobre este esquema 100Base-T4, consulte A.S.Tanenbaum -Redes de Computadores, 3ª Edição - pag. 369.________________________________________________________________________Exercícios:1.) Explique o que é e como funciona o algoritmo de recuo binário.2.) Pergunta: Porque o 100Base-T exige os hubs comutáveis switches?3.) Compare uma rede LAN Token Ring com uma LAN fast ethernet no que diz respeito aconfiabilidade, segurança e principalmente performance. Justifique suas opiniões.________________________________________________________________________

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

81

3.7.5. Par trançado categoria 5: 100Base-TX

É mais simples, pois os cabos podem tratar taxas de clock de 125 MHz ou superiores.

São usados apenas dois pares trançados por estação " um que vai para o hub e outro quesai do hub.

Em vez de usar codificação binária direta " usa-se um esquema chamado “4B5B” a125MHz " cada grupo de cinco períodos de clock (5T) é usado para enviar 4 bits.

Isso permite:• Redundância na codificação (há “sobra” de possibilidades de codificação).• Transições suficientes para uma fácil sincronização.• Cria padrões exclusivos para delimitação dos frames.• Proporciona compatibilidade com a rede FDDI na camada física.

100Base-TX é um sistema full-duplex " transmite a 100 Mbps e recebe a 100 Mbps, aomesmo tempo.

3.7.6. Fibra óptica: 100Base-FX

• Utiliza duas fibras ópticas multimodo, uma para cada direção " 100 Mbps full duplex.

• A distância entre a estação e o hub pode atingir 2 Km.

3.7.7. Hubs e interconexões (switchs) em fast ethernet

Switches Ethernet

Um pequeno esclarecimento: aqui faremos uma nova discussão sobre os hubscomutados switches, já discutidos anteriormente (vide seção 3.4.4 da apostila) . Estarevisão da discussão é apropriada agora, pois a tecnologia fast ethernet é baseadanos switches, que são dispositivos mais recentes para interconexão em altavelocidade.

Os grandes problemas da tecnologia ethernet:

• Ser ao mesmo tempo um meio com um duto único, e possuir o controle de acessodistribuído e compartilhado.

• As colisões crescem rapidamente com o aumento de tráfego.• A susceptibilidade a ruídos eletromagnéticos

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

82

• Há problemas com segurança, devido a facilidade de interceptação e captura(sniffing) dos dados em sistemas broadcast.

A tecnologia de par trançado resolveu em parte estes problemas: a imunidade a ruídoé muito boa, e alguns hubs mais modernos isolam o tráfego por estações.

Entretanto, o problema das colisões continuam.

Os inventores das switches exploraram exatamente este problema " controle decolisões.

Um switch (também conhecido como hub comutado) nada mais é do que um hubethernet em que o acesso, por porta, é controlado. Deste modo as estações nãocolocam seus dados de forma persistente.

Existem buffers para cada porta " e o acesso é então feito de forma organizada "aumenta a ordem de grandeza da largura de banda por um fator de 10 ou mais.

Além disso, as transferências entre as portas são feitas diretamente. Para irem de umaplaca de destino a uma placa de origem os quadros armazenados em buffers usam umbackplane de alta velocidade, muito superiores que os 100 Mbps " assim um switchgarante a velocidade máxima para cada porta.

Este backplane nada mais é do que uma rede proprietária de alta velocidade, aqual envolve distâncias muito pequenas, dentro do chassis do switch.

Cada porta pode ser utilizada por uma estação ou por um grupo de estações(segmento)

Os hubs para rede fast ethernet são conhecidos genericamente como hubs comutados100Base-T ou simplesmente switches.

Como dito anteriormente: em um hub comutado (switch) com várias placas plugáveismodulares " todas as linhas de entrada (todas que chegam numa placa plugável) sãologicamente conectadas, formando um único domínio de colisão.

Todas as regras que se aplicam ao 802.3 se aplicam ao fast ethernet.

Praticamente todos os concentradores modernos com placas plugáveis podem misturarestações de trabalho a 10 e a 100 Mps, e ainda trabalhar com segmentos interconectados.Por exemplo uma LAN de 10 Mbps conectada a uma porta do switch, para se comunicarcom outras LANs ou estações no switch._______________________________________________________________Fim de documento * Arquivo: netadrp6.pdf * Total de páginas deste arquivo: 9

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

83

4. Interconexão de Redes1

4.1. A Camada de Rede

Camada de Rede ! relacionada à transferência de pacotes da ORIGEM para oDESTINO. Para isso são necessárias várias ações em roteadores2 intermediários ao longodo percurso.

Contraste com a Camada de Enlace de Dados ! objetivo mais modesto de apenas moverframes da extremidade de um fio até a outra.

4.1.1. Serviços oferecidos à Camada de Transporte

Camada de Rede ! oferece serviços à Camada de Transporte, na interface entre acamada de rede e a camada de transporte

Possui importância especial, pois geralmente, em redes de longa distância, costuma ser ainterface entre a concessionária de telecomunicações e o cliente, ou seja, é a fronteirada sub-rede.

Em geral ! a concessionária de telecomunicações tem o controle dos protocolos einterface até (e algumas vezes inclusive) a camada de rede.

Os serviços da camada de rede foram projetados com os seguintes objetivos:

• Os serviços devem ser independentes da tecnologia de sub-rede.• A camada de transporte deve ser protegida contra a quantidade, o tipo e a topologia das

sub-redes presentes.• Os endereços de rede que se tonaram disponíveis para a camada de transporte devem

usar um plano de numeração uniforme, mesmo nas LANs e WANs.

Discussão " a Camada de Rede deve fornecer serviços orientados à conexão ouserviços sem conexão ?

Existem duas combinações dominantes ! orientada à conexão, confiávele

sem conexão, não confiável.

1 Orientação para estudo: Os tópicos a seguir englobam parte do capítulo 5, no que diz respeito ao estudo daCamada de Rede (vide A.S.T - Redes de Computadores - seção 5.4) e uma pequena parte do final docapítulo 4, com relação à utilização de bridges (vide A.S.T - Redes de Computadores - seção 4.4) e outroselementos para a interconexão de redes homogêneas e/ou heterog6eneas. Estes assuntos serão tratados emconjunto, a seguir.

2 A definição e a discussão do elemento “roteador” já foi feita anteriormente.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

84

4.1.2. Organização interna da Camada de Rede

Como já discutido, há duas filosofias organizações diferentes para a Camada de Rede:serviços com conexão e sem conexão.

• Uma conexão costuma ser chamada de circuito virtual, em analogia com o sistematelefônico.

• A organização dos pacotes sem conexão é chamada de DATAGRAMA, em analogiacom telegramas.

Comparação entre sub-redes de Circuito Virtual e Datagrama:

Questão: Sub-rede de datagrama(sem conexão):

Sub-rede de circuito virtual(com conexão):

Configuração de circuito Desnecessária Obrigatória

Endereçamento Cada pacote contém osendereços de origem e dedestino completos

Cada pacote contém umpequeno número de circuitovirtual

Informações sobre estado A sub-rede não armazenainformações sobre estado.

Cada circuito virtual requerespaço em tabelas de sub-rede.

Roteamento Cada pacote é roteadoindependentemente.

A rota é escolhida quando ocircuito virtual éestabelecido; todos os pacotesseguem essa rota.

Efeito de falhas no roteador Nenhum, com exceção dospacotes perdidos durante asfalhas.

Todos os circuitos virtuaisque tiverem atravessado oroteador que apresentou falhaserão encerrados.

Controle decongestionamento

Difícil. Fácil se forem alocadosbuffers suficientes comantecedência para cadacircuito virtual.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

85

Exemplos de diferentes combinações de serviço e estrutura de sub-rede:

Tipo de sub-rede

Camada Superior: Datagrama Circuito Virtual

Sem conexãoUDPsobreIP

UDPsobre IPsobre ATM

Orientado à conexãoTCPsobreIP

AAL1 (ATM)sobreATM

Algoritmo de roteamento1

É a parte do software da camada de rede responsável pela decisão sobre a linha de saída aser usada na transmissão do pacote de entrada.

Se a sub-rede utilizar datagramas internamente ! essa decisão deverá ser tomada maisuma vez para cada pacote de dados recebido, pois a melhor rota pode ter sido alteradadesde a última vez.

Se a sub-rede utilizar circuitos virtuais internamente ! as decisões de roteamento serãotomadas somente quando um novo circuito virtual estiver sendo estabelecido. Daí emdiante os pacotes seguirão a rota previamente estabelecida. As vezes este procedimento échamado de roteamento por sessão (session routing), pois uma rota permanece em vigordurante toda uma sessão de usuário (por exemplo, uma sessão de login ou umatransferência de arquivo FTP).

Os algoritmos de roteamento seguem propriedades relativas a correção, simplicidade,robustez, estabilidade, eqüidade e otimização.

4.2. Ligações Inter-redes

Chama-se de internetworking ! interconexão de duas ou mais redes.

Como existem muitos tipos de redes rodando protocolos diferentes, o problema deinterconexão é muito importante.

1 Observação: Os algoritmos de roteamento não são estudados neste curso. Entretanto, os alunos sãoincentivados a possuírem algum conhecimento básico sobre o assunto. Recomenda-se uma leitura completadas sessões 5.2 e 5.3. (A.S.T - Redes de Computadores).

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

86

Tipos de tráfego internet1 :

• LAN-LAN• LAN-WAN• WAN-WAN• LAN-WAN-LAN

802.5 LAN

802.3 LAN

Bridge

LAN-LAN

802.4 LAN

Host

M

M

Multiprotocol route

M

M 802.3 LAN

SNA WAN

LAN-WAN LAN-WAN-LAN

X.25 WAN

WAN-WAN

B

Figura 4.1: Exemplo de interconexão de redes (fig. AST-5.33).

4.2.1. Relays

Relays ! é um nome genérico dos dispositivos que gerenciam conversões quando umpacote anda de uma rede para outra.

No modelo OSI: Internetwork é feito em nível de camada de rede.

A Camada de Rede (camada 3) pode ser subdividida em três subcamadas:

Subnet Access sublayer ! gerencia o protocolo de camada de rede para a subnetespecifica.

Subnet Enhancement sublayer ! projetado para compatibilizar subnets que oferecemserviços diferentes.

Internet Sublayer ! responsável por roteamento end-to-end. Quando um pacote chega aum relay, ele deve subir até o internet sublayer.

1 É bom lembrar que o termo “internet” com “i” minúsculo significa a interconexão de redes. É diferente darede denominada “Internet”.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

87

HOST A

RELAY

HOST B

SUBNET 1 SUBNET 2

1

2

3a3b

3c

4-7

1

2

3a

1 1

2 2

3a 3a3b 3b

3c

1

2

3a3b

3c

4-7Internetsublayer

Subnetenhancement

sublayer

subnet accesssublayer

Fluxo daInformacao

Figura 4.2: Fluxo da informação e as subcamadas da camada de rede.

4.2.2. Tipos de Relays

•••• Relay de camada 1 (física):

Repetidores e Concentradores ! Copiam bits individuais entre dois segmentos de cabo(repetidor) ou distribui sinais para estações ligadas em estrela (concentrador). Sãodispositivos de baixo nível que amplificam sinais elétricos. Repetidores e concentradoressão genericamente chamados hubs. Concentram vários módulos.

Por exemplo: Num prédio de 8 andares, poder-se-ia fazer um cabeamento do tipo espinhadorsal ou em estrela, utilizando um repetidor multiportas.

Na verdade, um hub ethernet contém uma eletrônica de modo a trazer o duto para dentro dacaixa. Desta forma, todas as estações estão conectadas diretamente na caixa formando umstar-shapped-bus. A grande vantagem do esquema é a facilidade de manutenção egerenciamento. Hubs ethernet atuais provêem a capacidade de controle por porta, evitando,inclusive que estações possam acessar dados que não lhe sejam endereçados (em modopromíscuo).

Repetidores podem ser utilizados para:

• Estender a rede à distâncias maiores.• Implementar topologias em estrela.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

88

Switches Ethernet

Sua utilização está relacionada com o problema das colisões. Já foi discutidoanteriormente. É um dos equipamentos de interconexão mais usados atualmente.Apesar de que os switches originais foram concebidos no início como dispositivosde camada 1, os novos equipamentos funcionam em nível de camada 3, inclusiveroteando pacotes.

•••• Relay de camada 2 (enlace de dados):

Bridges ! Armazenam e re-enviam frames entre LANs. Recebe um frame e passa àcamada de enlace de dados onde o checksum é verificado. É passado de volta à camadafísica para ser enviado a uma subnet diferente.

Data link

layer

Network layer

Physical layer Network

(a) (b)

LLC

MAC

LLC

LLC

Packet

Packet

Packet MAC MAC

Figura 4.3: Estrutura de encapsulamento de um pacote vindo da camada de rede

Host A

Network

LLC

MAC

Physical

Pkt

Pkt

Pkt802.3

802.3 Pkt

Host B

BridgePkt

Pkt

Pkt802.4

802.4 Pkt

802.3

802.3 Pkt

Pkt

802.3 Pkt

802.4 Pkt

802.4 Pkt

802.4 PktPkt

CSMA/CD LAN Token bus LAN

Figura 4.4: Operação de uma bridge em LAN 802.3 (fig. AST-4.35).

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

89

Onde bridges são necessárias:

• Para dar autonomia a diferentes subnets que querem se comunicar.• Para interconectar subnets localizadas em áreas geograficamente espalhadas.• Para acomodar carga.• Para conectar poucas, mas distantes estações.• Por confiabilidade. Bridges podem ser colocadas em lugares críticos.

• Por segurança. Colocando bridges, pode-se isolar redes que contenham informaçõessensíveis.

Nota: Com o surgimento das switches, as bridges perderam praticamente todas as suasfunções e estão desaparecendo. Entretanto, o entendimento da aplicação das bridges éimportante do ponto de vista didático para a compreensão dos roteadores, switches e demaiselementos de interconexão de redes.

•••• Relay de camada 3 (rede):

Gateways ou Roteadores ! Armazena e re-envia pacotes entre redes diferentes. Sãotambém chamados de routers ou roteadores multi-protocolos. Redes interconectados porgateways podem diferir muito mais que aquelas interconectadas por bridges.

Roteadores:

• Operam a nível de camada de rede e são mecanismos store-and-forward.• Comumente usados em WANs e, algumas vezes, como isoladores para LANs de

grandes dimensões.• Connection-oriented.

Uma comparação entre bridges e routers:

• A propriedade principal de uma bridge ! examina pacotes de quadro da camada deenlace de dados e não inspeciona ou modifica os pacotes da camada de redecontidos nos quadros. Uma bridge não sabe informar se um frame está caminhando deuma LAN 802.x para uma 802.y

• As bridges podem fazer pequenas modificações no frame, antes de envia-lo, taiscomo por exemplo, acrescentar ou eliminar campos do cabeçalho (dentro da camada 2).

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

90

• Um roteador, pelo contrário, sabe muito bem se são quadros ATM, IP ou qualqueroutro. Ele examina os cabeçalhos e toma decisões com base nos endereçosencontrados. Por outro lado, quando um roteador entrega um pacote para a camada deenlace de dados, ele não se importa se este pacote será enviado por um frame ethernetou token ring,

•••• Relay de camada 4 (transporte)

Protocol Converters ! Fornecem interfaceamento em camadas mais altas, geralmenteentre duas redes. Conectam fluxos de bytes na camada de transporte.

• Relay de camada 5 (aplicação)

Conectam duas partes de uma aplicação na camada de aplicação.

Por exemplo, convertem mensagens de e-mail de um mailbox padrão Internet SMTP (porexemplo num UNIX) para uma sistema de mensagens MHS, usado numa rede Novell. Amensagem deve ser enviada para um gateway de aplicação para que a conversão seja feita.

________________________________________________________________________Anotações:

_______________________________________________________________Fim de documento * Arquivo: netadrp7.pdf * Total de páginas deste arquivo: 8

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

91

4.3. A Camada de Rede na Internet

4.3.1. Conceitos básicos e arquitetura Internet

Na Camada de Rede ! a Internet pode ser vista como um conjunto de sub-redes ousistemas autônomos conectados entre si.

Internet:

• Interconexão de várias redes físicas diferentes, fazendo-as funcionar como uma unidadecoordenada.

• Esconde os detalhes de hardware e permite que computadores se comuniquemindependentemente de sua rede de comunicação.

• Define detalhes de como computadores devem ser interconectados e uma série deconvenções para interconexão de redes e roteamento de tráfego. Aplicável a LAN'sMAN's e WAN's.

Elemento de aglutinação ! protocolo da Camada de Rede = IP (Internet Protocol)

Funcionamento da comunicação na Internet:• A camada de transporte recebe os fluxos de dados e os divide em datagramas.• Teoricamente, cada datagrama pode ter até 64 Kb ! no entanto, na prática, geralmente

eles têm 1.500 bytes.• Cada datagrama é transmitido pela Internet, sendo possivelmente fragmentado em

unidades menores durante o percurso até o destino.• Quando os pedaços chegam ao destino, eles são remontados pela camada de rede no

datagrama original.• Em seguida, este datagrama é entregue à camada de transporte, que o insere no

fluxo de entrada do processo de recepção.

Serviços oferecidos

Ao Nível de Aplicação:

Do ponto de vista do usuário, a Internet se apresenta como uma série de programasaplicativos, os quais usam a rede para executar algumas tarefas úteis de comunicação. Porexemplo:

• Correio Eletrônico ! serviço confiável onde a máquina FONTE se conectadiretamente à máquina DESTINO para entregar as mensagens (normalmente textoscurtos).

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

92

• Transferência de Arquivos ! permite envio e recebimento de arquivos, de programasou dados de tamanho arbitrário.

• Sessão Remota ! permite o usuário de um computador conectar a uma máquinaremota e estabelecer uma sessão interativa.

Ao Nível de Transporte

Um programador que escreve programas aplicativos que usam a Internet temuma visão completamente diferente da do usuário:

• Serviço de entrega de pacotes connectionless

A Internet roteia pequenos pacotes de uma máquina para outra baseada nas informações deendereçamento contidas nas mensagens. Ele não garante a entrega. É extremamenteeficiente.

• Serviço de Transporte Confiável

Muitas aplicações necessitam muito mais do que a entrega de pacotes, porque condiçõestais como erros de transmissão, perda de pacotes, ou quedas de IMP's no meio do caminhodevem ser checados.

Na Internet ! A complexidade está na camada de transporte.

A camada de Network ! é simples, e oferece apenas serviços connectionless.

4.3.2. O Protocolo IP

IP ! define a unidade básica de transferência de dados e o formato exato de dadospassados pela Internet.

Também inclui uma série de regras especificando como os packets devem ser processados,como os erros devem ser manipulados e contém informações sobre roteamento.

DATAGRAMA " Unidade básica de dados ! contém header e campo de dados.

Figura 4.5: Representação de um datagrama IP.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

93

Version IHL Type of service Total length

Identification

Time to live Protocol

Fragment offset

Header checksum

Source address

Destination address

Options (0 or more words)

D F

M F

32 Bits

Figura 4.6: O header de um datagrama IP (fig. AST-5.45).

Os campos do pacote IP:

• VERSION ! Versão do Protocolo.

• IHL ! Dá o comprimento total do header medido em palavras de 32 bits.

• TYPE OF SERVICE ! Especifica como o datagrama deve ser manuseado.

É formado da seguinte maneira:

PRECEDENCE D T R não implementado

Precedence ! permite especificar a importância do datagrama:

D: solicita atraso pequenoT: solicita alta performanceR: solicita alta confiabilidade

• TOTAL LENGTH ! Dá o tamanho total do datagrama medido em bytes.

• IDENTIFICATION ;• FLAGS “ DN ” e “ MF ”• FRAGMENT OFFSET:

"Controlam a fragmentação e a remontagemdos datagramas. São definidos da maneiraespecificada a seguir:

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

94

IDENTIFICATION ! Contém um inteiro que identifica o datagrama. Todogateway que fragmenta o datagrama, copia o IDENT em cada um dos fragmentos.

FLAGS ! Controla a fragmentação : Do Not fragment ou More Fragments.

FRAGMENT OFFSET ! Especifica a que ponto do datagrama atual o fragmentopertence (offset). É dividido em múltiplos de 8 bytes.

• TIME TO LIVE ! Especifica quanto tempo em segundos o datagrama devepermanecer dentro da Internet.

• PROTOCOL ! Especifica o formato e conteúdo dos dados pela identificação doprotocolo de alto nível.

• HEADER CHECKSUM ! Garante a integridade dos valores do header.

• DATA ! Início da área de dados.

• OPTIONS ! Para testes e debugging da rede.

• SOURCE ADDRESS e DESTINATION ADDRESS ! especificam o número de redee o número de host origem e destino, respectivamente.

4.3.3. Endereços IP

Endereços Internet e classes de Endereço

• Internet é uma rede virtual construída pela interconexão de redes físicas através degateways.

• Um sistema fornece serviços de comunicação universal se ele permite qualquer host secomunicar com qualquer outro. Para efetivar esta universalidade, precisa-se de umsistema de endereçamento globalmente aceito e, principalmente, ÚNICO.

• Identificador de hosts é formado dentro da seguinte logística:

Nome ! Qual é o objeto.Endereço ! Onde está o objeto.Rota ! Como chegar ao objeto.

• A cada host numa rede TCP/IP é atribuído um endereço Internet de 32 bits, o qual éuniversalmente único, e é utilizado para toda comunicação com aquele host.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

95

• Os inteiros componentes do endereço são cuidadosamente escolhidos para fazer,inclusive, que o processo de roteamento seja eficiente.

• Os bits de endereço para todos os hosts de uma determinada rede compartilham umprefixo comum ! chamado de endereço de rede.

Um endereço IP consiste de 32 bits, divididos em dois ou três campos:

• Número de rede (network number)

• Número do host (host number)

ou então

• Número de rede (network number)

• Número de sub-rede (subnet number)

• Número de host (host number)

CLASSES:

O roteador IP ! usa o número de rede para enviar os pacotes para a rede desejada.

Uma vez na rede de destino ! o número de sub-rede (caso exista), é usado para enviar opacote à sub-rede correspondente.

Após isso, o número de host é utilizado para enviar o pacote à estação de destino.

Os comprimentos dos campos de um endereço IP dependem de sua classe.

A classe de uma rede está relacionada com quantos bits do endereço que é dedicada àidentificação da rede e quantos são dedicados à identificação do host.

As três classes primárias de endereços Internet

32 Bits

Range of host addresses

1.0.0.0 to 127.255.255.255

128.0.0.0 to 191.255.255.255

192.0.0.0 to 223.255.255.255

224.0.0.0 to 239.255.255.255

240.0.0.0 to 247.255.255.255

Class

0 Network Host

10 Network Host

110 Network Host

1110 Multicast address

11110 Reserved for future use

A

B

C

D

E

Figura 4.7: Classes de endereços Internet

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

96

• Endereços Classe A

Atribui 8 bits para o campo de rede e um total de 24 bits para o restante do endereço.

Esta classe pode endereçar quase 17 milhões de diferentes nós em uma rede. Umendereço classe A é usado para redes muito grandes.

• Endereços Classe B

Um endereço classe B atribui 16 bits para o campo de rede e um total de 16 bits para orestante do endereço.

Isto permite endereçar cerca de 65.000 diferentes nós em uma rede.

• Endereços Classe C

Um endereço classe C atribui 24 bits para o campo de rede e 8 bits para o resto doendereço.

Isto permite endereçar 254 diferentes nós na rede.

É possível determinar se um endereço é classe A, B, ou C examinando os primeiros bits doendereço.

Para um endereço classe A ! o primeiro bit é sempre 0.

Para um endereço classe B ! os dois primeiros bits são 10.

Para um endereço classe C ! os três primeiros bits são 110.

RESUMO:

0 8 16 24 31CLASSE A 0 Net ID Host ID

CLASSE B 1 0 Net ID Host ID

CLASSE C 1 1 Net ID Host ID

Net ID ! Identifica uma rede.Host ID ! Identifica um host

Classe A → 128 redes com até 224 hosts.Classe B → 16.000 redes com até 65.000 hosts.Classe C → 222 redes com até 256 hosts (na verdade 254 possíveis).

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

97

Quando alguém deseja se conectar a uma rede na Internet, o número IP é atribuído por umaentidade conhecida como DDN Network Information Center (NIC), SRI International,localizada em Menlo Park, CA ou por seu representante no país (Consultehttp://www.internic.net/ ou http://www.networksolutions.com/ )

Todos os endereços dentro de uma mesma rede IP têm o mesmo network address e, porconseguinte, o mesmo tipo de classe.

Cada nó extremo de uma rede, e cada porta de roteador, possuem seu próprio e distintoendereço IP.

Após a classe e o número da rede serem atribuídos ! o restante dos bits de endereço sãoalocados para o campo de host ou subdividido em campos de sub-redes e de host.

O que isso significa ? ! Significa que ainda é possível o usuário de uma redeutilizar os bits usados para a identificação de hosts e subdividi-los de tal forma aobter um esquema de sub-redes e hosts ! ou seja uma sub-divisão do número deendereçamento de host para aplicar como divisão de sub-redes.

Por exemplo:

Um endereço classe B pode ter 8 bits atribuídos para o campo de sub-rede e 8bits para o campo de host.

32 Bits

Subnet mask

10 Network Subnet Host

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0

Figura 4.8: Representação binária dos números de rede e de host.

Isto permite cerca de 256 sub-redes com cerca de 256 hosts em cada uma. Ouentão, ela pode ter 9 bits para o número de sub-rede e 7 bits para o número de host.Isto permite cerca de 512 sub-redes com cerca de 128 hosts em cada.

Se são utilizadas sub-redes ! todos os IP addresses dentro de uma rede precisam ter omesmo comprimento de campo de sub-rede e de campo de host. O comprimentoescolhido para os campos de rede e de host dependerão de como a sub-rede ésubdividida.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

98

Para as redes IP funcionarem corretamente:

• Cada sub-rede precisa ter um único número de sub-rede.

• Cada nó em uma mesma sub-rede precisa ter um único host number.

Isto assegura que não haverá números IP duplicados na rede.

Uma sub-rede deve estar sempre dentro de um mesmo domínio de colisão.

Além disso, todas as sub-redes IP dentro de uma rede precisam ser fisicamente contígua.Isto é, o tráfego entre quaisquer duas sub-redes em uma particular rede não podecruzar uma rede diferente.

4.3.4. Notação Decimal por pontos

Os endereços IP são escritos em notação decimal:

xxx . yyy . zzz . kkk

Cada grupo decimal (entre os pontos decimais) é conhecido como um “octeto” ! é odecimal equivalente aos 8 bits do endereço binário.

O endereço é também conhecido como “Endereço de 4 Octetos” (i.e. quatro grupos de 8bits).

Exemplos:

• Para o endereço classe A de número 68.18.1.36 ! o número decimal 68 representa ocampo de rede do endereço.

• Para o endereço classe B de número 137.4.80.1 ! o número decimal 137.4 representa ocampo de rede do endereço.

Alguns endereços são reservados. Estes endereços especiais são tratados a seguir.

4.3.5. Endereços reservados de REDE e BROADCAST

Endereços de REDE

• Para se referir a uma rede particular ! os bits dos campos de sub-rede E de host sãocolocados como 0 ! chamado endereço de rede.

• Para se referir a uma particular sub-rede ! os bits do campo de host são colocadocomo 0.

Exemplos:

O endereço classe B identificado como 137.4.0.0 refere-se à rede 137.4. *.*

O endereço classe C identificado como 200.17.28.0 refere-se à rede 200.17.28.*

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

99

Endereços de broadcast

Um endereço IP pode também se referir a um grupo de nós. Um endereço que se refere atodos os nós em uma rede ou sub-rede é um endereço de broadcast.

• Para se referir a todos os nós em uma rede em particular, os bits de sub-rede E de hostsão ajustados para 1 ! Endereço de broadcast

• Para se referir a todos os nós de uma sub-rede em particular, os bits de host sãoajustados para 1.

• Para se referir a todos os nós em uma rede local, todos os bits são ajustados para 1.

Exemplos:

O endereço de classe A 15.255.255.255 refere-se a todos os nós da rede 15.

O endereço de classe C 200.17.28.255 refere-se a todos os nós da rede 200.17.28.

This host

A host on this network

Broadcast on the local network

0

Host

Network

127 (Anything)

Broadcast on a distant network

Loopback

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

0 0 0 0. . .

. . .1 1 1 1 1 1 1 1

Figura 4.9: Endereços reservados de rede, broadcast e loopback.

Note que a divisão decimal por pontos não corresponde aos campos de rede, sub-redee host do endereço. Um endereço de campo pode cobrir mais que uma divisão decimal.Ou, de outra forma, a divisão entre os campos do endereço podem não coincidir com ospontos da divisão decimal.

4.3.6. Máscaras de sub-rede (subnetmasking)

Uma máscara de sub-rede diz (geralmente para um roteador ou software específico) ocomprimento escolhido para os campos de rede e de sub-rede. Os administradorespodem definir o campo de subnetmask de modo a dividir uma rede e sub-redes menores, deacordo com a conveniência necessária.

A subnetmask é formada da seguinte maneira:

A parte do endereço IP correspondente à identificação do host (ou seja, o hostid) é divididaassim:

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

100

• Um bit ligado (1) ! indicará que aquele bit deverá ser interpretado como parte donúmero de sub-rede.

• Um bit desligado (0) ! indicará que aquele bit deverá ser interpretado como parte donúmero de identificação de hostid.

Em seguida ! cada grupo de 8 bits é convertido para seu decimal equivalente para obtersua notação decimal por pontos, indicando a subnetmask.

Por exemplo:

Considere os 8 bits identificadores de host num endereço Classe C.

Se quisermos dividir a classe C em 4 subredes ! vamos utilizar 2 bits para identificar asubrede e 6 bits para identificar os hosts.

Rede (decimal) subnet subnet host host host host host host

255.255.255. 1 1 0 0 0 0 0 0

Binário 11000000 = 192

Resulta na subnetmask ! 255.255.255.192

Esta divisão permite, na prática, utilizar 2 sub-redes de 64 hosts, pois as subredes quecomeçam com 00 e 11 são reservadas e não podem ser utilizadas ! isso ocorre devido àidentificação dos endereços de rede (all-0s, ou seja todos os endereços de host com bit 0) eendereço de broadcast (all-1s, ou seja todos os endereços de host com bit 1)

Alguns exemplos:

IP Address subnetmask Hostid Binário End. Sub-rede Interpretação

200.17.28.66 255.255.255.192 66 = 01000010

(1ª rede, host 2)

200.17.28.64

(01000000)

Host 2 (000010)na subrede200.17.28.64

200.17.28.135 255.255.255.192 135 = 10000111

(2ª rede, host 7)

200.17.28.128(10000000)

Host 7 (000111)na subrede200.17.28.128

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

101

Outro exemplo:

Se quisermos dividir a classe C em 16 subredes ! vamos utilizar 4 bits para identificara subrede e 4 bits para identificar os hosts.

Isso nos dá a possibilidade de 16 sub-redes de 16 hosts, das quais 14 sub-redes podem serusadas ! novamente se “perdem” as subredes que começam com 0000 e 1111 (all-zeroe all-one).

Cálculo da máscara:

Rede (decimal) subnet subnet subnet subnet host host host host

255.255.255. 1 1 1 1 0 0 0 0

Binário 11110000 = 240

Resulta na subnetmask ! 255.255.255.240

Novamente, deve ser notado que a divisão de campos pode não corresponder exatamente àdivisão decimal por pontos como nos dois exemplos anteriores. Por exemplo, a máscara desub-rede para um endereço IP com comprimentos de campos:

de rede = 16, sub-rede = 7, host = 9 ! é 255.255.254.0

Um endereço IP pode ser usado como referência para uma particular rede, ou sub-rede, aoinvés de um nó individual.

________________________________________________________________________Anotações:

_______________________________________________________________Fim de documento * Arquivo: netadrp8.pdf * Total de páginas deste arquivo: 11

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

102

4.4. Encapsulamento, MTU e fragmentação

Que tamanho um datagrama pode ter ?

Ao contrário de frames de redes físicas ! que precisam ser reconhecidos pelo hardware !datagramas são tratados pelo software.

Transporte de um datagrama em um frame ! encapsulamento.

O hardware não reconhece o formato do datagrama, nem entende o endereço de destinoIP.

Numa situação ideal, todo datagrama IP encaixaria-se em um frame físico ! tornaria atransmissão eficiente na rede física.

Um datagrama pode trafegar em muitos tipos de redes físicas à medida que se move dentroda interligação das redes até alcançar seu destino final " Como escolher um tamanho dedatagrama que se encaixe no frame ?

Cada tecnologia de pacotes ! coloca um limite superior fixo no total de dados que podeser transmitido em um quadro físico.

Por exemplo ! ethernet limita a transferência em cerca de 1.500 octetos de dados,enquanto a FDDI permite aproximadamente 4.470 octetos de dados por frame.

Estes limites são chamados de Maximum Transfer Unit ou simplesmente “MTU”.

Mas:

• Limitar os datagramas para encaixar a menor MTU possível na interligação de redestorna a transferência ineficaz quando os datagramas trafegam em uma rede quepode transportar frames de tamanhos maiores.

• Permitir que os datagramas sejam maiores que a MTU significa que um datagrama nemsempre irá encaixar-se num frame único de uma rede.

4.4.1. Fragmentação

Solução ! ao invés de projetar datagramas que sigam as restrições de redes físicas, osoftware TCP/IP escolhe um tamanho inicial de datagrama conveniente e descobreuma forma de dividi-lo em frações menores, quando é preciso atravessar uma rede quetenha um MTU pequeno.

Pequenas divisões de um datagrama ! FRAGMENTOS

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

103

Operação de dividir datagramas em porções menores ! fragmentação.

Rede 3MTU=1.500

Rede 1MTU = 1.500

Rede 2MTU=620

Host A

Host BRouter 1 Router 2

Figura 4.10: Exemplo de fragmentação e diferentes MTU.

Figura: Uma rede onde ocorre fragmentação. O Roteador 1 fragmenta datagramasextensos enviados de Host A para Host B. O Roteador 2 fragmenta datagramas extensosenviados de Host B para Host A.1

O tamanho do fragmento é escolhido de tal forma que cada fragmento possa sertransportado na rede básica em um único quadro.

Além disso ! como o IP representa o deslocamento de dados em múltiplo de 8 octetos, otamanho do fragmento precisa ser um múltiplo de 8.

Fragmentos ! devem ser remontados para produzir uma cópia completa do datagramaoriginal, antes que ele possa ser processado no destino.

Protocolo IP ! não limita os datagramas a um tamanho pequeno, nem garante quedatagramas grandes serão entregues sem fragmentação.

Fragmentação e remontagem ! ocorrem automaticamente, sem qualquer ação específicapor parte da origem.

Especificação IP:

• Roteadores precisam aceitar datagramas até o máximo de MTUs das redes às quaisse conectam.

• Um roteador precisa sempre tratar datagramas de até 576 octetos. Hosts também devemaceitar e remontar, se necessário, datagramas de no mínimo 576 octetos.

Fragmentos ! cada fração tem o mesmo formato que o datagrama original.

1 Figura extraída de: Comer, Douglas E. - Internetworking with TCP/IP. Prentice-Hal Inc., 1995

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

104

Cada fragmento ! contém um cabeçalho de datagrama que duplica a maior parte docabeçalho do datagrama original (exceto por um bit no campo flags, que indica que é umfragmento)

Em seguida ! o fragmento carrega tantos dados quantos puderem ser transportados nofragmento, enquanto mantém o comprimento total menor que o MTU da rede na qualprecisa trafegar.

4.4.2. Remontagem de fragmentos

Pergunta-se: o datagrama deve ser remontado após passar em uma rede, ou osfragmentos devem ser transportados para o host final antes da remontagem ?

Um uma interligação de redes TCP/IP ! quando um datagrama tiver sido fragmentado, osfragmentos trafegam como datagramas isolados ao longo do percurso, até o últimodestino onde precisam ser remontados.

Desvantagens:

• Datagramas não são remontados imediatamente após passarem por uma rede com umMTU pequeno, e os fragmentos pequenos precisam ser transportados do ponto defragmentação até o destino final ! pode levar à ineficiência: mesmo se algumas redefísicas encontradas após o ponto de fragmentação possuírem grande capacidade deMTU, apenas pequenos fragmentos a atravessam.

• Se algum fragmento for perdido o datagrama não pode ser remontado. Aprobabilidade de perda de datagrama cresce quando existe fragmentação ! a perdade um único fragmento resulta na perda de um datagrama inteiro.

Apesar destas desvantagens ! a remontagem de datagramas no destino final funcionabem.

Permite que cada fragmento seja roteado independentemente e não exige que roteadoresintermediários armazenem ou remontem fragmentos ! roteadores mais eficientes.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

105

Cabeçalho do datagramaDados 1

600 octetosDados 2

600 octetos

Dados 3

Cabeçalho do fragemento 1 Dados 1

Dados 2Cabeçalho do fragmento 2

Cabeçalho do fragmento 3

Dados 3200 octetos

Fragmento 1 (offset 0)

Fragmento 2 (offset 600)

Fragmento 3 (offset 1.200)

(a)

(b)

Figura 4.11: Fragmentos e offset : (a) Um datagrama original, levando 1.400 octetos de dados.(b) Os três fragmentos para a MTU de rede 620. Os cabeçalhos 1 e 2 possuem o conjuntode bits de “mais fragmentos” ajustados para um. Os deslocamentos (offset) mostrados são

octetos decimais; devem ser divididos por 8 para atingir o valor armazenado nos cabeçalhosdo fragmento.1

4.4.3. Controle de fragmentação

Como visto anteriormente: campos IDENTIFICAÇÃO, FLAGS E OFFSET !controlam a fragmentação e remontagem de datagramas.

IDENTIFICAÇÃO ! contém um número inteiro único que identifica o datagrama.Quando fragmenta o datagrama, este campo é copiado. Finalidade: fazer com que o destinosaiba quais datagramas estão chegando e, se estiverem fragmentados, a que datagramapertencem.

IDENTIFICAÇÃO + endereço de origem ! permite ao destino identificar odatagrama unicamente.

Lembre-se que cada fragmento possui exatamente o mesmo formato de um datagramacompleto.

1 Figura extraída de: Comer, Douglas E. - Internetworking with TCP/IP. Prentice-Hal Inc., 1995

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

106

Para um fragmento, o campo OFFSET de FRAGMENTO especifica o deslocamento,com relação ao datagrama original, dos dados que estão sendo transportados nofragmento, medidos em unidades de oito octetos, iniciando em deslocamento zero.

Para remontar ! o destino precisa obter todos os fragmentos que iniciam com o fragmentoque possui deslocamento zero, até o fragmento de maior deslocamento.

Lembre também que: fragmentos não chegam necessariamente em ordem, e não hácomunicação entre o roteador que fragmentou o datagrama e o destino que está tentandoremonta-lo.

Os dois bits de baixa ordem do campo FLAGS de três bits controlam a fragmentação.1

O bit de mais baixa ordem no campo FLAGS especifica se o fragmento contém a parte domeio ou do final dos dados do datagrama ! conhecido como bit de “mais fragmentos”(MF) ! permite saber se há mais fragmentos a caminho ou não.

Mas os fragmentos podem chegar fora de ordem e o sistema precisa saber se recebeu todosos fragmentos de um datagrama.

Quando um fragmento chega, o campo COMPRIMENTO TOTAL do cabeçalho dizrespeito ao tamanho do fragmento, e não ao tamanho do datagrama original.

Assim ! o destino não pode utilizar o campo COMPRIMENTO TOTAL para inferir sereuniu todos os fragmentos.

O bit de mais alta ordem resolve o problema:

• Quando o destino recebe um fragmento com o bit “mais fragmentos” desativado, elesabe que este fragmento transporta a parte final dos dados do datagrama original.

• Partindo dos campos de FRAGMENTO OFFSET e COMPRIMENTO TOTAL de todosos fragmentos que chegaram, o receptor pode dizer se os fragmentos sob controlecontém todos os dados necessários para remontar todo o datagrama original.

4.5. Opções nos datagramas de interligação de redes

O campo OPÇÕES IP (Options) que segue ao endereço de destino não é necessário emtodo datagrama ! as opções são incluídas principalmente para testes ou depuração da rede.

Entretanto ! é parte integrante do IP e todas as implementações devem incluí-lo. 1 O software aplicativo que usa o TCP/IP não dá atenção à fragmentação. A fragmentação e remontagem sãoprocedimentos automáticos que ocorrem em baixo nível do sistema operacional, normalmente invisível paraos usuários finais.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

107

O comprimento do campo OPTIONS IP varia de acordo com as opções selecionadas.

Algumas possuem um único octeto de comprimento e consistem num único código deopção de octeto. Outras opções possuem comprimento variável.

Quando as opções estão presentes num datagrama, elas aparecem próximas, semseparadores especiais. Cada opção consiste em um código de opção de octeto único, quepode ser seguido por mais um octeto único e um conjunto de octetos de dados daquelaopção.

O octeto de código de opção é dividido em 3 campos:

Cópia Classe da opção Número da opção

0 1 2 3 4 5 6 7

Figura 4.12: A divisão do octeto de código de opções em 3 campos de um, dois e cinco bits decomprimento

CÓPIA ! trata o modo como os roteadores tratam as opções durante a fragmentação. Secópia é ajustado para um, ele especifica que esta opção deve ser copiada em todos osfragmentos.

Quando é ajustado para zero, significa que esta opção deve ser copiada apenas noprimeiro fragmento e não em todos eles.

Os bits CLASSE DA OPÇÃO e NÚMERO DA OPÇÃO especificam a classe geral daopção escolhida e uma opção específica nesta classe.

Classe da Opção Significado0 Controle de rede ou de datagrama1 Reservado para uso futuro2 Depuração e avaliação3 Reservado para uso futuro

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

108

Classeda Opção

Númeroda Opção Comprimento Descrição

0 0 - Fim da lista de opções. Será utilizado se opçõesnão terminarem no fim do cabeçalho.

0 1 - Nenhuma operação. Usado para alinhar octetosem uma lista de opções.

0 2 11 Restrições de segurança e tratamento (paraaplicações militares).

0 3 var Roteamento de origem flexível. Utilizado pararotear um datagrama ao longo de um caminhoespecífico.

0 7 var Rota de registro. Utilizado para registraruma rota.

0 8 4 Identificador de fluxo SATNET (obsoleto)0 9 var Roteamento de origem restrito. Usado para

rotear um datagrama ao longo de um caminhoespecificado.

0 4 var Indicação de hora da inter-rede. Utilizadopara registrar a indicação de hora ao longoda rota.

Exemplos:

1. Opção rota de registro

Permite que a origem crie uma lista vazia de endereços IP e faz com que o endereço IP decada roteador que processe o datagrama seja acrescentado à lista.

2. Opção de roteamento de origem

Opção de rota de origem ! idéia implícita é que ele oferece uma maneira de o transmissorimpor um caminho para a interligação das redes.

O IP aceita duas formas de roteamento de origem ! roteamento de origem restrito eroteamento de origem flexível (ou separado).

Roteamento de origem restrito ! especifica um caminho de roteamento através da inclusãode uma seqüência de endereços IP na opção.

Na opção de roteamento de origem restrito os endereços especificam o caminho exatoque o datagrama deverá seguir para chegar a seu destino. O caminho entre dois

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

109

endereços consecutivos da lista deverá ser composto de uma única rede física. Se umroteador não conseguir seguir acompanhar uma rota restrita, ocorrerá um erro.

Outra forma ! roteamento de origem flexível. Também possui uma seqüência deendereços IP. Determina que o datagrama deverá seguir a seqüência, mas permite aexistência de vários passos da rota de rede entre endereços consecutivos na lista.

Estas opções são muito importantes para execução de testes de uma rede ! o administradorpode forçar os datagramas IP a seguirem uma determinada rede X.

A habilidade de executar estes testes é especialmente importante em um ambiente deprodução, porque oferece ao gerente de rede a liberdade de rotear datagramas de usuáriosem redes que estão sabidamente operando corretamente, enquanto outras redes são testadassimultaneamente.

3. Opção de indicação de hora

É semelhante ao armazenamento de rota. Permite estabelecer uma lista inicialmente vazia,onde cada roteador do caminho, da origem até o destino, preenche um item da lista. Cadaentrada da lista contém dois itens de 32 bits: o endereço IP do roteador que forneceu aentrada e uma indicação de número inteiro de 32 bits, que indica a hora que o datagrama foiprocessado.

_________________________________________________________________

Anotações:

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

110

4.6. Protocolos de Controle na Internet

Além do IP, que é usado para transferência de dados ! a Internet tem diversos protocolosde controle usados na camada de rede ! ICMP, ARP, RARP e BOOTP.

4.6.1. ICMP - Internet Control Message Protocol

Operação das internets é monitorada rigorosamente pelos roteadores.

Quando algo inesperado ocorre ! o evento é reportado pelo ICMP (Internet ControlMessage Protocol).

ICMP ! é um protocolo que faz parte da camada Internet na hierarquia TCP/IP e édefinido pelo RFC-792.

O ICMP:• Usa um datagrama IP e seus recursos para enviar as mensagens• É encapsulado no IP.

ICMP ! além do controle de eventos é usado para testes, controle de erros e controle defuncionalidades. São cerca de 12 (doze) as mensagens ICMP. Dentre estes podemosdestacar as mais importantes:

• Controle de fluxo

Quando os datagramas chegam muito rápido para processamento ! o host no destino ouum gateway intermediário envia uma mensagem ICMP Source Quench de volta para oemissor. Esta mensagem diz para a fonte parar de enviar datagramas temporariamente.

Entretanto esta mensagem é raramente usada, pois quando há um congestionamento, estasmensagens tendem a piorar o problema ! atualmente o controle de fluxo econgestionamento é feito em nível da camada de transporte.

• Detecção de host unreachable (host inacessível )

Quando um destino está inacessível ! o sistema que detectar o problema envia umamensagem ICMP Destination Unreachable para a fonte dos datagramas. Se o destinoinacessível é um host ou uma rede, a mensagem é enviada por um gateway intermediário.

Por outro lado o problema pode ser uma porta inacessível e, neste caso, o host de destinopode gerar a mensagem.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

111

• Redirecionamento de rotas

Um gateway usa uma mensagem ICMP Redirect para alertar um host para usar outrogateway, provavelmente porque o outro gateway é uma escolha melhor. Pode ser usada porum roteador para avisar o emissor a respeito de pacotes que tenham sido roteadoserroneamente para aquele gateway ao invés de serem enviados para outro melhor (por esteser mais rápido ou mais barato, por exemplo).

Este tipo de mensagem só pode ser usada quando o host de origem está na mesma rede queos gateways envolvidos.

• Checagem (verificação) de hosts remotos (Ping)

Um host pode enviar uma mensagem ICMP Echo para verificar se o protocolo IP de umsistema remoto está no ar e operacional (neste caso a mensagem chama-se ICMP EchoRequest). Quando um sistema recebe uma mensagem “echo”, ele envia o mesmo pacote devolta para o host origem (ICMP Echo Reply).

O comando ping do Unix usa este tipo de mensagem ICMP.

Analogamente existem mensagens de ICMP Timestamp Request e ICMP TimestampReply ! são semelhantes ao “echo”, mas adicionam o tempo de chegada e o tempo departida na mensagem de resposta.

São usadas pata avaliar o desempenho da rede e de rotas, além de serem usadas parasincronismo de relógios de sistemas.

4.6.2. ARP - Address Resolution Protocol

Usado para mapeamento entre Endereços Físicos (geralmente ethernet) e EndereçosInternet (IP)

Internet ! cada máquina possui um (ou mais) endereços IP.

Entretanto ! endereços IP não podem ser usados para enviar frames, pois o hardware dacamada de enlace de dados não entende endereços Internet.

Em geral ! a placa de rede da LAN só entende endereços de LAN.

Por exemplo: as placas ethernet possuem endereços MAC ethernet de 48 bits e elas nãosabem nada sobre os endereços IP de 32 bits da Internet.

Problema: como os endereços IP são mapeados nos endereços da camada de enlace dedados (endereços ethernet) ?

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

112

IP ! passa IP para link de dados.Link de Dados ! precisa do ethernet address para transmitir um frame.

Funcionamento do Address Resolution Protocol

Se o host 1 (192.31.65.7) quer enviar um pacote IP para o host 2 (192.31.65.5):

• Host 1 faz um broadcast da mensagem :

“ Onde está 192.31.65.5 ? ”

• Todos os hosts recebem a mensagem (broadcast).

• Apenas o host 2 (192.31.65.5) responde:

“ Sou eu ! E meu ethernet address é E2 ! ”.

• O host 1 mantém uma cópia da resposta numa tabela de cache.

• O host 1 envia o pacote para 2, com ethernet address E2.

O protocolo que faz esta pergunta é o ARP ! quase todas as máquinas Internet rodam esteprotocolo. Ele é definido no RFC-826

O software IP do host 1:• Constrói um frame ethernet endereçado a E2;• Coloca o pacote IP (endereçado a no campo de carga útil do ethernet (campo de dados);• Envia para o barramento ethernet.

(b) host 2 (parte datalink / ethernet):• Detecta este quadro, reconhece-o como destinado a ela, recolhe-o e dispara uma

interrupção.• O driver ethernet extrai o pacote IP da carga útil e o passa para o software IP, que

verifica se ele está corretamente endereçado e o processa.

É bom lembrar que as redes ethernet usam:

• 6 bytes para endereço fonte e destino;• 2 bytes definindo o tipo em cada pacote para permitir múltiplas redes (TCP/IP, Decnet,

IPX, OSI) num mesmo barramento;• Data (46 a 1500 bytes);• 32 bit CRC.

Esquema de funcionamento do ARP quando o host A quer se comunicar com B:

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

113

Host A X Y

B

1.) A faz broadcast

Host A X Y

B

2.) Só B responde

Como ocorre o mapeamento se deseja-se enviar um pacote para fora da rede:

Se a máquina para onde deseja-se fazer o mapeamento ARP está fora da rede ! poderiahaver problemas, pois roteadores não redirecionam broadcast em nível de ethernet.

Duas soluções:

Solução 1:• O roteador pode ser configurado de forma a responder às solicitações ARP para todas as

redes remotas (na figura 5.51, para a rede 192.31.63.0).• Neste caso o host 1 criará uma entrada de cache ARP associando o endereço IP

pretendido para o destino com o endereço ethernet do roteador e, assim, enviarátodo o tráfego externo para a ethernet do roteador. Este método é chamado de proxyARP.

Solução 2:• Fazer com que o host 1 veja imediatamente que o destino está numa rede remota e

então envie todo o tráfego para o endereço ethernet padrão que trata do tráfegoremoto, ou seja a ethernet do roteador.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

114

• Esta opção não exige que o roteador saiba a que redes remotas está servindo, poisnão precisa responder às solicitações ARP das redes externas. Este método é o maisusado.

Em ambos os casos:• O host 1 coloca o pacote IP no campo de carga útil de um frame ethernet endereçado à

ethernet do roteador.• Ao receber o frame ethernet o roteador remove o datagrama IP do campo de carga

útil e procura o endereço IP nas tabelas de roteamento para então fazer o envioapropriado.

F2

F1 F3

E1

1 2 3 4

E2 E3 E4 E5 E6

192.31.65.7 192.31.65.5

To W

AN

Router has 2 IP addresses

192.31.60.4192.31.65.1

Router has 2 IP addresses

192.31.60.7192.31.63.3

192.31.63.8

Ethernet addresses

Campus FDDI ring

192.31.60.0

CS Ethernet 192.31.65.0

EE Ethernet 192.31.63.0

Figura 4.13:Três redes classe C interconectadas: duas ethernts e um anel FDDI

(figura A.S.T. 5-51)

4.6.3. RARP - Reverse Address Resolution Protocol

Muitas vezes é preciso fazer a pergunta inversa (reversa) do ARP:

“Qual é o endereço IP que corresponde a um determinado endereçoethernet? ”

Solução ! RARP - Reverse ARP (definido pelo RFC-903)

Estação de trabalho recém inicializada pode perguntar em broadcast:

“ − Meu endereço ethernet é aa:bb:cc:dd:ee:ffAlgué aí sabe meu endereço IP ? ”

Servidor RARP ! escuta esta solicitação, consulta suas tabelas e envia de volta o IPcorrespondente àquela interface ethernet ! para isso as tabelas devem ter sido inicialmentedefinidas por uma administrador da rede.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

115

O servidor RARP responde:

“− Alô aa:bb:cc:dd:ee:ff ,seu endereço IP é xxx.yyy.zzz.kkk ! ”

Desvantagem do RARP " ele usa endereço de destino composto de difusão limitada(campo de host composto de bits all-1) ! é preciso um servidor RARP em cada rede localpois roteadores não encaminham broadcast.

Para solucionar este problema ! BOOTP (RFC-951, 1048 e 1084)

Ao contrário do RARP o BOOTP usa mensagens UDP que são enviadas pelos roteadores.

O BOOTP também pode fornecer informações adicionais para as estações de trabalho quedele se utilizam.

É possível haver um servidor de BOOTP único para uma rede complexa, com várias redeslocais.

4.7. Firewalls

Os FIREWALLS " são mecanismos de proteção contra pacotes e atividades de redeindesejáveis. Possuem ampla aplicação na Internet.

As configurações atuais possuem dois componentes ! dois roteadores que filtram pacotese um gateway de aplicação.

Cada filtro de pacote (packet filter) ! é um roteador padrão equipado com algumasfunções complementares, que permitem a inspeção de cada pacote de entrada ou de saída.

Pacotes podem ser examinados ! os pacotes que apresentam alguma característicapeculiar determinada pelo administrador podem ser ou não bloqueados.

Em geral ! coloca-se um filtro de pacotes na LAN interna que verificará os pacotes quequerem sair e o roteador externo conferirá os pacotes que querem entrar.

Os pacotes que passam pelo primeiro obstáculo vão até o gateway de aplicação ! sãosubmetidos a uma última verificação em nível de aplicação. Este gateway é conhecidocomo agente proxy ou proxy filter.

Os dois filtros forçam sempre a passagem através do gateway de aplicação, pois não háoutro caminho.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

116

Os filtros de pacotes são baseados em tabelas configuradas pelo administrador do sistema.Estas tabelas listam os destinos e origem aceitáveis ou os destinos e origens bloqueados,além de regras padronizadas que orientam o que deve ser feito com os pacotes recebidos.

Sistemas e serviços Internet ! além dos endereços de origem e destino, há uma portaassociada ao serviço em uso.

Por exemplo:FTP, porta 21. Telnet, porta 23. E-mail (sendmail), porta 25. Finger, porta 79.

Os filtros e o gateway de aplicação podem agir por endereços e por serviços.

Um gateway de aplicação de correio eletrônico pode ser configurado para examinar cadamensagem de correio eletrônico recebida ou enviada e decidir transmitir, descartar oudevolver uma mensagem baseada, por exemplo, em seu tamanho ou no que está escrito noseu header de “Subject”.

Um gateway de aplicação de FTP pode não transmitir arquivos acima de um determinadovalor.

Corporate network

Security perimeter

Inside LAN

Outside LAN

Firewall

Packet filtering router

Packet filtering router

Application

gateway

Connections to outside networks

Bac

kbo

ne

Figura 4.9: Esquema de um firewall e agente proxy (figura A.S.T. 5-43)

_______________________________________________________________Fim de documento * Arquivo: netadrp9.pdf * Total de páginas deste arquivo: 15

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

117

4.8. Roteadores e roteamento de datagramas IP

4.8.1. Introdução

Já visto que os serviços de interligação de redes usam um sistema de transmissão semconexão de pacotes.

Unidade básica de transferência em redes TCP/IP ! datagrama IP

Em um sistema de comutação de pacotes:

• Roteamento ! processo de selecionar um caminho pelo qual são enviadas os pacotesde informações.

• Roteador ! computador, tipo gateway, que executa o roteamento.

• Objetivo do IP ! fornecer uma rede virtual que abranja várias redes físicas, e ofereçaum serviço de entrega de datagramas sem conexão.

• Roteamento IP ! escolha de um caminho por onde um datagrama deve ser enviado,através de uma ou mais redes físicas.

O roteamento em uma interligação em redes pode ser complicado, principalmente entrecomputadores que possuem várias conexões a redes físicas.

Observação: Teoricamente os softwares de roteamento devem selecionar umcaminho com base em informações dinâmicas, tais como: carga da rede, distância,comprimento do datagrama, tipo do serviço especificado no cabeçalho dodatagrama, dentre outros. Entretanto, a maior parte dos softwares deroteamento não é tão sofisticado assim e seleciona suas rotas tendo porbase alguns pressupostos fixos sobre caminhos mais curtos para oenvio.

ROTEADOR ! conecta-se diretamente a duas ou mais redes físicas.

HOST ! Geralmente conecta-se a uma única rede física. Entretanto, hosts tambémdevem tomar algumas decisões de roteamento, mesmo de possuírem apenas uma conexãode rede.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

118

Router 1200.145.202.108:0:5a:8a:1a:b5

Router 2200.145.202.11

00:60:b0:70:b4:22

Caminho para algunsdestinos

Caminho para outrosdestinos

����������������������������������������������

caliban200.145.202.200:0:3b:80:38:45

������������������������������������������������

havok200.145.202.250:0:3b:80:34:26

Figura 4.15: Esquemas de roteamento para gateways diferentes.

4.8.2. Encaminhamento de datagramas

Roteamento classificado em : encaminhamento direto e encaminhamento indireto.

Encaminhamento direto ! transmissão de um datagrama, através de uma única redefísica, para outra máquina. Duas máquinas só podem executar encaminhamento direto seambas se conectarem diretamente a uma mesma rede física (por exemplo, numaethernet).

Encaminhamento indireto ! ocorre quando o destino não se encontra na mesma redefísica, forçando o transmissor a passar o datagrama para um roteador executar a entrega.

4.8.3. Encaminhamento direto, através de uma única rede

Para transferir um datagrama ! emissor encapsula o datagrama num quadro físico,mapeia o endereço IP de destino em um endereço físico e, para entrega-lo, usa ohardware de rede (MAC/Datalink)

Conversão e mapeamento de endereços ! protocolos especiais, como por exemplo ARP.

Ou seja: transmissão de um datagrama entre duas máquinas de uma mesma rede físicaNÃO envolve roteadores. Apenas vinculação do endereço IP de destino a um endereço dehardware físico.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

119

Pergunta-se: Como o emissor sabe se o destinatário encontra-se em uma redediretamente conectada ?

O próprio esquema de endereçamento IP permite que isso seja feito facilmente ! oemissor extrai a parte da rede do endereço IP de destino, e compara à parte de rede deseu próprio endereço. Se houver correspondência, significa que o datagrama pode serenviado diretamente.

Note que ! o encaminhamento direto é sempre o passo final de qualquer transmissão dedatagrama, mesmo que a interligação atravesse muitas redes e roteadores. Sempre oroteador final, situado entre a origem e o destino, se conectará diretamente à mesmarede física do destino.

4.8.4. Encaminhamento indireto

É mais complexo. O transmissor deve identificar um roteador para o qual o datagrama deveser enviado. O roteador deve então repassar o datagrama para sua rede de destino.

Quando um host deseja enviar algo para outro host ! encapsula o datagrama, e o enviaao roteador mais próximo.

Os roteadores de uma interligação em redes TCP/IP formam uma estrutura cooperativa einterconectada. Os datagramas passam de roteador a roteador, até acessarem um quepossa entregar o datagrama diretamente.

Um host pode acessar um roteador porque as redes físicas estão interconectadas ! nestecaso, deve haver um gateway roteador para cada uma. Assim, um host pode acessar umroteador usando uma única rede física.

Quando um frame acessa o roteador ! o software do roteador extrai o datagramaencapsulado, e seleciona o próximo roteador ao longo do caminho em direção aodestino.

Pergunta-se: Como um roteador sabe para onde enviar cada datagrama ? Como um hostsabe qual roteador será usado para determinado destino ? Veremos a seguir.

4.8.5. Roteamento IP orientado por tabela

Algoritmo de roteamento normal ! usa uma tabela de roteamento Internet (ou tabelade roteamento IP) em cada máquina que armazena informações sobre possíveis destinos ecomo acessá-los.

Hosts e roteadores:• Possuem tabelas de roteamento IP.• Consultam a tabela para decidir onde enviar o datagrama.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

120

O que manter nas tabelas ? ! Se todas as tabelas tivessem informações sobre todos osprováveis endereços de destino, seria impossível manter tabelas atualizadas.

Idéia principal ! permitir que as máquinas tomem decisões de roteamento, com omínimo de informações.

Esquema de endereçamento IP ! permite fazer com que as tabelas de roteamento tenhamapenas os prefixos de rede e não os endereços IP inteiros.

• Roteamento do Próximo Passo

Usar a porção do endereço de rede ! permite roteamento eficaz e tabelas de roteamentopequenas.

Tipicamente uma tabela de roteamento contém pares (N, R), onde :

N ! endereço IP de uma rede de destino.R 1! é o “próximo” roteador ao longo do caminho para a rede.

Uso de uma tabela de roteamento para armazenar um próximo passo da rota, é chamado de“roteamento de próximo passo”.

Assim, a tabela de rotas do roteador especifica apenas uma etapa ao longo do caminho, apartir de R para o destino ! o roteador não conhece o caminho completo para odestino.

Cada entrada numa tabela de roteamento ! aponta para um roteador que possa seracessado através de uma única rede física.

Ou seja, todos os roteadores listados na tabela de roteamento da máquina M, devem estarem redes às quais M conecta-se diretamente.

Tabelas de roteamento são mais completas em roteadores. Embora os hosts possuamtabelas de roteamento IP, eles devem manter nelas as mínimas informações possíveis !forçar os hosts a dependerem dos roteadores.

1 O roteador R é denominado próximo passo da rota

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

121

Exemplo: Quatro redes conectadas por três roteadores

• A tabela de roteamento fornece as rotas que o roteador R usa. Como R conecta-sediretamente às redes 20.0.0.0 e 30.0.0.0 , o caminho direto pode ser usado para enviarmensagens para um host situado em qualquer uma daquelas redes (possivelmenteusando ARP para obter endereços físicos).

• Para um datagrama destinado a um host na rede 40.0.0.0 , o roteador R executa seuroteamento para o endereços 30.0.0.7 , que é o endereço do roteador S, o qual entregaráo datagrama diretamente.

• O roteador R pode acessar o endereço 30.0.0.7 porque tanto R como S conectam-sediretamente à rede 30.0.0.0 .

Rede10.0.0.0

Rede20.0.0.0

Rede30.0.0.0

Rede40.0.0.0R SQ

10.0.0.5

20.0.0.5

20.0.0.6

30.0.0.6

30.0.0.7

40.0.0.7

Figura 4.16: Um exemplo de interconexão com quatro redes e três roteadores.1

Para acessarhosts na rede:

Rota paraeste endereço:

20.0.0.0 Entrega direta30.0.0.0 Entrega direta10.0.0.0 20.0.0.540.0.0.0 30.0.0.7

Tabela: Tabela de roteamento para o roteador R

1 Figura extraída de: Comer, Douglas E. - Internetworking with TCP/IP. Prentice-Hal Inc., 1995

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

122

Escolher rotas apenas com base no ID da rede de destino ! traz graves conseqüências:

• Na maior parte das implementações ! todo o tráfego destinado a determinada redeescolhe o mesmo caminho. Todos os tipos de tráfego seguem o mesmo caminho,independentemente do retardo de transmissão, ou do throughput , de redes físicas.

• Como apenas o roteador final ao longo do caminho tenta se comunicar com o host dedestino, apenas ele pode determinar se o host existe, ou se ele está operacional.

• Como cada roteador faz o roteamento de forma independente, os datagramas que sedeslocam do host A para o host B podem seguir um caminho diferente daquele dosdatagramas que saem do host B e retornam ao host A. É preciso ter certeza de que osroteadores cooperem para assegurar sempre a possibilidade de uma comunicaçãomútua.

• Rotas default

Uma outra técnica para omitir informações e manter pequenas as tabelas de roteamento !consolidar várias entradas em um caso default.

O software de roteamento IP primeiro procura na tabela de roteamento a rede dedestino. Se nenhuma rota aparecer na tabela, envia-se os datagramas para um roteadordefault pré-definido.

Roteamento default ! muito útil num site que possui um conjunto pequeno de endereçoslocais e apenas uma conexão para o resto da interligação em redes.

• Rotas específicas de hosts

Na maioria das vezes todo roteamento baseia-se em redes, e não em hosts individuais.

Entretanto a maior parte dos softwares de roteamento IP permite que sejam especificadasrotas para determinados hosts como um caso particular ! útil em implementações degerenciamento, controle, segurança, ajustes, etc...

Por exemplo ! um administrador pode ajustar as rotas para determinadas máquinas críticasde um site (por exemplo, a máquina do administrador), de tal forma a usar sempre umaconexão privativa de alta velocidade.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

123

• Algoritmo de roteamento IP

RouteDatagram (Datagram, RoutingTable) ;

> Extraia do datagrama o endereço IP de destino D, e calcule o prefixo da rede N;

> Se N corresponder a qualquer endereço de rede conectado diretamente

então entregue datagrama ao destino D, através desta rede

(converta D para um endereço físico, encapsule o datagrama e envie o quadro).

> Se a tabela de rota contiver uma rota específica para D

Envie o datagrama para o próximo passo da rota especificado na tabela.

> Se a tabela contiver uma rota para a rede N

Envie o datagrama para o próximo passo da rota especificado na tabela.

> Se a tabela contiver uma rota padrão

Envie o datagrama para o roteador padrão especificado na tabela.

> Caso contrário, declare um erro de roteamento;

4.8.6. Roteamento com endereços IP

Importante notar que ! exceto pela decrementação do TTL, e do recálculo da soma deverificação, o roteamento IP não altera o datagrama original.

A origem do datagrama e os endereços de destino permanecem inalterados ! eles sempreespecificam o endereço IP da origem e o endereço IP do destino FINAL.

Quando o IP executa o algoritmo de roteamento ! seleciona um novo endereço IP dapróxima máquina à qual o datagrama deve ser enviado. O novo endereço provavelmenteserá um roteador (a menos que seja uma entrega direta).

Como visto ! o endereço IP selecionado pelo algoritmo de roteamento IP = próximo passoda rota. ! indica onde o datagrama deve ser enviado.

Mas acabamos de dizer que os datagramas não são modificados !Então, onde o IP armazena o endereço do próxima passo da rota ?

Não no datagrama ! Não há espaço reservado para isso " na verdade o IP não armazenaeste endereço do próximo passo da rota.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

124

Após executar o algoritmo de roteamento, ele passa o datagrama *E* o endereço dopróximo passo da rota para o software da interface de rede (datalink) responsável pelarede física, através do qual o datagrama deve ser enviado.

O software da interface de rede:1. Vincula o endereço do próximo passo da rota a um endereço físico;2. Forma um frame usando aquele endereço físico;3. Coloca o datagrama na parte de dados do frame; e4. Envia o resultado.

A roteador do próximo passo da rota:1. Recebe o frame e extrai a parte de dados;2. Extrai e examina o endereço IP de destino de cada datagrama;3. Novamente usa a tabela de roteamento para obter um endereço do próximo;4. Passa o datagrama para o software da interface de rede

___

Pergunta (EXERCÍCIO): já que o roteamento usou endereços físicos, porque não mantertabelas destes endereços, como próximos passos da rota ? Porque fazer a vinculação econversão em cada datagrama ?___

4.8.7. Processamento na chegada

O software IP também deve processar os datagramas que chegam.

Quando um IP chaga num host ! o software da interface de rede entrega-o ao softwareIP para processamento.

Se o endereço de destino do datagrama corresponde ao endereço IP do host ! o softwareIP do host aceita o datagrama e passa-o à porção do software apropriado, do protocolo maisalto.

Se não houver correspondência com o endereço IP ! o host deve descartar o datagrama" os hosts são proibidos de tentar encaminhar o datagrama acidentalmente roteadospara a máquina errada.

Ao contrário dos hosts, os roteadores devem fazer o encaminhamento. Ao chegar numroteador o datagrama pode ter atingido seu destino final (se o datagrama é, por exemplo, decontrole do roteador), ou poderá ter que ir mais adiante.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

125

Se o endereço não corresponde a qualquer endereço da máquina ! o software IP doroteador decrementará o campo de TTL do cabeçalho, e descartará o datagrama se acontagem chegar a zero. Se a contagem permanecer positiva, será refeito o cálculo dochecksum, e em seguida o datagrama será roteado.

Hosts que não foram projetados para serem roteadores devem descartar os datagramaseventualmente recebido erroneamente.

Porque hosts devem se abster de desempenhar funções de roteador:

• Se um host recebeu um datagrama errado, algo de errado aconteceu com oendereçamento de interligação. Se o host corrigir isso, roteando o datagrama para olugar certo, as falhas podem não ser descobertas.

• O roteamento pelo host trará tráfego desnecessário além de consumir CPU.• Erros simples podem causar um caos. Imagine que todos os hosts façam roteamento

de tráfego e imagine o que aconteceria se uma máquina acidentalmente transmitisse pordifusão um datagrama destinado a um determinado host específico “A” ?

• Roteadores devem fazer mais do que rotear tráfego ! usam um protocolo especial pararelatar erros.

• Roteadores difundem informações de roteamento para manter a consistência de suastabelas.

4.8.8. Estabelecimento de tabelas de roteamento

A manutenção das tabelas de roteamento é uma das tarefas mais importantes dentro daengenharia e gerenciamento de interligação de redes TCP/IP.

Neste curso não será discutido como os roteadores mantêm suas tabelas de roteamento.Existem protocolos e técnicas especiais para isso.

É importante mencionar as técnicas de:• Roteamento por distância vetorial (Bellman-Ford)• Protocolo GGP (Gateway-to-Gateway Protocol)• Roteamento de estado de enlace (SPF)• EGP (External Gateway Protocol)• RIP (Routing Information Protocol)• OSPF (Open SPF)• Multicast para Interligação em redes (IGMP)

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

126

Orientações para estudo:

O aluno que pretende atuar na área de Redes, ou que se interessar pelo assunto,encontrará uma discussão fácil e bem elaborada sobre roteamento, consultando os capítulosde 14 a 17 do livro Internetworking with TCP/IP, de Comer, Douglas E - Prentice-HalInc., 1995, ou sua tradução em português “Interligação em Redes com TCP/IP” daEditora Campus - Brasil. São apenas aproximadamente 100 páginas numa linguagembastante didática e acessível a todos os estudantes.

Ainda outras leituras recomendadas que são complementares ao assunto “Camada deRede/Internet”:

A.S.T - Redes de Computadores, 3ª Edição, seções que tratam de protocolos de roteamento:• Seção 5.5.5 (pag. 4831) - O protocolo de Roteamento de Gateway Interno: OSPF• Seção 5.5.6 (pag. 489) - O protocolo de Roteamento de Gateway Eterno - BGP• Seção 5.5.9 (pag. 595) - Roteamento Inter-domínio sem classe - CDIR (importante !)

________________________________________________________________________Anotações:

_______________________________________________________________Fim de documento * Arquivo: netadrp10.pdf * Total de páginas deste arquivo: 10

1 Os números das páginas correspondem à 3ª edição em Português - Edit. Campus.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

127

5. A Camada de Transporte

5.1. Características Gerais

Camada de Transporte ! é o coração de toda a hierarquia de protocolos.

Função ! “promover uma transferência de dados confiável, eficiente e econômicaentre a máquina de origem e a máquina de destino, INDEPENDENTEMENTE da(s)

rede(s) física(s)”.

Utiliza vários serviços oferecidos pela camada de rede (IP).

O hardware e/ou software da Camada de Transporte que executa o trabalho é chamado deentidade de transporte (transport entity).

Esta entidade de transporte pode estar...

• ... no kernel do sistema operacional;• ... em um outro processo do usuário;• ... em uma biblioteca vinculada a aplicações de rede;• ... ou na placa de interface de rede.

Como já discutido ! existem dois tipos de serviço na camada de transporte:

• Orientado à conexão• Sem conexão

Application/transport interface

Transport/network interface

Application (or session)

layer

Transport entity

Transport address

Network address

Network layer

Application (or session)

layer

Transport entity

Network layer

TPDU

Transport protocol

Host 1 Host 2

Figura 5.1: Comunicação “direta” entre as camadas de transporte

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

128

O serviço da camada de transporte orientado à conexão é semelhante ao serviço de redeorientado à conexão ! existem semelhanças no que diz respeito ao processo de conexão(que acontece em 3 fases), endereçamento e controle de fluxo.

Analogamente, o serviço de transporte sem conexão também é semelhante ao serviço dacamada de rede sem conexão.

Entretanto, pergunta-se:

“ Se o serviço da camada de transporte é tão semelhante ao serviço da camada derede, porque há duas camadas distintas ? ”

A resposta é sutil, porém de grande importância:

A camada de rede faz parte da sub-rede de comunicação e, geralmente é controladapelas concessionárias de telecomunicações (EMBRATEL, Telefônica, etc...). Em geral osprocessos usuários não têm controle sobre esta camada.

Então, o que acontece se:• A camada de rede oferecer um serviço orientado à conexão, não confiável ?• Se a camada de rede perder pacotes com freqüência ?• Os roteadores apresentarem falhas de vez em quando ?

Os processos usuários não possuem controle sobre a sub-rede ! não podem resolver oproblema de um serviço ineficaz (não podem trocar os roteadores ou aumentar o controlede erro na camada de enlace).

Única possibilidade ! colocar sobre a camada de rede uma outra camada que melhore aqualidade dos serviços.

Em resumo:

• A existência da camada de transporte torna o serviço de transporte entre processosmuito mais confiável do que o serviço de rede adjacente.

• A ocorrência de pacotes perdidos e/ou de dados corrompidos pode ser percebida ecompensada pela camada de transporte.

Primitivas do serviço de transporte ! podem ser projetadas para serem independentesdas primitivas do serviço de rede, que podem variar muito de sub-rede (ou de rede) parasub-rede

Por exemplo: um serviço LAN sem conexão, pode ser muito diferente de um serviço WANorientado à conexão.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

129

Graças à Camada de Transporte ! os programas aplicativos podem ser desenvolvidosutilizando-se um conjunto de primitivas-padrão, podendo funcionar em uma amplavariedade de redes, sem a preocupação de se lidar com diferentes interfaces de sub-redes e com uma eventual transmissão duvidosa.

" “Se todas as redes reais fossem iguais e perfeitas não seria preciso camada detransporte.”

5.2. Os protocolos de transporte da Internet (TCP e UDP)

5.2.1. Introdução

Internet ! possui 2 protocolos principais na camada de transporte: um que opera orientadoà conexão (TCP), e outro sem conexão (UDP).

TCP:

• Projetado especificamente para oferecer um fluxo de bytes fim a fim, confiável, emuma inter-rede (internet) não-confiável

• Definido pelo RFC-7931, com esclarecimentos e revisões no RFC-1122, e extensões emelhoramentos no RFC-1323.

Nas internets (inter-redes) ! muitas partes podem ter topologias, larguras de banda,tamanhos de pacote, e outros parâmetros completamente diferentes.

TCP ! projetado para se adaptar dinamicamente às propriedades das inter-redes, e paraser robusto diante de muitos tipos de falhas que podem ocorrer.

Cada máquina compatível com TCP ! possui uma entidade de transporte TCP, que podeser uma parte do kernel , ou um processo do usuário.

Esta entidade de transporte TCP ! gerencia os fluxos e interfaces TCP para a camada IP.

Uma entidade TCP aceita fluxos de dados dos usuários, vindos dos processos locais,divide-os em partes de no máximo 64 Kb (na prática o normal é 1.500 bytes) e envia cadaparte em um datagrama IP separado.

Quando os datagramas que contêm dados TCP chegam ao destino ! são enviados àentidade TCP, a qual restaura os fluxos originais.

1 Consulte http://www.faqs.org/

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

130

Camada IP ! não fornece qualquer garantia de que os datagramas serão entregues deforma apropriada ! cabe à camada TCP administrar os temporizadores, e re-transmitir osdatagramas, sempre que necessário.

Os datagramas também podem chegar fora de ordem ! a TCP também terá dereorganiza-los em mensagens na seqüência correta.

A seguir trataremos do protocolo TCP. O UDP será discutido mais adiante, por ser umprotocolo muito mais simples.

5.2.2. Endereçamento

Quando processo de aplicação deseja estabelecer uma conexão com um processo deaplicação remoto ! é preciso especificar a aplicação com quem se conectar.

Se for sem-conexão ! há o mesmo problema ! a quem cada mensagem deve ser enviada.

Método ! definir os endereços de transporte, os quais os processos podem ouvir, parareceber solicitações de conexão.

Na Internet ! estes endereços formam pares " (endereço IP, porta local)

Eles são os TSAPs ! Transport Service Access Point

Os pontos finais análogos na camada de rede , ou seja, os endereços da camada de rede sãoos NSAPs ! Network Service Access Point " exemplo: endereços IP

Relação entre o NSAP e o TSAP:

• A entidade de transporte pode aceitar vários TSAPs

• Em determinadas máquinas, podem existir vários NSAPs, no entanto, em outras, cadamáquina tem um único NSAP ! por exemplo, um endereço IP.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

131

Application process

Application layer

Network connection starts here

Transport connection starts here

TSAP 122

TSAP 6

NSAPNSAP

Phys

Transport layer

Network layer

Data link layer

Physical layer

Server

Host 1 Host 2

Figura 5.2: Relação entre os TSAPs e NSAPs com a aplicação servidora e cliente

5.2.3. Cenário para uma conexão de transporte

• Um processo servidor de resposta para a hora do dia no HOST 2 ! associa-se aoTSAP 122 e aguarda a chegada de uma chamada.

• Um processo de aplicação no HOST 1, deseja saber a hora do dia e transmite umasolicitação CONNECT ! especificando o TSAP 6 como origem, e o TSAP 122 comodestino.

• A entidade de transporte no HOST 1 ! seleciona um endereço de rede (NSAP) emsua máquina (se houver mais de um) e estabelece uma conexão de rede entre eles (emuma rede sem-conexão não seria possível estabelecer essa conexão da camada de rede).

• Usando esta conexão de rede ! a entidade de transporte do HOST 1 pode secomunicar com a entidade de transporte no HOST 2.

• Entidade de transporte no HOST 1 diz a sua correspondente no HOST 2

“ - Olá. Eu gostaria de estabelecer uma conexão de transporte entre o meu TSAP6 e seu TSAP 122. É possível ? ”

• A entidade de transporte no HOST 2 ! pergunta ao seu servidor de hora do dia noTSAP 122 se ele está disposto a aceitar uma nova conexão. Se ele concordar, a conexãode transporte é estabelecida, e os demais protocolos entram em ação para realizarem aoperação desejada.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

132

Layer

4TSAP

Time of day server

(a) (b)

Host 1 Host 2 Host 1 Host 2

Process Server

User User Process Server

Figura 5.3: Servidor de processos e o atendimento das portas

Problema ! Como o processo de usuário do host 1 , sabe que o servidor de hora do diaestá associado ao TSAP 122 ?

Possibilidade ! o endereço deste serviço é estável, e tradicionalmente mantido nesteTSAP.

Não é uma boa opção ! só um pequeno número nunca muda; limita-se a administração dosrecursos e de configuração e, além disso, em geral os processos de usuário desejam secomunicar com outros processos de usuário que existam por um curto período de tempo e,assim, não tenham endereço TSAP previamente conhecido.

Esquema melhor ! Protocolo de Conexão Inicial (Initial Connection Protocol).

Ao invés de ter todos os servidores associados a um TSAP conhecido ! cada máquina temum servidor de processos (process server) ! ele atende uma série de portas ao mesmotempo, aguardando uma conexão TCP.

Os usuários ! começam com uma solicitação CONNECT especificando o endereço TSAP(porta TCP) do serviço que necessitam. Se nenhum servidor estiver aguardando nesta porta! eles estabelecem uma conexão com o servidor de processos.

Depois de receber a solicitação ! o servidor de processos “acorda” o serviço necessário,coloca o processo solicitante em contato com o TSAP do servidor, e encerra a conexãocom o servidor solicitado, permitindo que ele “herde” a conexão já existente com o usuário.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

133

5.2.4. Os protocolos de transporte da Internet: O TCP

TCP – Transmission Control Protocol (RFC-793, 1122 e 1323) ! projetado para oferecerum fluxo de bytes fim a fim, confiável, em uma inter-rede não confiável.

Inter-rede ! muitas partes, com muitas topologias diferentes, larguras de banda, retardos,tamanhos de pacote ou outros parâmetros.

TCP ! projetado para se adaptar dinamicamente às propriedades da inter-rede epara ser robusto diante de muitos tipos de falhas que podem ocorrer.

Cada máquina compatível com o TCP ! tem uma entidade de transporte TCP, que –como já dito – pode ser um processo de usuário ou parte do kernel ! gerencia fluxos einterfaces TCP para a camada IP.

Uma entidade TCP aceita fluxos de bytes de processos locais, divide-os em partes de nomáximo 64 Kb, e envia cada parte num datagrama IP distinto.

Quando datagramas IP que contém os dados TCP chegam a uma máquina ! eles sãoenviados à entidade TCP, que restaura os fluxos originais.

RESUMINDO ! o TCP deve fornecer a confiabilidade que a maioria dos usuários quer,mas que o IP não oferece.

5.2.5. O modelo de serviço TCP

Serviço TCP ! é obtido quando tanto o receptor quanto o transmissor criam pontosterminais de interconexão chamados sockets 1

Cada socket tem um número (endereço) que consiste no endereço IP do host, mais umnúmero local de 16 bits para este host ! trata-se da PORTA.

Para que um serviço TCP funcione ! é necessário que uma conexão seja explicitamenteestabelecida entre um socket de uma máquina transmissora e um socket de uma máquinareceptora.

1 Para uma discussão sobre os sockets, consulte a Seção 6.1.3 de A.S.T - Redes de Computadores 3ª Ed..

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

134

Um socket pode ser usado por várias conexões ao mesmo tempo ! isto é, duas ou maisconexões podem terminar no mesmo socket.

Conexões ! são identificadas nas duas extremidades pelos identificadores de sockets:(socket1, socket2)

As portas com números abaixo de 256 são denominadas portas conhecidas (well-knownports, RFC-1700) e são reservadas para serviços padronizados.

Por exemplo: FTP na porta 21, telnet na porta 23, sendmail na porta 25, WWW na porta80, dentre outros.

As portas de 0 a 1024 são portas que executam processos com prioridade de root !normalmente processos administrativos.

Todas as conexões TCP são full-duplex e ponto a ponto:

• Full-duplex: porque o tráfego pode ser feito em ambas as direções ao mesmo tempo.• Ponto-a-ponto: porque cada conexão possui exatamente dois pontos terminais

únicos

Importante: Uma conexão TCP é um fluxo de dados e não um fluxo de mensagens. Asfronteiras das mensagens não são preservadas de uma extremidade à outra ! se porexemplo o processo transmissor executar quatro escritas de 512 bytes cada no fluxo TCP,estes dados poderão ser entregues ao processo receptor em 4 partes de 512, em 2 de 1024ou uma de 1048, ou em qualquer outra divisão ! não há um meio do receptor detectar asunidades em que os dados foram escritos.

O software TCP não tem idéia do significado dos bytes. Ele apenas cuida da entrega.

Quando uma aplicação passa dados para a entidade TCP ! ela (TCP) pode envia-losimediatamente, ou armazena-los em um buffer (para aguardar outros dados e enviar umvolume maior de uma só vez), de acordo com as necessidades e condições.

Último recurso interessante ! dados urgentes (urgent data). Quando um usuáriointerativo pressiona uma tecla <CTRL-C> ou <CTRL-Q> para interromper um processoremoto já iniciado ! a aplicação transmissora adiciona uma informação de controle àcadeia de dados, e a entrega juntamente com um flag URGENT

Isso faz com que o serviço TCP pare de acumular dados e transmita tudoimediatamente. Quando os dados urgentes são recebidos no destino ! a aplicaçãoreceptora é interrompida (em terminologia UNIX ela recebe um “signal”) e pára tudo oque estiver fazendo para ler o fluxo de dados e encontrar os dados urgentes.

_______________________________________________________________Fim de documento * Arquivo: netadrp11.pdf * Total de páginas deste arquivo: 8

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

135

5.2.6. A especificação do Protocolo

As entidades TCP transmissoras e receptoras ! trocam dados na forma de segmentos oupacotes.

Segmento ! consiste de um cabeçalho fixo de 20 bytes (mais uma parte opcional),seguido de zero ou mais bytes de dados.

O software TCP decide qual deve ser o tamanho dos segmentos. Ele pode acumulardados de várias escritas em um único segmento, ou dividir os dados de uma única escritaem vários segmentos.

Dois fatores restringem o tamanho do segmento:

• Cada segmento, incluindo o cabeçalho TCP, deve caber na carga útil do IP, que é65.535 bytes.

• Como já discutido, cada tipo de rede tem uma MTU - Maximum Transfer Unit, e cadasegmento deve caber na MTU. Na prática, a MTU tem alguns milhares de bytes(aprox. 1500 bytes) e, portanto, define o limite superior em termos de tamanho desegmento.

Como já visto:

Se um segmento atravessar uma seqüência de redes sem ser fragmentado, e depois chegara uma rede cuja MTU não o comporta ! o roteador localizado na fronteira fragmentaráo segmento em dois ou mais segmentos menores. Cada novo segmento receberá seuspróprios cabeçalhos TCP e IP ! portanto a fragmentação realizada pelos roteadoresaumenta o overhead total ! cada novo segmento adiciona mais 40 bytes de informação deheader.

5.2.7. O cabeçalho de segmento TCP

Cada segmento TCP ! começa com um cabeçalho de formato fixo de 20 bytes.

Em seguida ao cabeçalho fixo ! podem haver OPÇÕES de cabeçalho.

Depois destas opções (se houver alguma) pode haver:

65.535 −−−− 20 −−−− 20 = 65.515 bytes de dados.

Os 20 primeiros bytes se referem ao cabeçalho IP, e os outros 20 ao cabeçalho TCP.

Os segmentos sem dados são válidos e, em geral, são utilizados para confirmação emensagens de controle.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

136

32 Bits

Source port Destination port

Sequence number

Acknowledgement number

TCP header length

U R G

A C K

P S H

R S T

S Y N

F I N

Window size

Checksum Urgent pointer

Options (0 or more 32-bit words)

Data (optional)

Figura 5.4: O header do TCP (Fig. A.S.T-6.24)

• Source port e Destination Port ! identificam os pontos terminais de conexão.Cada host decide como alocar suas próprias portas, começando em 256.

Uma porta, e o endereço IP de seu host ! formam um TSAP único de 48 bits.

Os números de sockets de origem e destino, juntos ! identificam a conexão.

• Sequence number e Acknowledgement number ! montagem e verificação dossegmentos. Cada um tem 32 bits.

Note que o Acknowledgement Number especifica o último segmento aguardado e não oúltimo segmento recebido corretamente.

• TCP header length ! informa quantas palavras de 32 bits existem no cabeçalhoTCP. Essa informação é necessária pois o campo Options tem tamanho variável,portanto o mesmo acontece com o cabeçalho.

Tecnicamente ! este campo indica o início dos dados dentro do segmento, com base empalavras de 32 bits. Este número é o tamanho do cabeçalho, em palavras.

Em seguida há um campo de 6 bits que não é atualmente utilizado.

Depois há seis flags de 1 bit. Estes flags são usados da seguinte forma:

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

137

• URG ! valor 1 atribuído se urgent pointer estiver sendo utilizado. Conforme jádiscutido, permite enviar um sinal ao receptor, sem envolver o serviço TCP nomotivo da interrupção.

• ACK ! é atribuído o valor 1 a este bit para indicar que o acknowledgementnumber é válido (ou seja, que o ACK number deve ser considerado). Se forigual a zero, isso significa que o segmento não contém uma confirmação e,portanto, o campo acknowledgement number não deve ser considerado.

• PSH ! indica dados exigindo o flag PUSH. Significa que o receptor ésolicitado a entregar os dados à aplicação imediatamente após sua chegada, aoinvés de armazená-los até encher um buffer.

• RST ! usado para re-inicializar uma conexão que tenha ficado confusa ouparalisada devido a uma falha no host, ou por qualquer outra razão. Ele tambémé usado para rejeitar um segmento inválido, ou para recusar uma tentativa deconexão.

• SYN ! é usado para estabelecer conexões.

A solicitação de conexão tem SYN = 1 e ACK = 0 para indicar que o campode confirmação não está sendo utilizado.

A resposta contém uma confirmação ! portanto, tem SYN = 1 e ACK = 1.

Basicamente o bit SYN é usado para denotar CONNECTION REQUEST eCONNECTION ACCEPTED, enquanto o bit ACK, combinado com oSYN, é usado para distinguir entre estas duas possibilidades.

• FIN ! usado para encerrar uma conexão. Ele indica que o transmissor nãotem mais dados para enviar.

Controle de fluxo ! no TCP é gerenciado por uma técnica denominada janeladeslizante de tamanho variável. Esta técnica não será discutida aqui. Para maioresdetalhes consulte A.S.T. - Redes de Computadores, 3.ª Ed., seção 3.4.

• Campo Window ! está relacionado com o controle de fluxo, e indica quantos bytespodem ser enviados a partir do último byte confirmado.

Campo Window igual a 0 é válido ! informa que todos os dados até ack number −−−− 1,inclusive, foram recebidos, mas que o receptor precisa de uma folga no momento, epede para interromper o envio de dados. A permissão para retomar a transmissão podeser dada depois, com o mesmo ack number e com um campo Window diferente dezero.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

138

• Campo checksum também é fornecido para aumentar a confiabilidade. Ele confere asoma de verificação do cabeçalho, dos dados e do pseudo-cabeçalho (formador eoriginador do IP) incluído.

Metodologia ! Ao efetuar este cálculo o campo de checksum é definido como zero, e ocampo de dados é preenchido com um byte zero adicional, caso seu tamanho seja umnúmero ímpar.

Em seguida ! O algoritmo de soma de verificação simplesmente soma todas as palavrasde 16 bits em complementos de 1, e depois tira os complementos de 1 da soma.

Portanto, quando o receptor efetuar o cálculo no segmento inteiro, incluindo o campoChecksum, o resultado deve ser zero.

32 Bits

Source address

Destination address

0 0 0 0 0 0 0 0 Protocol = 6 TCP segment length

Figura 5.5: O pseudo-header usado no checksum do TCP (Fig. A.S.T. 6-25)

O pseudo-cabeçalho ! contém dados IP de 32 bits das máquinas origem e destino, onúmero de protocolo para o TCP (que é igual ao decimal 6), e acontagem de bytes para otamanho do segmento TCP, incluindo o cabeçalho.

Violação do protocolo ! Incluir o pseudo-cabeçalho na soma de verificação ajudaa detectar pacotes extraviados. Entretanto, essa estratégia viola a hierarquia doprotocolo, pois os endereços IP nele contidos deveriam estar na camada IP enão na camada TCP.

Campos do pseudo-cabeçalho:

• Campo Options ! projetado para oferecer recursos extras, não previstos no cabeçalhonormal do TCP.

Opção mais importante ! a que permite a cada host estipular o máximo de carga útil doTCP que está disposto a receber.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

139

O uso de segmentos grandes é mais eficiente que segmentos pequenos ! cabeçalho de20 bytes pode ser diluído em um maior volume de de dados.

Entretanto, é possível que hosts de pouca capacidade de processamento não consigamadministrar segmentos muito grandes.

Durante a conexão, cada lado pode anunciar sua capacidade máxima e avaliar a do seuparceiro. Os dois valores mais baixos são os escolhidos.

Se o host não adotar esta opção ! o valor padrão de 536 bytes será estipulado (default).Todos os hosts Internet devem aceitar segmentos TCP de 536 + 20 = 556 bytes nomínimo.

Sequence number

(a) (b)

Header checksum

Identification

Source port

Acknowledgement number

Len Unused Window size

Checksum Urgent pointer

Destination port

Fragment offset

VER. IHL TOS Total length

TTL Protocol

Source address

Destination address

Figura 5.6: (a) Cabeçalho TCP. (b) Cabeçalho do IP (Figura A.S.T 6-50)

5.2.8. Estabelecimento e gerenciamento de uma conexão TCP

Conexões estabelecidas no TCP ! utilizam handshake de 3 vias. Para maiores detalhesconsulte A.S.T. - Redes de Computadores, 3.ª Ed., seção 6.2.2.

Para estabelecer uma conexão ! o servidor aguarda passivamente executando umaprimitiva LISTEN e ACCEPT, através da especificação ou não, de uma determinadaorigem.

Cliente ! executa uma primitiva CONNECT especificando:

• Endereço IP e a porta onde deseja conectar.• Tamanho máximo do TCP que está disposto a aceitar.• Alguns eventuais dados opcionais (por exemplo uma senha).

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

140

A primitiva CONNECT ! envia um segmento TCP com um bit SYN ativado eEum bit ACK desativado, e aguarda uma resposta.

SYN significa Synchronize sequence number.

Neste pacote ! ele avisa qual número inicial será usado como ponto de partida para anumeração dos seus segmentos.

Estes números são usados para manter os segmentos em ordem.

Quando segmento CHEGA ao destino:

• Entidade TCP verifica se existe um processo que tenha executado uma primitivaLISTEN na porta informada pela origem no campo Destination Port.

• Se não houver, ele manda uma resposta com um bit RST (reset) ativado para rejeitar aconexão.

• Se um processo estiver na escuta da porta ! ele receberá o segmento TCP quechegou. Em seguida ele poderá aceitar ou rejeitar a conexão.

• Se o processo aceitar ! um segmento de confirmação será retornado(ACK ajustado para 1)Etambém com o bit SYN ajustado para 1.

Além disso da confirmação de aceite da conexão, neste pacote segue também o sequencenumber que o host destino usará como início da numeração de seus segmentos.

• Finalmente ! o host que iniciou a chamada confirma o recebimento do segmento dohost destino e transfere os primeiros dados.

Como anteriormente discutido ! TCP enxerga os dados como um fluxo seqüencial debytes e não como pacotes independentes.

Entretanto ! o TCP toma cuidado em manter a seqüência na qual os bytes são enviados erecebidos ! para isso os números de segmentos são usados.

O padrão TCP não requer que cada sistema possua um determinado número de seqüênciainicial. Cada sistema escolhe que número usar como ponto de partida.

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

141

Tim

e

Host 1 Host 2

SYN (SEQ = y, ACK = x + 1)

SYN (SEQ = x)

SYN (SEQ = x + 1, ACK = y + 1)

Host 1 Host 2

SYN (SEQ = y, ACK = x + 1)

SYN (SEQ = x)

SYN (SEQ = y)

SYN (SEQ = x , ACK = y + 1)

(a) (b)

Figura 5.7: (a) Estabelecimento de conexão TCP normal; (b) Chamada com colisão(Fig. A.S.T. 6-26)

No caso de dois hosts tentarem estabelecer uma conexão ao mesmo tempo ! entre osmesmos sockets simultaneamente ! somente uma conexão será estabelecida e não duas,pois as conexões são identificadas por suas extremidades.

Se a primeira configuração resultar em uma conexão identificada por (x,y) ! os númerosde seqüência de uma delas não será coerente e não será confirmada.

________________________________________________________________________Anotações:

Curso de Redes de Computadores * Prof. Dr. Adriano Mauro Cansian * UNESP – São José do Rio Preto

142

Version IHL Type of service Total length

Identification

Time to live Protocol

Fragment offset

Header checksum

Source address

Destination address

Options (0 or more words)

D F

M F

32 Bits

IP Header

32 Bits

Source port Destination port

Sequence number

Acknowledgement number

TCP header length

U R G

A C K

P S H

R S T

S Y N

F I N

Window size

Checksum Urgent pointer

Options (0 or more 32-bit words)

Data (optional)

TCP

_______________________________________________________________Fim de documento * Arquivo: netadrp12.pdf * Total de páginas deste arquivo: 8