• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
6,415
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
206
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Disciplina de Redes e Comunicação de dados Comunicação de Dados e Redes de Computadores Fernando Cerutti Florianópolis, outubro de 200 – Versão 1.1 1
  • 2. Disciplina de Redes e Comunicação de dados Palavras do professor Palavras do professor Bem-vindo a disciplina de redes e comunicação de dados. Você, como aluno do curso de Gestão de TI, está convidado a iniciar uma viagem através de um mundo invisível, imaginário, mas super importante nos dias atuais. Essa viagem é recheada de novidades intrigantes: O que acontece no percurso da informação desde o seu computador, no momento que você requisita uma página Web através de um clique do mouse (ou envia um e-mail), até o computador de destino, responsável pelo recebimento dessa requisição? O trajeto através desse universo será percorrido por nós e nosso agente de entregas “Proto- Boy”, um sujeito muito esperto, pragmático, que enfrenta os mais variados problemas no intuito de fazer chegar ao destino o centro do negócio na gestão da tecnologia: A Informação. Você sairá da sua confortável sala climatizada para percorrer as tubulações e as portas de entrada e saída das tecnologias nas mais variadas constituições: Cabos de par trançado, fibras ópticas, Servidores e clientes de rede, placas ethernet, comutadores, pontes, modems, roteadores, filtros de pacotes. Você verá que cada tecnologia apresenta suas vantagens e seus problemas, e podemos escolher as tecnologias para transportar nossa informação de forma semelhante a que escolhemos a nossa empresa aérea, o ônibus, o condutor e a estrada pela qual iremos trafegar. Durante nosso estudo, podemos imaginar que a informação, nossa estrela principal, foi encomendada por um cliente distante, como uma pizza pode ser encomendada pelo telefone. A pizza vai deixar o 3º. andar do prédio da pizzaria Net-pizza, e em cada andar receberá ingredientes e preparos até chegar nas mãos do Proto-Boy, nosso eficiente entregador. Essa divisão em andares e funções é necessária para o entendimento desse universo amplo, onde as peças separadas podem ser compreendidas mais facilmente. O que acontece com a encomenda e o nosso herói digital você ficará sabendo ao longo da disciplina, um conteúdo fundamental na sua jornada rumo a Gestão da tecnologia da informação. Aperte o cinto, a viagem vai começar e a nossa rede é rápida. 2
  • 3. Disciplina de Redes e Comunicação de dados Unidade 1 Unidade 1 Introdução a Comunicação de Dados e Redes de Computadores Objetivos de aprendizagem Esta unidade tem como propósito trazer um conhecimento básico na área de comunicação de dados, fundamental para que você compreenda o restante do conteúdo. Ao final da unidade você estará apto a: • Identificar os principais órgãos envolvidos na padronização das redes • Conceituar rede e comunicação de dados e protocolos • Identificar os componentes de uma rede de computadores. Plano de estudo A seguir estão descritas as seções desta unidade. Para manter a “jornada” bem organizada e registrada, ao final de cada “estação”, assinale o quadro marcando os “trajetos” já percorridos. Seção 1 – A Comunicação de dados Seção 2 – O que é uma rede de computadores? Seção 3 – Histórico das redes Seção 4 – Os componentes de uma rede Seção 5 - Os protocolos Para início de estudo Estudar redes e comunicação de dados pode ser algo muito chato, pois a quantidade de informação disponível é imensa (e as siglas, um terror, são milhares). Quase todos têm uma opinião a respeito dos problemas. “A Internet está fora, deve ser uma falha no provedor...”. Esta situação é comum nas empresas, e um dos nossos objetivos nessa disciplina é tentar entender um pouco mais a respeito das tecnologias, os mecanismos que funcionam (ou tentam funcionar) para que tenhamos uma rede operacional. Nessa unidade, você verá os conceitos mais fundamentais a respeito das redes, e conhecerá os organismos responsáveis pela manutenção das regras do jogo na área da comunicação entre os computadores. Não são poucas as regras, nem o jogo é tão simples, mas com paciência e a ajuda do nosso Proto-boy, chegaremos ao nosso destino. O cenário inicial do percurso entre a origem do pedido de uma pizza (casa do cliente) e a entrega dessa requisição vai necessariamente envolver os fundamentos estudados nesta unidade. Premissas para o funcionamento da pizzaria: 3
  • 4. Disciplina de Redes e Comunicação de dados Unidade 1 Imagine que a nossa Pizzaria possui 3 andares, cada qual com dois departamentos bem distintos: um departamento é o responsável por receber (qualquer coisa que chegue ao andar), e outro responsável por emitir (qualquer coisa que saia do andar). Os andares estão bem organizados, e possuem contato uns com os outros somente através de aberturas no assoalho e no teto. Essas aberturas são denominadas Pontos de acesso ao Serviço. È pelo PAS que o pessoal de um andar se comunica com os caras acima e abaixo deles. Não é possivel ao pessoal do 3º. Andar se comunicar com o primeiro, somente com o segundo. Descrição da pizzaria NET-Pizza Figura -1 - Estrutura da Net-Pizza - as camadas No 1º. andar (térreo) funciona a expedição das mercadorias. Tanto as que chegam quanto as que saem, são roteadas (encaminhadas) pelo pessoal do térreo. O térreo é uma supergaragem, com saídas para várias ruas, o que melhora muito o fluxo no momento da expedição das encomendas, bem como das mercadorias que estão chegando. No 2º. andar funciona o departamento de controle de qualidade. Esses caras verificam tudo que está chegando ou saindo da pizzaria, a velocidade, os estoques, a procedencia, tudo. No ultimo andar estão os caras da produção. Eles recebem os engredientes, montam e assam a pizza. O departamento de saída corta e encaminha para o andar de baixo. Na saída, pelo térreo, o Proto-boy entra em ação. Dentro do furgão, de locomotivas, ou qualquer outro meio de transporte, ele recebe as mercadorias e as notas fiscais e sai pelas ruas procurando os destinatáros famintos das fumegantes pizzas (bom, pelo menos no inicio do percurso elas estão fumegantes). 4
  • 5. Disciplina de Redes e Comunicação de dados Unidade 1 Figura --2 - Furgao do proto-boy - Frame de camada 2 Seção 1 – A Comunicação de dados A comunicação de dados trata da transmissão de sinais através de um meio físico, de uma forma confiável e eficiente. Os tópicos mais importantes são a transmissão de sinais, os meios de transmissão, codificação dos sinais, multiplexação. Os meios físicos são as ruas por onde trafega nosso proto-boy. Perceba que na nossa analogia com a pizzaria, os meios físicos podem variar como as estradas e ruas: as fibras ópticas podem ser representadas pelas grandes rodovias, com muitas pistas. Os meios mais limitados (fios de cobre) podem ser representados pelas ruas estreitas. Porque um sistema de comunicação de dados? As pessoas precisam de um sistema de comunicação por dois motivos básicos: Aumentar o poder computacional Na maioria dos casos, aumentar o tamanho do computador disponível não é possível, ou mesmo não resolveria o problema de capacidade computacional. Compartilhar recursos Todos precisam trocar informações, arquivos, bancos de dados estando em locais geograficamente dispersos. Objetivo da comunicação: O principal objetivo de um sistema de comunicação é trocar informação (dados) entre dois sistemas remotos. Podemos entender como remotos dois sistemas computacionais que não possuem compartilhamento de memória RAM. (Randomic Access Memory). Os sistemas com mais de uma CPU e a mesma memória RAM não precisam enviar informações um ao outro, uma vez que todas as CPUs tem acesso aos mesmos endereços da memória. Componentes de um sistema de comunicação Um sistema de comunicação de dados deve ter os seguintes componentes básicos: 5
  • 6. Disciplina de Redes e Comunicação de dados Unidade 1 Figura 3 - Modelo de comunicação Fonte:Stallings, Data and computer communications, 7ª ed, Pearson Education. (2004) • Fonte — Gera os dados que serão transmitidos (ex, computador) • Transmissor — Converte os dados em sinais possiveis de se transmitir (ex.: placa de rede ou modem) • Sistema de transmissão — Transporta os dados (ex.: Sistema telefonico) • Receptor — Converte os sinais recebidos em dados (ex.: modem ou placa de rede) • Destino — Recebe os dados convertidos Todos esses componentes possuem complexidades adicionais. Por exemplo, os sistemas de transmissão podem ser divididos em outros componentes: • Sinal (analógico/digital), • meio físico (fio de cobre, fibra óptica, ar), 6
  • 7. Disciplina de Redes e Comunicação de dados Unidade 1 • protocolos (PPP, ADSL) • e dispositivos de rede (comutadores, roteadores) Seção 2 – O que é uma rede de computadores? A todo instante você se depara com algum computador ou terminal de rede. Nos caixas automáticos dos bancos, nos terminais das lojas, na sua casa, nos órgãos públicos, nas academias, nos clubes, bares... Parece que as redes de computadores estão em todas as partes. Isso é verdade, talvez a Internet venha a ser a 3ª.maior rede do mundo, em termos de capilaridade, perdendo apenas para as redes elétrica e de telefonia. Apesar de menor, a Internet cresce mais rapidamente. Bola Fora: O presidente da Digital, em 1977 (nessa época a Digital era a 2ª. maior fabricante de computadores do planeta, ficando atrás apenas da IBM), decretou: “Não existe nenhum motivo para que um indivíduo possua um computador em sua casa.” Agora que você já conhece a idéia fundamental por trás da comunicação de dados, fica mais fácil definir rede de computadores: Uma rede é um conjunto de dispositivos computacionais conectados através de uma estrutura de comunicação de dados, com a finalidade de compartilhar recursos. Depois disso, podem restar algumas perguntas: Que dispositivos? Tais dispositivos incluem interfaces de redes, servidores, estações de trabalho, impressoras (além dos dispositivos de comunicação como hubs, transceivers, repetidores, comutadores, pontes e roteadores). Você conhecerá um pouco mais disso tudo na seção 4, e mais tarde, com mais detalhes, na unidade 5. O que é dispositivo conectado? Dois dispositivos computacionais são ditos conectados quando podem trocar algum tipo de informação entre eles, utilizando para isso um protocolo. Um protocolo de rede faz parte da estrutura de comunicação de dados, e pode ser visto como uma norma de comunicação, que deve ser utilizada pelos participantes, como as regras gramaticais de um idioma (você verá mais sobre os protocolos na seção 5). Quais recursos? Uma rede trata basicamente da tecnologia e da arquitetura utilizada para conectar os dispositivos de comunicação. Os recursos que desejamos compartilhar são vários. Talvez os mais comuns sejam: Mensagens, arquivos, disco rígidos, impressoras, fax. Podemos desejar interatividade nessa comunicação, como nas salas de bate-papo, telefonia e videoconferência. 7
  • 8. Disciplina de Redes e Comunicação de dados Unidade 1 Diversidade Uma rede pode ser composta por vários sistemas operacionais, e por dispositivos de diferentes fabricantes. Pode ter vários tamanhos e abrangências, bem como formatos físicos direntes. (Veja mais adiante, na Unidade 4, uma classificação mais completa). Internet Outro conceito importante é a Internet. A Internet não é considerada por muitos autores como uma rede, mas uma conexão entre redes diversas. Tais autores consideram que uma rede deve possuir uma tecnologia única, o que evientemente exclui a Internet, uma verdadeira panacéia de tipos de redes. Dispositivos Rede Protocolos Enlaces Figura 4 - Componentes de uma rede Modelos de comunicação: Cliente / servidor Nesse tipo de comunicação, uma máquina solicita um serviço (cliente, como um browser) e a máquina que presta o serviço (um web server, por exemplo) envia uma resposta, que pode ser uma página html. Figura -5 - cliente/servidor (tanembaum, 4ª. ed – 2004) 8
  • 9. Disciplina de Redes e Comunicação de dados Unidade 1 Peer-to-peer Nesse modelo, não existe cliente ou servidor. Qualquer máquina pode ser cliente e simultaneamente servir às requisições de outras máquinas. Nesse modelo se encontram os principais grupos de compartilhamento de arquivos, como o Kazaa, e-mule, edonkey, imash. Figura -6 -Modelo de comunicação peer-to-peer (P2P). 9
  • 10. Disciplina de Redes e Comunicação de dados Unidade 1 Seção 3 – Padrões e Histórico das redes Histórico Durante o século 20, a tecnologia chave foi Informação. Geração, processamento e distribuição da Informação foram cruciais para a humanidade. Entre os anos de 1900 e 2000 desemvolveram-se os sistemas telefônicos, foram inventados o rádio e a TV, os computadores e os satélites de comunicação. Como conseqüência, essas áreas convergiram e as diferenças entre a coleta, transporte, armazenamento e processamento das informações foram rapidamente desaparecendo. Do you Know? A primeira conexão entre dois computadores foi realizada em 1940. George Stibitz utilizou as linhas de telégrafo para enviar arquivos entre Dartmouth College (New Hampshire, USA, para os laboratórios Bell, em New York. Mas a história das redes de dados e da Internet se confundem com o Deparamento de Defesa dos EUA (DoD), através da ARPA - Advanced Research Projects Agency (www.arpa.mil ), em conjunto com o MIT - Massachusetts Institute of Technology (http://www.mit.edu ). Esses dois organismos mantiveram os principais pesquisadores na área das ciências computacionais no início da década de 60. A rede ARPANET não parou de crescer ( . (a) December 1969. (b) July 1970. (c) March 1971. (d) April 1972. (e) September 1972. 10
  • 11. Disciplina de Redes e Comunicação de dados Unidade 1 Figura 7 -Crescimento da ARPANet – (Tanembaum, 2004 – 4ª ed.) O site do Internet Software Consortium mantém um levantamento anual do número de hosts na Internet (Figura 8) Figura 8 - Crescimento do número de hosts 11
  • 12. Disciplina de Redes e Comunicação de dados Unidade 1 Muitas pessoas participaram dos projetos iniciais da Internet. Quase todos os maiores pioneiros podem ser vistos em http://www.ibiblio.org/pioneers/index.html. Vint Cerf é considerado o “Pai da Internet”. Bob Metcalfe inventou a tecnologia Ethernet, que domina as interfaces de rede até hoje. Outros pesquisadores foram muito importantes, principalmente no desenvolvimento do TCP/IP, que impulsionou a rede. John Postel é um desses caras. A página de Postel, http://www.postel.org, é um tributo a dedicação e criações do pesquisador. Postel participou da criação, entre outros protocolos, do IP, do TCP, do SMTP (serviço de e-mail) e da resolução de nomes (DNS). Foi editor das RFCs por 30 anos. Você pode acessar mais sobre a história da Internet em Português: http://simonevb.com/hobbestimeline/ . Outro site interessante sobre a história das comunicações, inclusive a Internet é http://www.mediahistory.umn.edu (em Inglês) Evolução da Internet? Esse cara é considerado o menor servidor Web do planeta. Veja detalhes em: http://www-ccs.cs.umass.edu/~shri/iPic.html Padrões Atualmente, vários organismos internacionais estão voltados para a padronização das normas de funcianamento dos dispositivos usados na troca de informações. Protocolos, componentes de rede, interfaces, todas as tecnologias utilizadas precisam de padrões para que consigam operar entre elas. A seguir, você entrará em contato com os principais organismos da área de redes e comunicação de dados. 12
  • 13. Disciplina de Redes e Comunicação de dados Unidade 1 • ISO - International Organization for Standardization – http://www.iso.org, através da norma 35.100.01 padroniza o modelo geral para o OSI - Open systems interconnection. Esse instituto não disponibiliza os padrões gratuitamente, mas possui uma loja on-line para compra dos padrões. O modelo de protocolos especificado pelo OSI é a referência para todos os protocolos de redes atuais. Você verá mais sobre o modelo, que deu origem inclusive ao prédio da nossa NetPizza, com as camadas do protocolo sendo representadas pelos andares do prédio. • ITU - International Communications Union. – http://www.itu.int – Esse organismo, como o nome está indicando, é responsável pela padronização do setor de telecomunicações. Aqui os padrões também são pagos. Entre outras coisas, o ITU é responsável pelo protocolo de comunicação de voz sobre IP H.323 e pelas normas de comunicação do protocolo ATM entre as operadoras de Telecomunicações fim da aula 2 Rt1i43 13
  • 14. Disciplina de Redes e Comunicação de dados Unidade 1 • ANSI – American National Standards Institute. http://www.ansi.org/ Responsável por alguns padrões importantes na área de redes e comunicação de dados (por exemplo, as redes FDDI, que funcionam a 100 Mbps em anéis de fibra óptica). O ANSI é uma instituição privada norte-americana, destinada a promover os padrões daquele país em nível internacional. Fiber channel 14
  • 15. Disciplina de Redes e Comunicação de dados Unidade 1 • IEEE - Institute of Electrical and Electronics Engineers, Inc. http://www.ieee.org . É uma associação profissional, que trabalha para pesquisa e padronização nas áreas de engenharia e computação, com muitas publicações e conferências renomadas nessa área. Existem várias áreas de trabalho e uma delas nos interessa particularmente: O grupo 802, que regulamenta as redes locais e metropolitanas, entre elas as tecnologias ethernet (IEEE 802.3) e token ring (IEEE 802.5), as duas líderes em redes locais. • ISOC – Internet Society http://www.isoc.org Mantém vários grupos responsáveis por funções centrais no funcionamento e evolução da Internet. Entre elas, se destacam o IETF, IANA, W3C. • IETF – The Internet Engineering Task Force http://www.ietf.org O IETF é uma organização que reúne fabricantes, pesquisadores, projetistas, operadores de redes. Essa comunidade está envolvida com a operação e a evolução da arquitetura da Internet. Sem dúvida, a organização mais destacada em termos de normas e padrões para os protocolos e procedimentos relacionados com a Internet, notadamente a arquitetura TCP/IP. O IETF mantém grupos de trabalho divididos por área, como roteamento, segurança, e outros. Possui uma metodologia de padronização baseada em RFCs (Request for Comments), documentos que normatizam o funcionamento da Internet. • TIA/EIA Normalmente associados aos cabeamentos, os padrões da Electronic Industries Alliance (EIA) participam da elaboração de tecnologias de comunicação, bem como produtos e 15
  • 16. Disciplina de Redes e Comunicação de dados Unidade 1 serviços. Á aliança é responsável por vários grupos de padronização, inclusive a Telecommunications Industry Association (TIA). http://www.tiaonline.org/ Algumas tecnologias possuem fórums de discussão, que tentam agilizar o estabelecimentodos padrões, antecipando-se aos organismos oficiais. Tais fórums são compostos por fabricantes e pesquisadores interessados na tecnologia em questão. Por exemplo, um fórum muito atuante é o da tecnologia ATM. Veja em http://www.atmforum.com . Outra organização de fabricantes é a Aliança gigabit ethernet. http://www.10gea.org “Seja liberal naquilo que você aceita,e conservador naquilo que você propaga”. J. Postel. Seção 4 – Os componentes de uma rede Uma rede de comunicação de dados possui vários componentes, o que pode fazer dela um sistema computacional bastante complexo. Os componentes podem ser divididos em 2 grupos básicos: 4.1 - Componentes de hardware: Incluem todos os dispositivos físicos que fazem parte da comunicação Você verá mais sobre os componentes na unidade 5. Componente Camada de atuação Foto a) E Abaixo da física (lembre-se nlaces que as camadas constituem-se (seçãoxx de software) xx) 16
  • 17. Disciplina de Redes e Comunicação de dados Unidade 1 b) H Atua na camada 1, ub propagando o sinal elétrico/óptico em todas as portas c) R Faz o mesmo papel do hub, epeater regenerando o sinal e propagando para outra porta. Pode ser considerado um hub de uma porta. d) P Faz a ligação do host com o laca de enlace. Converte as rede / informações em bits, e os bits interface em informações e) B Faz a conexão entre duas ridge redes através da camada de enlace. Pode conectar redes de tecnologias diferentes, como Ethernet e Token Ring. A bridge deu origem aos switches f) S Um switch reune um conjunto witch grande de funções. Podem ser considerados Bridges com várias portas. Armazenam os pacotes, repassam para os destinatários na porta de destino. Evitam colisões. g) R Comutador de pacotes de outer camada 3 (datagramas). Possui outras denominações: • Sistemas intermediarios, Intermediate system ou IS (usado pela ISO) • Gateway 17
  • 18. Disciplina de Redes e Comunicação de dados Unidade 1 (Muito usado pela comunidade IP/Internet) • Switch de camada 3 h) M Modulador/Demodulador. odem Equipamento de codificação. Converte sinais analógicos e digitais i) H Máquina o usuário. Possui ost outras denominações: • Host (Comunidade IP/Internet) • Data terminal equipment, ou DTE (usado pelo padrão X.25) • End system, ou ES (usado pela ISO) • Estação Máquina que comuta j) G datagramas (camada 3). Nome ateway dado aos roteadores pela comunidade IP/Internet 4.2 – Componentes de Software: a) Os sistemas operacionais: Responsáveis pelo controle do uso da CPU, memorias, discos e periféricos, como a interface de rede. Alguns controlam ainda as tabelas de endereços e de caminhos, como um sujeito que determinasse qual veículo deixaria a Net-Pizza por uma das portas de entrada-saída. Tais sistemas residem nos switches e routers. • Unix (HP-UX, Solaris) • Linux (Red-Hat, Debian), • Mac-OS, • Netware, • Windows 18
  • 19. Disciplina de Redes e Comunicação de dados Unidade 1 • Sistemas especializados em comutação e roteamento (ex.: IOS). b)os protocolos • HTTP (páginas de hipertexto) • SMTP (transporte de correio eletrônico) • FTP (transferência de arquivos) c) as aplicações (clientes, que solicitam o serviço – browser, por exemplo- e servidoras, que prestam os serviços – servidor web, por exemplo). Seção 5 - Os protocolos de rede Um protocolo de rede é uma norma de comunicação, implementada através de software. Define a forma e a ordem das mensagens, e as ações realizadas para a comunicação entre duas entidades. Para reduzir a complexidade do projeto dos protocolos, eles são divididos em camadas ou níveis, uma camada sobre a outra, como os andares da Net-Pizza. O número de camadas, o nome, o conteúdo de cada uma e a função delas pode variar de modelo para modelo. Em todos os modelos, porém, as camadas inferiores prestam serviços para as camadas superiores, e as superiores solicitam os serviços das inferiores. Os protocolos acessam os serviços da camada inferior através dos SAP – Services Access Points ou Pontos de Acesso aos Serviços Na Net-pizza, é como se o pessoal do 2º. Andar enviasse todos os engredientes montados, juntamente com o pedido, para os assadores do ultimo andar. Quando a pizza fica pronta, os assadores solicitam a camada de baixo o processamento inicial da encomenda: Cortar em fatias, embalar,etc. Note que cada andar possui funções especializadas, e não interfere nas funções dos andares acima e abaixo. Os modelos de protocolos de redes mais utilizados são 3: • OSI o O modelo OSI serviu de base para a elaboração dos demais modelos de protocolos. È um modelo sofisticado, complexo e que acabou sendo utilizado somente como referência (Reference Model OSI, ou RM-OSI). São 7 camadas, conforme demonstrado na Figura -1. • TCP/IP o A arquitetura TCP/IP foi aquela que impulsionou a Internet, numa evolução da ARPA-Net. O TCP/IP foi escrito de forma a simplificar a comunicação e possibilitar a interoperação de dispositivos e tecnologias totalmente diferentes. • Modelo híbrido o O modelo híbrido surgiu da necessidade didática de comunicação entre os instutores e os alunos. Analisando a Figura 9, você pode perceber como ficaria confuso referenciar um protocolo como sendo de “camada 4” quando tinhamos o OSI (7 camadas) e o TCP/IP (4 camadas). A camada 4 para o OSI é 19
  • 20. Disciplina de Redes e Comunicação de dados Unidade 1 a de transporte, e para o TCP/IP é a de aplicação. O modelo híbrido passou a ser usado pelos principais autores da área de redes (Comer, Kurose, Tanembaum, Peterson). No nosso estudo, adotaremos o modelo híbrido como referência para as camadas, excecto quando for explicitamente indicada outra pilha de protocolos. Figura 9 - Modelos de camadas Pelo modelo híbrido, nossa NET-Pizza fica assim representada: 5 Aplicação Assadores/montadores (2º. Andar) 4 Transporte Pessoal do 1o. andar, que corta a pizza e manda os ingredientes e o pedido 3 Rede Expedição - Pessoal do terreo, que escolhe a via e o veículo. 2 Enlace Os veículos (Moto, furgão, carro, trem) 1 Física As vias de tráfego (ruas, rodovias, ferrovias). Um conjunto de protocolos e camadas é denominado de Arquitetura de Rede. A especificação de uma arquitetura deve ter todas as informações para alguém implementar um programa ou construir um dispositivo de hardware para uma ou mais camadas, obedecendo as normas do protocolo. 20
  • 21. Disciplina de Redes e Comunicação de dados Figura 10 - Modelo genérico para 5 camadas Comunicações horizontais e verticais Dentro de uma mesma camada para hosts diferentes (comunicação horizontal), e camadas diferentes no mesmo host (comunicação vertical). 21
  • 22. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Unidade 2 Camada física - Sinais, multiplexação e banda em um canal Nesta unidade, serão estudados os componentes da camada física. Os tipos de sinalização, os meios de transmissão. Como você viu, as arquiteturas dos protocolos apresentam divisões em camadas. Nesse curso, adotamos o modelo híbrido de arquitetura, que associa os modelos OSI e TCP/IP. A camada física, apesar de não especificada no modelo TCP/IP, está presente nos modelos OSI e híbrido (Figura 11). Ela é a camada mais inferior da pilha, sendo responsável pela interface com os meios de transmissão. Tais interfaces comunicam o host com a rede, determinando os parâmetros mecanicos, eletricos e temporais. Physical Layer Transmission Protocol Physical Layer Physical Medium Figura 11 Posição da camada física e do cabeamento A camada física determina como os bits serão representados (sinalização), detecta o início e o final das transmissões, e as direções dos fluxos. Você vai observar que é dificil transpor algumas barreiras físicas e que existe uma imposição da natureza sobre as possibilidades e limites de utilização de um canal para transmitir sinais. Na net-pizza, a camada física corresponde às vias de escoamento do tráfego. Nelas, existem alguns controles básicos que encontramos também nos protocolos: O tipo do veículo que pode trafegar em cada pista (o veículo corresponde ao frame ou quadro da camad dois, voce deve estar lembrado). Os sinais de transito, permitindo ou bloqueando a passagem. As colisões, quando ocorrem. Os engarrafamentos, os estreitamentos de pista, as larguras e velocidades máximas. Os diferentes meios de transporte podem ser comparados aos meios de transmissão: voce pode imaginar uma estrada não pavimentada como sendo uma linha de transmissão analógica, de grandes retardos, e taxas de erros como um modem assincrono de 56 Kbps. Uma estrada pavimentada poderia ser então nossos pares trançados (esses azuis que conectam o micro a tomada de rede). Uma fibra óptica poderia ser o ar por onde trafegam os aviões, de qualquer velocidade. Os satélites poderiam ser comparados aos navios, uma vez que podem transportar muita informação, mas são relativamente lentos. Ao final da unidade,voce estará apto para: • Identificar os tipos de sinais • Definir multiplexação de um canal 22
  • 23. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal • Entender o conceito de Largura de banda • Diferenciar os meios físicos de transmissão • Entender os principais problemas dos sinais Sessão 1 – Tipos de sinal Sessão 2 - Largura de banda Sessão 3 – Multiplexação Sessão 4 – Codificação Sessão 5 – Os meios de transmissão e os problemas dos sinais nos meios físicos Sessão 1 – Tipos de sinal Sinais e transmissão de dados O que é um sinal? Um sinal é um fenômeno físico, que representa um fluxo de informações. Portanto, um sinal pode transportar os dados em um meio físico (fios de cobre, fibras ópticas, ar) Tipos de sinais: Basicamente, temos dois tipos de sinais de dados: Analógicos Nesse tipo, existe uma variação contínua da intensidade em relação ao tempo. Não existe descontinuidade. Figura 12 - Sinal analógico 23
  • 24. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Digitais Nos sinais digitais a intensidade se mantém em um nível constante e então muda para outro nível de intensidade (Figura 13) Figura 14 - Sinal Digital Um sinal digital é uma sequência de pulsos discretos, descontínuos. Os sinais digitais têm uma amplitude fixa, mas a largura do pulso e a freqüência podem ser alteradas. Os sinais digitais de fontes modernas podem ser aproximados a uma onda quadrada, que, aparentemente, tem transições instantâneas de estados de baixa para alta voltagem, sem ondulação. Cada pulso é um elemento do sinal. Nos casos mais simples, existe uma correspondência 1 para um entre os bits transportados e os elementos dos sinais. Exemplo de codificações onde existe correspondencia 1-1 (NRZI) e 2-1 (Manchester) Figura 15 - Número de elementos na sinalização de 1 bit 24
  • 25. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal 25
  • 26. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Bauds Um baud é o número de símbolos (elementos) do sinal usados para representar um bit. No caso da figura 7, um 1 bit é representado por 1 baud na codificação NRZI e 2 bauds na Manchester. Durante um baud, um símbolo é enviado no canal. Quando um canal digital é amostrado, o número de amostras por segundo é medido em bauds Exemplo: Se voce tem um modem com taxa de 2400 bauds significa que seu modem pode amostrar 2400 simbolos por segundo. Embora isso possa parecer pouco, cada símbolo pode representar mais de um bit, dependendo da modulação. Se o seu modem usa uma técnica chamada QPSK (Quadrature Phase Shift Keying), dois bits são representados a cada alteração de fase. Tarefas de um sistema de comunicação Podemos listar as seguintes tarefas como sendo responsabilidade do sistema de comunicação: • Interfaces humano/maquina/maquina/humano • Geração do sinal • Sincronização • Detecção e correção de erros • Controle de fluxos • Endereçamento • Roteamento • Recuperação • Formatação das mensagens • Segurança • Gerência da rede Sessão 2 - Largura de banda e atrasos Largura de Banda A largura de banda (bandwidth) e o atraso (tempo necessário para que uma unidade de informação percorra a rede desde a origem até o destino) são dois conceitos fundamentais para analisarmos o desempenho de uma rede. A largura de banda de um enlace pode ser definida de duas formas: fisicamente, pode- se dizer que: 26
  • 27. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal “é a faixa de frequências que pode passar pelo enlace com perdas mínimas”. Por exemplo, para transmitir um sinal de voz na linha telefônica precisamos de uma banda de 3000 Hz, pois a voz humana usa frequências de 300 a 3300 Hz. Outro enfoque, mais prático, pode determinar a largura de banda como: “a quantidade de sinal, em bits, que uma interface pode inserir em um enlace em um segundo” (taxa de transmissão da interface). Sob essa óptica, uma interface fast ethernet (padrão IEEE 802.3u) teria uma banda de 100 Mbps. Essa quantidade normalmente não é alcançada na prática, devido aos problemas de implementação das tecnologias. A palavra “throughput” ou vazão, normalmente é usada para definir o desempenho que um enlace fornece entre duas interfaces. Por exemplo, um enlace de 10 Mbps poderia fornecer uma vazão de, digamos, 4 Mbps, devido às deficiências de implementação. Atraso Atraso é o tempo necessário para que uma unidade de informação deixe a origem e chegue ao destino. O atraso pode ser decomposto em vários tipos, dependendo da localização do trajeto que está sendo analisado. Basicamente, existem 4 tipos de atraso nas redes de dados: Propagação, Transmissão, Enfileiramento e Processamento. Eles serão analisados separadamente na próxima unidade. Quando somamos todos esses atrasos, obtemos o Atraso Total fim a fim, que é o tempo dispendido pela informação entre dois nós da rede. Quando analisamos o atraso total fim-a-fim podemos imaginar a informação percorrendo uma tubulação como a da Figura 16. A tubulação pode ser vista como um túnel por onde nosso proto-boy trafega com seu furgão. O furgão transporta a unidade de dados (pizza). O atraso nodal total seria o tempo necessário para que o furgão deixasse a pizzaria e chegasse a casa do cliente. Delay Bandwidth Figura 16 - O enlace como uma tubulação 27
  • 28. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Podemos imaginar a largura do tunel como a banda disponível para a passagem da informação. Quanto mais banda, mais furgões podem passar simultaneamente pelo túnel. Note que aumentar a largura do túnel (mais banda) não significa tornar os furgões mais rápidos. Significa apenas que mais furgões podem trafegar simultaneamente. Existe uma abstração importante para imaginarmos o desempenho de um enlace. Se multiplacarmos a banda pelo atraso, podemos ter a quantidade de bits que estão no canal de comunicação em determinado instante. O produto BANDAxATRASO indica quantos bits estão em um canal, antes de serem recebidos na interface de destino. Isso significa que, se a interface de destino detectar algum erro e solicitar um cancelamento da transmissão, esses bits já estarão no percurso entre as duas interfaces, o que pode gerar problemas em redes de desempenho muito elevado. Isso porque quanto maior o desempenho, mais bits estarão nesse trajeto. Exemplo: em um canal de 50 Mbps com um atraso de 40 ms teremos: 50 X 106 bits/segundo X 40 X 10-3 segundos= 2.000.000 bits Sessão 3 – Multiplexação Multiplexar é transmitir sinais de várias sessões de comunicação em um meio físico compartilhado. A técnica é muito útil para reduzir o numero de enlaces, que normalmente possuem custos elevados. 28
  • 29. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Figura 17 - Sessões em enlaces individuais Quando poucas sessões forem necessárias, o número de enlaces individuais não chega a ser um problema. Mas muitas sessões significam muitos enlaces. Enlaces=s(s-1)/2 ■■■ Figura 18 - Multiplexação - Sessões compartilhando enlace único Os canais de comunicação podem ser multiplexados segundo 3 técnicas básicas: • Tempo (TDM ou Time Division Multiplexing) Nessa técnica, o canal de comunicação é divido em vários “slots” ou períodos de tempo. Cada estação pode transmitir em um período, usando toda a frequencia (banda) disponível. Ou seja, limita-se o tempo de transmissão, libera-se a frequencia plena do canal. 29
  • 30. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Figura 19 - Time division multiplexing • Frequência (FDM ou Frequency Division Multiplexing) Nessa técnica ocorre o inverso da anterior: Limita-se uma faixa de frequencia para cada estação, que pode então transmitir por periodos de tempo indefinidos . Um exemplo é a transmissão de rádios em AM. Vários canais são alocados nas frequencias entre 500 e 1500 kHz. Cada estação de rádio usa uma faixa de frequencias, sem limites de tempo. Figura 20 - Frequency Division Multiplexing 30
  • 31. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal • Comprimento de onda (WDM ou Wavelength Divison Multiplexing) Nessa técnica, cada estação irá transmitir em comprimentos de onda específicos, que são filtrados ao passar pelo comutador. Figura 21 – Wavelenght Division Multiplexing 31
  • 32. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal 32
  • 33. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal • Sessão 4 – Codificação Os sinais se propagam através de um meio físico (enlaces, ou links). Os dados binários que o nó de origem quer transmitir precisam então ser codificados em sinais, de modo que os bits possam percorrer a distância até o destino. No destino, os sinais precisam ser decodificados novamente em dados binários. Os sinais, na prática, correspondem a duas voltagens diferentes nos fios de cobre ou potências com níveis diferentes quando o meio é a fibra óptica. A responsabilidade de codificar o sinal que irá trafegar o meio físico é das interfaces de rede. Cada interface tem uma tecnologia, e pode envolver uma série de protocolos. Existem vários tipos de codificação. Por exemplo, para a tecnologia ethernet, uma subcamada responsável pela codificação irá gerar um código do tipo Manchester nas taxas de 10Mbps em fios de cobre. A codificação irá mudar para NRZI em taxas de 100Mbps nas Fibras ópticas. Você vai ver agora alguns detalhes a respeito de 4 das principais técnicas de codificação: NRZ, NRZI, Manchester, 4B5B e MLT3 Stallings pag 135 – Peterson pag 57 Codificação NRZ O nome é obscuro “Sem retorno ao zero”, ou “Non return to zero”. É a forma mais simples de codificar sinais e por isso a mais utilizada. O mapeamento é feito representando um bit um para os sinais de nível mais alto e um bit zero para os sinais de nível mais baixo (Figura 22) . Bits 0 0 1 0 1 1 1 1 0 1 0 0 0 0 1 0 NRZ Figura 22 - Codificação NRZ O problema com a NRZ é quando ocorre uma sequência longa de bits zero ou um. O sinal permanece alto ou baixo no enlace por um período muito longo Codificação NRZI Essa codificação é denominada “sem retorno ao zero inversão no um” (non-return-to-zero, invert-on-one) Funciona assim: 33
  • 34. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal • Os sinais 1 são alternadamente representados por um sinal alto ou baixo (Voce deve lembrar que nas fibras ópticas o que muda é a intensidade do sinal para representar zeros e uns). • Nenhuma alteração é feita no sinal para representar um zero. Figura -23 - Codificação NRZI Com essa técnica, o problema de vários 1s seguidos fica eliminado, mas ainda existe com uma sequencia de zeros. Manchester Essa codificação é usada normalmente para transmitir em fios de cobre a taxas de 10 Mbps. Para cada 0 e 1 transmitido através do meio físico acontecem os seguintes passos: • A representação do bit tem uma transição de voltagem no meio da codificação. • Para um bit 0, a primeira metade é alta, e a segunda é baixa. • Para um bit 1, a primeira metade é baixa e a segunda é alta. Exemplo: Transmissão de um byte 101111001 Figura 24 - Codificação Manchester A codificação manchester sempre provoca uma alteração na voltagem, evitando a perda de sincronismo mesmo em longas sequencias de zeros ou 1s. 34
  • 35. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal 4B5B Usada nas tecnologias Fast Ethernet, FDDI, Token Ring. Para cada conjunto de 4 bits, é inserido um 5º. Bit que evita longas sequencias sem alteração do sinal (i)4B/5B Code-Groups for FDDI, CDDI, and 100BASE-X As opções de codificação foram feitas de forma que nenhum codigo de 5-bits possui mais de 2 zeros consecutivos. 1) Table A.2. 4B/5B Data Mappings Hex Binary "Nibble" (4B) Five Bit Code-Group (5B) Dupla binaria 0 0000 11110 1 0001 01001 2 0010 10100 3 0011 10101 MLT-3 Signals for 100BASE-TX and CDDI Multi-Level 3 encoding (MLT-3) é uma tecnica de sinalização eficiente que foi introduzido pelo CDDI e adotado pelo 100BASE-TX (IEEE 802.3u em par trançado UTP). Requer menos banda que a sinalização NRZI usada pelo FDDI e 100BASE-FX. Isso ajuda bastante, porqueo UTP cat % realmente tem menos banda que a fibra óptica Como a NRZI, a tecnica MLT-3 faz uma transição para cada bit 1 e permanence a mesma para os bits 0. Entretanto, as transições são feitas em 3 níveis de sinais. O sinal muda um nível por vez, como segue: 1. Low to middle 2. Middle to high 3. High to middle 4. Middle to low O resultado é que o numero de transições entre os níveis alto e baixo de voltagem fica reduzido. Isso se traduz em frequencias menores, tornando possível colocar 100Mbps em cabos de categoria 5 . A Figura 25 mostra a codificação de um string binario 11010001 pela MLT-3. Os níveis medio, alto e baixo podm ser representados por [-, 0, +] ou [-1, 0, and 1] 35
  • 36. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Figura 25 - Codificação MLT3 A MLT-3 apresenta o mesmo problema da NRZI para longas repetições de 0, o que pode gerar uma perda do tempo de bit no lado do receptor. A solução encontrada foi a mesma: A cada 4-bit nibble é convertido em 5-bit code-group usando a tradução 4B/5B. A combinação da 4B/5B e dos sinais MLT-3 possibilita transmitir a 100 Mbps em enlaces com 31.25MHz de banda. Modulação Os sinais digitais devem ser modulados para transporte nos meios analógicos. A situação mais comum aqui é usar a linha de telefonia para enviar dados através de um Modem (Modulador/Demodulador). A modulação é a alteração do sinal para marcar a troca do bit. O número de amostras do canal digital é medido em bauds. Cada baud contém um símbolo 36
  • 37. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal As técnicas mais freqentes são Figura 26): • Modulação de amplitude • Modulação de frequencia • Modulação de fase 37
  • 38. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Figura 26 - Técnicas de modulação a-Amplitude: Em ondas, é a maior das distâncias que uma onda atinge de sua posição média. Quanto maior a energia da onda, maior a sua amplitude Conceitos importantes: Vários conceitos importantes na trasmissão dos dados ficam confusos, devido a grande quantidade de informações necessárias ao entendimento da coisa. Voce deve lembrar de alguns: • Largura de banda: (Bandwidth): o Faixa de frequencia possível de transmitir em um enlace. É uma propriedade física do meio, medida em Hz. • Baud o Quantidade de amostras por segundo. Cada amostra envia um símbolo. • Símbolo o Como um bit pode ser representado (depende da modulação). A modulação determina o numero de bits por símbolo. • Taxa de bits o Quantidade de bits possíveis de inserir em um enlace, por unidade de tempo. Numero de simbolos por segundo vezes numero de bits/simbolo. 38
  • 39. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Sessão 5 – Os meios físicos e problemas dos sinais Nesta seção você verá quais os principais meios usados para transmitir os sinais, e ambém os problemas que os pobres bits enfrentam para percorrer as distâncias entre a fonte e o destino. Na nossa analogia da NetPizza, os meios físicos são correspondentes as vias de transporte, por onde trafegam nossos veículos transportadores de pizzas. Os meios físicos servem de substrato para a propagação dos bits, convertidos em sinais eletromagnéticos ou pulsos ópticos. Os bits se propagam entre uma interface de origem e uma de destino. Numa interconexão de redes, como é a Internet, podemos ter vários pares transmissor/receptor entre o ponto inicial (fonte) e o final (destino). Entre cada par transmissor/receptor, os meios físicos podem assumir diferentes formas. Os meios físicos podem ser dividos em 2 grupos: Guiados e não guiados • Guiados a) Fios de cobre 1. UTP – Unshilded Twited Pair ou Par trançado não blindado. Os fios são trançados em pares. Cada par consiste de um fio usado par os sinais positivos e outro para os negativos. Qualquer ruído que ocorra em um dos fios do par irá aparecer no outro também. Como eles estão com polaridades contrárias, possuem 180 graus de deslocamento de fase, o que cancela o ruído na extremidade receptora. Figura 27 – UTP 2. STP – Shilded Twisted Pair - Par trançado blindado. O grau de redução da interferência é determinado pelo número de trançagens por unidade de comprimento. Para melhorar a rejeição aos ruídos, uma malha recobre os pares de fios que estão trançados. 39
  • 40. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Figura 28 - STP - Par Trançado Blindado O revestimento pode ser em pares individuais e em torno de todos os pares, ou somente em torno de todos os pares em conjunto (Screened Twisted Pair) Figura 29 – ScTP – Screened Twisted Pair Mais informações sobre cabeamento de par trançado: http://www.siemon.com/us/standards/default.asp#OUTLET 3. Cabos Coaxiais Consistem em um condutor cilíndrico externo oco que circunda um conjunto interno feito de dois elementos condutores. Um condutor de cobre, no centro. Circundando-o, há uma camada de isolamento flexível (insulator) - Figura 30. Sobre esse material de isolamento, há uma malha de cobre ou uma folha metálica (shield) que funciona como o segundo fio no circuito e como uma blindagem para o condutor interno. Essa segunda camada, ou blindagem, pode ajudar a reduzir a quantidade de interferência externa. Cobrindo essa blindagem, está o revestimento do cabo (jacket). Figura 30 – Cabo Coaxial b) Cabos de Fibras ópticas As fibras ópticas consistem de fibras de vidro ou polímeros de carbono (mais atuais) que transportam sinais a altas frequencias em volta do espectro de luz visível. O tubo de vidro central é denominado de Núcleo, tipicamente com 62,5 microns (1 micron = 10-6 metros). Em volta do núcleo, um envoltório (cladding) também de vidro, em camadas concêntricas, para evitar a perda dos feixes luminosos. Esse envoltório possui 125 microns de diametro. Uma fibra com essas medidas nucleo/casca é dita 62,5/125. Em volta da casca existe um 40
  • 41. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal protetor de plastico. Nas fibras, a frequencia das ondas como medida de banda dá lugar ao comprimento de onda, medido em naômetros ou bilionésimos de metros. Figura 31 -Cabo de Fibra óptica Tipos de fibra--------------------------------iniciar aula do dia 12 Dois tipos básicos de fibra: Multimode (MMF) e Singlemode (SMF) Características das fibras Multimdo: (Muitos feixes luminosos) • Fonte luminosa: LED (Light Emitting Diode) • Atenuação 3.5 dB/Km (perde 3.5 dB de potencia no sinal por quilometro) • Comprimento de onda da fonte luminosa: 850 nM • Dimensões diâmetros nucleo/casca: 62.5/125 Características das fibras Singlemode: (Um feixe luminoso) • Fonte luminosa: Laser • Atenuação 1 dB/Km • Comprimento de onda da fonte luminosa 1170 nM • Dimensões diâmetros nucleo/casca: 9/50 Comparação entre as fones de luz para os cabos de fibra: Vantagens dos cabos de fibra: 41
  • 42. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal • Imunidade a interferências a) RFI - Radio Frequency Interference b) EMI -Electromagnetic Interference • Grande capacidades de banda • Imune a corrosão • Atenuação bem menor que o cobre • Ocupa menos espaço • Suporta taxas de transmissão maiores Desvantagens dos cabos de fibra: • Curvas limitadas (pode quebrar facilmente) • Preço (compesador em altas taxas) • Dificuldade de emendar 1. MMF 2. SMF Figura 32 - Tipos de fibra Figura 33 - Conectores tipo ST 42
  • 43. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Figura 34 - Conectores tipo SC e Duplex 43
  • 44. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal • Meios físicos Não guiados Essas formas de transportar sinais não necessitam conexão direta entre uma estação e outra. Os canais de comunicação são criados usando-se as frequencias do espectro eletromagnético (Tabela 1). 1. Radio frequencia • Ondas terrestres – Propagam-se limitadas pela altura da atmosfera, e seguem a curvatura do globo (Figura 35). Ondas de rádio, frequencias menores (VLF, LF, MF na Tabela 1). São omnidirecionais, ou seja, propagam-se em todas as direções a partir da estação de transmissão. Figura 35 - Ondas terestres - Baixas frequencias • Reflexão na Ionosfera o Possuem alcance maior, as frequencias são elevadas (HF, VHF, UHF...) Figura 36 - Reflexão na Ionosfera - Frequencias elevadas Name Frequency (Hertz) Examples 44
  • 45. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Gamma Rays 1019+ X-Rays 1017 Ultra-Violet Light 7.5 x 1015 Visible Light 4.3 x 1014 Infrared Light 3 x 1011 EHF - Extremely High 30 GHz (Giga = 109) Radar Frequencies SHF - Super High 3 GHz Satellite & Microwaves Frequencies UHF - Ultra High 300 MHz (Mega = 106) UHF TV (Ch. 14-83) Frequencies VHF - Very High 30 MHz FM & TV (Ch2 - 13) Frequencies HF - High Frequencies 3 MHz2 Short Wave Radio 3 MF - Medium Frequencies 300 kHz (kilo = 10 ) AM Radio LF - Low Frequencies 30 kHz Navigation VLF - Very Low Frequencies 3 kHz Submarine Communications VF - Voice Frequencies 300 Hz Audio ELF - Extremely Low 30 Hz Power Transmission Frequencies Tabela 1 - Frequencias do espectro eletromagnetico Radio Frequencias – As frequencias maiores (Very, Ultra, Super, Extremely) receberam esses nomes porque ninguém esperava que fossem descobertas frequencias maiores que 10Mhz (HF). 45
  • 46. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal 2. Micro-ondas A transmissão por micro-ondas (Microwave transmission) comporta-se de forma diferente da radiofrequencia normal. A transmissão é direcional, e precisa de uma linha de visada (as estações devem ser visíveis de uma para outra)- Figura 37. Figura 37 - Propagação na linha de visada (maximo 50 kilômetros, devido a curvatura do globo) Em casos onde não existe linha de visada, devem-se inserir repetidores (Figura 38). Figura 38 - Estações sem linha de visada usando repetidores As micro-ondas operam em frequencies muito altas, entre 3 a 10 GHz. Isso permite que transportem grandes quantidades de dados, pois a largura de banda é alta. Vantagens: a. Muita largura de banda. b. Torres pequenas, ocupam pouca area na terra c. Frequencia alta e baixo comprimento de onda, requerem antenas pequenas Desvantagens: 46
  • 47. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal a. Atenuação por objetos sólidos: Chuva, pássaros, neve, fumaça b. Refletida em superficies planas (agua, metais)Reflected from flat surfaces like water and metal. c. Difração em volta de objetos sólidos. d. Refração na atmosfera, causando projeção do sinal além do recptor. e. Regulamentadas, é necessário adquirir licença de uso. Existem acordos internacionais e nacionais para prevenir o uso caótico do espectro. Como todos querem mais banda, as frequencias são cobiçadas. Esses acordos determinam as faixas de frequencia das rádios (AM, FM), TVs e celulares. São regulados também os usos das companias telefônicas, polícias, navegações, militares. O ITU-R é o responsável pelas regulamentações internacionais, embora alguns países possuam regras conflitantes. Equipamentos que operam em um país podem ser barrados em outros. 3. Laser O uso de laser para transportar dados está bem difundido pois possui grande banda , é uniderecional e não está na faixa regulamentada. O laser não se propaga corretamente com chuva, neve, névoa ou fumaça. Uma grande aplicação do laser é na conexão de redes locais entre dois prédios. Relativamente barato e fácil de instalar, apesar de ser difícil de focar o fotoreceptor se as distâncias forem grandes. 4. Infra vermelho A faixa do infra-vermelho é largamente usada para transmissão de dados em curta distância. Os conrole-remotos dos equipamentos domésticos (TV, DVD, Players de toda espécie) utilizam ondas na frequencia do infravermelho. É um método barato e relativamente unidirecional. Não ultrapassa paredes sólidas, o que é uma vantagem. A vizinha não pode trocar seu canal de futebol, ou baixar o volume do seu MP3 player. 47
  • 48. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Em geral, quando os comprimentos de onda ficam menores, o comportamento das ondas se aproxima mais da luz e se afasta do comportamento das ondas de rádio. 5. Satélite Na sua concepção mais rudimentar, poderíamos ver um satelite artificial como um repetidor de micro-ondas no céu. Vários transponders ficam ouvindo uma faixa própria do espectro, amplificam o sinal que está chegando (uplink) e retransmite em outra frequencia, para evitar interferência no sinal que está chegando. O sinal de descida (downlink) pode ser amplo, cobrindo uma superficie ampla do planeta, ou estreito, cobrindo uma area de apenas centenas de quilometros de diametro. A altiude do satélite determina uma série de fatores que influenciam no desempenho da tecnologia. Existem três grande grupos em função dessa altitude: Os GEO, os MEO e os LEO . 48
  • 49. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Figura 39 - Altitudes, atrasos e número de satélites necessários conforme o tipo (2º. Tanembaum) Geo- São os satélites colocados em órbita sobre a linha do equador, em uma altitude de 35.800 km, a qual corresponde a uma volta em torno da superfície do planeta a cada 24 horas, permitindo que o satélite pareça estacionário quando observado da Terra. Como cada equipamento precisa de 2 graus de distância do outro para evitar interferências, temos apenas 3600/2=180 vagas no espaço. Figura 40- Satelite geoestacionário/geossincrono Os sistemas GPS usam os MEO – a 17000 Km, com 24 satelites. 2.5.2 MEO: Mediam Earth Orbit, são os satélites de órbita média, situam-se entre 6.000 e 15.000 kilometros de altitude. È nessa classe que estão os satélites dos sistemas GPS, que identificam o posicionamento de uma estação móvel na superfície do planeta com uma 49
  • 50. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal precisão muito grande. Têm uma latência (atraso) de 35 a 85 ms e são necessários 10 satélites para fazer a cobertura plena do globo. 2.5.3 LEO: Low Earth Orbit (Baixa órbita terrestre) Como movem-se muito rapidamente, são necessários muitos deles (50 ou mais) para uma cobertura ampla. Por outro lado, como estão próximos da superfície (até 5000 Km) o retardo é baixo ( 1 a 7 ms). Problemas dos bits nos meios físicos São vários os problemas qe os miseráveis sinais irão encontrar nos meios físicos, que impõe barreiras ao funcionamento da rede. Os principais são os atrasos, os ruidos, a atenuação e a dispersão. 50
  • 51. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal • Atrasos Nas redes de dados (comutação por pacotes, veja seção xxxx), podem existir muitos fatores de atraso na chegada dos sinais. Kurose e Ross destacam 4 tipos princiapis de atrasos: Propagação, Transmissão, Fila e Processamento (Figura 53). Embora os atrasos sejam prejudiciais na maioria das situações, as variações dos atrasos entre um pacote e outro podem ser bem mais problemáticos. Tais variações dos atrasos são denominadas “Jitter”. • Atenuacao (By Tanembaum4a. ed) • Erro Erros são introduzidos pelos demais problemas na transmissão do sinal, como ruídos e dispersões. Normalmente são usadas técnicas de detecção, mas não de correção. Como os dados para detectar um erro são enviados em conjunto com as informações, não se pode ter certeza que tais dados estejam totalmente corretos no momento do recebimento. Por exemplo, o transmissor envia uma sequencia Dados-verificação, representados por DV. O receptor vai receber uma sequência D’V’. Perceba que o parâmetro de verificação V’ pode ser diferente do V original. • Ruído É uma adição não desejada aos sinais eletromagnéticos, ópticos e de voltagem. Nenhum sinal elétrico é sem ruído. O importante é manter a razão sinal-ruído (S/R) o mais alta possível. 51
  • 52. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal sinal ruído Pode ser interpretado como 1 Figura 41 - Ruido e a conjunção com o sinal • Dispersão A dispersão acontece quando o sinal se espalha com o tempo. É causada pelos tipos de meios envolvidos. Se acontecer com alguma intensidade, um bit pode interferir no próximo bit e confundí-lo com os bits anteriores e posteriores. Figura 42 - Dispersão do sinal • Distorção A distorção ocorre pelas influencias diferenciadas do meio em cada frequência do sinal sendo transmitido ( 52
  • 53. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal http://www.siemon.com/br/whitepapers/10G- Assurance.asp 53
  • 54. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal http://members.tripod.com/%7eVBKumar/networking.html Para saber mais Cabos: http://www.siemon.com/br/ Alocação de frequencias do spectro: http://www.ntia.doc.gov/osmhome/allochrt.html Multiplexação http://en.wikipedia.org/wiki/Category:Multiplexing Satélites: http://www.ee.surrey.ac.uk/Personal/L.Wood/constellations/ http://www.sia.org/ 54
  • 55. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal 55
  • 56. Disciplina de Redes e Comunicação de dados Camada física - Sinais, multiplexação e banda em um canal Chegou o momento de testar os conhecimentos. Vamos lá, procure não chutar. Atividades de Auto-Avaliação – Unidade 2 Marque V para as afirmações verdadeiras e F para as falsas 1)Quanto aos sinais, podemos afirmar que: [ v ] Um sinal é um fenômeno físico, e na transmissão de dados representa os bits [ f ] Os sinais analógicos são descontínuos, discretos [ f ] Nos sinais digitais a intensidade é constante e não se altera [ v ] Na codificação NRZI um sinal corresponde a um bit [ v ] Geração do sinal, detecção de erros e sincronização são tarefas do sistema de comunicação 2) Quanto a largura de banda, podemos afirmar que: [ v ] Largura de banda pode ser definida com quantidade de sinal possível em um meio físico [ f ] O atraso é uma medida da quantidade de bits no canal de comunicação [ v ] Quando multiplicamos a banda pelo atraso, obtemos a quantidade de bits no canal de comunicação [ v ] As vazões em um canal nem sempre correspondem a banda disponível [ f ] A taxa de transmissão de um interface (por exemplo, fast ethernet com 100 Mbps) não pode ser considerada largura de banda 3) Quanto a multiplexação dos canais, podemos afirmar que: [ f ] Multiplexar é aumentar a banda [ f ] Uma divisão do canal em ferequencias diferentes limita o tempo de transmissão das estações [ f ] A técnica TDM consome mais tempo que a FDM [ v ] As fibras ópticas podem ter vários canais virtuais se usamos técnicas WDM [ v ] A técnica TDM limita o tempo de cada estação 4) Quanto as técnicas de codificação dos sinais podemos afirmar que: [ v ] A técnica NRZ apresenta problemas com longas sequencias de sinais repetidos [ f ] A técnica NRZI evita os problemas com muitos zeros repetidos [ v ] A técnica Manchester sempre inverte o sinal, mesmo dentro do mesmo bit [ f ] Nas fibras ópticas a variação do tempo determina a codificação [ v ] Nas interfaces ethernet, os códigos são NRZI a taxas de 100 Mbps e Manchester nas taxas de 10 Mbps 5) Quantos aos meios físicos e problemas dos sinais, podemos afirmar que: [ f ] As fibras são mais rápidas que os fios de cobre [ v ] As fibras possuem mais banda que os fios de cobre [ v ] os fios de cobre atenuam mais que as fibras ópticas [ v ] Os satélites possuem retardos elevados, mas grandes coberturas [ f ] O infravermelho passa paredes de alvenaria, e as microondas não passam [ v ] A dispersão é um problema que pode sobrepor os sinais representando bits diferentes 56
  • 57. Disciplina de Redes e Comunicação de dados Unidade 3 Unidade 3 Redes de comutação de circuitos e de comutação de pacotes Objetivos de aprendizagem Esta unidade tem como propósito trazer um entendimento das diferenças básicas entre as técnicas de comutação: por circuitos (usado classicamente em telefonia) e por pacotes (redes de dados). Ao final da unidade, você será capaz de: • Descrever as características fundamentais de um serviço de rede orientado a conexão e de um sem conexão. • Diferenciar as redes comutadas por circuitos das redes comutadas por pacotes • Entender as diferenças entre os atrasos nas redes, e os fatores que influenciam cada tipo • Entender os conceitos de unidades de dados e dos cabeçalhos Plano de estudo A seguir estão descritas as seções desta unidade. Para manter a “jornada” bem organizada e registrada, ao final de cada “estação”, assinale o quadro marcando os “trajetos” já percorridos. Seção 1 – Serviços orientados a conexão e sem conexão Seção 2 – Chaveamento ou comutação Seção 3 – Atrasos nas redes comutadas • Propagação • Transmissao • Enfleiramento • Processamento Seção 4 - Os cabeçalhos das PDUs Seção 1 – Serviços orientados a conexão e sem conexão Voce sempre poderá associar um serviço sem conexão ao serviço postal tradicional (pode não ser do seu tempo, mas antigamente o sistema postal entregava cartas, através de agentes, denominados carteiros). 57
  • 58. Disciplina de Redes e Comunicação de dados Nessa analogia, voce deve lembrar do sistema telefônico como sendo um serviço com conexão. Tá legal, mas quais as principais diferenças? Basicamente, conexão implica em estabelecer um caminho prévio, um aceite do destinatário e somente depois iniciar a transmissão dos dados. O sistema postal – serviços sem conexão ou connectionless Nesse sistema, a origem da mensagem nunca terá plena certeza de que o processo vai funcionar. Quando você enviava uma carta (veja bem, isso foi antigamente), precisava ter muita esperança que: a) O endereço de destino estivesse correto b) A carta iria realmente chegar até lá c) O destinatário existisse, e estivesse apto a receber a mensagem (no destino, disponível e com vontade de ler). d) Se o cara estivesse a fim de responder ou só confirmar o recebimento, ele teria que passar pela mesma espectativa, cruzar os dedos e esperar. Vantagens: Esse tipo de sistema apresenta algumas vantagens. Você pode enviar quantas mensagens quiser sem esperar pelo aceite do destino. Mesmo que o destinatário não se encontre no endereço, basta que você consiga entregar ao primeiro ponto de contato (o posto dos correios), e ele se encarrega de remeter até o próximo ponto. Pela simplicidade, o serviço apresenta uma eficiência razoável a um custo muito baixo. Desvantagens: O serviço não é confiável. Você não tem garantias de entrega. Mesmo que a mensagem seja entregue, você não pode ter certeza que o destino foi correto (tanto o endereço como o destinatário podem não ser os desejados). O sistema telefônico – Serviços orientados a conexão Nesse sistema, a origem da mensagem (você) digita o endereço no terminal telefônico (celular, fixo, IP-Phone), que poderia ser o da Net-Pizza, por exemplo, e um sistema de comutadores encontra o caminho até o destino. Uma vez que o destino é encontrado, um alarme qualquer avisa o destinatário que alguém quer estabelecer uma conexão (se o terminal telefônico de destino não estiver ocupado). O destinatário pode aceitar ou não a conexão. Existe, portanto, uma troca de sinais iniciais (conexão) antes de se remeter a mensagem (dados dos usuários). Vantagens: O sitema apresenta um nível de confiabilidade alto. Você só começa a transmitir se a conexão foi efetuada. Desvantagens: Existe um custo de rede mais elevado, uma vez que é necessário trocar algumas informações antes de transmitir. Existe ainda um retardo inicial no estabelecimento da conexão. Mais tarde, voce vai estudar os dois protocolos da pilha TCP/IP que stão relacionados com os serviços orientados a conexão (TCP) e sem conexão (UDP). 58
  • 59. Disciplina de Redes e Comunicação de dados Seção 2 – Chaveamento ou comutação Os comutadores (switches) são dispositivos especializados usados para conectar duas ou mais linhas de transmissão. Quando os dados chegam a uma linha de entrada, o elemento de comutação deve escolher uma linha de saída para encaminhá-las. Pode-se dizer que um switch é um dispositivo usado para conectar enlaces para formar uma rede maior. Um circuito pode ser definido como um caminho entre os pontos finais de uma comunicação. Existem duas formas básicas (Figura 43) para troca de informações em uma rede constituida por enlaces diferentes. a) Comutação de circuitos b) Comutação de pacotes A comutação de pacotes, por sua vez, pode se dar de duas formas: Datagamas Circuitos virtuais Comutação Circuitos Pacotes Datagramas Circuitos Virtuais Figura 43 - tipos de comutação 2.1 – Redes comutadas por circuitos – Circuit Switching Em uma rede comutada por circuito, um circuito físico dedicado é estabelecido entre os nós de origem e de destino antes de ocorrer a transmissão de dados. Portanto, o serviço é orentado a conexão, como visto na seção anterior. O circuito permanece pela duração da transmissão. O sistema de telefonia pública é um exemplo de rede comutada (chaveada) por circuito. Os comutadores das operadoras estabelecem um caminho físico entre as 59
  • 60. Disciplina de Redes e Comunicação de dados extremidades (sistemas finais) que querem se comunicar. Isso é necessário porque voce não tem uma conexão direta com cada telefone que você quiera chamar. Uma vez estabelecido, o circuito é dedicado exclusivamente à transmissão atual. Completando a transmissão, esse circuito dedicado é liberado e disponibilizado para outra transmissão. Assim, a comutação por circuito promove o compartilharnento de recursos, pois os mesmos circuitos podem ser usados para diferentes transmissões, embora não simultaneamente (pelo menos é isso que a operadora de telefonia espera: Os usuários de uma mesma central não devem usar ao mesmo tempo seus equipamentos...) Y 1 2 3 W Figura 44 - Comutação de Circuitos Na Figura 44, você pode ver um circuito sendo estabelecido entre as estações finais Y e W (que poderiam ser terminais telefônicos), passando pelos comutadores (switches) 1, 2 e 3. Outro exemplo de rede comutada por circuitos são as Redes Digitais de Serviços Integrados (RDSI, ou ISDN – Integrated Services Digital Networks). 2.2 Redes comutadas por pacotes – Packet switched networks As redes comutadas por pacotes também são tecnologias de longa distância (WAN, ou Wide Area Network, como voce viu na unidade anterior, que tratou da classificação das redes), como a comutação de circuitos. Um switch de pacotes é um dispositivo com várias entradas e saídas, levando e trazendo os pacotes aos hosts que o switch interconecta. 60
  • 61. Disciplina de Redes e Comunicação de dados Figura 45 - Dados inseridos em pacotes Figura 46 - As redes de comutação de pacotes podem ser comparadas ao serviço postal Os dados do usuário são divididos em pequenas porções denominadas pacotes, aos quais são anexados cabeçalhos com informações de controle (origem, destino, protocolo) - Figura 45. 61
  • 62. Disciplina de Redes e Comunicação de dados Figura 47 - Comutação por pacotes Nesse caso, a banda disponível é usada ao máximo, em um compartilhamento dos recursos da rede. Em cada fluxo de dados de uma ponta a outra, a comunicação é dividida em pacotes. Cada pacote usa a banda máxima do enlace. Dessa forma, os recursos são usados conforme são necessários, sob demanda. Essa técnica é denominada “multiplexação estatística” dos recursos. Store-and-forward A chegar em um comutador (switch), o pacote vai esperar sua vez de ser transmitido. Existem filas na entrada e na saida das interfaces. Esse cara só vai deixar a interface do switch quando toda a informação que o compõe já chegou na interface de entrada. Essa técnica também tem um nome: “Store-and-Forward” ou “armazena e retransmite”. Figura 48 - Uso compartilhado de recursos Ao contrário da comutação de circuitos, a comutação de pacotes não aloca os recursos de forma dedicada para um fluxo de comunicação. Isso possibilita que mais usuários usem o mesmo recurso (Figura 48). Comutação e perfil de tráfego 62
  • 63. Disciplina de Redes e Comunicação de dados A comutação de pacotes permite que mais usuários utilizem a rede, devido as características dos tráfegos de dados. As transmissões de dados tendem a ser mais variáveis que as de voz, com momentos de pico e momentos de inatividade. Esse perfil é denominado de “Taxa de bits variável”, ou VBR. Por essa razão, não seria vantajoso deixar uma parte da banda alocada para uma única comunicação, como na comutaçao de circuitos. Por outro lado, a comunicação de voz exige uma alocação constante do canal, em um perfil de tráego denominado CBR, ou “taxa constante de bits”. Esse perfil é mais adequado a alocação de recursos propiciada pela comutação de circuitos. Tá legal, mas o que são esses pacotes? Um pacote é uma unidade de transferência de dados (PDU – Protocol Data Unit). Voce pode imaginar uma unidade dessas como sendo um “envelope digital”, onde os dados são transportados. Na net-pizza, os pacotes são as próprias pizzas, transportadas pelo proto-boy, que representa os frames de camada 2. Figura 49 - Envelope Digital – PDU Cada camada do modelo de referência possui uma PDU com um nome genérico. Os pacotes são denominações genéricas para as PDUs de camada 3. Alguns autores chamam de pacotes as PDUs de nível 2 e 3, indistintamente. No nosso curso, vamos adotar a seguinte nomenclatura: Camada Nome da PDU 5- Aplicação Mensagem 4 –Transporte Segmento 3 – Rede Datagrama 2 – Enlace Frame 63
  • 64. Disciplina de Redes e Comunicação de dados 1 – Física bit Tabela -2 - PDUs e camadas As diferentes tecnologias de cada camada possuem diferentes formatos de “envelopes” digitais para armazenar os dados. Exemplo: IpX e IP na camada 3, TCP e UDP na camada 4, ethernet, token ring e FDDI na camada 2 (Figura 50). Figura 50 -Tipos de frames mais comuns em LANs Figura 51 - As alterações nos frames através dos enlaces 64
  • 65. Disciplina de Redes e Comunicação de dados Conforme os dados trafegam nos diferentes tipos de enlaces, a tecnologia de camada 2 daquele enlace “encapsula” os dados das camadas superiores, que permanecem dentro dos “envelopes digitais” sem alteração, como pode ser observado na Figura 51. 2.2.1 – Circuitos virtuais Outra forma de comutação de pacotes é através da criação de circuitos virtuais. Nesse caso também não existem recursos dedicados a uma transmissão, e os pacotes individuais de uma comunicação são misturados com outros, de outras fontes. A diferença dessa técnica para a comutação de pacotes pura é que alguns pacotes iniciam um estabelecimento de chamada, chegando ao destinatario e retornando antes de se iniciar a transmissão dos dados. Existe portanto uma conexão. Mas para os usuários finais, é como se existisse um canal permanente, pois uma vez que o caminho esteja estabelecido, todos os pacotes seguem pelo mesmo trajeto. Figura 52 - Circuitos virtuais nas redes comutadas por pacotes • Seção 3 – Atrasos nas redes comutadas Figura 53 - Atrasos em redes de comunicção de dados (Kurose & Ross) -Atraso de Propagação É o tempo necessário para que um bit deixe a interface do transmissor e chegue a interface do receptor. Segundo Einstein, “nada pode viajar mais rápido que a velocidade da luz no vácuo (3,0 x 108 metros/segundo)". Os sinais de rede sem fio trafegam a uma velocidade um pouco 65
  • 66. Disciplina de Redes e Comunicação de dados menor do que a velocidade da luz no vácuo. Os sinais de rede em meios de cobre trafegam a uma velocidade no intervalo de 1,9 x 108 m/s a 2,4 x 108 m/s. Os sinais de rede em fibra óptica trafegam a aproximadamente 2,0 x 108 m/s. Genericamente, podemos dizer que os sinais percorrem os meios com uma velocidade entre 2 e 3 x 108 m/s, independente do tipo de sinal e do meio. Atraso de Transmissão É o tempo que uma interface demora para inserir um quadro no meio físico (todos os bits da unidade de informação). Lembre-se que um quadro é também denominado frame, a PDU de camada 2 – ( Figura 9). Tipicamente, o atraso de transmissão pode ser representado por: A=C/T onde: A=atraso de transmissão (seg) C=Comprimento do frame (bits) T=Taxa de transmissão da interface (bps) Exemplo: o atraso de transmissão em uma interface IEEE 802.3u (100 Mbps), para um frame típico de 1518 bytes pode ser calculado como: 1518 bytes*8= 12144 bits A=12144/100.000.000 bits/seg= 0,0012144 segundos ou 1,21 ms Exercicio: a)Calcule o atraso de transmissão para uma interface ATM de 622 Mbps, sabendo que a célula ATM (frame) possui um tamanho de 53 bytes. b) Se o cabeçalho deo ATM é de 5 bytes e do Ethernet é de 18 bytes, calcule o atraso que existiria sem os cabeçalhos. Qual das duas tecnologias tem maior overhead? (Overhead é a sobrecarga do cabeçalho, uma vez que a informação que ele contém não interessa a aplicação ou ao usuário. Ela é usada somente para municiar os protocolos de rede). Considere para o ATM uma taxa de 622 Mbps e para o ethernet 10 Mbps. -Atraso de Enfileiramento O atraso de fila é um dos mais complexos e por isso o mais estudado. Ao contrário dos outros três, o atraso de fila pode variar de um frame para outro. Por exemplo, se uma quantidade de frames chega em uma interface inicialmente livre, o primeiro frame não sofre atraso de fila, pois o primeiro a chegar normalmente é o primeiro a ser processado e repassado. Na verdade existem varios tipos de tratamento para as filas ( Figura 54). O tipo 66
  • 67. Disciplina de Redes e Comunicação de dados referido denomina-se FIFO (First In, First Out). Os demais frames somente serão processados após o processamento dos antecessores. O tamanho da fila irá depender da taxa de chegada dos frames λ, do tamanho de cada frame (no caso do ethernet, 1518 bytes) e da capacidade do processamento. Figura 54 - Atraso de enfileiramento Quando a taxa de chegada dos frames for maior que a capacidade de processamento, o tempo de espera tende a crescer indefinidadamente. Como os recusos para armazenar as filas dos pacotes são finitos, os pacotes que excedem os recursos são descartados. Do ponto de vista dos sistemas finais, é como se o pacote tivesse entrado na rede de um lado e não emergisse no outro. Na net-pizza, os veículos devem enfrentar as filas também. Imagine que o veículo de entrega chega ao prédio de destino e precisa estacionar para receber uma senha e ser atendido. O estacionamento tem um limite, que corresponde ao limite da fila. Quando excedem a capacidade do estacionamento, são descartados, sem comunicação. O cliente que não recebeu a pizza é quem se responsabiliza pelo aviso. -Processamento É o tempo necessário para a análise do cabeçalho do pacote e encaminhamento para a fila de saída. São veificados também possíveis erros nos bits. O procedimento mais comum na presença de erros é descartar o pacote. Na net-pizza, podemos imaginar que é o tempo necessário para o pessoal da expedição analisar o pedido, verificar os erros possiveis e decidir qual a porta que o veículo vai sair para chegar mais rapidamente ao destino. Seção 4 - Os cabeçalhos das PDUs 67
  • 68. Disciplina de Redes e Comunicação de dados Os cabeçalhos constituem uma porção das unidades de dados, responsáveis pelas informações necessárias ao funcionamento da camada de protocolo. Pode-se dizer que constituem a parte de sinalização da rede, servindo como orientação aos dispositivos que recebe Os cabeçalhos constituem uma porção das unidades de dados, responsáveis pelas informações necessárias ao funcionamento da camada de protocolo. Pode-se dizer que constituem a parte de sinalização da rede, servindo como orientação aos dispositivos que recebem os pacotes. Você pode imaginar o cabeçalho como o endereçamento de um envelope. Na net-pizza, você pode imaginar o cabeçalho das unidades de dados como as instruções passadas em cada andar da pizzaria. O andar da expedição/recebimento deve endereçar as pizzas que estã saindo. E conferir as encomendas feitas aos fornecedores, encaminhando ao destinatário correto dentro do prédio. Se for material para as coberturas das pizzas, encaminha aos pizzaiolos. Se for madeira para os fornos, manda para o assador. Todas essas instruções estão contidas nos documentos que acompanham as encomendas. Tal documentação corresponde ao cabeçalho das PDUs. 68
  • 69. Disciplina de Redes e Comunicação de dados Dados do usuario, provenientes das camadas superiores Cabeçalho, ou informações de controle da rede Figura 55 - PDU do ethernet, com a definição doscampos Perceba que os cabeçalhos não fazem parte do conteúdo no qual o usuário está interessado. Eles devem ser transmitidos em conjunto com os dados válidos para o usuário, mas só têm validade para o controle da própria rede. Fluxo das informações A comunicação através dos protocolos se dá dentro das mesmas camadas de uma arquitetura. Pode-se dizer que os protocolos possuem comunicações verticais (dentro de um mesmo host, através dos pontos de acesso aos serviços –SAP ou service access point) e comunicações horizontais (entre hosts diferentes, mas camadas iguais) - Figura 56 e Figura 56 . Figura 56 - Fluxos horizontais e verticais Encapsulação Cada PDU possui uma identificação correspondendo ao protocolo ao qual ela pertence. Essa identificação se dá através da anexação dos cabeçalhos. Cada camada da arquitetura que a unidade de dados “atravessa”, recebe um cabeçalho correspondente, com as 69
  • 70. Disciplina de Redes e Comunicação de dados Cada PDU possui uma identificação correspondendo ao protocolo ao qual ela pertence. Essa identificação se dá através da anexação dos cabeçalhos. Cada camada da arquitetura que a unidade de dados “atravessa”, recebe um cabeçalho correspondente, com as instr instruções que serão tratadas na mesma camada quando a PDU chegar ao outro lado do enlace. Esse processo de adicionar os cabeçalhos em cada protocolo de origem é denominado “Encapsulação”. Você pode imaginar a coisa como um “envelopamento”: O protocolo da camada de cima envelopa os dados, coloca as informações para o destinatário do outro lado do enlace (e umas poucas para o protocolo abaixo dele) e encaminha para baixo. O protocolo da camada de baixo repete a operação, com suas próprias instruções. Perceba que quanto mais camadas a unidade de dados percorre, um envelope maior deve ser adicionado, para acomodar as informações. A Figura 57 ilustra os fluxos e a encapsulação. Figura 57 – Os fluxos horizontais e verticais e o processo de encapsulação nas camadas de uma arquitetura genérica. 70
  • 71. Disciplina de Redes e Comunicação de dados Unidade 4 Unidade 4 Classificações da Redes Nesta unidade, você estudará as propostas de classificação das redes, principalmente a classificação segundo a abrangência e a topologia. Alguns conceitos novos, como as redes de Armazenamento (SANs) serão apresentados. No final da unidade, você será capaz de: • Identificar as redes LAN, MAN e WAN • Relacionar as tecnologias com as classes de redes. • Entender o funcionamento e a influencia das topologias nas redes. • Perceber as dificuldades de classificação, devido a subjetividade dos parâmetros utilizados. Plano de estudo A seguir estão descritas as seções desta unidade. Para manter a “jornada” bem organizada e registrada, ao final de cada “estação”, assinale o quadro marcando os “trajetos” já percorridos. Seção 1 - Classificação quanto a Topologia Seção 2 – Classificação quanto a Abrangência Seção 3 – Classificação quanto a Velocidade Seção 1 - Classificação quanto a Topologia A topologia de uma rede diz respeito a dois aspectos: • Desenho e distribuição espacial – topologia física • Funcionamento e controles – Topologia lógica As redes podem ter um desenho em uma topologia e o funcionamento em outra, ou seja, fisicamente tem uma distribuição, mas logicamente funcionam como se tivessem outra. Esse é o caso de uma rede ethernet com hub. O Hub permite uma distribuição espacial em estrela, enquanto os mecanismos de controle do ethernet fazem com que o funcionamento seja como um barramento. • Topologia em Anel O anel é um desenho lógico antigo, existindo em redes locais e de longa distancia. Essa topologia propicia um meio que não é propriamente de difusão, mas um conjunto de enlaces ponto a ponto, onde cada estação conecta-se a duas outras, formando um círculo (Error! Reference source not found.). 71
  • 72. Disciplina de Redes e Comunicação de dados Figura 58 -Topologia em anel Cada bit que chega em uma interface é copiado para um buffer e a seguir devolvido ao anel. Enquanto estiver no buffer da interface, o bit pode ser analisado e alterado, se for necessário. Figura 59 - Funcionamento do anel Duas tecnologias classicamente usam a topologia em anel: Token ring (IEEE 802.5 - Figura 59) e FDDI. • Barra Nesse tipo de desenho, todas as estações estão conectadas a um mesmo cabo, formando um barramento ou BUS - Figura 60. Essa barra não forma uma conexão ponto a ponto. É bastante semelhante ao conceito de arquitetura de barra em um sistema de computador, onde todas as estações (nós) se ligam ao mesmo meio de transmissão. A topologia em barra é muito comum nas redes locais, sendo representada pela tecnologia ethernet. Mesmo na presença dos hubs (dispositivos centrais), a barra ocorre como topologia lógica, com o hub sendo considerado uma “barra em uma caixa”. A topologia em barra tem uma configuração multiponto. Nas redes em barra comum cada nó conectado à barra pode ouvir todas as informações transmitidas, similar às transmissões de radiodifusão. Esta característica vai facilitar as aplicações com mensagens do tipo difusão (mensagens globais) além de possibilitar que algumas estações possam trabalhar com endereçamento promiscuo ou modo espião. 72
  • 73. Disciplina de Redes e Comunicação de dados Figura 60 - topologia em barramento Existe uma variedade de mecanismos para o controle de acesso à barra, que pode ser centralizado ou descentralizado. Em um controle centralizado, o direito de acesso é determinado por uma estação especial da rede. Em um ambiente de controle descentralizado, a responsabilidade de acesso é distribuída entre todos os nós. Ao contrário da topologia em anel, as topologias em barra podem empregar interfaces passivas, nas quais as falhas não causam a parada total do sistema. • Estrela As redes com topologia em estrela se caracterizam pela existencia de um dispositivo central, ao qual os demais se conectam. Classicamente, as redes ATM funcionam com esse projeto. Figura 61 - Topologia em estrela 73
  • 74. Disciplina de Redes e Comunicação de dados Figura 62 - Exemplo de switch usado como dispositivo central nas redes em estrela. É possivel que o dispositivo central seja transparente para as interfaces, que poderiam dessa forma utilizar mecanismos de controle lógico como se estivessem em um anel ou em barra. Como os dispositivos centrais são pessas críticas nesse desenho, devem conter mecanismos de prevenção a falhas, como fontes redundantes e capacidade de manutenção “a quente”, ou hot-swap. Seção 2 – Classificação quanto a Abrangência Tabela 3 - Redes e abrangência • LAN Uma rede local (local area network - LAN) conecta um conjunto de computadores de forma que eles possam se comunicar diretamente, ou seja, sem reencaminhamento dos pacotes (isso significa sem passar por um roteador). 74
  • 75. Disciplina de Redes e Comunicação de dados Radia Perlman é uma autora consgrada na área de redes. Suas contribuiçoes são inúmeras, mas podemos destacar a criação do protocolo de Spanning-Tree (padronizado depois pelo IEEE sob numero 802.1d), Algorhyme que evita formação de loops nas redes locais. Autora do livro Interconnections: Bridges, Routers, Switches I think that I and Internetworking Protocols, e co-autora de shall never see Network Security: Private Communication in a Public A graph more World, dois dos top 10 Networking reference books, lovely than a “In the beginning de acordo com a Network Magazine. there were routers. tree. To have a router move your data, A tree whose you need to crucial property cooperate with it…” Is loop-free connectivity. As pessoas querem proclamar que um switch é hardware enquanto uma bridge Perlman é vista como “a poetisa dos protocolos”, é software , ou que um pelas suas incursões na área. (Se bem que, se formos switch pode ter muitas analisar em detalhes, ela deveria mesmo ficar com sua portas enquanto uma porção de cientista). bridge tem somente duas portas. Mas nada Veja em http://www.dista.de/netstpint.htm, uma disso é verdade. entrevista com a autora. 75
  • 76. Disciplina de Redes e Comunicação de dados Segundo ela, uma LAN é referenciada mais pelas suas características que pelo conceito: • Muitos sistemas conectados a um mesmo meio físico • “Alta” largura de banda total (compartilhada por todas as estações) • A largura de banda é relativamente barata • "Baixo" atraso. • "Baixa” taxa de erros. • Capacidade de Broadcast (difusão, ou habilidade para transmitir para todos os computadores da rede) • “Limitada” geograficamente (muitos quilometros) • “Limitado” número de estações (centenas) • Relação de parceria entre as estações. Essa relação é oposta a relação mestre/escravo. Na relação peer, todas as estações conectadas são equivalentes. Numa relação mestre/escravo, uma estação especial, chamada mestre, contacta os escravos, dando a cada um a vez de transmitir. • Está confinada a uma propriedade privada, e não se sujeita a regulação das agencias governamentais PTT (uma sigla comum em muitos países que significa Post, Telegraph and Telephone) Antigamente, o termo Local era pertinente, pois essas redes realmente ocupavam espaços limitados, como uma sala ou um andar de um prédio. Hoje, com os avanços nas tecnologias, elas ocupam vários prédios ou mesmo incorporam locais a grandes distâncias, embora não se expandam ilimitadamente. Segundo Perlman (2000), existem basicamente 3 problemas nas LANs: • Número limitado de estações • Extensão limitada • Volumes de tráfego limitados Devido a esse conjunto de problemas, muitas vezes uma única rede local pode não ser suficiente para todo o tráfego de informações de uma organização. As redes locais podem ser interconectadas por dois tipos de dispositivos: As bridges, ou switches, que passam os pacotes através da camada 2, ou os routers, que podem se comunicar pela camada de rede. IEEE –Comitê 802 – LANs O IEEE (Instituição de padronização, visto na Unidade 1) possui um comitê denominado 802, com o propósito de padronizar as redes Locais e Metropolitanas. O comitê foi 76
  • 77. Disciplina de Redes e Comunicação de dados subdividido, e responsabilizou-se por padronizar várias tecnologias de redes Locais. Na Tabela -4 estão especificados os comitês do grupo 802. Os mais importantes foram mardos com *. Os marcados com ↓ estão inativos e os marcados com † foram desativados. Tabela -4 Comitês do grupo 802 do IEEE (Tanembaum, 2004) 77
  • 78. Disciplina de Redes e Comunicação de dados • MAN Metropolitan Area Networks As redes metropolitanas são otimizadas para áreas geográficas maiores que uma LAN, variando desde muitos prédios (Figura 63) até uma cidade. Uma MAN pode ser propriedade de uma única organização, que se encarrega também de operá-la, mas usualmente é pública e utilizada por muitas organizações. Muitas vezes, como na Figura 64, uma MAN serve de meio para interligar várias LANs. As redes MAN são vistas como uma solução para o crescimento das organizações, que percebem como inadequados os serviços ponto a ponto das WANs. Os serviços de Frame relay e ATM, embora propiciem banda adequada, confiabilidade e segurança, possuem custos elevados. Os meios compartilhados de alta velocidade dos padrões das LANs podem ser extendidos em áreas metropolitanas. Figura 63 - Topologia de uma rede Metropolitana O mercado primário para as MANs são os clientes com necessidades de alta capacidade em áreas metropolitanas. Uma MAN é projetada para prover a capacidade requerida, a baixos custos e com eficiência maior que os serviços equivalentes oferecidos pela provedoras de serviços de telefonia. 78
  • 79. Disciplina de Redes e Comunicação de dados Figura 64 -MAN com ethernet a 10Gbit • CAN A sigla CAN – embora não muito utilizada – é citada por alguns autores, e significa Campus Area Network. Representa aquelas redes com abrangência maior que um único prédio, mas não chegando a área de uma cidade. Tipicamente, abrangem áreas semelhantes a um Campii universitario e podem usar tecnologias como Gigabit ethernet, ATM ou FDDI para conectar vários prédios e departamentos. • WAN Wide Area Network Uma WAN opera na camada física e na camada de enlace do RM- OSI. A função pimordial de uma WAN é conectar redes locais - LANs, que são normalmente separadas por grandes áreas geográficas. As WANs promovem a comunicação entre as LANs pela troca de pacotes de dados entre os roteadores (Figura 65). • Operam em amplas áreas geográficas (bem maiores que as das LANs). • Usam os serviços de empresas de Telecom. • Usam conexões seriais de vários tipos. • Conectam dispositivos que estão separados geograficamente: roteadores, modems, bridges. Figura 65 Estrutura fundamental de uma WAN Tabela 5- Principais diferenças entre as LANs e WANs Os tipos de tecnologias (protocolos) mais comuns para encapsular os dados na camada de enlace das WANs são: 79
  • 80. Disciplina de Redes e Comunicação de dados • High-Level Data Link Control (HDLC) -- um padrão IEEE; pode não ser compatível com os diferentes fornecedores por causa da forma como cada fornecedor escolheu implementá-lo. O HDLC suporta configurações ponto a ponto e multiponto com sobrecarga mínima • Frame Relay -- usa instalações digitais de alta qualidade; usa enquadramento simplificado sem mecanismos de correção de erros, o que significa que ele pode enviar informações da camada 2 muito mais rapidamente que outros protocolos da WAN • Point-to-Point Protocol (PPP) -- descrito pelo RFC 1661; dois padrões desenvolvidos pelo IETF; contém um campo de protocolo para identificar o protocolo da camada de rede • Serial Line Interface Protocol (SLIP) -- um protocolo de enlace de dados da WAN extremamente popular por transportar pacotes IP; está sendo substituído em muitas aplicações pelo PPP mais versátil • Link Access Procedure Balanced (LAPB) -- um protocolo de enlace de dados usado pelo X.25; tem extensos recursos de verificação de erros • Link Access Procedure D-channel (LAPD) -- o protocolo de enlace de dados da WAN usado para sinalizar e configurar a chamada em um canal ISDN D. As transmissões de dados acontecem nos canais ISDN B • ATM • SONET/SDH Os serviços T usados nos Estados Unidos são subsituídos pelos serviços E na hierarquia digital européia, que tambem é adotada no Brasil. 80
  • 81. Disciplina de Redes e Comunicação de dados Serviços digitais dedicados T1, T3, E1, E3 -- a série de serviços T nos EUA e a série de serviços E na Europa são tecnologias WAN extremamente importantes; elas usam multiplexação de divisão de tempo para "fatiar" e atribuir slots de tempo para a transmissão de dados; as larguras de banda são: T1 -- 1,544 Mbps T3 -- 44,736 Mbps E1 -- 2,048 Mbps E3 -- 34,368 Mbps outras larguras de banda estão disponíveis Os meios usados geralmente são o fio de cobre de par trançado e a fibra óptica. O uso é extremamente difundido; o custo é moderado. Considerações sobre as LANs, MANs e WANs Você deve perceber que os termos alta, baixa e limitado possuem significado relativo e podem mudar com o tempo. As LANs estão se expandindo geograficamente, ao mesmo tempo que a largura de banda das WANs tem aumentado significativamente, tornando as diferenças entre elas cada vez menos claras. Nesse caso, tentar enquadrar onde se situam as MANs torna-se uma tarefa cada vez mais ingrata • SAN Storage Area Network As redes de storage, muitas vezes denominadas System Area Networks são redes usadas para conectar dispositivos de armazenamento em massa. O ponto chave, segundo Stallings (2000) é o montante de dados tansferidos entre um número limitado de dispositivos, em uma área muito pequena. Confiabilidade alta geralmente também é um requisito nessas redes. Outras características: • Altas taxas de dados • Interfaces de Alta velocidade (nomalmente fiber-channel) • Acesso distribuido • Distancia limitada • Numero de dispositivos limitado • Seção 3 – Classificação quanto a Velocidade 81
  • 82. Disciplina de Redes e Comunicação de dados As reds de computadores podem ser classificadas também quanto a taxa de transmissão de suas interfaces. Dessa forma, existem dois grandes grupos: Baixa e alta velocidade. Arbitrariamente, determinou-se que o limite de 100 Mbps definiria a qual grupo determinada rede pertence. • Baixa (Low Speed networks) Taxas inferiores a 100Mbps. Normalmente as redes WAN estão associadas a taxas mais baixas. • Alta (High Speed Networks) Taxas iguais ou superiores a 100Mbps. A primeira tecnologia a atingir tal taxa foi o FDDI, em 1991. Figura 66 - Evolução das velocidades nas redes locais 82
  • 83. Disciplina de Redes e Comunicação de dados Evolução das taxas de transmissão 83
  • 84. Disciplina de Redes e Comunicação de dados 84
  • 85. Disciplina de Redes e Comunicação de dados Dispositivos de redes Unidade 5 Dispositivos de redes Nesta unidade, você estudará os principais dispositivos envolvidos nas comunicações entre as máquinas. São muitos tipos, nomes e funções. Você verá quecada dispositivo pode ser associado a uma camada dos modelos de referência. Verá também que o modismo levou ao mau uso da denominação de “switch”. Devido a esse problema, quase todos os dispositivos atuais são denominados switch, embora sejam híbridos de bridges e routers, ou um superconjunto desses dois tipos. Figura 67 -Disposição dos componentes básicos de uma rede A Figura 67 mostra como alguns desses dispositivos ficam distribuídos em uma rede básica. O Hub está numa disposição onde pode ser substitído por uma bridge, ou switch. Ao final da unidade, você poderá: • Diferenciar os dispositivos • Entender as funções de cada um • Optar pela utilização de um tipo quando confrontado com problemas de conectividade. Plano de estudo A seguir estão descritas as seções desta unidade. Para manter a “jornada” bem organizada e registrada, ao final de cada “estação”, assinale o quadro marcando os “trajetos” já percorridos. Seção 1 – Hubs, repetidores e transceivers Seção 2 – Modems Seção 3 – NICs Seção 4 – Bridges e Switches Seção 5 – Roteadores Arquitetura do Roteador • Memórias • CPU • Interfaces 85
  • 86. Disciplina de Redes e Comunicação de dados Seção 6 - Hosts Seção 1 – Hubs, repetidores e transceivers Esses dispositivos podem ser considerados os mais simples envolvidos na comunicação entre as máquinas, uma vez que utilizam apenas os sinais eletricos ou ópticos, sem controle dos dados, erros ou endereços. São dispositivos que funcionam unicamente na camada física do modelo de referência OSI. A grande missão de um dispositivo desses é propagar o sinal recebido em uma porta para todas demais. Obviamente, os erros eventuais são propagados como sinais válidos. Um Hub ou repetidor pode ser visto como um “cabo elétrico dentro de uma caixa” (wire in a box)- Figura 68. Figura 68 - Um hub do ponto de vista físico Os hubs possibilitaram a instalação das redes na topologia em estrela, sendo o dispositivo onde todas as estações da topologia estão conectadas. Essa “ centralização” reduziu muito a dor de cabeça dos administradores de redes, que antes disso precisavam percorrer todo o cabeamento em busca de algum conector com problema. Os cabos coaxiais que constituiam a topologia em barramento constituiam também múltiplos pontos de falhas. Figura 69 - Hubs possibilitam expandir o tamanho da rede 86
  • 87. Disciplina de Redes e Comunicação de dados Figura 70 -Pinagem dos cabos de uma estação e de um hub. Figura 71 -Pinagem de um cabo crossover Externamente, um hub (Figura 72) é muito semelhante a um switch de camada 2. Figura 72 - Hub de 24 portas Para conectar duas estações diretamente, sem passar por um dispositivo intermediário, você deve fazer o cruzamento dos pinos no próprio cabo que, com essa concepção, é denominado Crossover (Figura 71). Figura 73 - Um repetidor, regenerando o sinal Além de concentrar o cabeamento em um ponto, os hubs regeneram o sinal que já sofreu distorção e atenuação. Nessa função, desempenham o papel de repetidores, ou repeaters. 87
  • 88. Disciplina de Redes e Comunicação de dados Transceivers ou transceptores Os transceivers possuem a função de conexão de um nó ao meio físico, fornecendo uma interface elétrica, para permitir comunicação do host com o meio. Atualmente, essa função está acoplada às interfaces de rede (NICs, que você vai ver na próxima seção). A Figura 74 mostra 3 tipos de transceivers para interfaces AUI, com saídas RJ 45, BNC e conectores de Fibra óptica modelo ST. Figura 74 – Transceivers Seção 2 – Modems Os Modems (MOdulador DEModulador) são responsáveis pela codificação dos sinais digitais de dados em linhas de transmissão originalmente analógicas. Em sua forma mais simples, os modems são compostos de uma unidade de alimentação, um transmissor e um receptor. A unidade de força provê a voltagem necessária para operação do modem. O transmissor é composto por um modulador, um amplificador e circuitos destinados a filtrar, formatar e controlar os sinais, convertendo-os para pulsos elétricos analógicos. Figura 75 - Conexão de dados em linhas analógicas 88
  • 89. Disciplina de Redes e Comunicação de dados Figura 76 - Tipos de sinais trocados entre os componentes O primeiro modem surgiu em 1956, inventado pela AT&T Bell Laboratories. Seção 3 – NICs Esses dispositivos possuem várias nomenclaturas: Adaptadores, placas de rede, cartão de rede, hardware de rede. Tão variado quanto os nomes são as configurações e funcionalidades de cada implementação. Obviamente isso possibilita uma gama de preços também muito variada. Esses dispositivos operam nas camadas 1 e 2 do modelo OSI. Normalmente é dito que um dispositivo opera em uma única camada. Tal afirmação só é válida para os de camada 1. Para os demais, como as NICs, a referência é feita para a camada de operação mais alta. Sob esse prisma, os routers seriam de camada 3, embora precisem comutar entre interfaces (função típica de camada 2). 89
  • 90. Disciplina de Redes e Comunicação de dados Figura 77 – NIC A Figura 77 mostra uma interface de rede antiga, com suporte a vários tipos de conectores. Atualmente, como os conectores RJ 45 predominam em ampla escala, as NICs suportam só esse tipo de conexão, embora algumas possam suportar conectores de fibra (ST, SC), para os casos onde a tecnologia de rede exigir. CPU Network (To network) Cache adaptor I/O bus Memory Figura 78 - Posição da NIC em relação ao Hardware do Host A Interface de rede é a responsável pela codificação dos sinais. No lado receptor da mensagem, a NIC decodifica os sinais. 90
  • 91. Disciplina de Redes e Comunicação de dados Network link Bus Link interface interface Adaptor Figura 79 - As duas interfaces do adaptador Os adaptadores podem ser vistos como um dispositivo de duas interfaces (Figura 79): Uma cumpre as funções de comunicação com o host (bus inteface) e a outra cumpre as funções de comunicação com o enlace de rede (link interface). Várias outras funções estão a cargo desse dispositivo: • Endereço físico do nó da rede • Enquadramento (Inserção da mensagem no frame) • Detecção de erros • Controle do acesso ao enlace Todas essas funcionalidades são executadas de diferentes formas conforme a tecnologia utilizada na rede local onde a interface está conectada. Existem adaptadores para todas as tecnologias de redes locais: Ethernet (10, 100, 1000 Mbps), Token Ring, ATM, FDDI. Ethernet e Token Ring são as mais utilizadas, com mais de 90% do mercado. 91
  • 92. Disciplina de Redes e Comunicação de dados Figura 80 - Camadas de software acima da NIC Bridges, switches Bom, aqui a coisa começa a ficar mais interessante, mas através de caminhos nem sempre tão claros. Muita confusão é feita em torno da palavra “switch” (comutador). Segundo Perlman (alvez a maior crítica desse termo), podemos denominar de switch os seguintes dispositivos: • Repetidor Multiportas: switch de camada 1 • Bridge: Switch de camada 2 • Router: Switch de camada 3 Obviamente, essa é uma visão um tanto radical, mas serve para ilustrar a doce confusão da nomenclatura. Extendendo o problema, alguns vendedores chamam alguns dispositivos de switch-hub. O que seria isso? Bom, vamos considerar que pela nomenclatura original, um Hub é um dispositivo central. Portanto, um switch hub é um dispositivo central de comutação, ou simplesmente um comutador (switch). No nosso curso, vamos considerar um switch um dispositivo clássico, que trabalha na camada 2, funcionando como bridge, portanto. Bridges 92
  • 93. Disciplina de Redes e Comunicação de dados Figura 81 – Bridge Uma bridge, ou ponte (Figura 81), é um dispositivo capaz de transportar os sinais de uma redes local (A) para outra (C). A ponte também tem a propriedade de separar as redes em grupos mais gerenciáveis. A ponte mapeia os membros de cada população e gerencia a comunicação entre as populações. Todos os endereços físicos (das interfaces de rede) conectados em cada porta das pontes são mapeados numa tabela (Figura 82). Figura 82 -As bridges mantém tabelas das máquinas que podem ser alcançadas em cada porta 2) Cut-Through ou Store and Forward Os fabricantes de switches normalmente utilizam como método de repasse dos pacotes uma das duas tecnologias acima. Outros podem usar um cut-through modificado. Os dois métodos possuem vantagens e também pontos fracos. O método cut-through repassa um quadro tão logo o switch determine o endereço MAC de destino, e a porta correta para enviar o quadro. Normalmente, o reencaminhamento começa após aproximadamente 14 bytes do cabeçalho terem sido recebidos. Isso tende a reduzir o atrazo porta a porta, que é bem maior no método store- and-forward. Usando essa técnica, os switches podem enfrentar 2 problemas: • Endereçar os frames com erros ou malformados • Força todas as portas a operarem na mesma velocidade. store and forward Usando esta técnica, os switches evitam de repassar frames malformados ou errados. Os switches com essa técnica armazenam o frame em memória. Método Vantagens Desvatagens Cut-through Menor latência Repassa frames malformados. Todas as portas devem operar na mesma velocidade. Store and forward Malformados são Maior latência descartados. 93
  • 94. Disciplina de Redes e Comunicação de dados Tabela 6 - Métodos de repasse dos frames • Roteadores Um roteador possui a função de receber um pacote (PDU de camada 3) em uma interface, verificar a existencia de erros, e se tudo parecer correto, o endereço de destino deve ser comparado com a tabela de roteamento. Tal tabela irá designar em qual interface o pacote será encaminhado para atingir a rede de destino. Os roteadores tiveram muitas denominações ao longo do tempo: IMP (Interface Message Processor - na época da ARPANET), Gateway (provavelmete devido as funções dos protocolos IGP e EGP, que você verá na unidade 8), IS (Intermediate System – Nomenclatura dada pelo modelo OSI) Todos os nomes que se dá aos roteadores são descritivos de uma função desempenhada por esse dispositivo. interface message processor: representa a função de comutar os pacotes de uma rede para outra. Gateway Representa a passagem dos dados de uma rede para chegar a outra rede. Intermediate System mostra o papel de intermediáro, elo de ligação entre os sistemas finais. 94
  • 95. Disciplina de Redes e Comunicação de dados Nas redes com mais de um caminho para o mesmo destino, os roteadores tem a função de encontrar o melhor caminho. Nem sempre o melhor caminho é o mais curto. A decisão precisa ser baseada em métricas, como a taxa de perdas, o atraso e a banda disponível. Os procedimentos para encontrar esse caminho e compartilhar essa informação com os demais roteadores são denominados protocolos de roteamento. Arquitetura do roteador Basicamente, um roteador possui os mesmos componentes de um computador comum: CPU, Memória, interfaces de entrada/saida (I/O) e dispositivos de armazenamento. 1-Tipos de memória: • RAM/DRAM -- armazena tabelas de roteamento, cache ARP, cache de comutação rápida, buffer de pacote (RAM compartilhada) e filas de espera de pacotes; a RAM também fornece memória temporária e/ou em execução a um arquivo de configuração de roteador enquanto ele estiver acionado; o conteúdo da RAM é perdido durante uma falta de energia ou reinicialização • NVRAM -- a memória RAM armazena o arquivo de configuração de backup/inicialização do roteador; o conteúdo da NVRAM é retido durante uma falta de energia ou reinicialização • Flash -- ROM apagável e reprogramável que retém a imagem e o microcódigo do sistema operacional; a memória Flash permite atualizações do software sem a remoção ou substituição dos chips do processador; o conteúdo da Flash é retido durante uma falta de energia ou reinicialização; a memória Flash pode armazenar várias versões do software IOS • ROM -- contém diagnósticos iniciais, um programa de bootstrap e um software de sistema operacional; as atualizações do software na ROM exigem a remoção e substituição de chips que podem ser conectados à CPU. 2-As interfaces: Conexões na placa-mãe ou em módulos de interface separados, através dos quais os pacotes entram e saem de um roteador. Podem-se distinguir dois grupos de interfaces: De configuração e de comutação. Figura 83-Interfaces de configuração de um roteador Interfaces de configuração 95
  • 96. Disciplina de Redes e Comunicação de dados • Console: Do terminal (um computador conectado ao roteador através da porta do console) • Auxiliar: Através do modem • Terminais virtuais: (VTY 0 a 4) , depois de ter sido instalado na rede, través de telnet ou SSH Outras formas de acesso para configuração: • Servidor de TFTP, • estação de gerência SNMP • cliente HTTP 96
  • 97. Disciplina de Redes e Comunicação de dados Seção 6 – Hosts Um host deve ser considerado como um nó terminal de uma rede. Vários nomes são usados, dependendo do contexto ou dos padrões adotados: • Host (usado pela comunidade IP) • Data terminal equipment, ou DTE (usado pelo padrão X.25) • End system, ou ES (usado pela ISO) • Station Do ponto de vista do host, a rede pode ser vista como uma grande nuvem, a qual ele está conectado, possibilitando que ele comunique-se com outros hosts conectados a nuvem. Figura 84 - Conexão do ponto de vista do Host Adicionalmente, o termo nó pode ser empregado para denotar um host ou um router. Os hosts possuem nomes que os identificam na Internet. A nomenclatura é determinada através do sitema Hierárquico DNS – Domain Name System, ou sistema de nomes de domínio. Um nome de host pode ser www.unisul.br . As interfaces dos hosts são endereçadas, ou seja, possuem identificadores numéricos, em dois níveis: Na camada 3 recebem um número de 32 bits (endereço IP), determinado pelo administrador da rede local, e na camada 2 recebem um endereço físico, de 48 bits, determinado pelo fabricante da NIC. Alguns protocolos, como o ARP, ajudam na tradução de um endereço para o outro. Tecnicamente, os hosts trabalham nas 7 camadas do modelo de referência OSI. Nesses dispositivos é que temos instalados os serviços de rede, como E-Mail (Postfix, Qmail, Sendmail), web server (Apache), salas de bate-papo (IRQ, MSN). Na outra extremidade estão os clientes do modelo, com as aplicções que podem acessar esses serviços: cliente de e-mail (Outlook, ThunderBird, Eudora), browsers (Firefox, Netscape, IE). 97
  • 98. Disciplina de Redes e Comunicação de dados Unidade 6 A camada de enlace Nesta unidade, será analisada a camada de enlace. Os protocolos e os métodos de acesso serão comparados. Você verá que a camada de enlace está relacionada aos protocolos de redes locais. Ao final da unidade, voce poderá: • Perceber as diferenças entre os métodos de acesso ao meio • Entender o endereçamento MAC • Entender os campos dos quadros Ethernet e discernir as funções de cada campo dentro do envelope digital • Entender o funcionamento do protocolo ARP Na Net-pizza, a camada de enlace funciona como os veículos de transporte de pizza. Os diferentes tipos de veículos podem ser comparados com as diferentes tecnologias da camada 2: ATM, SONET, ADSL, Ethernet, Token Ring, Frame Relay. Essas tecnologias possuem formatos próprios para transportar os dados e, como voce já viu, podem ser comparadas a envelopes digitais. A documentação das pizzas (notas fiscais, pedidos) transportadas nos veículos podem ser vistas como os cabeçalhos dos quadros ou frames. Contêm informações sobre o conteúdo, quantidades, endereços de origem e destino. Seção 1 – Estrutura e Serviços Como é a segunda camada do modelo OSI, a camada de enlace (Data Link Layer) fornece serviços para a cada de rede logo acima. Os protocolos da camada de enlace são utilizados para transportar um datagrama sobre um segmento de rede, que pode ser visto como um enlace individual. Na net-pizza, os furgões são requisitados pelo pessoal da expedição/recebimento de materiais (que fazem o papel dos roteadores, escolhendo os melhores caminhos até o destino) A camada de enlace utiliza os serviços da camada física (os dados serão transformados em sinais eletricos, ópticos ou outros – rádio, laser, infra-vermelho). Alguns dos serviços oferecidos para a camada de rede são: enquadramento, sequenciação, controle de fluxo, detecção de erros. 98
  • 99. Disciplina de Redes e Comunicação de dados Figura 85 - A camada de enlace e a comunicação entre redes Na Figura 86, você pode notar que existe uma comunicação direta entre as interfaces de rede unidas pelo enlace físico. Nessa figura, um host é representado na pilha da esquerda, com 5 camadas – modelo híbrido, comunicando-se com o seu gateway (três camadas). Sempre que o destino não se encontra na mesma rede física da origem, o gateway é quem fornecerá a passagem para outra rede. Figura 86 - A camada de enlace, uma comunicação direta entre as interfaces através de um link físico Voce deve perceber essa situação como um veículo (frame da camada de enlace) transportando uma caixa de pizza (datagrama da camada de rede). Perceba também 99
  • 100. Disciplina de Redes e Comunicação de dados que essa situação deve ser analizada desde a saída da porta da pizzaria até a próxima porta ou entrada em uma via de transporte diferente. Se ocorrer uma passagem dessas, por mais uma porta (condomínio do destinatário por exemplo), toda a documentação (cabeçalhos) deve ser analisada. É possível que o proto-boy tenha que trocar de veículo (frame da camada 2) devido as leis de trânsito diferenciadas nas ruas do condomínio. Por exemplo, o porteiro – que funciona como um roteador- vai analisar a documentação e informar: voce deve se dirigir ao terceiro bloco, saindo por essa porta. Abandone a moto e vá de bicicleta. Isso acontece com os datagramas que saem de uma tecnologia – Ethernet por exemplo, para ser transportado por uma rede ATM no próximo enlace. FRAME FRAME Data Link Link Layer Data Link DH DT Protocol DH DT Layer Layer Physical Transmission Physical Protocol Layer Layer 10111000011110101 Figura 87 - A camada de enlace e os frames Voce deve lembrar que as unidades de dados trocadas pela camada de enlace (PDUs) são denominadas frames e que cada frame encapsula uma PDU de camada 3, denominada datagrama1. 1 Analisado com com mais detalhes, existe outra denominação para as PDUs de camada 3. Elas podem se denominadas “pacotes”, sempre que uma dessas unidades ultrapassar o tamanho máximo possível de ser encapsulado no frame. Essas diferenças serão observadas na próxima unidade. 100
  • 101. Disciplina de Redes e Comunicação de dados A camada 2 tem a responsabilidade de transportar um datagrama de um nó da rede ao nó adjacente, através de um link Figura 88 - Datagrama encapsulado atravessa o link "dentro" do frame datagrama = caixa de pizza, frame = furgao do protoboy. Link=rua nó de origem=net-pizza Destino=cliente A camada de enlace trata de resolver as principais carências da camada física: • Endereçamento • Formatação do fluxo de bits (enquadramento) • Controle de acesso ao meio 101
  • 102. Disciplina de Redes e Comunicação de dados Figura 89 - as divisões da camada de enlace e as tecnologias Tipicamente, a camada de enlace é implementada nos drivers de dispositivos e nas ROMs2 das placas de rede. Os drivers fazem a ligação entre uma placa específica de um fabricante e o sistema operacional, também específico de um fabricante. Você já deve ter ouvido falar de algo parecido com “... o driver da placa 3COM para o windows 2000...”. O IEEE divide a camada de enlace do modelo OSI em 2 sub-camadas: LLC e MAC (Figura 89). 1.1 LLC – Logical Link Control, ou Controle Lógico de Ligações Três funções principais nessa subcamada: Enquadramento, controle de fluxo e detecção de erros (sendo possivel algum tipo de correção). Enquadramento Essa subcamada é a responsável pela montagem do frame, processo denominado “enquadramento”, pois insere todas as informações nos campos correspondentes. A Figura 90 mostra um frame genérico a ser preenchido com bits pela LLC. Figura 90 - Quadro genérico com os campos principais Enquadramento é o processo de particionar uma sequência de bits em unidades discretas ou blocos de dados, denominadas quadros. Existem formatos e sequências de tempos específicos para cada tecnologia de rede. Com a subdivisão da sequência de bits em quadros, é possivel para as estações de origem e destino entender o início e o final de cada unidade, sincronizando a transmissão e a recepção. 2 ROM – Read Only Memory, ou memória de leitura somente, é um componente que armazena código de software e não pode ser alterado ou apagado. 102
  • 103. Disciplina de Redes e Comunicação de dados Também através do uso dessa técnica é possível mandar informações sobre o quadro e seu conteúdo, o que habilita a capacidade de detectar erros. Controle de fluxo O controle de fluxo é a segunda função da subcamada LLC. Controlar o fluxo significa interferir na taxa da troca de dados entre os nós que estão se comunicando. Para controlar o fluxo, é necessário um mecanismo de retroalimentação que informe a máquina de origem sobre a capacidade de receber informações pela máquina destinatária. O controle de fluxo é necessário para evitar que um nó transmita quadros em uma taxa superior a que o destinatário consiga processar. Buffers / reservatórios de memória Um buffer é um espaço na memória reservado para armazenar informações. As maquinas que participam da comunicação armazenam os quadros que estão entrando ou saindo das interfaces em filas de espera para o processamento ou transmissão. Se a taxa de envio supera a capacidade de processamento do receptor, os quadros excedentes são armazenados nos buffers a espera de processamento. Se o controle de fluxo não funcionar, os quadros que excederem a capacidade do buffer serão descartados. Imagine que os quadros são as caixas de pizza (as caixas possuem informações de endereço, quantidades e conteúdos como o quadro genérico da Figura 90). O cliente da net-pizza é um voraz consumidor, um tipo de troglodita fanático por pizzas. Ele fez uma encomenda de 20 caixas semanais, e nosso proto-boy faz as entregas regularmente. Se, por algum motivo o troglodita contemporâneo deixar de consumir as pizzas (pode, por exemplo, ter recebido alguns javalis de presente), ele precisa armazenar as caixas no freezer. Se não controlar o fluxo das pizzas, avisando a net-pizza para interromper momentaneamente a remessa, o freezer esgota a capacidade, e as pizzas excedentes serão de alguma forma descartadas. Existem basicamente dois algoritmos usados para controlar os fluxos: Stop-wait (parar- esperar) e slidding windows (janelas deslizantes). Esse segundo tipo será analisado na unidade 8, quando voce estudar o protocolo de transporte Transmission Control Protocol – TCP. 103
  • 104. Disciplina de Redes e Comunicação de dados Controle de erros O controle de erros envolve a detecção de bits errados e um segundo processo, a correção. A correção nem sempre é possível, e nem sempre é vantajosa. Na maioria das vezes, as tecnologias da camada de enlace preferem descartar os quadros onde algum erros foi detectado. Isso evita prejuizos computacionais maiores, porque corrigir envolve recursos suplementares, mais custosos que simplesmente retransmitir os quadros errados. Controlar erros significa garantir que a informação que chegou ao destino é confiável. Isso pode implicar em descarte das informações erradas. Figura 91 - Detecção de erros A Figura 91 mostra um algoritmo simples para detectar erros. Os dados a serem protegidos contra os erros sofrem o acréscimo dos bits EDC no nó de origem (error-detection and correction bits). Ambos os campos D e EDC são transmitidos através do enlace. No nó de destino, uma sequência de bits D' e EDC' são recebidos. Você deve perceber que a interface de destino não tem com saber com certeza sobre as informações originais. A informação que chegou pode (D’ e ECD’) podem ser diferentes dos originais. O grande desafio do destinatário é acreditar que, se os bits de proteção ECD’ afirmam que D’ está isento de erros, D’ é igual a D. 104
  • 105. Disciplina de Redes e Comunicação de dados Quando o dado chega ao destino com os bits de proteção acusando erro, o destinatário pode somente acreditar que um erro foi detectado, mas não existe certeza que tenha de fato ocorrido. De qualquer forma, o tratamento de erros deve ser ativado. Isso significa tentar corrigir ou descartar. Figura 92 Sistema de paridade impar A Figura 92 mostra um método simples de detecção de erros, denominado bit de paridade. Deve-se optar inicialmente pelo tipo de paridade a ser confirmada: Se par, uma quantidade par de bits 1 deve ser enviada. Quando ímpar, o bit de paridade vai complementar uma quantidade impar de bits 1. Pelo método, um bit é acrescentado ao final da cadeia. No exemplo da figura, a paridade escolhida foi impar. Um bit 0 foi acrescentado na cadeia, pois o número de bits 1 já era ímpar (9 bits eram iguais a 1). O receber a cadeia, o destinatário confere os bits e paridade. Obviamente, o método só funciona para detectar erro em um único bit. Também não é possível com o método localizar o bit errado. 1.2 – MAC - Subcamada de controle de acesso ao meio (Media Access Control) As redes locais são ditas redes de difusão, onde todas as estações utilizam recursos de forma compartilhada. Nessas redes, o acesso aos recursos deve ser controlado de alguma forma, para evitar-se confusão. 105
  • 106. Disciplina de Redes e Comunicação de dados O acesso ao meio compartilhado pode ser análogo a uma fila de furgões da net-pizza, todos com problema nos motores. Eles estão com a carga pronta (pizzas pra todos os gostos) mas não conseguem deixar o prédio antes que o único furgão com o motor bom retorne. O motor bom é o recurso compartilhado, e cada um deve ter o acesso ao recurso de uma forma ordenada. A espera pode ser longa, mas o proto-boy deve aguentar firme. E o cliente devorador de pizzas também. Uma forma de evitar as filas de espera para acessar o recurso seria todos os furgões terem seus próprios motores. O recurso deixa de ser compartilhado para ser privado. Obviamente, isso implica em custos. Basicamente existem duas formas de controle de acesso: Centralizados e Distribuídos (Figura 93). Os controles distribuídos podem ser classificados em dois grupos: Controles estatísticos ou estocásticos Controles determinísticos (por passagem de mensagens ou fichas) Você verá mais sobre os controles de acesso na próxima seção. Seção 2 Controles de acesso Controles de acesso em LANs Centralizados Distribuídos Estocásticos Determinísticos Figura 93 -Controles de acesso Controles centralizados Nesse tipo de controle de acesso, um dispositivo central (normalmente um switch) determina qual a estação que poderá realizar uma conexão ou iniciar uma transmissão de dados. Esse é o caso de algumas tecnologias mais sofisticadas, como o ATM e o 100VG Any LAN (IEEE 802.12), que possui controles de prioridades. Nos switches ATM, as estações que possuem informações para transmitir precisam obter a licença de acesso passando pelo crivo do CAC, ou conrole de admissão de conexao (Conection Admission Control). Com esse tipo de mecanismo, se pode garantir que o desempenho será satisfatório, uma vez que, quando não existem os recursos requeridos pela estação, o dispositivo central não libera o acesso. 106
  • 107. Disciplina de Redes e Comunicação de dados Você pode relacionar esse tipo de controle com uma via de transporte onde um policial (dispositivo central) determina quais os veículos (frames) que podem trafegar em um determinado momento. Ele pode inclusive determinar que alguns veículos possuem prioridade, como algum furgão da net-pizza que esteja transportando para algum evento presidencial ou parlamentar. Como você sabe, muitos desses eventos acabam em pizza. Controles Distribuidos Os controles distribuídos são independentes de um dispositivo central, uma vez que cada interface que precise transmitir deve se auto-controlar. Nesse caso, é mais difícil de se impor alguma prioridade que seja aceita por todos os participantes, mas devido a sua maior simplicidade, esses controles possuem menores custos. As tecnlogias mais comuns nas redes locais (Ethernet e Token Ring) utilizam controles distribuídos. Você pode pensar no controle de acesso distribído como sendo a responsabilidade do policial transferida para todos os motoristas dos veículos que querem acessar uma rodovia. Cada qual precisa seguir com rigor o mesmo protocolo, para evitar que um veículo colida ou que se apodere de um recurso e não libere mais (uma vaga de tempo limitado sendo usada indefinidamente, por exemplo). Como visto anteriormente, os controles de acesso distribuídos dividem-se em estocásticos ou não sequenciais e determinísticos. Vamos analisar os dois tipos. 1)Estocásticos ou não sequenciais. Esses controles baseiam-se na idéia que uma estação pode transmitir sempre que tiver informações prontas para transmissão. Nesse caso, ela precisa disputar o acesso. Alguns autores denominam esses protocolos de protocolos de disputa. Os mais comuns são os CSMA (Carrier Sense Multiple Access). Você vai estudar os dois mais famosos. O protocolo que detecta colisão caso ela ocorra (CSMA/CD) e o que a evita (CSMA/CA). • CSMA/CD Esse nomezinho sinistro significa: Acesso Múltiplo com Percepção da Portadora e Detecção de Colisão (Carrier Sense Multiple Access/Colision Detection). Esse protocolo é usado pela tecnologia mais comum do planeta, a Ethernet de meio compartilhado. Também conhecida por Ethernet de hub, ou Ethernet half-duplex foi a grande sensação das LANs antes do surgimento dos switches. 107
  • 108. Disciplina de Redes e Comunicação de dados Robert Metcalfe, com a ajuda de David Boggs, inventou a tecnologia Ethernet, baseado em um protocolo denominado ALOHA, que também usava acessos aleatórios. Nessa época, trabalhava na ARPANet, no MIT, onde fazia sua tese de doutorado. Saindo do MIT, ele foi para a Xerox. O Ethernet original de Metcalfe e Boggs rodava nos precursores dos PCs da IBM, os computadores da Xerox denominados Alto. A velocidade inicial era de 2,94 Mbps. Eles forjaram uma aliança entre, a Digital, a Intel, e a Xerox, estabelecendo o padrão de 10Mbps para o Ethernet (Foi o DIX Ethernet, com as iniciais das companhias). O IEEE ratificou o padrão (802.3). Metcalfe fundou a 3COM, uma vez que a Xerox não teve interesse em comercializar as interfaces Ethernet. No ano de 2000, a 3Com, já sem Metcalfe, capitalizava 15 bilhões de dólares e 13 mil funcionários. Com certeza, uma das grandes empresas mundiais de dispositivos de rede. Vamos verificar como funciona o CSMA/CD a) Uma estação que tem um frame para transmitir “escuta” o meio físico. b) Se estiver ocupado (ou seja, percebe sinal trafegando), continua escutando. c) Se estiver livre, inicia a transmissão do quadro. Perceba que livre significa que a interface não percebeu sinal no meio. Isso não significa necessariamente a inexistência do sinal. O meio já poderia estar ocupado em uma regiao próxima, pela transmissão de um vizinho. d) A estação deve transmitir até encerrar o frame, pois é assim que ela poderá perceber alguma ruptura do padrão elétrico, o que significaria que seu frame colidiu com o frame de algum vizinho Caso perceba colisão, a interface deve: • Interromper a transmissão • Inundar o canal com sinal de bloqueio (JAM) 108
  • 109. Disciplina de Redes e Comunicação de dados • Processar um algoritmo de penalização, denominado “recuo exponencial” ou “exponential back-off”, descrito a seguir. Figura 94 - Fluxograma do CSMA/CD e) Se a transmissão prosseguiu até o final sem colisão, a estação não tem mais dados daquele frame, e libera o canal para outra estação transmitir. Perceba que só um frame pode ser transmitido. f) A estação volta a perceber o meio para tentar transmitir o proximo frame ou, se não tem mais dados, fica inativa. 109
  • 110. Disciplina de Redes e Comunicação de dados Figura 95 CSMA/CD e os sinais no meio físico Algoritmo de recuo exponencial: As interfaces cujos frames colidiram devem processar o seguinte algoritmo: a) Um intervalo de tempo, (por exemplo 0 a t ms) é escolhido como faixa inicial b) um número aleatório, por exemplo 5,3 milisegundos, dentro do intervalo, é amostrado. c) Esse número significa o tempo no qual a interface deve recuar na tentativa de transmissão do frame que colidiu. d) Passado o tempo escolhido, a interface tem o direito de tentar novamente e) Caso haja nova colisão, o intervalo de tempo da amostragem do número aleatório é dobrado (por exemplo t=t*2). Isso permite uma chance menor de duas interfaces esperarem o mesmo tempo. f) O número de tentativas de transmissão do frame é incrementado (tent=tent+1). g) Se tent for menor que 16, volta ao passo b. 110
  • 111. Disciplina de Redes e Comunicação de dados h) Se tent for igual a 16, a rede está congestionada e deve ser bloqueada. Tabela com o cabeamento do fast-Ethernet 802.3u • CSMA/CA Outro nomezinho estranho, significa (Carrier Sense Multiple Access/Colision Avoidance) ou Acesso Múltiplo com Percepção da Portadora / Prevenção de Colisão. Usado pelas tecnologias de redes locais e metropolitanas sem fio, (IEEE 802.11, 802.16), e pela tecnologia LocalTalk da Apple, um sistema ponto-a-ponto para pequenas redes. Embora o algoritmo básico seja o mesmo (CSMA) que o anterior, a filosofia aqui não é detectar as colisões, mas sim evitá-las. O nó receptor, ao receber uma transmissão, envia uma confirmação. Dessa forma, o transmissor sabe que não houve colisão Se o transmissor não recebe a confirmação, retransmite. O protocolo tem outros recursos importantes. Dois tipos de frames especiais participam da comunicação: RTS – Request to send ou solicitação para transmitir CTS – Clear to send ou liberação para transmitir Esses frames especiais ajudam a minimizar as colisões. A estação que quer transmitir envia um RTS à estação de destino. Se estiver disponível para receber, a estação de destino envia um CTS. 2)Método de acesso Determinístico ou por passagem de ficha Ao contrário dos estatísticos, os métodos determinísticos pretendem uma justiça plena no uso do canal, e uma previsibilidade que não existe Esses protocolos baseiam-se em concessões de permissões para transmitir. Tal concessão é determinada pela posse de um frame especial, denominado token ou ficha. A estação que tem a ficha pode acessar o meio. Não existe disputa, e tampouco possibilidade de colisão. Esse método é usado pelas tecnologias Token Ring (IEEE 802.5), Token Bus (IEEE 802.4) e Fiber Distributed Data Interface - FDDI (ANSI). A filosofia básica é a seguinte: A estação que possui a ficha pode transmitir. Quando teminar de transmitir um frame, deve liberar a ficha. As demais precisam aguardar a ficha. Isso evita a disputa e a colisão de frames. 111
  • 112. Disciplina de Redes e Comunicação de dados Figura 96 – Acesso por passagem de ficha -Topologia em anel Na Figura 96, temos a seguinte sequencia na transmissão dos frames: 1) A ficha (token) está circulando livre pelo anel. 2) A estação A tem um frame destinado para C. Ela captura a ficha, e transmite o frame. 3) O frame com destino a C passa pela estação D, que não tem nada a ver com isso, e fica na dela. 4) A estação C recebe o frame, faz uma cópia, e devolve o cara para o anel. 5) A estação A recebe de volta o frame, retira do anel e libera a ficha. (Note que como foi o nó de origem que retirou o frame do meio, é possível que a estação de destino marque um bit para dizer que recebeu, tudo ok, beleza). Isso é uma confirmação de 112
  • 113. Disciplina de Redes e Comunicação de dados entrega, como se o cliente da net-pizza assinasse um recibo e mandasse de volta pelo proto boy. 6) Agora é a estação C que possui frames para A e D. Ela se apodera da ficha e transmite um frame para os dois destinatários. 7) A estação A faz a sua cópia e repõe o frame no meio. 8) A estação D também copia e devolve 9) A estação C retira o frame e libera a ficha. Agora que você já viu os dois principais métodos de acesso, estatístico e estocástico, vamos analizar as vantagens e desvantagens de cada um (Tabela 7): Método de acesso Vantagem Desvantagem Estatístico Rápido com baixa carga Queda de desempenho com cargas elevadas Determinístico Previsível com carga alta, Possui atraso fixo mesmo garante o acesso. que a carga seja baixa Tabela 7 - Comparação dos Métodos de acesso Imagine que o proto-boy está entregando nossas pizzas em um tempo elogiável, cheirosas e quentinhas, porque existe pouco trânsito nas ruas do bairro. O trânsito é tão baixo que foi combinado entre os motoristas o seguinte protocolo: Ao chegar próximo de um cruzamento, buzine. Se você não ouvir uma buzina em resposta, pode passar livre (CSMA-escute o meio, se estiver livre, acesse). Se alguem responder, pare e espere. Se o tráfego começa a aumentar, o risco de colisão aumenta, os atrasos também. As pizzas esfriam, e chega-se a conclusão de que é necessário um semáforo. Agora, todos vão ter um tempo determinado de espera, sabe-se exatamente qual o pior tempo para passar por um número X de semáforos. Não existe colisão – todos os motoristas SEGUEM o protocolo. Em compensação, se o tráfego volta a diminuir, nosso proto-boy vai precisar esperar inutilmente diante de um sinal vermelho, enquanto o cruzamento está totalmente livre. 113
  • 114. Disciplina de Redes e Comunicação de dados Seção 3 - Sistemas de endereçamento Existem 4 níveis de endereçamento dentro da pilha de protocolos (Figura 98): o Camada 5 – Os nomes dos dispositivos (por exemplo virtual.unisul.br) o Camada 4 – as portas onde os processos estão rodando (por exemplo porta 80 para o http) o Camada 3 – O endereço do protocolo de internet (IP), por exemplo 200.18.12.33 o Camada 2 – O endereço físico das interfaces, por exemplo 00:0e:83:ca:bb:fa Modos de endereçamento i. Unicast :Uma máquina envia para outra ii. Broadcast: Uma máquina envia para todas as máquinas de um domínio iii. Multicast: Uma máquina envia para um grupo de máquinas cadastradas 114
  • 115. Disciplina de Redes e Comunicação de dados Figura 97 - Modos de endereçamento Web Browser Web Server HTTP Process HTTP Process Web Server TCP Process TCP Process IP Process IP Process Web Client Ethernet Driver Ethernet Driver Ethernet NIC Ethernet NIC MAC IP TCP HTTP Web Page Information Header Header Header Header Web Server Response Figura 98 - Os endereços e as camadas a. Nomes de máquinas As máquinas de uma rede recebem nomes que são significativos para os humanos, embora não o sejam para elas próprias (como você sabe, elas precisam traduzir tudo para zeros e uns). Esses nomes são meramente simbólicos, e quando o usuário digita www.virtual.unisul.br, esse nome simbólico deve ser traduzido para o endereço IP da camada 3, que é exigido pelos protocolos inferiores. Um servidor específico para fazer essa tradução deve estar disponível na rede (servidor de nomes). Normalmente, essa tradução é feita sem que o usuário perceba. 115
  • 116. Disciplina de Redes e Comunicação de dados Abra o prompt do MSDOS (Clique em iniciar, executar, command). Digite ping www.virtual.unisul.br. Esse endereço de camada 5, é um nome simbólico, será traduzido pelo seu servidor de nomes para um endereço IP – de camada 3. Da mesma forma, quando um usuário digita o endereço de um destinatário de e-mail, por exemplo angelina_jolie@unisul.br esse nome de máquina precisa ser traduzido para um endereço ip, que corresponde ao servidor de e-mail da Unisul. Essa base de dados com os nomes das máquinas não é mantida em um único servidor. Ela está distribuída em inúmeros servidores ao redor do planeta. Os principais, que mantém os registros dos dominios superiores (.com, .net, .org...) estão localizados em 13 máquinas denominadas root-servers. Os espelhos, ou replicações do servidor root-F estão ilustrados na Figura 99. Esse sistema de resolução de nomes é denominado DNS, ou Domain Name System. Para saber mais sobre os serviços de resolução de nomes, acesso o site do ISC: http://www.isc.org Figura 99 - Os 18 servidores de nome espelho do raíz F(Root-server F) mantidos pelo IANA. 116
  • 117. Disciplina de Redes e Comunicação de dados Quem disse que o hemisfério norte deve ser representado na parte superior? Os caras de http://www.flourish.org/upsidedownmap/ pensam que não é necessário. b. Portas de transporte O segundo nível onde ocorre endereçamento é na camada de transporte. Você verá mais sobre essa camada na unidade 8. Por enquanto vamos analisar somente um nível de abstração dessa camada, as portas de endereçamento. Com o uso das portas, o espaço de endereços pode ser extendido, e um processo que esteja transmitindo pode referenciar uma porta específica no host de destino. Os endereços das camadas mais baixas servem para localizar uma máquina na rede, mas não os processos entro daquela máquina. Na net-pizza, as portas da camada de transporte podem ser consideradas como salas onde diferentes serviços são executados. O pessoal do 2º. Andar é que controla as encomendas, tanto dos suprimentos quanto das entregas de pizzas. Esse povo possui uma tabela de encaminhamentos, que funciona como as portas da camda de transporte: Serviço S a l a Forno 5 0 Montage 3 m 2 Seleção 2 de 8 compone ntes Fatiadore 6 s das 7 pizzas Embalage 7 m 8 Refreiger 1 ação 9 117
  • 118. Disciplina de Redes e Comunicação de dados Cortadore 1 s dos 5 compone ntes Almoxari 2 fado 1 Escritorio 7 s 0 Quando chega algum suprimento para a pizzaria, (por exemplo, madeira para o forno a lenha) esse suprimento precisa ser encaminhado para o pessoal encarregado do forno. Então, dentro do mesmo prédio (host), existem divisões de tarefas (serviços). Digamos que os assadores trabalhem na sala 50. A lenha para o forno deve ser encaminhada para essa sala. o endereço de camada 3 e a porta formam o socket Figura 100 As aplicações e os endereços A RFC 1700 (veja no site do IETF) contém os números usados pelos protocolos, e as portas para os serviços bem conhecidos. Existem 65538 portas possíveis para cada um dos protocolos de camada 4. elas são classificadas em altas e baixas. • Portas baixas (well-know ports) São usadas pelos principais serviços no lado servidor da comunicação Tabela 8. São endereços estáticos, e variam de 0 a 1023. Protocolo porta FTP 21 SSH 22 TELNET 23 SNMP 25 DNS 65 HTTP 80 POP3 110 SNMP 161 118
  • 119. Disciplina de Redes e Comunicação de dados Tabela 8 Portas baixas • Portas altas São abertas no lado cliente, dinamicamente. Os clientes podem inicializar várias requisições simultaneamente, para o mesmo host de destino, e a mesma porta desse destinatário. Mesmo assim, o destinatáro conseguira responder as requisições, usando o numero da porta alta do cliente para entregá-las. Usam os números acima de 1023. c. Endereços IP Os endereços do protocolo IP servem para a localização dos hosts de destino, mesmo que não se conheçam as implementações físicas da rede de destino. Por exemplo, você não precisa saber qual a tecnologia da placa de rede do computador da Debora Secco para enviar um e-mail para ela. Basta saber o endereço de nível mais alto. Os endereços IP são números de 32 bits e dividem-se em dois segmentos: Rede e Host. A parte de rede é usada pelos roteadores para encontrar a rede local onde o destinatário se encontra. Uma vez que tenha chegado na rede local de destino, o endereço do hardware (MAC address, a seguir) deve ser localizado. Para isso, os roteadores usam a porção de host do endereço IP, em conjunto com o protocolo ARP (na seção 5). Os endereços IP não estão relacionados aos hosts, mas sim às interfaces dos hosts que estão conectadas em uma rede. Um mesmo host pode ter mais de uma interface para redes diferentes, necessitando mais de um endereço IP. Na net-pizza, o endereço ip corresponde ao número do prédio da pizzaria. Como nosso prédio tem mais de uma saída, ou seja, tem porta para mais de uma rua, o prédio deve ter um número que o identifique em cada rua. Os endereços podem ser representados na forma binária ou decimal pontuada. Nesse caso, temos 4 octetos separados por um ponto decimal, que resulta em um número variando de 0 a 255 em cada octeto, ou byte. 119
  • 120. Disciplina de Redes e Comunicação de dados Figura 101- Porção de rede e host no endereço IP Perceba, pela Figura 101, que os endereços divididos dessa forma apresentam uma hierarquia, que possibilita um crescimento das redes e facilita a localização. Figura 102 - Os octetos e a divisão rede/host no endereço IP Um exemplo de endereçamento IP é 172.16.122.204. Veja na Figura 102 como ficam as divisões Rede/Host, bem como os octetos separados por pontos. Os endereços foram divididos em 5 classes, A,B,C,D e E. As classes usadas em roteamento normal são A, B, e C conforme a Figura 103. A classe D é usada para roteamento Multicas, e não será estudada nessa disciplina. A classe E foi reservada para experimentos. Figura 103 - Classes de endereços A, B e C Verifique seu enderço IP com o comando ipconfig. 120
  • 121. Disciplina de Redes e Comunicação de dados Perceba que quanto mais bits para hosts, maiores ficam as redes. Sob essa óptica, as redes de classe A seriam as maiores e as de classe C, as menores. As faixas de endereços de cada classe podem ser resumidas como na Tabela 9. Tabela 9 - faixas de endereços de cada classe na forma decimal Descubra qual a classe de endereços da sua rede, com base decimal que representa o no 1º. Octeto. d. MAC address Os endereços MAC (endereço de hardware, endereço físico ou de placa de rede) são endereços de camada 2. Os endereços de camada 2 são a referência final para a entrega dos frames. A informação só chega ao destino depois que esse nível de endereços é conhecido. Os endereços MAC têm 48 bits de comprimento e são expressos com doze dígitos hexadecimais (Figura 104). Os primeiros seis dígitos hexadecimais, que são administrados pelo IEEE, identificam o fabricante ou fornecedor e, portanto, formam o Identificador único de Organização (Organizational Unique Identifier - OUI). Os seis dígitos hexadecimais restantes formam o número serial de interface, ou outro valor administrado pelo fornecedor específico. 121
  • 122. Disciplina de Redes e Comunicação de dados OUI – Organizational Unique Indicado pelo fabricante, é o Identifier ou Identificador número de série da interface Único de Organização Figura 104 - Formato do endereço MAC Os endereços MAC são algumas vezes chamados de burned-in addresses (BIAs) porque eles são gravados na memória apenas de leitura (ROM), e são copiados na memória de acesso aleatório (RAM) quando a placa de rede é inicializada. Mais sobre os MAC address em: http://standards.ieee.org/faqs/OUI.html Se você digitar no prompt do MS-DOS o comando ipconfig/all, você vai descobrir o nome da sua máquina, o endereço de camada 3 (IP) e o de camada 2 (MAC). Você verá também o endereço do servidor de nomes. Os endereços MAC são vitais para o funcionamento de uma rede de computadores. Eles fornecem uma forma dos computadores se identificarem. Eles dão aos hosts um nome exclusivo e permanente. O número de endereços possíveis não vão se esgotar tão cedo já que há 16^12 (ou seja, mais de 2 trilhões!) de endereços MAC possíveis. 122
  • 123. Disciplina de Redes e Comunicação de dados e. Fluxos Um fluxo de dados é uma identificação completa de uma transferência entre os processos clientes e servidores nas redes TCP/IP. Para que possamos caracterizar um fluxo, as seguintes identificações precisam se estabelecer: Endereços IP da origem e do destino Protocolo da camada de transporte Porta do servidor Porta do cliente Direção do fluxo IP Origem IP destino Protocolo Porta Origem Porta destino Direção 10.10.1.1 20.20.1.2 TCP 36021 80 IN 10.10.1.1 20.20.116.4 UDP 23321 161 OUT 10.10.1.1 20.20.116.4 TCP 12872 25 Out Tabela 10 - Exemplo de identificação de um fluxo Perceba que um mesmo cliente pode abrir várias conexões para um mesmo servidor, em portas diferentes. Na verdade para que a identificação de um fluxo seja única, é necessária a combinação de todas as variaveis. Dessa forma um mesmo cliente pode requisitar várias conexões na porta 80 de um mesmo servidor, porque em cada uma delas, vai existir a variação na porta de origem. Seção 4 - Os formatos dos principais quadros Nesta seção, veremos o Ethernet como exemplo de frame. As demais tecnologias de camada 2 serão apenas ilustradas. Os detalhes do Ethernet são importantes porque a tecnologia é a dominante nas redes locais. Existem livros inteiros sobre a tecnologia Ethernet. Veja na pagina de Charles Spurgeon: http://www.xxxxxxxx.com Para saber mais sobre os formatos de frames: http://www.cisco.com/univercd/cc/td/doc/product/lan/trsrb/frames.htm a) Ethernet 123
  • 124. Disciplina de Redes e Comunicação de dados Figura 105 - Os frames Ethernet original e o 802.3 do IEEE 1-Preâmbulo: Esse campo com 7 bytes de sequência 10101010, serve para sinaliza a existência de uma transmissão, e sincronizar as interfaces de rede. 2 –Inicio do delimitador de quadro: Esse campo é composto por um byte, com o formato 10101011. O último bit igual a 1 marca o inicio do frame propriamente dito. Esses dois campos iniciais não são computados no tamanho total do cabeçalho. 3-Endereço de destino Endereço físico do adaptador de destino. Esse endereço deve ser preenchido após o protocolo ARP (descrito na seção 5 a seguir) ter desempenhado sua função de traduzir o endereço de camada 3 em endereço de camada 2. Quando a interface de destino recebe um frame que não contenha o seu próprio endereço, nem o endereço de broadcast, descarta o frame. Como os endereços MAC só tem validade na rede local, se o destinatário estiver em uma rede remota, esse campo será preenchido com o endereço do gateway da rede de origem. 4-endereço de origem Obviamente, a interface não precisa de auxílio para preencher esse campo com o seu próprio endereço de hardware. Ele será usado pelo destinatário, para que possa encaminhar a resposta. 5- tipo/tamanho O campo tipo/tamanho é que diferencia a tecnologia Ethernet do padrão IEEE 802.3. No Ethernet original, o tipo representa u protocolo de camada 3 que está sendo transportado. No padrão do IEEE, esse campo representa o tamanho da unidade de dados que está sendo transportada nesse frame. Como se na net-pizza o furgão trafegasse até o destino com a nota fiscal designando “pizzas de queijo”, pizzas calabresa, refrigerante, cerveja. Cada tipo poderia ter destinatários diferentes no destino. Os tipos são importantes. Imgine que o pessoal da net-pizza fez uma encomenda de suprimentos. Agora, eles estão atuando como clientes de um servidor 124
  • 125. Disciplina de Redes e Comunicação de dados remoto. Os suprimentos trafegam nas vias (camada física) dentro de furgões. São datagramas, portanto. Na chegada ao prédio da net-pizza, o furgão entra por uma porta da expedição. Os suprimentos serão encaminhados para cada departamento com base nas informações contidas nos campos de descrição das caixas. Se uma caixa contiver a descrição correspondente a “lenha”, será encaminhada ao pessoal do forno. Se for “azeitona” , será encaminhada ao pessoal da montagem das pizzas-Desde que o pessoal da expedição não esteja com muita vontade de comer. O tipo no envelope digital representa o conteúdo do envelope: IP, IPX, ARP, AppleTalk são exemplos de protcolos que podem ser transportados pela Ethernet ou outra tecnologia de camada 2. Valores do tamanho dos Valores que representam os tipos. Tais valores são sempre . ... O último valor possível é é 65.535, dados maiores que 1500! 64 a 1500 Figura 106 - Valores do campo tipo, de 16 bits (pode variar de 0 a 65.535) Mas porque seria importante saber se um frame usa um campo e outro frame outro campo? Devido a co-existencia desses caras numa mesma rede local. Se você fosse uma placa de rede Ethernet e recebesse um frame desses, como saberia que o campo representa o tipo ou que ele representa o tamanho? O valor numérico do campo tipo/tamanho tem a resposta. O consórcio DIX designou poucos tipos de protocolos a serem transportados pelo envelope Ethernet, antes do estabelecimento do padrão 802.3. Como resultado, os valores numéricos sempre foram maiores que o hexadecimal 0x0600. Em decimal, isso sempre será maior que 1536. Uma vez que o tamanho máximo de um frame Ethernet é de 1518 bytes (1500 de dados + 18 da soma dos tamnhos dos campos de cabeçalho), os valores nunca irão conflitar. Quando a interface de destino recebe o frame, verifica o campo tipo/tamanho, ela terá certeza que: a) o campo está indicando tamanho se o valor for menor que 1536 (na verdade sempre menor que 1501). 125
  • 126. Disciplina de Redes e Comunicação de dados b)significa o tipo de protocolo se o valor for maior que 1535, que marca o início dos valores dos tipos. Os valores do campo tipo estão na RFC 1700. Acesse a página do IETF e encontre o valor do tipo para os protocolos IP e ARP. Transforme na calculadora os valores hexadecimais para decimais. Verifique se realmente correspondem com a solução descrita acima e com a Figura 85Figura 106. 6-Dados: Esse é o “compartimento” onde são guardados os dados, ou o pacote oriundo da camada de rede acima. Normalmente é um datagrama IP. No padrão 802.3, podemos considerar ainda a inserção da subcamada LLC. Lembre-se que foi o IEEE quem dividiu a camada de enlace em LLC e MAC. Na net-pizza, considere o espaço destinado para armazenar pizza no furgão. O campo de dados tem um tamanho que varia de 46 a 1500 bytes. A unidade máxima de transferência (MTU-Maximum Transfer Unit) do Ethernet é de 1500 bytes. Isso significa que se o datagrama IP tiver mais de 1500 bytes, deverá ser fragmentado. Se tiver menos que 46, o campo de dados deve ser “recheado” com stuff-bits 9 (bits de enchimento) Na net-pizza, os stuff-bits seriam como um plastico bolha ou uma revestimento qualquer que ajustasse as pizzas no compartimento de menor tamanho do furgão. 7-CRC (Verificação de redundância Cíclica) Permite que a interface de destino verifique a existência de erros no quadro. Caso detecte erro, a interface de destino descarta o quadro. O destino não avisa sobre o descarte, nem sobre os erros. As camadas superiores (transporte e aplicação) é que irão tratar desse problema. b) Token Ring 126
  • 127. Disciplina de Redes e Comunicação de dados c) FDDI d) Frame Relay Para saber mais sobre o frame relay: http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/frame.htm 127
  • 128. Disciplina de Redes e Comunicação de dados e) PPP Para saber mais sobre o PPP http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/ppp.htm f) ATM Veja mais sobre o ATM no site do ATM-forum: http://www.atmforum.com 128
  • 129. Disciplina de Redes e Comunicação de dados Seção 5 - ARP, o protocolo de resolução de endereços O Protocolo de resolução de Endereços, ARP, fornece um mecanismo para os dispositivos de rede TCP/IP localizarem o endereço de hardware de outros dispositivos na mesma rede. Esse mecanismo é necessário para que os dispositivos baseados no Ip se comuniquem. O ARP está descrito na RFC 826, e está baseado em dois tipos de mensagem: Uma requisição (ARP request) e uma resposta (ARP reply). Esse método é rotineiro nas redes locais para que a origem da mensagem encontre o MAC address do destinatário. 1 2 3 Figura 107 - 3 redes locais (1,2,3) conectadas por 2 roteadores (R1 e R2) Na Figura 107, você pode notar 3 redes locais, conectadas por 2 roteadores. Como as requisições de ARP só tem validade nas redes locais, pois funcionam em broadcast, uma requisição na rede 1 seria processada pelas interfaces de A, de B e do roteador R1. Na rede 2, processariam os pacotes ARP as interfaces C, D e as dos roteadores R1 e R2. ARP request É a requisição, e contém o endereço IP que deve ser traduzido para o MAC address. Funciona sempre em broadcast (o endereço de broadcast é FF: FF: FF: FF: FF: FF). A interface (w) que precisa descobrir o MAC envia um quadro para todos as demais da mesma rede local situação (a) na Figura 108. a) b) c) 129
  • 130. Disciplina de Redes e Comunicação de dados Figura 108 - ARP em funcionamento Todas as interfaces processam o cabeçalho do ARP, entendem a requisção (b). A interface que possui o IP requisitado (Y) responde com seu MAC (c). Obviamente, essa resposta não é feita em broadcast, e sim em unicast, uma vez que a interface (Y) já sabe quem originou a requisição (W). Na Figura 110, está representada a inserção das mensagens de ARP dentro do frame da rede local. Se o IP do destinatário não estiver na rede local, quem recebe o datagrama é o roteador (gateway) que se encarrega de repassá-lo para as redes remotasFigura 109. Figura 109 - Requisição ARP, hosts remotos Figura 110 - Inserção dos dados ARP dentro do frame de camada 2 Para evitar que a cada envio de pacotes na rede deva existir uma resolução de endereços, o ARP mantém uma tabela com os endereços mais recentes (Figura 111). As entradas da tabela são retiradas assim que os hosts passarem um tempo sem comunicarem-se. A sequencia lógica do envio dos dados está na Figura 112. 130
  • 131. Disciplina de Redes e Comunicação de dados Figura 111 - Tabela de endereços armazenada no cache ARP Para fazer on line: 1. Verifique a tabela arp do seu desktop com o comando arp –a no prompt do MS- DOS. 2. execute um ping para um host de sua rede, e teste o conteúdo da tabela novamente 3. Execute o ping para um host externo a rede (por exemplo, www.cisco.com) e verifique a tabela arp outra vez. 4. Espere algum tempo, por exemplo 5 minutos. 5. Teste a tabela novamente. 6. Explique o que aconteceu com a tabela. 131
  • 132. Disciplina de Redes e Comunicação de dados Figura 112 - Fluxograma do ARP Para saber mais sobre a camada de enlace: Charles Spurgeon's Ethernet Web Site http://www.ethermanage.com/Ethernet Informação extensa sobre Ethernet (IEEE 802.3), inclusive 100 Mbps Fast Ethernet (802.3u), 1000 Mbps Gigabit Ethernet (802.3z/802.3ab), e 10 Gigabit Ethernet (802.3ae). Páginas de LANs de Godred Fairhurst's http://www.erg.abdn.ac.uk/users/gorry/eg3561/lan-pages/enet.html Godred Fairhurst da University of Aberdeen, mantém um conjunto de páginas Web sobre Ethernet, CSMA/CD, bridges, ARP e outros tópicos. 802.11 Planet.com http://www.80211-planet.com/ Working Group for Wireless LAN Standards http://grouper.ieee.org/groups/802/11 Bluetooth Sites http://www.bluetooth.com/, http://www.bluetooth.org/ 132
  • 133. Disciplina de Redes e Comunicação de dados Unidade 7 A camada de rede “A menor distância entre dois pontos normalmente está sendo consertada” - Anônimo Esta unidade apresenta as características da camada de rede. A camada de rede é responsável pela navegação dos dados através da rede. A função da camada de rede é encontrar o melhor caminho através da rede. Perceba que o melhor caminho pode não ser o mais curto, pois o mair curto pode estar congestionado, ou apresentar taxas de perda elevadas, ou mesmo não apresentar confiabilidade. O esquema de endereçamento da camada de rede é usado pelos dispositivos para determinar o destino dos dados à medida que eles se movem pela rede, sempre traduzindo o endereço de camada 3 para o de camada 2. O responsável porr essa tração é o ARP, como visto na Seção 5, da unidade anterior. Ao final desta Unidade, você estará apto a: • Compreender as funções da camada de rede. • Descrever os campos do cabeçalho do IP • Entender os princípios do roteamento e seus principais protocolos Seção 1 Introdução aos serviços de redes A camada de rede funciona como uma repassadora de informações. Suas funções básicas dizem respeito a encontrar o caminho melhor entre um host de origem, guardando as informações que chegam da camada de transporte dentro de um datagrama, com o objetivo de encaminhar esse datagrama ao host de destino. Ao chegar ao destino, o datagrama será “aberto”, e os dados da camada de transporte serão entregues ao protocolo correto (TCP ou UDP). A Figura 113 mostra os principais componentes da camada de rede. Figura 113- O interior da camada de rede. 133
  • 134. Disciplina de Redes e Comunicação de dados Na Net-pizza, você deve associar a camada de rede com o pessoal da expedição, que fica lá no térreo do prédio. Lembre- se que as duas camadas inferiores correspondem a rua-camada física e aos furgões e motos – camada de enlace. Esses caras da expedição analizam os pacotes que estão chegando dentro dos furgões de suprimento, e encaminham para os setores internos da pizzaria. Eles também são responsáveis pelo encaminhamento dos furgões que estão saindo para entregar as pizzas. Os caras da expedição analizam os pedidos dos clientes, em especial o endereço de destino. Eles estão preocupados em encontrar o melhor caminho para a entrega. Perceba que essa escolha sempre é feita com base na rua do destinatário, que funciona como as redes locais. O pessoal da expedição nunca vai se preoucupar com os trânsitos dentro das ruas de destino, ou nos condomínios onde moram os destinatários. Não faria sentido eles manterem informações do tipo “aquela rua, no destino, não tem pavimentação”, ou “naquele condomínio, você só pode andar de bicicleta, não entre com o furgão”. Imagine a quantidade de informações que esses caras teriam que armazenar! E recuperará-las a cada encomenda, mantê-las atualizadas, confiáveis!!! Isso seria equivalente ao protocolo IP ficar avisando aos datagramas que, ao chegar em uma determinada rede local, a alguns saltos de distancia, eles deveriam se preparar para altas taxas de erro, ou para troca de tecnologia, saindo do ethernet e passando para wireless, por exemplo. A expedição verifica a rua de destino e encaminha por uma das portas da garagem. Se a pizza não chegar, o cliente deve reclamar. A camada de rede está preocupada em encontrar o melhor caminho até a rede de destino. Encontrar o host é função da camada de enlace, com auxílio do ARP. Alguns autores denominam essas duas funções como sendo Roteamento e Encaminhamento. Sob essa ótica, teríamos: Roteamento: Funções da camada de rede executadas para encontrar a rede local do destinatário. Isso envolve uma comunicação entre os roteadores para manter a topologia da rede sempre mapeada. Envolve também o repasse do datagrama para uma determinada interface do roteador encaminhar ao próximo salto. Informações básicas necessárias: Rede de destino próximo salto 10.0.0.0 192.168.4.3 134
  • 135. Disciplina de Redes e Comunicação de dados Encaminhamento: Funções desenvolvidas pela camada de enlace. Ela deve entregar o frame (que já contém o datagrama encapsulado) para a próxima interface. Essa próxima interface foi determinada pelo ARP, que descobriu o endereço MAC correspondente ao IP indicado pelo roteamento. Informações básicas necessárias: Interface de destino MAC address Router1-int. eth2 00:20:40:fa:12:32 Figura 114 - A camada de rede sendo responsável pela interconexão 135
  • 136. Disciplina de Redes e Comunicação de dados Figura 115 - Um roteador como uma passagem entre duas redes locais A camada de rede representada na Figura 114, é a responsável pela interconexão entre as redes remotas. Quando passamos essa abstração para os dispositivos, o resultado é parecido com esse da Figura 115. Duas redes locais (LANs) 135.15.1.0 e 135.15.2.0 comunicam-se enviando seus datagramas (PDU de camada 3) para o roteador, que reencaminha para a rede do outro lado. Seção 2 – Protocolos Alguns protocolos podem ser destacados na camada de rede (Figura 113). ICMP, IP, BGP, RIP, OSPF 136
  • 137. Disciplina de Redes e Comunicação de dados Figura 116 - Posição de alguns protocolos importantes na pilha TCP/IP 1. ICMP O ICMP é o protocolo de mensagens de controle. Esse protocolo é inserido diretamente dentro do datagrama IP, sem passar pela camada de transporte ( Figura 117 - O encapsulamento do ICMP diretamente no datagrama IP È função da camada manter um controle sobre os tempos de entrega, e eventuais erros, através do ICMP, o Internet Control Message Protocol. Para fazer on-line Para perceber o ICMP em funcionamento, digite no prompt do MS- DOS o comando ping: C:> ping www.cisco.com. Você terá uma idéia do tempo de ida e volta do pacote ICMP. 137
  • 138. Disciplina de Redes e Comunicação de dados A saida do seu comando deve ser algo parecido com a Figura 118. Cada sistema operacional tem a sua implementação do ping, mas o objetivo sempre é testar a conectividade entre dois pontos e o atraso (tempo de ida e volta, ou RTT). Figura 118 - Saída na tela de um comando Ping em um SO Microsoft Os códigos de mensagens do ICMP, os quais estão presentes no cabeçalho do protocolo, podem ser vistos na Figura 119. Figura 119 - Tipos de mensagens ICMP 138
  • 139. Disciplina de Redes e Comunicação de dados Objetivo do Flag Unix MS-DOS Mudar o tamanho do pacote -s <tamanho em bytes> -L <tamanho em bytes> Enviar pacotes Default -t indefiniamente Enviar em intervalos < 1s -i <intervalo> Não implementa Tabela 11 Flags importantes para o ping O RTT médio deve ser menor que 1ms para as redes locais, e menor que 500 ms para as remotas. 2. O datagama IP versão 4 O IP v4 já tem quase 20 anos, e está com pouco fôlego para suportar todas as inovações tecnológicas da Internet). Existe uma nova versão do protocolo IP, que a muito tempo está para ser implantada. É o Ipv6, que já está sendo usado em alguns pontos do planeta, embora não no nível desejado pelos responsáveis pela transição. Como os dois sistemas de endereços são incompatíveis, devem existir gateways entre as redes. Veja mais sobre o Ipv6 em http://www.ipv6.org Os campos principais do Ipv4 estão ilustrados na Figura 120. Cada campo tem um tamanho fixo. 1- Versão – 4 bits. Início do cabeçalho, informa a versão do IP que está sendo usada. 2- HLEN 4 bits indicando a quantidade de grupos de 32 bits do cabeçalho. 3- Tipo do serviço – Para que as aplicações avisem e os roteadores escolham entre caminhos com atrasos máximos ou vazões minimas. Usado nas redes com QoS e arquitetura DiffServ. 4- Tamanho total é o número de octetos do datagrama. Como é um inteiro de 16 bits, e 2^16 = 65535, esse é o tamanho máximo do datagrama. Para percorrer uma rede ethernet, precisaria ser desmontado em vários fragmentos. 139
  • 140. Disciplina de Redes e Comunicação de dados Figura 120-Campos do cabeçalho do IP Os campos da 2ª linha, 5-Identifcação, 6-Flags e 7-fragment offset são utilizados para os casos onde o datagrama não pode trafegar inteiro na camada 2, devido ao excesso de tamanho. Lembre-se que as PDUs possuem MTUs, ou Unidade de transferência Máxima. Nesse caso é realizada uma fagmentação, e esses campos identificam as posições dos fragmentos dentro do datagrama original. Figura 121 - Redes locais com MTUs diferentes causam fragmentação É como se um carregamento de pizzas não coubesse em um furgão, devido a enormidade da encomenda. Precisaríamos identificar as cargas, e enviar em mais de um furgão. Figura 122 - Datagrama fragmentado. Os fragmentos possuem cabeçalhos próprios 8 – Tempo de vida ou TTL – Time to live Usado para evitar que um datagrama percorra para sempre um caminho que contenha um loop infinito. Isso pode acontecer quando um software apresentar algum erro, ou quando algum administrador de rede configurar as rotas incorretamente. O remetente deve usar o campo de 8 bits com um numero entre 1 e 255. Cada roteador decrementa o TTL em 1. Caso o valor chege a zero, o roteador descarta o datagrama e retorna uma mensagem pelo ICMP. 140
  • 141. Disciplina de Redes e Comunicação de dados Campo 9 – Tipo-Protocolo Esse campo traz uma etiqueta, indicando qual protocolo está encapsulado dentro do datagrama, exatamente como era feito em relação ao campo TIPO, no frame ethernet, que você estudou na unidade anterior. Os principais protocolos transportados pelo datagrama IP estão representados na Tabela 12. 1 ICMP 17 UDP 57 SKIP 2 IGMP 47 GRE 88 EIGRP 6 TCP 50 ESP 89 OSPF 9 IGRP 51 AH 115 L2TP Tabela 12 - Número dos protocolos que podem ser levados em um datagrama IP Campo 10 – Checagem do Cabeçalho Assegura que os dados não foram alterados. Campos 11 e 12 – Endereços de origem e destino. São números de 32 bits como visto na unidade anterior. Campo 13 – Opções. São identificadores que serão usados somente em caso de necessidade. Essa abrdagem permite manter os cabeçalhos com tamanhos pequenos. Campo 14 – Padding. Concunto de zeros usado para tornar o campo anterior – Opções – um campo de 32 bits, caso essas opções não atinjam esse valor. (ii)Datagramas IP ou Pacotes IP? Essa pequena confusão da nomenclatura pode ser vista como “dois nomes para mesma coisa” na maioria das interpretações. Porém exite uma diferença significativa. O datagrama deve ser considerado como a Informação contida no pacote IP. Como muitas vezes essa informação excede a MTU da camada de enlace (normalmente ethernet, MTU=1500 bytes), os datagramas devem ser fragmentados. Além disso, os pacotes podem ser perdidos ou descartados. A informação original contiua contida no datagrama. Cada fragmento de datagrama é um PACOTE IP - Figura 123. Cada repasse em um roteador é feito com os pacotes. 141
  • 142. Disciplina de Redes e Comunicação de dados Figura 123 Datagrama e seus pacotes IP Seção 4 – Roteamento • Principios Existe uma lenda na que diz que devemos estudar roteamento tentando entender as tarefas de um único roteador. Um roteador, se tivesse algum tipo de pensamento, seria como o cara da Figura 124, sentado em um cruzamento de várias rodovias, tentando descobrir qual o melhor camino até um destino qualquer. Entendendo essas tarefas, se entenderia toda a comunidade de roteadores. Figura 124 – Um roteador “pensando” o melhor caminho (Segundo Perlman, 2000, adaptado) Um roteador é um cara estranho aos demais dispositivos na rede. Como ele só está preocupado com as redes de destino, só percebe a existencia de outros roteadores. Dispositivos únicos, individuais realmente não são importantes para um roteador. Redes, redes de destino, como chegar até lá? 142
  • 143. Disciplina de Redes e Comunicação de dados O que é roteamento IP? O roteamento de datagramas IP é um um conjunto de tarefas necessárias para levar um pacote IP de um roteador a outro, com base no endereço de destino e nas tabelas de roteamento. Na net-pizza, os hops ou saltos poderiam ser postos de informação contidos nos cruzamentos. A cada cruzamento, além dos semáforos, existem postos de informação. Ao atingir um desses cruzamentos, o proto-boy deve procurar com o “informante”, qual o melhor caminho até o destino. (Perceba que o melhor caminho depende de muitos fatores: Largura das pistas, condições do pavimento, carga de tráfego, distância). Nos roteadores esses fatores são chamados de métricas. Na tabela a seguir, voce pode relacionar as questões do trânsito com as métricas usadas nos roteadores. Quando um roteador recebe um datagrama, executa as seguintes tarefas: 1-Examina o endereço da rede de destino 2-Se é uma rede para a qual ele possui uma interface, funciona como um host na rede local do destinatário, descobrindo o MAC e entregando o frame, num processo de camada 2 3-Se a rede é remota, executa uma busca na tabela de roteamento (Figura 125) 4- Se encontra a rede na tabela, encaminha para a interface correspondente 5 – Se não encontra, envia para a rota padrão, que é por onde devem sair todos os datagramas cujo endereço de destino não tem correspondencia na tabela. A rota padrão é muito útil, pois sem ela, um roteador teria que examinar uma tabela com mais de 60 mil rotas. 143
  • 144. Disciplina de Redes e Comunicação de dados Figura 125 - Uma tabela de roteamento 144
  • 145. Disciplina de Redes e Comunicação de dados Fator de trânsito Métrica dos roteadores Quantidade de pistas Bandwidth – Largura de banda Qualidade da pavimentação Taxa de erros (fig de Um carro quebrado) Velocidade máxima Taxa de transmissão da (fig de placa de 40 Km/h) interface Pedagio Custos na operadora Figura $$ Tempo para sair de um posto de Atraso (delay) informações até o proximo Variação do tempo entre 2 variação do atraso (Jitter) passagens consecutivas pelo mesmo trajeto (por exemplo, duas pizzas para o mesmo glutão) Numero de carros que podem Vazão (throughput) trafegar simultaneamente, considerando todos os fatores Número de carros que realmente Alcançabilidade chegam no tempo previsto (Reachability) Tempo no qual o caminho Confiabilidade (readability) permanece realmente operacional Tabela 13 Métricas e trânsito 145
  • 146. Disciplina de Redes e Comunicação de dados O “informante” vai procurar determinar o melhor caminho pela sequência a) endereço do destinatário – onde mora o louco por pizzas b) Vias de comunicação que levam até o próximo posto de informações c)Caso haja mais de uma via para aquele destino, usa os valores de cada um dos fatores de trafego da Tabela 13 d) Caso o endereço de destino não tenha nenhuma indicação na tabela de vias mais apropriadas, encaminha ao posto de informações padrão (rota padrão, ou default gateway), que normalmente está situado em um ponto de intersecção de vias com maior capacidade de escoamento (backbone). Com base nessa sequencia, O informante vai apenas determinar qual via o furgão da net- pizza deve tomar, até a proxima parada para informações. Perceba que em nenhum momento o informante vai: Tentar montar um caminho até o destinatário. Tampouco ele passa as informações para o proto-boy. O informante decide, e encaminha o furgão para a via determinada. Os postos de pedágio trocam informações entre si para poder montar suas tabelas de condições das vias de trânsito, e poderem encaminhar corretamente. Essa troca de informações é função dos protocolos de roteamento, que você verá mais adiante, na seção 3. Obviamente, os postos não passam as informações aos motoristas. Isso seria misturar as funções das camadas de protocolos. Os motoristas seguem pelo caminho determinado pelos postos, e assim cada um cumpre sua função. 146
  • 147. Disciplina de Redes e Comunicação de dados • Roteamento herárquico O sistema de roteamento da internet é hierárquico. Essa abordagem significa que alguns roteadores (De borda) se responsabilizam pela troca de informações de grupos de roteadores, concentrando essa tarefa. Esses roteadores de borda são denominados Inter- AS, ou exteriores aos sistemas Autônomos. Os sistemas autonomos (AS, ou Autonomous Systems) (Figura 126) são agrupamentos de roteadores em uma região, possuindo autonomia administrativa. Isso permite que cada AS possua independência para rodar seus protocolos e passar para o lado de fora do AS somente as informações desejadas. Dessa forma, as tabelas dos protocolos intra- as não precisam assumir uma quantidade infinita de rotas. Um sistema autonomo permite que os protocolos de roteamento sejam hieráquicos. Isso traz algumas vantagens. Na medida que as redes aumentam fica quase impossível aos roteadores manterem informações sobre as métricas e estados dos enlaces. Você deve lembrar que essas informações devem ser repassadas de um roteador ao outro. Figura 126 - Representção de 3 AS A, B, C, com destaque para os protocolos em no roteador A.c Na net-pizza, seria como se houvessem duas classes de postos de informações, com seus mensageiros especializados: Intra-bairro (Internos ou de núcleo) Inter-bairro (externos ou de fronteira) Postos de informações intra-bairro (de núcleo) 147
  • 148. Disciplina de Redes e Comunicação de dados Essa classe de postos funciona dentro das ruas de um mesmo bairro, e usa técnicas próprias de comunicação. Por exemplo, a cada 2 horas, o mensageiro intra-bairro percorre os postos do bairro, de moto, para informar os postos sobre as condições das ruas. Os postos internos a um bairro nunca se comunicam com os internos de outro. Os mensageiros dessa classe têm como limite o posto de fronteira Postos de informações inter-bairro (de fronteira) A segunda classe nessa hierarquia, seria dos postos inter- bairros, com a comunicação das informações que cada bairro deseja que os demais saibam. Por exemplo, um mensageiro interbairro sai a cada 5 horas para comunicar aos bairro postos de fronteira a existência de novas ruas, ruas que deixaram de existir ou mudaram de direção ou nome... Podem ser divulgadas pelos postos de fronteira somente as informações que os administradores dos postos desejam. Algumas informações podem ser omitidas. Perceba que, como na Figura 126, os postos de fronteira (correspondentes aos roteadores Inter-AS) falam com os postos de fronteira dos bairros segundo seus próprios mensageiros e protocolos, e falam com os postos internos através dos mensageiros com os protocolos próprios do bairro). O roteamento pode ser de 3 tipos: • Roteamento direto O roteamento é dito direto quando as interfaces que querem se comunicar estão na mesma rede IP. Nesse caso, a busca pelo endereço físico é feita localmente, não existe um roteador entre as interfaces. A entrega dos frames, contendo os datagramas é feita na camada 2. É como se o proto-boy entregasse uma pizza na mesma rua da pizzaria, sem precisar passar pelo posto de informações para trocar de rua. • Roteamento estático O roteamento é dito estático quando todas as rotas são determinadas pelo administrador da rede. Esse sistema só funciona quando as redes são de pequeno porte, pois as tabelas de roteamento devem ser alteradas manualmente, em todos os roteadores, caso haja alguma alteração na topologia. Tal alteração pode se dar por falha nos enlaces, congestionamentos, ou mesmo inclusão de novos dispositivos. 148
  • 149. Disciplina de Redes e Comunicação de dados Uma vantagem do roteamento estático poderia ser a segurança (as tabelas de rotas não circulam pela rede como se dá pelo uso dos protocolos) e a ausencia de geração de tráfego de sinalização, pois os roteadores não trocam informações sobre os caminhos Na net-pizza, seria como se o administrador dos postos de informações andasse de um lado para outro, entregando as instruções sobre as condições dos caminhos. Supondo que ninguém sequestre esse cara e roube sua maleta de informações, elas estariam seguras. Mas, como fica a agilidade dessa técnica quando o cara tem, por exemplo 50 postos para manter informados? • Roteamento dinâmico O roteamento dinâmico tem a vantagem de atualizar automaticamente as informações. Para isso, são usados protocolos de roteamento, que dividem-se em dois grupos lógicos: Vetor de distancia, ou descentralizado. O cálculo dos custos menores são realizados de forma distribuída. Esses algoritmos são denominados Bellman-Ford, em homenagem aos caras que o criaram. O Mais comum dos protocolos baseados nesse algoritmo é o RIP (Routing Information Protocol). Nos algoritmos de vetor de distancia, os nós armazenam as informações em uma tabela de distâncias, que contém as informações (destino, direção, custo), da seguinte maneira: Figura 127 - Tabela de distâncias do Roteador E até os demais, usando algoritmo de vetor de distâncias A tabela mantém uma linha para cada destino e uma coluna para cada vizinho (roteador dietamente conectado) Imagine que na Figura 127, o roteador E precisa enviar datagramas até o roteador B. O custo para chegar lá diretamente é 8. Mas, se o roteador E enviar pelo enlace até o roteador D, teremos um custo =5 (custo 2 até o roteador D, mais o custo mínimo do roteador D ao B, que é dado por: (D até C)=2 . (C até B)=1. Custo minimo de D até B=3 Custo do enlace entre E e D=2 149
  • 150. Disciplina de Redes e Comunicação de dados Custo mínimo de E até B tendo D como primeiro passo=5 Considerando que um nó genérico X necessite enviar datagramas até Y, e queira encaminhar através do seu vizinho Z, que tem uma conexão direta com X. A tabela de distancias, pelo algoritmo DV pode ser montada como como: DX(Y,Z) = c(X,Z) + MINIMOw { DZ(Y,w)} Podemos ler da seguinte maneira: O registro na tabela do nó X, representado por DX(Y,Z) é dado pelo custo entre X e Z mais o caminho de custo mínimo entre o vizinho Z e o destino Y. Note que a letra w representa qualquer próximo passo de Z até Y, desde que seja de custo minimo. Perceba que: o Nem sempre o menor caminho é o melhor. o O custo mínimo é calculado pelo custo mínimo do primeiro passo MAIS o custo mínimo do resto do caminho, seja por onde for. Obviamente, existem alguns problemas: Para ir de E até A passando por D, o caminho retorna ao roteador E: Como o caminho mais curto de D para A passa por E, ele deveria ser usado. Só não é porque o menor custo de E até A é a entrega direta. De maneira semelhante, tente descobrir por que DE(A,B)=14 e não é igual a 15. Roteamento com algoritmos Estado dos enlaces (Link State), ou roteamento global Os nós da rede possuem um conhecimento global dos estados dos enlaces. O algritmo mais conhecido que emprega esse método é o de Dijkstra. O protocolo mais comum com esse aloritmo é o OSPF (Open Shortest Path First). A idéia básica por trás de um algoritmo LS (Link State, ou de Estado do Enlace) é simples: 1. Cada roteador é responsável por encontrar seus vizinhos e descobrir seus nomes. 2. Cada roteador constrói um pacote conhecido como Pacote do Estado do Enlace (link state packet, ou LSP), o qual contém uma lista dos nomes e dos custos até seus vizinhos. 3. O pacote LSP é transmitido a todos os demais roteadores (em broadcast ou multicast), e cada roteador armazena o LSP mais recente de cada um dos outros roteadores. 4. Cada roteador, que agora dispõe de um mapa complete da topologia (a informação dos LSPs permite a montagem de tal mapa), calcula os caminhos para cada destino. 150
  • 151. Disciplina de Redes e Comunicação de dados Comparações entre os dois algoritmos: Embora os dois grupos possuam defensores, de um modo geral os algoritmos de Estado de Enlace (LS) possuem mais adeptos atualmente, principalmente pela maior facilidade de ajustarem-se as alterações na topologia. Os LS também propiciam aos roteadores uma troca menor de informações, o que pode significar menos recursos da rede. Segundo Perlman (2000) não existem estudos plenos e definitivos comparando a eficiência dos algoritmos. E Kurose e Ross (2005) afirmam que, no final, nenhum algoritmo “ganha” do outro, sendo ambos usados na Internet. • Roteamento Multicast O sistema de roteamento multicast possui como maior objetivo a redução de consumo de banda nas redes. O princípio básico é o envio de uma cópia de datagrama para um GRUPO de destinatários, ao invés de enviar uma cópia para cada um. Os destinatários interessados na cópia devem se cadastrar nos gateways, que tevem ter os protocolos de roteamento multicast habilitados. Os principais são o PIM e o DVMRP. Na net-pizza o multicast funciona da seguinte maneira: Vários consumidores, de vários pontos da cidade fazem os pedidos a uma central da net-pizza. Ao invés de produzir nessa central todas as pizzas e encaminha-las para os consumidores finais a disâncias signficativas, a central distribui os pedidos para agencias próximas dos consumidores que fizeram o pedido, enviando um “modelo” da pizza para ser reproduzida para essas agencias periféricas. Isso evita de enviar uma pizza para cada usuário. As lojas dos bairros copiam o modelo e entregam ao cliente. Não foi necessario enviar proto-boys a todos os destinatários, mas sim a alguns pontos de referencia. • Protocolos de roteamento. Os protocolos de roteamento podem ser divididos em Internos e Externos. Os internos (IGP ou Internal Gateway Protocol) são usados dentro de um Sistema Autônomo. Os externos (EGP – External Gateway Protocol) são usados para comunicação entre esses sistemas. Você pode usar uma abstração semelhante as redes locais para perceber a comunicação usada pelos IGPs e pelos EGPs. Os protocolos internos funcionariam da mesma forma que as mensagens entre as máquinas da rede local. Quando precisam se comunicar com outros sistemas autonomos, os roteadores internos precisam de um gateway. É onde começa a atuação dos protocolos inter-AS, que ligam as nuvens dos sistemas, como os roteadores internos ligam as redes locais - Figura 128. 151
  • 152. Disciplina de Redes e Comunicação de dados LAN 1 LAN 2 LAN 3 LAN 4 Figura 128 - AS e LAN • Protocolos IGP Os IGPs são os protocolos que funcionam dentro de um AS Existem dois tipos de IGP: a)Baseados nos algoritmos de vetor de distancia (Bellman-Ford) RIP (IP), RTMP (AppleTalk), RIP (IPX), e DECnet fases 3 e 4. b)Baseados nos estados dos enlaces (Dijkstra) IS-IS (IP, CLNP), NLSP (uma versão do IS-IS para IPX), OSPF (IP) e PNNI (ATM). • Protocolos EGP Fazem a comunicação entre os roteadores de borda dos AS. Esse roteamento pode ser feito por adição de rotas estáticas (administrativas) ou pelo External Gateway Protocol (EGP, o antigo protocolo interdomain). O protocolo de borda atual é o BGP (Border Gaeway Protocol), versão 4. Embora o BGP, como padrão de roteamento inter-AS use técnicas semelhantes aos algoritmos DV (Distance Vector), deveria ser caracterizado como um vetor de caminho (Path Vector). Isso porque o BGP não 152
  • 153. Disciplina de Redes e Comunicação de dados propaga a informação dos custos (como o número de saltos que é implementado pelo RIP), mas propaga informações sobre as passagens pelos AS até o destino. Na net-pizza o BGP é o cara que fica trocando informações entre dois bairros vizinhos, através dos postos de borda. Para saber mais Rfc 791 – IP J. Postel http://www.inf.unisul.br/~cerutti/disciplinas/redes2/ RIP – RFC 1058 (v1) e 1723 (v2) OSPF v2 - rfc 2178 Bgp- RFC 1771 153
  • 154. Disciplina de Redes e Comunicação de dados Unidade 8 A camada de Transporte Esta unidade propõe uma análise da camada de transporte e seus dois principais protocolos no modelo TCP/IP: O UDP e o TCP A unidade está dividida em 4 sessões 1- Serviços, Multiplexação e demultiplexação 2- Transporte sem conexão UDP 3 - Principios de transporte confiável 4 - Controle de congestionamento e Janelas Deslizantes. Ao final desta Unidade, você estará apto a: • Diferenciar os dois principais serviços de transporte na Internet. • Diferenciar entre os protoclos TCP e UDP • Entender controle de fluxo e congestionamento Seção 1 – Serviços, Multiplexação e Demultiplexação A camada de transporte é denominada Host-to-Host na pilha TCP/IP original (Figura 130). O nome representa bem a função de ligação entre os hosts. A camada de transporte é responsável por muitos serviços, que basicamente levam a uma comunicação entre os processos que rodam no host de origem e de destino. Essa comunicação acontece de forma transparente aos dispositivos de rede abaixo da camada 4 (Figura 129). Figura 129 - Comunicação host-a-host Normalmente pode-se dizer que a camada de transporte, em conjunto com a camada de aplicação, fazem parte do domínio do usuário, pois só possuem funções nos hosts, ficando 154
  • 155. Disciplina de Redes e Comunicação de dados inativas durante o trajeto. As camadas física, enlace e rede fazem parte do dimínio da rede (Figura 130), e são ativadas em cada segmento de rede que as mensagens percorrem. A camada de rede, logo abaixo, é a responsável pela procura do destinatario, fazendo a comunicação entre os dispositivos de roteamento. A camada de transporte serve como canal de comunicação entre os processos que estão rodando nos hosts (por isso também é conhecida como comunicação fim-a-fim). Na net-pizza, como já vimos, a camada de rede serve para fazer a expedição das pizzas, orientando o proto-boy nas ruas. Quando chega no prédio do destinatário, o endereço será conferido pelo porteiro (camada de rede no destinatário). O porteiro, no destino, encaminha para a pessoa que fez o pedidos das pizzas. Essa pessoa funciona como os processos da camada de transporte. Ela, ao receber as caixas, confere o conteudo, a organização, verifica a existência de erros, arruma a sequencia de caixas para o “banquete” que será servido. Como as camadas inferiores sempre são prestadoras de serviço para as superiores, a pessoa que fez o pedido e conferiu o recebimento está prestando um serviço para o pessoal da degustação. Esses seriam, na analogia, os caras da camada de aplicação. Domínio Do Usuário Domínio Da Rede Figura 130 - Modelo OSI eTCP/IP com os domínios de rede e usuário Existem 2 protocolos padrões para o transporte na camada 4, que as aplicações da camada 5 solicitam para estabelecer a comunicação com o outro sistema final nas redes baseadas em IP. Eles são o UDP – User Datagram Protocol, ou Protocolo de dados do Usuário, que fornece um serviço de transporte leve e não confiável, e o TCP (Transmission Control Protocol), que fornece serviço confiável e controlado. 155
  • 156. Disciplina de Redes e Comunicação de dados Na net-pizza, o UDP é representado pelo anfitrião desligado, que não organizou o jantar, não confere os pedidos na chegada, não organiza a sequencia de pizzas, não exige a identificação do entregador, não exige a nota fiscal e não assina o recibo Não controla os tempos, nem faz chamadas telefônicas cobrando os prazos. O TCP é o anfitrião organizadinho, que executa todas as tarefas que o UDP não executa. Obviamente, o pessoal da pizzaria, quando está com muita pressa, prefere que a entrega seja no estilo UDP. A maior parte das aplicações de Internet usam o TCP (E-mail, servidor e browser da web são os maiores exemplos), uma vez que possui controle de fluxo e confiabilidade, o que garante que os dados não serão perdidos ou corrompidos. Entretanto, muitas aplicações que precisam de mais simplicidade, menos “burocracia”, representada pelos 20 bytes do cabeçalho do TCP - Figura 141. O UDP é adequado para as aplicações que necessitam mensagens de atualização constantes ou não necessitam realmente que cada mensagem seja entregue. Exemplo – DNS e SNMP. Article II. Multiplexação e Demultiplexação o Como a camada de transporte é responsável pela comunicação entre processos, e provavelmente existem vários processos rodando em um host (Figura 133), é necessário aos protocolos de transporte acrescentarem a multiplexação de processos, o que permite que vários deles possam utilizar a rede (Figura 134). Os processos poderiam ser identificados pelo seu número identificador (ID), mas isso exigiria um sistema operacional único, que gerasse chaves de identificação também únicas. Os protocolos de transporte evitam o problema utilizando um mapeamento indireto, com identificadores denominados portas. Tanto o cabeçalho do UDP (Figura 140) quanto do TCP (Figura 141) utilizam campos de 16 bits para identificação das portas de origem e destino dos processos. 156
  • 157. Disciplina de Redes e Comunicação de dados Figura 131 Multiplexação no UDP Isso possibilita a identificação de 2^16=65.536 portas para cada protocolo. algumas das mais comuns estão listadas na Tabela 14. Uma lista completa pode se obtida na RFC 1700. Obviamente, os processos não são identificados para toda a Internet, mas sim para conjunto [host-protocolo-porta] Tabela 14 –Exemplos de Portas TCP/UDP Para fazer on-line O comando netstat –a pode ser utilizado para identificar as portas que estão sendo utilizadas na sua máquina. No Unix, use netstat –nau para ver as portas UDP, e netstat –nat para as TCP. 157
  • 158. Disciplina de Redes e Comunicação de dados Figura 132 Saida do comando netstat -a em sistema operacional windows Os números de portas são amplamente usados pelos responsáveis pela segurança das máquinas, uma vez que mantendo filtros e portas fechadas, o risco de uso indevido é menor 158
  • 159. Disciplina de Redes e Comunicação de dados . Figura 133 - Processos rodando em um Sistema Windows Tarefa on-line: Para verificar os processos no seu computador, digite ps –aux no unix ou ctrl+alt+del no windows Figura 134 - Multiplexação de 4 protocolos da camada 5 (smtp, snmp, nfs, http) pela camada de transporte (TCP/UDP) Segmentação A camada de transporte recebe as unidades de dados (PDUs) da camada de aplicação, no lado do remetente (Figura 136). 159
  • 160. Disciplina de Redes e Comunicação de dados Your Mail E-Mail Message 1 Figura 135 - Os dados da camada 5 como mensagem O TCP quebra a mensagem em peças mais fáceis de controlar, os segmentos (Figura 136). Your Mail E-Mail Message 2 Figura 136 - Mensagem quebrada em segmentos na camada 4 Depois de segmentar a mensagem, o TCP acrescenta um cabeçãlho em cada segmento. O cabeçalho servirá para identificar as portas de destino, os números da sequência dentro da mensagem completa (Figura 137). Figura 137 - Cabeçaho do TCP sendo inserido nos segmentos Pronto. Os segmentos já podem ser inseridos em um datagrama para encaminhamento ao próximo salto (Figura 138) . 160
  • 161. Disciplina de Redes e Comunicação de dados Figura 138 - Encaminhamento do segmento TCP para o interior de um datagrama, num processo controlado pelo IP. Message Message TH TH Transport Transoport Transport Layer Protocol Layer Layer PACKET PACKET PH PH Network Packet Layer Network Protocol Layer Layer FRAME FRAME Data Link Link Layer Data Link DH DT Protocol DH DT Layer Layer Transmission Physical Protocol Physical Layer Layer 10111000011110101 Figura 139 - Percurso das mensagens na pilha de Protocolos 161
  • 162. Disciplina de Redes e Comunicação de dados No host receptor, a camada de transporte recebe os segmentos da camada de rede, remonta a mensagem e repassa para a camada de aplicação acima dela (Figura 139). A demultiplexação dos protocolos, pela identificação das portas, é que torna possível essa entrega. Seção 2 - Transporte sem conexão UDP O Protocolo de dados (datagrama) do usuário fornece serviços de transporte com baixa sobrecarga para aplicações que não precisam (ou não podem usar) os serviços orientados a conexõa oferecidos pelo TCP. O UDP é usado na maioria das vezes por aplicações que fazem uso intensivo de multicasts ou broadcasts, ou aplicações que necessitam respostas rápidas em pesquisas ou requisições, como a resolução de nomes, a gerência de redes ou fluxos de áudio. Na Tabela 15 você pode conferir algumas aplicações e o protocolo de camada 4 utilizado Protocolo de transporte – Aplicação Protocolo da camada 5 Camada 4 Electronic mail SMTP TCP Remote terminal access Telnet TCP Web HTTP TCP File transfer FTP TCP Remote file server NFS typically UDP Streaming multimedia proprietary typically UDP Internet telephony H323/SIP typically UDP Network management SNMP typically UDP Routing protocol RIP typically UDP Name translation DNS typically UDP Trivial File Transfer TFTP UDP Tabela 15 - Aplicações mais populares e protocolos da camada 4 e 5 (segundo Kurose & Ross, com adaptações) O UDP (User Datagram Protocol) está definido na RFC 768. O campo de dados contém os segmentos (mensagens de consulta DNS, SNMP ou parcelas de audio, por exemplo). O cabeçalho do UDP contém apenas 4 campos, cada um com dois octetos. O UDP faz uma checagem simples para detectar erros. Características do serviço prestado pelo UDP: 162
  • 163. Disciplina de Redes e Comunicação de dados Não há estabelecimento de conexão. Os segmentos são enviados sem que o destinatário envie uma aceitação, ou requisite uma identificação do remetente. Não existe monitoração dos estados de conexão. O UDP não monitora os buffers de envio ou recebimento, controles de congestionamento e sequenciação. Devido a essa simplicidade, um hst cujas aplicações usem UDP como transporte, suportam mais conexões do que se usassem TCP. Pequeno Overhead do cabeçalho. Ao contrário do TCP, que acrescenta 20 bytes de cabeçalho, causando uma sobrecarga razoável, o UDP acrescenta apenas 8 bytes. Não existe controle do fluxo. O UDP não controla as taxas de envio e recebimento. As outras camadas (aplicação e rede) é quem determinam as possibilidades de fluxo do UDP. Como não controla as sequencias, nem confirma os recebimentos, as aplicações que usam o UDP podem perder alguns segmentos. Não existe controle para evitar duplicidade de segmentos. Uma vez que o UDP não confirma os recebimentos, também não retransmite. Isso garante que os segmentos não serão duplicados na rede. Resumindo as características do UDP, ele faz o mínimo possível para um protocolo de transporte: Multiplexação e demultiplexação e uma verificação básica de erros. Dessa forma, o UDP acrescenta muito pouco ao trabalho do IP, mas é muito eficiente na sua proposta de economizar recursos da rede. Article III. Article IV. Figura 140 -Cabeçalho do UDP e seus 8 bytes 163
  • 164. Disciplina de Redes e Comunicação de dados Seção 3 - Principios de transporte confiável - TCP O Protocolo de Controle de Transmissão (Transmission Control Protocol) fornece um serviço confiável, orientado a conexão para uso em aplicações que são orientadas a transações. É usado pela maioria das aplicações de Internet, que exigem ausência de erros e nenhuma perda de informações (veja a Tabela 15, na seção anterior). O TCP propicia ainda um eficiente controle de fluxos, regulando as taxas de transmissão e recepção. Possui também mecanismos para minimizar congestionamentos. O TCP foi padronizado pela RFC 793. O cabeçalho do TCP (Figura 141) demonstra bem os recursos do protocolo. Além das portas e do campo de verificação de erros que já encontrávamos no cabeçalho do UDP, aqui vamos encontrar campos responsáveis pela verificação da sequencia dos segmentos, conexão entre os dois hosts, e os controles de fluxo. Ao todo, são 20 bytes usados para manter essas funcionalidades. Figura 141 Cabeçalho do TCP Operação Básica do TCP Como mostrado na Figura 142, o processo de transporte do TCP ocorre em 3 estágios. -Primeiro estágio: Estabelecimento da conexão entre os dois hosts (a-end e B-end na figura) que desejam se comunicar. Esse estágio é denominado sincronização, e por sua vez comporta 3 fases, que serão descritas a seguir. 164
  • 165. Disciplina de Redes e Comunicação de dados -segundo estágio: Transmissão de dados. Esse estágio envolve os conceitos de • Confiabilidade: Os segmentos serão entregues com garantia • Controle de fluxo (entre os end-systems) • Controle de congestionamento (entre os dispositivos intermediários) -terceiro estágio Fechamento da conexão. Ocore após o final da transmissão, e os dois hosts participam. Caso algum erro irrecuperável ocorra durante o estágio de transmissão de dados, o fechamento deve ser imediato, num processo denominado “connection reset” A confirmação dos segmentos avisa ao emissor que o outro lado recebeu com sucesso (sem erros detectados). Qualquer segmento não confirmado após um periodo de tempo, é retransmitido. O sistema que envia é o responsável pelo relógio que irá determinar se a confirmação chegou a tempo ou não (o emissor ajusta o retransmission timer). Um valor típico para a o tempo de retransmissão é 3 segundos. Esse período é denominado Retransmission Time Out (RTO). Quando o RTO é atingido e o remetente não recebeu um Acknowledgement (ACK), o segmento é automaticamente retransmitido. A retransmissão de um mesmo segmento continua até a chegada de um ACK para aquele segmento ou até o encerramento da conexão. Figura 142 - Estágios básicos da conexão do TCP 165
  • 166. Disciplina de Redes e Comunicação de dados (i)O RTO é ajustado para evitar congestinamentos, caso ocorram muitas retransmissões. Os ajustes são determinados com base no RTT, ou Round Trip Time (tempo que um pacote ICMP – estudado na unidade anterior - demora para ir ao destino e voltar a fonte). O TCP acrescenta uma pequena margem de segurança ao RTT e estipula assim o RTO (Figura 143). Figura 143 - Ajuste do RTO com base no RTT Juliana 16.089,14 22 Estabelecimento de conexão do TCP – O three-way handshake. Uma sessão do TCP inicia como uma negociação de 3 passos (three-way handshake), como ilustrado na Figura 145. Essa conexão é diferente de uma ligação telefônica, pois não existe um circuito físico estabelecido entre os terminais. Tampouco é um circuito virtua verdadeiro, pois os dispositivos intermediários (switches e routers) não tem conhecimento dessa conexão, como o têm nas tecnologias ATM, X.25 e Frame Relay. Ao invés disso, o estabelecimento da conexão apenas determina a existencia de um caminho entre os hosts, e que esses caras estão prontos para “conversar”. Existe uma troca de 3 mensagens no three way handshake. Somente após o recebimento e envoi dessas mensagens é que os hosts estão aptos a enviar os dados. As três mensagens trocados pelos hosts são syn, syn/ack e ack. Quando uma aplicação (por exemplo, um browser web) necessita dos serviços do TCP: a) envia uma requisição OPEN, requisitando uma chamada a uma aplicação em um host de destino. 166
  • 167. Disciplina de Redes e Comunicação de dados b) O TCP, na estação de origem, cria um cabeçalho com essas informações, e e configura o bit SYN no campo Flags (Figura 141 demonstra o cabeçalho e Figura 144, com os detalhes do campo Flags, que também é denominado Code Bits). c) Além disso, o TCP marca o campo sequência com um valor inicial qualquer, digamos X, que pode ser inclusive o zero. d) O TCP então completa os outros campos (porta 80 no destino, por exemplo), e) dispara o RTO (retransmission time out). f) O segmento é enviado então ao IP, no andar de baixo, g) O IP “envelopa” o cara em um datagrama e encontra o melhor caminho até o destino (Bom, essa história você já conhece). Figura 144 - Campo Flags – detalhe do cabeçalho TCP - com 6 códigos possíveis Na net-pizza o segmento é uma fatia de pizza e o datagrama a caixa da pizza. Quando o datagrama chega ao destino: a) o IP abre o envelope, retira o segmento e passa para o TCP, no andar de cima. b) O TCP prepara um segmento para resposta, arruma o cabeçalho, e configura o bit SYN e o bit ACK no campo code bit (flags). c) O TCP configura o número correto para os campos ACKNOWLEDGE number (X+1) e Sequence Number (digamos, Y). Perceba que o numero de sequencia, aqui pode novamente ser inicializado com qualquer valor, digamos y, mas o campo com o ACKNOWLEDGE number deve ter o número de sequência no segmento que chegou mais 1 (Figura 145). 167
  • 168. Disciplina de Redes e Comunicação de dados Posso falar com voce na porta 80? Sim eu presto serviços nessa porta e estou pronto para conversar Estou confirmando, entendi e vou iniciar a transmissão Figura 145 - Estabelecimento da conexão do TCP- 3-way handshake (ii)Serviços Fornecidos pelo TCP Muito embora seja possível para as aplicações providenciarem seus próprios mecanismos de confiabilidade e controles de fluxos, não existe viabilidade prática. Isso também violaria o principio de divisão de funções nas camadas. Ao invest de desenvolver essas funcinalidades, é muito mauis razoável deixar essas funções para os caras da camada de transporte, uma vez que todos os protocolos da camada 5 precisam acessá-los. O TCP fornece 5 serviços chaves para as aplicações: A) Circuitos Virtuais: Embra de uma forma diferente dos circuitos virtuais propriamente ditos, o protocolo fornece um canal entre os dois sistemas finais (Figura 146). Os circuitos virtuais efetivos, como estudados nas técnicas de comutação, mantém as informações dos trajetos armazenadas nos dispositivos intermediários (comutadores e roteadores), como o Frame Relay e o ATM. O TCP mantém a informação somente nos dois sistemas finais que estão se comunicando. 168
  • 169. Disciplina de Redes e Comunicação de dados Figura 146 - Circuitos virtuais do TCP Esse recurso é básico para as outras características do protocolo, pois possibilita o controle de fluxo e a confiabilidade, com as confirmações de entrega e retransmissões. B)Gerência de I/O da aplicação: As aplicações se comunicam pelo envio de mensagens. Quem recebe as mensagens no primeiro momento é o TCP. Esse cara funciona como um provedor de acesso ao IP, coletando as mensagens, gerando os segmentos e armazenando os segmentos em buffers de saída para a camada de rede. As aplicações enviam os dados da comunicação como um fluxo continuo, graças a essa gerência dos segmentos individuais realizada pelo TCP. Perceba que vários processos TCP cuidam de várias aplicações. Ao chegar no host de destino, o Ip pode entregar os segmentos ao TCP, que pode armazenálos em um buffer, a partir do qual irá organizá-los e entregá-los como um fluxo contínuo para a camada de aplicação. Figura 147 - Buffers de entrega da camada 4 169
  • 170. Disciplina de Redes e Comunicação de dados C) Controle de Fluxo Hosts diferentes na rede possuem características diferentes. CPU, memória, interfaces de rede, banda disponível. Por essa razão, nem todos conseguem enviar e receber dados na mesma taxa. O TCP é o cara que precisa tratar desse problema. E ele cumpre sua tarefa sem perturbar a aplicação, que fica enviando seus dados continuamente. O controle de fluxo será visto mais adiante com mais detalhes. D) Confiabilidade O TCP fornece service confiável através da monitoração dos dados que está enviando. Para isso, o campo de sequencia no cabeçalho dos segmentos é utilizado. Os sinais de aceitação (acknowledgment flags) são utilizados para confirmar os recebimentos e o campo de checksum (verificação) é utilizado para validar os dados. Tomados em conjunto: 170
  • 171. Disciplina de Redes e Comunicação de dados Sequenciação TCP altamente confiável, Aceitação/confirmação mesmo rodando sobre uma rede inconfiável. Verificação Seção 4 Janelas Deslizantes, Controles de Fluxos e congestionamento Janelas Deslizantes (Sliding Windows) O processo de confirmação do recebimento dos segmentos, visto anteriormente e a utilização do método de janelas, que você verá agora, formam os elementos críticos para os controles de fluxo e congestionamento do TCP. O uso da técnica de janelas deslizantes limita o número de octetos que podem ser enviados antes de receber uma confirmação do destinatario. Essa técnica de confirmação (só envia o proximo grupo se o anterior for confirmado) é denominada Positive Acknowledgment and Retransmission (PAR). Através da técnica, a origem envia um segmento e aciona o relógio (RTO - Figura 143). Se o Retransmission Time Out expirar antes da origem receber a confirmação do segmento, a origem retransmite o segmento e aciona novamente o RTO. Muitos protocolos utilizam essa técnica para garantir a confiabilidade. Para evitar uma confirmação enviada pelo destino para cada segmento transmitido pela origem, os segmentos são agrupados em Janelas, que possuem tamanhos variáveis. O tamanho da janela determina a quantidade de dados que pode ser transmitida antes de ser recebida uma confirmação do destino. Quanto maior o tamanho da janela (bytes), maior a quantidade de dados que o host pode transmitir. Figura 148 - Campos de sequencia e confirmação no TCP 171
  • 172. Disciplina de Redes e Comunicação de dados O TCP usa um método de confirmação denominado confirmação de espera, o que significa que o número da confirmação se refere ao octeto que é esperado a seguir (por exemplo, se recebeu o octeto 3, confirma com o numero 4) (Figura 148 e Figura 149). O tamanho da janela é negociado dinamicamente durante a sessão TCP. Isso permite que os hosts combinem janelas maiores caso a transmissão esteja em condições favoráveis (baixo RTT, taxa de erros reduzida) Se o destino receber os três octetos, ele enviará uma confirmação ao dispositivo de origem, que poderá então transmitir mais três octetos. Se, por algum motivo, o destino não receber os três octetos, por exemplo, devido à sobrecarga de buffers, ele não enviará uma confirmação. Perceba que a confirmação pode ser enviada, mas não chegar, ou chegar após o RTO. O remetente retransmite e controla o fluxo, reduzindo a taxa. Figura 149 - Janelas e confirmação em espera do TCP Controle de Fluxo e Congestionamento O controle de fluxo busca evitar que a transmissão de dados ultrapasse a capacidade de recepção. Trata da relação entre os hosts. O controle de congestionamento busca evitar que segmentos em demasia sejam injetados na rede, tornando os enlaces sobrecarregados (switches, routers). Trata da relação entre os hosts e os dispositivos de redes. São efinidos 5 métodos para os controles de fluxo e congestionamento (RFC • slow start (Inicio Lento) • congestion avoidance (Evitar congestinamento) • fast retransmit (retransmissão rápida) • fast recovery (Recuperação Rápida) • explicit congestion notification (ECN - Notificação explicita de congestinamento, efinida na RFC 3168). 172
  • 173. Disciplina de Redes e Comunicação de dados Vamos analisar os dois primeiros métodos, seguindo a ilustração da Figura 150. (Para uma descrição mais detalhada do controle de congestionamento, e dos outros três métodos, veja o capitulo 7 de Clark, M. P. Data Networks, IP and the Internet: Protocols, Design and Operation - 2003 John Wiley & Sons, Ltd ISBN: 0-470-84856-1). Figura 150 - Procedimentos de início lento e evitar congestinamento (2º. Clark, 2003) Início Lento – Slow Start A janela inicial é configurada com um tamanho mínimo, equivalente ao MSS ou Máximum Segment Size 3, para prevenir que o remetente bloqueie o receptor com um volume grande de dados. Conforme a recepção ocorra dentro do esperado, e as confirmações cheguem a contento, o tamanho da janela é incrementado exponencialmente pelo transmissor (parte inicial da Figura 150). Esse procedimento é combinado com o “evitar” congestinamento sempre que o tamanho da janela exceda um limiar denominado SSTHRESH (Slow start threshold – limiar do início lento), que será visto a seguir. Evitar Congestinamento – Congestion Avoidance Uma vez que o tamanho da janela seja aumentado até atingir o SSTHRESH, o procedimento de “evitar congestinamento” entra em ação. Sob esse procedimento, o tamanho da janela continua a aumentar pelo comando do remetente, mans de forma linear e não exponencial. Ou seja, a taxa de aumento do tamanho da janela é menor que no processo slow start. O tamanho máximo da janela corresponde ao tamanho máximo que o destinatário possui de espaço nos buffers. Esse tamanho é denominado Janela do recptor (receiver window, ou Rcwd na Figura 150. 3 O MSS é uma unidade de tamanho usada em conjunto com o tamanho da janela. Serve como um limite para que os hosts não usassem segmentos muitos grandes associados a janelas muito extensas. Os calculos para esse acordo envolvem vários algoritmos. 173
  • 174. Disciplina de Redes e Comunicação de dados Nessa figura está ilustrada também a redução do tamanho da janela na presença de perdas de pacotes ou segmentos. Nesse caso, a janela recua para um tamanho denominado Loss Window (LW), que é um pouco mair que o tamanho inicial (IW). Daí em diante, o aumento é novamente exponencial, até a chegada do limiar SSTHRESH. Para saber mais – RFC 2581 – controles de fluxo Unidade 9 Article V. A camada de Aplicação Finalmente, chegamos ao topo do nosso prédio, estamos no ultimo andar da pilha TCP/IP. Ao final desta Unidade, você estará apto a: • Identificar as funções da camada • Diferenciar os principais protocolos da camada de aplicação. • Entender alguns princípios do DNS, HTTP e SMTP Esta unidade está dividida em 6 seções; Seção 1- Funções e Serviços da camada Seção 2 – DNS Seção 3 - http Seção 4 - SMTP Seção 1- Funções e Serviços da camada Para quase todos os usuários da rede, a Internet é uma aplicação, ou aplicações. Na verdade, as aplicações são a razão de ser das redes. Web, e-mail, transferencia de arquivos, bate-papos, web cams, telefonia pela Internet, videoconferência e- ora, ora - Ensino a Distância. E o que vier por aí. Na net-pizza, a camada de aplicação é representada pelos pizzaiolos e pelos consumidores de pizza. Qual seria a razao de existir toda a estrutura da pizzaria (o pessoal que recebe os pedidos, os que escolhem os caminhos – expedidores, os proto- boys, furgões, os pontos de informação nos cruzamentos, o anfitrião que recebe as caixas de pizzas no lado cliente), todo 174
  • 175. Disciplina de Redes e Comunicação de dados esse arsenal, se não existissem os sujeitos que produzem e os que comem as nossas belas e cheirosas pizzas? Nenhuma razão. Portanto, se você é um administrador de redes, fique registrado o que você já sabe, mas não fala: As aplicações são, sim, a razão do trabalho dos administradores de redes. Se elas – as redes - estão funcionando, as pizzas chegando a tempo, quentinhas, os glutões / usuários nem percebem a existência da estrutura “azeitada” (oliva de 1ª., claro). Mas, se o furgão quebrar, bater ou ficar sem combustível; se a rua escolhida estiver bloqueada, esburacada, congestionada; se o posto de informações estiver em greve; se o cara da expedição estiver de mau humor, ou o proto-boy estiver sobre-atarado... A pizza pode chegar fria, desmontada, atrasada, pela metade, com a composição trocada, ou não chegar. O usuário comum liga para o call-center com a queixa de que a “Internet está fora”, e você se pergunta: “o que significaria isso?” Podem ser muitas coisas, inclusive uma aplicação que não esteja funcionando. Mas quais são mesmo as responsabilidades e funções dessa nobre camada na pilha de protocolos? Para entender isso, você precisa lembrar da composição heterogênea do ambiente da Internet: Computadores de diversos portes, sistemas operacionais variados (Unix, Linux, Windows, MacOS...) que suportam diferentes convenções de nomes de arquivos, codificações de dados, tipos de terminais e interfaces. A camada de aplicação é a responsável por manter com sucesso o nível de comunicação entre essa torre de babel. Para isso, a ultima camada da pilha contém vários protocolos (como http, FTP), e sistemas auxiliares (como o DNS), que irão cumprir essas tarefas. Basicamente, os protocolos da camadade aplicação devem definir regras para: o Os tipos de mensagnes que serão trocadas, como mensagens de requisição e de resposta. o A sintaxe das mensagens, com a definição dos campos. o A semântica desses campos, ou seja, qual o significado da informação de cada campo. o Envio e resposta das mensagens. Adicionalmente, a camada de aplicação possui softwares que são definidos pelo usuário do sistema (programas). Quando essas aplicações são produzidas para funcionar em rede, elas terão normalmente uma distribuição entre dois ou mais sistemas finais, ou hosts: A parte do cliente, que irá solicitar serviços, e a parte do servidor, que prestará os serviços (Figura 151). 175
  • 176. Disciplina de Redes e Comunicação de dados Figura 151 - Interações entre os processos cliente e servidor na camada de aplicação Como exemplo dessa distribuição de tarefas em hosts diferentes, podemos examinar os clientes e servidores de páginas web. Uma aplicação cliente, o browser, solicita informações de um servidor, o web server, que está funcionando normalmente em uma máquina remota – que poderia estar fisicamente no Sri Lanka- Tá legal, como nesse momento você pode estar em qualquer lugar, o exemplo de algo distante só vale se voce não estiver agora no Sri Lanka. Muitos protocolos devem atuar já na camada de aplicação para que essa comunicação se estabeleça. È fundamental que você entenda as diferenças entre as aplicações e os protocolos da camada de aplicação. Os protocolos são apenas uma parte, embora grande, das aplicações projetadas para funcionar em rede. Uma aplicação web usa muitos componentes de software (a linguagem de hiper-texto, HTML, os browsers, como o Firefox e o Internet Explorer, e os servidores web, como o Apache, Netscape). Essas aplicações possuem interfaces – APIs, Sockets - de comunicação com o protocolo http, que é o responsável pelas definições sobre como essa comunicação irá ocorrer. Nas próximas seções iremos examinar alguns porocolos da camada de aplicação. 176
  • 177. Disciplina de Redes e Comunicação de dados Seção 2 – DNS – Domain Name System, ou Sistema de Nomes de Domínio Existem atualmente mais de 170.000.000 (cento e setenta milhões) de máquinas conectadas na Internet4. Com esse número de máquinas, como poderemos saber os endereços IP (aqueles numeros divididos em 4 octetos que estudamos anteriormente), mesmo que fossem somente dos sites que mais nos interessam? E ainda, como se poderiam estabelecer hiperlinks entre as páginas de diversos locais, com endereços IP mudando constantemente? O DNS procura resolver esses problemas, traduzindo endereços IP em nomes que são lembrados mais facilmente, e podem permanecer os mesmos, mesmo que as máquinas troquem de lugar. Os usuários e os programas da máquina do usuário preferem usar nomes para se referir as máquinas, mas os protocolos das camadas inferiores – rede e enlace, só se comunicam através dos números. O DNS faz a interpretação entre esses dois mundos. Basicamente, o sistema é uma base de dados distribuída, que mantém as informações necessárias para que as aplicações entendam os nomes das máquinas e encontrem entre essa floresta de computadores, quais são responsáveis por alguns serviços essenciais em uma rede: Quem desempenha o papel de servidor de e-mail, quem é o próprio servidor de nomes e outros. O sistema DNS funciona baseado na arquitetura cliente servidor. Usa também o UDP na camada de transporte (em algumas situações, como na troca transferência das bases de dados entre os servidores, o TCP deve ser utilizado). Ambos os protocolos utilizam a porta 53 para o transporte. O lado cliente funciona com rotinas denominadas Resolver. E os servidores são distribuídos, como vimos no mapa da secção 3 do capítulo 6. Mas cada domínio possui um servidor de nomes responsável por ele. Dessa forma o domínio unisul.br possui um servidor de nomes, e o seu provedor de acesso também. Para desobrir a quem o cliente DNS da sua máquina se dirige para resolver um nome, digite no prompt do ms-dos: Ipconfig /all Ao contrário das demais aplicações da ultima camada, o DNS não interage com o usuário diretamente. O sistema apenas fornece serviços de tradução para outros softwares, associando as duas formas de endereçamento. Exemplo: Quando digitamos http://www.vitual.unisul.br, vai o DNS vai ser convocado para converter esse nome em um endereço IP. Você já fez esse exercício, mas pode repetí-lo: Através do comando ping, no prompt do ms-dos ou no shell do linux, digite ping www.unisul.br e descubra se o seu servidor de nomes está funcionando corretamente. 4 Esse levantamento é feito por vários institutos, mas talvez o mais considerado nos meios acadêmicos seja o do ISC: http://www.isc.org , que publica anualmente suas estatísticas, e mantém um gráfico do número de hosts. 177
  • 178. Disciplina de Redes e Comunicação de dados Desta forma é transferida para a aplicação a tarefa de encontrar o endereço IP correspondente ao nome informado. Este processo é chamado de resolução de nomes de máquinas. Uma aplicação que deseje encontrar um endereço IP de uma determinada máquina não necessita ter as suas próprias rotinas de pesquisa de máquinas e endereços IP. Ao invés disso ela pode utilizar diversas funções de bibliotecas que fazem isso de forma Transparente. Podemos ver o processo de resolução ilustrado na Figura 152, onde um host qualquer precisa descobrir o IP de uma máquina servidora, para fazer uma transferência de arquivos pelo protocolo FTP (Protocolo de Transferência de Arquivos). Figura 152 - Resolução de endereços desde a camada de aplicação até a de enlace O resolver é o cliente do DNS que fica esperando pelas dúvidas das aplicações, e as encaminha para o Servidor de nomes. 178
  • 179. Disciplina de Redes e Comunicação de dados Figura 153 - cliente - resolver - solicitando uma resolução de nomes ao servidor P_A_E:_QSR'A_E)HUT V As bases de dados de nomes trabalham com dois conceitos importantes: Zonas: São as informações contidas nos arquivos do banco de dados do DNS. Na prática, uma zona é um arquivo, definido no servidor, que contém os registros do DNS. Domínio: Porção de uma hierarquia identificada por um nome (unisul.br). Um domínio normalmente é organizado em unidades menores, mais gerenciáveis, com poderes delegados, chamadas sub- domínios. Um domínio nada mais é do que uma sub-árvore do espaço de nomes de domínio. O nome de um domínio é o nome do ramo que está no topo daquele domínio. Por exemplo, o topo do domínio virtual.unisul.br é um ramo chamado unisul.br, da mesma forma como você esperaria encontrar o diretório /usr no topo de /usr/local 179
  • 180. Disciplina de Redes e Comunicação de dados 8;:<1= #-?>@$BADC0$E #FGA&HI-?3 JKHIFLCB"M-?NB"_$#FO PHIQR>'CBFO)BHI"_$#-=SO$PAIFOHI-*)&$E)& "_T?UIC&3V-0HB>W1' #-*$&1@SGH?)BHB>YX* D>'>K3ZQ?3Z[23 SGHI-*)& EUIC0$_>$E$#-=]*$#FGADC0$#"E(?CB"_HB>_^B>_ IC'S'FOHB>*(*$#"7CD"_H Fa$&)&$L4 Figura 154 - Dominios de 1o. e 2o. níveis Os domínios possuem uma hierarquia, como mostrado na Figura 154. Os TLD, Top Level Domains se dividem em três áreas distintas: Genéricos, Geográficos e Darpa. Todos os domínios geográficos, de duas letras, possuem os nomes baseados nos códigos de países da norma ISO 3166, menos a Inglaterra. Ela deveria ser gb pela norma, mas usa uk. Segundo Cricket e Albitz - autores do livro DNS and BIND, a obra mais respeitada sobre o DNS e editado no Brasil pela Campus - isso não tem importância, pois os caras dirigem no lado errado das estradas, também. Veja o início da lista da ISO 3166 na Tabela 16. 180
  • 181. Disciplina de Redes e Comunicação de dados Tabela 16 - Alguns dos TLDs geográficos No brasil, a autoridade responsável pelo controle do dominio .br é o registro.br (visite o site http://registro.br) e descubra mais sobre o domínio Unisul.br, através das ferramentas de pesquisa, principalmente a Whois, encontrada nesse site. Os domínios superiores delegam para os seus sub-domínios as funções de resolver os nomes que estiverem sob sua tutela.(Figura 151). Assim, o subdomínio unisul.br foi delegado pelo domínio .br. Dessa forma, os administradores do sistema de nomes da unisul podem nomear as maquinas do domínio da forma mais apropriada. Isso é feito normalmente segundo a estrutura administrativa da instituição. Os administradores do domínio unisul.br criaram subdomínios para abrigar departamentos, e campii da universidade.. Por exemplo virtual.unisul.br (sub-dominio virtual do dominio unisul.br), inf.unisul.br (sub-dominio da informática). Cada um desses sub-domínios pode ter máquinas chamadas www, e a hierarquia dos nomes garante que mesmo assim serão únicas em toda a internet. Assim, www.inf.unisul.br e www.virtual.unisul.br , por estarem em subdomínios diferentes, podem ser identificadas sem problemas de qualquer região do planeta. 181
  • 182. Disciplina de Redes e Comunicação de dados Figura 155 - Sub-domínios e delegações de responsabilidades Um sub-domínio, ou domínio filho, não existe sem que o domínio acima dele, ou pai, delegue poder para o cara. Esse princípio é fundamental para o funcionamento do DNS. x_yzy'{_|_} ~). {q.U._.?~_yv..~-.. ..+.N{q..._.z{.....N{...._. . . .{).[ i._..yI. ~._..y. ;.?{_y_.......). ._{_ Tá legal, mas de onde vêm as delegações? Por exemplo, quem delegou o domínio .br para o registro.br? Na América Latina, o responsável é o Latnic (www.latnic.org). Existem vários autoridades responsáveis pelos endereços, nomes e protocolos distribuídos pelo planeta. Veja a Tabela 17. Tabela 17 –Entidades responsáveis pelos registros de endereços e nomes 182
  • 183. Disciplina de Redes e Comunicação de dados Para saber mais sobre o DNS, consulte as RFCs 1034 e 1035. Também o livro de Cricket e Albitz (DNS e BIND, ed campus). Seção 3 - HTTP – Hyper Text Transfer Protocol ou Protocolo de Transferência de Hiper-Texto O HTTP é o protocolo responsável pela comunicação entre clientes e servidores web. Esse conjunto fez um sucesso tão grande que´foi o responsável pela explosão no crescimento da Internet, a partir da sua criação, no início da década de 1990. Analisando com mais cuidado, percebemos que foram 4 as tecnologias que possibitaram o crescimento exponencial da Internet, pois faclitaram a busca por informações nos computadores remotos: O HTTP, o HTML - hypertext markup language- os browsers web e o DNS. Atualmente, se encontram tão presentes na vida dos usuários da rede que podem ser confundidos com a própria rede. Você já deve ter percebido alguém dizer que a “Internet está fora do ar”, somente baseado no fato que algum site importante ficou inacessível. Figura 156 - Modelo Web, com requisições distribuídas - 2o. Tanembaum, 2003 O DNS, como já vimos na seção anterior, tornou amigável aos humanos o endereçamento. O HTTP, que será analisado nesta seção, possibilita a transferência rápida dos arquivos pelo uso do hyperlinks. Por sua vez, o HTML permite que esses hyperlinks sejam escritos em uma linguagem familiar, de texto, como documentos. E os browsers web permitem que os usuários interajam com os documentos, que podem ser atualmente um conjunto de tipos de arquivos (formulários, som, vídeo) localizados em fontes distintas. 183
  • 184. Disciplina de Redes e Comunicação de dados 184
  • 185. Disciplina de Redes e Comunicação de dados Funcionamento do HTTP O cliente http solicita uma conexão inicial com o servidor. Uma vez estabelecida a conexão, os processos rodando no cliente e no servidor acessam a porta TCP combinada. O cliente envia requisição HTTP, que pode ser de dois tipos: Get, que irá solicitar o conteudo de um hyperlink, ou POST, que irá remeter o conteúdo de algum formulário eletrônico. Esse tipo está representado no campo Method do cabeçalho de requisição HTTP (Figura 157). As requisições no lado cliente e respostas do servidor (Figura 158) são entregues na porta do TCP, liberando o protocolo HTTP das proucupações de controles de fluxo, sequencias, congestionamentos. Eis aí uma vantagem clara da estrutura em camadas. Na net-pizza, essa liberação de funções pode ser comparada as funções de um Pizzaiolo que só se prucupa com a pizza, ou do cliente que só pensa em comer a pizza. Todas as funções abaixo deles, desde os pedidos até a entrega, ficam por conta de outras pessoa. Figura 157 - Composição de uma mensagem de requisição HTTP Na figura 6, o campo final “Entity Body” vai depender do método: Se for POST, conterá um formulário, e se GET, a requisição do hypertexto. Nessa comunicação, o HTTP tem um comportamento dito “sem controle dos estados” do cliente (Stateless). Portanto, se o cliente solicitar duas ou mais vezes consecutivas o mesmo hypertexto, o servidor remete, sem se preocupar em responder “Ei, ei, acabei de mandar prá você essa página”. 185
  • 186. Disciplina de Redes e Comunicação de dados Figura 158 - solicitações e respostas do HTTP As operações possíveis na reqisição estão na Operação Descrição Options Solicita informações sobre as opções disponíveis Get Solicita o documento identificado na URL Head Solicita metainformações sobre o documento identificado na URL Post Invia informações ao servidor Put Armazena documento sob a URL especificada Delete Exclui a URL especificada Trace Mensagem de solicitação de retorno Connect Usada pelos proxies – veja a próxima unidade, que trata de segurança Tabela 18 - Tipos de solicitação HTTP A resposta do servidor O servidor irá processar a requisição e enviar a resposta com um cabeçalho como o da Figura 159. O resultado da resposta pode ser agrupado em 5 tipos: Codigo Tipo Exemplos de motivos 1xx Informação Solicitação recebida, processamento ativo 2xx Sucesso Solicitação entendida e aceita 3xx Redirecionamento Outra ação precisa ser tomada para completar a operação 4xx Erro docliente Solicitação contém erro de sintaxe, ou não pode ser atendida 5xx Erro do servidor Servidor falhou ao realizar uma operação aparentemente válida Tabela 19 - Grupos de resposta do HTTP 186
  • 187. Disciplina de Redes e Comunicação de dados Figura 159 - Cabeçalho do htttp response URL – Uniform Resource Locator As URLs citadas anteriomente servem como um nome mundial de uma página. Elas têm 3 partes: 1- Um protocolo, ou scheme. 2- O nome DNS da máquina onde a página está localizada 3- Um nome local, válido para identificar o arquivo dentro do servidor. Pode ser um caminho completo ou somente o nome do arquivo. Quando esse nome é omitido, o servidor procura por uma lista de nomes padrão dentro dos seus diretórios, por exemplo index.html, default.asp. Exemplo: http://inf.unisul.br/~cerutti/index.html Nesse caso, temos: HTTP:=Protocolo inf.unisul.br=nome DNS da máquina servidora web /~cerutti/ = Diretório na máquina servidora index.html = arquivo nesse diretório Outros protocolos (também da camada de aplicação) podem ser usados nos browsers. Veja a Tabela 20. 187
  • 188. Disciplina de Redes e Comunicação de dados Tabela 20 - protocolos (ou schemes) usados para compor as URLs Para fazer on line: Acesse um dos servidores de ftp da Unicamp, digitando no seu browser a URL ftp://ftp.unicamp.br Seção 4- SMTP O correio eletrônico uma das aplicações primordiais da Internet. Em vários locais, é a aplicação mais utilizada, o que pode ser medido pelos fluxos dos protocolos nos roteadores. Existem provedores de acesso (ISPs, Internet Service Providers) que possuem milhões de clientes de e-mail (AOL, Gmail, Yahoo, Hotmail). As aplicações envolvidas com a entrega, roteamento e recebimento de e-mail tornaram-se fundamentais, tanto para os negócios quanto para os relacionamentos (e, vejam só, para o ensino a distância!!). Chegam-se a verificar alterações no comportamento social das pessoas, propiciado pela nova forma de comunicação. Como o e-mail parece ser menos formal que o papel, as pessoas ralmente tendem a dizer o que pensam e sentem. Como também parece ser menos pessoal, mais distante que o contato por voz, podem surgir impetos de raiva, frustração, indignação. Esse comportamento pode chegar ao que se resolveu denominar flames (chamas) de correio eletrônico, que consiste na troca de mensagens entre duas pessoas com conteúdos realmente “inflamados”, que elas não trocariam na forma de papel ou de voz, pessoalmente. Outros autores denominam esse comportamento de síndrome do Incrivel Hulk, onde pessoas normais, quando levemente provocadas, se transformam, com reações desproporcionais. Talvez isso ocorra porque o correio eletrônico embora muito eficiente possui uma deficiência comum as linguagens escritas: não consegue transmitir a linguagem do corpo. Esta linguagem pode-se dizer que representa uma parcela fundamental da comunicação entre duas pessoas. E o e-mail tem um agravante em relação as cartas antigas: as pessoas podem responder rápido, enquanto a adrenalina está pulsando... Agentes do cenário: Existem muitas aplicações necessárias para que os e-mails saiam de uma máquina e cheguem ao destinatário. As 3 mais básicas são (Figura 160): -Agentes do usuário (MUA – Message User agent) 188
  • 189. Disciplina de Redes e Comunicação de dados -Servidores de e-mail (MTA – Message Transfer Agent)) -Protocolo de transferência (SMTP – Simple Mail Transfer Protocol) O SMTP é um protocolo de envio de mensagens. Figura 160 - Principais componentes da troca de mensagens eletrônicas Perceba, pela Figura 161, que o sistema de transferência envolve pelo menos 2 MTAs (servidores de correio): O do usuário remetente e o servidor do destinatário. MUA - Message User Agent MUAs são quaisquer dos programas utilizados para ler, responder, compor e dispor de mensagens eletrônicas. Exemplos de MUAs comuns: Mozilla Mail ThunderBird Outlook pine mail Muitos MUAs podem co-existir em uma única máquina. Normalmente um MUA não pode transportar mensagens, embora alguns sistemas mais atrevidos possam tentar fazer isso. Naturalmente, muitos MUAs ajudam os usuários a fazer mais do que isso, inclusive: recuperando mensagens via protocolos POP ou IMAP (você verá mais sobre esses dois protocolos a seguir) configurando caixas de correio para armazenar mensagens ajudando no repasse de novas mensagens a um Message Transfer Agent, que as fara chegar ao destino final. MTA – Message Transfer Agent 189
  • 190. Disciplina de Redes e Comunicação de dados Um Message Transfer Agent (MTA) transfere mensagens de e-mail entre máquinas utilizando SMTP. Uma mensagem pode envolver varios MTAs a medida que e movida para seu destino final. A maioria dos usuários desconhece completamente a presenca de MTAs, mesmo que cada mensagem de e -mail seja enviada por pelo menos um deles. Enquanto a entrega de mensagens entre máquinas pode parecer bastante simples e direta, todo o processo de decidir se um MTA particular pode ou deve aceitar uma mensagem para entrega e bem complicado. Além disso, por causa de problemas como spam, a utilização de um determinado MTA geralmente e restringida pela própria configuração do MTA ou pelos filtros de acesso à rede do sistema que o executa. Exemplos Postfix Qmail Sendmail Figura 161 - MUA, MTA e MTS Clark, chap 12 SMTP - Funcionamento O ponto de partida é o entendimento das diferenças entre os 3 componentes básicos. O MUA é o software onde você lê e envia seus e-mails. O MTA é o seu servidor de e-mails, que normalmente não é o mesmo do destinatário (desde que voce esteja enviando para uma rede diferente da sua). E o SMTP é o cara que vai transportar as mensagens, entregando elas ao TCP, que irá se encarregar de entragá-la ao MTA do destinatário. O SMTP é bem 190
  • 191. Disciplina de Redes e Comunicação de dados mais antigo que o HTTP, (embora a RFC 821 seja de 1982, o SMTP já existia bem antes disso). Passos de uma mensagem via SMTP: a) O remetente (humano) chama seu agente (MUA) para postar uma mensagem; b) O humano preenche os campos da mensagem, que contém algumas instruções para que o agente possa encaminhá-la c) O MUA do remetente envelopa a mensagem e envia para o servidor (MTA) d) A mensagem é colocada na fila de envio e) O servidor do remetente vê a mensagem na fila e tenta uma conexão com o MTA do destinatário. f) Se não conseguir a conexão, espera e tenta novamente mais tarde. g) Após a conexão entre os dois servidores (o do remetente e o do destinatário), algumas apresentações são realizadas: de onde vem, para quem se destina, se o usuário existe, etc. h) O MTA do remetente envia os dados i) O MTA do destinatário coloca a mensagem na caixa postal do destinatário j) O destinatário chama seu agente (MUA), quando for mais conveniente para ele. k) O MUA vai precisar de outro protocolo para retirar as mensagens do servidor. Lembre-se que o SMTP é um protocolo de envio, não de retirada. Uma sequencia de envio e recebimento está ilustrada na Figura 163. Formatos das mensagens As mensagens de correio eletrônico possuem 3 componentes bem distintos; O cabeçalho, o corpo da mensagem e o envelope. Envelope O envelope fornece uma “etiqueta” à mensagem, o que permite aos sistemas de transferência (MTAs) encaminharem sem precisar abrir a mensaagem e verificar o conteúdo. Os envelopes são informações adicionais para controle dos protocolos. 191
  • 192. Disciplina de Redes e Comunicação de dados Figura 162 -Componentes de uma mensagem – Clark, 2003 Conteúdo Inicialmente, as mensagens só podiam conter texto puro (ASCII), até 1000 caracteres. Esse formato foi especificado na RFC 822, e serviu muito bem para padronizar as correspondências iniciais, onde os anexos eram raros, e os formatos de arquivos multimídia eram apenas projeto. Cabeçalho Os conteúdos do cabeçalho são inseridos pelos usuários humanos (que geram a mensagem). A primeira parte (antes do @) no nome do remetente e do destinatário é o nome do usuário do MTA, identificando a sua caixa postal naquele agente. A segunda parte (após o @) identifica o domínio do DNS para o qual o servidor – MTA é o responsável pelo correio. O corpo de conteúdo inclui a mensagem e os anexos (em formatos padronizados MIME— multipurpose Internet mail extension) Com a criação do Multipurpose Internet Mail Extensions, foi possível transmitir outros formatos: Imagens, audio, video, aplicações. Cada tipo desses possui ainda sub-tipos relacionados (por exemplo, msword é um sub-tipo de aplicações) Exemplo de cabeçalho: • Para: • De: • Cc: (Copia Carbono) • Data: • Assunto: Linhas inseridas pelo MUA do remetente para conteúdos não ASCII : 192
  • 193. Disciplina de Redes e Comunicação de dados MIME-Version:1.0 Content Transfer-Encoding: Content-Type Figura 163 - Sequencia de envio e recebimento de mensagens eletronicas MDA- Agentes de entrega de mensagens (PoP3-IMAP4) Ok, mas quem são esses dois caras que aparecem no cantinho final da Figura 163? Eles são os responsáveis pela retirada da mensagem da fila de chegada, pelo MUA do destinatário. Cada um dos dois possui uma abordagem bem diferente para tratar esse problema. Voce já pode verificar na Tabela 21 as diferenças maiores entre as abordagens. O IMAP e o PoP são também denominados MDA – Message delivery Agent, ou agentes de entrega de mensagens Figura 164. Figura 164 - O SMTP precisa da ajuda do POP ou IMAP para entrega ao MUA do destinatário (Kurose & Ross) 193
  • 194. Disciplina de Redes e Comunicação de dados Tabela 21 - Principais diferenças entre os sistemas de entrega de mensagens - Tanembaum, 2003 POP3 Post-office protocol O POP3 foi definido na RFC 1939. Usa a porta 110 para estabelecer uma conexão entre a máquina do destinatário de uma mensagem e o MTA, que contém a caixa postal. Após a conexão, o POP mantém então uma rotina de 3 etapas: Autoriza, faz a transação e atualização. Autorização: O MUA envia ao MTA o nome e a senha do usuário Transação: recuperação das mensagens, marcação paa apagar, priorizar. Atualizaçao: Quando o usuário fecha o MUA, o POP encerra a conexão TCP com o MTA, e o servidor apaga as mensagnes marcadas IMAP Internet Mail access Protocol – Definido na RFC 2060, o IMAP procura resolver os problemas dos usuários móveis, que estão sempre acessando a caixa postal de locais diferentes. OIMAP foi projetado para que as mensagens fossem deixadas no servidor, ao invés de transferidas a maquina do cliente, como faz o POP. As mensagens e pastas podem ser manipuladas pelo IMAP comose fossem locais, mas estarão sempre como foram deixadas no último acesso, independente de onde o usuário da caixa está acessando. O Imap usa a porta 143 do TCP para conexão MUA-MTA. Para saber mais RFCs: (http://www.ietf.org/rfc.html ) SMTP – 821 Internet Standards – 822 – Formato das mensagens, na época (1982) só continham texto PoP3 - Post-Office Protocol - 2449 194
  • 195. Disciplina de Redes e Comunicação de dados IMAP4 Internet Message Access Protocol – 2060 MIME (multipurpose Internet mail extensions): RFC 2045/2046 www.postfix.org www.qmail.org www.sendmail.org Livros: Capítulo 12 de: Data Networks, IP and the Internet: Protocols, Design and Operation Martin P. Clark 2003 John Wiley & Sons, Ltd ISBN: 0-470-84856-1 Capítulo 2 de: Kurose & Ross, Redes de computadores e a Internet – Uma nova abordagem – Ed. Addison Wesley -2003 195
  • 196. Disciplina de Redes e Comunicação de dados Unidade 10 Article VI. Segurança em redes Esta unidade procura demonstrar os princípios de segurança a serem adotados em uma organização. Ao final desta Unidade, você estará apto a: • Redigir políticas básicas de segurança para os usuarios da sua rede • Entender as bases dos sistemas de criptografia • Diferenciar os tipos de filtros Esta unidade está dividida nas seguintes seções; Sessão 1 – Introdução Sessão 2 – O Usuário e a cultura de rede Sessão 3 – Criptografia Sessão 4 - Firewalls Sessão 1 – Introdução Bom, chegamos ao último capítulo. Nossa, quem diria, isso parecia interminável Esse prédio da tal pizzaria tinha um andar mais complicado que o outro! Mas você venceu, passou por todos eles! Agora, vamos olhar o prédio de fora, o conjunto dos andares. É dessa forma que tentaremos entender os conceitos de segurança, que se aplicam em todas as camadas.Alguns protocolos e tecnologias auxiliares estão listados na Figura 165. Figura 165 – Algumas tecnologias envolvidas na segurança das camadas (Modelo TCP/IP) 196
  • 197. Disciplina de Redes e Comunicação de dados Acostume-se a pensar que não existe risco zero, segurança total em uma rede. Esses conceitos devem ser desconsiderados, e substituídos por Risco Aceitável, Segurança Adequada. Observe também que segurança não é um cuidado meramente técnico, como regras de controle de acesso, portas, senhas, criptografia. Os conceitos envolvem as pessoas, e uma cultura de segurança pode ser mais eficiente que uma tecnologia inteira, sem o envolvimento das pessoas. O que é segurança de redes? O conceito de segrança é complexo, e pode ser divido em distintos paradigmas (Figura 166). Figura 166 -Paradigmas de segurança Confidencialidade: É a proteção da informação para que não seja lida por pessoas não autorizadas explicitamente pelo proprietário. Integridade: É a proteção da informação (incluindo programas) contra alterações ou destruição sem autorização explicita do proprietário. Disponibilidade: Proteção dos serviços para que não sejam degradados ou tornados indisponíveis (crashed) sem autorização explícita. Não ter a informação disponível quando necessária pode ser tão grave quanto uma perda por destruição 197
  • 198. Disciplina de Redes e Comunicação de dados Consistência: Os sistemas se comportam como esperado pelo pessoal autorizado a utilizá-lo. Imagine se o comando dir apaga os arquivos!!! Esse tipo de segurança pode ser considerado como a garantia de correção (correctness). Controle: Regula o acesso ao seu sistema. Caso algum software ou indivíduos estranhos sejam detectados no sistema, podem criar problemas. Sob essa óptica, você deve se importar em saber: Como “a coisa” – software / indivíduo - entrou no sistema, o que foi feito, e quem foi que fez. Isso pode ser alcançado através do último paradigma, a auditoria. Auditoria: Assim como se preocupar com usuários não autorizados, devemos nos preocupar com os autorizados que cometem enganos, ou atos ilícitos. Como foi dito no paradigma de controle, a auditoria deve se preocupar em determinar o que foi feito, por quem, e as consequencias – quais as funções do sistema foram afetadas. A única forma de chegar a essas respostas é manter um registro inviolável do sistema, que identifique os atores e as ações. Embora todos esses paradigmas de segurança sejam importantes, as organizações podem dar pesos diferentes para cada um. Exemplos de pesos dos paradigmas • Sistema bancário: – Os aspectos mais importantes para um banco devem ser: • integridade, • controle, • consistência, • auditoria. – E menos relevantes: • confidencialidade, • disponibilidade • Sistemas relacionados com sistemas de defesas nacionais (Top Secret) – Importantes: • confidencialidade – Por último: • disponibilidade. Em ambientes altamente secretos, os militares podem preferir explodir os prédios – eles adoram fazer isso. • Uma universidade – Casa da mãe Joana: • Importantes: • Integridade • disponibilidade 198
  • 199. Disciplina de Redes e Comunicação de dados As defesas sempre estão atrás dos ataques: – As vulnerabilidades são exploradas pelos atacantes – Os desenvolvedores adotam corretivos e contramedidas – Os atacantes exploram vulnerabilidades diferentes ou novas – O processo entra em loop Sessão 2 – O Usuário e a cultura de rede O usuário é um aspecto complexo da segurança, pois existe uma relação inversa entre segurança e a satisfação do usuário: 1 Segurança = satisfação Obviamente, quanto mais controles, políticas e permissões de acesso você insere em uma rede, menos confortável ficará a utilização dos recursos (Figura 167). Uma questão central é: Quanto de conforto o usuário abre mão para sentir-se seguro nas questões de rede? Regras draconianas motivam boicotes às políticas (como por exemplo: “nenhum uso dos recursos de rede pode ser pessoal” pode ter consequencias adversas) - e você precisa dos usuários atuantes nas políticas de segurança. Um exemplo de problemas que podem advir da política “nenhum uso pessoal” é a pergunta: “Minha esposa enviou um e-mail. Posso lê-lo?” 199
  • 200. Disciplina de Redes e Comunicação de dados Figura 167 - Segurança X Usabilidade A política de segurança norteia as decisões ao se implementar a segurança da rede. Uma infra-estrutura de defesa em profundidade eficaz requer uma política de segurança abrangente e realista. Entre as características de uma boa política de segurança estão as seguintes: • Autoridade (quem é o responsável) • Escopo (quem ela afeta) • Expiração (quando termina) • Especificidade (o que é necessário) • Clareza (todos podem entendê-la?) As políticas podem ser impostas (por exemplo, regras no firewall) ou sem imposição, por exemplo, regras escritas em um papel. Obviamente, os usuários sentem-se encorajados a ignorar ou modificar as políticas sem imposição. Senhas Um aspecto particularmente importante em relação aos usuários é a política de geração e manutenção de senhas. O que é uma boa senha? Por quanto tempo os usuários devem usá-la? Uma boa senha é fácil de lembrar e difícil de ser descoberta. Uma técnica bem aceita para geração de senhas é: a) utilizar uma frase qualquer, por exemplo: “O rock britânico é melhor que os demais”. b)Separe as 1as letras somente: Orbemqod “ c) troque algumas por numeros ou simbolos: A=@ ou 4 E=3 ou & I=1 O=0 (zero) ... 200
  • 201. Disciplina de Redes e Comunicação de dados No exemplo: 0rb3mq0d d) Alterne maiusculas com minúsculas: 0rB3mQ0d e) Insira caracteres raros, se possível sem quebrar a logica: 0rB3mQ0d+ Viu só? Fácil de lembrar, difícil de ser descoberta, tanto por humanos quanto por programas especializados em quebrar senhas. Uma política de senhas poderia conter as seguintes orientações: - As senhas devem ter, no mínimo, 6 caracteres; - Não devem conter caracteres idênticos consecutivos; - Não utilize somente números ou letras. Faça uso de outros caracteres, como " (#) = @ ~ &; - Evite reutilizar ou reciclar senhas antigas; - Altere suas senhas regularmente, como a cada 3 meses, por exemplo; - Altere todas as senhas-padrão (default); - Elimine ou bloqueie contas de usuários compartilhadas; - Não guarde senhas em papéis; - Não guarde senhas em arquivos do Word, Excel, TXT, etc. Use programas próprios para isso; - Não use uma mesma senha em vários locais - Esteja atento a digitar a senha, para não digitá-la em um lugar errado por engano, como no campo do nome de usuário, por exemplo; Sessão 3 – Criptografia A criptografia é um recurso de uso muito antigo na história da humanidade. A idéia foi, desde sempre, enviar uma mensagem confidencial, entre dois extremos de um canal de comunicação não seguro. Isso é o que ocorre também nas redes, que são considerados meios não confiáveis e inseguros (Figura 168 ). O objetivo é manter o sigilo ou a confiabilidade dos dados, ou seja, garantir que nada foi alterado. Desde o início da sua utilização, a criptografia baseia-se em dois recursos essenciais: Uma chave, que determina um padrão para o texto e um algoritmo, que determina como a chave deve ser utilizada. Figura 168 - Meio de comunicação inconfiável e inseguro As mensagens a serem criptografadas são conhecidas como texto simples (plain text). Elas são transformadas por uma função parametrizada por uma chave. A mensagem resultante do processo é conhecida como texto cifrado (cipher text) – Figura 169 201
  • 202. Disciplina de Redes e Comunicação de dados Figura 169 - Texto simples transformado em cifrado por uma chave e um algoritmo Após a transmissão pelo meio inseguro, o texto cifrado será decriptografado novamente em um texto plano, ou simples. A forma como a chave é distribuida e conhecida pelos pares que estão se comunicando divide as técnicas em dois grupos: a)Criptografia simétrica ou de chave única b)Criptografia assimétrica ou de chave pública a)Criptografia simétrica ou de chave única Única forma usada até 1970, necessita um algoritmo de criptografia muito forte, e uma forma segura de troca das chaves. Deve existir também uma garantia de que as chaves são armazenadas de forma segura. Se alguem descobre a chave e conhece o algoritmo, todos os textos podem ser decriptografados. Figura 170 - Criptografia de chave única, ou simétrica. Usada desde os tempos do império romano por Julio Cesar, a criptografia simétrica continua sendo a forma mais comum atualmente. A técnica de Julio Cesar ficou conhecida como Caesar cipher, e é realmente muito simples, mas serve como ilustração do início dos tempos. Cesar substituia cada letra do alfabeto por uma letra três posições a frente no alfabeto. 202
  • 203. Disciplina de Redes e Comunicação de dados Texto puro: meet me after the toga party Texto cifrado phhw ph diwhu wkh wrjd sduwb Se considerarmos que o alfabeto possui 26 letras, e que qualquer deslocamento (chave de criptografia) poderia ser usado, teríamos 25 chaves possíveis (deslocamento de 1 a 25 posições). Se algum gaulês inimigo dos romanos capturasse o texto cifrado, poderia usar um ataque de força-bruta (diz-se dos ataques que usam todas as combinações possíveis para encontrar o original), numa composição mostrada pela Figura 171. Obviamente, para usar todas as combinações possíveis e realizar um ataque força-bruta, devemos ter 3 características: a) conhecer os algoritmos b) existirem poucas chaves possíveis (no exemplo, apenas 25) c) a linguagem do texto puro deve ser facilmente reconhecida A cifra de Cesar foi aprimorada para usar um padrão irregular de substituição de letras. A técnica foi chamada de Cifra Monoalfabética, e usa uma combinação de pares sem uma chave de deslocamento, embora mantenha uma relação única entre os pares de letras - Tabela 22. Com certeza é uma técnica melhor que a cifra de Cesar, uma vez que existem 1026 pares possíveis ao invés de 25 pares. Letras do Texto Plano a b c d e f g h i j k l m n o p q r s t u v w x y z Letras no texto cifrado m n b v c x z a s d f g h j k l p o i u y t r e w q Tabela 22 - Cifra monoalfabética 203
  • 204. Disciplina de Redes e Comunicação de dados Figura 171 - força bruta para decodificar a técnica primitiva Caesar Cipher Durante a II guerra mundial, os alemães fizeram extensivo uso das máquinas Enigma, baseadas numa técnica de chave única (Figura 172). Os japoneses tinham outro modelo de máquinas desse tipo, denominado Púrpura. 204
  • 205. Disciplina de Redes e Comunicação de dados Figura 172 - Enigma - Máquina de criptografia do início do seculo XX, usada pelos alemães durante a II guerra mundial- Fonte: www.foldoc.org DES – Data Encryption Standard Atualmente, o método criptográfico mais utilizado, baseado em chave única é o DES – Data Encryption Standard. O algoritmo usa uma chave de 56 bits. Embora uma série de outros algoritmos tenham sido propoststos desde 1972, quando o DES foi criado pela IBM, o DES permanece como o mais usado. Desafios de quebra da chave O DES sofreu pelo menos 4 desafios com premios em dinheiro para quem quebrasse a chave de criptografia. Em 1997, a chave foi quebrada em menos de 4 meses Em 1998, o algoritmo foi quebrado em 41 dias e logo em seguida, no mesmo ano, em 56 horas. , A partir daí foi criado o 3DES (triple DES), que usa chaves duplas de 56 bits. Uma chave K1 é usada para criptografar. Em seguida, uma segunda chave K2 decodifica o texto. No terceiro passo, K1 é aplicado novamente no texto resultante do uso de K2 (Figura 173) 205
  • 206. Disciplina de Redes e Comunicação de dados Figura 173 - 3DES - (a)-criptografando e (b) – decriptografando P=Plain Text E=Encryption D=Decryption K1=Key 1 K2=Key 2 C=Cipher Text Ficou mais forte, mas é extremamente pesado para processar, devido a quantidade de software envolvido. AES – Advanced Encyption Standard Uma proposta mais recente é o AES - Advanced Encryption Standard, adotado em 2001 como padrão de processamento de informações federais norte-americano (FIPS). O AES foi encomendado pelo NIST – National Institute of Standards and Technology, e possiu segurança igual ou maior que o 3DES, mas com uma eficiência bem maior. Cientistas de todo o planeta participaram do desafio de criar um novo algoritmo. Pelas regras do NIST, o algoritmo deveria: 1. Ser simetrico, 2. O projeto completo deveria ser público 3. Deveria suportar chaves de 128, 192, e 256 bits. 4. Deveria suportar implementações por software ou hardware. 5. O algoritmo deveria ser público, ou licenciado de forma não discriminatória. 206
  • 207. Disciplina de Redes e Comunicação de dados Dentre as várias propostas, os vencedores foram Joan Daemen e Vincent Rijmen, criptologistas Belgas, com o algoritmo Rijndael. Esses caras precisaram encarar concorrentes de peso. Foram a julgamento em sessões Para percorrer todas as públicas os finalistas abaixo: chaves possíveis em um universo de 128 bits, um 1o. Rijndael ( Joan Daemen e Vincent Rijmen, 86 votos). computador com 1 bilhão 2o. Serpent ( Ross Anderson, Eli Biham, e Lars de processadores paralelos Knudsen, 59 votos). demoraria 100 anos – claro 3o. Twofish (equipe liderada por Bruce Schneier, 31 que com os processadores votos). de agora. Lembre-se de que 4o. RC6 (RSA Laboratories, 23 votos). as coisas mais atuais 5o. MARS ( IBM, 13 votos). podem ser risíveis daqui a alguns anos. Assim, o Rijndel é o algoritmo para o AES, e é considerado o mais adequado para os recursos atuais. Formas de entrega da chave única: A passagem da chave de criptografia é um ponto central nas técnicas simétricas. Algumas questões devem ser consideradas: As duas partes devem ter a mesma chave, e a chave deve ser protegida de acessos indevidos. Uma troca frequente das chaves também é desejável, para evitar que grandes volumes de informações sejam decifrados. As chaves para uma comunicação entre A e B podem ser entregues de várias formas: a) Uma chave pode ser escolhida por A, que a entrega fisicamente a B. b) Um terceiro pode escolher uma chave e entregá-la a A e a B. c) Se houve uma comunicação recente entre A e B, um deles pode enviar uma nova chave criptografada, usando para isso a chave antiga. 4) Se A e B possuem uma conexão segura (criptografada) com C, C poderá entregar uma chave para A e B. Existem muitos algoritmos para criptografia simétrica. Na Tabela 23 estão apresentados os mais importantes. 207
  • 208. Disciplina de Redes e Comunicação de dados Tabela 23 - Algoritmos de criptografia simétrica mais importantes - 2o. Tanembaum b)Criptografia assimétrica ou de chave pública O sistema assimétrico foi criado em 1976 por Diffie e Hellman, dois pesquisadores da Stanford University. Nessa forma de troca de chaves, existem 2 chaves, uma privada e uma pública. Como ficou comprovado, 3 requisitos somente já garantem a eficiência da estratégia, totalmente inovadora: 1-D(E(P))=P Quando a chave de decriptografia D (privada) for aplicada em um texto criptografado pela chave E (pública0, teremos o texto original de volta. 2- É extremamente difícil deduzir a chave D a partir da E. 3- A chave publica E não pode ser quebrada a partir de um ataque a um texto plano qualquer (os invasores poderiam experimentá-lo a vontade). Se os três requisitos forem atendidos, é perfeitamente possível tornar a chave de criptografia pública. A idéia da troca de chaves está ilustrada na Figura 174. Funciona da seguinte maneira. Suponha que Bob queira enviar uma mensagem a Alice5 (o motivo pelo qual essa mensagem precisa ser criptografada é um problema deles, não nosso - a não ser, é claro, que estejam combinando um grande jantar a base de cheirosas pizzas). 1- Bob coleta a chave pública de Alice (que pode estar na home page de Alice), e aplica a chave no texto. Perceba pela figura que Bob pode ter uma coleção de chaves públicas. Afinal, elas são públicas. 5 Bob e Alice são dois personagens clássicos no universo da segurança computacional. São usados como exemplo em praticamente toda a literatura especializada. 208
  • 209. Disciplina de Redes e Comunicação de dados 2- Alice Recebe o texto criptografado com sua chave pública e aplica sua chave privada , obtendo o texto decriptografado. 3- Alice coleta a chave publica de Bob, aplica no texto de resposta e remete a mensagem Bob abre a mensagem após aplicar sua chave privada. Figura 174 - Troca de chaves assimétricas O algoritmo de chave pública mais utilizado atualmente é o RSA – as iniciais dos nomes dos seus criadores (Rivest, Shamir e Adleman), pesquisadores do MIT. O RSA foi criado em 1978 e sobrevive desde lá por ser extremamente difícil de quebrar. O problema com o cara é que as chaves são de 1024 bits, ao invés dos 128 utilizados nas chaves simétricas. Isso torna lento o método computacional. Sessão 4 - Firewalls Os firewalls são uma parte muito importante na segurança das redes. Podemos dividir a técnica em dois grupos: Os filtros de pacotes e os filtros de conteúdo. No primeiro grupo, encontramos os dispositivos que analizam as PDUs, sem abrir os conteúdos. São mais antigos, mas ainda - sem dúvida - os mecanismos mais utilizados para proteção das redes. E nos filtros de conteúdo temos os proxies, dispositivos que servem como intérpretes na comunicação entre a Internet e uma rede local. Os firewalls podem executar ainda uma terceira tarefa fundamental para a segurança das redes: a conversão de endereços de redes (NAT – Network Address Translator), que também é chamada de mascaramento IP. Para executar essas 3 tarefas, o firewall deve ficar entre a Internet e a rede local (Figura 175). Todo o tráfego que chega ou sai da rede deve passar pelo firewal, datagrama por datagrama. Os pacotes (datagramas, na linguagem correta das PDUs) são analisados e comparados com as regras de acesso (ACLs, ou Access Control Lists). Caso exista uma 209
  • 210. Disciplina de Redes e Comunicação de dados regra permitindo a passagem, o datagrama pode passar. Caso não exista regra permitindo, é negada a passagem do datagrama. Figura 175 - Posicionamento do firewall na topologia da rede O que um firewall pode e o que ele não pode fazer Um firewall é um mecanismo muito efetivo no controle dos datagramas. Mas ele não é a proteção total da rede. Você não pode pensar que está seguro só porque implantou corretamente um desses dispositivos. Um firewal pode: a) Tornar-se o centro das decisões de segurança. Como todos os pacotes supostamente passam através do firewall, ele pode concentrar as decisões sobre o que pode entrar ou sair da rede. b) Forçar as políticas de segurança. A maior parte dos serviços solicitados na Internet é inseguro. Você pode pensar no firewall como o policial no portão de entrada. Só permite o uso dos serviços aprovados pela política de segurança da coorporação. c) Registrar as atividades de Internet com eficiência. Uma vêz que todo trafego passa pelo firewall, ele pode ser registrado em arquivos de log (registro). d) Limitar a exposição da rede interna. Esse ponto é particularmente relevante quando o firewall está posicionado entre duas ou mais redes dentro da coorporação. Nesse caso, ele pode evitar que uma rede invadida comprometa as demais. Um firewall não pode: a) proteger contra usuários internos Sabe-se que estes são responsáveis pela maioria dos ataques, e realmente o firewall não pode fazer nada contra esses indivíduos. b) proteger contra conexões que não passem através dele 210
  • 211. Disciplina de Redes e Comunicação de dados Como o firewall necessita examinar os cabeçalhos dos datagramas, não têm nenhuma ação nos datagramas que cegam ou saem da rede através de outras conexões, como linhas discadas, acessos ADSL ou outro tipo de enlace que o usuário possa estar utilizando. c) proteger contra riscos novos Um firewall, mesmo bem configurado, pode não ter ação alguma contra novos tipos de ataques. Por isso, o administrador deve sempre estar atento as novidades e atualizar os sistemas e as regras. d) proteger completamente contra vírus Mesmo que alguns firewalls possam praticar varreduras contra vírus, ele não oferece proteção plena. Outros softwares auxiliares precisam ser instalados em conjunto para garantir proteção contra a entrada dos bichinhos. e) configurar-se e ativar-se por conta própria. Todos os firewall exigem um certo volume de configuração, uma vez que cada rede possui suas particularidades. Você não pode simplesmente acinar o firewall e pensar que agora, tudo está seguro. Classificação dos firewalls: Além da divisão simples entre filtros de pacotes e de aplicações (conteúdos), podemos ter os filtros de pacotes divididos em estáticos e dinâmicos (ou com estados, do inglês statefull) - Figura 176. Pacotes Conteúdos Figura 176 - Tipos de Firewalls a) Filtros de pacotes (datagramas) do tipo estático Os filtros de pacote estáticos (também denominados sem estado ou stateless) avaliam os pacotes baseados na informação do cabeçalho do IP e nas portas do nível 4. Essa é uma forma rápida de regular o tráfego, mas peca pela simplicidade. 211
  • 212. Disciplina de Redes e Comunicação de dados Figura 177 - Firewall estático É um filtro simples porque ignora outras informações dos cabeçalhos, como o estado da conexão do TCP (inicio, finalização, estágios do 3-way handshake). Tampouco avalia os conteúdos. Exemplo de firewall estático é o IPChains, utilizado a algum tempo, mas já superado pelos filtros dinâmicos. b) Filtros de pacotes do tipo dinâmicos (ou de estados - statefull) Esse tipo de filtro é o mais usado atualmente, pois podemos permitir a entrada de pacotes externos se foram solicitados por aplicações válidas de dentro da rede interna (Figura 178) O termo dinamico ou de estado se refere ao acompanhamento das conexões TCP começando com o "three-way handshake" (SYN, SYN/ACK, ACK), que ocorre no início de cada transação TCP e termina com o último pacote de cada sessão ( FIN or RST) . Exemplos desses firewalls são o IPTables, PIX firewall (Cisco), NetScreen (Juniper), SonicWall e muitos outros. 212
  • 213. Disciplina de Redes e Comunicação de dados Figura 178 – Firewall Dinâmico ou statefull d) Filtros do tipo proxy (filtros de conteúdo ou da camada de apicação) Um proxying firewall atua como intermediário em todas as transações que passam através dele, ao contrário dos filtros stateless e dos statefull packet-filters, os quais inspecionam mas não alteram os pacotes (exceto em alguns casos para re-endereçamento ou redirecionamento). Perceba que nesse tipo de dispositivo, o cliente nunca troca informações diretamente com o servidor, como acontecia com os filtros anteriores (Figura 179). O firewall recebe um pacote, examina o conteúdo, e se o pacote passa pelas regras, envia ouro pacote (2) ao destinatário interno. Ao receber a resposta do servidor interno (pacote 3), o proxy examina novamente, e se as regras permitirem, envia um novo pacote com a resposta (pacote 4) Figura 179 - Proxy firewall (filtro de conteúdos) 213
  • 214. Disciplina de Redes e Comunicação de dados Para saber mais www.cert.br - O CERT.br edita uma excelente cartilha de segurança, que já está na 3ª. Ed: http://cartilha.cert.br www.netfilter.org (firewalls) www.sans.org • Consulte a RFC 2196 (Site Security Handbook) para receber algumas sugestões: – http://www.ietf.org/rfc/rfc2196.txt Consulte a página do Computer Emergency Response Team (CERT) em www.cert.org. Existe também um repositotório de documentos e notícias sobre segurança no servidor de arquivos do CERT: ftp://cert.org/pub Livros: Practical Unix and Internet Security -Simson Garfinkel & Gene Spafford; ISBN 1- 56592-148-8, 1004 pages. Ed. O’Reilly. Building Internet Firewalls, Second Edition Elizabeth D. Zwicky, Simon Cooper, D. Brent Chapman Second Edition 2000 ISBN: 1-56592-871-7 214