Baixe o app para aproveitar ainda mais
Prévia do material em texto
24 CAPÍTULO 1 INTRODUÇÃO Os padrões são necessários para garantir que produtos de diferentes fabricantes possam tra- q balhar em conjunto, conforme o esperado. ISO, ITU-T, Ansi, IEEE e EIA são algumas das organizações envolvidas na criação de q padrões. Fóruns são grupos de interesse específicos que avaliam e padronizam rapidamente novas q tecnologias. Uma Request for Comment é uma idéia ou conceito que é precursor a um padrão da q Internet. 1.8 ATIVIDADES PRÁTICAS Questões para Revisão 1. Identifique os cinco componentes de um sistema de comunicação de dados. 2. Quais são as vantagens do processamento distribuído? 3. Quais são os três critérios necessários para uma rede ser eficaz e eficiente? 4. Quais são as vantagens de uma conexão multiponto em relação a uma conexão ponto a ponto? 5. Quais são os dois tipos de configuração de linhas? 6. Classifique as quatro topologias básicas em termos de configuração de linhas. 7. Qual é a diferença entre os modos de transmissão half-duplex e full-duplex? 8. Cite as quatro topologias básicas de rede e cite uma vantagem de cada um desses tipos. 9. Para n dispositivos em uma rede, qual é o número de conexões via cabo necessário em uma topologia de malha, anel, barramento e estrela? 10. Quais são alguns dos fatores que determinam se um sistema de comunicações é uma LAN ou uma WAN? 11. O que é internet? O que é Internet? 12. Por que os protocolos são necessários? 13. Por que os padrões são necessários? Exercícios 14. Qual é o número máximo de caracteres ou símbolos que podem ser representados pelo Unicode? 15. Uma imagem colorida usa 16 bits para representar um pixel. Qual é o número máximo de cores diferentes que podem ser representadas? 16. Suponha seis dispositivos dispostos segundo a topologia de malha. Quantos cabos seriam necessários? Quantas portas seriam necessárias para cada dispositivo? 17. Para cada uma das quatro topologias de redes a seguir, fale sobre as conseqüências no caso de uma conexão falhar. a. Cinco dispositivos dispostos em uma topologia de malha. b. Cinco dispositivos dispostos em uma topologia estrela (sem contar os hubs). c. Cinco dispositivos dispostos em uma topologia de barramento. d. Cinco dispositivos dispostos em uma topologia de anel. 18. Você tem dois computadores conectados por um hub Ethernet em sua casa. Isso é uma LAN, MAN ou WAN? Justifique sua resposta. 19. Na topologia de anel da Figura 1.8, o que aconteceria se uma das estações fosse desco- nectada? 20. Na topologia de barramento da Figura 1.7, o que aconteceria se uma das estações fosse desconectada? 21. Desenhe uma topologia híbrida com um backbone em estrela e três redes em anel. 22. Desenhe uma topologia híbrida com um backbone em anel e três redes de barramento. 23. Desempenho está inversamente relacionado a atraso. Quando usamos a Internet, quais das aplicações a seguir é mais sensível a atrasos? a. Enviar um e-mail b. Copiar um arquivo c. Navegar na Internet 24. Quando uma pessoa faz um telefonema local para outra, isso é uma conexão ponto a ponto ou multiponto? Justifique sua resposta. 25. Compare a rede de telefonia com a Internet. Quais são as semelhanças? E as diferenças? Atividades de Pesquisa 26. Acessando o site www.cne.gmu.edu/modules/network/osi.html, discuta o modelo OSI. 27. Acessando o site www.ansi.org, discuta as atividades da Ansi. 28. Acessando o site www.ieee.org, discuta as atividades da IEEE. 29. Acessando o site www.ietf.org, discuta os diferentes tipos de RFCs. SEÇÃO 1.8 ATIVIDADES PRÁTICAS 25 27 CAPÍTULO 2 Modelos de Redes Rede é uma combinação de hardware e software que envia dados de uma localidade a outra. O hardware consiste no equipamento físico que transporta sinais de um ponto a outro da rede. O software consiste em conjuntos de instruções que tornam possível os serviços que esperamos de uma rede. Podemos comparar a tarefa de se conectar em rede à tarefa de resolver um problema de ma- temática com um computador. O trabalho fundamental de resolver o problema com o uso de um computador é realizado pelo hardware. Entretanto, essa é uma tarefa muito entediante se apenas o hardware estiver envolvido. Precisaremos de chaves comutadoras para cada posição de memória para armazenar e manipular os dados. A tarefa se torna muito mais fácil se tivermos um software disponível. No nível mais alto, um programa pode controlar o processo de resolução de um problema; os detalhes de como isso é feito pelo hardware em si pode ser deixado para as camadas de software que são chamadas pelos níveis mais altos. Compare isso a um serviço fornecido por uma rede de computadores. Por exemplo, a tarefa de enviar um e-mail de um ponto do mundo a outro pode ser subdividida em várias tarefas, cada uma das quais realizada por um pacote de software distinto. Cada pacote de software usa os serviços de um outro pacote de software. Na camada mais baixa, um sinal (ou um conjunto de sinais) é enviado de um computador de origem ao computador de destino. Neste capítulo, forneceremos uma idéia geral das camadas de uma rede e discutiremos as funções de cada uma delas. Descrições detalhadas dessas camadas serão apresentadas em capí- tulos posteriores. 2.1 TAREFAS DISTRIBUÍDAS EM CAMADAS Usamos o conceito de camadas em nosso dia-a-dia. Como exemplo, consideremos dois amigos que se comunicam por correspondência. O processo de enviar uma carta a um amigo seria com- plexo se não existisse nenhum serviço disponível das agências das correios. A Figura 2.1 ilustra as etapas contidas nessa tarefa. 28 CAPÍTULO 2 MODELOS DE REDES Figura 2.1 Tarefas envolvidas no envio de uma carta A carta é escrita, colocada em um envelope e depositada em uma caixa do correio. O destinatário recebe a carta, abre o envelope, retira a carta e a lê. A carta é transportada da caixa do correio para uma agência dos correios. A carta é transportada dessa agência dos correios para a caixa postal do destinatário. A carta é entregue do carteiro para uma agência dos correios. A carta é entregue a um carteiro pela agência dos correios. O pacote é transportado de sua origem até seu destino final. Remetente Camadas mais altas Camadas intermediárias Camadas mais baixas Destinatário Emissor, Receptor e Transportador Na Figura 2.1, temos um emissor (remetente), um receptor (destinatário) e um transportador (carteiro) que leva a carta. Existe uma hierarquia de tarefas. No Lado do Emissor Em primeiro lugar, descreveremos, em ordem, as atividades que ocorrem no lado do emissor (remetente). Camada mais alta q . O remetente escreve uma carta, a coloca em um envelope, anota no envelope os nomes e endereços do remetente e destinatário e, finalmente, a deposita em uma caixa de correio. Camada intermediária q . A carta é coletada por um carteiro e entregue a uma agência dos correios. Camada mais baixa q . A carta é classificada na agência dos correios; um transportador a leva. No Trajeto A carta se encontra, então, a caminho de seu destinatário. No trajeto para a agência dos correios mais próxima do destinatário, a carta pode, na verdade, passar por um posto de distribuição. Além disso, ela poderá ser transportada por um automóvel, trem, avião, navio ou uma combi- nação destes. No Lado do Receptor (Destinatário) Camada mais baixa q . O transportador leva a carta para uma agência dos correios. Camada intermediária q . A carta é classificada, remetida e entregue na caixa postal do destinatário. Camada mais alta q . O destinatário pega a carta, abre o envelope, retira a carta e a lê. Hierarquia De acordo com nossa análise, existem três atividades distintas no lado do remetente e outras três atividades no lado do destinatário. A tarefa de transportar a carta do remetente para o destinatá- rio é realizada pelo transportador. Algo que não é óbvio à primeira vista é que as tarefas devem ser realizadas na seqüência correta determinada pela hierarquia. No lado doremetente, a carta deve ser escrita e colocada em uma caixa de correio antes de ser coletada pelo transportador e entregue a uma agência dos correios. No lado do destinatário, a carta deve ser colocada na caixa postal do destinatário antes de poder ser pega e lida por este. Serviços Cada camada no lado do remetente usa os serviços da camada que se encontra imediatamente abaixo dela. O remetente na camada mais alta utiliza os serviços da camada intermediária. A camada intermediária usa os serviços da camada mais baixa. A camada mais baixa utiliza os serviços do transportador. O modelo em camadas que dominou a literatura sobre comunicações de dados, e redes antes da década de 1990 foi o do modelo OSI (Open Systems Interconnection). Todo mundo acre- ditava que o modelo OSI se tornaria o padrão final para comunicação de dados. Entretanto, na realidade, isso não aconteceu. O conjunto de protocolos TCP/IP acabou se tornando a arquitetura comercial predominante, pois ele foi usado e testado de forma intensiva na Internet; o modelo OSI jamais foi totalmente implementado. No presente capítulo, discutiremos, primeiro, o modelo OSI e, em seguida, vamos nos con- centrar no TCP/IP como um conjunto de protocolos. 2.2 O MODELO OSI Estabelecida em 1947, a International Organization for Standardization (ISO) é um órgão que se dedica ao estabelecimento de acordos mundiais sobre padrões internacionais, e conta com a participação de várias nações. Um padrão ISO que cobre todos os aspectos das comunicações de dados em redes é o modelo OSI (Open Systems Interconnection). Ele foi introduzido inicial- mente no final da década de 1970. Um sistema aberto é um conjunto de protocolos que permite que dois sistemas diferentes se comuniquem independentemente de suas arquiteturas subja- centes. O propósito do modelo OSI é facilitar a comunicação entre sistemas diferentes sem a necessidade de realizar mudanças na lógica do hardware e software de cada um deles. O modelo OSI não é um protocolo; trata-se de um modelo para compreender e projetar uma arquitetura de redes flexível, robusta e interoperável. ISO é a organização. OSI é o modelo. O modelo OSI é uma estrutura em camadas para o projeto de sistemas de redes que permi- tem a comunicação entre todos os tipos de sistemas de computadores. Ele é formado por sete camadas distintas, porém relacionadas entre si, cada uma das quais definindo uma parte do processo de transferência de informações através de uma rede (ver Figura 2.2). Compreender os fundamentos do modelo OSI fornece uma base sólida para explorar outros conceitos de comu- nicações de dados. SEÇÃO 2.2 O MODELO OSI 29 30 CAPÍTULO 2 MODELOS DE REDES Figura 2.2 Sete camadas do modelo OSI Transporte4 Aplicação7 Apresentação6 Sessão5 Rede3 Enlace de dados2 Física1 Arquitetura em Camadas O modelo OSI é composto por sete camadas ordenadas: física (camada 1), enlace (camada 2), rede (camada 3), transporte (camada 4), sessão (camada 5), apresentação (camada 6) e aplicação (camada 7). A Figura 2.3 mostra as camadas envolvidas quando uma mensagem é enviada do dis- positivo A para o dispositivo B. À medida que a mensagem trafega de A para B, ela poderá passar por vários nós intermediários. Esses nós intermediários, geralmente, envolvem apenas as três primeiras camadas do modelo OSI. Ao desenvolver o modelo, os projetistas dissecaram o processo de transmissão de dados em seus elementos mais fundamentais. Eles identificaram quais funções de rede tinham usos relacionados e reuniram essas informações em grupos discretos, que se tornaram as camadas do modelo. Cada camada define uma família de funções distintas daquelas realizadas nas demais camadas. Ao definir e localizar funcionalidades dessa maneira, os projetistas criaram uma arqui- tetura que é, ao mesmo tempo, abrangente e flexível. O fato mais importante é que o modelo OSI permite a interoperabilidade completa entre sistemas outrora incompatíveis. Dentro de uma máquina individual, cada camada requisita os serviços da camada imediatamente inferior a ela. Por exemplo, a camada 3 usa os serviços fornecidos pela camada 2 e fornece serviços à camada 4. Entre máquinas, a camada x em uma máquina se comunica com a camada x da outra máquina. Essa comunicação é orientada por uma série de regras e convenções estabelecidas, chama- das protocolos. Os processos em cada máquina que se comunicam em uma determinada camada são denominados processos peer-to-peer. A comunicação entre máquinas é, portanto, um processo peer-to-peer usando os protocolos apropriados de uma determinada camada. Processos Peer-to-peer Na camada física, a comunicação é direta: na Figura 2.3, o dispositivo A envia um fluxo de bits ao dispositivo B (através de nós intermediários). Nas camadas mais altas, entretanto, a comuni- cação deve mover-se pelas camadas do dispositivo A, seguir ao dispositivo B e então retornar Figura 2.3 A interação entre camadas no modelo OSI Aplicação Protocolo de aplicação (7a camada) Protocolo de apresentação (6a camada) Protocolo de sessão (5a camada) Protocolo de transporte (4a camada) Nó intermediário 7-6 interface Apresentação 6-5 interface Sessão 5-4 interface Transporte 4-3 interface Rede 3-2 interface Enlace 2-1 interface Física 7 6 5 4 3 2 1 7 6 5 4 3 2 1 Aplicação 7-6 interface Apresentação 6-5 interface Sessão 5-4 interface Transporte 4-3 interface Rede 3-2 interface Enlace 2-1 interface Física Rede Enlace Física Rede Enlace Física Comunicação física 3a 2a 1a 3a 2a 1a 3a 2a 1a Dispositivo A Dispositivo B Nó intermediário através das camadas. Cada camada no dispositivo emissor acrescenta suas próprias infor- mações à mensagem que ela recebe da camada superior e passa o pacote inteiro à camada imediatamente inferior. Na camada 1, o pacote inteiro é convertido para uma forma que possa ser transmitido ao dispositivo receptor. Na máquina receptora, a mensagem é aberta, camada por camada, com cada processo recebendo e retirando os dados a ele destinados. Por exemplo, a camada 2 retira os dados a ela destinados e, em seguida, passa o restante para a camada 3. A camada 3 retira, então, os dados a ela destinados e passa o restante para a camada 4 e assim por diante. Interfaces entre Camadas A passagem, de cima para baixo, de dados e informações de rede pelas camadas do dispositivo emissor e depois de volta através das camadas do dispositivo receptor é possível graças a uma interface entre cada par de camadas adjacentes. Cada interface define as informações e serviços que uma camada deve fornecer para a camada superior. Desde que uma camada forneça os ser- viços esperados para a camada superior, a implementação específica de suas funções pode ser modificada ou substituída, sem exigir mudanças nas camadas adjacentes. Organização das Camadas As sete camadas podem ser imaginadas como pertencentes a três subgrupos. As camadas 1, 2 e 3 — física, enlace e rede — são as camadas de suporte à rede; elas lidam com os aspectos físicos da movimentação de dados de um dispositivo para outro (como as especificações elétricas, SEÇÃO 2.2 O MODELO OSI 31 32 CAPÍTULO 2 MODELOS DE REDES conexões físicas, endereçamento físico, temporização e a confiabilidade do transporte). As ca- madas 5, 6 e 7 — sessão, apresentação e aplicação — podem ser imaginadas como as camadas de suporte ao usuário; elas possibilitam a interoperabilidade entre sistemas de software não relacionados. A camada 4, camada de transporte, conecta os dois subgrupos e garante que o que as camadas inferiores transmitiram se encontra em uma forma que as camadas superiores consigam utilizar. As camadas OSI superiores são quase sempre implementadas via software; as camadas inferiores são uma combinação de hardware e software, exceto pela camada física que é praticamente de hardware. A Figura 2.4 apresenta uma visão geral das camadas OSI, na qual D7 significa a unidade de dados na camada7. D6 significa a unidade de dados na camada 6 e assim por diante. O processo se inicia na camada 7 (a camada de aplicação), em seguida se desloca de camada em camada, em uma ordem seqüencial e decrescente. A cada camada, um cabeçalho (header), ou possivelmente um trailer, pode ser acrescentado à unidade de dados. Comumente, o trailer é acrescentado somente na camada 2. Quando a unidade de dados formatada passa pela camada física (camada 1), ela é transformada em um sinal eletromagnético e transportada ao longo de um link físico. Figura 2.4 Intercâmbio de informações usando o modelo OSI D7 D6H6 H7 H5 H4 H3 H2 T2 D5 D4 D3 D2 010101010101101010000010000010 D7 D6H6 H7 H5 H4 H3 H2 T2 D5 D4 D3 D2 010101010101101010000010000010 Meio de transmissão Após atingir seu destino, o sinal passa pela camada 1 e é convertido de volta para a forma di- gital. As unidades de dados se deslocam no caminho inverso através das camadas OSI. À medida que cada bloco de dados atinge a camada superior seguinte, os cabeçalhos e trailers que foram anteriormente anexados na camada emissora correspondente são eliminados e ações apropriadas àquela camada são realizadas. Ao atingir a camada 7, a mensagem se encontra novamente na forma apropriada à aplicação e se torna disponível ao receptor. Encapsulamento A Figura 2.3 revela outro aspecto da comunicação de dados no modelo OSI: o encapsulamento. Um pacote (cabeçalho e dados) na camada 7 é encapsulado em um pacote na camada 6. O pacote inteiro na camada 6 é encapsulado em um pacote na camada 5 e assim por diante. Em outras palavras, a parte de dados de um pacote no nível N – 1 transporta o pacote inteiro (dados e cabeçalho e quem sabe trailer) do nível N. Esse conceito é denominado encapsula- mento; o nível N – 1 não está ciente de que parte do pacote encapsulado é composta por dados e de que parte constitui cabeçalho ou trailer. Para o nível N – 1, o pacote inteiro proveniente da camada N é tratado como uma única unidade. 2.3 CAMADAS DO MODELO OSI Nesta seção, descrevemos rapidamente as funções de cada camada do modelo OSI. Camada Física A camada física coordena as funções necessárias para transportar um fluxo de bits através de um meio físico. Ela trata das especificações mecânicas e elétricas da interface e do meio de transmissão. Ela também define os procedimentos e funções que os dispositivos físicos e interfaces têm de executar para que a transmissão seja possível. A Figura 2.5 mostra a posição da camada física em relação ao meio de transmissão e a camada de enlace. Figura 2.5 Camada física Camada física Camada física Proveniente da camada de enlace Para a camada de enlace 10101000000010111110 110 10101000000010111 Meio de transmissão A camada física é responsável pela movimentação de bits individuais de um hop para o seguinte. A camada física também se incumbe do seguinte: Características físicas das interfaces e do meio de transmissão. q A camada física define as características da interface entre os dispositivos e o meio de transmissão. Ela também define o tipo de meio de transmissão. Representação de bits. q Os dados na camada física são formados por um fluxo de bits (seqüência de 0s ou 1s) sem nenhuma interpretação. Para serem transmitidos, os bits devem ser SEÇÃO 2.3 CAMADAS DO MODELO OSI 33 34 CAPÍTULO 2 MODELOS DE REDES codificados em sinais — elétricos ou ópticos. A camada física define o tipo de codificação (como os 0s e 1s são convertidos em sinais). Taxa de dados q . A taxa de dados — o número de bits enviados a cada segundo — também é definido na camada física. Em outras palavras, a camada física estabelece a duração de um bit, que é o tempo que ele perdura. Sincronização de bits q . O emissor e o receptor não apenas têm de usar a mesma taxa de transmissão de bits como também devem estar sincronizados em nível de bit. Em outras palavras, os clocks do emissor e do receptor devem estar sincronizados. Configuração da linha q . A camada física é responsável pela conexão dos dispositivos com o meio físico. Em uma configuração ponto a ponto, dois dispositivos são conectados através de um link dedicado. Em uma configuração multiponto, um link é compartilhado entre vá- rios dispositivos. Topologia física q . A topologia física define como os dispositivos estão conectados de modo a formar uma rede. Os dispositivos podem ser conectados usando-se uma topologia de ma- lha (cada dispositivo é conectado a cada um dos demais dispositivos), uma topologia estrela (os dispositivos são conectados por um dispositivo central), uma topologia de anel (cada dis- positivo é conectado ao seguinte, formando um anel), uma topologia de barramento (todos os dispositivos são conectados através de um link comum) ou uma topologia híbrida (uma combinação de duas ou mais topologias). Modo de transmissão q . A camada física também define o sentido das transmissões en- tre os dois dispositivos: simplex, half-duplex ou full-duplex. No modo simplex, somente um dispositivo pode enviar dados; o outro pode apenas receber. O modo simplex é uma comunicação de dados em mão única. No modo half-duplex, os dois dispositivos podem enviar e receber, mas não ao mesmo tempo. No modo full-duplex (ou simplesmente duplex), os dois dispositivos podem enviar e receber ao mesmo tempo. Camada de Enlace de Dados A camada de enlace de dados transforma a camada física, de um meio de transmissão bruto, em um link confiável. Ela faz que a camada física pareça livre de erros para a camada superior (a camada de rede). A Figura 2.6 mostra a relação entre a camada de enlace de dados com as camadas de rede e física. Figura 2.6 Camada de enlace Camada de enlace FrameDados T2H2 Proveniente da camada de rede Para a camada física T2H2 Frame Proveniente da camada física Para a camada de rede Camada de enlace Dados A camada de enlace é responsável pela transferência de frames de um hop para o seguinte Outras responsabilidades da camada de enlace de dados são as seguintes: Empacotamento q . A camada de enlace de dados divide o fluxo de bits recebidos da camada de rede em unidades de dados gerenciáveis denominados frames. Endereçamento físico q . Se os frames forem distribuídos em sistemas diferentes na rede, a camada de enlace de dados acrescenta um cabeçalho ao frame para definir o emissor e/ou recep- tor do frame. Se este for destinado a um sistema fora da rede do emissor, o endereço do receptor é o do dispositivo que conecta a rede à próxima. Controle de fluxo q . Se a velocidade na qual os dados são recebidos pelo receptor for menor que a velocidade na qual os dados são transmitidos pelo emissor, a camada de enlace de dados impõe um mecanismo de controle de fluxo para impedir que o receptor fique sobre- carregado. Controle de erros q . A camada de enlace de dados acrescenta confiabilidade à camada física adicionando mecanismos para detectar e retransmitir frames danificados ou perdidos. Ela também usa mecanismos para reconhecer frames duplicados. Normalmente, o con- trole de erros é obtido por meio de um trailer acrescentado ao final do quadro. Controle de acesso q . Quando dois ou mais dispositivos estiverem conectados ao mesmo link são necessários protocolos da camada de enlace de dados para determinar qual disposi- tivo assumirá o controle do link em dado instante. A Figura 2.7 ilustra a entrega hop-to-hop feita pela camada de enlace. Figura 2.7 Entrega hop-to-hop Sistema intermediário Sistema final A A B B Enlace Física EnlaceEnlace FísicaFísica Entrega hop-to-hop Entrega hop-to-hop Entrega hop-to-hop Entrega hop-to-hop Entrega hop-to-hop Entrega hop-to-hop Sistema intermediário Link Link Sistema intermediário Link Link E E C F D Sistema final Sistema final F Link Conforme mostra a figura, a comunicação na camada de enlace de dados ocorre entre dois nós adjacentes. Para enviar dados de A a F, são feitas três entregas parciais. Primeiro, a camadade enlace de dados em A envia um frame para a camada de enlace de dados em B (um roteador). SEÇÃO 2.3 CAMADAS DO MODELO OSI 35 36 CAPÍTULO 2 MODELOS DE REDES Segundo, a camada de enlace de dados em B envia um novo frame à camada de enlace em E. Finalmente, a camada de enlace em E envia um novo frame à camada de enlace em F. Note que os frames transmitidos entre os três nós possuem valores diferentes em seus cabeçalhos. O frame que vai de A para B tem B como endereço de destino e A como endereço de origem. Já o frame que vai de B a E tem E como endereço de destino e B como endereço de origem. O frame de E a F tem F como endereço de destino e E como endereço de origem. Os valores dos trailers também podem ser diferentes caso a verificação de erros inclua no cálculo o cabeçalho dos frames. Camada de Rede A camada de rede é responsável pela entrega de um pacote desde sua origem até o seu destino, provavelmente através de várias redes (links). Embora a camada de enlace coordene a entrega do pacote entre dois sistemas na mesma rede (links), a camada de rede garante que cada pacote seja transmitido de seu ponto de origem até seu destino final. Se dois sistemas estiverem conectados ao mesmo link, em geral não há a necessidade de uma camada de rede. Entretanto, se dois sistemas estiverem conectados a redes (links) diferentes por meio de dispositivos intermediários de conexão entre as redes (links), normalmente, há a neces- sidade da camada de rede para realizar a entrega da origem até o destino. A Figura 2.8 mostra a relação entre a camada de rede e as camadas de enlace e transporte. Figura 2.8 Camada de rede Camada de rede Camada de rede PacoteH3 Proveniente da camada de transporte Dados Para a camada de enlace Pacote Para a camada de transporte Proveniente da camada de enlace H3 Dados A camada de rede é responsável pela entrega de pacotes individuais desde o host de origem até o host de destino. Outras responsabilidades da camada de rede são as seguintes: Endereçamento lógico q . O endereçamento físico implementado na camada de enlace de dados trata do problema de endereçamento localmente. Se um pacote ultrapassar os limites da rede, precisaremos de um outro sistema de endereçamento para ajudar a distinguir os sistemas de origem e destino. A camada de rede adiciona um cabeçalho ao pacote proveniente da ca- mada superior que, entre outras coisas, inclui os endereços lógicos do emissor e do receptor. Discutiremos endereços lógicos ainda neste capítulo. Roteamento q . Quando redes ou links independentes estiverem conectados para criar internetworks (rede de redes) ou uma grande rede, os dispositivos de conexão (chamados roteadores ou comutadores) encaminham ou comutam os pacotes para seus destinos finais. Uma das funções da camada de rede é fornecer esse mecanismo. A Figura 2.9 ilustra a entrega de uma extremidade à outra pela camada de rede. Figura 2.9 Entrega desde a origem até o destino Entrega desde a origem até o destino Sistema intermediário Sistema final A A B B Rede Enlace RedeRede EnlaceEnlace Física FísicaFísica Entrega hop-to-hop Entrega hop-to-hop Entrega hop-to-hop Sistema intermediário Link Link Sistema intermediário Link Link Entrega desde a origem até o destino E E C F D Sistema final Sistema final F Link Como indica a figura, agora precisamos de uma entrega desde a origem até o destino. A camada de rede em A envia o pacote para a camada de rede em B. Quando o pacote chega no roteador B, este toma uma decisão baseado no destino final (F) do pacote. Como veremos nos próximos capítulos, o roteador B usa sua tabela de roteamento para descobrir que o próximo hop é o rotea- dor E. Portanto, a camada de rede em B envia o pacote para a camada de rede em E. A camada de rede em E, por sua vez, envia o pacote para a camada de rede em F. Camada de Transporte A camada de transporte é responsável pela entrega processo a processo de toda a mensagem. Processo é um programa aplicativo que está sendo executado em um host. Embora a camada de rede supervisione a entrega da origem ao destino dos pacotes individuais, ela não reconhece qualquer relação entre esses pacotes. Ela trata cada um deles independentemente, como se cada trecho pertencesse a uma mensagem separada, ocorra isto ou não. Por outro lado, a camada de transporte garante que a mensagem chegue intacta e na seqüência correta, supervisionando tanto o controle de erros como o controle de fluxo no nível origem-ao-destino. A Figura 2.10 mostra a relação da camada de transporte com as camadas de rede e sessão. SEÇÃO 2.3 CAMADAS DO MODELO OSI 37 38 CAPÍTULO 2 MODELOS DE REDES Figura 2.10 Camada de transporte Segmentos H4 H4H4 Camada de transporte Para a camada de rede Dados Dados Dados Proveniente da camada de sessão Para a camada de sessão H4 H4H4 Camada de transporteProveniente da camada de rede Dados Dados Dados Segmentos A camada de transporte é responsável pela entrega de uma mensagem, de um processo a outro. Outras responsabilidades da camada de transporte são as seguintes: Endereçamento q do ponto de acesso ao serviço (service-point addressing). Normalmen- te, computadores executam vários programas ao mesmo tempo. Por essa razão, a entrega origem-ao-destino significa a entrega não apenas de um computador para o seguinte, mas também de um processo específico (programa em execução) em um computador para um processo específico (programa em execução) no outro. O cabeçalho da camada de transporte deve, portanto, incluir um tipo de endereço chamado endereço do ponto de acesso ao servi- ço (ou também denominado endereço de porta). A camada de rede encaminha cada pacote para o computador correto; a camada de transporte leva a mensagem inteira para o processo correto naquele computador. Segmentação e remontagem q . Uma mensagem é dividida em segmentos transmissíveis, com cada segmento contendo um número de seqüência. Esses números permitem à camada de transporte remontar a mensagem corretamente após a chegada no destino e identificar e substituir pacotes que foram perdidos na transmissão. Controle da conexão q . A camada de transporte pode ser tanto orientada à conexão como não. Uma camada de transporte não orientada à conexão trata cada segmento como um pacote independente e o entrega à camada de transporte na máquina de destino. Uma ca- mada de transporte orientada à conexão estabelece em primeiro lugar uma conexão com a camada de transporte na máquina de destino antes de iniciar a entrega dos pacotes. Após todos os dados serem transferidos a conexão é encerrada. Controle de fluxo q . Assim como a camada de enlace de dados, a camada de transporte é responsável pelo controle de fluxo. Entretanto, o controle de fluxo nessa camada é realizado de uma extremidade à outra e não apenas em um único link. Controle de erros q . Assim como a camada de enlace de dados, a camada de transporte é responsável pelo controle de erros. Entretanto, o controle de erros nessa camada é realiza- do processo-a-processo e não apenas em um único link. A camada de transporte emissora certifica-se que a mensagem inteira chegou na camada de transporte receptora sem erro (corrompida, perdida ou duplicada). Normalmente, a correção de erros é conseguida por meio de retransmissão. A Figura 2.11 ilustra a entrega processo a processo na camada de transporte. Figura 2.11 Entrega confiável processo a processo de uma mensagem Processos Processos Camada de transporte Entrega processo a processo Camada de rede Entrega host-a-host Uma internet Camada de Sessão Os serviços providos pelas três primeiras camadas (física, enlace e rede) não são suficientes para alguns processos. A camada de sessão é o controlador de diálogo da rede. Ela estabelece, mantém e sincroniza a interação entre sistemas que se comunicam entre si. A camada de sessão é responsável pelo controle de diálogo e sincronização. Entre as responsabilidades específicasda camada de sessão, temos as seguintes: Controle de diálogo q . A camada de sessão possibilita a dois sistemas estabelecerem um diá- logo. Ela permite que a comunicação entre dois processos ocorra em modo half-duplex (um sentido por vez) ou full-duplex (simultaneamente). Sincronização q . A camada de sessão permite que um processo adicione pontos de verificação, ou pontos de sincronização, a um fluxo de dados. Por exemplo, se um sistema estiver enviando um arquivo de duas mil páginas, é recomendável inserir pontos de verificação a cada cem páginas para garantir que cada unidade de cem páginas foi recebida e confirmada de forma independente. Nesse caso, se ocorrer uma falha durante a transmissão da página 523, as únicas páginas que precisarão ser reenviadas após a recuperação do sistema serão as páginas 501 a 523. As páginas anteriores à página 501 não precisarão ser reenviadas. A Figura 2.12 exibe a relação da camada de sessão com as camadas de transporte e apresentação. Camada de Apresentação A camada de apresentação é responsável pela sintaxe e semântica das informações trocadas entre dois sistemas. A Figura 2.13 mostra a relação entre a camada de apresentação e as ca- madas de aplicação e de sessão. SEÇÃO 2.3 CAMADAS DO MODELO OSI 39 40 CAPÍTULO 2 MODELOS DE REDES Figura 2.12 Camada de sessão Para a camada de transporte Proveniente da camada de apresentação syn synsyn H5 Camada de sessão Proveniente da camada de transporte Para a camada de apresentação syn synsyn H5 Camada de sessão Figura 2.13 Camada de apresentação H6 DadosDadosH6 Para a camada de sessão Proveniente da camada de apresentação Camada de apresentação Proveniente da camada de sessão Para a camada de apresentação Camada de apresentação A camada de apresentação é responsável pela tradução, compressão e criptografia. Entre as responsabilidades específicas da camada de apresentação, temos as seguintes: Tradução q . Normalmente, processos (programas em execução) em dois sistemas em geral trocam informações na forma de strings, números e assim por diante. As informações têm de ser convertidas em fluxos de bits antes de serem transmitidas. Como diferentes compu- tadores utilizam sistemas de codificação diferentes, a camada de apresentação é responsável pela interoperabilidade entre esses métodos de codificação diferentes. A camada de apresen- tação no emissor traduz as informações de um formato específico do emissor em um formato comum. A camada de apresentação na máquina receptora traduz o formato comum em um formato específico do receptor. Criptografia q . Para transmitir informações confidenciais, um sistema deve ser capaz de ga- rantir privacidade. Criptografia significa que o emissor converte as informações originais em um outro formato e envia a mensagem resultante pela rede. A descriptografia reverte o processo original convertendo a mensagem de volta ao seu formato original. Compressão q . A compressão de dados reduz o número de bits contidos nas informações. Ela se torna particularmente importante na transmissão de conteúdos multimídia, como tex- to, áudio e vídeo. Camada de Aplicação A camada de aplicação habilita o usuário, seja ele humano ou software, a acessar a rede. Ela fornece interface com o usuário e suporte a serviços, como e-mail, acesso e transferência de arquivos remotos, gerenciamento de bancos de dados compartilhados e outros tipos de serviços de informação distribuídos. A Figura 2.14 mostra a relação da camada de aplicação com o usuário e com a camada de apresentação. Dos muitos serviços de aplicação disponíveis, a figura apresenta apenas três deles: X.400 (serviços de tratamento de mensagens), X.500 (serviços de diretórios) e FTAM (transfe- rência, acesso e gerenciamento de arquivos). O usuário, nesse exemplo, emprega o X.400 para enviar uma mensagem de e-mail. Figura 2.14 Camada de aplicação Mensagem Mensagem Camada de aplicação Para a camada de apresentação H7 Dados Proveniente da camada de apresentação Camada de aplicação Usuário (pessoa ou software) Usuário (pessoa ou software) H7 Dados X.500 FTAM X.400X.500 FTAM X.400 A camada de aplicação é responsável por prover serviços ao usuário. Entre os serviços específicos da camada de aplicação, temos os seguintes: Terminal de rede virtual q . Um terminal de rede virtual é uma versão em software de um terminal físico (real) e que permite a um usuário fazer o logon em um host remoto. Para tanto, a aplicação cria uma emulação (via software) de um terminal do host remoto. Usuários dos computadores conversam com o software de emulação que, por sua vez, dialoga com o host e vice-versa. O host remoto acha que está se comunicando com um de seus próprios termi- nais locais e permite ao usuário efetuar o logon. SEÇÃO 2.3 CAMADAS DO MODELO OSI 41 42 CAPÍTULO 2 MODELOS DE REDES Transferência, acesso e gerenciamento de arquivos q . Essa aplicação permite a um usuário acessar arquivos em um host remoto (fazer alterações ou ler dados), recuperar arquivos de um computador remoto para uso em um computador local e gerenciar ou controlar localmente arquivos que se encontrem em um computador remoto. Serviços de correio eletrônico q . Essa aplicação fornece a base para o encaminhamento e armazenamento de e-mails. Serviços de diretório q . Essa aplicação fornece fontes de bancos de dados distribuídos e acesso a informações globais sobre vários itens e serviços. Resumo sobre as Camadas A Figura 2.15 resume as funções de cada camada. Figura 2.15 Resumo das camadas Física Transmitir bits através de um meio físico; prover especificações mecânicas e elétricas. Enlace de dados Organizar bits em frames; fornecer entrega nó a nó. Aplicação Possibilitar acesso aos recursos de rede. Sessão Estabelecer, gerenciar e encerrar sessões. Apresentação Traduzir, criptografar e comprimir dados. Transferir pacotes da origem ao destino; fornecer ligação entre redes. Rede Prover a entrega confiável de mensagens processo a processo e recuperação de erros. Transporte 2.4 CONJUNTO DE PROTOCOLOS TCP/IP O conjunto de protocolos TCP/IP foi desenvolvido antes do modelo OSI. Portanto, as cama- das no conjunto de protocolos TCP/IP não correspondem exatamente àquelas do modelo OSI. O conjunto de protocolos TCP/IP foi definido como tendo quatro camadas: host-rede, internet, transporte e aplicação. Entretanto, quando o TCP/IP é comparado ao modelo OSI, podemos di- zer que a camada host-rede é equivalente à combinação das camadas física e de enlace de dados. A camada internet equivale à camada de rede e a camada de aplicação realiza, a grosso modo, as funções das camadas de sessão, de apresentação e de aplicação com a camada de transporte no TCP/IP cuidando também de parte das tarefas da camada de sessão. Portanto, neste livro, partimos do pressuposto de que o conjunto de protocolos TCP/IP é composto por cinco cama- das: física, enlace, rede, transporte e aplicação. As quatro primeiras camadas fornecem funções de padrões físicos, interfaces de rede, ligação entre redes e de transporte que correspondem às quatro primeiras camadas do modelo OSI. Entretanto, as três camadas mais altas no modelo OSI são representadas no TCP/IP por uma única camada denominada camada de aplicação (ver Figura 2.16). Figura 2.16 Modelo OSI e TCP/IP Aplicação Apresentação Sessão Transporte Rede (internet) Enlace de dados Física SMTP FTP DNSHTTP SNMP Aplicações Protocolos definidos pelas redes subjacentes (host-rede) TELNET SCTP TCP UDP IP ICMP IGMP RARP ARP O TCP/IP é um conjunto de protocolos hierárquicos, compostos por módulos interativos, cada um dos quais provendo funcionalidades específicas; entretanto, os módulos não são neces- sariamente interdependentes. Enquanto o modelo OSI especifica quais funções pertencem a cada uma de suas camadas, as camadas do conjunto de protocolos TCP/IP contêm protocolos relati- vamente independentes que podem ser mesclados ecombinados dependendo das necessidades do sistema. O termo hierárquico significa que cada protocolo de nível superior é suportado por um ou mais protocolos de nível inferior. Na camada de transporte, o TCP/IP define três protocolos: Transmission Control Protocol (TCP), User Datagram Protocol (UDP) e Stream Control Transmission Protocol (SCTP). Na camada de rede, o protocolo principal definido pelo TCP/IP é o Internetworking Protocol (IP); existem também outros protocolos que suportam a movimentação de dados nessa camada. Camadas Física e de Enlace Nas camadas física e de enlace, o TCP/IP não define nenhum protocolo específico. Ele suporta todos os protocolos-padrão e proprietários. Uma rede em uma internetwork TCP/IP pode ser uma rede local (LAN) ou uma rede de ampla abrangência (WAN). Camada de Rede Na camada de rede (ou, mais precisamente, a camada de ligação entre redes), o TCP/IP suporta o Internetworking Protocol (IP). Este, por sua vez, usa quatro protocolos auxiliares de suporte: ARP, RARP, ICMP e IGMP. Cada um desses protocolos é descrito em mais detalhes em capí- tulos futuros. SEÇÃO 2.4 CONJUNTO DE PROTOCOLOS TCP/IP 43 44 CAPÍTULO 2 MODELOS DE REDES Internetworking Protocol (IP) O Internetworking Protocol (IP) é o mecanismo de transmissão usado pelos protocolos TCP/IP. Trata-se de um protocolo sem conexão e não confiável — um serviço de entrega do tipo best- effort — o termo best-effort (melhor esforço possível) significa que o IP não dispõe de nenhuma verificação ou correção de erros. O IP assume a falta de confiabilidade das camadas inferiores e faz o melhor possível para transmitir uma mensagem até seu destino, sem, contudo, nenhuma garantia de que conseguirá fazê-lo. O IP transporta dados em pacotes chamados datagramas, cada um dos quais é transporta- do separadamente. Os datagramas podem trafegar por diferentes rotas e podem chegar fora de seqüência ou estar duplicados. O IP não acompanha as rotas e não tem nenhum recurso para reordenar datagramas uma vez que eles cheguem aos seus destinos. Entretanto, a funcionalidade limitada do IP não deve ser considerada um ponto fraco, pois ele provê funções essenciais de transmissão que dão liberdade ao usuário para acrescentar fun- cionalidades necessárias para dada aplicação e, conseqüentemente, obtendo a máxima eficiência na transmissão. O IP será discutido no Capítulo 20. Address Resolution Protocol O Address Resolution Protocol (ARP) é usado para associar um endereço lógico a um endereço físico. Em uma rede física, típica como uma LAN, cada dispositivo em um link é identificado por um endereço físico ou de estação geralmente gravado no adaptador de rede (NIC). O ARP é usado para descobrir o endereço físico do nó quando o endereço Internet for conhecido. O ARP será discutido no Capítulo 21. Reverse Address Resolution Protocol O Reverse Address Resolution Protocol (RARP) permite que um host descubra seu endereço Internet quando conhece apenas seu endereço físico. É utilizado quando um computador é co- nectado a uma rede pela primeira vez ou quando um computador sem disco é ligado. Discutire- mos o RARP no Capítulo 21. Internet Control Message Protocol O Internet Control Message Protocol (ICMP) é um mecanismo usado por hosts e gateways para enviar notificações de problemas ocorridos com datagramas de volta ao emissor. O ICMP envia mensagens de consulta e de notificação de erros. Discutiremos o ICMP no Capítulo 21. Internet Group Message Protocol O Internet Group Message Protocol (IGMP) é usado para facilitar a transmissão simultânea de uma mensagem a um grupo de destinatários. Discutiremos sobre o IGMP no Capítulo 22. Camada de Transporte Tradicionalmente, a camada de transporte era representada no TCP/IP por dois protocolos: O TCP e o UDP. IP é um protocolo host-to-host, significando que ele é capaz de transmitir um pacote de um dispositivo físico a outro. O UDP e o TCP são protocolos do nível de transporte responsáveis pela entrega de uma mensagem de um processo (programa em execução) a outro processo. Um protocolo de camada de transporte, o SCTP, foi concebido para atender às neces- sidades de algumas aplicações mais recentes. User Datagram Protocol O User Datagram Protocol (UDP) é o protocolo mais simples dos dois protocolos de transpor- te-padrão TCP/IP. É um protocolo processo a processo que adiciona em seu cabeçalho apenas endereços de portas de origem e destino, controle de erros (checksum) e informações do comprimento do campo de dados proveniente das camadas superiores. O UDP será discutido no Capítulo 23. Transmission Control Protocol O Transmission Control Protocol (TCP) fornece serviços completos de camada de transporte para as aplicações. O TCP é um protocolo de transporte de fluxo confiável. O termo fluxo, nesse contexto, significa orientado à conexão: uma conexão tem de ser estabelecida entre ambas as extre- midades de uma transmissão antes que qualquer uma delas possa iniciar a transmissão de dados. No lado emissor de cada transmissão, o TCP divide o fluxo de dados em unidades menores, denominadas segmentos. Cada segmento inclui um número seqüencial utilizado para a reorde- nação após a recepção, juntamente com um número de confirmação dos segmentos recebidos. Os segmentos são transportados pela internet dentro de datagramas IP. No lado receptor, o TCP coleta cada datagrama da forma como ele chega e reordena a transmissão baseada nos números de seqüência. O TCP será discutido no Capítulo 23. Stream Control Transmission Protocol O Stream Control Transmission Protocol (SCTP) provê suporte para as aplicações mais recentes, como voz sobre IP. Trata-se de um protocolo de camada de transporte que combina o que há de melhor no UDP e no TCP. Discutiremos o SCTP no Capítulo 23. Camada de Aplicação A camada de aplicação no TCP/IP equivale à combinação das camadas de sessão, de apresen- tação e de aplicação do modelo OSI. Muitos protocolos são definidos nessa camada. Trataremos de muitos dos protocolos-padrão nos capítulos posteriores. 2.5 ENDEREÇAMENTO São usados quatro níveis de endereços em uma internet que emprega os protocolos TCP/IP: endereços físicos (links), endereços lógicos (IP), endereços de portas e endereços específicos (ver Figura 2.17). Figura 2.17 Endereços no TCP/IP Endereços Endereços físicos Endereços lógicos Endereços específicos Endereços de portas SEÇÃO 2.5 ENDEREÇAMENTO 45 46 CAPÍTULO 2 MODELOS DE REDES Cada endereço se relaciona com uma camada específica da arquitetura TCP/IP, conforme mostrado na Figura 2.18. Figura 2.18 Relação entre as camadas e os endereços no TCP/IP Endereços de portas Endereços físicos Endereços específicos Camada de link de dados Camada física Camada de rede Camada de transporte Camada de aplicação IP e outros protocolos SCTP UDPTCP Redes físicas subjacentes Processos Endereços lógicos Endereços Físicos O endereço físico, também conhecido como endereço de link, é o endereço de um nó conforme definido por sua LAN ou WAN. Ele está incluso no frame (quadro) usado pela camada de enlace. Trata-se do endereço de nível mais baixo. Os endereços físicos têm autoridade sobre a rede (LAN ou WAN). O tamanho e o formato desses endereços variam dependendo da rede. Por exemplo, a Ethernet usa um endereço físico de 6 bytes (48 bits) que é gravado no adaptador de rede (NIC). Em compensação, o LocalTalk (Apple) tem um endereço dinâmico de 1 byte que muda cada vez que a estação é ligada. Exemplo 2.1 Na Figura 2.19, um nó com endereço físico 10 envia um frame para um nó com endereço físico 87. Os dois nós são conectados por um link (LAN de topologia de barramento). Na camada de enlace, esse frame contém endereços físicos (de link) no cabeçalho. Estes são os únicos endereços necessários. O restante do cabeçalho contém outras informações necessárias para esse nível. O trailer normalmente contém bits extras necessários para a detecção de erros. Conforme mostra a figura,o computador com endereço físico 10 é o emissor e o computador com endereço físico 87, o receptor. A camada de enlace no emissor recebe dados de uma camada superior. Ela encapsula os dados em um frame, acrescentando o cabeçalho e o trailer. O cabeçalho, entre outras informações, transporta os endereços (de link) físicos do emissor e do receptor. Note que, na maioria dos protocolos de enlace, o endereço de destino, 87 nesse caso, vem antes do endereço de origem (10, no caso). Mostramos uma topologia de barramento para uma LAN isolada. Em uma topologia de barramento, o frame se propaga em ambas as direções (esquerda e direita). O frame propagado para a esquerda acaba “morrendo” ao atingir o final do cabo quando a terminação do cabo está feita de forma adequada. O fra- me propagado para a direita é enviado para todas as estações da rede. Cada estação com um endereço Figura 2.19 Endereços físicos 5328 8710 Trailer LAN Endereço de destino Emissor Receptor O endereço de destino não coincide; o pacote é abandonado Endereço de origem Dados87 T210 Dados Dados Dados87 T210 físico diferente de 87 escuta o frame, mas o descarta, pois o endereço de destino no frame não coincide com seu endereço físico. O computador de destino almejado, porém, encontra uma coincidência entre o endereço de destino no frame e seu próprio endereço físico. O frame é verificado, o cabeçalho e o trailer são retirados e a parte referente aos dados é desencapsulada e entregue para a camada superior. Exemplo 2.2 Como veremos no Capítulo 13, a maioria das redes locais usa um endereço físico de 48 bits (6 bytes) escrito na forma de 12 dígitos hexadecimais; cada byte (2 dígitos hexadecimais) é separado por dois pontos (:), conforme mostrado a seguir: 07:01:02:01:2C:4B Um endereço físico de 6 bytes (12 dígitos hexadecimais) Endereços Lógicos Os endereços lógicos são necessários para que as comunicações universais sejam independen- tes das redes físicas subjacentes. Os endereços físicos não são adequados em um ambiente de internetwork no qual redes diferentes podem ter formatos de endereço diferentes. É necessário um sistema de endereçamento universal no qual cada host possa ser identificado de forma única e exclusiva, independentemente da rede física subjacente. Os endereços lógicos são elaborados para essa finalidade. Um endereço lógico na Internet é, atualmente, um endereço de 32 bits capaz de definir de forma única e exclusiva um host co- nectado à Internet. Nenhum par de hosts visíveis e com endereços de acesso público na Internet podem ter o mesmo endereço IP. Exemplo 2.3 A Figura 2.20 exibe parte de uma internet com dois roteadores conectando três LANs. Cada dis- positivo (computador ou roteador) tem um par de endereços (lógico e físico) para cada conexão. Nesse caso, cada computador está conectado a apenas um link e, portanto, tem apenas um par de endereços. Cada roteador, porém, está conectado a três redes (apenas duas são mostradas na figura). Portanto, cada roteador tem três pares de endereços, um para cada conexão. Embora possa parecer óbvio que cada roteador tenha três pares de endereços, um para cada conexão, talvez não seja óbvio a razão porque ele precisa de um endereço lógico para cada conexão. Discutiremos essas questões no Capítulo 22 ao tratarmos de roteamento. SEÇÃO 2.5 ENDEREÇAMENTO 47 48 CAPÍTULO 2 MODELOS DE REDES Figura 2.20 Endereços IP DadosA P20 T210 DadosA P DadosCamadas superiores Camadas superiores Camada de rede Camada de rede Camada de enlace Camadas superiores DadosA P20 T210 DadosA P DadosA P33 T299 DadosA P DadosA P33 T299 DadosA P DadosA P95 T266 DadosA P A/10 F/20 Z/66 Para outra rede Endereços físicos modificados Para outra rede T/99 X/44 Y/55 N/33 P/95 Emissor Receptor DadosA P95 T266 DadosA P Dados LAN 1 LAN 3 LAN 2 Roteador 1 Roteador 2 Endereços físicos modificados O computador com o endereço lógico A e endereço físico 10 precisa enviar um pacote para o computador com o endereço lógico P e endereço físico 95. Usamos letras para identificar os endereços lógicos e números para os endereços físicos. No entanto, note que, na realidade, am- bos são números, como veremos posteriormente ainda neste capítulo. O emissor encapsula seus dados em um pacote na camada de rede e acrescenta dois endere- ços lógicos (A e P). Observe que, na maioria dos protocolos, o endereço lógico de origem vem antes do endereço lógico de destino (contrário à ordem dos endereços físicos). Entretanto, a camada de rede precisa encontrar o endereço físico do próximo nó antes de o pacote poder ser entregue. A camada de rede consulta sua tabela de roteamento (ver Capítulo 22) e descobre que o endereço lógico do próximo nó (roteador 1) é F. O protocolo ARP, discutido anteriormente, encontra o endereço físico do roteador 1 correspondente ao endereço lógico 20. Em seguida, a camada de rede passa esse endereço para a camada de enlace que, por sua vez, encapsula o pa- cote com o endereço físico de destino 20 e endereço físico de origem 10. O frame é recebido por todos os dispositivos na LAN 1, mas é descartado por todos, exceto pelo roteador 1, que constata que o endereço físico de destino contido no frame coincide com seu próprio endereço físico. O roteador desencapsula o pacote para ler o endereço lógico de destino P. Já que o endereço lógico de destino não coincide com o endereço lógico do roteador, o roteador sabe que o pacote precisa ser encaminhado. Então, ele consulta sua tabela de rotea- mento e o ARP para encontrar o endereço físico de destino do próximo nó (roteador 2), cria um novo frame, encapsula o pacote e o envia ao roteador 2. Observe os endereços físicos no frame. O endereço físico de origem muda de 10 para 99. O endereço físico de destino muda de 20 (endereço físico do roteador 1) para 33 (endereço físico do roteador 2). Os endereços lógicos de origem e de destino têm de permanecer iguais; caso contrário, o pacote será perdido. No roteador 2, temos uma situação semelhante. Os endereços físicos são modificados e um novo frame é enviado para o computador de destino. Quando o frame chega ao destino, o pacote é desencapsulado. O endereço lógico de destino P coincide com o endereço lógico do compu- tador. Os dados são então desencapsulados do pacote e entregues para a camada superior. Note que, embora os endereços físicos vão mudar de nó para nó, os endereços lógicos permanecerão os mesmos desde a origem até o destino. Existem algumas exceções para essa regra que desco- briremos mais tarde no livro. Os endereços físicos mudarão de nó para nó, mas, os endereços lógicos normalmente permanecerão os mesmos. Endereços de Portas O endereço IP e o endereço físico são necessários para que um conjunto de dados trafegue de um host origem até o destino. Entretanto, a chegada no host de destino não é o objetivo final das comunicações de dados na Internet. Um sistema que envia nada mais que dados de um compu- tador a outro não é completo. Atualmente, os computadores são dispositivos capazes de executar vários processos ao mesmo tempo. O objetivo final das comunicações na Internet é de um processo se comunicar com outro. Por exemplo, o computador A pode se comunicar com o computador C usando Telnet. Ao mesmo tempo, o computador A se comunica com o computador B usando FTP (File Transfer Protocol, ou seja, Protocolo de Transferência de Arquivos). Para esses processos receberem dados simultaneamente, precisamos de um método para identificar os diferentes pro- cessos. Em outras palavras, eles precisam de endereços. Na arquitetura TCP/IP, o identificador atribuído a um processo é chamado de endereço de porta. Um endereço de porta no TCP/IP tem um comprimento de 16 bits. Exemplo 2.4 A Figura 2.21 mostra dois computadores se comunicando via Internet. O computador emissor está executando três processos no momento com os endereços de porta a, b e c. O computador receptor está executando dois processosno momento com os endereços de porta j e k. O processo a no com- putador emissor precisa se comunicar com o processo j no computador receptor. Note que, embora ambos os computadores estejam usando a mesma aplicação, FTP, por exemplo, os endereços de porta são diferentes, pois um é um programa-cliente e o outro, um programa-servidor, conforme veremos no Capítulo 23. Para mostrar que os dados do processo a precisam ser entregues para o processo j e não k, a camada de transporte encapsula os dados da camada de aplicação em um pacote e acrescenta dois endereços de porta (a e j), origem e destino. O pacote da camada de transporte é então encapsulado em outro pacote na camada de rede com endereços lógicos de origem e de destino (A e P). Finalmente, esse pacote é encapsulado em um frame com os endereços físicos de origem e de destino do próximo nó. Não mostramos os endereços físicos, pois eles mudam de nó para nó dentro da “nuvem” designada como Internet. Observe que, embora os endereços físicos mudem de nó em nó, os endereços lógicos e de portas permanecem os mesmos desde a origem até o destino. Existem algumas exceções a essa regra que discutiremos posteriormente neste livro. SEÇÃO 2.5 ENDEREÇAMENTO 49 50 CAPÍTULO 2 MODELOS DE REDES Figura 2.21 Endereços de porta A Emissor Receptor a b c j k Internet a DadosjA P T2H2 a DadosjA P a Dadosj Dados P a DadosjA P T2H2 a DadosjA P a Dadosj DadosCamada de aplicação Camada de transporte Camada de rede Camada de enlace Os endereços físicos mudam de nó para nó, mas os endereços lógicos e de porta normalmente permanecem os mesmos. Exemplo 2.5 Como veremos no Capítulo 23, um endereço de porta é um endereço de 16 bits representado por um número decimal conforme mostrado a seguir: 753 Um endereço de porta de 16 bits representado por um único número. Endereços Específicos Algumas aplicações têm endereços amigáveis que são concebidos para um endereço específico. Entre alguns exemplos, temos endereços de e-mail (por exemplo, forouzan@fhda.edu) e a URL (Universal Resource Locator, ou seja, localizador universal de recursos) (por exemplo, www.mhhe.com). O primeiro define o destinatário de uma mensagem de e-mail (ver Capítulo 26); o segundo é usado para encontrar um documento na World Wide Web (ver Capítulo 27). Esses endereços, porém, são convertidos pelo computador emissor em endereços lógico e de porta correspondentes, como veremos no Capítulo 25. 2.6 LEITURA RECOMENDADA Para mais detalhes sobre os assuntos discutidos neste capítulo, recomendamos os seguintes li- vros e sites. Os itens entre colchetes [. . .] correspondem à lista de referências bibliográficas no final do texto. Livros Os modelos de redes são discutidos na Seção 1.3 de [Tan03], Capítulo 2 de [For06], Capítulo 2 de [Sta04], Seções 2.2 e 2.3 de [GW04], Seção 1.3 de [PD03] e Seção 1.7 de [KR05]. Uma boa discussão sobre endereços pode ser encontrada na Seção 1.7 de [Ste94]. Sites O site a seguir está relacionado aos tópicos discutidos neste capítulo. www.osi.org/ q Informações sobre o modelo OSI. RFCs O site a seguir enumera todas as RFCs, inclusive aquelas relativas a endereços IP e de porta. www.ietf.org/rfc/html q 2.7 TERMOS-CHAVE ARP (Address Resolution Protocol) bits cabeçalho (header) camada de aplicação camada de apresentação camada de enlace camada de rede camada de sessão camada de transporte camada física codificação conjunto de protocolos TCP/IP controle de acesso controle de conexão controle de erro controle de fluxo endereçamento físico endereçamento lógico endereço de porta entrega hop-to-hop entrega nó a nó entrega origem-ao-destino entrega processo a processo erro frame (pacote) ICMP (Internet Control Message Protocol) IGMP (Internet Group Message Protocol) interface modelo OSI (Open Systems Interconnection, Interconexão de Sistemas Abertos) ponto de sincronização processo peer-to-peer protocolo host-to-host protocolos de nível de transporte RARP (Reverse Address Resolution Protocol) roteamento SCTP (Stream Control Transmission Protocol) segmentação serviço de correio serviço de entrega best-effort sistema aberto taxa de transmissão TCP (Transmission Control Protocol) trailer UDP (User Datagram Protocol) SEÇÃO 2.7 TERMOS-CHAVE 51 52 CAPÍTULO 2 MODELOS DE REDES 2.8 RESUMO A International Organization for Standardization (ISO) criou um modelo chamado OSI ( q Open Systems Interconnection) que possibilita que diversos sistemas se comuniquem entre si. O modelo OSI de sete camadas provê diretrizes para o desenvolvimento de protocolos de q rede universalmente compatíveis. As camadas física, de enlace e de rede são as camadas de suporte à rede. q As camadas de sessão, de apresentação e de aplicação são as camadas de suporte ao usuário. q A camada de transporte faz a ligação entre as camadas de suporte à rede e as de suporte ao q usuário. A camada física coordena as funções necessárias para a transmissão de um fluxo de bits q através de um meio físico. A camada de enlace de dados é responsável pela entrega de unidades de dados, sem erros, q de uma estação para a seguinte. A camada de rede é responsável pela entrega de um pacote desde sua origem até seu destino q por meio de uma série de links de rede. A camada de transporte é responsável pela entrega processo a processo de uma mensagem q inteira. A camada de sessão estabelece, mantém e sincroniza as interações entre os dispositivos de q comunicação. A camada de apresentação garante a interoperabilidade entre dispositivos de comunicação q pela tradução de dados em um formato de comum acordo. A camada de aplicação permite que os usuários acessem a rede. q O TCP/IP é um conjunto de protocolos hierárquicos de cinco camadas desenvolvido ante- q riormente ao modelo OSI. A camada de aplicação do TCP/IP equivale à combinação das camadas de sessão, de apre- q sentação e de aplicação do modelo OSI. São usados quatro níveis de endereços em uma internet que segue os protocolos TCP/IP: ende- q reços físicos (links), endereços lógicos (IP), endereços de porta e endereços específicos. O endereço físico, também conhecido como endereço de link, é o endereço de um nó con- q forme definido por sua LAN ou WAN. O endereço IP define exclusivamente um q host na Internet. O endereço de porta identifica um processo em um q host. Um endereço específico é um endereço amigável. q 2.9 ATIVIDADES PRÁTICAS Questões para Revisão 1. Enumere as camadas do modelo Internet. 2. Que camadas no modelo Internet são as camadas de suporte à rede? 3. Que camada no modelo Internet é a camada de suporte ao usuário? 4. Qual é a diferença entre a entrega da camada de rede e a entrega da camada de transporte? 5. O que é um processo peer-to-peer? 6. Como as informações passam de uma camada para a seguinte no modelo Internet? 7. Que são cabeçalhos e trailers e como eles são acrescentados ou retirados? 8. Quais são as preocupações da camada física no modelo Internet? 9. Quais são as responsabilidades da camada de enlace de dados no modelo Internet? 10. Quais são as responsabilidades da camada de rede no modelo Internet? 11. Quais são as responsabilidades da camada de transporte no modelo Internet? 12. Qual é a diferença entre um endereço de porta, um endereço lógico e um endereço físico? 13. Cite alguns serviços fornecidos pela camada de aplicação no modelo Internet. 14. Como as camadas do modelo Internet se correlacionam com as camadas do modelo OSI? Exercícios 15. Como o OSI e a ISO estão relacionados entre si? 16. Associe o texto seguinte com uma ou mais camadas do modelo OSI: a. Determinação de rotas b. Controle de fluxo c. Interface com o meio de transmissão d. Fornece acesso para o usuário final 17. Associe o texto seguinte com uma ou mais camadas do modelo OSI: a. Entrega confiável de mensagens processo a processo b. Seleção de rotas c. Define frames d. Fornece serviços ao usuário final,tais como e-mail e transferência de arquivos e. Transmissão de fluxo de bits através do meio físico 18. Associe o texto seguinte com uma ou mais camadas do modelo OSI: a. Comunica-se diretamente com o programa aplicativo do usuário b. Correção e retransmissão de erros c. Interface mecânica, elétrica e funcional d. Responsabilidade pelo transporte de pacotes entre nós adjacentes 19. Associe o texto seguinte com uma ou mais camadas do modelo OSI: a. Serviços de formatação e de conversão de código b. Estabelece, gerencia e encerra sessões c. Garante a transmissão de dados confiável d. Procedimentos de login e logout e. Fornece independência na representação de dados diferentes 20. Na Figura 2.22, o computador A envia uma mensagem para o computador D através da LAN1, roteador R1 e LAN2. Mostre o conteúdo dos pacotes e frames nas camadas de rede e de enlace de dados para cada interface de cada nó. SEÇÃO 2.9 ATIVIDADES PRÁTICAS 53 54 CAPÍTULO 2 MODELOS DE REDES Figura 2.22 Exercício 20 B/42 C/82 A/40 Emissor EmissorLAN 1 LAN 2 R1 D/80 21. Na Figura 2.22, suponha que a comunicação seja entre um processo sendo executado no computador A com endereço de porta i e um processo executado em um computador D com endereço de porta j. Mostre o conteúdo de pacotes e frames nas camadas de rede, enlace de dados e de transporte de cada nó. 22. Suponha que um computador envie um frame para outro computador em uma LAN de to- pologia de barramento. O endereço físico de destino do pacote é corrompido durante a transmissão. O que acontece com o pacote? Como o emissor pode ser informado sobre a situação? 23. Suponha que um computador envie um pacote na camada de rede para outro computador em algum ponto na Internet. O endereço lógico de destino do pacote é corrompido. O que acontece ao pacote? Como o computador de origem pode ser informado sobre a situação? 24. Suponha que um computador envie um pacote na camada de transporte para outro compu- tador em algum ponto na Internet. Não existe nenhum processo com o endereço de porta de destino sendo executado no computador de destino. O que pode acontecer? 25. Se a camada de enlace de dados é capaz de detectar erros entre os nós, por que você acha que precisaríamos de outro mecanismo de verificação na camada de transporte? Atividades de Pesquisa 26. Cite algumas vantagens e desvantagens de e combinar as camadas de sessão, de apresenta- ção e de aplicação do modelo OSI em uma única camada de aplicação no modelo Internet. 27. Controle de diálogo e sincronização são duas tarefas sob a responsabilidade da camada de sessão no modelo OSI. Que camada você acredita ser a responsável por essas tarefas no modelo Internet? Justifique sua resposta. 28. Tradução, criptografia e compactação são algumas das tarefas da camada de apresentação no modelo OSI. Que camada você acredita ser a responsável por tais tarefas no modelo In- ternet? Justifique sua resposta. 29. Existem vários modelos de camada de transporte propostos no modelo OSI. Encontre todos eles. Explique as diferenças entre eles. 30. Existem vários modelos de camada de rede propostos no modelo OSI. Descubra todos eles. Explique as diferenças entre eles. PARTE 2 Camada Física e Meios de Transmissão Objetivos Iniciaremos a discussão sobre o modelo Internet com a camada mais baixa. Trata-se da camada que efetivamente interage com o meio de transmissão, a parte física da rede que conecta compo- nentes de rede entre si. Essa camada está envolvida na tarefa de transportar informações fisica- mente de um nó da rede para o seguinte. A camada física tem tarefas complexas a serem cumpridas. Uma das principais é o forneci- mento de serviços para a camada de enlace. Os dados na camada de enlace são formados por 0s e 1s organizados em pacotes que estão prontos para serem enviados através do meio de transmissão. Esse fluxo de 0s e 1s tem de ser primeiramente convertido em outra entidade: os sinais. Um dos serviços fornecidos pela camada física é criar um sinal que represente esse fluxo de bits. A camada física também deve cuidar da rede física, ou seja, o meio de transmissão. O meio de transmissão é uma entidade passiva, sem programa interno nem lógica para controle, como outras camadas. Ele tem de ser controlado pela camada física. Ela decide sobre as direções dos fluxos de dados e sobre o número de canais lógicos para transporte de dados provenientes de diferentes fontes. Na Parte 2 deste livro, discutimos questões relacionadas com a camada física e o meio de transmissão que é controlado por ela. No último capítulo da Parte 2, abordaremos a estrutura e as camadas físicas da rede de telefonia e rede de cabos. A Parte 2 do livro é dedicada à camada física e ao meio de transmissão. Capítulos Esta parte consiste de sete capítulos: Capítulos 3 a 9. Capítulo 3 O Capítulo 3 discute a relação entre os dados que são criados por um dispositivo e os sinais eletromagnéticos que são transmitidos através de um meio. Capítulo 4 O Capítulo 4 trata da transmissão digital. Discutimos como podemos converter dados analógicos ou digitais em sinais digitais. Capítulo 5 O Capítulo 5 trata da transmissão analógica. Discutimos como podemos converter dados analó- gicos ou digitais em sinais analógicos. Capítulo 6 O Capítulo 6 mostra como podemos usar a largura de banda disponível de forma eficiente. Dis- cutimos dois tópicos distintos mas relacionados: a multiplexação e o espalhamento. Capítulo 7 Após explicar alguns conceitos sobre dados e sinais e como podemos usá-los de maneira eficaz, discutimos as características dos meios de transmissão, sejam eles guiados ou não. Embora os meios de transmissão operem sob a camada física, eles são controlados por ela. Capítulo 8 Embora os capítulos anteriores desta parte sejam questões relacionadas com a camada física ou com os meios de transmissão, o Capítulo 8 fala sobre comutação, um tópico que pode ser relacionado com várias camadas. Nós incluímos nesta parte do livro para evitar a repetição da discussão sobre cada camada. Capítulo 9 O Capítulo 9 mostra como as questões discutidas nos capítulos anteriores podem ser usadas na prática nas redes. Neste capítulo, discutimos primeiramente a rede telefônica projetada para transmissão de voz. Em seguida, mostramos que ela pode ser usada para transmissão de dados. Segundo, discutimos as redes a cabo como, por exemplo, uma rede de televisão. Em seguida, mostramos como ela também pode ser usada para transmitir dados. CAPÍTULO 3 Dados e Sinais Uma das principais funções da camada física é transportar dados na forma de sinais eletro- magnéticos por um meio de transmissão. Seja a coleta de dados estatísticos de outro compu- tador, o envio de figuras animadas de uma estação de trabalho ou fazer que uma campainha toque em um centro de controle distante, ou seja, trata-se da transmissão de dados pelas conexões de rede. Geralmente, os dados enviados para uma pessoa ou aplicação não se encontram em um for- mato que pode ser transmitido por uma rede. Por exemplo, uma fotografia precisa, primeiramen- te, ser modificada para uma forma que o meio de transmissão seja capaz de aceitar. Os meios de transmissão funcionam através da condução de energia ao longo de um caminho físico. Para serem transmitidos, os dados precisam ser transformados em sinais eletromagnéticos. 3.1 ANALÓGICO E DIGITAL Tanto os dados como os sinais que os representam podem ser analógicos ou então digitais em sua forma. Dados Analógicos e Digitais Os dados podem ser analógicos ou digitais. O termo dados analógicos refere-se a informações que são contínuas; dados digitais correspondem a informações que possuem estados discretos. Por exemplo, um relógio analógico com ponteiros de horas, minutos e segundos fornece infor- mações em uma forma contínua; o movimento dos ponteiros é contínuo. Por outro lado, um relógio digital que informa as horas e os minutos mudará repentinamente de 8h05 para 8h06. Dados analógicos,como os sons produzidos pela voz humana, assumem valores contínuos. Quando alguém fala, cria-se uma onda analógica no ar. Essa pode ser capturada por um micro- fone e convertida em um sinal analógico ou então ser feita uma amostragem e convertida para um sinal digital. Dados digitais assumem valores discretos. Por exemplo, os dados são armazenados na me- mória do computador na forma de 0s e 1s e podem ser convertidos em um sinal digital ou mo- dulados em um sinal analógico para transmissão através de um meio físico. 57 58 CAPÍTULO 3 DADOS E SINAIS Os dados podem ser analógicos ou digitais. Dados analógicos são contínuos e assumem valores contínuos. Os dados digitais possuem estados discretos e assumem valores discretos. Sinais Analógicos e Digitais Assim como os dados que eles representam, os sinais podem ser tanto analógicos como digitais. Um sinal analógico tem infinitamente muitos níveis de intensidade ao longo de um período de tempo. À medida que a onda se desloca do valor A para o valor B, ela passa por infinitos valores ao longo de seu caminho. Por outro lado, um sinal digital pode ter apenas um número limitado de valores definidos. Embora cada valor possa ser um número qualquer, geralmente ele é representado como um nível lógico 1 ou 0. A maneira mais simples para mostrar sinais é colocá-los em um gráfico com um par de eixos perpendiculares. O eixo vertical representa o valor ou a intensidade do sinal. O eixo horizontal representa o tempo. A Figura 3.1 ilustra um sinal analógico e um sinal digital. A curva repre- sentando o sinal analógico passa por um número infinito de pontos. As retas verticais do sinal digital, porém, apresentam o salto repentino que o sinal faz de valor para valor. Os sinais podem ser analógicos ou digitais. Os sinais analógicos podem ter um número infinito de valores em um período de tempo; os sinais digitais podem ter apenas um número limitado de valores. Figura 3.1 Comparação de sinais analógicos e digitais Valor a. Sinal analógico Tempo Valor b. Sinal digital Tempo Sinais Periódicos e Não Periódicos Tanto os sinais analógicos como os digitais podem assumir uma de duas formas: periódicos ou não periódicos (algumas vezes chamados aperiódicos, pois o prefixo a em grego, significa “não”). Um sinal periódico completa um padrão dentro de um período mensurável, denominado período, e esse padrão se repete, de forma idêntica, ao longo dos períodos seguintes. O término de um padrão completo é chamado ciclo. Um sinal não periódico muda sem exibir um padrão ou ciclo que se repita ao longo do tempo. Tanto os sinais analógicos como os digitais podem ser periódicos ou não periódicos. Em comunicação de dados, usamos comumente sinais analógicos periódicos (pois eles precisam menos largura de banda, conforme Capítulo 5) e sinais digitais não periódicos (pois eles podem representar variação nos dados, como veremos no Capítulo 6). Na comunicação de dados, usamos comumente sinais analógicos periódicos e sinais digitais não periódicos. 3.2 SINAIS ANALÓGICOS PERIÓDICOS Os sinais analógicos periódicos podem ser classificados como simples ou compostos. Um sinal analógico periódico simples, uma onda senoidal, não pode ser decomposta em sinais mais sim- ples. Um sinal analógico periódico é composto por ondas senoidais múltiplas. Onda Senoidal A onda senoidal é a forma mais fundamental de um sinal analógico periódico. Quando a visua- lizamos como uma curva oscilante simples, sua mudança ao longo do curso de um ciclo é suave e consistente, um fluxo oscilante e contínuo. A Figura 3.2 mostra uma onda senoidal. Cada ciclo consiste em um arco único acima do eixo de tempo seguido por um arco único abaixo dele. Figura 3.2 Uma onda senoidal Tempo Valor Fazemos uma abordagem matemática de ondas senoidais no Apêndice C. Uma onda senoidal pode ser representada por três parâmetros: amplitude máxima, freqüên- cia e fase. Esses três parâmetros descrevem totalmente uma onda senoidal. Amplitude Máxima A amplitude máxima de um sinal é o valor absoluto da máxima intensidade, proporcional à energia que ela transporta. Para sinais elétricos, a amplitude máxima é normalmente medida em volts. A Figura 3.3 mostra dois sinais e suas amplitudes máximas. Exemplo 3.1 A eletricidade em sua casa pode ser representada por uma onda senoidal com uma amplitude máxima de 155 a 170 V. Entretanto, é de domínio público que a voltagem da eletricidade em nossas residências é de 110 a 127 V. SEÇÃO 3.2 SINAIS ANALÓGICOS PERIÓDICOS 59
Compartilhar