Relatório geral pi

1,701 views
1,605 views

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,701
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Relatório geral pi

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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À.

×