Relatório geral pi

  • 1,470 views
Uploaded on

 

More in: Education
  • 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
1,470
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
26
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. MODELO OSI Introdução O final da década de 70 apresentava um panorama curioso em termos de comunicação de dados em redes de computadores: por um lado, uma perspectiva de crescimento vertiginoso causado pelo investimento e desenvolvimento que estavam sendo feitos, mas por outro lado uma tendência que poderia acarretar em uma profunda crise no setor, a heterogeneidade de padrões entre os fabricantes, praticamente impossibilitando a interconexão entre sistemas de fabricantes distintos. Então os fabricantes começaram a perseguir alguns objetivos necessários para a implementação de um sistema aberto. Esses objetivos são: • Interoperabilidade: capacidade que os sistemas abertos possuem de troca de informações entre eles, mesmo que sejam fornecidos por fabricantes diversos; • Interconectividade: é a maneira através da qual se podem conectar computadores de fabricantes distintos; • Portabilidade da aplicação: é a capacidade de um software de rodar em várias plataformas diferentes; • "Scalability": capacidade de um software rodar com uma performance aceitável em computadores de capacidades diversas, desde computadores pessoais até supercomputadores. Para se atingir estes objetivos, a ISO (International Organization for Standardization) passou a se ocupar em criar um padrão de arquitetura aberta e baseada em camadas. Foi então definido o Modelo de Referência para Interconexão de Sistemas Abertos (Reference Model for Open Systems Interconection - RM OSI). A utilização de um ambiente de sistema aberto nos oferece algumas vantagens, como: • Liberdade de escolha entre soluções de diversos fabricantes; • Acesso mais rápido a novas tecnologias e a preços mais acessíveis, já que é mais barato e rápido fabricar produtos baseados em uma plataforma padrão; • Redução de investimentos em novas máquinas, já que os sistemas e os softwares de aplicação são portáveis para os vários tipos de máquinas existentes. A adoção de um modelo baseado em camadas também não é arbitrária. Considerando que uma rede de computadores tem como objetivo o processamento de tarefas distribuídas pela rede de forma harmônica e cooperativa entre os vários processos de aplicação, o projeto desta deve levar em conta vários fatores, como: • Considerar todos os eventos possíveis de acontecer durante a comunicação; • Conhecer todos os efeitos e causas destes eventos; • Especificar em detalhes todos os aspectos técnico-operacionais dos meios físicos a serem utilizados como suporte à comunicação; • Detalhes das próprias aplicações a serem executadas. 1
  • 2. Podemos perceber, então, que o problema é extremamente complexo e abrangente. A fim de se lidar com esta complexidade (facilitando a implementação e manutenção), projeta- se à rede como um conjunto de camadas. Este conjunto de camadas é hierárquico, ou seja, cada camada baseia-se na camada inferior [Moura 86]. Reduzindo-se o projeto global da rede ao projeto de cada uma das camadas, simplifica-se consideravelmente o trabalho de desenvolvimento e de manutenção. O projeto de uma camada é restrito ao contexto dessa camada e supõe que os problemas fora deste contexto já estejam devidamente resolvidos. Na realidade existem duas vantagens práticas na utilização de uma arquitetura em camadas. Em primeiro lugar, a complexidade do esforço global de desenvolvimento é reduzida através de abstrações (não interessa para uma determinada camada como as demais implementam o fornecimento de seus serviços, só o que elas oferecem). Na arquitetura hierárquica, a camada (N) sabe apenas que existem as camadas (N-1), prestadoras de determinados serviços e a camada (N+1), que lhe requisita os serviços. A camada (N) não toma conhecimento da existência das camadas (N±2), (N±3), etc. O segundo aspecto é relacionado com a independência entre as camadas. A camada (N) preocupa-se apenas em utilizar os serviços da camada (N-1), independentemente do seu protocolo. É assim que uma camada pode ser alterada sem mudar as demais (facilidade de manutenção) - desde que os serviços que ela presta não sejam modificados. É assim também que novas aplicações podem ser implementadas, na camada apropriada, aproveitando os mesmos serviços já fornecidos pelas outras camadas (redução dos esforços para evoluções). Porém a elaboração de um sistema aberto passa por algumas etapas obrigatórias que podemos observar claramente na definição do modelo OSI, da ISO: • Definição do modelo do sistema aberto (padrão para arquitetura do sistema aberto); • Definição dos padrões dos componentes que fazem parte do modelo (padrões de interoperabilidade e portabilidade), não só os relacionados à comunicação, mas também alguns não relacionados, como estrutura de armazenamento de dados, etc; • Seleção dos perfis funcionais. Podemos observar que o modelo OSI da ISO corresponde exatamente ao primeiro item citado acima. O modelo OSI é um modelo de referência e define apenas a arquitetura do sistema. O padrão criado para o modelo OSI, então, define exatamente o que cada camada deve fazer, mas não define como isto será feito, ou seja, define os serviços que cada camada deve prestar, mas não o protocolo que o realizará. Este primeiro passo já está bem definido pela ISO. A definição dos protocolos de cada camada, então, fica por conta do segundo passo. Esta parte também está definida pela ISO, mas é realizado por grupos de estudo diversos. Este passo é uma tarefa muito dinâmica, pois novas tecnologias de transmissão surgem a todo instante. Portanto por um lado temos alguns padrões bem documentados, mas por outro, temos tecnologias emergentes que precisam ser adaptadas às condições do modelo OSI e ainda estão em processo de definição. 2
  • 3. Já a terceira etapa não é uma fase de responsabilidade da ISO. Esta etapa de definição de perfis funcionais é realizada por cada país, que escolhe os padrões que lhe cabem baseados em condições tecnológicas, base instalada, visão futura, etc. Por exemplo, no Brasil temos o Perfil Funcional do Governo Brasileiro. A escolha do Perfil Funcional é uma etapa importante, pois apesar de dois sistemas seguirem o Modelo OSI, se eles adotarem perfis diferentes, eles nunca vão conseguir interoperar. A arquitetura OSI foi desenvolvida a partir de três elementos básicos [Moura 86]: • os processos de aplicação existentes no ambiente OSI; • as conexões que ligam os processos de aplicação e que lhes permitem trocar informações; • os sistemas. Figura 1: Processos de aplicação, conexões e sistemas O desenho abaixo nos dá uma idéia da arquitetura de uma máquina pertencente a um sistema de comunicação: Figura 2: Arquitetura de uma máquina do sistema 3
  • 4. Hardware: provê a infra-estrutura necessária (no nível mais baixo) para o processamento da aplicação, como a manipulação de bits, acesso a disco, etc. · Sistema operacional: provê os serviços básicos de acesso a hardware, etc. · Gerenciamento de dados: cuida de tarefas como o acesso, manipulação e troca de vários tipos de dados. Uma consistência nesta tarefa é um grande passo rumo à portabilidade de aplicações. Existem várias formas de implementação de acesso a bancos de dados, mas a mais comum e aceita pela indústria é a SQL (Structure Query Language). · Linguagem: tem sido feitos esforços em relação à criação de uma linguagem com independência da plataforma, de forma a prover a portabilidade de código. · Interface com o usuário: um dos principais fatores de portabilidade, já que provê a interface com o usuário da aplicação. Cada vez mais estão sendo desenvolvidas interfaces gráficas e orientadas a objetos baseadas em janelas, ícones e menus. Os principais padrões para desenvolvimento de interfaces gráficas são X Window e Motif. • Comunicação: à parte de comunicação é o objeto principal do nosso estudo. Ela vai prover a comunicação e interoperação entre máquinas e sistemas diferentes, cuidando de características como padrões de interoperação, endereçamento, etc. O modelo OSI, então, se encaixa na Figura 2 como um conjunto de funções que possibilitam que máquinas distintas possam se comunicar e trocar informações. Ele possui sete camadas (Figura 3), onde cada camada é responsável por uma determinada função específica. Os princípios utilizados para se chegar a estas camadas são [Tanenbaum 94]: • Uma camada deve ser criada onde é necessário um nível de abstração diferente; • Cada camada deve desempenhar uma função bem definida; • A função de cada camada deve ser definida tendo em vista a definição de protocolos padrões internacionais; • As fronteiras entre as camadas devem ser escolhidas de forma a minimizar o fluxo de informações através das interfaces; • O número de camadas deve ser grande o suficiente para que não seja preciso agrupar funções em uma mesma camada por necessidade, e pequeno o suficiente para que a arquitetura fique manejável. Cada camada é usuária dos serviços prestados pela camada imediatamente inferior e presta serviços para a camada imediatamente superior. Esta troca de informações entre as camadas adjacentes ocorre por meio da troca de primitivas de serviços nas interfaces entre as camadas. Apesar do modelo OSI estar dividido em sete níveis, pode-se considerar genericamente que as três camadas mais baixas cuidam dos aspectos relacionados à transmissão propriamente dita e a camada de transporte lida com a comunicação fim-a-fim, enquanto que as três camadas superiores se preocupam com os aspectos relacionados à aplicação, já em nível de usuário. A comunicação entre sistemas ocorre em nível de camadas, ou seja, a camada de aplicação do sistema A se comunica com a camada de aplicação do sistema B e assim por diante até o nível físico, onde ocorre a comunicação física entre os sistemas. 4
  • 5. Figura 3: Modelo OSI Uma maneira bastante fácil e simplista de se enxergar a funcionalidade de um modelo em camadas, como o modelo OSI, é imaginar que cada camada tem como função adicionar um cabeçalho aos dados do usuário a serem transmitidos para outro sistema (Figura 4). Deste modo a função de cada camada do outro sistema é exatamente a inversa, ou seja, retirar os cabeçalhos dos dados que chegam e entregá-los ao usuário em sua forma original. Figura 4: Transferência de Dados entre Camadas 5
  • 6. Os dados entregues pelo usuário à camada de aplicação do sistema recebem a denominação de SDU (Service Data Unit). A camada de aplicação, então, junta a SDU (no caso, os dados do usuário) um cabeçalho chamado PCI (Protocol Control Information). O objeto resultante desta junção é chamado de PDU (Protocol Data Unit), que corresponde à unidade de dados especificada de um certo protocolo da camada em questão. Primitivas de Serviços As primitivas de serviços são informações trocadas entre duas camadas adjacentes de forma a realizar um serviço. No modelo OSI são definidas quatro tipos de primitivas: • Pedido (Request): utilizada para solicitar ou ativar um determinado serviço; • Indicação (Indication): informa a ocorrência de um determinado evento; • Resposta (Response): utilizada para responder a um determinado evento; • Confirmação (Confirmation): utilizada para confirmar a execução de um serviço solicitado. As primitivas possuem parâmetros de entrada e saída. Por exemplo, em um pedido de conexão, os parâmetros podem especificar a máquina à qual se conectar, o tipo de serviço desejado e o tamanho máximo de mensagem a ser utilizada e os parâmetros em uma indicação de conexão podem conter a identidade do solicitante, o tipo de serviço e o tamanho máximo de mensagem proposto. Quem cuida dos detalhes desta negociação é o protocolo. Por exemplo, caso duas propostas para o tamanho máximo das mensagens trocadas seja conflitante, o protocolo deve decidir qual das duas será aceita. Os serviços prestados podem ser basicamente de dois tipos: confirmado e não confirmado. No serviço confirmado, há um pedido, uma indicação, uma resposta e uma confirmação. Já no serviço não confirmado, há apenas um pedido e uma indicação. Um exemplo de um serviço confirmado é o estabelecimento de uma conexão, enquanto que a desconexão é um serviço não confirmado. Vejamos o exemplo de um serviço de conexão na Figura 5. Figura 5: Diagrama de Tempo de Estabelecimento de Conexão 6
  • 7. Este serviço pode ser descrito da seguinte forma: • Request.CONEXÃO - solicita o estabelecimento de uma conexão; • Indication.CONEXÃO - informa à parte chamada; • Response.CONEXÃO - entidade chamada aceita ou rejeita chamadas; • Confirmation.CONEXÃO - indica ao solicitante se a chamada foi aceita; • Request.DADOS - solicita a transmissão de dados; • Indication.DADOS - avisa sobre a chegada de dados; • Request.DESCONEXÃO - solicita que a conexão seja liberada; • Indication.DESCONEXÃO - informa ao parceiro sobre o pedido. Um exemplo muito didático é a analogia com o sistema telefônico. Por exemplo, você liga para uma pessoa e a convida para sair: • Request.CONEXÃO - você disca o telefone da pessoa; • Indication.CONEXÃO - o telefone dela toca; • Response.CONEXÃO - ela atende ao telefone; • Confirmation.CONEXÃO - você ouve o sinal de chamada parar de tocar; • Request.DADOS - você convida a pessoa para sair; • Indication.DADOS - ela ouve seu convite; • Request.DADOS - ela responde que sim; • Indication.DADOS - você ouve a aceitação dela; • Request.DESCONEXÃO - você desliga o telefone; • Indication.DESCONEXÃO - ela ouve e desliga também. Figura 6: Diagrama de Tempo da Conversação Telefônica A camada N é o usuário, ou seja, você e a pessoa com quem estão falando. A camada N-1 é a operadora do serviço. De um modo bastante simplificado, este exemplo nos mostra a troca de primitivas em uma conversação genérica, mas que pode ser perfeitamente aplicada a situações mais complexas, como o modelo OSI. Serviços e Protocolos Faz-se necessário neste ponto deixar bem clara a distinção entre serviços e protocolos. Um serviço é um conjunto de primitivas que uma camada oferece à camada superior adjacente, ou seja, é uma interface entre duas camadas onde a inferior se comporta como provedora do serviço e a superior a usuária do serviço. O serviço define as operações que 7
  • 8. a camada está preparada para realizar em nome de seus usuários, mas não diz nada a respeito do modo como isso deve ser implementado. Já um protocolo é um conjunto de regras que governa o formato e significado dos quadros, pacotes ou mensagens trocados entre entidades parceiras dentro de uma mesma camada. Os protocolos são utilizados para implementar os serviços, não sendo diretamente visíveis aos usuários, ou seja, o protocolo utilizado pode ser modificado, desde que o serviço oferecido ao usuário permaneça o mesmo. Devemos sempre lembrar que ao se falar em serviços, estamos falando em camadas adjacentes (níveis diferentes, no mesmo sistema), e protocolo falamos de entidades pares (no mesmo nível, em sistemas diferentes). Figura 7: Serviços e protocolos no modelo OSI Os serviços providos pela camada (N) são disponíveis para a entidade (N+1) através dos SAP´s (Service Access Point). Os SAP´s são interfaces lógicas entre as entidades (N) e (N+1). Portanto, quando a entidade (N+1) precisa utilizar o serviço provido pela camada (N), ela busca este no SAP(N). As informações entre entidades (N+1) são trocadas através de uma associação chamada conexão (N) , estabelecida na camada (N) usando o protocolo (N). A Figura 8 ilustra este conceito. Figura 8: SAP´s e conexões 8
  • 9. Camada Física A camada física é a única camada que possui acesso físico ao meio de transmissão da rede devendo, portanto, se preocupar com fatores como as especificações elétricas, mecânicas, funcionais e procedurais da interface física entre o equipamento e o meio de transmissão, ou seja, a camada física tem como função básica à adaptação do sinal ao meio de transmissão. · mecânicas: propriedades físicas da interface com o meio físico de transmissão, incluindo, por exemplo, o tipo de conector utilizado; · elétricas: relacionam-se com a representação de um bit em termos de, por exemplo, nível de tensão utilizado e taxa de transmissão de bits; · funcionais: definem as funções a serem implementadas por esta interface; · procedurais: especificam a seqüência de eventos trocados durante a transmissão de uma série de bits através do meio de transmissão. A camada física possui as seguintes funções: Estabelecimento/encerramento de conexões: ativa e desativa conexões físicas mediante a solicitação de entidades da camada de enlace; · transferência de dados: a unidade de transmissão utilizada é o bit. O nível físico tem como função transmitir os bits na mesma ordem em que chegam da camada de enlace (no sistema de origem) e entregá-los à camada de enlace na mesma ordem que chegaram (no sistema de destino); · gerenciamento das conexões: gerência da qualidade de serviço das conexões físicas estabelecidas. Deve monitorar taxa de erros, disponibilidade de serviço, taxa de transmissão, atraso de trânsito etc. Os padrões de nível físico utilizado são, por exemplo, X.21, X.21 bis, V.24, V.28, RS-232 I.430, I.431 etc. Camada de Enlace A camada de enlace tem o objetivo de prover uma conexão confiável sobre um meio físico. Sua função básica é detectar e, opcionalmente, corrigir erros que por ventura ocorram no nível físico. As suas principais funções são: • Estabelecimento e liberação da conexão de enlace sobre conexões físicas ativas; • Splitting da conexão de enlace: desta forma pode haver uma conexão de enlace sobre várias conexões físicas; • Montagem e delimitação de quadros (framing): montagem de quadros a partir de unidades de quadros de serviços provindas da camada de rede e reconhecimento de quadros a partir da cadeia de bits vinda do nível físico; • Controle de fluxo: controla a taxa de transmissão dos quadros, evitando que o sistema transmissor envie dados a uma taxa maior do que o receptor consegue processar. Utiliza para isso mecanismos como stop-and-wait, positive acknowledgment e sliding window. • Controle de acesso: gerência do acesso ao meio de transmissão; • Controle de erro: a camada de enlace deve detectar erros de transmissão, de formato e de operação devidos a problemas de conexão física ou mau funcionamento da própria camada. Os erros mais comumente detectados são erros devido a perdas, duplicação, não-ordenação e danificação de quadros. 9
  • 10. • Controle de seqüência: as unidades de dados de serviço de enlace devem ser entregues à entidade de rede de destino na mesma ordem em que são recebidas da entidade de rede de origem; • Gerenciamento: a camada de enlace deve exercer algumas funções de gerenciamento relacionadas à qualidade de serviço prestado, caracterizada por: tempo médio entre erros irrecuperáveis, taxa de erro residual decorrente da alteração, perda, duplicação e não-ordenação dos quadros, disponibilidade do serviço, atraso de trânsito e throughput (vazão). O protocolo de enlace mais conhecido é o HDLC, antecessor de outros como LAPB, LAPD e LLC. Camada de Rede A camada de rede deve tornar transparente para a camada de transporte a forma como os recursos dos níveis inferiores são utilizados para implementar conexões de rede. Deve também equalizar as diferenças entre as diversas sub-redes utilizadas de forma a fornecer um serviço único a seus usuários (independente da rede utilizada). Suas principais funções são: • Roteamento: determinação das rotas apropriadas para a transmissão dos dados entre dois endereços (origem e destino) através de algoritmos de roteamento; • Multiplicação da conexão de rede: várias conexões de rede podem ser multiplexadas sobre uma única conexão de enlace, a fim de otimizar a utilização desta última; • Segmentação e blocagem: caso as sub-redes envolvidas em uma comunicação fim-a-fim possuam diversos tipos e tamanhos de quadros, a camada de rede deve exercer funções de segmentação de quadros e remontagem destes no destino; • Controle de erro: detecta e, dependendo da qualidade do serviço exigida, até corrige erros de alteração, perda, duplicação e não-ordenação das unidades de dados; • Seqüenciação: a camada de rede é responsável por manter a ordem das unidades de dados de serviço de rede a serem transmitidas na rede e recebidas pela camada de transporte no destino; • Controle de fluxo: controle da taxa em que os dados são transmitidos, de forma que o transmissor não envie mais dados do que o receptor tenha capacidade de receber; • Transferência de dados expressos: a transmissão de dados expressos tem por finalidade estabelecer prioridade de transmissão para alguns dados (como sinalização e interrupção) sobre os dados normais; • Seleção de serviço: permite a escolha do serviço de rede, de modo a garantir que os serviços oferecidos pelas diversas sub-redes sejam equivalentes; • Gerenciamento: a camada de rede deve efetuar tarefas de gerenciamento relacionadas à qualidade de serviço oferecida, caracterizada pelos parâmetros citados acima. A camada de rede pode prestar serviços orientados à conexão (CONS - Connection Oriented Network Service) ou serviços não-orientados à conexão (CLNS - Connection Less Oriented Network Service). Um exemplo de protocolo utilizado na camada de rede é o X.25. 10
  • 11. Camada de Transporte A camada de transporte provê mecanismos que possibilitam a troca de dados fim-a-fim, ou seja, a camada de transporte não se comunica com máquinas intermediárias na rede, como pode ocorrer com as camadas inferiores. As principais funções da camada de transporte são: • Estabelecimento e liberação da conexão de transporte: para se estabelecer à conexão, devem ser negociadas a classe de protocolo a ser utilizada, o tamanho máximo das unidades de dados de protocolo, a utilização ou não do serviço de transferência de dados expressos, parâmetros de qualidade de serviço (throughput, atraso de trânsito, prioridade, taxa de erro residual, etc) etc; • Controle de seqüência e controle de erro: numeração e reconhecimento explícito dos dados a fim de evitar perdas, duplicação ou entrega fora de ordem; • Controle de fluxo: a técnica de controle de fluxo utilizada na camada de transporte é a técnica de alocação de crédito, parecida com a janela deslizante; • Segmentação, blocagem e concatenação fim-a-fim: adapta o tamanho da unidade de dados utilizado para as camadas de transmissão; • Monitoração da qualidade do serviço: a monitoração da qualidade de serviço deve ser constante, caso contrário deve ser gerada uma notificação à camada de sessão; • Transferência de dados expressos: a camada de transporte deve possibilitar esta funcionalidade; • Gerenciamento: funções de gerenciamento relacionadas à qualidade de serviço prestado às entidades de sessão. As funções implementadas pela camada de transporte dependem da qualidade de serviço desejada. Foram especificadas, então, cinco classes de protocolos orientados à conexão: • Classe 0: simples, sem nenhum mecanismo de detecção e recuperação de erros; • Classe 1: recuperação de erros básicos sinalizados pela rede; • Classe 2: permite que várias conexões de transporte sejam multiplexadas sobre uma única conexão de rede e implementa mecanismos de controle de fluxo; • Classe 3: recuperação de erros sinalizados pela rede e multiplexação de várias conexões de transporte sobre uma conexão de rede; • Classe 4: detecção e recuperação de erros e multiplexação de conexões de transporte sobre uma única conexão de rede. Camada de Sessão A camada de sessão é a responsável pelo estabelecimento de sessões entre dois usuários permitindo o transporte ordinário de dados (assim como a camada de transporte), porém com alguns serviços mais refinados, que podem ser úteis em algumas aplicações. Alguns serviços que a camada de sessão deve prover são, por exemplo: 11
  • 12. • Gerência do controle de diálogo: a troca de informações entre entidades em um circuito half-duplex deve ser controlada através da utilização de tokens. A camada de sessão é responsável pela posse e entrega destes tokens, ajudando a controlar de quem é a vez de transmitir; • Sincronização: para se evitar, por exemplo, a perda de um volume de dados muito grandes que estão sendo transmitidos em uma rede não confiável, utiliza-se o conceito de ponto de sincronização. O ponto de sincronização corresponde a marcas lógicas posicionadas ao longo do diálogo. Toda vez que um usuário recebe um ponto de sincronização, deve enviar uma resposta, confirmando que este foi recebido. Caso a transmissão, por algum motivo, seja interrompida, ela pode ser reiniciada a partir do último ponto de sincronização confirmado; • Gerenciamento da camada de sessão. Camada de Apresentação A camada de apresentação, ao contrário das camadas inferiores, já não se preocupa com os dados em nível de bits, mas sim com a sua sintaxe, ou seja, sua representação. Nela é definida a sintaxe abstrata, ou seja, a forma como os tipos e os valores dos dados são definidos, independentemente do sistema computacional utilizado e a sintaxe de transferência, ou seja, a maneira como é realizada esta codificação. Por exemplo, através da sintaxe abstrata define-se que um caráter A deve ser transmitido. A sintaxe de transferência especifica, então, como este dado será codificado em ASCII ou EBCDIC ao ser entregue à camada de sessão. Outras funções que a camada de apresentação pode executar são a criptografia e compressão de dados. Camada de Aplicação Basicamente, as funções da camada de aplicação são aquelas necessárias à adaptação dos processos de aplicação ao ambiente de comunicação. A camada de aplicação é estruturada modularmente para permitir a flexibilidade das funções e de forma, para se determinar os requisitos de comunicação de cada aplicação distribuída. A camada de aplicação deve seguir o descrito na norma ISO 9545. Ela é formada por várias ASE's (Elemento de Serviço de Aplicação), que são os componentes básicos das AE's (Entidade de Aplicação). Uma AE é a função que um processo de aplicação utiliza para se comunicar com os seus pares. Um processo de aplicação pode utilizar diversas AE's, cada uma das quais provendo um conjunto de definições de cada uma das funções e das regras que governam o uso destas funções. O componente básico de uma AE é um Elemento de Serviço de Aplicação (ASE). Um ASE é um elemento que define uma função ou um conjunto de funções que ajudam na realização da aplicação. Desta forma, pode-se imaginar que um AE é um grande programa feito de muitos sub-programas ou procedimentos, que são os ASE. As principais funções da camada de aplicação são: • Seleção do modo de diálogo (full duplex ou half duplex); • Determinação da qualidade de serviço aceitável na conexão: retardo de transferência, taxa de erro tolerável, etc; 12
  • 13. • Identificação dos futuros parceiros na comunicação: por nome ou endereço; • Especificação de aspectos relativos à segurança: controle de acesso, integridade de dados, etc. Elementos de Serviço de Aplicação de Propósito Geral Aqui serão apresentados os elementos de serviço de aplicação que exercem funções básicas, podendo ser utilizados pela maioria das aplicações. ACSE (Association Control Service Element) O elemento de serviço de aplicação ACSE é o responsável pelo gerenciamento das associações de aplicação. Presta os serviços básicos de estabelecimento e liberação (ordenada e abrupta) de associações de aplicação. Desta forma, está presente em todas as entidades de aplicação. ROSE (Remote Operations Service Element) O ROSE é um elemento de serviço de aplicação que oferece suporte a aplicações interativas, sendo bastante útil em aplicações distribuídas. O ROSE não pode ser utilizado isoladamente. Em geral, ele é utilizado em aplicações envolvendo MHS (Message Handling System), DS (Directory Service) e gerenciamento OSI. No caso particular do gerenciamento, o ROSE é usado, por exemplo, para transportar operações de gerenciamento (como é o caso da leitura de atributos de um objeto gerenciado) do gerente para o agente e para transportar o resultado da operação realizada (valor dos atributos lidos) do agente para gerente. RTSE (Reliable Transfer Service Element) Como vimos anteriormente, uma das funções da camada de sessão é garantir que após uma interrupção em uma conexão estabelecida, a transferência dos dados possa se restabelecer a partir do ponto em que houve a interrupção, havendo uma perda mínima. O RTSE deve executar esta mesma função através de uma interface simples e ser capaz, então, de transferir as unidades de dados de um forma confiável entre entidades de aplicação. CMISE (Common Management Information Service Element) Cada recurso que está sujeito ao gerenciamento de sistemas é representado por um objeto gerenciado. Os objetos gerenciados podem ser criados, suprimidos e ter os valores dos seus atributos modificados. O gerenciamento de objetos descreve o serviço para relatórios de criação e supressão de objetos gerenciados, modificação de nomes de objetos gerenciados, modificação de atributos dos objetos gerenciados. Estas aplicações de gerência de rede são realizadas através do CMISE. A descrição do serviço CMISE é detalhada na X.710 e na ISO 9595-1 versão 2. O Protocolo de Informação de Gerenciamento Comum (CMIP) é o protocolo utilizado para a troca de unidades de dados de protocolo de informação de gerenciamento comum entre o agente e o gerente. O CMIP especifica os elementos de protocolo que podem ser usados para prover as Operações e Notificações definidas na X.710, a qual define o Serviço de Gerenciamento Comum (CMIS). A X.711 define a sintaxe abstrata do CMIP. 13
  • 14. TP (Transaction Processing) O TP tem como objetivo prover a infra-estrutura necessária ao suporte do processamento de transações distribuídas envolvendo vários sistemas abertos. Uma transação distribuída deve ser caracterizada por: • Atomicidade: uma unidade de trabalho deve sempre ser executada de maneira completa, ou não deve ser executada; • Consistência: uma unidade de trabalho deve ser executada de uma maneira precisa, correta e válida em relação à semântica da aplicação; • Isolação: os resultados intermediários de uma unidade de trabalho não devem tornar-se disponíveis a não ser para as operações que fazem parte de uma unidade de trabalho; • Durabilidade: os efeitos da realização de uma unidade de trabalho não podem ser alterados por nenhuma falha que venha a ocorrer posteriormente. É responsabilidade do TP prover facilidades e mecanismos de forma a garantir que estes objetivos sejam alcançados. CCR (Commitment, Concurrency and Recovery) Para os casos em que o processamento se dá de forma distribuída, as facilidades são providas pelo TP. Já no caso do processamento ocorrer entre duas aplicações residentes em sistemas abertos distintos, ela deve ser coordenada de forma que haja a garantia de que a execução de unidades de trabalho ocorra somente quando tais aplicações estejam prontas e aptas a fazê-lo. Elementos de Serviço de Aplicação de Propósito Específico A função dos elementos de serviço de aplicação é prover suporte a aplicações de uma maneira genérica, porém algumas aplicações como a transferência de arquivos e o correio eletrônico se tornaram tão comuns que foram criados elementos de serviço específicos para estes casos. MHS (Message Handling System) O MHS é o serviço de correio eletrônico. Este tipo de serviço surgiu há vários anos, na década de setenta, porém funcionava de maneira proprietária, ou seja, sistemas de fabricantes diferentes não conseguiam trocar mensagens entre si. Na década de oitenta, o CCITT em conjunto com a ISO resolveram padronizar este tipo de serviço. A operação do MHS se baseia no sistema store and forward, ou seja, não há nenhuma conexão entre o originador da mensagem e o seu destinatário durante o momento em que esta é enviada. As facilidades que o MHS oferece incluem: •Nomeação e endereçamento; •Entrega de mensagens a múltiplos destinatários; •Destinatário alternativo; •Tipo de serviço (prioridade); 14
  • 15. •Teste; •Notificação; •Conversão. A versão de 88 do MHS contém, ainda, facilidades adicionais relativas a segurança, listas de distribuição e redirecionamento de mensagens. FTAM (File Transfer Access and Management) O FTAM tem por objetivo permitir a consulta, acesso, transferência e gerenciamento de arquivos em um ambiente aberto. É muito útil, por exemplo, no caso de transferência de arquivos de tarifação, que possuem um volume muito grande. As operações que podem ser executadas sobre arquivos podem ser classificadas em três tipos: • Transferência: operação de movimentação entre dois sistemas abertos, de parte ou de todos os dados contidos em um arquivo; • Acesso: operação em que o usuário pode ler, substituir ou remover os dados contidos em um arquivo; • Gerenciamento: operações de criação, remoção, inspeção e manipulação de atributos de um arquivo. Os serviços prestados pelo protocolo FTAM devem servir de base para o desenvolvimento de sistemas que envolvam a manipulação de arquivos em vários níveis de complexidade. Por exemplo, a transferência parcial ou completa de arquivos entre sistemas interconectados através de uma rede local ou de longa distância; o acesso a um sistema de arquivos compartilhado entre múltiplas estações interconectadas através de uma rede; a transferência de arquivos para fins de impressão, etc. DS (Directory Service) O Serviço Diretório consiste em um repositório de informações mantido por um conjunto de sistemas abertos distribuídos. Estes sistemas possuem acesso a estas informações e podem, por exemplo, ler e modificar estas informações. 15
  • 16. IEEE 802 O IEEE é uma das principais entidades internacionais relacionadas com a definição de diversos padrões em eletrônica e comunicações. Os grupos de trabalho 802 são responsáveis pelas definições empregadas em redes. Fique por dentro dos códigos já adotados. Nos anos 80 especialistas em comunicações começaram uma série de estudos patrocinados pelo IEEE (Institute of Eletrical and Eletrônics Engineers). Eles definiram uma série de padrões, diversos modelos e guias para elaboração de protocolos, interfaces e dispositivos. Na verdade, os estudos de muitos deles prosseguem, como o 802.14, definindo a comunicação de banda larga baseado em canais de TV a cabo – os Cable Modems. Os trabalhos, que são conhecidos pelo IEEE 802, foram divididos em diversos grupos que concentram a atenção em determinados aspectos. Alguns anos depois do início dos trabalhos, organizações regulamentadoras de padrões como a ANSI e a ISO adotaram alguns dos padrões desenvolvidos. O 802.3 é amplamente divulgado por reunir as especificações do CSMA/CD (Carrier – Sense Multiple Access with Collision Detection), o método de acesso ao meio empregado para difundir sinais nas redes Ethernet. O 802.4 e 5 abordam as redes baseadas em fichas, as Token Bus e as Token Ring. MAC Numa rede há vários dispositivos possivelmente compartilhando os meios de acesso físico. O MAC (Médium Access Control) corresponde aos algoritmos e técnicas empregadas para que o compartilhamento da utilização dos meios seja realizado de maneira mais eficiente e justa possível. Por exemplo, o CSMA 802.3 é uma técnica de acesso aos meios, ou seja, um MAC. Note que o MAC não é um modelo e nem um padrão, apenas uma denominação genérica empregada pelos comitês 802, por exemplo. Há dois tipos de MACs, os centralizados e os distribuídos. Nos centralizados, quando uma estação quiser utilizar os meios, ela deve aguardar até que o arbítrio sinalize positivamente. Já no modo distribuído, cada estação é responsável por verificar se os meios estão livres – é o caso do CSMA. LLC O LLC (Logical Link Control) é um conjunto de serviços que recebe dados das aplicações ou camadas superiores a acrescenta informações sobre o que fazer com eles, como requisitar ou transmitir sinais. Daí os dados, agora formatados, são despachados para o MAC. 16
  • 17. DESCRIÇÃO DAS PRINCIPAIS DEFINIÇÕES DOS COMITÊS 802 DO IEEE GRUPO DESCRIÇÃO 802.1 Protocolos de alto nível 802.2 Controle de ligação lógica (LLC) 802.3 MAC CSMA/CD ou Full – Duplex Ethernet 802.4 Barramento Token (Token Bus) 802.5 Anel Token (Token Ring) 802.6 MAN (Metropolitan Area Network) 802.7 Guia técnico para Banda Larga 802.8 Guia Técnico para Fibra Óptica 802.9 Interface para ISLAN (ISochronous LAN) 802.10 Padrões de Segurança 802.11 Redes sem fio (Wirelles) 802.12 Prioridade de Demanda 802.13 Não definido 802.14 Rede baseada em TV a Cabo de Banda Larga (cable modem) Comunicação pessoal sem fio WPAN (Wirelles Personal Area 802.15 Network) 802.16 Redes sem fio empregando Banda Larga (Broadband Wirelles) 17
  • 18. HDLC (High Level Data Link Control) O modelo OSI, desenvolvido pela ISO, para padronização de protocolos divide-se em sete camadas (níveis) de serviço, sendo que neste trabalho o objeto de estudo será um protocolo de comunicação utilizada no nível dois, nível de enlace de dados, o protocolo HDLC. O primeiro nível, ou nível físico é responsável por levar uma seqüência de bits do transmissor ao receptor. Nessa camada são estabelecidos os níveis elétricos que representam os bits, é definidas e as taxas de transmissão, atenuação máxima e outras características elétricas e mecânicas. No entanto, a camada de nível físico oferece um mecanismo de transporte de dados não confiável do ponto de vista de erros de transmissão. Tais erros podem ser causados por uma série de razões: ruído eletromagnético, falha na sincronização do receptor em relação ao transmissor, ou defeito nos componentes que implementam os circuitos de transmissão e recepção. A camada de enlace de dados é a segunda na hierarquia, imediatamente acima da primeira camada, no modelo de referência OSI / ISO para padronização de protocolos. A principal finalidade da camada de enlace é implementar mecanismos de detecção e recuperação de erros, oferecendo, desse modo, aos níveis superiores, um serviço mais confiável. Outras funções desta camada incluem: o estabelecimento de uma conexão e procedimentos que permitem o uso eficiente dos meios de transmissão. Principais características: • Protocolo orientado a bit; São aqueles protocolos que não incorporam em sua estrutura nenhum caráter destinado a cumprir regras ou funções. Tanto as mensagens de texto como as de supervisão são envelopadas em um quadro (frame) delimitado por uma configuração de bits especial chamada "flag": ! ! ! ! ! Flag ! Informação ! Flag ! ! ! ! ! • Utilizado na recomendação X25; • Modo de operação síncrona; Este modo de transmissão e baseado no estabelecimento de uma cadência fixa para transmissão seqüencial dos bits. A cada T segundo o transmissor emite, por exemplo, um pulso de tensão elétrica, significando o envio de um símbolo binário 1, ou nenhum pulso, significando o envio de um bit 0. O sincronismo entre o transmissor e o receptor é garantido pelos flags que delimitam o quadro, servindo como caracteres de sincronização. • Pode operar em modo de resposta assíncrona (uma estação secundária pode iniciar uma transmissão não solicitada a qualquer momento) nas duas direções, com ambos ETD (elemento de transmissão de dados: representa o processador HOST) e ECD (elemento de comunicação de dados: representa um nodo qualquer na rede) desenvolvendo uma função primária e 18
  • 19. secundária (Função primária refere-se a operações de comandos ou transmissões de dados, enquanto a função secundária inclui respostas, comandos ou transmissões de dados. Portanto, normalmente a estação primária realiza as funções primárias, sendo responsável pela supervisão do enlace, enviando comandos; enquanto a estação secundária envia as respostas); • Transmissão half-duplex e full-duplex; Half-duplex: a transmissão da informação pode ser nos dois sentidos, mas não de forma simultânea. Assim sendo, quando uma estação necessita transmitir, a outra deve concordar em receber. Full-duplex: a transmissão ocorre nos dois sentidos simultaneamente • Suporta configurações ponto-a-ponto e multiponto; Ponto-a-ponto: apenas dois nós de comunicação estão conectados ao mesmo meio físico; ------| A |--------------------------------------------------| B |------ Multiponto: vários nós estão ligados através do mesmo enlace. ------| A |--------------------------------------------------| B |------ |C| |D| • Opera em linhas privadas ou discadas; • Transmissão de dados através de frames; • Transparência dos dados garantida pela técnica bit stuffing; Para permitir que o usuário envie qualquer seqüência de bits como informação, é preciso que determinados procedimentos sejam adotados no protocolo para evitar que dados do usuário que contenham seqüências de bits de flag não sejam confundidos com os delimitadores ou mensagens de controle. Um protocolo com essa característica é dito transparente. No caso de protocolos orientados a bit a técnica utilizada é a de Bit Stuffing. A transparência dos dados nesta técnica é obtida por um procedimento de inserção de zeros. Como delimitador do quadro temos flags contendo seis bits 1 em seqüência (01111110). Assim, se o texto do usuário contiver uma seqüência de cinco 1's seguidos, um bit 0 é inserido para evitar que uma seqüência possa ser confundida com um flag. Na recepção é retirado todo zero depois de uma seqüência de cinco 1's, antes de a informação ser entregue ao usuário ___________ ____________ / 0 1 1 1 1 1 "0" / 1 1 1 0 1 0 ------ • Utiliza o método de Sliding Window (Janelas Deslizantes) na transmissão; 19
  • 20. Esta técnica viabiliza o envio de diversas mensagens, por parte do transmissor, antes que este receba a confirmação se as mensagens enviadas foram recebidas satisfatoriamente. Neste método é necessário numerar as mensagens de forma a identificá-las quando for recebido o seu reconhecimento. Nesta numeração existe um limite máximo de mensagens que podem ser enviadas sem aguardar reconhecimento. Este limite é denominado "largura da janela", sendo esta numeração organizada de forma circular. No caso do HDLC, esse valor corresponde ao tamanho do campo de número de seqüência (N(S)) da mensagem: • Modo normal - 3 bits - de 0 a 7 - máximo de 8 mensagens; • Modo estendido - 7 bits - de 0 a 127 - máximo de 128 mensagens; Baseado nas características apresentadas, sempre que ocorrer um erro em uma das mensagens. Podem ser implementados dois procedimentos: • O destino solicita a retransmissão apenas da mensagem com erro; • Solicita a retransmissão de todas as mensagens a partir de um determinado número de seqüência. • Pode operar em três modos de resposta; o MRN - modo de resposta normal: as estações secundárias só iniciam uma transmissão quando autorizadas pela primária, a partir deste momento, a secundária deve iniciar a transmissão dos frames. O último frame da transmissão deve ser explicitamente indicado pela estação secundária. A partir da indicação do último frame a secundária irá parar a transmissão até uma nova permissão por parte da primária. De forma a realizar este controle, existem mensagens de supervisão com a finalidade especifica de interrogar (polling) as estações se desejam transmitir. Este modo é utilizado em configurações ponto-a-ponto ou multiponto. o MRA - modo de resposta assíncrona não balanceada: uma estação secundária pode iniciar transmissão sem necessidade de autorização da primária. Este modo é utilizado em configurações ponto-a-ponto ou multiponto. o MRB - modo de resposta assíncrona balanceada: as estações são consideradas logicamente iguais: qualquer uma delas pode iniciar ou terminar a ligação; ambas são responsáveis pelo controle de erros e de fluxo e podem enviar tanto comandos como respostas. Este modo é utilizado apenas em configurações ponto-a-ponto • Protocolo orientado a conexão, contendo operações para: o Estabelecer conexão; o Transmitir dados; o Reinicializar conexão; o Encerrar conexão. 20
  • 21. SDLC (CONTROLE DE ENLACE DE DADOS) O advento das arquiteturas de redes de comunicação trouxe consigo uma complexidade sempre crescente nas estruturas de redes. Níveis de serviços cada vez mais altos estão, permanentemente, sendo oferecidos. Mas todos esses serviços precisam depender de funções de níveis inferiores precisamente definidas para garantir que os dados sejam transferidos eficiente e confiavelmente entre os nós. • A rede de controle do caminho A rede de controle do caminho abrange as duas camadas inferiores da SNA: Controle do enlace de dados e controle do caminho. A camada de controle do enlace de dados é responsável pelo controle da transmissão dos dados pelos enlaces entre os nós da rede. A camada de controle do caminho é responsável pela seleção do enlace de dados apropriados para transmitir uma unidade de mensagem, pela determinação da taxa na qual os nós trocam os dados, e por controlar a seqüência das unidades de mensagem que são enviadas por enlaces paralelos. Começaremos pela camada mais baixa, a de controle do enlace de dados, e examinaremos o protocolo CONTROLE DO ENLACE DE DADOS SÍNCRONO (SDLC). O SDLC especifica as regras que controlam as funções executadas na camada de controle do enlace de dados da SNA. • Protocolo de enlace de dados Os dados são transmitidos pelos enlaces de dados com a utilização de um protocolo de enlace de dados. A finalidade do protocolo é transferir blocos de dados, sem erros, entre dois dispositivos conectados a um mesmo enlace físico. O protocolo deve ter mecanismos sofisticados de detecção de erros e deve ser capaz de tratar quaisquer formatos de dados. Deve também poder executar essas funções em uma grande variedade de enlace duplex e half duplex. Em alguns casos, o protocolo deve ainda garantir que apenas um dos diversos dispositivos que podem estar ligados ao enlace de dados reconheça e aceite uma mensagem. • Componentes de um enlace SDLC Num enlace SDLC a conexão entre dois nós é conhecida por conexão de enlace. Para o SDLC, a conexão de enlace geralmente é constituída por dois modems e o circuito físico que os conecta. Este circuito físico pode assumir a forma de um cabo de fios trançados, um cabo de fibras óticas ou um enlace por satélite ou por microondas. Os modems convertem os sinais binários para uma forma compatível com uma conexão física que estiver sendo utilizada. Em alguns casos, podem ser usados circuitos digitais para implementar uma conexão de enlace; se isto acontecer, os modems podem ser substituídos por dispositivos mais simples às vezes chamados de exitadores de linha digital. As estações de enlace mostradas na figura de abaixo consistem no hardware e software do nó SNA que controlam a conexão de enlace fazem parte da camada de controle do enlace de dados da SNA. 21
  • 22. Há dois tipos de estações de enlace suportadas pelo protocolo SNA. o Estação Primária. Esta estação inicia uma transferência de dados e permanece no controle durante a troca de mensagens. Ela notifica cada estação de enlace secundária de quando esta pode transmitir dados e de quando ela deve esperar receber dados. o Estação Secundária. A estação primária faz contato com esta estação e a controla durante a troca de mensagens. • Configuração do enlace de dados SDLC O protocolo SDLC permite que uma estação primária e uma ou mais estações secundárias sejam conectadas em quatro configurações diferentes: • Ponto-a-Ponto. Na configuração ponto-a-ponto uma única estação primária está conectada por um enlace ponto-a-ponto a uma única estação secundária. Cada estação desta configuração pode enviar dados para outra. • Multiponto. Na configuração multiponto, uma única estação primária está conectada a duas ou mais estações secundárias. A estação pode enviar os dados que são destinados a uma ou mais estações secundárias. Uma estação secundária só pode enviar dados para a estação primária, não podendo enviá-los para outra estação secundária. • Laço. Na configuração laço (loop), a estação primária está ligada diretamente apenas a primeira e a última das estações secundárias no laço. A estação primária passa os dados para a primeira secundária, que por sua vez os passa para a estação secundária seguinte, e assim por diante até que os dados retornem a estação primária. Assim como na configuração multiponto, a estação primária pode enviar dados para uma ou mais estações secundárias, mas uma secundária só pode enviá-los para a primária. • Mista. A configuração mista, ou configuração hub go-ahead, é uma configuração incomum empregada por alguns equipamentos especializados. São usados dois canais: um de entrada e um de saída. A estação primária comunica-se com todas as secundárias pelo canal de saída. Uma estação secundária pode comunicar-se somente com a primária, através do canal de entrada, o qual é encadeado em série de uma estação secundária para a seguinte. • Estados de transmissão Uma conexão de enlace SDLC pode estar em um dentre quatro estados de transmissão, em um dado momento: o Ativo. No estado ativo, bits de controle ou bits que representam textos de mensagens fluem ativamente entre a estação primária e uma estação secundária na conexão de enlace. 22
  • 23. o Ocioso. No estado ocioso, não há informações sendo transmitidas. É transmitida uma seqüência continua de bits um enquanto a linha está ociosa. o Transiente. O estado transiente representa a transição que acontece entre o momento em que a estação primária está transmitindo uma unidade de mensagem para uma estação secundária e o momento em que a secundária transmite uma unidade de mensagem de volta para a primária. o Desconectado. A linha fica no estado desconectado quando a estação secundária está fisicamente desconectada da primária, tal como acontece quando uma estação secundária conectada via linha comutada está desligada. • Quadros SDLC A unidade de mensagem que é transmitida por um enlace SDLC é normalmente chamada de quadro, embora alguns textos sobre SNA se refiram a ela como unidade de enlace básica (BLU). Alguns quadros são originados pelo próprio SDLC e são usados para controlar a operação do enlace. Outros quadros consistem em informações de controle ou de dados recebidos de uma camada SNA mais alta. Cada quadro é dividido em três partes principais: um cabeçalho, um campo de informação de comprimento variável e um fecho. As informações de controle são transportadas no cabeçalho e no fecho. Os quadros originados pelo próprio SDLC às vezes utilizam o campo de informação de comprimento variável para as informações de controle. Outros quadros usam o campo de informação para transportar as unidades de informação básicas (BTUs) que são passadas pela camada de controle de caminho. • Vantagens do SDLC o Orientado a bit o Percebe fluxo continuo de bits o Pode operar em enlaces half duplex e duplex o Várias mensagens enviadas antes do recebimento 23
  • 24. PROTOCOLO BSC O protocolo BSC (Binary Synchronous Control) foi desenvolvido originalmente pela IBM (International Business Machines) com o objetivo de permitir a transmissão síncrona entre computador e periféricos remotamente localizados. Trata-se de um protocolo orientado a caráter que opera no modo half-duplex , com ligações ponto a ponto ou multiponto em linhas dedicadas ou comutadas. O BSC manipula mensagens codificados com caracteres EBCDIC, ASCII e TRANSCODE. Atualmente este protocolo encontra-se bastante difundido e suas versões são implementadas em diferentes equipamentos. Neste documento serão apresentadas algumas características importantes do protocolo BSC: a Estrutura Básica das Mensagens BSC , a descrição dos Caracteres de Controle do BSC, os Modos de Operação, as Seqüências de Operacionais e as versões deste protocolo. Estrutura básica das mensagens BSC O BSC exige o uso de caracteres de controle especialmente convencionados para orientar o fluxo de mensagens entre as estações. As informações de controle da mensagem estão contidas no cabeçalho que é precedido pelo caractere SOH. O caractere STX inicia a transmissão de um bloco de dados que poderá fluir de uma única vez ou segmentada em pedaços, para isso usando o caráter ETX ou ETB, respectivamente para encerrar uma mensagem ou um bloco de mensagem. O bloco de dados tem tamanho variável, a critério do usuário mas limitado a 256 bytes, inclusos o STX e o ETX ou ETB. A verificação de erros de transmissão no protocolo BSC é realizada pelo método de detecção polinomial (CRC), utilizando um polinômio gerador de 16 bits. O R(x) encontrado será um conjunto de 16 bits que no protocolo BSC é chamado BCC (Caractere de Checagem de Bloco). Neste campo a interpretação dos caracteres de controle é totalmente desativada, já que poderíamos ter coincidentemente a ocorrência de uma seqüência controle no campo BCC. A estrutura básica de mensagens do BSC é apresentada na figura abaixo: Figura 1 - Estrutura das mensagens no BSC Os caracteres PAD e SYN são inseridos automaticamente na transmissão, e não são computados no cálculo do BCC. 24
  • 25. Caracteres de controle BSC Dois tipos de caracteres são transmitidos entre as estações: • Caracteres de controle BSC • Caracteres de dados Algumas das funções dos caracteres de controle são: identificar o início ou o final da transmissão, dar indicação ou não da validade dos dados recebidos, etc. Abaixo é apresentada uma tabela dos caracteres de controle: Mneumônico Código Código Significado EBCDIC ASCII ACK0 1070 1030 Affirmative Acknowledgment ACK1 1061 1031 Affirmative acknowledgment DLE 10 10 Data Link Escape ENQ 20 05 Enquiry EOT 37 04 End of Transmission ESC 27 1B Escape ETB 26 17 End of Transmission Block ETX 03 03 End of Text ITB 1F 1F End of Intermediate Transmission Block NACK 3D 15 Negative acknowledgment PAD FF FF Pad Character RVI 107C 103C Reverse Interrupt SOH 01 01 Start of Header STX 02 02 Start of Text SYN 32 16 Synchronous Idle TTD 022D 0205 Temporary Text Delay WACK 106B 103B Wait Before Transmit/ Affirmative acknowledgment Modo de operação A controladora de terminais opera no modo controle, texto ou transparente. Inicialmente ela está no modo controle. Nesse modo ela monitora constantemente a linha de comunicação com a Unidade de Controle de Comunicações (CCU) aguardando: 1. Seqüência válida de poll ou select, quando então muda para o modo texto; 2. DLE STX, quando então muda para o modo transparente. No modo texto, a controladora de terminais se torna à estação "mestre" ou a estação "escrava", em relação a CCU, em resposta a comandos enviados por esta última. A controladora de terminais opera como mestre quando envia uma seqüência STX para a CCU, durante a execução de um comando tipo Read ou uma operação de poll. Neste estado, transmite mensagens de texto ou a seqüência ENQ quando deseja requisitar resposta (por exemplo para um WACK posteriormente recebido) ou retransmissão de 25
  • 26. mensagens da CCU. Quando transmitir a seqüência EOT (indicando término da transmissão da mensagem) ela retorna ao modo controle. A controladora de terminais opera como escrava (recebendo mensagens da CCU) quando estiver executando um comando tipo Write. Ao receber uma seqüência EOT (enviada pela CCU), estando no modo texto, a controladora de terminais entra no modo comando. Caso receba uma seqüência DLE STX (início de texto no modo transparente), a controladora de terminais entra no modo transparente, quer esteja no modo controle quer no modo texto. Seqüências operacionais Em ligações multiponto, toda troca de informações entre o computador/Unidade de Controle de Comunicações (CCU) e a Unidade de Controle de Terminais (UCT) é sempre iniciada pelo computador/CCU, através de uma seqüência de poll ou select. A seqüência de poll tem a finalidade de habilitar o terminal a transmitir texto (previamente digitado e armazenado em seu buffer). A seqüência de select tem a função de verificar se um determinado terminal pode receber um comando do computador/CCU. Versões do protocolo BSC Temos três versões do protocolo BSC: • BSC-1: ligação ponto a ponto • BSC-2: ligação ponto a ponto ou multiponto com terminais inteligentes . • BSC-3: ligação ponto a ponto ou multiponto com terminais não inteligentes em linhas privativas ou comutadas. 26
  • 27. PROTOCOLO X.25 INTRODUÇÃO Nos anos 70 havia muitos redes (de comunicação de dados, conhecidas como Redes Públicas), que eram de companhias privadas, organizações e agências de governos. Essas redes públicas eram interiormente bastante diferentes, e a interconexão de redes estava crescendo muito rápido, havia uma necessidade de um protocolo de interface de rede comum. Em 1976 X.25 foi recomendado como o protocolo pelo Comitê Consultivo Internacional para Telegrafia e Telefonia (CCITT) chamado a União de Telecomunicação Internacional (ITU) desde 1993. X.25 é uma rede de protocolos de pacotes comutados de dados que definem uma recomendação internacional para a comutação de dados como também controle e informação entre um dispositivo de usuário (o host), chamados Equipamento Terminal de Dados (DTE) e um nó de rede,de Equipamento de Comunicação de Dados(DCE). X.25 utiliza um serviço orientado à conexão que assegura que são transmitidos pacotes em ordem. X.25 vêm com três níveis baseados nas três primeiras camadas do padrão OSI (Open Systems Interconnection) que possui sete camadas como definido pela ISO (Organizacion Standard Internacional). Os níveis são: • Nível Físico descreve a interface com o ambiente físico. É semelhante à camada física do modelo da OSI. • Nível de link responsável por uma comunicação fiel entre o DTE e o DCE. É semelhante à camada de link de dados do modelo da OSI. • Nível de Pacote descreve o protocolo de transferência de dados na rede de pacotes comutados. É semelhante à camada de rede do modelo da OSI. X.25 foi aprovado originalmente em 1976 e subseqüentemente foi revisado em 1977, 1980, 1984, 1988 e 1992. É atualmente uma das interfaces mais usadas em redes de comunicação de dados. 27
  • 28. Conceito de Pacote Para que uma mensagem seja transmitida via rede de pacotes, é necessário dividi-la, independentemente do seu tamanho original , em blocos de tamanho máximo limitado. Estes segmentos de mensagem de tamanho predeterminado, contendo informações que permitem o seu encaminhamento, receberão a denominação de pacotes. CABEÇALHO DADOS Tal pacote será enviado pelo DTE à rede, no campo de informações do protocolo. Os nós da rede executam a concentração e distribuição dos pacotes, decidindo qual o melhor caminho para a transmissão dos mesmos pela rede. Um pacote é, então, a unidade de informação tratada pela rede, contendo, além do campo de dados ,um cabeçalho onde estão registrado todas as informações necessária ao seu correto encaminhamento através da rede. Técnicas de Comutação Os serviços de WANS são providos por três tecnologias de comutação primárias: circuito, pacote, e célula. Estas tecnologias de comutação são mostradas na figura abaixo. Em redes de comutação de circuitos, cada link é dedicado a um número predeterminado de usuários durante um período particular. Cada usuário recebe uma predeterminada largura de banda. Multiplexação por divisão de tempo (TDM) é o método que controla o acesso a rede. O sistema de telefone é o exemplo freqüentemente citado de uma rede de comutação de circuito. Redes de comutação de pacotes permitem a estações compartilhar a rede e a largura de banda disponível. Pacotes de tamanho variável são usados para uma transferência mais eficiente e flexível. Estes pacotes são comutados entre os vários segmentos de rede até o destino ser alcançado. Técnicas de multiplexação estatística controlam o acesso de rede 28
  • 29. em uma rede de comutação de pacote. A maioria das LANs populares de hoje (por exemplo, Ethernet e Token Ring) são redes de comutação de pacotes. Redes que transportam unidades de informação de tamanho fixos são conhecidas como redes de comutação de célula. E têm a simplicidade e conseqüentemente, uma maior velocidade de comutação. Multiplexação estatística e acesso baseado em TDM são permissíveis em uma rede de comutação de célula. Comutar célula é uma técnica relativamente nova que está ganhando rapidamente popularidade. Modo de Transferência assíncrono (o ATM) é atualmente a tecnologia de comutação de célula mais proeminente. Cada técnica de comutação tem vantagens e desvantagens. Por exemplo, redes de comutação de circuito oferecem aos usuários largura de banda dedicada que não pode ser infringida por outros usuários. Por outro lado, redes de comutação de pacotes oferecem mais flexibilidade e largura de banda de rede tradicionalmente mais eficaz que redes de comutação de circuitos. DTE e DCE A interface entre o equipamento terminal de dados(DTE) e o equipamento de comunicação de dados (DCE) é uma das mais comuns em conexão de redes. DTE é tipicamente representado por computadores, terminais, ou roteadores, agem como equipamento terminais para uma determinada rede. DCE é tipicamente representado por modens ou dispositivos semelhantes, provêem clock como também serviços de comutação entre DTEs. O DTE/DCE se conectam e a sua relação para um pacote comutado de WAN é mostrado na figura abaixo. 29
  • 30. Especificações da camada de link Em redes de comutação de pacotes, a maioria das interfaces de DTE/DCE consistem de um componente de camada de link e um componente de camada física. O componente de camada de link define um protocolo de acesso entre o que estabelece um link, por exemplo, um roteador (DTE) e um switch (DCE). Protocolos de acesso da camada de link típicos incluem LAPB de X.25, Flame Relay, e ATM. Especificações da camada física Especificações da camada física provêem informações em aproximadamente quatro aspectos diferentes de interfaces de camada física: mecânico, elétrico, funcional, e processual. Aspectos mecânicos de interfaces de camada física incluem especificações de conectores e disposições físicas do pinos. Aspectos elétricos incluem níveis de voltagem que representam valores binários e impedância elétrica. Aspectos funcionais de especificações da interface da camada física nomeiam funções (controle, dados, terra) para circuitos particulares. Finalmente, os aspectos processuais definem esses procedimentos associados com várias operações de comutação de dados. Como exemplo temos várias ações elétricas em cima de circuitos específicos que juntos definem a operação de loopback. Serviços de Pacotes Orientados a Conexão A interface de DTE/DCE especifica a maneira na qual um serviço de pacote é acessado. Alguns serviços de pacote são baseados em conexões virtuais. Em um serviço de pacote orientado a conexão, pares de terminais são associados com um identificador de conexão. Cada dispositivo de comutação constrói uma tabela que traça identificadores de conexão para portas. Quando um frame é recebido, o dispositivo de comutação analisa o identificador de conexão e entrega o frame a porta associada. O 30
  • 31. caminho completo para o destino é a prioridade estabelecida por quem envia o primeiro frame. Exemplos de serviços de pacote orientado a conexão são: X.25 e Frame relay. Serviços de pacotes orientados a conexões podem oferecer conexões virtuais passageiras ou permanentes, chamadas respectivamente, circuitos virtuais comutados (SVCs) e circuitos virtuais permanentes (PVCs). SVCs e PVCs são multiplexados em cima de canais físicos compartilhados por outros circuitos. PVCs são usados quando uso da linha é relativamente contínuo; SVCs são úteis quando uso da linha é relativamente esporádico. X.25 X.25 define uma interface para uma WAN que pode prover em demanda SVCs e (normalmente) PVCs. Para começar a comunicação, um computador chama outro para pedir uma sessão de comunicação. O computador chamado pode aceitar ou pode recusar a conexão. Se a chamada foi aceita, os dois sistemas podem começar a transferência de informação full-duplex. Qualquer lado pode terminar a conexão a qualquer hora . A especificação X.25 define uma interação de ponto-a-ponto entre um DTE e um DCE. DTEs se conectam a DCEs que se conectam a comutadores ("PSEs" ou simplesmente "switches") dentro de uma rede de comutação de pacotes (PSN, outro nome para uma rede X.25) e,por último, a outro DTE. A relação entre as entidades em uma rede X.25 é mostrada na figura abaixo. Terminais também podem fazer uso de um serviço X.25 usando um serviço de tradução chamado de montador de pacote (ou mais comumente, PAD) que serve para coletar dados e comandos de PAD em pacotes para transmissão como também os recebe do dispositivo conectado. A operação da interface de terminal-PAD, os serviços oferecidos 31
  • 32. por um PAD, e o controle da interação PAD-host é definido, respectivamente, pelas Recomendações X.28, X.3 e X.29. A especificação X.25 traça as camadas de 1 a 3 do Modelo de Referência da OSI. A camada 3 do X.25 descreve o formato do pacote e os procedimentos de comutação de pacotes entre as entidades da camada 3. A camada 2 do X.25 (LAPB, ou Procedimento de Acesso de Link Balanceado) define os frames dos pacotes para o link de DTE/DCE. A camada 1 do X.25 define os procedimentos elétricos e mecânicos para ativar e desativar o nível físico que conecta o DTE e o DCE. A relação entre as camadas de X.25 e o modelo de referência da OSI é mostrado na figura a seguir. O Nível Físico O nível físico (nível 1) lida com a interface elétrica, mecânica, processual e funcional entre o DTE e o DCE. O nível físico é especificado pelas recomendações X.21, X.21-bis e a V.24 para modens e circuitos de intercâmbio. • X.21 é uma recomendação de CCITT para operação de circuitos digitais. A interface X.21 opera mais de oito circuitos de intercâmbio (i.e. sinal terra, DTE retorno comum, transmita, receba, controle, indicação, sinal elemento de temporização e byte de temporização) as funções são definidas na recomendação X.24 e as características elétricas na recomendação X.27. • X.21-bis é uma recomendação de CCITT que define a interface de analógica para permitir o acesso ao circuito digital de uma rede comutada que usa um circuito analógico. X.21-bis provê procedimentos para enviar e receber informações que permitem a um DTE estabelecer circuitos comutados com outro DTE que tem acesso à rede digital. • V.24 também é uma recomendação de CCITT, e provê procedimentos que permitem o DTE a operar em cima de um circuito analógico dedicado que o conecta a um nó de comutação de pacotes ou concentrador. 32
  • 33. X.21 Interface digital. Em 1976 a CCITT recomendou que uma interface de sinalização digital chamada X.21. A recomendação especifica como o DTE faz ligação e limpeza de chamadas, comutando sinais com o DCE. O conector físico tem 15 pinos, mas nem todos eles são usados. O DTE usa os circuitos de T e de C para transmitir dados e informação de controle. O DCE usa os circuitos de R e I para dados e controle. O circuito de S contém um sinal "stream" emitido pelo DCE para prover temporização, assim o DTE sabe quando cada bit de intervalo começa e termina. O circuito de B também pode agrupar os bits em frames de byte. Se esta opção não é provida, o DCE e DTE têm que começar toda a seqüência de controle com pelo menos dois caracteres de SYN para permitir a dedução do limite de frame implícito. O Nível de link O nível de link (também chamado nível 2, ou nível de frame) assegura transferência de dados entre o DTE e o DCE, transmitindo os dados como uma seqüência de frames (um frame é uma unidade de dados individual que contém endereço, controle, campo de informação etc.). As funções executadas pelo nível de link incluem: • Transferência de dados em um modo eficiente e oportuno. • Sincronização do link para assegurar que o receptor está sincronizado com o transmissor. • Descoberta de erros de transmissão e recuperação de tais erros • Identificação e informações de erros processuais a níveis mais altos, para recuperação. O nível de link usa dados para procedimentos de controle que são compatíveis com o Controle de Dados de Nível Alto (HDLC) unificado por ISO. Há vários protocolos que podem ser usados no nível de link: 33
  • 34. • Link de Acesso a Protocolo Balanceado (LAPB) é derivado do HDLC e é comumente usado. Permite a formação de uma conexão de link lógica além de todas as outras características de HDLC. • Link de Acesso de Protocolo (LAP) é uma versão mais antiga de LAPB e raramente é usado hoje. • Link de Acesso de Procedimento no Canal D (LAPD) é derivado de LAPB e é usado para Serviços Integrados de Redes Digitais (ISDN), ele habilita transmissão de dados entre DTEs pelo canal D, especialmente entre um DTE e um nó de ISDN. • Controle de link lógico (LLC) é um padrão IEEE 802 de protocolo de LAN que habilita pacotes X.25 a serem transmitidos por um canal de LAN. LAPB O LAPB utiliza a seguinte estrutura de frame: • Os campos de Flag indicam o começo e fim do frame, F(01111110). • O Campo de Endereço (Address) contém o endereço do DTE/DCE, e é muito importante para identificar um dos terminais. Se for igual a 11000000 informa que é um comando DCE-DTE ou uma resposta DTE-DCE; se for igual a 10000000 informa que é um comando DTE-DCE ou uma resposta DCE-DTE. • O Campo de Controle contém a seqüência de numeração, comandos e respostas para controlar os dados que fluem entre o DTE e o DCE. O campo de controle é inicializado com um Set Asynchronous Balanced Mode (SABM). Também há uma operação estendida (SABME), isto provê um módulo-128 de janela de frame. • campo de Checksum indica se houve ou não erros na transmissão. É uma variação do Código de Redundância Cíclico (CRC). Há três tipos de frames de controle: 1. Informação: Este tipo de frame contém a informação atual que é transferida. O campo de Informação contem os dados atuais e um cabeçalho de dados, ou está vazio. O cabeçalho de dados tem 24 bits e é dividido em 4 partes: 4 bits do Identificador de Formato Geral (GFI), que indica a presença ou ausência de dados 4 bits de Número de Grupo de Canal Lógico (LGN). 8 bits de Número de Canal Lógico (LCN). O LGN e LCN combinados pode ser usados como um número de canal grande. LCN 0 normalmente é usado para comandos de rede de emergência. 2. Supervisão: Há vários tipos de frames de supervisão. RECEPTOR PRONTO (RECEIVE READY) - Frame de reconhecimento que indica o próximo frame esperado. É usado pelo receptor para confirmar o recebimento de frames de informação quando este não tem frames de informação para transmitir. 34
  • 35. REJEITADO (REJECT) - Frame de reconhecimento negativo, indica a descoberta de erro de transmissão e solicita retransmissão a partir do 1º frame ainda não confirmado RECEPTOR NÃO PRONTO (RECEIVE NOT READY) – Informa ao remetente para deixar de enviar dados devido a problemas temporários. 3. Não Numerado (Unnumbered): Este tipo de frame só é usado para propósitos de controle, não contém dados, somente a informação de começar a parar o link de comunicação. LAPB também provê os seguintes comandos: • DISC (Desconexão) - Comando para desfazer o enlace lógico. • SNRT (Set Normal Response Time) - Permite que uma máquina que há pouco voltou em linha, anunciar sua presença. • FRMR (Frame Rejeitado) - indica um frame com checksum correto mas com erro não recuperável por retransmissão. • SABM: Comando para inicializar o enlace lógico. • UA (Reconhecimento não Numerado): Confirmação do recebimento dos Quadros SABM e DISC. • DM (Modo desconexão): Reporta que a estação está no modo desconectado O Nível de Pacote O nível de pacote (também chamado de nível 3 ou nível de rede) cria unidades de dados de rede chamadas pacotes que contêm informações de controle e dados de usuário. O nível de pacote provê procedimentos para os seguinte serviços: • Circuito Virtual é uma associação temporária entre dois DTEs, é iniciado por uma sinalização de PEDIDO de CHAMADA de DTE para a rede. Este serviço assegura uma seqüência na entrega de pacotes em qualquer direção entre dois Circuito de DTEs.O Circuito Virtual é estabelecido sempre que dois DTEs querem um serviço de comunicação. • Circuito Virtual permanente é uma associação permanente que existe entre dois DTEs que não requerem estabelecimento de chamada ou limpeza de chamada (desconexão) feita pelo DTE. • Datagramas(DG) é uma unidade de dados de usuário e contêm informação suficiente a ser roteada ao DTE de destino (independentemente de todas as outras unidades de dados) sem necessidade de que uma chamada seja estabelecida. As unidades de dados são transmitidas a uma pessoa de cada vez sem garantia de garantia de entrega em ordem. Cada datagrama têm que conter o endereço completo e tem que controlar a informação para habilitar isto e ser entregue ao destino formal DTE. • Seleção Rápida (Fast Select) é um serviço que habilita o pacote de controle que monta o VC para levar dados também. • Outro Serviços: O nível de pacote também provê a chamada de ligação e procedimentos de limpeza de chamada requeridos para o serviço de CV. O nível de pacote lida com o controle de fluxo para assegurar que um usuário (DTE) não subjugue o outro usuário com pacotes, e mantém pontual a entrega eficiente de 35
  • 36. pacotes. O nível de pacote também verifica erros para abortar ou reiniciar CVs se necessário. Estabelecimento de Chamada Quando o DTE A deseja se comunicar com o DTE B, tem que montar uma conexão criando um pacote de PEDIDO de CHAMADA (CLEAR REQUEST), e enviá-lo ao DCE. O DTE B recebe o pacote da sub rede que é o DCE. Se o DTE B deseja aceitar a chamada, envia para trás um pacote de CHAMADA ACEITA (CALL ACCEPT). Quando o DTE A recebe o pacote de CHAMADA ACEITA o Circuito Virtual é estabelecido. Neste momento os dois DTEs pode usar uma conexão full-duplex para trocar pacotes de dados. Quando qualquer lado quer terminar a chamada, envia um pacote de PEDIDO DE LIMPEZA (CLEAR REQUEST) ao outro lado que então manda de volta um pacote de CONFIRMAÇÃO DE LIMPEZA (CLEAR CONFIRM) como um reconhecimento. O DTE determina o número de circuito de saídas de chamadas (OUTGOING CALLS) e o DCE determina o número de circuito de chegadas de chamadas (INCOMING CALLS) Se ambos escolherem simultaneamente o mesmo número, a Colisão de Chamada ocorre. X.25 especifica neste caso o adiamento da saída e da chegada da chamada. Formatos de Pacotes O Pacote de Controle O formato dos pacotes de controle é como se segue: 36
  • 37. O pacote de controle como também todos os pacotes X.25 começam com 3 bytes de cabeçalho. Bytes 1,2 contêm os campos de Grupo e de Canal que junto formam 12 bits que é o número do circuito virtual.O Número 0 é reservado para uso futuro, assim um DTE pode ter de cada vez até 4095 circuitos virtuais. O pacote de PEDIDO de CHAMADA: A informação adicional do pacote de PEDIDO de CHAMADA é feita como se segue: O Tamanho da Chamada de Endereço e o tamanho do campo de Endereço Chamado revelam a duração da chamada e dos endereços chamados respectivamente. Os próximos dois campos são os endereços, são codificados ambos os endereços como dígitos decimais, 4 bits para cada dígito. O sistema de endereçamento usado em X.25 é definido pela CCITT na recomendação X.121. Este sistema é semelhante à rede pública comutada de telefone, com cada host identificado por um número decimal que consiste em código rural, um código de rede, e um endereço dentro da rede especificada. O endereço cheio pode conter até 14 dígitos do qual os três primeiro indicam o país, e o próximo indica a numeração dentro de um país. A divisão dos 10 dígitos não é especificada por X.121 e permite para cada rede alocar 10 bilhões de endereços. 37
  • 38. O campo de Tamanho de Facilidades conta quantos bytes de campo de facilidades se seguem. O próprio campo de Facilidades é usado para pedir características especiais para esta conexão. As características específicas podem variar de rede para rede. Possíveis características são reverse charging(chamadas coletadas), simplex em vez de circuito virtual full-duplex, e tamanho máximo de pacotes e tamanho de janela em lugar do padrão de 128 bytes e 2 pacotes. O último campo é O campo de Dados de Usuário que permite o DTE enviar até 16 bytes de dados junto com o pacote de PEDIDO de CHAMADA. Outros Pacotes de Controle são: • CHAMADA ACEITA é enviado pelo DTE se a chamada for aceita. • PEDIDO DE LIMPEZA é enviado pelo DTE a rede, recusando o estabelecimento do circuito virtual ou solicitando a desconexão do circuito virtual. O quarto byte do pacote informa por que a conexão está sendo limpa. É reconhecido por um pacote de CONFIRMAÇÃO de PEDIDO DE LIMPEZA. • INTERRUPÇÃO que permite a um pequeno sinal (32 bytes) ser enviado pela seqüência. É reconhecido pelo pacote de CONFIRMAÇÃO de INTERRUPÇÃO. • RECEPTOR PRONTO é usado para enviar reconhecimentos separados onde não h&a acupe; nenhum tráfego inverso. O campo de ppp (três primeiro bits que representam o campo) informa qual pacote é esperado. • RECEPTOR NÃO PRONTO permite a um DTE informar ao outro lado para deixar de enviar pacotes durante algum tempo. • REJEITADO permite A um DTE pedir retransmissão de uma série de pacotes. O campo de ppp dá o primeiro número de seqüência desejado. • RESET e RESTART são usados para recuperar o circuito virtual e encerrar os circuitos virtuais comutados e reiniciar os circuitos virtuais permanentes. É reconhecido através de CONFIRMAÇÃO de RESET e CONFIRMAÇÃO de RESTART respectivamente. • DIAGNÓSTICO permite a rede informar ao usuário de problemas. • CHEGADA DE CHAMADA é enviado pela rede ao DTE remoto com o intuito de estabelecer um circuito virtual. • CHAMADA CONECTADA é enviado pela rede ao DTE chamado, informando que o circuito já está disponível. O Pacote de Dados: O formato de um pacote de dados é mostrado abaixo: 38
  • 39. O bit Q indica os dados qualificados, a intenção é permitir que protocolos nas camadas mais altas estabeleçam o bit 1, para separar os pacotes de controle dos pacotes de dados. O campo de controle sempre é 0 para pacotes de dados. Os campos de seqüência e Piggyback são usados para controle de fluxo e usam uma janela deslizante. Os números de seqüência são um m&o acoche; dulo 8 se o campo Modulo for 01, e modulo 128 se o campo Modulo for 10 (00 e 11 são ilegais). Se o modulo de 128 for usado, o cabeçalho é estendido com um byte extra para acomodar os campos de seqüência e Piggyback. O bit D determina o significado do campo Piggyback. Se D=0 indica que o DCE local recebeu o pacote, mas que o DTE distante não recebeu isto. Se D=1 indica que o pacote foi entregue ao DTE distante. O bit M indica se o pacote em particular está levando a mensagem intencional total ou se há mais dados para seguir como parte desta transmissão. Quando o bit M é fixo, a entidade de rede receptora segura a informação e espera os dados esperados adicionais antes de entregar a informação ao receptor. X.25 Diagrama de Estado O padrão X.25 contém alguns diagramas de estados para descrever seqüências de eventos como ligação de chamada e justificação de chamada. O diagrama abaixo apresenta as subfases de ligação de chamada: 39
  • 40. Inicialmente, a interface está no estado P1.O PEDIDO de CHAMADA(CALL REQUEST) ou CHEGADA DE CHAMADA (INCOMING CALL) muda o estado para P2 ou P3, respectivamente. Estes estados transferem os dados ao estado P4 ou P5. São providos diagramas semelhantes para Limpeza de Chamada (Call Clearing), Resetting, e Reiniciando. RECOMENDAÇÕES X.3, X.28, X.29 Por ser bastante elaborado, o protocolo X. 25 implica em recursos normalmente não disponíveis em equipamentos de dados mais simples e de baixo custo, como é o caso dos terminais assíncronos. Para permitir o acesso desses terminais, as redes comutadas de pacotes possuem interface PAD (packet assembler / disassembler), cuja função principal é exatamente o empacotamento e desempacotamento de dados, ou seja, o PAD recebe os caracteres originais por um terminal Start -Stop e forma pacotes para transmissão através de rede, e executando a operação inversa no sentido da rede/terminal. Dessa forma, pode - se dizer que o PAD atua como um conversor de protocolo. As especificações para acesso à rede comutada de pacotes, via interfaces PAD, constam das recomendações X.3, X.28, X.29 do CCITT.O PAD pode ser visto pela rede como um terminal X.25. No entanto, isto não obriga que o PAD seja um equipamento à parte do nó de comutação da rede, ou seja, esta função pode estar residente no mesmo hardware que o resto das funções do nó. RECOMENDAÇÕES X.3 A função PAD, definida pelo CCITT pela recomendação X.3, não se propõe a ser uma solução geral que possibilite o acesso de qualquer terminal assíncrono a uma rede comutada de pacotes. A classe de terminais objeto de padronização do CCITT é 40
  • 41. conhecida como a dos terminais compatíveis com teletipo, ou seja, aqueles que operam com código ASCII (7 bits de dados mais 1 bit de paridade). A recomendação X.3 define um conjunto de parâmetros, cujos valores podem ser lidos e alterados pelo usuário, permitindo ao PAD , por exemplo, inibir ou gerar eco localmente, controlar o fluxo de dados entre DTE e o PAD etc. A um conjunto de valores predefinidos desses parâmetros dá - se o nome de perfil e é justamente através da escolha desse perfil que é possível adaptar o PAD ao tipo de equipamento utilizado ou até mesmo à aplicação desejada. PARÂMETRO 1 : RETOMADA DO PAD Permite ao DTE assíncrono sair do estado de transferência de dados para o estado de comando (fase na qual o DTE conversa diretamente com o PAD), possibilitando, assim, por exemplo, alterar o valor de um determinado parâmetro sem desconectar um circuito virtual já estabelecido. PARÂMETRO 2 : ECO Quando o parâmetro 2 for igual a 1, o PAD transmite de volta ao DTE todos os caracteres recebidos e , deste modo, o comparador pode comparar visualmente a igualdade entre o caráter digitado e o recebido. Outra situação é a necessidade de desativar temporariamente o eco para permitir o envio de dados sigilosos que não devem aparecer no terminal como , por exemplo, senhas. PARÂMETRO 3 : SELEÇÃO DE SINAL DE ENVIO DE DADOS Caso a mensagem transmitida pelo usuário tenha tamanho insuficiente para completar um pacote, o DTE deve enviar um caráter especialmente designado para que o conteúdo do buffer seja empacotado e transmitido no estado em que se encontra. PARÂMETRO 4 : SELEÇÃO DE TEMPORIZAÇÃO Permite definir o tempo máximo entre caracteres recebidos pelo PAD, sendo que, depois de esgotado este tempo , o PAD empacota os caracteres armazenados no seu buffer interno e transmite o pacote de dados. PARÂMETRO 5 : CONTROLE DE FLUXO DO TERMINAL Função utilizada pelo PAD para indicar uma impossibilidade temporária de receber dados do DTE. PARÂMETRO 6 : CONTROLE DO ENVIO DE SINAIS DE SERVIÇOS DO PAD Permite ao terminal assíncrono decidir se quer ou não receber do PAD os sinais de serviços(resposta do PAD aos comandos enviados pelo DTE). 41
  • 42. PARÂMETRO 7 : SELEÇÃO DA OPERAÇÃO DO PAD AO RECEBER UM SINAL BREAK DO DTE Este parâmetro permite que o usuário defina o procedimento pelo PAD ao receber um sinal de parada. PARÂMETRO 8 : DESCARTA SAÍDA Este parâmetro permite ao PAD descartar os pacotes recebidos do DTE remoto para o DTE assíncrono. PARÂMETRO 9 : PREENCHIMENTO APÓS CR Esta função faz com que o PAD envie a terminal impressor assíncrono caracteres de preenchimento (NUL) após a transmissão de um caractere CB (retorno de carro) , evitando, assim , que caracteres enviados pelo DTE remoto sejam impressos enquanto o carro estiver retornando para a primeira posição de uma linha. PARÂMETRO 10: DESDOBRAMENTO DE LINHA Este parâmetro permite ao usuário escolher o número de caracteres por linha que o PAD deve enviar ao DTE assíncrono, possibilitando, assim ,que terminais com tamanho de linha diferentes possam se comunicar entre si sem que terminal com o menor tamanho de linha perca informações. PARÂMETRO 11 : VELOCIDADE DE TRANSMISSÃO DO TERMINAL ASSÍNCRONO Parâmetro utilizado para fins informativos, indicando a velocidade de transmissão do terminal assíncrono, não poderá ser alterado devido às características do modem utilizado. PARÂMETRO 12 : CONTROLE DE FLUXO DO PAD Este parâmetro permite que o terminal assíncrono informe a impossibilidade temporária de receber caracteres do PAD. PARÂMETRO13 : INSERÇÃO DE LF (TROCA DE LINHA) APÓS UM CR Este parâmetro permite ao PAD inserir automaticamente um caráter LF após qualquer CR transmitido ou ecoado para o DTE assíncrono. Esta função só é aplicável durante a fase de transferência de dados. PARÂMETRO 14 :PREENCHIMENTO APÓS LR (TROCA DE LINHA) Esta função faz com que o PAD transmita caracteres de preenchimento (NUL) após a transmissão de caracteres de LR, garantindo que nenhum caractere será transmitido antes que o carro esteja posicionado na linha seguinte. 42
  • 43. PARÂMETRO 15 : EDIÇÃO O parâmetro 15 ativa as funções de edição do PAD (parâmetros 16, 17 e 18) durante a fase de transferência de dados. Durante a fase de comando, a edição sempre estará disponível. PARÂMETRO 16 : DELEÇÃO DE CARACTERES Através deste parâmetro , o usuário pode escolher o caractere que será utilizado para apagar caracteres armazenado no buffer interno do PAD. O caráter de apagamento nunca será transmitido para o DTE e é apagado um caractere por vez. O caractere mais utilizado para solicitar o apagamento é o BS (Back Space). PARÂMETRO 17 : DELEÇÃO DE LINHA Através deste parâmetro , o usuário pode escolher o caractere que será utilizado para apagar todos os caracteres armazenados no buffer interno do PAD. O caractere mais utilizado para esta função é o CAN (cancel). PARÂMETRO 18 : APRESENTAÇÃO DE LINHA Através deste parâmetro , o usuário pode escolher o caractere que será utilizado para comandar a transmissão ,para o terminal assíncrono, de todos os caracteres armazenados no buffer interno do PAD. O caractere usual para esta função é o "*". RECOMENDAÇÕES X.28 Define a interação entre o terminal assíncrono e o PAD, descrevendo os comandos a serem empregados pelo usuário no controle do PAD, ou seja, como estabelecer e desconectar um circuito virtual, como modificar o valor associado aos parâmetros do PAD, como saber quais valores que estão associados aos parâmetros etc. Nessa recomendação , estão ainda definidas as respostas aos comandos do PAD , às quais se dá o nome de sinais de serviço. Se o terminal estiver na fase de transferência de dados , todos os comandos devem ser precedidos de um procedimento de retomada do PAD. PROF: comando que permite ao DTE solicitar ao PAD que atribuiu aos 18 parâmetros os valores definidos para perfil padrão selecionado. STAT: permite ao DTE interrogar ao PAD sobre estado de sua ligação. O PAD responderá com sinais de serviço ENGAGED (chamada virtual existente) ou FREE (não existência de chamada virtual). CLR: permite ao DTE solicitar a desconexão da chamada virtual. O PAD responde ao comando de desconexão enviando uma mensagem de confirmação, desde que o parâmetro 6 seja igual a 1 ou 5. RESET : permite o DTE solicitar ao PAD que envie um pacote de RESET para reiniciar uma chamada. 43
  • 44. INT : permite ao DTE solicitar ao PAD que envie um pacote X.25 de interrupção ao DTE remoto. Outros sinais de serviços: COM : permite ao PAD indicar que a chamada foi estabelecida e que o PAD está fase de transferência de dados. RESET : permite ao PAD indicar que ocorreu um reinicio de chamada , podendo, portanto, ter havido perda de pacotes em transito pela rede. Contém a causa / diagnóstico do motivo do RESET. ERR : o PAD indica que houve um erro no comando enviado pelo DTE. ENGAGEF : indicação do PAD da existência de uma chamada virtual por ocasião do comando START . FREE : indicação do PAD confirmando uma desconexão solicitada através do comando CLR CLR CONF: indicação do PAD confirmando uma desconexão solicitada através do comando CLR. CLR : indicação do PAD para uma chamada desfeita pelo DTE remoto ou pela própria rede. Contém causa /diagnostico do motivo do CLR. RECOMENDAÇÃO X.29 Define como deve ser processada a troca de mensagens entre o PAD e um terminal modo pacote (X.25), ou entre PADs. 44
  • 45. IPX/SPX IPX – Internetwork Packet Exchange – é um protocolo desenvolvido pela Novell que cria, mantém e termina os links de comunicação entre dispositivos de Rede. Ele é responsavel tanto pelos dados que entram quanto pelos dados que saem. Quando um dado chega, o IPX lê e envia para o endereço adequado. SPX – Sequenced Packet Exchange é o protocolo que supervisiona as transmissões de dados, compostas por uma sucessão de pacotes separados. Se um pedido de confirmação não for respondido dentro de um tempo especificado, o SPX retransmite o pacote envolvido. Como o NetBEUI, o IPX/SPX é um protocolo relativamente pequeno e veloz em uma LAN mas, diferentemente do NetBEUI, suporta roteamento. 45
  • 46. PROTOCOLO RIP 1, 2 E OSPF Routing Information Protocol - RIP O protocolo RIP (Routing Information Protocol) utiliza o algoritmo vetor-distância. Este algoritmo é responsável pela construção de uma tabela que informa as rotas possíveis dentro do AS. algoritmo Vetor-Distância Os protocolos baseados no algoritmo vetor-distância partem do princípio de que cada roteador do AS deve conter uma tabela informando todas as possíveis rotas dentro deste AS. A partir desta tabela o algoritmo escolhe a melhor rota e o enlace que deve ser utilizado. Estas rotas formam uma tabela. Cada uma destas rotas contém as seguintes informações:  • Endereço  IP da rede; • Roteador  Próximo roteador da rota de destino; • Interface  O enlace utilizado para alcançar o próximo roteador da rota de  destino; • Métrica  Número indicando a distância da rota (0 a 15), sendo uma rota com  métrica 16 considerada uma rota infinita; • Tempo  Quando a rota foi atualizada pela última vez; Protocolos de Roteamento O protocolo RIP utiliza o conceito broadcast, desta forma um roteador envia sua tabela para todos os seus vizinhos em intervalos predefinidos de tempo (geralmente 30 segundos). Estas mensagens fazem com que os roteadores vizinhos atualizem suas tabelas e que por sua vez serão enviadas aos seus respectivos vizinhos. Veremos agora um exemplo para ilustrar a formação de uma tabela do RIP. Consideremos uma sub - rede com 5 nós, conforme o diagrama abaixo: As letras representam os roteadores e os números representam os enlaces. Ao iniciar o sistema a tabela de cada roteador só contém a sua própria rota. A tabela do roteador A será: 46
  • 47. Estipulando-se a métrica como 1 para todos os nós, isto é, admite-se à distância de cada roteador para seus respectivos vizinhos como 1. E ainda supondo que A envie primeiro sua tabela de atualização, B e D atualizarão as suas tabelas conforme são mostradas abaixo: Agora que B e D atualizaram suas tabelas, B transmite sua tabela para seus vizinhos A, C e E. D faz o mesmo para A e E. A, ao receber a mensagem de B e D, atualiza sua tabela, como podemos ver abaixo: O nó C, receberá a mensagem de B através do Enlace 2, e atualizará sua tabela como vemos abaixo: 47
  • 48. Quando um nó recebe uma tabela de atualização de outro nó, ele verifica cada rota de modo a privilegiar as rotas de menor métrica com mesmo destino. Desta forma as mensagens vão se atualizando até as tabelas convergirem. Podemos ver abaixo como ficaria a tabela de A depois de convergir: O tempo de convergência é muito importante para que a rede não fique por muito tempo desatualizada. Para isso existem algumas implementações a respeito de rotas muito grandes. Uma delas é o método Split Horizon With Poisonous Reverse. Para entendermos este método usaremos o exemplo a seguir, utilizando a sub-rede do exemplo anterior: se A quiser enviar um pacote para C, então A verificará em sua tabela que a melhor rota é aquela que passa por B. Mas se houver algum problema com o enlace 2, aquele entre B e C, então B ao encaminhar o pacote oriundo de A irá procurar uma outra rota. Neste momento existe a possibilidade de B escolher como a melhor rota, aquela que passa por A, utilizando como saída o enlace 1, entre A e B. Se B optar por esta rota estará formando um loop. Para que isso não ocorra à mensagem de A para B deve informar que C não é alcançável por A, isto é, A coloca em sua rota até C com uma métrica infinita (16), desta forma impede que B devolva para A este pacote. Para isso as mensagens enviadas por cada roteador devem ser diferenciadas para cada um de seus vizinhos. Outro método é o Split Horizon onde existe a omissão do envio de rotas que passam pelo nó que receberá a mensagem. Existe ainda um método chamado de Triggered Update que está relacionado com o tempo de envio da tabela de atualização. Por esse método, o roteador envia sua mensagem de atualização sempre que notar alteração na sua tabela, ao invés de esperar pelo tempo de envio. Isto diminui a quantidade de mensagens erradas (desatualizadas), diminuindo a quantidade de loops existentes. Por outro lado, carrega muito a rede. Para evitar isto, um contador é inicializado para contar até um número aleatório entre 1 e 5. Se ocorrer alguma mudança dentro neste intervalo, ela deve esperar até o fim do contador para ser enviada. 48
  • 49. Especificações do Protocolo Os pacotes RIP são transmitidos através de UDP e IP, usando a porta 520 do UDP tanto para transmissão quanto para recepção. Se uma rota não é atualizada dentro de 180 segundos, sua distância é colocada em infinito e a entrada será mais tarde removida das tabelas de roteamento. O formato da mensagem do RIP é mostrado na próxima tabela. Os números entre parênteses indicados em cada campo da mensagem indicam o número de bytes de cada campo. Nos campos onde aparece “deve ser zero”, são campos não utilizados nesta versão do RIP. Estes campos são utilizados nas versões RIPv2 e RIPng (utilizado em redes baseadas em IPv6). O campo comando é usado para especificar o propósito do datagrama (se é um pedido de envio de tabela ou uma resposta com envio de tabela). O formato do pacote permite ao RIP carregar informações de roteamento de vários protocolos diferentes. Portanto, cada rota da tabela contém um identificador de endereço da família para indicar que tipo de endereço está especificado. Na prática, o RIP não tem sido usado para suportar outros protocolos que não o IP. Quando recebendo uma resposta, o roteador examinará as rotas uma por uma, conferindo se o endereço é um endereço de classe válida (A, B ou C), verificará se o endereço de rede não é 127 (loop-back) ou 0 (endereço broadcast) e se a métrica não é maior que infinito. Conferido todos os pontos acima será feita à análise da tabela com a mensagem recebida para verificar a necessidade de atualização (Pooling Algorithm). O tamanho máximo de uma mensagem é 512 bytes, o que permite até 25 rotas por mensagem. Se houver mais de 25 rotas para reportar, o RIP enviará um segundo pacote. OPEN SHORTEST PATH FIRST – OSPF O OSPF é um protocolo especialmente projetado para o ambiente TCP/IP para ser usado internamente ao AS. Sua transmissão é baseada no Link State Routing Protocol e a 49
  • 50. busca pelo menor caminho é computada localmente, usando o algoritmo Shortest Path First - SPF. algoritmo O SPF funciona de modo diferente do vetor-distância, ao invés de ter na tabela as melhores rotas, todos os nós possuem todos os links da rede. Cada rota contém o identificador de interface, o número do enlace e a distância ou métrica. Com essas informações os nós (roteadores) descobrem sozinhos a melhor rota. Abaixo veremos a tabela formada pelo algoritmo SPF em cada um dos nós, utilizando a mesma rede e métrica exemplificada para o RIP: Quando ocorre uma alteração em um dos enlaces da rede, os nós adjacentes o percebem e avisam aos seus vizinhos. Para os vizinhos saberem se este aviso é novo ou velho, é necessário um campo no pacote com número da mensagem ou sua hora. Portanto, quando um nó recebe uma mensagem, primeiro é feita a verificação da existência ou não desta rota, se ela não existir é adicionada. Se existe, compara-se o número da mensagem recebida com a rota da tabela. Se o número da mensagem recebida for maior que a da tabela, a rota é substituída, caso contrário, a rota da tabela é transmitida como uma nova mensagem. Se os números forem iguais nada é feito. Este processo é chamado de Flooding. O OSPF possui uma série de proteções contra alguns perigos como erros de memória, falhas nos processos de flooding ou mesmo contra introdução voluntária de informação enganosa. São elas: 50
  • 51. • Os pacotes de descrição da tabela são enviados de forma segura;  • Cada entrada é protegida por um contador de tempo e é removida da tabela se um pacote de atualização não chegar em um determinado tempo; • Todas as entradas são protegidas por verificação de soma; • As mensagens podem ser autenticadas; • O processo de flooding inclui notificação de reconhecimento salto por salto.  Especificações do Protocolo Abaixo veremos como é formado um cabeçalho do protocolo OSPF. Os números entre parênteses indicados em cada campo da mensagem indicam o número de bytes de cada campo: Abaixo, a descrição de cada um dos campos: • Idade do LS se refere ao tempo em segundos desde que a rota foi primeiramente anunciada; • Opções define as características do roteador que a enviou, entre elas, a capacidade de roteamento externo. Dos 8 bits que possui, somente 2 estão definidos no OSPF-2: o bit "E" (External links) e "T" (Type of Service). O primeiro identifica as rotas externas e o segundo indica se o roteador suporta ou não este serviço; • Tipo de LS caracteriza o tipo de conexão; • ID do Estado da Conexão varia dependendo do tipo de LS mas, em geral, é representado pelo endereço IP e o roteador de anúncio, representado pelo endereço IP do roteador que enviou a mensagem; • Roteador de Anúncio especifica o roteador que enviou a rota na tabela. Para entradas de conexão de roteador, este campo é idêntico ao ID do Estado da Conexão; • Número de Seqüência de LS é o número usado para detectar rotas velhas e duplicadas. Quanto maior o número, mais recente é a rota. Ele é usado no algoritmo de flooding; • Verificação LS é destinado ao algoritmo de verificação (checksum) e, portanto, usado para detectar dados corrompidos na rota; 51
  • 52. • Comprimento especifica o comprimento da rota. Vantagens do OSPF sobre o RIP Veremos agora algumas vantagens do protocolo OSPF sobre o RIP, o que explica a preferência pelo OSPF em casos onde os roteadores suportam os dois protocolos. • Convergência rápida e sem loop Enquanto o RIP converge proporcionalmente ao número de nós da rede, o OSPF converge em uma proporção logarítmica ao número de enlaces. Isto torna a convergência do OSPF muito mais rápida. Além disso, no protocolo RIP, a mensagem é proporcional ao número de destinos, sendo assim se a rede é muito grande, cada mensagem terá de ser subdividida em vários pacotes, diminuindo mais ainda a velocidade de convergência. • Caminhos Múltiplos Nem sempre a melhor rota entre X e Y deve ser a única utilizada, pois isso pode implicar em sua sobrecarga. Análises matemáticas provaram que a divisão do tráfego em duas rotas é mais eficiente. Por isso o OSPF utiliza esse método de divisão de caminhos. Essa divisão é realizada por um algoritmo muito complexo, pois, como dificilmente uma fonte e um destino tem duas rotas possíveis exatamente iguais, é feita uma análise se as rotas são suficientemente iguais. Além disso, deve-se decidir a fração do tráfego que deve ser enviado em cada uma delas. Para que tenhamos uma melhor compreensão usaremos o exemplo da rede abaixo: Se tratando do tráfego entre X e Y, seria razoável se mandássemos 2/3 do pacote pelo caminho mais curto e 1/3 por Y. Mas isto gera um conflito se levarmos em consideração o tráfego entre X e Z, que ao enviar por X, seria formado um loop. Para evitar isto, foi aplicada a seguinte regra: Um pacote que iria de X para Y, só pode passar por Z se à distância entre Z e Y for menor que à distância entre X e Y. Com isso, determinamos todas as rotas secundárias que alcançarão um determinado nó. 52
  • 53. TCP/IP O protocolo TCP/IP é , na verdade, um grupo de protocolos que trabalham conjuntamente, com o objetivo de estabelecer a comunicação e a transferência de dados entre dois ou mais computadores ligados em rede. O TCP ( Transmission Control Protocol ), como o próprio nome diz, controla a transmissão do dados, cuidando para que os dados enviados por um computador cheguem integralmente ao destino correto. O TCP nada mais é que uma biblioteca de rotinas instaladas nos computadores origem e destino ( ou seja , todos os computadores que utilizem o protocolo TCP/IP para se comunicar ) que as aplicações como HTTP , mail , Telnet , e outras , utilizam quando precisam executar o transporte de dados entre hosts. Para melhor gerenciar a transmissão , o TCP quebra os dados a serem transmitidos em blocos menores , que chamamos de pacotes ou datagramas. Utilizando esta estrutura o TCP é capaz de verificar , se os datagramas chegam ao destino correto ou se não houve perda de dados durante a transmissão, retransmitindo o datagrama se necessário. Fará também o processo inverso, juntando os datagramas no host destino para a reconstituição dos dados originais. Enquanto o TCP cuida da segurança do envio e recebimento dos datagramas o IP é responsável pela transmissão em si , fazendo o serviço de roteamento, ou seja, conduzindo os dados para os endereços corretos. Na verdade , os dois protocolos se completam: enquanto o IP identifica os endereços e cuida para que os dados sejam enviados pelo meio físico , o TCP verifica se estes dados enviados foram transmitidos corretamente. Demonstração simplificada da transmissão de uma mensagem entre dois computadores ligados à Internet Camadas do Protocolo TCP/IP Os protocolos do TCP/IP atuam em camadas. A idéia é que cada camada de software utilize e preste serviços para outras camadas. São 4 as camadas que formam o TCP/IP: Camada de aplicações: onde encontramos as APLICAÇÕES aplicações que funcionam dentro da Internet como HTTP , FTP , TELNET , GOPHER. Camada de Transporte: onde encontramos os TRANSPORTE protocolos de transmissão de informações como o TCP e o UDP Camada de Internet ou Camada de Rede: onde REDE encontramos os protocolos de conexão como o IP , o ICMP, o ARP e o RARP 53
  • 54. Camada de Sub-rede ou Acesso à Rede: responsável ACESSO A pelo enlace entre diversas redes conectadas a Internet. REDE Nesta camada empregamos os gateways ou roteadores. Estas camadas trocam informações entre si de uma forma vertical e hierárquica , ou seja, a camada APLICAÇÕES passa informações para TRANSPORTE , que passa para REDE que passa para ACESSO A REDE. Cada camada trata das informações que correspondem a sua função. Quando falamos em comunicação entre dois hosts, a comunicação entre as camadas é vista então de uma maneira horizontal , ou seja , a Camada TRANSPORTE do host destino conversa somente com a Camada TRANSPORTE do host Origem , assim como a camada APLICAÇÕES só conversará com a camada APLICAÇÕES , e assim por diante. Protocolo TCP O protocolo TCP é utilizado na comunicação entre computadores de uma rede Internet. Através dele , pode-se obter um serviço confiável, ou seja, que os dados sejam transmitidos integralmente para os destinos corretos. As informações transmitidas entre os computadores podem originar de diversas aplicações diferentes , como um E-MAIL , um acesso a HTTP ou uma transferência de arquivos ( FTP ). Para que seja possível identificar a que serviço um determinado datagrama pertence ,o TCP utiliza o conceito de portas. Determinada a porta , toda a comunicação com a aplicação é realizada e endereçada através dela. Uma porta é a representação numérica de um serviço Internet. Alguns serviços têm números de porta padrão, como podemos ver no quadro abaixo: Serviço (Server) Porta HTTP (WWW) 80 HTTPS (WWW seguro) 443 IRC (Chat, ou bate-papo) 6667 FTP (Transferência de arquivos) 21 TELNET (Emulação de terminal) 23 SMTP (Transferência de E-Mail entre 25 MTAs) As principais funções do TCP são: • Transferência de dados: transmissão de dados em blocos ( datagramas ) e em modo full-duplex ( envio e recebimento simultâneos ) • Transferência de dados urgentes: transmite primeiro datagramas que contenham sinalização de urgência • Estabelecimento e liberação de conexão 54
  • 55. • Segmentação: O TCP pode dividir os dados a serem transmitidos em pequenos blocos – os datagramas - que são identificados para , no host destino, serem agrupados novamente. • Controle de fluxo: o TCP é capaz de adaptar a transmissão dos datagramas às condições de transmissões ( velocidade , tráfego ... ) entre os sistemas envolvidos. • Controle de erros: como vimos na segmentação , os datagramas são identificados antes de serem transmitidos. Além disso é adicionado o checksum , um número utilizado para verificar e corrigir erros na transmissão. Protocolo IP O IP é o protocolo responsável por definir o caminho que um pacote de dados deverá percorrer do host origem ao host destino , passando por uma ou várias redes. Ao contrário do TCP , o protocolo IP é chamado de Protocolo não-orientado a conexão , o que significa que não há nenhuma verificação de erro na transferência , ele apenas roteia os pacotes pela rede. Endereços IP O endereço IP é identificação de um equipamento conectado a Internet. Todos os equipamentos devem ter um endereço IP associado e único que será utilizado na comunicação entre os equipamentos. A definição de um endereço IP segue uma série de especificações que são definidas pela NIC ( Network Information Center ), que atribui e controla os endereços IP pelo mundo para garantir a segurança e unicidade dos endereços. Formato e Categorias de Endereço IP O endereço IP é constituído por 4 octetos ( 4 grupos de 8 bits ) que servem para identificar a rede (Net ID) a qual o equipamento pertence e o próprio equipamento ou host (HOST ID). Existem 5 classificações para os endereços IP: Classe A , B , C , D , E. Porém utilizamos apenas os endereços de classe A , B e C. O que os diferencia é a divisão do número de octetos que serão utilizados para identificação de rede e para identificação de host: Classe A NET ID HOST ID Classe B NET ID HOST ID Classe C NET ID HOST ID 55
  • 56. Atualmente , as grandes maiorias de endereços IP são de Classe C. Utilizando o conceito de sub-rede a capacidade de combinações numéricas para formação dos endereços aumenta consideravelmente. Apesar de serem configurados através de números binários ( 0 e 1) , os endereços IP são apresentados com notação decimal, como: 200.246.128.241 , 192.168.10.123 , etc. Como identificar a Classe de um endereço IP? Através do número do primeiro octeto do IP conseguimos identificar sua classe: • Classe A - 1 até 126 . Exemplo: 122.100.10.1 • Classe B - 128 até 191. Exemplo: 177.172.122.30 • Classe C – 192 até 223. Exemplo: 200.246.128.241 Entre os endereços de classe A e B , pulamos o 127, que são endereços reservados para teste interno. Exemplo: 127.0.0.1 – endereço de Loop-back, ou seja, para teste de comunicação da placa com o meio. Limitações do IPV4 Embora os protocolos do TCP/IP viabilizem a Internet e ofereçam valiosos serviços, existem algumas imperfeições, como por exemplo à questão da segurança. Quando uma empresa conecta sua rede na Internet sem as defesas, qualquer computador na rede interna com TCP/IP pode (teoricamente) ser acessado por qualquer usuário da Internet, o que representa um risco altíssimo para a segurança das informações e até mesmo para a continuidade dos serviços. Muitos dos problemas atuais de segurança da transmissão de dados pela Internet estão relacionados com o fato de que o protocolo TCP/IP na sua forma atual (IPv4) não foi projetado para ser seguro, e é sujeito a uma série de ataques. Como conseqüência, vários serviços da Internet que são baseados no TCP/IP, como o TELNET, o FTP e o E- Mail (SMTP) também são inseguros, pois utilizam mensagens que são transportadas pelo TCP/IP em cleartext e portanto são vulneráveis a ataques passivos (como captura de tráfego através de sniffers) ou ataques ativos como "roubo" de sessões, sequence guessing, etc. Além da questão da segurança, há um outro problema em relação à versão atual do TCP/ IP. Com o campo de endereços dos pacotes limitados em 4 bytes (32 bits), espera-se que a Internet fique sem novos endereços dentro de alguns anos, o que poderá ter conseqüências extremamente sérias. O IPV6 Para resolver as limitações do IPv4, está sendo desenvolvida uma nova versão do TCP/IP, o IPv6 (ou IPSec). Neste novo protocolo, a segurança é um pré-requisito. O IPSec oferecerá serviços de autenticação de usuários e garantia de confiabilidade e de integridade dos dados através de criptografia. O IPSec também está sendo projetado para resolver a questão dos endereços IP, pois o novo tamanho do campo de endereços passa para 16 bytes (128 bits), o que permitirá a 56
  • 57. expansão da Internet sem problemas. Devido à imensa base instalada de hosts e roteadores compatíveis com o IPv4, o IPv6 está sendo desenvolvido de forma que seja possível uma migração gradual para o novo protocolo. O novo endereço IP contará com 16 octetos. ATM Concepção O ATM consiste em uma tecnologia de comunicação de dados orientada a conexão que se diferencia das outras por possuir grande enfoque na qualidade de serviço que o sistema pode oferecer. Inicialmente utilizada na telefonia, o ATM foi projetado para a transmissão de vários tipos de dados diferentes tais como vídeo, imagem, som e voz. O ATM apresenta uma característica que o torna ideal para a utilização em redes de dados: canais de dados e até caminhos virtuais podem ser criados e removidos de acordo com a QoS (qualidade de serviço) requisitada via sinalização. Além disso, trabalhando com hierarquia e com um sistema inteligente de roteamento o que o torna uma tecnologia expansível e, talvez, a tecnologia mais complexa para a comunicação de dados já criada. O "encanamento" O ATM trabalha, basicamente, com comunicações ponto-a-ponto tendo como "ilhas" switches ATM e, nas pontas, computadores ou até mesmo aparelhos dedicados. Inicialmente quando é estabelecida a conexão física entre dois pontos é estabelecido primeiro a primeira VP (Virtual Path ou caminho virtual) que nada mais é do que uma banda por onde vai passar toda a comunicação entre os dois pontos. Dentro dos VPs são criados os VCs (Virtual Conexion ou conexão virtual) que são bandas alocadas tanto dinamicamente (SVCs) quanto de maneira manual via configuração do switch (PVCs). Os parâmetros que envolvem a criação dos VPs e VCs tais como tempo máximo de espera para a entrega de um pacote, banda e taxa de perda definem a qualidade de serviço (QoS) desejada. Quando se quer estabelecer uma VP ou uma VC a sinalização se encarrega de estabelecer a conexão entre o sistema final e o switch, entre switches (se necessário), e switch e sistema final de destino. Vale a pena dizer que a sinalização e os dados trafegam em VCs diferentes. Mas, onde está o assíncrono? O ATM utiliza um endereçamento de 20 bytes o que deixa margem para uma grande quantidade de equipamentos espalhados pelo mundo de forma hierárquica. Mas, como se trata de um protocolo orientado a conexão, o endereço de destino só é utilizado pela sinalização quando vai ser estabelecida a comunicação. Ao invés disso cada pacote (chamada de célula) tem tamanho fixo de 53 bytes (5 header + 48 payload) onde se encontra apenas o VPI (Identificador de caminho virtual) e o VCI (Identificador de conexão virtual). Assim o switch ATM calcula a quantidade de timeslots por ciclo que uma conexão pode ter de acordo com a banda. Esta concepção faz o ATM assíncrono em um patamar mais alto. Isto acontece por que na realidade a comunicação entre switchs é feita de maneira sincrona. Tipos de Conexão e Qualidade de Serviço [QoS] 57
  • 58. Quando o ATM vai estabelecer uma conexão com outro ponto ele além de estabelecer parâmetros para o QoS ele escolhe também o tipo da conexão que por si só já estabelece alguma QoS inerente. Os tipos de conexão são: • CBR: Constant Bit Rate O CBR é um tipo de conexão que aloca uma banda e dela somente aquela conexão pode usar. Ou seja, se for requisitado 20Mb e a conexão não usar os 20Mb o switch divide os 20Mb no tempo mesmo que não seja usado. • VBR: Variable Bit Rate - RT e NRT (Real time e non real time) O VBR tem as mesmas características do CBR, ou seja, tem a banda pedida do início ao fim da conexão garantida. Só que com uma diferença: quando a conexão não usa toda a banda, a banda restante pode ser completada com outras conexões. • ABR: Available Bit Rate O ABR tem como característica a negociação constante com o switch no que diz respeito à banda disponível pelo mesmo. Ou seja, quando e iniciado a conexão ele começa com a banda disponível pelo switch e ele garante aquela banda até que ela não esteja mais disponível. Dai é feita nova renegociação. • UBR: Unespecified Bit Rate (conexão de pobre) O UBR não garante nada. E o tipo de conexão que não especifica nada de banda e preenche buracos em conexões tipo VBR. Usada para transmissão de dados comum como transmissão de arquivos. Sinalização e Roteamento Para a sinalização o ATM faz uso de alguns VCs do VP 0 (criado a partir da primeira conexão) para trocar sinalização com o switch. A partir desta sinalização são negociadas as conexões entre switches. Ao contrário de protocolos de roteamento tais como OSPF os switches que integram uma conexão entre dois end-systems não são responsáveis por encontrar o caminho para a o sistema de destino. Através da propagação de informações de número de portas e condições de cada witch, o switch de origem e capaz de traçar o caminho completo até o sistema de destino. Após isto é feita, via sinalização, toda a negociação com os switches do caminho até a conexão final. Cada switch intermediário somente precisa realizar um teste local para verificar se tem condições de estabelecer aquela conexão com o QoS solicitado. Com isso se um dos switches não puder estabelecer a conexão ou se falhar no meio de uma conexão já feita, é possível que o switch de origem restabeleça a rota até o sistema de origem tentando manter o maior número de conexões já estabelecidas. Tráfego Como o UBR não tem garantia nenhuma, as suas células já vão marcadas para que, se o switch precisar, possa descarta-las. Não se preocupando com a entrega, o ATM deixa para que as camadas superiores detectem que houve a perda de pacotes. Existem alguns algoritmos que ajudam o switch ATM a tratar casos em que o tráfego se encontra demasiadamente alto. Entre eles o EPD se destaca por ser o mais intuitivo: como o ATM não verifica a entrega das células, apenas retirando o overhead passando a camada superior, se faltar uma célula ou todas não vai fazer a mínima diferença. O EPD então quando tem de descartar uma célula, descarta logo todas do pacote mantendo apenas a 58
  • 59. última para que o protocolo de transporte que trabalha acima do ATM, seja qual for, verifique que o pacote chegou mas chegou com erro. CLIP, LANE X Tipos de dados Como já foi visto, o ATM é um protocolo orientado a conexão. Trabalhando como backbone o ATM funciona muito bem mas ao se deparar com a possibilidade de ser feita uma LAN baseada em ATM se torna algo bem complicado. Como a maioria dos protocolos como IPX e NetBIOS foram desenvolvidos para usar um meio compartilhado de transmissão as concepções de broadcast e multicast são inerentes. Isso já se torna bem difícil no ATM onde não é possível enviar um pacote "pra todo mundo" onde somente conexões ponto-a-ponto ou ponto-multiponto existem. Para resolver este problema o LANE (LAN Emulation) foi desenvolvido. O LANE se baseia em um servidor no qual toda máquina que entra no ar se notifica. Assim o servidor abre conexões ponto-multiponto para estes clientes e os informa de quais endereços ATM existem ELANs (Emulated LANs). A resolução de um problema que logo vem a cabeça é de como colocar a estrutura TCP/IP e, chegando ao esperado, a internet nisso tudo. O IP Clássico é uma boa opção para solucionar este problema. No IP Clássico existe um ARP Server no qual cada máquina TCP/IP que entrar no ar vai informar seu endereço ATM e endereço IP. Assim, quando uma máquina desejar contactar outra, primeiro ela resolve o endereço ATM via ARP server e estabelece a conexão. Este método não oferece qualidade de serviço pois o TCP/IP não conhece (por enquanto) qualidade de serviço, por ser designada para redes baseadas em "melhor esforço". Outras definições interessantes são as AALs que especificam como cada tipo de dado é adaptado ao ATM. Existem 5 AALs que se adaptam a todo tipo de dados como voz, vídeo e dados comuns. 59
  • 60. HUB Um hub é um dispositivo utilizado para conectar os equipamentos que compõem uma LAN. Com ele, as conexões da rede são concentradas, fato esse que faz com que o hub também seja conhecido como concentrador, ficando cada equipamento em um segmento próprio. Com isso, o gerenciamento da rede é favorecido e a solução de problemas facilitada, uma vez que o defeito fica isolado no segmento da rede. Os hubs mais comuns são os hubs Ethernet 10Base-T (conectores RJ-45), sendo eventualmente parte integrante de bridges e roteadores. Um tipo existente de hub é o passivo. Esse hub serve simplesmente como um canal de dados, que possibilita o tráfego desse dados de um dispositivo, ou segmento, para outro dispositivo qualquer. Um segundo tipo de hub é o chamado hub inteligente. A diferença desse dispositivo para o anterior é que esse último inclui aspectos adicionais que permitem que um administrador monitore todo o tráfego que está passando pelo hub e configure cada porta desse. Esse tipo é também conhecido como hub gerenciável. Por último, ainda temos o switching hub, que é o tipo de hub utilizado na rede do CBPF. O switching hub é um tipo especial de hub que transmite pacotes para a porta apropriada, baseando-se no endereço do pacote. Já os hubs convencionais simplesmente fazem broadcast de cada pacote repetidas vez para cada porta. Assim, vê -se que, pelo fato do switching hub transmitir cada pacote somente para a porta requerida, a performance da rede torna-se muito melhor, pois evita-se assim que ela fique lenta. Temos ainda que a maioria dos switching hubs também suporta balanceamento de carga, de forma que as portas são redirecionadas dinamicamente para segmentos diferentes da LAN, baseando – se nos padrões de tráfego, evitando assim que um dispositivo seja inundado com dados. Alguns switching hubs mais novos suportam tanto portas Ethernet tradicionais, de 10 Mbps, quanto portas Fast Ethernet de 100 Mbps. Isto permite que o administrador de rede estabeleça um canal Fast Ethernet para dispositivos de tráfego elevado, como servidores por exemplo. 60
  • 61. SWITCH É um aparelho dotado de múltiplas portas para a conexão de dispositivos ligados a uma rede. Realiza a operação de comutação (switching), ou seja, recebe dados de uma estação ou do roteador conectado ao mundo externo e os envia para as estações locais, conforme o endereço do destinatário. A sua função é segmentar uma rede muito grande em LAN’s menores e menos congestionadas, de forma a melhorar o desempenho da rede. Esse aumento de performance é obtido fornecendo a cada porta do switch uma largura de banda dedicada. No caso de redes locais diferentes serem conectadas em cada uma dessas portas, pode-se transmitir dados entre essas LAN’s conforme o necessário. O switch também provê uma filtragem de pacotes entre LAN’s que estejam separadas. O switch, porém, ao contrário da ponte, que usa um barramento interno compartilhado, deve permitir que estações em segmentos separados transmitam simultaneamente, já que comuta pacotes utilizando caminhos dedicados. Colisões não ocorrerão, porém poderá ser experimentada a contenção de dois ou mais quadros que necessitem do mesmo caminho ao mesmo tempo , que são transmitidos posteriormente graças aos buffers de entrada e saída das portas. Alguns switches - os switches de workgroup - suportam somente uma estação ligada por porta, enquanto em outros - switches de backbone congestionado - segmentos com múltiplas estações são ligados a cada porta . As arquiteturas para estes equipamentos têm sido desenvolvidas nas indústrias e meio acadêmico, e seu custo é geralmente avaliado em relação ao custo por porta. O endereçamento dos switches é realizado utilizando um tabela com endereços, similar às pontes transparentes. Cada porta possui uma tabela de transmissão que relaciona os números das portas do equipamento com o endereço MAC dos nodos destino. Quando o quadro é recebido por uma porta, seu endereço destino é comparado com os endereços da tabela de transmissão a fim de encontrar a porta de destino correta, sendo então estabelecida uma conexão virtual com a porta destino. O aprendizado e atualização da tabela são realizado por um processador central no switch, que pode também proporcionar tarefas de gerenciamento, como uma atualização da MIB SNMP e manter tabelas de redes locais virtuais . Nos projetos atuais de redes, switches são utilizados não só para interconexão mas também para proporcionar um alargamento da largura de banda disponível, neste ponto está a diferença principal entre hubs e switches, pois se existe na rede um elemento central hub , este irá dividir a largura de banda total da rede pela quantidade de máquinas, então isso leva a conclusão de quanto mais máquinas, mais a rede ficará lenta; o switch tem por objetivo permitir que os nós da rede transmitam com a mesma velocidade da largura de banda simultaneamente. Para isso eles dividem a rede em seguimentos, que funcionam independentes dos outros nós, como se formasse uma rede diferente. Estes equipamentos possuem um reservatório de banda, que são distribuídos por suas portas visando se adequar às necessidades de desempenho específico do projeto em questão. 61
  • 62. A taxa de transmissão é personalizada para cada usuário, até a capacidade total da banda do switch. O dispositivo atua normalmente na camada 2 (Enlace) do Modelo OSI. Desta distribuição entre as camadas surge uma diferença entre Routers e Switches, porque os Routers trabalham na camada 3, utilizando os endereços IP, IPX ou AplleTAlk, dependendo de como os protocolos são usados. Os switches trabalham principalmente em dois modos de operação: cut-through e store- and-forward. Menos comum é o modo fragment-free. No esquema cut-through os quadros são enviados adiante diretamente. Assim que o quadro chega, seu endereço destino é comparado na tabela a fim de verificar a porta de saída. Desde que esta porta esteja disponível (não esteja sendo usada no momento para nenhuma outra transmissão), o quadro começa a ser imediatamente enviado. Esta transmissão ocorre em paralelo com o recebimento do restante do quadro pela porta de entrada. Já no esquema store-and-forward o quadro deve ser recebido completamente antes de ser iniciada a transmissão pelo para o endereço destino. O switch no modo cut-through reverte para o modo store-and-forward quando a porta destino de um quadro recebido está ocupada. Neste caso, o quadro recebido é armazenado no buffer da porta de entrada ou saída, dependendo da arquitetura, até que seja possível utilizar a porta ocupada. Uma vantagem deste modo é que, uma vez que os quadros foram recebidos inteiros, é possível realizar um controle de erros e descartar os pacotes com problemas, o que não é possível no modo cut-through, que transmite os quadros sem verificar erros . O modo menos comum de operação dos switches é o fragment-free, ele trabalho muito similar ao cut-through, exceto por uma particularidade, os primeiros 64 bytes do pacote são armazenados antes que ele seja transmitido. A razão disto é que a maioria dos erros e todas as colisões ocorrem nos primeiros 64 bytes do pacote. No referente a gerenciamento, a utilização de switches tem causado problemas, uma vez que os administradores da rede não estão encontrando formas de monitorar eficientemente o tráfego fluindo através das diversas portas do equipamento. Mesmo a pequena quantidade de produtos no mercado que oferecem mecanismos para monitorar os pacotes enquanto estão sendo transmitidos (vem com porta especial para analisadores ou RMONs) não conseguem capturar todos os dados que atravessam o switch e acaba por não fornecer uma completa visão da atividade da rede. A causa deste problema está na própria diferença entre switch e as arquiteturas de LANs convencionais, com meios compartilhados. Em um hub, por exemplo, equipamento básico em redes convencionais, todas as portas são conectadas ao mesmo segmento, tendo acesso a todo tráfego que passa pela rede. Com isso, um analisador ligado a uma porta pode monitorar o tráfego de todo o segmento. Já nos switches, as portas são conectadas a uma matriz que fornece conexões ponto-a-ponto entre as duas portas, onde cada porta pode funcionar como um segmento diferente. Assim, não há um ponto compartilhado que poderia ser usado para monitorar todo o tráfego e sem um meio de observar o tráfego dentro do switch não é possível verificar se seus equipamentos estão apresentando o desempenho que deveriam. Muitos fabricantes estão atualmente trabalhando para resolver o problema. Soluções estão sendo oferecidas, como a presença de portas de monitoração que copiam ou 62
  • 63. redirecionam o tráfego da matriz para um analisador ou RMON externo, porém este é um problema que deve ser considerado ao inserir switches em uma rede. Os switches possuem vários tipos de projetos físicos diferentes, atualmente são três: • Shared-Memory - Armazena todos os pacotes de entrada em um buffer comum a todas as portas, então manda os pacotes para as portas corretas relacionadas ao nó de destino. • Matrix - este tipo de switch possui uma rede interna com as portas de entrada e de saída cruzadas umas com as outras, quando um pacote é detectado numa porta de entrada, o endereço MAC é comparado com a tabela de portas de saída, encontrada a porta o switch faz a conexão entre os dois nós. • Bus-Architeture - Em vez de uma grade ele possui um caminho interno de transmissão dividido para todas as portas usando TDMA, nesta configuração cada porta tem um buffer de memória dedicado. Enquanto a maioria dos switches trabalha na camada 2 do Modelo OSI, alguns incorporaram características dos roteadores e passaram a trabalhar na camada 3 (Rede), sendo muito similares aos roteadores. A diferença básica entre um roteador em switch Layer 3 é que o switch teve seu hardware otimizada para passar dados tão rápido quanto um switch Layer 2 e de como transmitir tráfego na camada 3 com um roteador. Num ambiente de LAN um switch Layer 3 é mais rápido que um roteador pois os algoritmos de switching estão em hardware. Para determinar o melhor caminho de um pacote tanto roteador como o switches usam protocolos e algoritmos de roteamento, contudo o switch layer 3 tem a capacidade de reprogramar o hardware dinamicamente dependendo das informações da camada 3. ROUTERS (ROTEADORES) Roteadores são equipamentos utilizados para interconexão de duas redes que utilizam a mesma camada de transporte, porém possuem camadas de rede diferentes.O roteador funciona, normalmente como o principal componente de uma rede corporativa ou de um backbone de internet. Assim como as pontes, roteadores também agem como filtros, porém agora trabalhando no nível logo acima (nível de rede) do que as bridges atuam (nível de enlace). Roteadores são na verdade dispositivos que estabelecem uma conexão entre as redes. Responsáveis por saber como toda a rede está conectada e como transmitir informações de uma parte da rede para outra. Em poucas palavras eles evitam que os "hosts" percam tempo assimilando conhecimentos sobre a rede. Estes roteadores podem estar conectados a duas ou mais redes. Roteadores filtram tráfego baseado nos campos de endereçamento contidos dentro do cabeçalho do protocolo de rede. Sub - campos destes endereços identificam o segmento da LAN onde estão localizadas a estação origem e destino. Protocolos em que os campos de endereçamento não possuem sub - campos identificadores da localização da estação destino não podem ser roteados, podendo, porém, ter seus pacotes filtrados por pontes. Um exemplo disto é o protocolo NetBIOS, já que em seu cabeçalho existem apenas 63
  • 64. informações dos nomes das estações e não sua localização. Nestes casos, a fim de repassar pacotes, o roteador é freqüentemente usado como uma ponte. Além da forma de filtrar o tráfego, roteadores também diferem das pontes pelo controle do congestionamento, por filtrar quadros de broadcast e pela determinação da melhor rota na rede visando minimizar seu tráfego (a melhora no uso dos links também é oferecida pelas pontes com roteamento na origem, porém de forma muito menos eficiente que pelos roteadores). As pontes assumem que o nodo destino de um quadro é atingível diretamente, sem nodos intermediários, uma vez que o nível de enlace não tem conhecimento de inter-redes, ou de roteamento através de redes locais conectadas em série. Assim, as pontes não oferecem a possibilidade de isolar nodos entre grupos lógicos, que seria bastante útil em situações como aquelas onde mensagens broadcast são destinadas apenas a alguns nodos específicos. Já os roteadores oferecem muito mais flexibilidade no tráfego do fluxo. Redes facilmente podem ser divididas em grupos lógicos distintos, utilizando para isso convenções de endereçamento como no TCP/IP Roteadores Internos e Externos Existem duas opções de roteadores que são usados no mercado com as seguintes características: • Roteadores internos São aqueles formados pela combinação de placa de comunicação síncrona/assíncrona, PC, placa Ethernet e SW de roteamento carregado ou bult-in no S.O do PC. Trata-se de uma solução fácil e baixo custo. Porém existe dependência com as características técnicas do servidor em que reside: tipo de bus e sistema operacional. Se um desses dois componentes mudam (digamos você muda o servidor de Intel para PA RISC), então todo investimento do roteador interno (HW + SW) é perdido. • Roteadores externos São aqueles formados por HW e SW dedicados ao roteamento, estando concentrados em uma "caixa" externa. Por ter funções exclusivamente voltadas ao roteamento, sua performance atinge índices superiores, justificando até um custo ligeiramente maior que a dos roteadores internos. O produto nesse caso é independente da arquitetura de HW /SW do servidor, pois tipicamente estamos falando de ligação ao servidor via Ethernet e host do TCP/IP, ou outro protocolo de comunicação. Arquitetura Típica de HW dos roteadores externos Basicamente fazem parte dos roteadores externos os seguintes componentes de HW com função relacionada: • Módulo LAN: para conexão com rede local • Módulo WAN: para conexão remota com outras redes locais • Módulo de processamento: CPU de alta capacidade de processamento 64
  • 65. • Módulo RAM: para armazenar dados voláteis, dados dinamicamente alterados • Módulo FLASH: para armazenar firmware (Kernel e SW de roteamento) • Módulo CMOS: para armazenar dados não voláteis (configuração, por exemplo) • Módulo console: para gerenciamento e configuração do roteador • Módulo de temporização: para temporizações do SW de roteamento Arquitetura Típica de SW dos roteadores Basicamente, os roteadores contém os seguintes componentes de SW com relacionada função: • TCP/IP: Conjunto de protocolos de comunicação para troca de dados em redes LAN e WAN, criado pelo departamento de defesa dos EUA em 1969. Permite, entre outros, transferência de arquivos, emulação de terminal, correio eletrônico, utilização de WEBs. • SPX/IPX: Conjunto de protocolos de comunicação para troca de dados em redes LAN e WAN, criado pela Novell. Permite, entre outros, transferência de arquivos e correio eletrônico. • RIP Protocolo de roteamento muito usado pelos roteadores para propagarem suas rotas aos demais roteadores. • PPP: Protocolo síncrono/assíncrono WAN para interligar redes LAN remotas. Tem encapsulamento HDLC e permite compressão de header TCP/IP para aumento de performance no tráfego de dados. • Frame Relay: Protocolo síncrono WAN usado em redes switched para interligar redes LAN. Tem encapsulamento HDLC e não faz uma série de consistências que degradariam a performance no tráfego de dados, baseando-se, pois, em um meio físico de comunicação confiável (mais novo que o X.25) • X.25: Protocolo síncrono WAN usado em redes de pacotes como a RENPAC para interligar redes LAN. Tem encapsulamento HDLC e faz uma série de consistências que degradam um pouco a performance no tráfego de dados, baseando-se, pois, em um meio físico de comunicação não confiável. • Ethernet: Protocolo síncrono LAN para comunicação de nós de uma rede. Usa a filosofia de detecção de colisões no processo de transmissão de dados. Não faz uma série de consistências que degradariam a performance no tráfego de dados, baseando-se, pois, em um meio físico de comunicação confiável. Aplicações de Roteadores Os roteadores são bem utilizados no meio Internet/Intranet e para comunicação LAN-to- LAN (como, por exemplo, ligação matriz- filial). No meio Internet/Intranet, o roteador aparece na ligação do site do provedor (rede local do provedor) ao link Internet, bem como na conexão do provedor a sub-provedores via LP de dados (especializada), LP de voz (não especializada) ou mesmo linha discada. Matriz- filial pode usar a Internet para 65
  • 66. este fim, usando algum artifício de proteção nas pontas para evitar acesso público, o chamado software de firewall. Um dos objetivo da utilização de um roteador é manter um isolamento "político". Estes roteadores permitem que dois grupos de equipamentos comuniquem-se entre si e, ao mesmo tempo continuem isolados fisicamente. Os roteadores, em sua maioria possuem funções de filtragem de pacotes que permitem ao administrador de rede controlar com vigor quem utiliza a rede e o que é utilizado na mesma. Como os roteadores possuem também funções de filtragem, com certeza podemos caracterizá-los como parte integrante de uma política de segurança de rede. Podemos configurar um roteador para filtrar pacotes e/ou protocolos específicos. Vamos usar um exemplo prático. Em seu provedor internet, alguns dos serviços essenciais são protocolos como http (web), ftp(envio/recebimento de arquivos), telnet(acesso remoto), smtp (envio de mensagens), assim como suas respectivas portas. Como parte de uma política pode- se simplesmente bloquear a porta de ftp, onde evitaremos um possível ataque externo mediante este tipo de protocolo e claro, fecharemos o acesso aos usuários para envio e recebimento de arquivos via ftp. A implementação correta e eficiente de um roteador na política de segurança de uma rede coloca-o em um patamar de comparação de um firewall, ou "parede de fogo", bloqueando assim acessos indesejados para vários tipos de portas e protocolos. É certo que a implementação deste acarretará períodos de lentidão na rede, talvez imperceptíveis para você usuário, mas que existirão isso é inegável. Contudo, um administrador de rede sensato, utiliza vários artifícios para que sua navegação seja mais segura. Na comunicação LAN-to-LAN, a matriz pode ser conectada às filiais através do roteador usando LP (dados ou voz) ou mesmo rede de pacotes. O roteador difere da bridge e do gateway, pois: • A bridge tem como função segmentar uma rede LAN em sub-redes LANs para diminuir o tráfego de mensagens na LAN (aumento de performance) e fazer conversão de padrões de rede diferentes (por exemplo, permite ligação de redes Ethernet com Token-Ring). As bridges diferenciam-se dos repetidores, pois manipulam pacotes ao invés de sinais elétricos. As bridges possuem vantagens sobre os repetidores, pois não retransmitem ruídos, erros, ou frames mal formados; um frame deve estar completamente válido para ser retransmitido por uma bridge. Algumas das atribuições da bridge são: filtrar as mensagem de tal forma que somente as mensagens endereçadas para ela sejam tratadas; armazenar mensagens, quando o tráfego for muito grande, além de funcionar como uma estação repetidora comum. • O gateway tem como função fazer a interligação de redes distintas (usando protocolos distintos, com características distintas). Ele atua em todas as camadas do modelo ISO/OSI, resolvendo problemas de diferença entre as redes que ele interliga, tais como: tamanho dos pacotes que transitam nas redes, forma de endereçamento, temporizações, forma de acesso, padrões de linguagem interna de formato de correios eletrônicos. • O roteador tem como função decidir por qual caminho deve seguir um dado pacote de dados recebido. Ele atua nas camadas 1, 2 e 3 (modelo ISO/OSI). Através de uma série de regras como: rotas estáticas inseridas no roteador, rotas dinâmicas 66
  • 67. aprendidas através de protocolos de roteamento usados entre roteadores (RIP, OSPF, etc), o roteador consegue rotear pacotes de dados recebidos por um determinado caminho. BRIDGES (PONTES) Bridge é um produto com a capacidade de segmentar uma rede local em sub-redes com o objetivo de reduzir tráfegos de mensagens na LAN (aumento de performance) ou converter diferentes padrões de LANs (de Ethernet para Token-Ring por exemplo). As Bridges manipulam pacotes enquanto os repetidores manipulam sinais elétricos. As Bridges têm vantagens sobre os repeaters, porque não retransmitem ruídos, erros, ou frames de formação ruim( um frame deve estar completamente válido para ser transmitido por um Bridge).Conectam duas LANs de mesmos protocolos.As Bridges atuam nas camadas 1 e 2 do modelo de referência OSI (da ISO), lendo o campo de endereço de destino dos pacotes de mensagens e transmitindo-os quando se tratar de segmentos de rede diferentes, utilizando o mesmo protocolo de comunicação. Algumas das Atribuições das Bridges são: • Filtrar as mensagens de tal forma que somente as mensagens endereçadas a ela sejam tratadas. • Armazenar mensagens quando o tráfego for muito grande. • Ler o endereço do pacote e retransmiti-lo. • Filtrar as mensagens, de modo que pacotes com erros não seja retransmitidos. • Funcionar como uma estação repetidora comum. As Bridges também atuam como elementos passivos gerenciadores de rede, e pode coletar dados estatísticos de tráfego de pacotes para elaboração de relatórios. São equipamentos usados para interligar duas LANs localizadas a curta distância, ainda que ambas utilizem diferentes meios de transmissão. Protegem a rede resultante em relação à passagem de perturbações elétricas e erros relativos a dados, mas não em relação a erros vindos dos níveis superiores do protocolo. 67
  • 68. BIBLIOGRAFIA • http://www.projetoderedes.kit.net/apostilas_net.html • http://penta.ufrgs.br/tp951/protocolos/6hdlchome.html • http://www.cefet- rj.br/Ensino/Engenharia/CI/trabalhos_99-2/frame_relay_e_x25/x25res.htm • http://www.fundap.sp.gov.br/egap/Apostila_TI_EPI/Apostila-TI-EPI- cap7-8.doc • http://www.tcpip.hpg.ig.com.br/rip.html • http://mesonpi.cat.cbpf.br/naj/ripospf.pdf • http://orbita.starmedia.com/rodriguedes/tcp • http://www.cefet.remav.arauc.br/tutz.html#qos • http://www.rederio.br/ceo/introducao • Revista PCS Redes nº 01 edição Abril de 2000 68