You are on page 1of 68

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
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
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
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
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
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
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
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
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
• 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
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
• 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
• 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
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
• 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
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
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
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
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
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
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

21
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.

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:

22
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.

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
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

24
Os caracteres PAD e SYN são inseridos automaticamente na transmissão, e não são
computados no cálculo do BCC.

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.

25
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
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
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
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
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
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
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
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
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
• 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
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
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
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
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
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
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
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
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
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
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
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
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;
• I nterface  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
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
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
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
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
• O
 s 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
• 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
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
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
• 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
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
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
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

58
quando tem de descartar uma célula, descarta logo todas do pacote mantendo apenas a
ú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
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
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
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
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
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
• 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
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
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
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