Escolar Documentos
Profissional Documentos
Cultura Documentos
COMPUTAO
Apresentao
Arquiteturas de Redes
Sumrio
INTRODUO ......................................................................................................................... 17
HIERARQUIA DE PROTOCOLOS ................................................................................................ 17
DIFERENAS ENTRE SERVIO E PROTOCOLO ........................................................................... 19
QUESTES DE PROJETO RELACIONADAS S CAMADAS.............................................................. 19
INTERFACES E SERVIOS ........................................................................................................ 20
SERVIOS ORIENTADOS CONEXO E SEM CONEXO .............................................................. 21
PRIMITIVAS DE SERVIO ........................................................................................................ 22
Arquiteturas de Redes
4.4.3
Estrutura da AAL .......................................................................................................... 46
4.4.4
Meio de Transmisso..................................................................................................... 46
4.4.5
Camada fsica do modelo de referncia B-ISDN............................................................. 47
4.5
OUTROS EXEMPLOS DE REDES ................................................................................................ 47
Captulo 5 - A Camada Fsica............................................................................................... 50
5.1
INTRODUO ......................................................................................................................... 50
5.2
OS SUPORTES DE TRANSMISSO .............................................................................................. 50
5.2.1
O par de fios tranados ................................................................................................. 50
5.2.2
Os cabos coaxiais.......................................................................................................... 50
5.2.3
As fibras ticas.............................................................................................................. 51
5.2.4
As redes sem fio (radiodifuso)...................................................................................... 51
5.3
ASPECTOS DA TRANSMISSO DE DADOS .................................................................................. 52
Captulo 6 - A Camada de Enlace de Dados........................................................................ 55
6.1
INTRODUO ......................................................................................................................... 55
6.2
AS CLASSES DE SERVIOS DE ENLACE .................................................................................... 55
6.3
AS PRIMITIVAS DE ENLACE..................................................................................................... 56
6.4
O CONCEITO DE QUADRO........................................................................................................ 57
6.5
O CONTROLE DE ERRO............................................................................................................ 58
6.5.1
Os cdigos de correo de erro ..................................................................................... 59
6.5.2
Os cdigos de deteco de erro...................................................................................... 60
6.5.3
Procedimentos para controle de erro ............................................................................. 61
6.6
O CONTROLE DE FLUXO ......................................................................................................... 64
6.7
O CONTROLE DE ACESSO AO MEIO .......................................................................................... 65
6.8
ALGUNS EXEMPLOS DE PROTOCOLOS DE ENLACE..................................................................... 66
Captulo 7 - A Camada de Rede........................................................................................... 68
7.1
INTRODUO ......................................................................................................................... 68
7.2
SERVIOS OFERECIDOS PELA CAMADA DE REDE ...................................................................... 68
7.3
ORGANIZAO INTERNA DA CAMADA DE REDE ....................................................................... 70
7.4
AS PRIMITIVAS DE SERVIO DE REDE....................................................................................... 71
7.5
O ENDEREAMENTO DE REDE................................................................................................. 73
7.6
A FUNO DE ROTEAMENTO .................................................................................................. 74
7.6.1
Algoritmo do caminho mais curto .................................................................................. 74
7.6.2
Roteamento multicaminhos ............................................................................................ 75
7.7
O CONTROLE DE CONGESTIONAMENTO ................................................................................... 76
7.7.1
A pr-alocao de buffers .............................................................................................. 76
7.7.2
A destruio de pacotes ................................................................................................. 77
7.7.3
O controle de fluxo ........................................................................................................ 77
7.7.4
Outras tcnicas.............................................................................................................. 77
7.8
LIGAES INTER-REDES ......................................................................................................... 77
Captulo 8 - A Camada de Transporte ................................................................................. 79
8.1
8.2
8.3
8.4
8.5
8.6
8.7
8.8
INTRODUO ......................................................................................................................... 79
SERVIOS OFERECIDOS PELA CAMADA DE TRANSPORTE ........................................................... 79
AS PRIMITIVAS DE SERVIO DE TRANSPORTE .......................................................................... 80
OS PROTOCOLOS DE TRANSPORTE .......................................................................................... 82
ENDEREAMENTO.................................................................................................................. 84
MULTIPLEXAO E SPLITTING................................................................................................. 87
ESTABELECIMENTO E ENCERRAMENTO DE CONEXES .............................................................. 87
CONTROLE DE FLUXO E BUFFERIZAO .................................................................................. 87
INTRODUO ......................................................................................................................... 88
SERVIOS OFERECIDOS PELA CAMADA DE SESSO ................................................................... 88
SESSO X TRANSPORTE: SIMILARIDADES E DIFERENAS .......................................................... 89
A GESTO DO DILOGO .......................................................................................................... 90
A SINCRONIZAO................................................................................................................. 91
GERENCIAMENTO DE ATIVIDADES........................................................................................... 92
Arquiteturas de Redes
9.7
Arquiteturas de Redes
1.1
INTRODUO
A histria nos mostra que cada um dos ltimos sculos foi dominado por uma tecnologia
diferente. A revoluo industrial no sculo XVIII, as mquinas a vapor no sculo XIX e a tecnologia da
informao no sculo XX. Exemplos disto so as redes de telefonia em escala mundial, o rdio, a
televiso, os computadores e os satlites de comunicao. Com estas conquistas, o conceito de distncia
geogrfica tornou-se, em alguns casos, um fator pouco importante para a soluo de problemas.
Apesar da indstria da informtica ser muito jovem se comparada a outros setores (a de
automveis e de avies, por exemplo), os progressos ocorridos foram espetaculares em um curto espao
de tempo. Nas duas primeiras dcadas de sua existncia, os sistemas computacionais eram
acondicionados em uma grande sala com paredes de vidro, atravs das quais a maior parte dos visitantes,
e at usurios, podiam contemplar extasiados aquela maravilha eletrnica. Uma empresa de mdio porte
ou uma universidade contava apenas com um ou dois computadores, enquanto grandes instituies
tinham, no mximo, algumas dezenas. Era pura fico cientfica a idia de que, em apenas 20 anos,
haveria milhes de computadores muito mais avanados, do tamanho de um selo postal, ou ainda menor.
A fuso dos computadores e das comunicaes teve uma profunda influncia na forma como os
sistemas computacionais foram organizados. Est totalmente ultrapassado o conceito de centro de
computao como uma sala onde os usurios levam os programas para serem processados. Este conceito
foi substitudo pelas chamadas redes de computadores, nas quais os trabalhos podem ser realizados por
uma srie de computadores interconectados. Sendo assim, uma necessidade o conhecimento, por parte
do pessoal envolvido com informtica, dos conceitos e funcionamento das redes de computadores.
importante ento conceituar o que entendemos por redes de computadores. Ns usaremos o
termo rede de computadores para designar um conjunto de computadores autnomos e
interconectados. Dois computadores so interconectados quando podem trocar informaes atravs de
algum mecanismo de comunicao. Quando dizemos que eles devem ser autnomos desejamos excluir os
sistemas onde existe uma clara relao mestre/escravo.
Outro esclarecimento importante fazer uma clara distino entre uma rede de computadores e
um sistema distribudo. A principal diferena entre eles que, em um sistema distribudo, a existncia
de diversos computadores autnomos transparente para o usurio. A transparncia de utilizao dada
pelo sistema operacional. Em suma, o usurio de um sistema distribudo no tem conscincia de que h
vrios processadores. Para ele como se existisse um processador virtual e todas as atividades para
execuo de uma tarefa acontecem de forma o mais automatizada possvel. Por outro lado, em uma rede,
o usurio necessita realizar explicitamente suas tarefas, tais como: fazer o login em uma mquina,
realizar a transferncia de seus arquivos, submeter suas tarefas remotas, entre outras. Na prtica, um
sistema distribudo um sistema de software instalado em uma rede, proporcionando um alto grau de
coeso e transparncia ao usurio. o software, ou o sistema operacional, que determina a diferena entre
uma rede e um sistema distribudo, no o hardware. No entanto os dois assuntos possuem uma srie de
pontos em comum, por exemplo: os sistemas distribudos e as redes necessitam movimentar arquivos. A
diferena est em quem o responsvel pela movimentao: o sistema operacional ou o usurio.
Arquiteturas de Redes
1.2
muito freqentes, uma linha telefnica dedicada no era vivel em termos de custo e o transporte via
malote era invivel em termos de velocidade. A soluo para o compartilhamento de recursos fsicos e
lgicos juntamente com a vantagem de se ter um sistema descentralizado, s pode ser alcanada atravs
da interconexo das CPUs entre si. a isso que se propem as redes de computadores.
As solues encontradas, na poca, para a comunicao de computadores em termos de longa
distncia foi a tecnologia de comutao de pacotes, que solucionou o problema da linha telefnica
dedicada e o problema do transporte via malote. Num ambiente restrito a uma regio local (por exemplo,
uma fbrica, um campus), o problema do compartilhamento de recursos atravs de interconexo de CPUs
foi resolvido atravs da tecnologia de redes locais.
Atualmente, as vantagens dos sistemas distribudos e interconectados so uma evidncia
reconhecida para as aplicaes mais diversas, desde a automao de escritrios at o controle de
processos, passando por aplicaes de gerenciamento bancrio, reservas de passagens areas,
processamento de texto, educao distncia, correio eletrnico, WWW, entre outras to bem
conhecidas.
A juno de duas tecnologias comunicao e processamento de informaes veio
revolucionar o mundo em que vivemos, abrindo as fronteiras para novas formas de comunicao, e
permitindo maior eficcia dos sistemas computacionais. As redes de computadores so uma realidade
neste nosso contexto atual.
1.3
Arquiteturas de Redes
trabalham em locais muito distantes um do outro. Uma rede viabiliza, por exemplo, a possibilidade de
duas ou mais pessoas escreverem um relatrio mesmo estando separadas por milhares de quilmetros.
Quando algum dos participantes faz uma alterao no documento on-line, seus parceiros podem v-la
imediatamente, sem que seja necessrio passar dias esperando por uma carta. Isto facilita o esprito de
equipe e reduz em muito o custo de manuteno de equipes de trabalho que no esto localizadas m uma
mesma cidade.
1.4
O HARDWARE DE REDE
Vamos agora dar um pouco de ateno a forma de estruturao de uma rede. Em relao
estruturao, dois aspectos podem ser abordados: a fsica e a lgica. Para isso sero discutidas as vrias
topologias de uma rede. O conceito de topologia, at h pouco relacionado apenas com a estruturao
fsica da rede, agora abrange, tambm, a forma como a mesma definida logicamente.
Existem vrias classificaes para as diferentes redes de computadores. Dentre elas, duas
dimenses se destacam mais: a escala e a tecnologia de transmisso.
Basicamente h dois tipos de tecnologia de transmisso: as redes em difuso e as redes pontoa-ponto. Nas redes em difuso h apenas um canal de transmisso compartilhado por todas as mquinas.
Uma mensagem enviada por uma estao ouvida por todas as outras estaes. Nas redes ponto-aponto existem vrias conexes entre pares individuais de estaes. Estes dois tipos de ligao podem ser
visualizados na figura 1.1 a seguir.
computador
cabo
(a)
(b)
Figura 1.1 Rede em difuso (a) e rede ponto-a-ponto (b).
Arquiteturas de Redes
Figura 1.2 - Topologias ponto-a-ponto: estrela, anel, malha regular, malha irregular e rvore.
Uma outra classe de redes, as redes de difuso, so caracterizadas pelo compartilhamento, por
todas as estaes, de um nico canal de comunicao. Neste caso, as mensagens enviadas por uma
estao so recebidas por todas as demais conectadas ao suporte de transmisso, sendo que um campo de
endereo contido na mensagem permite identificar o destinatrio. Na recepo, a mquina verifica se o
contedo do campo de endereo corresponde ao seu e, em caso negativo, a mensagem ignorada. As
redes locais pertencem geralmente a esta classe de redes. Nas redes de difuso existe a possibilidade de
uma estao enviar uma mesma mensagem s demais estaes da rede, utilizando um cdigo de endereo
especial. Neste caso, todas as estaes vo tratar as mensagens recebidas endereadas para este endereo
comum. Este modo de operao denominado broadcasting. Alguns sistemas de difuso tambm
suportam transmisso para um subconjunto de estaes, conhecido como multicasting.
A figura 1.3 apresenta algumas topologias possveis no caso das redes em difuso. Numa rede
em barramento, uma nica mquina pode estar transmitindo a cada instante. As demais estaes devem
esperar para transmisso caso o barramento esteja ocupado. Para isto, um mecanismo de arbitragem
deve ser implementado para resolver possveis problemas de conflito (quando duas ou mais estaes
querem enviar uma mensagem), este mecanismo pode ser centralizado ou distribudo.
10
mensagem de maneira cclica. No entanto, esta poltica bastante ineficiente do ponto de vista do envio
das mensagens, uma vez que muitas estaes no vo enviar mensagens nos intervalos a elas destinadas.
J na outra classe de mecanismos, os dinmicos, o acesso dado s estaes segundo a demanda de envio
de mensagens. Nos mecanismos de acesso dinmicos, pode-se ainda considerar dois casos:
os mecanismos centralizados, nos quais uma estao central (ou rbitro) a responsvel pela
definio do direito de acesso ao suporte de comunicao;
os mecanismos distribudos, nos quais cada estao define quando ela vai emitir a mensagem.
Abrangncia
at 10 m
Sala
at 100 m
Edifcio
at 1 km
Campus
at 10 km
Cidade
at 100 km
Pas
at 1.000 km
Continente
at 10.000 km
Planeta
LAN
MAN
WAN
Arquiteturas de Redes
11
A diferena na dimenso das redes introduz diferentes problemas e necessidades. No que diz
respeito ao exemplo de microcomputadores, a rede classificada como sendo uma Rede Local,
caracterizada particularmente por uma pequena extenso, limitando-se normalmente interconexo de
computadores localizados numa mesma sala, num mesmo prdio ou num campus. Este tipo de rede
invariavelmente proprietria. Uma alternativa a este tipo de rede, muito utilizada atualmente so as Redes
Metropolitanas, que so utilizadas quando as distncias entre os mdulos processadores aumenta
consideravelmente, atingindo distncias metropolitanas. Elas podem ser pblicas ou privadas.
No exemplo de empresa possuindo diversas fbricas, a rede utilizada permitiria conectar
computadores localizados em diferentes prdios numa mesma cidade ou mesmo em cidades distantes de
uma dada regio. Esta caracteriza uma Rede de Longa Distncia ou Rede Geograficamente
Distribuda.
Esta classificao no , de maneira alguma, fechada. Por exemplo, uma rede local pode alcanar
dimenses metropolitanas e ainda assim ser considerada local. Nos prximos captulos sero estudados
mais detalhadamente cada um destes tipos de redes.
1.5
O SOFTWARE DE REDE
No projeto de uma rede muitos problemas precisam ser resolvidos e podem existir vrias
solues para os mesmos. Primeiramente definiremos alguns problemas mais comuns encontrados no
projeto de um software de rede. Em seguida apresentaremos uma definio inicial sobre a forma como os
softwares de rede so estruturados, atravs de um exemplo.
12
Arquiteturas de Redes
13
4
3
5
2
Arquiteturas de Redes
14
Empresa A
Empresa B
Diretor
Empresa
Diretor
Empresa
Secretria
Administrativa
Secretria
Administrativa
Office
Boy
Office
Boy
Chefe
Malote
Chefe
Malote
Servio Postal
Figura 1.8 - Filosofia de concepo das redes, ilustrada por um processo de relaes entre empresas.
Podemos considerar que a comunicao entre dois ns de uma rede uma tarefa global que afeta
um sistema complexo e, consequentemente, sujeita aplicao dos princpios de hierarquizao e de
descentralizao.
As vantagens da adoo destes princpios so, fundamentalmente:
otimizao de desempenho.
Todos estes aspectos nos conduzem a conceber uma arquitetura de comunicao como sendo
uma organizao de software e hardware estruturada em nveis ou camadas.
Arquiteturas de Redes
15
direto entre as diferentes camadas (apenas o meio de transmisso na camada 1), o que significa que no
existe transferncia direta de dados entre a camada n de uma mquina camada n de outra mquina.
Na realidade, cada camada transfere os dados camada imediatamente inferior at a camada
mais baixa; o dado ento transmitido outra mquina atravs do meio de transmisso. A comunicao
entre as camadas vista ento como uma comunicao virtual e representada, na figura 1.9, pelas linhas
ligando cada par de camadas.
SISTEMA A
SISTEMA B
Protocolo da Camada 4
Camada 4
Camada 4
Interface
3/4
Interface
3/4
Protocolo da Camada 3
Camada 3
Camada 3
Interface
2/3
Interface
2/3
Protocolo da Camada 2
Camada 2
Camada 2
Interface
1/2
Interface
1/2
Protocolo da Camada 1
Camada 1
Camada 1
Meio de Comunicao
Arquiteturas de Redes
16
2.1
INTRODUO
2.2
HIERARQUIA DE PROTOCOLOS
Para reduzir a complexidade do projeto, a maioria das redes foi organizada como uma srie de
nveis ou camadas, que so colocadas uma sobre a outra. O nmero, o nome, o contedo e a funo de
cada camada difere de uma rede para outra. Em todas as redes, no entanto, o objetivo de cada camada
oferecer determinados servios para as camadas superiores, ocultando detalhes da implementao desses
recursos.
Conforme j introduzido anteriormente, a figura 2.1 ilustra a arquitetura hierarquizada em 7
camadas que permitir introduzir o conjunto de conceitos relacionados a uma arquitetura multicamadas.
Conforme j mencionado, o objetivo de cada camada o oferecimento de um determinado servio s
camadas superiores, utilizando-se, tambm dos servios oferecidos pelas camadas inferiores, de forma a
evitar que estas necessitem conhecer certos aspectos da implementao destes servios.
A camada n assume a comunicao com a camada n de uma outra mquina. Para faze-lo, ela se
serve de um conjunto de convenes e regras que vo permitir gerir esta comunicao. A este conjunto de
regras e convenes, d-se o nome de protocolo da camada n, ou, simplesmente, protocolo n.
Basicamente, um protocolo um conjunto de regras sobre o modo como se dar a comunicao entre as
partes envolvidas.
As entidades representando camadas correspondentes em diferentes sistemas so denominadas
processos pares, ou entidades pares. Os processos pares vo se comunicar atravs dos protocolos. Como
se pode ver na figura 2.1, no existe meio de comunicao fsico entre as diferentes camadas o que
significa que no existe transferncia direta de dados entre a camada n de uma mquina camada n de
outra mquina.
Cada camada transfere os dados camada imediatamente inferior at a camada mais baixa; o
dado ento transmitido outra mquina atravs do meio de transmisso. A comunicao entre as
camadas vista como uma comunicao virtual e representada, na figura 2.1, pelas linhas horizontais
entre as camadas. Cada camada comunica-se com as camadas adjacentes (acima e abaixo) atravs de uma
interface, que define as operaes elementares e os servios que a camada inferior oferece camada
considerada.
No momento da definio do nmero de camadas que vai compor uma rede e do papel que cada
uma delas deve cumprir, uma tarefa importante ser a definio completa das interfaces entre as camadas
e isto vai implicar que na definio do servio oferecido por cada camada. Uma vantagem da correta
definio das interfaces a facilidade da introduo de modificaes nas implementaes das diferentes
camadas; os mecanismos podem ser implementados de forma diferente, desde que as interfaces
anteriormente definidas sejam respeitadas.
Arquiteturas de Redes
17
SISTEMA A
SISTEMA B
Protocolo da Camada 7
Camada 7
Interface
6/7
Camada 7
Interface
6/7
Protocolo da Camada 6
Camada 6
Interface
5/6
Camada 6
Interface
5/6
Protocolo da Camada 5
Camada 5
Interface
4/5
Camada 5
Interface
4/5
Protocolo da Camada 4
Camada 4
Interface
3/4
Camada 4
Interface
3/4
Protocolo da Camada 3
Camada 3
Interface
2/3
Camada 3
Interface
2/3
Protocolo da Camada 2
Camada 2
Interface
1/2
Camada 2
Interface
1/2
Protocolo da Camada 1
Camada 1
Camada 1
Meio de Transmisso
Arquiteturas de Redes
18
TRANSMISSOR
RECEPTOR
Protocolo
M
da Camada 7
Protocolo
m
da Camada 6
Protocolo
m
da Camada 5
Protocolo
H4 M1
H4 M2
H4 M1
H4 M2
H3 H4 M1
H3 H4 M2
H2 H3 H4 M1
H2 H3 H4 M2
da Camada 4
Protocolo
H3 H4 M1
H3 H4 M2
da Camada 3
Protocolo
H2 H3 H4 M1
H2 H3 H4 M2
da Camada 2
2.3
2.4
19
prioridades. Muitas redes oferecem pelo menos dois canais lgicos por conexo, um para dados normais e
outro para dados urgentes.
O controle de erro uma questo importante, pois os circuitos de comunicao fsica podem
no ser perfeitos. Muitos cdigos de deteco e correo de erros so conhecidos e as partes envolvidas
em uma conexo devem chegar a um consenso quanto ao que deve ser usado. Alm disso, o receptor deve
ter alguma forma de informar ao emissor as mensagens que foram recebidas corretamente e as que no
foram.
Nem todos os canais de comunicao preservam a ordem das mensagens enviadas por eles.
Para lidar com uma possvel perda de seqncia, o protocolo deve fazer uma proviso explcita para que o
receptor possa remontar adequadamente os fragmentos recebidos. Uma soluo bvia numerar os
fragmentos, mas isso ainda deixa aberta a questo do que deve ser feito com os fragmentos que chegam
fora de ordem ou, pior ainda, o que fazer quando algum ou alguns se perdem.
Um problema que deve ser resolvido em diversas camadas a falta de habilidade de todos os
processos para aceitarem arbitrariamente mensagens longas. Esta propriedade nos leva ao uso de
mecanismos para desmontar, transmitir e remontar mensagens. Uma questo o que fazer quando
estas unidades se tornam to pequenas que o envio de cada uma em separado se torna ineficiente. Nesse
caso a soluo reunir as pequenas mensagens com um destino comum em uma grande mensagem e
desmembr-la na outra extremidade.
Uma outra questo que afeta todas as camadas diz respeito velocidade dos dados,
particularmente quando o emissor mais rpido que o receptor. Vrias solues foram adotadas e sero
discutidas posteriormente. Algumas delas trabalham com a possibilidade do receptor determinar
dinamicamente sua situao atual. Outras limitam o emissor a uma taxa de transmisso predeterminada.
Quando for inconveniente, ou algumas vezes caro, configurar uma conexo para cada par de
processos de comunicao, a camada inferior pode usar a mesma conexo para diversas conversaes no
relacionadas. Desde que seja feita de modo transparente, a multiplexao e a demultiplexao de
conexes podem ser executadas por qualquer camada.
Quando houver vrios caminhos entre a origem e o destino, um deles deve ser escolhido.
Algumas vezes essa deciso deve ser dividida em duas ou mais camadas. Para enviar dados de Londres
para Roma, por exemplo, devem ser tomadas duas decises: uma de alto nvel, decidindo sobre o trajeto a
ser escolhido (via Frana ou Alemanha, com base nas respectivas leis de privacidade) e uma de baixo
nvel, escolhendo sobre quais dos circuitos fsicos disponveis os dados sero transmitidos (com base na
carga de trfego atual).
2.5
INTERFACES E SERVIOS
Conforme j mencionado, a funo de cada camada oferecer servios para a camada acima
dela. Os elementos ativos de uma camada, ou seja, os processos que a implementam so chamados
entidades. Estas podem ser entidades de software ou de hardware. s entidades localizadas em
diferentes sistemas, mas associadas a um mesmo nvel (ou camada), d-se o nome de entidades pares. As
entidades recebem tambm uma denominao complementar em funo da camada qual elas esto
relacionadas por exemplo, entidade de aplicao, entidade de transporte, entidade de enlace, entre
outras.
As entidades de uma camada N (ou entidades N) implementam um servio que utilizado pela
camada N+1. Assim, a camada N dita ser um fornecedor de servio e a camada N+1 denominada
usuria de servio.
Por outro lado, a camada N poder utilizar os servios da camada imediatamente inferior, a
camada N-1, para oferecer os servios camada superior. Ela pode ainda oferecer diferentes categorias
(ou classes) de servios: servios mais eficientes e mais caros ou servios lentos e econmicos.
Os servios oferecidos por uma camada so acessveis em pontos de acesso aos servios, ou
SAP (Service Access Point). Os SAPs da camada N so os lugares onde a camada N+1 poder ter acesso
aos servios oferecidos, cada SAP sendo identificado por um endereo nico. Por exemplo, os SAP de
uma rede telefnica so as tomadas s quais podem ser conectados os aparelhos telefnicos e seus
endereos so os nmeros de telefone associados tomada considerada.
Para que duas camadas possam trocar informaes, existe uma srie de regras a serem
respeitadas, definidas pela interface. Atravs de uma interface, a camada N+1 envia uma unidade de
dados de interface, ou IDU (Interface Data Unit) entidade da camada N pelo SAP. A IDU composta
Arquiteturas de Redes
20
de uma parte denominada unidade de dados de servio, ou SDU (Service Data Unit) e de outras
informaes de controle. A SDU a informao transmitida via rede entidade par e, em seguida,
camada N+1. A informao de controle utilizada para auxiliar a gesto da camada inferior em seu
trabalho (por exemplo, o nmero de bytes compondo a SDU correspondente).
Para transmitir uma SDU, a entidade da camada N pode fragment-la em diversas partes, e cada
parte vai receber um cabealho, sendo enviada como uma unidade de dados de protocolo, ou PDU
(Protocol Data Unit). Os cabealhos de PDU so utilizados pelas entidades pares para o transporte do
protocolo. Elas identificam a PDU contendo os dados e aquelas contendo informaes de controle
(nmeros de seqncia, contagens, etc). A figura 2.3 ilustra o processo descrito. As PDUs recebem
normalmente uma denominao segundo a camada qual esto associadas. Por exemplo, as PDUs de
aplicao so ditas APDU, assim como as de apresentao so as PPDU, as de sesso SPDU, e assim por
diante.
IDU
Camada
N+1
Interface
ICI
SDU
SAP
Cabealho
Camada
N
ICI
SDU
SDU
N-PDU
Figura 2.3 - Ilustrao dos diferentes conceitos associados a interface entre camadas.
2.6
As camadas de uma arquitetura de rede podem oferecer diferentes classes de servios s camadas
superiores. Estes servios podem ser orientados a conexo ou no orientados a conexo (tambm
chamada sem conexo).
No que diz respeito ao servios orientados conexo, podemos citar como exemplo tpico o
sistema telefnico. Para que seja possvel falar com algum no telefone necessrio, inicialmente, tirar o
fone do gancho, digitar (ou discar) um nmero, esperar que o interlocutor atenda, falar com a pessoa que
precisamos e, finalmente, desligar.
Este o princpio de base de um servio orientado conexo:
estabelecimento da conexo,
trmino da conexo.
O aspecto principal da conexo o fato de que ela funciona como uma espcie de canal virtual
atravs do qual iro transitar as mensagens envolvidas na realizao do servio.
J os servios sem conexo so estruturados como o sistema postal, onde cada mensagem (ou
carta, se consideramos o exemplo citado) contm o endereo do destinatrio e encaminhada no sistema,
independente de outras. O princpio bsico ento apenas: enviar mensagem.
Normalmente, se duas mensagens so enviadas a um mesmo destinatrio, a primeira a ser
enviada deve ser a primeira a ser recebida. Por outro lado, neste modo de servio pode ocorrer que uma
mensagem seja atrasada fazendo com que a segunda mensagem seja recebida primeiro. J nos servios
orientados conexo, isto jamais poder acontecer.
Cada servio caracterizado por uma qualidade de servio. Tendo em vista o parmetro
qualidade, os servios podem ser divididos em confivel e no-confivel. Um servio dito confivel
aquele em que os dados no podem ser jamais perdidos, ou melhor, jamais podem deixar de realizar o
Arquiteturas de Redes
21
servio adequadamente e, por vezes, algum mecanismo de recuperao em caso de falha deve ser
utilizado. Servios no confiveis so aqueles onde, eventualmente, dados podem ser perdidos e no
recuperados pela camada em questo.
Normalmente, a implementao de servios confiveis feita atravs da definio de mensagens
de reconhecimento enviadas pelo receptor, para cada mensagem recebida do emissor. Este processo,
embora extremamente benfico, introduz uma lentido na transferncia de dados, o que significa que nem
sempre ele desejvel num sistema.
Os servios confiveis orientados conexo apresentam duas variantes. No primeiro caso, as
fronteiras das mensagens so sempre preservadas. Se duas mensagens de 1 Kbytes so enviadas, elas
chegaro sob a forma de duas mensagens de 1 Kbytes e nunca como uma nica mensagem de 2 Kbytes. J
na segunda variante, se uma mensagem de 2 Kbytes recebida, no h como identificar se ela foi enviada
realmente como uma nica mensagem de 2 Kbytes, como duas mensagens de 1 Kbytes, ou ainda como
2048 mensagens de 1 byte. Porm em algumas aplicaes, necessrio resguardar as fronteiras entre as
mensagens enviadas; por exemplo, no caso do envio de um documento a uma impressora interessante
poder preservar as fronteiras entre as pginas.
No que diz respeito aos dois tipos de servios (orientados conexo e sem conexo), nem todas as
aplicaes requerem a utilizao de conexo. Um exemplo disto pode ser o de uma aplicao de correio
eletrnico. Pode-se imaginar uma aplicao de correio em que o usurio no se interesse no
estabelecimento de conexo e tampouco a uma confiabilidade de 100% no que diz respeito chegada das
mensagens. Os servios sem conexo e no-confiveis so denominados servios de datagrama.
Existem casos, porm, em que, apesar de no necessitar o estabelecimento de conexo, a
confiabilidade essencial. O servio utilizado neste caso dito de datagrama com reconhecimento. O
servio de pedido-resposta j um outro tipo de servio no qual o emissor envia um datagrama contendo
um servio e o receptor envia um outro contendo a resposta a este pedido.
A tabela a seguir ilustra os diferentes servios com e sem conexo, com exemplos de aplicao
destes servios.
SERVIOS
Transferncia confivel de mensagens
Transferncia confivel de bytes
Transferncia no confivel
Datagrama no confivel
Datagrama confivel
Pedido-Resposta
2.7
MODALIDADES
com conexo
com conexo
com conexo
sem conexo
sem conexo
sem conexo
EXEMPLO
seqncia de pginas
login remoto
voz digitalizada
correio eletrnico
correio eletrnico registrado
consulta a bases de dados
PRIMITIVAS DE SERVIO
PRIMITIVA
request
indication
response
confirm
SIGNIFICADO
Pedido enviado por uma entidade que solicita um servio
Atravs dela, a entidade par informada de uma solicitao de servio
A entidade par responde ao pedido de servio
A entidade solicitante informada do resultado do servio
Arquiteturas de Redes
22
Uma analogia com o sistema telefnico pode ser de grande utilidade para que se entenda a
utilizao dessas primitivas. Nesse caso considere os procedimentos necessrios para voc telefonar tia
Nena e convid-la para tomar um ch em sua casa:
1
2
3
4
5
6
7
8
9
10
AO
Voc disca o nmero do telefone da casa de sua tia.
O telefone dela toca.
Ela tira o telefone do gancho.
Voc ouve o al dela.
Voc a convida para o ch
Ela ouve o convite
Ela diz que ter o maior prazer em ir a sua casa.
Voc ouve a aceitao
Voc coloca o telefone no gancho
Ela ouve voc colocar o telefone no gancho e faz o mesmo.
PRIMITIVA
CONNECT.request
CONNECT.indication
CONNECT.response
CONNECT.confirm.
DATA.request
DATA.indication
DATA.request
DATA.indication
DISCONNECT.request
DISCONNECT.indication
A figura 2.4 mostra essa mesma seqncia de procedimentos como uma srie de primitivas de
servio, inclusive a confirmao final de encerramento de conexo. Cada procedimento envolve a
interao entre duas camadas de um dos computadores. Cada request ou response provoca logo em
seguida um indication ou confirm do outro lado.
Camada N+1
Camada N
4
1
Camada N+1
Camada N
3
2
Voc
8
7
Tempo
7
6
10
Tia Nena
Figura 2.4 Mapeamento das primitivas do convite para tomar ch. Os nmeros prximos extremidade
das setas fazem referncia s primitivas de servio utilizadas no exemplo anterior.
Vamos agora considerar o exemplo de utilizao das primitivas de servio para o seguinte
servio orientado conexo com oito primitivas de servio:
CONNECT.request Solicita o estabelecimento de conexo.
CONNECT.indication Sinalizao da parte para a qual foi feita a chamada.
CONNECT.response Usada pelo receptor da chamada para aceit-la (ou rejeit-la).
CONNECT.confirm Permite que a origem da chamada saiba que ela foi aceita.
DATA.request Solicita o envio de dados.
DATA.indication Sinal de chegada de novos dados.
DISCONNECT.request Solicita o encerramento de uma conexo.
DISCONNECT.indication Sinal do par sobre a solicitao.
Para requisitar o estabelecimento de uma conexo, a entidade que quer iniciar o dilogo envia
uma primitiva de servio de pedido de abertura de conexo, CONNECT.request que vai se refletir, na
entidade destinatria, por uma primitiva de indicao, CONNECT.indication.
A entidade que recebeu a indicao vai enviar uma primitiva de resposta, CONNECT.response,
para informar se esta aceita ou no a conexo. Finalmente, a entidade emissora vai saber do resultado do
seu pedido pela recepo de uma primitiva de servio de confirmao, CONNECT.confirm.
Parmetros podem ser associados s primitivas; no caso do servio de conexo, por exemplo, os
parmetros podem especificar os seguintes aspectos relacionados conexo desejada: a mquina com a
qual se deseja dialogar, o tipo de servio desejado, o tamanho mximo das mensagens, etc... Se a entidade
invocada no est de acordo com os parmetros contidos na primitiva de indicao recebida, esta pode
Arquiteturas de Redes
23
fazer uma contra-proposta, atravs dos parmetros da primitiva de resposta, que ser transmitida
entidade emissora atravs dos parmetros da primitiva de confirmao.
Os servios podem ser de dois tipos: confirmados ou no-confirmados. No caso dos servios
confirmados, as quatro classes de primitivas so definidas, ou seja, pedido (request), indicao
(indication), resposta (response) e confirmao (confirm). Isto significa que a entidade que requisitou o
servio ter sempre uma informao sobre as condies de realizao deste e at se este foi realizado com
sucesso ou no.
Nos servios no-confirmados, apenas as duas primeiras classes de primitivas so utilizadas, ou
seja, pedido (request) e indicao (indication). Neste tipo de servios, a entidade emissora do pedido no
receber nenhuma informao sobre as condies de realizao do servio requisitado, nem mesmo se
este foi realizado. A tabela a seguir apresenta um conjunto de primitivas associadas a um servio
orientado conexo.
PRIMITIVA
CONNECT.request
CONNECT.indication
CONNECT.response
CONNECT.confirm
DATA.request
DATA.indication
DISCONNECT.request
DISCONNECT.indication
SIGNIFICADO
pedido de estabelecimento de uma conexo
indicao entidade invocada
utilizada para indicar a aceitao ou no da conexo
informa entidade emissora se a conexo aceita
pedido de envio de dados
sinalizao da chegada de dados
pedido de trmino da conexo
indicao do pedido entidade par
connect_request
connect.confirm
Camada N
SISTEMA B
Camada N+1
connect.response
connect.indication
Camada N
Arquiteturas de Redes
24
3.1
INTRODUO
3.2
25
necessitar enviar informaes pelo meio de transmisso no mesmo instante. Analisando estes arranjos
topolgicos verificamos que h a necessidade de um mecanismo de arbitragem para determinao de qual
estao poder transmitir de forma a no existncia de conflitos e garantia de tempo para todas as
estaes que tm dados a transmitir. Conforme j mencionado, estes mecanismos podem ser estticos ou
dinmicos e estes ltimos ainda podem ser divididos em centralizados ou distribudos. Mais adiante sero
discutidos alguns destes mtodos.
Arquiteturas de Redes
26
Sub-rede
Host
Elemento de comutao
Arquiteturas de Redes
27
CUSTO
O custo de uma rede composto pelo custo das estaes de processamento, das interfaces com o
meio fsico de comunicao e o custo do prprio meio fsico. Uma vez que os custos das estaes esto
cada vez menores necessrio que o custo das interfaces seja minimizado.
O que ir determinar o custo das interfaces proporcional ao desempenho que se espera da rede.
Redes de baixo a mdio desempenho usualmente empregam poucas estaes com uma demanda de taxas
de dados e volume de trfego pequeno, permitindo o uso de interfaces de baixo custo. Redes de alto
desempenho j requerem interfaces de custo mais elevado.
RETARDO DE TRANSFERNCIA
Retardo de acesso o tempo que uma estao espera, a partir do momento que uma mensagem
est pronta para ser transmitida, at o momento em que ela consegue transmitir com sucesso esta
mensagem. Retardo de transmisso o intervalo de tempo decorrido desde o incio da transmisso de uma
mensagem por uma estao de origem at o momento em que a mensagem chega estao de destino.
Por fim retardo de transferncia eqivale soma dos retardos de acesso e de transmisso.
O retardo de transferncia , na maioria dos casos, uma varivel aleatria, porm em algumas
redes o seu valor pode ser calculado, ou melhor, ele determinstico. A rede deve ser adequada ao tipo
particular de aplicao para o qual ela foi concebida. Por exemplo, para aplicaes de controle em tempo
real, o retardo de transferncia limitado de vital importncia.
DESEMPENHO
Pode-se definir como desempenho a capacidade efetiva de transmisso da rede. Por exemplo as
redes locais de alta velocidade (High-Speed Local Networks - HSLN) so projetadas de forma a fornecer
um alto desempenho na comunicao entre dispositivos, embora o custo de conexes seja mais elevado.
Na verdade, os termos velocidade, desempenho e retardo de transferncia esto intimamente
relacionados. A escolha de um mecanismo de interconexo orientado para a natureza das aplicaes
essencial para o bom desempenho de uma rede.
Arquiteturas de Redes
28
CONFIABILIDADE
Confiabilidade pode ser avaliada em termos de tempo mdio entre falhas (Medium Time Between
Failures - MTBF), tolerncia a falhas, degradao amena, tempo de reconfigurao aps falhas e tempo
mdio de reparo (Medium Time to Repair - MTTR). O MTBF geralmente medido em horas.
A degradao amena est ligada aplicao e mede a capacidade da rede continuar operando em
presena de falhas, embora com desempenho menor. Reconfigurao aps falhas requer que alternativas
redundantes sejam acionadas to logo uma falha ocorra. O tempo mdio de reparo pode ser diminudo
com o auxlio de redundncia, mecanismos de auto-teste e diagnstico, e manuteno eficiente.
MODULARIDADE
Modularidade pode ser caracterizada como o grau de alterao de desempenho e funcionalidade
que uma rede pode sofrer sem mudar seu projeto original. Os maiores benefcios de uma arquitetura
modular incluem a facilidade para modificao, facilidade para crescimento e facilidade para o uso de um
conjunto de componentes bsicos. A modularidade est intimamente ligada s aplicaes do sistema.
Uma rede bem projetada deve poder adaptar-se modularmente s vrias aplicaes a que dedicada,
como tambm prever futuras utilizaes.
COMPATIBILIDADE
Tambm conhecida como interoperabilidade, a compatibilidade pode ser vista como a
capacidade que a rede possui para ligar-se a dispositivos de vrios fabricantes, tanto de software quanto
de hardware. Esta caracterstica bastante importante e valiosa por dar ao usurio grande flexibilidade e
poder de barganha perante os fabricantes.
SENSIBILIDADE TECNOLGICA
Este tpico diz respeito modularidade. Uma rede deve ter a capacidade de suportar todas as
aplicaes para a qual ela foi projetada, mais aquelas que no futuro possam ser requeridas, incluindo
transmisso de vdeo, voz e interconexo com outras redes, por exemplo.
3.3
AS ARQUITETURAS DE REDE
Para compreender as diversas posturas, abordagens e atitudes polticas relacionadas com a rea
de comunicao de dados, como tambm para acompanhar o se desenvolvimento tecnolgico,
necessrio conhecer suas origens e sua histria.
Em meados da dcada de 60, o governo dos EUA, por intermdio do Departamento de Defesa,
iniciou estudos relacionados viabilidade do desenvolvimento de redes de computadores. Em 1968
tiveram incio as atividades do Projeto ARPA (Advanced Research Project Agency), tendo por base o
conhecimento e o potencial de pesquisa das universidades e dos centros de pesquisa norte-americanos.
Em 1972 entrou em funcionamento o projeto piloto da rede ARPA. Comeava ai a era da
tecnologia de redes de computadores, caracterizada pela distribuio das aplicaes entre vrios
comutadores interligados de acordo com uma topologia determinada. Na rede ARPA foi, pela primeira
vez, implementada a tecnologia de comutao de pacotes, assim como o mtodo de diviso em vrias
camadas funcionais das tarefas de comunicao entre aplicaes residentes em computadores distintos,
conectados por meio da rede, criando-se o conceito de Arquitetura de Rede de Computadores.
Tambm na dcada de 70, o crescimento da ARPA permitiu a interligao de computadores de
universidades americanas e de alguns computadores situados em outros pases.
Na mesma poca, os grandes fabricantes de equipamentos de processamento de dados criaram
seus prprios mtodos para interligar em rede seus respectivos produtos. Surgiram, assim, as Arquiteturas
Proprietrias, primeiro com a IBM, que lanos a arquitetura SNA (Systems Network Architecture), depois
com a Digital e a sua arquitetura Decnet, alm de vrias outras.
Para as entidades especializadas em venda de servios de telecomunicaes abriu-se um novo
mercado: a oferta de servios de comunicao de dados por meio do fornecimento de uma estrutura de
comunicao, a sub-rede, baseada funcionalmente no princpio de comutao de pacotes. O CCITT (atual
ITU-T) elaborou documentos que permitiram que estes servios fossem padronizados, a partir dos quais
Arquiteturas de Redes
29
publicou, em 1976, a primeira verso da Recomendao X.25, propondo a padronizao de redes pblicas
de comutao de pacotes.
3.4
A ARQUITETURA DO RM/OSI
3.5
30
protocolo do tipo datagrama, operando, portanto, no modo no orientado conexo, enquanto o TCP
um protocolo de transporte orientado conexo. O conjunto TCP/IP pode, desta forma, oferecer um
servio relativamente confivel. Para uso em redes de alta qualidade, onde o problema de confiabilidade
no assume grande importncia, foi definido o protocolo UDP (User Datagram Protocol) que opera no
modo no orientado conexo e possui funcionalidades bem mais simplificadas que o TCP.
3.6
AS REDES LOCAIS
Geralmente uma rede local serve a uma rea geograficamente limitada, isto , um ambiente de
trabalho, um edifcio, um campus universitrio, uma fbrica, etc. As distncias podem variar de metros
at alguns poucos quilmetros e a velocidade de transmisso da ordem de milhes de bits por segundo.
A maioria dos produtos existentes na rea utiliza uma forma simples de interligao fsica entre os
equipamentos e talvez esta seja uma das caractersticas mais atrativas das redes locais.
Estas caractersticas, no entanto, no so suficientes para garantir o sucesso de uma rede local.
Para o usurio final muito importante ter um mecanismo de transmisso de informao eficiente, sem
que haja a necessidade de conhecer os detalhes tcnicos para efetuar a ligao com a rede.
Uma rede local pode ser descrita atravs de caractersticas tais como: est contida dentro de uma
rea geogrfica limitada, possui equipamentos interconectados porm independentes, existe um alto grau
de interconexo entre os equipamentos da rede, a transmisso de informao geralmente na forma
digital, a interface com a rede feita atravs de equipamentos e meios de transmisso relativamente
baratos e possvel a comunicao entre dois equipamentos quaisquer da rede.
A escolha de um tipo de rede para suporte a um dado conjunto de aplicaes uma tarefa por
vezes difcil. Cada arquitetura de rede possui caractersticas que afetam sua adequao a uma aplicao
em particular. Muitos podem ser os atributos que fazem parte do rol possvel de ser considerado para
comparao. Dentre eles esto: custo, tempo de resposta, velocidade, desempenho, confiabilidade,
modularidade, compatibilidade, e facilidade de adaptao na mudana de tecnologia.
31
isto , fim-a-fim. Existem tambm proposta que os colocam no nvel fsico, uma vez que determinam a
ligao fsica ao meio. O comit de padronizao de redes locais, o IEEE 802, os coloca como parte do
nvel 2.
Como nas redes locais a transmisso de dados feita por difuso ou possuem roteamento nico o
nvel de rede no tem aqui grande relevncia. Em muitas redes o nvel de transporte vai ser construdo
imediatamente acima do nvel de enlace. Opcionalmente devemos permitir que o nvel de transporte seja
construdo acima do nvel inter-redes.
O nvel 3 em redes locais teria ento como funo o roteamento de pacotes entre estao origem
e destino em redes diferentes ou na interconexo de redes locais entre si. Neste nvel ainda o mais
adequado a utilizao de datagrama no confivel, deixando para os nveis superiores a recuperao, se
necessria, dos erros. A arquitetura Internet TCP/IP, que utiliza essa abordagem, uma alternativa
bastante utilizada para interligao de redes locais de computadores.
Em redes locais o nvel de transporte, ao tornar transparente para os nveis superiores toda a
parte de transmisso, pode ainda tirar vantagem que o meio lhe oferece, como por exemplo, a
confirmao de vrios circuitos virtuais em uma nica mensagem em uma rede do tipo difuso.
A implementao dos demais nveis de protocolo depende muito das aplicaes da rede. O RMOSI pode ser seguido na ntegra, podendo suas funes serem realizadas por processos de um sistema
operacional distribudo, onde a interface do nvel 4 seria vista simplesmente como primitivas de
comunicao do ncleo desse mesmo sistema operacional.
Arquiteturas de Redes
32
Em um nvel fsico mais baixo esto as funes normalmente associadas ao nvel fsico:
codificao/decodificao de sinais, gerao e remoo de prembulos para sincronizao e
transmisso/recepo de bits. Como no RM-OSI, essas funes foram atribudas ao nvel fsico no
modelo de referncia elaborado pelo IEEE 802.
A figura 3.2 apresenta a relao entre alguns dos principais padres IEEE 802 e o RM-OSI.
importante ressaltar que j existem outros padres IEEE 802.X, que j foram ou sero aqui citados, tais
como IEEE 802.11 (FDDI) e IEEE 802.12 (100VGAnyLAN).
O padro IEEE 802.1 um documento que descreve o relacionamento entre os diversos padres
IEEE 802 e o relacionamento deles com o modelo de referncia OSI. Este documento contm tambm
padres para gerenciamento da rede e informaes para ligao inter-redes. O padro ANSI/IEEE 802.2
(ISO 8802/2) descreve a sub-camada superior do nvel de enlace, que utiliza o protocolo Logical Link
Control Protocol. Os outros padres que aparecem na figura 3.2 especificam diferentes opes de nvel
fsico e protocolos da sub-camada MAC para diferentes tecnologias de redes locais. So eles:
padro IEEE 802.3 (ISO 8802/3), rede em barra utilizando CSMA/CD como mtodo de
acesso;
padro IEEE 802.4 (ISO 8802/4), rede em barra utilizando passagem de permisso como
mtodo de acesso;
padro IEEE 802.5 (ISO 8802/5), rede em anel utilizando passagem de permisso como
mtodo de acesso;
padro IEEE 802.6 (ISO 8802/6), rede em barra utilizando o Distributed Queue Dual Bus
(DQDB) como mtodo de acesso.
RM/OSI
IEEE 802
CAMADAS
SUPERIORES
802.1
802.2
ENLACE
LLC
MAC
FISICO
802.3
802.4
802.5
802.6
33
diferente. Por exemplo quando desejamos interconectar duas redes Ethernet somente com cabeamento
diferente. Outro problema, um pouco mais complexo, seria interconectar duas redes com protocolos de
acesso diferentes, porm com o mesmo protocolo de rede. Por exemplo, se desejarmos interconectar uma
rede Ethernet com uma rede Token Ring.
As motivaes que podem levar necessidade de interconectar de redes entre si so:
de ordem econmica, por exemplo, para compartilhar uma interface de rede pblica;
de ordem tecnolgica, por exemplo, para interconectar vrias redes locais em reas ou
prdios distintos;
para melhorar desempenho e confiabilidade, por exemplo, dividir uma rede local com
grande nmero de estaes em 2 ou mais redes;
de ordem funcional, por exemplo, para atender necessidades do usurio, tais como acesso a
recursos como bancos de dados, disponveis em outras redes.
Algumas questes a serem abordadas para a interconexo:
nvel de interconexo;
controle de fluxo;
controle de congestionamento;
segurana;
tarifao de servios;
nomes e endereamento.
A ligao entre equipamentos heterogneos deve ter convenes para representao de nomes e
endereos de processos que tenham significado em toda a rede. As referncias s redes so feitas por
nomes ou por endereos, e isto importante para identificao de recursos na rede. A maneira mais
comum o endereamento hierrquico, ou seja, o endereo do processo constitudo de endereo da rede,
endereo do equipamento hospedeiro (host) e endereo dentro do hospedeiro (porta). H tambm uma
alternativa, o endereamento plano, ou no-hierrquico, onde h um endereo para cada recurso na rede.
importante lembrar que a interconexo de duas redes exige a implementao, em cada rede, de
um protocolo inter-redes que realize, pelo menos, as funes de tratamento de endereos. Os principais
equipamentos para interconexo de redes so: repetidores, pontes e roteadores.
Arquiteturas de Redes
34
4.1
INTRODUO
Depois dos conceitos sobre a hierarquia em camadas vamos agora discutir um pouco sobre os
principais conceitos relacionados a alguns exemplos prticos de arquiteturas de redes, com nfase
principal nas arquiteturas do RM-OSI e do TCP/IP-Internet.
4.2
O Modelo OSI mostrado na figura 4.1. Este modelo foi desenvolvido com um primeiro passo
na direo da padronizao internacional dos protocolos usados nas diversas camadas. Este modelo foi
denominado de Modelo de Referncia para a Interconexo de Sistemas Abertos ou RM-OSI (Reference
Model for Open Systems Interconnection), pois trata da interconexo de sistemas abertos, ou seja,
sistemas que esto abertos comunicao com outros sistemas.
Nomenclatura
da unidade intercambiada
Protocolo de Aplicao
7
Aplicao
Apresentao
Sesso
Transporte
Aplicao
APDU
Apresentao
PPDU
Sesso
SPDU
Transporte
TPDU
Protocolo de Apresentao
Protocolo de Sesso
Protocolo de Transporte
Protocolo de Sub-rede Interna
Rede
Rede
Rede
Rede
Pacote
Enlace
Enlace
Enlace
Enlace
Quadro
Fsico
Fsica
Fsica
Fsico
Bit
Roteador
Roteador
Host A
Host B
Protocolo de roteador/host da camada de rede
Protocolo de roteador/host da camada de enlace
Protocolo de roteador/host da camada fsica
35
AH
Apresentao
PH
Sesso
Fsica
NH
LH
Apresentao
Sesso
DADOS
TH
Rede
Aplicao
DADOS
DADOS
SH
Transporte
Enlace
PROCESSO
RECEPTOR
DADOS
Transporte
DADOS
Rede
DADOS
DADOS
C
R
C
BITS
Enlace
Fsica
Arquiteturas de Redes
36
os tipos de conectores a serem utilizados nas ligaes (nmero de pinos utilizado, as funes
associadas a cada pino, ...);
incompatibilidades no endereamento;
etc.
A Camada de Transporte recebe os dados enviados da camada de sesso, decomp-los, se for o
caso, em unidades de dados menores e garantir que todas as partes da mensagem vo ser transmitidas
corretamente outra extremidade. Esta funo deve ser suprida de maneira eficiente, inclusive, sem que a
camada de Sesso tome conhecimento de possveis alteraes na tecnologia da parte material da rede.
Esta camada cria, normalmente, uma conexo de rede para cada conexo de transporte requerida
pela camada de Sesso, embora, se as necessidades de velocidade transmisso so justificadas, ela possa
estabelecer diversas conexes de rede para uma mesma conexo de transporte. Por outro lado, se o custo
Arquiteturas de Redes
37
da manuteno de uma conexo de rede considerado elevado, esta camada pode efetuar a funo
inversa, ou seja, a multiplexao de vrias conexes de transporte sobre uma mesma conexo de rede,
esta tarefa sendo feita de modo transparente para a camada de Sesso.
Ela deve determinar, tambm, o tipo de servio oferecido camada de Sesso e, por
conseqncia, aos usurios da rede. Uma conexo de transporte tpica aquela de um canal ponto-aponto, livre de erros de transmisso, transmitindo as mensagens na mesma ordem em que elas foram
enviadas. Por outro lado, outras classes de servios podem fornecer uma conexo capaz de enviar as
mensagens de modo isolado, mas sem a garantia de uma ordem correta na transmisso. O tipo do servio
a ser fornecido definido no momento do estabelecimento da conexo.
Uma caracterstica desta camada que ela implementa um verdadeiro dilogo fim-a-fim, ou seja,
o programa executando no sistema fonte dialoga com o programa executando na mquina destino atravs
dos cabealhos e informaes de controle contidas nas mensagens deste nvel. J nas camadas mais
baixas, os protocolos operam entre mquinas vizinhas e no entre os sistemas fonte e destino, dado que
estes podem estar separados por vrios IMPs. Esta diferena fundamental, que se estende igualmente s
camadas superiores (at a camada 7) pode ser verificada pela ilustrao da figura 4.1.
Dado que esta camada responsvel do estabelecimento e trmino das conexes de rede, ela
deve definir um mecanismo de endereamento que permita a um sistema indicar com qual sistema ele
deseja dialogar. Finalmente, ela deve implementar um mecanismo de controle de fluxo fim-a-fim para
evitar que o sistema fonte envie mensagens numa taxa superior quela com a qual o sistema destino pode
consumi-las.
A Camada de Sesso responsvel dos estabelecimentos de sesses de dilogo para os usurios
da rede. Uma sesso objetiva permitir o transporte de dados, da mesma forma que os servios oferecidos
pela camada de Transporte, mas ela oferece servios mais sofisticados de comunicao que podem ser
teis a determinadas aplicaes. Um exemplo disto a possibilidade de envio, atravs de uma sesso, de
um arquivo de dados (ou programa) de um sistema a outro. Outro servio da camada de Sesso efetuar a
gesto do dilogo, ou seja, definir, por exemplo, se o dilogo vai ser efetuado em modo uni- ou
bidirecional.
Um servio tambm importante aquele da sincronizao do dilogo. Por exemplo, se um
arquivo deve ser transferido atravs de uma sesso e este deve durar duas horas. Se, por uma razo
qualquer, o tempo mdio entre duas panes de uma hora. Aps uma primeira interrupo por pane, a
transferncia dever reiniciar, podendo ocasionar em erros de transmisso. Uma forma de evitar isto a
insero de pontos de teste junto aos dados fazendo com que, aps uma interrupo de transferncia, os
dados sejam retomados apenas a partir do ltimo ponto de teste.
A Camada de Apresentao utiliza algumas funes freqentemente necessrias de modo a
poupar o usurio deste trabalho. Esta camada assume particularmente as funes associadas sintaxe e
semntica dos dados transmitidos. Um exemplo tpico das funes efetuadas por esta camada a
codificao da informao num padro bem definido (ASCII, EBCDIC, etc...).
Esta camada pode ainda suprir outras funes associadas compreenso dos dados, se utilizando
do conhecimento do significado da informao para reduzir a quantidade de informao enviada,
inclusive para implementar funes de confidencialidade e de autenticao.
A Camada de Aplicao implementa um conjunto de protocolos bastante diversificado e
orientado a aplicaes bem definidas. Um exemplo disto o protocolo de terminal virtual, que permite
gerar a utilizao de um determinado programa (por exemplo, um editor de textos) de forma independente
do tipo de terminal conectado rede. Outro servio importante o de transferncia de arquivos, que
permite adaptar o tipo do arquivo transferido forma implementada pelo sistema de arquivamento do
sistema considerado. Na parte dedicada a esta camada veremos, alm destas, outras classes de servios
implementados a este nvel.
Arquiteturas de Redes
38
4.3
O termo protocolo TCP/IP utilizado como designao comum para uma famlia de
protocolos de comunicao de dados, sendo que o Transmission Control Protocol (TCP) e o Internet
Protocol (IP) so apenas dois deles. Esta famlia de protocolos teve origem na rede Arpanet.
A Internet cresceu muito alm do que se podia imaginar. A Internet hoje uma coleo de redes
acadmicas, militares e comerciais espalhadas pelo mundo, interconectadas atravs do protocolo TCP/IP.
Entre elas, pode-se citar a prpria RNP no Brasil.
Uma vez que toda a rede conectada Internet deve falar o protocolo TCP/IP, natural que o
interesse comercial por este protocolo tenha crescido muito, ao ponto de hoje estar disponvel em quase
todas as plataformas. Alm disso, comum encontrarmos TCP/IP sendo utilizado em redes locais que no
esto conectadas Internet.
O sucesso e a popularidade do protocolo TCP/IP no se deve apenas imposio das agncias
militares americanas, mas tambm ao fato der ter sido o primeiro protocolo a atingir a importante meta da
comunicao de dados com abrangncia mundial. Isto somente foi possvel graas a algumas de suas
caractersticas, a saber:
TCP/IP inclui protocolos do nvel de aplicao que atendem muito bem demanda de
servios imposta pelos usurios.
Uma vez que a padronizao foi essencial para a definio do TCP/IP como o protocolo mais
utilizado no mundo, importante que se conhea como ele foi, e continua sendo, padronizado.
Originalmente, os protocolos bsicos do TCP/IP foram padronizados atravs de Military Standards (MIL
STD) e de Internet Engineering Notes (IEN). Atualmente, a maior parte da padronizao do TCP/IP
feita atravs de Requests For Comments (RFC), que, alm da especificao formal dos protocolos, inclui
informaes importantes sobre seu funcionamento e uso.
Arquiteturas de Redes
39
Aplicao
Aplicaes que usam a rede
Camadas do TCP/IP
Apresentao
Padronizao da representao dos dados
Aplicao
Aplicaes que usam a rede
Sesso
Gerncia de dilogos entre aplicaes
Transporte
Transporte de dados fim-a-fim
Transporte
Transporte fim-a-fim com correo de erros
Internet
Roteamento de datagramas
Rede
Transferncia de pacotes na rede
Acesso Rede
Acesso ao nvel fsico
Enlace
Comunicao confivel ponto-a-ponto
Fsico
Caractersticas fsicas da rede
Aplicao
Dados
Transporte
Cabealho
Dados
send
Internet
Acesso Rede
Cabealho
receive
Cabealho
Cabealho
Dados
Cabealho
Cabealho
Dados
Arquiteturas de Redes
40
TCP
Aplicao
stream
UDP
mensagem
Transporte
segmento
pacote
Internet
datagrama
datagrama
frame
frame
Acesso Rede
41
Telnet: servio de terminal virtual que permite sesses remotas sobre a rede;
Domain Name Service (DNS): servio de traduo de nomes de hosts em endereos IP;
FTP
TELNET
RIP
DNS
TCP
Rede
Sub-rede
de acesso
SMTP
NFS
UDP
IP
X.25
ARP
LAPB/HDLC
IP over Ethernet
CCITT V.35
CSMA/CD
Renpac
Ethernet
4.4
B-ISDN uma arquitetura em camadas fornecendo mltiplos servios s aplicaes, tal como
voz, dados, e vdeo, a serem mixados em uma rede. A figura 4.7 ilustra o modelo de Referncia para
Protocolos (Protocol Reference Model - PRM) definido pelo ITU-T. O PRM constitui-se num formato
tridimensional composto por trs planos:
Plano de Controle, como o prprio nome diz, executa funes de controle como manter e
desativar conexes.
Arquiteturas de Redes
42
A Camada mais Alta, que no plano usurio (camada de aplicao) so responsveis pela
produo e apresentao de vrios tipos de dados, e no plano controle realiza servios de
controle.
A Camada ATM toma os dados a serem enviados e adiciona o cabealho da clula (5 bytes)
que assegura que a clula seja enviada na conexo correta. Ela uma camada de comutao
e multiplexao independente da camada fsica.
A Camada Fsica (PHY) define as caractersticas eltricas e interfaces de rede. Esta camada
a que realiza a transmisso dos bits sobre o meio de transmisso. esta camada que
determina a taxa de transmisso de bits. Taxas de bits de 155 Mbps e 622 Mbps foram
inicialmente propostas para transmisso em fibra tica, mas outras taxas de transmisso
tambm foram definidas para outros meios de transmisso. ATM no fixa o tipo especfico
de transporte fsico. Mas o meio mais comum considerado para longas distncias fibra
tica usando o protocolo SONET (Synchronous Optical Network).
Camadas
Camadas Altas
Camada de Adaptao ATM
(AAL)
Camada ATM
Camada Fsica
Funes
Produo e apresentao de vrios tipos de
dados
Segmentao, remontagem, funes
dependentes de aplicao (por exemplo
controle de erro)
Controle de fluxo genrico, gerao/extrao
de cabealho de clula, translao VPI/VCI,
multiplexao/demultiplexao de clula
Transmisso de bits sobre o meio de
transmisso
Terminal
Comutador
Comutador
AAL
ATM
ATM
ATM
ATM
PHY
PHY
PHY
PHY
43
clulas em cada conexo. possvel que terminais sejam ligados a uma LAN, que conectada a uma rede
ATM atravs de um ponto de acesso. A velocidade da ligao entre um ponto de acesso e um comutador
chamado de velocidade de acesso e dedicada ao ponto de acesso. Comutadores agregam clulas
vindas pelas ligaes de entrada e retransmitem elas para outros comutadores ou terminais. A largura de
banda entre comutadores chamado de largura de banda agregada. Ela normalmente maior que a
velocidade de acesso, mas ela no precisa ser a soma das taxas de pico de todas as suas ligaes de
entrada pois ATM usa multiplexao estatstica. A interface entre o usurio (terminal) e a rede chamada
interface usurio-rede (UNI - User-Network Interface). A interface entre os comutadores de rede
chamada interface rede-rede (NNI - Network-Network Interface). O formato da clula ligeiramente
diferente na UNI e na NMI.
T e r min a l
T e r min a l
Comutador
T e r min a l
C o mu t a d o r
T e r min a l
Comutador
C o mu t a d o r
NNI
UNI
C o mu t a d o r
T e r min a l
T e r min a l
Comutador
C o mu t a d o r
T e r min a l
C o mu t a d o r
caminho de transmisso
VP1
VP2
VP1
Caminho de
transmisso
VP3
VP2
VP3
C o mu t a d o r
VCs
Arquiteturas de Redes
44
ATM. No sentido inverso (quando recebe clulas ATM da camada ATM) a camada AAL deve remontar
em fluxos de dados que as camadas superiores podem entender.
O termo camada de adaptao devido a sua funo que a de adaptar o dado em uma forma
desejvel para ATM. O propsito da AAL empacotar eficientemente as vrias espcies de dados de alto
nvel, tal como arquivos, amostragens de udio, quadros de vdeo, em uma srie de clulas que podem ser
enviadas sob conexes ATM e reconstrudas em um formato apropriado no receptor.
AALs so necessrias de maneira a que aplicaes do mesmo tipo possam comunicar com
outras. O primeiro passo realizado pelo ITU-T quanto a camada de adaptao, foi a definio das classes
de servio oferecidas pela AAL atravs da recomendao I.362. Logo aps, o ITU-T definiu os tipos de
AAL que suportam estas classes, atravs da recomendao I.363. A ITU-T determinou os seguintes
classes de aplicaes:
Classe A: Aplicaes sensveis ao tempo com taxa de bits constantes (Constant Bit Rate CBR). Estas aplicaes enviam e recebem dados a taxas constantes. Elas tambm
necessitam que o atraso da fonte ao destino seja limitado. Este tipo de aplicao inclui
comunicao de udio e vdeo codificados a taxa de bits constantes.
Classe B: Aplicaes sensveis ao tempo com taxa de bits variveis (Variable Bit Rate VBR). Estas aplicaes enviam dados a taxa de bits variveis, mas requerem atrasos
limitados. Exemplos incluem comunicao de udio e vdeo codificados a taxa de bits
variveis.
Classe C: Aplicaes de dados orientadas a conexo. Esta classe suporta aplicaes que
eram historicamente usadas em servios de rede tal como X.25.
Classe D: Aplicaes de dados sem conexo. Aplicaes nesta classe enviam e recebem
dados usando datagramas sem conexo.
As principais caractersticas destas classes so resumidas na figura 4.12.
Classe A
Tempo na fonte e
no destino
Taxa de gerao
de bits
Modo de conexo
Classe B
Relacionado
Classe C
Constante (CBR)
Classe D
Sem relao
Varivel (VBR)
Orientada conexo
Sem conexo
AAL2 fornece servio classe B. Devido a taxa de bits varivel, difcil reservar recursos
para esta espcie de trfico e assim difcil implementar a AAL2. Detalhes da AAL2 no
foram definidos.
AAL6 est em estgio de discusso. O ATM Forum est investigando uma AAL adaptada
ao empacotamento de fluxos de dados multimdia, em particular para vdeo MPEG e
MPEG-II. Discusses incluem o uso de tcnicas FEC (forward error-detection) para
aumentar a confiabilidade na comunicao ao nvel onde nenhum recobrimento de erro extra
necessrio e para suportar requisitos de sincronizao MPEG.
Note que AALs fazem mais que segmentao e remontagem de dados, elas efetivamente
implementam protocolos de transporte adaptadas aos diferentes tipos de aplicao.
Arquiteturas de Redes
45
cabealho
CS
Subcamada CS
Dado
cabealho
segmento de dado
SAR
Subcamada SAR
enchimento
trailer
CS
trailer
SAR
48 bytes
Camada ATM
cabealho
Arquiteturas de Redes
46
A hierarquia de transmisso tica SDH baseada em uma taxa bsica de 155,52 Mbps, chamada
STM-1 (Synchronous Transport Model Level 1). Interfaces de alta velocidade podem ser criadas
simplesmente por multiplexao (usando byte interleaving) de canais de mais baixa velocidade. Isto
simplifica o processo de criao da faixa de velocidades de transmisso oferecidas por um servio
particular. Algumas velocidades de interfaces comuns atualmente reconhecidas por SONET/SDH so
dados na tabela abaixo.
SONET
Optical carrier (OC) level
OC-1
OC-3
OC-12
OC-24
OC-48
SDH
STM level
STM-1
STM-4
STM-8
STM-16
Line rate
(Mbps)
51,84
155,52
622,08
1244,16
2488,32
A ligao mxima de 2,4 Gbits/s da tabela acima no a mais alta taxa obtida por SONET/SDH,
ela simplesmente representa a maior taxa possvel com os produtos atuais. A hierarquia de velocidade de
transmisso SONET/SDH estende-se indefinidamente, limitada apenas pelos avanos na tecnologia para
suportar transmisso de mais alta velocidade. O padro ITU-T SDH concentra-se nas velocidades de
transmisso de 155 Mbps e acima.
Meio Fsico (Physical Medium - PM) cuja funo transmitir e receber uma seqncia
contnua de bits pelo meio fsico, incluindo alinhamento de bits, sinalizao na linha de
transmisso e converso eletro-tica. A PM recebe o fluxo de informao da subcamada TC,
e ento codifica este fluxo numa forma apropriada para a transmisso pelo meio fsico. A
subcamada PM recebe o fluxo de informao do meio fsico, e repassa esta para a
subcamada TC para tratamento posterior.
4.5
47
so redes corporativas ou comerciais. Todas elas apresentam diferenas em relao a sua histria,
administrao, recursos oferecidos, projeto tcnico e comunidade de usurios. A histria e a
administrao de uma rede podem variar significativamente, de exemplos onde ela foi cuidadosamente
planejada por uma organizao at exemplos de redes cujas mquinas foram interconectadas no decorrer
dos anos sem qualquer planejamento ou administrao central. Os recursos disponveis podem variar da
arbitrria comunicao processo a processo at o correio eletrnico, transferncia de arquivos, ao login
remoto e execuo remota. Os projetos tcnicos podem diferir no tipo de meio de transmisso utilizado,
nos algoritmos de roteamento e de denominao empregados, no nmero e no contedo das camadas
presentes e nos protocolos usados. Por fim, a comunidade de usurios pode variar dos funcionrios de
uma empresa at todas as pessoas interessadas no mundo.
Muitos so os exemplos de redes disponveis no mercado, principalmente para redes locais.
Ainda podemos analisar algumas experincias de grandes redes tais como a ARPANET e a NSFNET,
precursoras da Internet mundial, assim como das primeiras experincias a gigabit.
Um bom exemplo de rede local bastante popular a Novel NetWare. Ela foi projetada para ser
usada para empresas que estavam fazendo downsizing de mainframe para rede de PCs. Ela utiliza a
filosofia cliente/servidor e est baseada numa pilha de protocolos proprietria ilustrada na figura 4.14. Ela
baseada na antiga XNS (Xerox Network System) com vrias modificaes. Esta arquitetura antecede o
RM-OSI e se parece mais com a arquitetura TCP/IP.
Camada
Aplicao
Transporte
Rede
Enlace de
dados
Fsica
Aplicaes
NCP
Ethernet
Ethernet
SPX
IPX
Token Ring
Token Ring
ARCnet
ARCnet
48
todos os computadores daquela LAN acessassem as facilidades da ARPANET. Ao mesmo tempo, outras
organizaes comearam a construir suas prprias redes utilizando os mesmos protocolos de
comunicao da ARPANET: IP e seus parentes (TCP, UDP, etc). Tornou-se bvio, ento, que se essas
redes podiam conversar entre si, usurios de uma rede poderiam comunicar-se com outros de outras redes,
e assim todos seriam beneficiados.
Uma das mais importantes dessas novas redes foi a NSFNET, administrada pela NSF (National
Science Foundation), uma agncia do governo dos Estados Unidos. Nos anos 80 a NSF criou 5 centros de
supercomputadores. Era pouco, mas o custo elevado das instalaes impedia a criao de um nmero
maior, criando a necessidade de compartilhamento dos existentes. Esta situao criou um problema de
comunicao: era preciso encontrar uma forma de conectar os centros entre si e permitir que os seus
clientes pudessem acess-los, mesmo remotamente. Inicialmente a NSF tentou utilizar a ARPANET para
este fim, mas esta estratgia falhou devido a problemas burocrticos e de suporte.
Em resposta, a NSF decidiu construir sua prpria rede, baseada na tecnologia da ARPANET. Ela
conectava os centros atravs de linhas telefnicas a uma velocidade de 56.000 bits por segundo (56Kbps).
Como sairia muito caro conectar cada universidade diretamente aos centros (j que as linhas telefnicas
so pagas pela distncia), foi decidida a criao de redes regionais. Em cada rea do pas as escolas
seriam conectadas aos seus vizinhos mais prximos. Cada regio era conectada a um centro por um ponto
e os centros eram conectados entre si. Com essa configurao, qualquer computador poderia se comunicar
com qualquer outro, remetendo a conversao atravs de seus vizinhos.
Essa foi uma soluo de sucesso. Com o passar do tempo o trfego pelas linhas aumentou e os
computadores que controlavam a rede e as prprias linhas telefnicas tiveram que ser substitudos por
equipamentos mais rpidos.
O mais importante que as redes da NSF promoveram a integrao universal das entidades
educacionais, dado que antes de seu aparecimento a rede estava disponvel apenas para pesquisas em
cincia da computao, empregados e contratados do governo. A demanda cresceu muito, e tudo leva a
crer que este crescimento ainda perdurar por algum tempo, trazendo um grande volume de trabalho e
problemas para quem atua na rea.
No Brasil, a Internet chegou com a RNP (Rede Nacional de Pesquisa), um projeto bancado pelo
CNPq (juntamente com organismos internacionais) com o objetivo de criar uma infra-estrutura nacional
de rede, interligando instituies de ensino e pesquisa. A RNP uma realidade hoje. As principais
universidades e centros de pesquisa do pas hoje possuem acesso RNP e Internet (existe ao menos um
ponto de presena em cada estado brasileiro, com diferentes velocidades de acesso).
Arquiteturas de Redes
49
5.1
INTRODUO
O objetivo da camada Fsica assegurar o transporte dos dados, representados por um conjunto
de bits, entre dois equipamentos terminais, via um suporte de transmisso.
Abordaremos, nesta parte do documento, os principais aspectos e problemas relacionados
transmisso de dados, como, os suportes de transmisso, os modos de transmisso, a multiplexao e a
comutao. Ainda nesta seo, sero vistos alguns exemplos de interfaces fsicas padronizadas e adotadas
em muitas aplicaes e arquiteturas de comunicao.
5.2
OS SUPORTES DE TRANSMISSO
50
metlica condutora em cobre. Finalmente, o conjunto envolto numa capa de proteo em plstico
isolante.
Em relao aos pares de fios tranados, os cabos coaxiais apresentam melhores caractersticas
eltricas, oferecendo um boa relao entre a banda passante e a proteo contra interferncias
eletromagnticas.
A largura de banda vai depender igualmente da qualidade da composio do cabo e do seu
comprimento. Para distncias em torno de 1 km, possvel obter uma taxa de transmisso em torno de 10
Mbits/segundo, podendo-se obter taxas superiores para distncias mais curtas. Os cabos coaxiais so
altamente utilizados como suporte de transmisso nas Redes Locais Industriais.
A informao transmitida pelos cabos coaxiais geralmente codificada sob a forma de um sinal
binrio, onde os dgitos 0 e 1 so representados por dois diferentes nveis... por exemplo, 1 volt para o bit
1 e 0 volt para o bit 0. Esta forma de codificao, embora seja uma conveno bastante adequada, no
permite ao receptor do sinal detectar o incio e o fim da transmisso de um dgito binrio.
51
O mtodo SDM pode ser realizado de duas formas. A primeira delas baseia-se na utilizao de
antenas direcionais que emitem sinais de rdio de alta freqncia concentrados em feixes. Esse mtodo
usualmente empregado em enlaces de microondas e permite que uma mesma freqncia possa ser
reutilizada desde que os feixes de ondas sejam transmitidos em regies distintas do espao. A outra forma
de realizao do SDM estruturar a rede em clulas, isto , dividir a rea total da rede em vrias reas
menores ( clulas), que normalmente possuem a forma de hexgonos. O funcionamento dos sistemas
celulares baseia-se na rpida diminuio da potncia do sinal de rdio medida que se propaga. No
espao livre, a potncia do sinal decai aproximadamente com o quadrado da distncia do transmissor, e
quando as antenas esto prximas ao solo, a potncia diminui com aproximadamente a Quarta potncia da
distncia. Essa caracterstica torna possvel a reutilizao da mesma freqncia, quando os transmissores
esto suficientemente distantes uns dos outros.
As rede sem fio normalmente utilizam freqncia altas em suas transmisses: 915 MHz, 2.4 GHz
, 5.8 GHz, etc. Parte das ondas de rdio, nessas freqncias , so refletidas quando entram em contato
com objetos slidos, o que implica na formao de diferentes caminhos entre transmissor e receptor,
principalmente em um ambiente fechado. Como conseqncia acontece um espalhamento de no tempo do
sinal que chega ao receptor, isto , vrias cpias do sinal chegam ao receptor deslocadas no tempo, pois
elas percorrem distncias diferentes. O resultado disso que, no mesmo ambiente , em alguns locais o
sinal pode ser muito fraco e em outros, a poucos metros de distncia, pode ser perfeitamente ntido.
Outras consideraes importantes dizem respeito a segurana quando este sistema utilizado.
Teoricamente no existe fronteiras para um sinal de rdio, logo, possvel que ele seja captado por
receptores no autorizados. Outro cuidado que deve ser tomado ao se utilizar radiodifuso como meio de
transmisso a possvel interferncia, provocada por fontes que geram sinais na mesma banda de
freqncia da rede. Alguns outros problemas esto relacionados a interferncias por razes
meteorolgicas, por exemplo, quando da utilizao de infravermelho.
5.3
a fonte de informao, que pode ser um computador ou um terminal, por exemplo, que
gera as informaes que devero ser transmitidas, estas sendo representadas, usualmente,
por um conjunto de dgitos binrios, ou bits;
o receptor, responsvel pela reconstituio da informao a partir dos sinais recebidos via
suporte de transmisso, e que, inclusive pode ter sofrido distores provocadas por rudos
existentes no meio;
Arquiteturas de Redes
52
RUDO
FONTE DE
INFORMAO
BINRIA
TRANSMISSOR
SUPORTE DE TRANSMISSO
RECEPTOR
DESTINATRIO
DA
INFORMAO
BINRIA
(a)
RUDO
FONTE OU
DESTINATRIO
INFORMAO
BINRIA
TRANSMISSOR
TRANSMISSOR
SUPORTE DE TRANSMISSO
RECEPTOR
RECEPTOR
FONTE OU
DESTINATRIO
INFORMAO
BINRIA
(b)
Figura 5.1 - (a) Sistema de transmisso ponto-a-ponto unidirecional; (b) modelo bidirecional.
Geralmente, a transmisso a nvel de bits pode ser realizada de forma bidirecional, esta podendo
ainda ser realizada de forma alternada ou simultnea. Assim, a cada n dever estar associado um
equipamento transmissor e um receptor compondo o conjunto transceptor como mostrado na figura
5.1(b).
A transmisso de dados, quando realizada nos dois sentidos denominada duplex. No caso em
que ela se realiza alternadamente, ou seja, ora num sentido, ora no outro, ela se denomina half-duplex. No
caso em que ela se realiza simultaneamente nos dois sentidos, esta ser denominada full-duplex.
Os modos de transmisso caracterizam as diferentes formas como os bits de informao
transmitidos so delimitados e encaminhados ao longo da linha de comunicao.
No que diz respeito forma como os bits so encaminhados ao longo de uma linha de
comunicao, pode-se distinguir o modo de transmisso paralelo e o modo serial.
Na transmisso paralela, os bits so transportados simultaneamente por um suporte composto
de vrias linhas em paralelo. um modo de transmisso mais adequado comunicao entre
equipamentos localizados a curtas distncias. A ligao interna na arquitetura de computadores ou entre
computadores e perifricos prximos so exemplos da aplicao da transmisso paralela.
Na transmisso serial, mais adequada a comunicao entre equipamentos separados por grandes
distncias, os bits so encaminhados serialmente atravs de uma nica linha de comunicao. Pode-se
considerar outros parmetros para a classificao dos modos de transmisso, como, por exemplo, o fator
tempo. No caso particular das transmisses seriais, a forma de delimitar os bits pode levar em conta duas
diferentes filosofias a transmisso serial sncrona e a transmisso serial assncrona.
Na transmisso sncrona, os bits de dados so transmitidos segundo uma cadncia pr-definida,
obedecendo a um sinal de temporizao (clock). O receptor, por sua vez, conhecendo os intervalos de
tempo permitindo delimitar um bit, poder identificar a seqncia dos bits fazendo uma amostragem do
sinal recebido.
Na transmisso assncrona, no existe a fixao prvia de um perodo de tempo de emisso
entre o transmissor e o receptor. A separao entre os bits feita atravs de um sinal especial com
durao varivel. Um caso tpico de transmisso assncrona a transmisso de caracteres; neste caso, a
cada grupo de bits constituindo um caractere so adicionados bits especiais para representar o incio (start
bit) e final deste (stop bit). Neste tipo de comunicao, apesar de assncrona ao nvel de caracteres, ocorre
uma sincronizao ao nvel de bit.
Um outro aspecto a ser destacado aqui aquele da forma como os sinais so transmitidos num
suporte de comunicao, particularmente no que consiste maneira como a banda passante do canal de
comunicao explorada.
No primeiro modo, a transmisso em banda de base (baseband), a banda passante do suporte
de transmisso atribuda totalmente a um nico canal de transmisso. Neste modo, os sinais so
transmitidos atravs do meio de comunicao multiplexados no tempo.
No segundo modo, a transmisso em barda larga (broadband), a banda passante do suporte de
transmisso dividida num determinado nmero de canais de faixa de freqncia estreita, permitindo que
Arquiteturas de Redes
53
estes possam ento ser transmitidos utilizando uma tcnica de multiplexao em freqncia. A banda
passante dos canais normalmente definida em funo da taxa de transmisso desejada e do modo de
modulao empregado. Neste modo de transmisso, cada canal pode atingir uma taxa de transmisso de
at 3 Mbits/s, inferior, portanto, transmisso em banda de base.
Arquiteturas de Redes
54
6.1
INTRODUO
A camada de Enlace de Dados tem por funo oferecer uma forma de comunicao confivel
entre entidades da Camada de Rede. Neste captulo veremos os mecanismos que permitem uma
comunicao eficiente e confivel entre duas mquinas adjacentes, ou seja, duas mquinas que esto
fisicamente conectadas atravs de uma canal de comunicao que funciona como um fio.
Dentre os fatores com os quais a camada de Enlace deve preocupar-se esto:
6.2
A camada de Enlace de Dados oferece servios para a camada de Rede classificados em trs
principais categorias, estas dependendo do sistema no qual elas sero implantadas:
55
camada de enlace
camada de rede
request
indication
response
confirm
sistema A
sistema B
6.3
AS PRIMITIVAS DE ENLACE
Transferncia de dados
Encerramento de conexo
Reinicicializao da conexo
Arquiteturas de Redes
PRIMITIVAS
DL_CONNECT.request
DL_CONNECT.indication
DL_CONNECT.response
DL_CONNECT.confirm
DL_DATA.request
DL_DATA.indication
DL_DISCONNECT.request
DL_DISCONNECT.indication
DL_RESET.request
DL_RESET.indication
DL_RESET.response
DL_RESET.confirm
56
Controle de fluxo
DL_FLOWCONTROL.request
DL_FLOWCONTROL.indication
PRIMITIVAS
DL_DATA_ACK.request
DL_DATA_ACK.indication
DL_DATA_ACK_STATUS.indication
DL_REPLY_ACK.request
DL_REPLY_ACK.indication
DL_REPLY_ACK_STATUS.indication
DL_REPLY_UPDATE.request
DL_REPLY_UPDATE_STATUS.indication
Solicitao de resposta
Atualizao de resposta
6.4
O CONCEITO DE QUADRO
Para que o servio seja oferecido camada de Rede, a camada de Enlace utiliza-se dos servios
fornecidos pela camada Fsica que, como j foi descrito na parte precedente, responsvel da transmisso
de bits de um ponto a outro na rede de comunicao, sendo que o conjunto de bits transmitido pode sofrer
distores produzindo erros de transmisso. Uma conseqncia tpica pode ser que o nmero de bits
recebidos seja inferior ao nmero de bits enviados ou os valores de alguns bits podem ter sido
modificados.
Com o objetivo de permitir um controle de erro eficiente, a camada de Enlace decompe as
mensagens em pores menores denominadas quadros, aos quais so adicionados cdigos especiais de
controle de erro. Desta forma, o receptor pode verificar se o cdigo enviado no contexto de um quadro
indica ou no a ocorrncia de erros de transmisso e ele pode, assim, tomar as providncias necessrias
para evitar as conseqncias devido quele erro.
A delimitao dos quadros pode obedecer a diferentes polticas. Uma das polticas adotadas
pode ser a contagem de caracteres. Nesta poltica, introduzido um caracter especial que indica o nmero
de caracteres compondo o quadro. Deste modo, a nvel da camada de Enlace do receptor, basta que a
entidade leia este caractere e em seguida conte o nmero de caracteres para definir o tamanho do quadro.
O inconveniente desta tcnica, portanto, o fato de que o caractere que define o tamanho do quadro pode
ser modificado, o que significa que o receptor vai ler, erroneamente os quadros transmitidos. A figura 6.2
ilustra este problema.
contadores de caracteres
(a)
quadro1 (5 car.)
quadro2 (5 car.)
erro
(b)
quadro3 (8 car.)
contador de caracteres
Figura 6.2 - Seqncia de caracteres: (a) sem erro; (b) com erro.
Uma tcnica que apresenta uma soluo a este problema consiste na adio de seqncias
especiais de caracteres de modo a representar o incio e fim da transmisso de um quadro.
A figura 6.3 ilustra um caso relativo a esta tcnica, onde as seqncias de caracteres DLE (Data
Link Escape) e STX (Start of TeXt) so inseridas para representar o incio de um quadro e a seqncia
DLE e ETX (End of TeXt) para representar o fim do quadro. Esta tcnica apresenta, ainda, um ponto de
Arquiteturas de Redes
57
vulnerabilidade: se, dentro do texto, dado que os bits podem assumir qualquer combinao de valores,
uma seqncia de bits coincide com uma das seqncias de caracteres citada, a entidade receptora na
camada de Enlace pode ser enganada por esta seqncia e, assim, receber erroneamente o quadro.
(a)
DLE
STX
DLE
DLE
ETX
(b)
DLE
STX
DLE
DLE
DLE
ETX
Figura 6.3 - (a) Dados enviados pela camada de Rede com seqncias de delimitao; (b) idem, com
introduo dos caracteres de transparncia.
A soluo para este problema vem atravs da introduo, pela entidade de Enlace emissora, de
um caractere DLE a cada vez que, uma seqncia de bits correspondente parte de dados, coincidir com
um caractere DLE. Desta forma, basta entidade de dados receptora eliminar os caracteres DLE dos
dados antes de transmiti-los camada de Rede. Isto vai permitir ento, s entidades receptoras de Enlace,
fazer a distino entre as seqncias delimitadoras de quadro (DLE-STX e DLE-ETX) das seqncias
acidentais nos dados. Os caracteres DLE introduzidos a nvel dos dados so denominados caracteres
de transparncia.
Uma tcnica ainda utilizada e definida mais particularmente para a utilizao em redes de
comunicao aquela em que os quadros so delimitados por uma seqncia de bits particular, mas desta
vez dissociados da codificao de caracteres. A seqncia 01111110 adotada para representar a
delimitao dos quadros.
De maneira anloga utilizao dos caracteres de transparncia da tcnica anterior, bits de
transparncia (ou bit stuffing) so introduzidos, antes do envio de dados, para evitar a confuso, por
parte do receptor, com os delimitadores de quadro. Assim, no receptor, a cada vez que 5 bits 1
consecutivos so detectados na parte de dados, um bit 0 adicionado aps a seqncia. Do lado do
receptor, a cada vez que ocorrer uma seqncia de 5 bits 1 consecutivos de dados seguidos de um bit 0,
este ltimo ser eliminado da parte de dados. A figura 6.4 ilustra a aplicao desta tcnica. Em 6.4(a) so
apresentados os dados originais e, em 6.4(b), os mesmos dados com a introduo dos bits de
transparncia.
(a)
(b)
bit de transparncia
Figura 6.4 - (a) dados originais; (b) dados com adio do bit de transparncia.
6.5
O CONTROLE DE ERRO
Os erros que por vezes ocorrem nos suportes de transmisso podem ter como causas os mais
diversos fenmenos fsicos, como por exemplo, o rudo trmico, provocado pela agitao dos eltrons nos
cabos de cobre. Outro fenmeno importante so os rudos impulsivos, capazes de provocar, numa linha
transmitindo dados a 9600 bit/s, a perda de 96 bits. Os rudos impulsivos so causados pelos arcos devido
ao chaveamento de rels ou outros dispositivos eletromecnicos. O que se tem notado, entretanto, que,
Arquiteturas de Redes
58
independentemente do fenmeno causador de erro, estes tendem a gerar normalmente verdadeiros pacotes
de erros e no erros simples. Isto pode ter um aspecto positivo, uma vez que, num conjunto relativamente
grande de bits, um menor nmero de pacotes vai conter erros. Por outro lado, os erros agrupados em
pacotes so mais difceis de detectar.
O controle de erros de transmisso uma das funes mais importantes asseguradas pela camada
de Enlace. Esta funo baseada na possibilidade de informao para entidade emissora da mensagem do
que ocorreu na extremidade de recepo.
Os protocolos de controle de erro so caracterizados, em geral, pela definio de um quadro de
controle, correspondente a um reconhecimento positivo ou negativo. Caso a entidade emissora receba um
reconhecimento positivo de um quadro previamente enviado, ela entende que aquele foi corretamente
recebido. Por outro lado, se ela recebe um reconhecimento negativo, ficar consciente que o quadro foi
mal transmitido e que, neste caso, ele dever ser retransmitido.
Ainda, se, por uma intensidade relativamente forte de rudo, o quadro inteiro no recebido pela
entidade destinatria, esta no vai reagir ao quadro emitido e a entidade emissora corre o risco de esperar
indefinidamente pelo reconhecimento isto evitado pela adio de temporizadores, estabelecendo
assim um tempo mximo de espera pelo reconhecimento, antes da retransmisso. O tempo de espera deve
ser determinado em funo dos atrasos relativos transmisso dos quadros, de modo que os quadros de
reconhecimento, se existentes, cheguem antes do esgotamento da temporizao (timeout).
Deste modo, se o quadro ou o reconhecimento so perdidos, a temporizao ser esgotada,
podendo provocar a retransmisso do quadro. Neste caso, possvel que o quadro seja aceito mais de uma
vez pela camada de Enlace e transmitido camada de Rede ocorrendo a duplicao de quadros. Para
evitar este problema, deve-se introduzir um mecanismo de distino dos quadros a fim de que o receptor
possa separar os quadros duplicados de seus originais.
Existem praticamente duas tcnicas para a correo de erro. A primeira, consiste na introduo, a
nvel dos quadros, de informaes redundantes que permitam ao receptor reconstituir os dados enviados a
partir da informao recebida. A segunda tcnica consiste em adicionar unicamente um conjunto de
informaes redundantes o suficiente para que o receptor possa detectar a ocorrncia de um erro (sem
corrigi-lo) e requisitar a retransmisso do quadro. Ao primeiro tipo de informao dado o nome de
cdigo corretor e ao segundo tipo de informao cdigo detetor.
11
10
Arquiteturas de Redes
59
12
12
11
10
11
10
BCC
Arquiteturas de Redes
60
de coeficientes de um polinmio de k termos, indo de X k-1 a X 0. A palavra 110001 contm 6 bits ela
representa ento o seguinte polinmio: x5 + x4 + x0.
A utilizao de cdigos de deteco polinomiais baseada na escolha de um cdigo especial que
caracteriza um polinmio gerador, ou G(x). Uma exigncia em relao a este polinmio que os bits
mais significativo e menos significativo (correspondendo, respectivamente aos coeficientes de mais alta
ordem e de mais baixa ordem do polinmio) sejam de valor 1. A tcnica consiste em adicionar a um bloco
de dados (caracterizando um polinmio M(x)) um conjunto de bits de controle de modo que o quadro
(dados + bits de controle) seja divisvel por G(x). Na recepo, a entidade de Enlace efetua a diviso dos
bits compondo o quadro pelo polinmio gerador. Caso o resto seja diferente de zero, caracterizada ento
a ocorrncia de um erro de transmisso.
O algoritmo para clculo do CRC pode ser exemplificado da seguinte forma:
faa r ser o grau de G(x); acrescente r bits zero extremidade de mais baixa ordem do
quadro, de modo que agora contenha m+r bits, e corresponda ao polinmio xrM(x);
divida o string de bits correspondente a xrM(x) pelo string de bits correspondente a G(x)
usando a diviso de mdulo 2 (equivalente ao ou exclusivo);
subtrair o resto (que tem sempre r ou menos bits) do string de bits correspondente a xrM(x)
usando a subtrao de mdulo 2; o resultado o quadro com CRC a ser transmitido; chame
o polinmio desse quadro de T(x).
Ilustrando:
polinmio gerador:
x4 + x + 1, ou 10011
61
(timeout) e fica aguardando a chegada do reconhecimento desse quadro (A0). Se aps decorrido o
intervalo de temporizao o reconhecimento no chegar ou se chegar um reconhecimento de quadro 1
(A1) indicando que o quadro 0 foi recebido com erro ou no chegou ao destino, o transmissor entra em
estado 4, retransmite o quadro 0 e volta ao estado 3. Quando o transmissor encontra-se no estado 3 e
recebe o reconhecimento do quadro 0, ele passa para o estado 5. No estado 5, quando o transmissor tiver
dados para transmitir ele passa para o estado 6, envia um quadro 1 (D1), passa para o estado 7, e dispara
um temporizador enquanto aguarda o reconhecimento do quadro 1. Com o transmissor no estado 7, se o
reconhecimento no chegar dentro do limite de tempo do temporizador ou se ele receber um
reconhecimento de um quadro 0, ele passa para o estado 8, retransmite o quadro 1 e volta para o estado 7.
No estado 7, quando o transmissor recebe o reconhecimento de um quadro 1 ele passa para o estado 1.
Note no diagrama que a chegada do reconhecimento negativo nos estados 3 e 7 acelera o procedimento,
pois o transmissor no precisa aguardar at o fim do timeout para retransmitir o quadro perdido.
8
Transmite D1
Recebe A1
8
Timeout
ou
Recebe A0
Dados a transmitir
Transmite D1
Transmite A1
Erro
ou
Recebe D1
1
Recebe D0
7
Transmite A1
Entrega dados
Entrega dados
Transmite D0
Dados a transmitir
Timeout
ou
Recebe A1
Recebe A0
Transmite D0
Transmite A0
Erro
ou
Recebe D0
Transmissor
Recebe D1
5
Transmite A0
Receptor
Arquiteturas de Redes
62
Transmissor
Receptor
Quadro 0
Quadro 0
ACK0
Intervalos de
Timeout
ACK0
Quadro 1
Quadro 1
Quadro 1
Quadro 1
ACK1
ACK1
Quadro 1
Quadro 1
ACK1
ACK1
Intervalo de timeout
A1
A2
A5
10
A7
Quadros descartados
Arquiteturas de Redes
63
Intervalos de timeout
A0
A1
10
A8
Quadros bufferizados
11
12
A9
10
11
Quadros descartados
6.6
O CONTROLE DE FLUXO
Arquiteturas de Redes
64
TRANSMISSOR
0
1 2
RECEPTOR
0
envia um quadro
0
1 2
recebe um quadro
0
1 2
envia um quadro
0
1 2
recebe um quadro
0
1 2
envia um quadro
0
1 2
recebe um quadro
1 2
1 2
6.7
A estratgia adotada na elaborao dos padres de protocolos de enlace de dados para redes
locais (IEEE 802) foi definir mais de um padro de forma a atender aos requisitos dos sistemas usurios
da rede. Na verdade, a arquitetura IEEE 802 pode ser vista como uma adaptao das duas camadas
inferiores da arquitetura RM-OSI da ISO. Nesta arquitetura existem 3 camadas, ou seja, uma equivalente
camada fsica e duas sub-camadas que juntas eqivalem a camada de enlace. Elas so assim
denominadas:
Arquiteturas de Redes
65
Estas quatro funes so fornecidas pelo nvel de enlace do RM-OSI. A primeira funo, as subfunes a ela relacionadas, so agrupadas pelo IEEE 802 na camada Logical Link Control (LLC). As trs
restantes so tratadas em uma camada separada, chamada Medium Access Control (MAC), que podem,
ento ser otimizadas para as diferentes topologias de redes locais, mantendo uma interface nica, a
camada LLC, para os usurios da rede local.
A sub-camada de Controle de Acesso ao Meio (MAC) especifica os mecanismos que permitem
gerenciar a comunicao a nvel de Enlace de Dados. Em particular, a sub-camada MAC fornece os
servios que permitem disciplinar o compartilhamento de um meio de transmisso comum aos sistemas
usurios da rede. As unidades de transferncia de informao ao nvel da sub-camada MAC
correspondem aos quadros MAC.
A existncia da sub-camada MAC na arquitetura IEEE 802 reflete uma caracterstica prpria das
redes locais, que a necessidade de gerenciar enlaces de dados com origens e destinatrios mltiplos num
mesmo meio fsico de transmisso, como no caso das topologias em anel e barramento. Alm disso, a
existncia da sub-camada MAC permite o desenvolvimento da sub-camada superior (LLC) com um certo
grau de independncia da camada fsica, no que diz respeito topologia e ao meio de transmisso
propriamente dito. Por outro lado, a prpria sub-camada MAC bastante sensvel a esses elementos.
Os mecanismos de controle de acesso distribudo apresentam uma forte dependncia quanto
topologia da sub-rede de comunicao. Um resultado das diferentes caractersticas topolgicas a
existncia de tcnicas de controle de acesso exclusivas a uma determinada topologia. Alguns mecanismos
de acesso podem ser implementados em topologias diferentes (barramento e anel) mas esta no a regra
geral.
A sub-camada de Controle de Enlace Lgico (LLC) a camada da arquitetura IEEE 802 que se
encarrega de prover s camadas superiores os servios que permitem uma comunicao confivel de
seqncia de bits (quadros) entre os sistemas usurios da rede. A especificao da sub-camada LLC prev
a existncia de trs tipos de servios bsicos, fornecidos camada superior.
Um primeiro servio oferecido pela sub-camada LLC permite que as unidades de informao
sejam trocadas sem o estabelecimento prvio de uma conexo a nvel de enlace de dados. Neste tipo de
servio no h, portanto, nem controle para recuperao de erros ou anomalias, nem controle da cadncia
de transferncia das unidades de dados (controle de fluxo). suposto que as camadas superiores possuam
tais mecanismos de modo a tornar desnecessria sua duplicao nas camadas inferiores.
Um segundo servio fornecido pela sub-camada LLC consiste no estabelecimento de uma
conexo a nvel de enlace de dados, antes da fase de troca de dados propriamente dita, de modo a
incorporar as funes de recuperao de erros, de seqenciamento e de controle de fluxo.
O terceiro refere-se a um servio sem conexo com reconhecimento utilizado em aplicaes que
necessitam de segurana mas no suportam o overhead de estabelecimento de conexo.
6.8
Alguns protocolos de enlace, apesar de antigos, so os mais usados e conhecidos. Todos eles so
derivados do protocolo de enlace de dados utilizado na SNA da IBM, o SDLC (Synchronous Data Link
Control). Depois de desenvolver o SDLC a IBM o submeteu ao ANSI e ISO para sua aceitao como
padro nos Estados Unidos e no mundo, respectivamente. O ANSI o modificou, tornando-o conhecido
como ADDCP (Advanced Data Communication Control Procedure), e a ISO o alterou transformando-o
no HDLC (High-level Data Link Control). Depois, O CCITT adotou e modificou o HDLC e o
transformou no LAP (Link Access Procedure), como parte do padro de interface de rede X.25. No
entanto, posteriormente o CCITT modificou o padro novamente e passou a cham-lo LAPB, a fim de
torn-lo mais compatvel com uma verso posterior do HDLC. Todos estes protocolos se baseiam nos
mesmos princpios, todos so baseados em bits e utilizam a tcnica de insero de bits (bit stuffing) para
transparncia de dados pois utilizam uma seqncia pr-definida de bits para inicializao de quadros.
Eles diferem entre si em pequenos (e irritantes!) detalhes.
Todos os protocolos orientados a bit utilizam uma estrutura de quadros similar a apresentada na
figura 6.10 a seguir.
Arquiteturas de Redes
66
bits
01111110
endereo
controle
dados
16
soma de verificao
01111110
Arquiteturas de Redes
67
7.1
INTRODUO
multiplexao;
endereamento;
seqenciao.
Os mecanismos relacionados funes de interconexo de redes merecero uma parte dedicada
especialmente para este assunto.
7.2
A camada de Rede oferece servios camada de Transporte na interface entre estas duas
camadas. Geralmente esta interface tem importncia especial por outra razo: costuma ser a interface
entre a concessionria de comunicaes e o cliente, ou seja, a fronteira da sub-rede. Em geral, a
concessionria de comunicaes tem o controle dos protocolos e interfaces at (e inclusive) a camada de
rede. Sua tarefa entregar pacotes que recebe a seus clientes. Por isso esta interface deve ser
especialmente bem definida.
Os servios da camada de Rede foram projetados com os seguintes objetivos em mente:
a camada de Transporte deve ser protegida contra a quantidade, o tipo e a topologia das subredes presentes;
os endereos de rede que se tornaram disponveis para a camada de Transporte devem usar
um plano de numerao uniforme, mesmo nas LANs e WANs.
Segundo a bibliografia, uma das primeiras e mais importantes discusses realizadas no que diz
respeito concepo da camada de Rede foi a questo do tipo de servio a ser oferecido s camadas
superiores, particularmente relacionado existncia ou no de conexo. De um lado, representado pela
Arquiteturas de Redes
68
comunidade Internet, havia a alegao de que a tarefa da sub-rede somente a de movimentar bits. Nesta
viso, baseada na experincia com o uso de mais de 30 anos com uma rede ativa e real, a sub-rede
inerentemente digna de confiana, independente de como tenha sido projetada. Portanto, os hosts devem
aceitar esse fato e eles prprios fazerem o controle de erros e de fluxo. Esse ponto de vista leva
rapidamente concluso de que o servio de rede deve ser sem conexo, praticamente restrito s
primitivas SEND PACKET e RECEIVE PACKET.
O outro lado, representado pelas companhias telefnicas, alegava que a sub-rede deve fornecer
um servio orientado a conexo confivel. Elas afirmavam que os 100 anos de experincia bem sucedida
com o sistema telefnico mundial deveriam servir como guia. De acordo com isso, as conexes devem,
ento, ter as seguintes propriedades:
1. Antes de enviar dados, um processo da camada de Rede do lado transmissor deve
estabelecer uma conexo com seu par do lado receptor. Essa conexo, qual atribudo um
identificador especial, ser utilizada at que todos os dados tenham sido enviados, momento
em que explicitamente encerrada.
2. Quando uma conexo estabelecida, os dois processos podem entrar em negociao sobre a
qualidade e o custo do servio a ser oferecido.
3. A comunicao feita em ambas as direes, e os pacotes so entregues em seqncia.
4. O controle de fluxo fornecido automaticamente para impedir que um transmissor rpido
descarregue pacotes na rede em uma taxa mais alta do que o receptor capaz de receb-los,
gerando overflow.
Outras propriedades, como entrega garantida, confirmao explcita de entrega e pacotes de alta
prioridade so opcionais. Na verdade a grande diferena entre o servio orientado a conexo e o no
orientado a conexo diz respeito a complexidade. No servio orientado a conexo, o elemento mais
complexo a camada de Rede; no servio sem conexo, a complexidade fica por conta da camada de
Transporte (nos hosts).
Apesar de raramente serem discutidas nestes termos, duas questes distintas esto envolvidas
aqui. Primeiro, se a rede ou no orientada a conexo, segundo se ela confivel ou no. Numa rede
confivel no h pacotes perdidos, duplicados ou adulterados, e numa rede no confivel pode haver
perda, duplicao ou adulterao de pacotes. Na teoria, as quatro combinaes existem, mas as
combinaes dominantes so: orientada a conexo/confivel e sem conexo/no confivel.
Essas duas opes so representadas por dois exemplo a seguir. A Internet tem uma camada de
rede sem conexo, e as redes ATM tm sua camada de rede orientada conexo. Uma questo importante
surge em relao ao funcionamento da Internet quando ela executada em uma sub-rede fornecida por
uma concessionria de comunicao baseada no modelo ATM. A resposta que o host de origem
primeiro estabelece uma conexo de camada de rede ATM com o host de destino e s depois envia
pacotes independentes (pacotes IP) atravs dela, como mostra a figura 7.1 a seguir. Apesar de funcionar,
esta estratgia ineficiente, pois h uma mesma funcionalidade em ambas as camadas. Por exemplo, a
camada de rede ATM garante que os pacotes so sempre entregues em ordem, mas o cdigo TCP ainda
contm o mecanismo completo para gerenciamento e reordenao de pacotes fora de ordem.
e-mail
FTP
TCP
IP
ATM
Enlace de dados
Fsica
....
Arquiteturas de Redes
69
servio sem
conexo
servio orientado
conexo
APLICAO
APRESENTAO
SESSO
TRANSPORTE
REDE
ENLACE
SAP
FSICA
usurio
2
usurio
1
usurio
2
NSAPs
NSAPs
camada Rede
(a)
usurio
1
usurio
2
NSAPs
camada Rede
(b)
camada Rede
(c)
Figura 7.3 - Modelo de uma conexo de Rede: (a) antes do estabelecimento; (b) aps o estabelecimento;
(c) aps o envio de trs pacotes (de 1 para 2).
7.3
Arquiteturas de Redes
70
Por outro lado, no caso de uma sub-rede de datagrama, nenhuma rota previamente definida,
mesmo que o servio seja orientado a conexo. Cada pacote enviado roteado independentemente de
seus antecessores. Os sucessivos pacotes podem seguir diferentes rotas. Apesar das sub-redes de
datagrama terem de trabalhar mais, elas tambm costumam ser mais robustas e se adaptam com mais
facilidade a falhas e congestionamento do que as sub-redes de circuito virtual.
Todas as duas metodologias tm seus prs e contras. A tabela a seguir apresenta uma
comparao entre as sub-redes de circuito virtual e de datagrama.
Questo
Configurao de circuito
Endereamento
Informaes sobre
estado
Roteamento
Efeito de falhas no
roteador
Controle de
congestionamento
Sub-rede em datagrama
Desnecessria
Vale a pena assinalar explicitamente que o servio oferecido (orientado conexo ou sem
conexo) uma questo parte da estrutura das sub-redes (circuito virtual ou datagrama). Na teoria, todas
as quatro combinaes so possveis. claro que uma implementao de circuito virtual de um servio
orientado conexo e uma implementao de datagrama de um servio sem conexo so razoveis. A
implementao de conexes usando datagramas tambm faz sentido quando a sub-rede est tentando
fornecer um servio altamente robusto. Uma comparao, atravs de exemplos, entre todas as quatro
possibilidades pode ser analisada na tabela a seguir.
Tipo de Sub-rede
Datagrama
7.4
Sem conexo
UDP
sobre
IP
Orientado conexo
TCP
sobre
IP
Circuito Virtual
UDP
sobre
IP sobre
ATM
AAL1 (ATM)
sobre
ATM
Arquiteturas de Redes
71
Arquiteturas de Redes
72
As primitivas N-UNITDATA so utilizadas para o envio de dados no servio sem conexo; elas
no oferecem nem controle de erros nem de fluxo. N_FACILITY o servio que permite ao usurio obter
informaes sobre as caractersticas da transmisso de informao, por exemplo, a porcentagem de
pacotes distribudos.
Finalmente, a primitiva N_REPORT permite camada de Rede informar a ocorrncia de
problemas relativos ao servio de Rede, como, por exemplo, a indisponibilidade momentnea de um
determinado endereo destinatrio.
7.5
O ENDEREAMENTO DE REDE
O endereamento dos pontos de acesso ao servio de rede (SAPs de rede) deve ser
completamente independente dos demais endereamentos dos outros nveis de protocolo. Basicamente
dois tipos de endereamento so possveis: o hierrquico e o horizontal.
No endereamento hierrquico o endereo constitudo de acordo com os endereos
correspondentes aos vrios nveis de hierarquia de que faz parte. Um exemplo comum um endereo de
SAP de rede formado pelo nmero da rede a que pertence, pelo nmero da estao dentro dessa rede e
pelo nmero da porta associada. O protocolo IP da Arpanet um exemplo de utilizao de endereo
hierrquico, onde a identificao de um SAP de rede (nico por estao) formada pelo endereo da rede
e pelo endereo da estao.
O endereo hierrquico tambm o mtodo sugerido pelo ITU-T, atravs da recomendao
X.121, para interconexo de redes pblicas de pacotes. Nessa recomendao os endereos so decimais
formados por trs campos: um cdigo do pas (trs dgitos), um cdigo para a rede (um dgito no
mximo dez redes) e um campo para o endereamento dentro da rede (dez dgitos).
No endereamento horizontal, os endereos no tm relao alguma com o lugar onde esto as
entidades dentro da rede. Um exemplo comum desse tipo de endereamento seriam os endereos
globalmente administrados, constitudos pelo nmero de assinatura do usurio, como utilizados pelo
padro IEEE802.
Consideraes sobre o roteamento parecem indicar vantagens na utilizao de endereos
hierrquicos, uma vez que estes contm informaes explcitas sobre o local onde se localizam as
entidades, informaes que podem ser usadas quando necessrio. J o endereo horizontal, por ser
independente da localizao, vai facilitar os esquemas de reconfigurao por permitir uma mobilidade das
entidades sem renumerao das mesmas.
O mapeamento do endereo de um SAP de rede em um endereo de sub-rede (muitas vezes o
endereo no nvel de enlace se a rede no possui a subcamada de acesso sub-rede do RM-OSI) para o
envio de pacotes uma tarefa a ser resolvida pelo nvel de rede (subcamada dependente da sub-rede).
Existem duas tcnicas usuais para essa converso: resoluo atravs de mapeamento direto e resoluo
atravs de vinculao dinmica.
No mapeamento direto, a estao sabe como computar, de modo eficiente, o endereo de subrede, atravs de uma funo que mapeia o endereo inter-redes no endereo de sub-rede. Por exemplo,
suponha o caso do endereamento hierrquico onde o campo de endereo de estao corresponde
exatamente ao endereo da estao no nvel da sub-rede. Neste caso a converso trivial. Converses
mais complicadas podem ser realizadas atravs de tabelas de converso e tcnicas de acesso rpido a estas
tabelas.
Para evitar o uso de tabelas de converso, uma vinculao dinmica pode ser efetuada entre o
endereo da inter-rede e o endereo da sub-rede, atravs da utilizao de algum protocolo de resoluo.
Por exemplo, suponha o caso extremo onde a cada comunicao enviada uma mensagem a toda a interrede, argindo o endereo de sub-rede correspondente ao SAP de rede do destino. A estao de destino
responderia requisio enviando seu endereo de sub-rede, possibilitando ao SAP de rede de origem
realizar a comunicao.
Uma questo, neste caso : uma vez que se est enviando uma mensagem por difuso argindo o
endereo de sub-rede, por que no enviar diretamente os dados por difuso? A razo vem do fato de que a
realizao de difuso toda vez que se quer enviar um pacote, muito custosa, em termos de trfego
gerado na rede e de processamento que cada estao tem que realizar, quer o pacote seja destinado a ela
ou no. Para reduzir esses custos, as estaes mantm em memria cache os endereos de sub-rede
recentemente requeridos e sua vinculao com os endereos dos SAPs de rede, de forma a no ter de
realizar o protocolo de resoluo a todo pacote transmitido.
Arquiteturas de Redes
73
7.6
A FUNO DE ROTEAMENTO
No modo isolado a atualizao realizada com base nas filas de mensagens para os diversos
caminhos e outras informaes locais.
74
Um exemplo de algoritmo do caminho mais curto aquele definido por Dijkstra, onde cada n
etiquetado pela distncia do n fonte seguindo o caminho mais curto conhecido. Como, inicialmente,
nenhum caminho conhecido, os ns so etiquetados com a etiqueta infinito, ou ..... Estas vo sendo
atualizadas medida que o algoritmo progride e que os caminhos vo se tornando conhecidos. As
etiquetas vo indo do provisrio ao permanente uma vez que o caminho mais curto foi encontrado para os
diferentes ns.
A figura 7.4 ilustra o funcionamento deste algoritmo. Vamos considerar o grafo apresentado em
7.4(a), onde os arcos so etiquetados com o valor da distncia entre os ns. Vamos considerar que o
objetivo aqui encontrar o caminho mais curto entre A e D.
Como o n A o n de origem, ele ser marcado por um n de referncia (fundo cinza) e sero
analisados os ns adjacentes. Estes sero etiquetados pela distncia que os separa de A, marcando
tambm, na etiqueta, o ltimo n a partir do qual o clculo foi feito.
Aps a anlise dos ns adjacentes a A, marca-se aquele contendo a etiqueta de menor valor,
como mostrado em 7.4(b), este n passando a ser o n ativo (ou de referncia).
Repetindo a anlise para o n B, define-se o n E como sendo o novo n ativo, mostrado em
7.4(c). O algoritmo vai progredindo at que o caminho mais curto seja ento encontrado, as etiquetas
sendo modificadas segundo as anlises efetuadas. A progresso do algoritmo para o exemplo ilustrada
por 7.4(d), 7.4(e) e 7.4(f).
B
2
E
1
E ( ,-)
F ( ,-)
(b)
C (9,B)
E (4,B)
D ( ,-)
F ( ,-)
F (6,E)
H ( ,-)
G (6,A)
(d)
C (9,B)
E (4,B)
F (6,E)
D ( ,-)
F (6,E)
H (9,G)
G (5,E)
C (9,B)
B (2,A)
E (4,B)
A
D ( ,-)
H ( ,-)
G (5,E)
(c)
B (2,A)
C (9,B)
B (2,A)
E (4,B)
A
H ( ,-)
G (6,A)
(a)
B (2,A)
D ( ,-)
C ( ,-)
B (2,A)
H (8,F)
G (5,E)
(f)
(e)
D ( ,-)
Figura 7.4 -
Arquiteturas de Redes
75
Antes do envio de um pacote, o IMP gera um nmero aleatrio para definir o caminho,
utilizando os pesos como probabilidade. As tabelas so criadas de maneira esttica pelo administrador do
sistema e carregadas em cada IMP na inicializao da rede. O grafo da figura 7.5(a) ilustra o
desenvolvimento deste algoritmo, sendo que em 7.5(b) est apresentada a tabela para o n J. Se J recebe
um pacote destinado a A, ele pode optar por um dos trs caminhos, consultando a tabela na linha
associada ao n A. A primeira escolha o caminho direto a A, as outras sendo via I e H, respectivamente.
A deciso , ento, baseada na gerao de um nmero aleatrio entre 0,00 e 0,99. Se o nmero
inferior a 0,63, a linha A ser escolhida, se estiver entre 0,63 e 0,83, a linha passando por I ser escolhida;
seno, ser a linha que passa por H.
A vantagem desta tcnica sobre a anterior a possibilidade de definir diferentes classes de
trfego sobre diferentes caminhos. Uma outra vantagem a confiabilidade ganha, uma vez que vrias
linhas podem ser perdidas sem que a rede perca a sua conectividade.
0,63
0,21
H 0,16
0,46
0,31
0,34
0,33
H 0,33
0,50
0,25
0,40
0,40
H 0,20
0,34
0,33
0,33
0,46
0,31
0,23
0,63
0,21
0,16
0,65
0,22
H 0,13
0,67
0,22
0,11
0,42
0,42
0,16
(a)
0,23
0,25
(b)
Figura 7.5 - Ilustrao do algoritmo multicaminho: (a) grafo da rede; (b) tabela para o n J.
7.7
O CONTROLE DE CONGESTIONAMENTO
Durante o funcionamento de uma aplicao distribuda construda sobre uma rede, vo existir
instantes em que o fluxo de mensagens sendo trocadas pode atingir valores bastante grandes, de tal forma
que os ns intermedirios, responsveis do tratamento dos pacotes, no sejam mais capazes de tratar os
pacotes para retransmisso. Isto, naturalmente, vai ter como conseqncia uma degradao no
funcionamento da rede, podendo trazer prejuzos (lentido, perdas de pacotes) ao desempenho da
aplicao, comprometendo o seu correto funcionamento. As causas desta sobrecarga, conhecida por
congestionamento, podem ser de vrias naturezas. Um exemplo disto pode ser a lentido dos ns na
realizao do roteamento ou um mal funcionamento do mecanismos de controle de fluxo.
O congestionamento consiste, normalmente, de um processo a realimentao positiva, o nmero
de mensagens tendendo a crescer se a rede est congestionada. Sendo assim, a camada de Rede deve
tambm fazer este papel, atravs da implementao de funes de controle de congestionamento, algumas
das quais sero descritas a seguir.
76
deve ser alocado em cada n para permitir o armazenamento dos pacotes a serem retransmitidos por
aquele circuito virtual.
Evidentemente, o nmero de buffers a ser alocado vai depender do protocolo implementado entre
cada par de ns intermedirios (IMPs). Um algoritmo do tipo envia-espera vai exigir um nmero de
buffers evidentemente menor do que um algoritmo que autorize o envio de diversos pacotes antes da
retransmisso.
7.8
LIGAES INTER-REDES
At aqui temos visto como resolver problemas de interconexo entre equipamentos dentro de
uma mesma rede. No entanto isto nem sempre acontece. Muitas vezes a necessidade de comunicao
entre mquinas que esto em redes diferentes, incluindo ai LANs, MANs e WANs. Diversos protocolos
esto sendo utilizados em cada camada, ou sejam, ter vrias redes significa ter protocolos diferentes.
Veremos agora rapidamente um pouco dos problemas e solues quando duas ou mais redes se juntam
para formar uma inter-rede.
Parece claro que sempre haver uma variedade de redes com caractersticas e protocolos
distintos por vrios motivos:
1. A base instalada dos diferentes tipos de rede grande e cada vez maior.
2. Com o barateamento dos computadores e das redes as decises e escolhas passam a ser
tomadas nos nveis mais baixos da hierarquia de uma organizao.
Arquiteturas de Redes
77
3.
Desta forma, considerando a grande diversidade de redes instaladas hoje e que necessitam ser
interligadas, usaremos alguns exemplos para demonstrar alguns tipos de necessidade de interconexo
entre tipos diferentes de redes:
Repetidor (repeater): atua na camada fsica e sua funo somente copiar bits individuais
entre segmentos de cabo;
Ponte (bridge): atuam na camada de enlace de dados e sua funo armazenar e remeter
quadros de enlace de dados entre LANs;
Comporta (gateway): eles atuam acima da camada de transporte e permitem a ligao interredes acima desta camada.
bom lembrar que o termo gateway muito utilizado na literatura para designar qualquer
equipamento de interconexo entre redes distintas. Outra caracterstica importante que as pontes e os
roteadores, apesar de atuarem em camadas diferentes, tm funcionalidade similar. Muitos dispositivos
existentes no mercado combinam a funcionalidade de uma ponte com a de um roteador. Estes
equipamentos so por vezes chamados de brouter (bridge+router).
Arquiteturas de Redes
78
8.1
INTRODUO
8.2
79
desempenho (throughput);
retardo de trnsito;
taxa de erros residuais;
proteo;
prioridade;
resilincia.
8.3
Arquiteturas de Redes
80
Arquiteturas de Redes
81
T_CONNECT
request
T_CONNECT
indication
T_CONNECT
response
T_CONNECT
confirm
T_CONNECT
request
T_CONNECT
request
T_CONNECT
indication
T_DISCONNECT
request
T_DISCONNECT
indication
(a)
T_DISCONNECT
indication
(b)
T_DISCONNECT
request
T_DISCONNECT
request
T_DISCONNECT
request
T_DISCONNECT
indication
T_DISCONNECT
indication
(d)
(c)
(e)
T_DATA
request
(f)
T_EXPEDITED_DATA
request
T_EXPEDITED_DATA
indication
T_DATA
indication
(g)
T_DISCONNECT
indication
(h)
8.4
OS PROTOCOLOS DE TRANSPORTE
Como definido pelo modelo OSI, o servio oferecido por uma camada N o resultado da
implementao de um protocolo N regendo a comunicao entre duas entidades N. Em princpio, os
protocolos de Transporte apresentam preocupaes similares dos protocolos de Enlace, ou seja, o
controle de erros, o controle de fluxo, o seqenciamento dos dados.
No entanto, algumas diferenas podem ser levantadas:
Arquiteturas de Redes
82
Estabelecimento
passivo
pendente
Estabelecimento
ativo
pendente
Estabelecida
Desconexo
passivo
pendente
TPDU Disconnection
Request recebida
Primitiva Disconnect
executada
Desconexo
ativa
pendente
Ociosa
servios do tipo A, que caracteriza os servios perfeitos, onde a frao de pacotes perdidos,
duplicados ou corrompidos desprezvel; o tipo de servio dificilmente encontrado em
redes pblicas, mas algumas redes locais so bastante prximas deste tipo de servio;
classe 0, que so os servios mais simples, capazes de estabelecer uma conexo, mas
baseados na hiptese que o servio de Rede no gera erros de transmisso; no existe
tratamento de erros, controle de fluxo nem seqenciamento;
Arquiteturas de Redes
83
o estabelecimento de conexo;
transferncia de TPDUs;
segmentao de mensagens;
etc...
O termo TPDU indicado acima serve para definir a unidade de dados trocada entre duas
unidades de Transporte que a unidade de dados de protocolo de transporte (em ingls, Transport
Protocol Data Unit). Por outro lado, a unidade de dados emitida por um usurio do servio Transporte
muitas vezes referenciada como sendo uma mensagem.
Uma mensagem a ser transmitida pode ter um tamanho qualquer, a segmentao das mensagens
devendo ser assumida por esta camada. Isto significa que, se uma unidade de dados apresenta um
tamanho superior ao de um pacote, ela deve ser segmentada em tantos pacotes quantos sejam necessrios
para efetuar a sua completa emisso.
Ainda, se uma entidade de Transporte gerencia vrias conexes num dado instante, ela deve
numerar as conexes e inserir o nmero correspondente nas unidades de dados, a fim de permitir
entidade receptora de identificar corretamente a conexo qual esta unidade de dados deve ser associada.
Independente da classe de protocolo considerada, deve sempre existir um mecanismo de liberao de
conexo, esta liberao sendo, porm, diferente dependendo da classe de protocolo considerada.
8.5
ENDEREAMENTO
Arquiteturas de Redes
84
3.
4.
5.
a entidade de transporte no host 1 seleciona um endereo de rede em sua mquina (se houver
mais de um) e estabelece uma conexo de rede entre eles; atravs desta conexo a entidade
de transporte do host 1 pode se comunicar com a entidade de transporte do host 2;
a entidade de transporte do host 1 diz sua correspondente no host 2 que quer estabelecer
uma conexo de transporte entre o seu TSAP 6 e o TSAP 122 dele;
a entidade de transporte no host 2 ento pergunta ao servidor da hora do dia no TSAP 122 se
ele est disposto a aceitar uma nova conexo; se ele concordar, a conexo de transporte ser
estabelecida.
HOST 1
Processo de
aplicao
HOST 2
TSAP 6
Camada de
aplicao
Servidor
Conexo de rede
comea aqui
Conexo de
transporte
comea aqui
NSAP
Camada de
transporte
TSAP 122
Camada de rede
NSAP
Camada de enlace
Camada fsica
Ligao fsica
Arquiteturas de Redes
85
HOST 1
HOST 2
Camada de
Aplicao
HOST 1
HOST 2
Servidor da
hora do dia
Camada de
Aplicao
Servidor de
processos
Usurio
TSAP
Servidor de
processos
Usurio
TSAP
(a)
(b)
Figura 8.4 .Como um processo do usurio no host 1 estabelece uma conexo com o servidor de hora do
dia no host 2
Enquanto o protocolo de conexo inicial funciona bem quando os servidores podem ser criados
quando necessrios, h muitas situaes em que os servios existem de forma independente do servidor
de processos. Um servidor de arquivos, por exemplo, deve ser executado em um hardware especial (uma
mquina com grande capacidade de disco) e no pode ser criado dinamicamente quando algum deseja se
comunicar com ele.
Com freqncia, usado um esquema alternativo para administrar essa situao. Nesse modelo
existe um processo especial chamado servidor de nomes (name server), ou, s vezes, servidor de
diretrios (directory server). Para localizar o endereo TSAP correspondente a um determinado nome de
servio, um usurio estabelece uma conexo com o servidor de nomes (que est associado a um TSAP
bem conhecido). Em seguida, o usurio envia uma mensagem especificando o nome do servio, e o
servidor de nomes retorna o endereo TSAP. Depois disso o usurio encerra a conexo com o servidor de
nomes e estabelece uma nova conexo com o servio desejado.
Ainda nesse modelo, quando um servio criado ele deve se registrar no servidor de nomes,
fornecendo seu nome de servio (normalmente um string ASCII) e o endereo de seu TSAP. O servidor
de nomes registra essas informaes em seu banco de dados interno para que possa fornecer as respostas
quando houver consultas.
Vamos supor que o usurio tenha encontrado o endereo do TSAP com que deseja estabelecer a
conexo. Outra questo interessante a seguinte: como a entidade de transporte local sabe em qual
mquina esse TSAP est localizado? Mais especificamente, como a entidade de transporte sabe qual
endereo da camada de rede ser necessrio para estabelecer uma conexo de rede com a entidade de
transporte remota que administra o TSAP solicitado?
A resposta depende da estrutura dos endereos TSAP. Uma das possibilidades que os
endereos TSAP sejam endereos hierrquicos (hierarchical address). Dessa forma, os endereos
consistem em uma seqncia de campos usados para particionar o espao de endereo de modo disjunto.
Por exemplo, um endereo realmente universal poderia ter a seguinte estrutura:
endereo = <galxia> <estrela> <planeta> <pas> <rede> <host> <porta>
Com este esquema, fica fcil localizar de forma direta um TSAP em qualquer lugar do universo.
Do mesmo modo, se um endereo TSAP uma concatenao de um endereo NSAP e de uma porta (um
identificador local especificando um dos TSAPs locais), quando uma entidade de transporte recebe um
endereo TSAP para se conectar, ela usa o endereo NSAP contido no endereo TSAP para chegar
entidade de transporte remota correta.
Uma alternativa ao uso de um espao de endereamento hierrquico um espao de endereo
simples (flat address space). Se os endereos TSAPs no forem hierrquicos, um segundo nvel de
mapeamento ser necessrio para localizar a mquina apropriada. Seria necessrio um servidor de nomes
que utilizasse os endereos de transporte como entrada e retornasse endereos de rede como sada. Outra
Arquiteturas de Redes
86
alternativa para algumas situaes (por exemplo, em uma LAN), fazer uma consulta solicitando
mquina de destino que se identifique enviando um pacote especial para este fim.
8.6
MULTIPLEXAO E SPLITTING
8.7
8.8
Existe uma certa semelhana com a camada de enlace, pois tambm evita que transmissor rpido
sobrecarregue receptor lento, s que no caso o emissor e receptor so aplicaes da rede. Um diferena
que um IMP tem nmero pequeno de linhas e os hosts podem ter um nmero indeterminado de conexes.
A estratgia de buferizao deve levar em considerao trs questes relacionadas a estratgia
a ser adotada pelo transmissor quanto a buferizao de TPDUs enviadas. Isto deve ser feito quando:
Arquiteturas de Redes
87
9.1
INTRODUO
9.2
T_CONNECT
indication
T_CONNECT
request
T_CONNECT
request
T_CONNECT
indication
T_CONNECT
response
T_CONNECT
confirm
T_DISCONNECT
request
T_DISCONNECT
indication
(a)
T_DISCONNECT
indication
(b)
T_DISCONNECT
request
T_DISCONNECT
request
(c)
T_DISCONNECT
request
T_DISCONNECT
indication
T_DISCONNECT
indication
(d)
(e)
T_DATA
request
(f)
T_EXPEDITED_DATA
request
T_EXPEDITED_DATA
indication
T_DATA
indication
(g)
T_DISCONNECT
indication
(h)
Arquiteturas de Redes
88
Uma sesso pode ser utilizada para permitir a conexo distncia a um computador, por
exemplo, atravs de um terminal, para uma transferncia de arquivo, para o carregamento de programas
distncia, etc... Apesar de que, ao nvel de Sesso, so oferecidas primitivas de servio para a
comunicao sem conexo, neste modo, no possvel explorar os servios orientados aos usurios,
disponveis nesta camada.
No que diz respeito conexo de Sesso (ou sesso, como definido acima), pode-se estabelecer
as diferentes possveis relaes entre uma conexo de Sesso e uma conexo de Transporte, como mostra
a figura 9.2. Em 9.2(a), mostrada uma correspondncia de 1 a 1 entre uma conexo de Sesso e uma de
Transporte. Por outro lado, como mostrado em 9.2(b), pode-se utilizar uma mesma conexo de Transporte
para suportar diferentes sesses. Ainda, pode-se ter o quadro inverso, onde, pela quebra de uma conexo
de Transporte, a abertura de uma nova providenciada para garantir a continuidade de uma mesma
sesso. Este ltimo cenrio, ilustrado em 9.2(c), se caracteriza, por exemplo, quando as entidades de
Transporte assumem a tarefa de retomada de dilogo aps uma pane.
Sesso
Transporte
(a)
Sesso
Sesso
Transporte
Transporte
(b)
(c)
Figura 9.2 - Diferentes relaes entre conexo de Sesso e de Transporte: (a) correspondncia 1 a 1; (b)
uma conexo de Transporte para vrias sesses; (c) vrias conexes de Transporte para uma nica sesso.
9.3
A gesto do dilogo a principal funo da camada de Sesso e, da mesma forma como foi visto
para camadas inferiores, o dilogo via esta camada caracterizado pelas trs etapas a seguir:
estabelecimento de sesso, transferncia de dados e liberao da sesso.
As primitivas de estabelecimento e liberao de sesso oferecidas camada de Apresentao so
similares quelas oferecidas prpria camada de Sesso pelo Transporte. Esta similaridade ocorre a tal
ponto que, em muitos casos, a recepo de uma primitiva de servio da camada de Apresentao refletese imediatamente no envio de uma primitiva de servio equivalente da camada de Transporte.
Um exemplo disto a primitiva de estabelecimento de Sesso, S_CONNECT.request, que
refletida no envio de uma primitiva T_CONNECT.request.
Na fase de estabelecimento de uma conexo, da mesma forma que na camada de Transporte,
ocorre a negociao, entre as duas entidades envolvidas (de Apresentao) sobre que parmetros vo
definir a comunicao. Dentre estes parmetros, encontram-se parmetros j conhecidos de outros nveis
do modelo OSI (por exemplo, a necessidade de transferncia de dados expressos) e tambm parmetros
especficos camada de Sesso (por exemplo, na abertura de uma sesso para troca de informaes via
correio eletrnico, um parmetro pode ser qual usurio vai tomar a iniciativa do dilogo).
Apesar das semelhanas j levantadas, pode-se destacar tambm algumas diferenas entre uma
sesso e uma conexo de Transporte, essas diferenas estando particularmente associadas ao
procedimento de liberao das conexes. No caso da camada de Transporte, a primitiva
T_DISCONNECT.request que causa a terminao abrupta da conexo, podendo ocorrer inclusive perda
dos dados ainda em trnsito. J, no caso das sesses, a primitiva responsvel da liberao
S_RELEASE.request que permite terminar, de maneira ordenada a conexo, sem ocorrncia de perda dos
dados (liberao negociada). possvel, no entanto, em caso de necessidade, promover uma liberao
abrupta da sesso, isto, graas utilizao da primitiva S_ABORT.request. A diferena entre as duas
formas de liberao de uma conexo mostrada na figura 9.3. Em 9.3(a) apresentada a liberao
abrupta de uma conexo de Transporte; em 9.3(b), apresentada a liberao negociada de uma sesso.
Como se pode ver em 9.3(b), ao contrrio dos servios de liberao de conexo apresentados at o
momento, o servio de liberao negociada S_RELEASE um servio confirmado, caracterizado pelas
primitivas request, indication, response e confirm.
Arquiteturas de Redes
89
S_DATA
request
T_DATA
request
perda
dado
T_DISCONNECT
request
T_DISCONNECT
indication
S_RELEASE
request
S_RELEASE
indication
S_DATA
indication
S_RELEASE
response
S_RELEASE
confirm
(a)
(b)
9.4
A GESTO DO DILOGO
Segundo o modelo OSI, todas as conexes estabelecidas so, a princpio, do tipo full duplex, ou
seja, bidirecionais simultneas, conforme mostrado na figura 9.4(a).
Por outro lado, existem muitas aplicaes nas quais a possibilidade de operao em half duplex
pode ser mais interessante.
Este servio implementado a nvel da camada de Sesso graas definio de uma ficha de
dados (data token), como ilustrado na figura 9.4(b). A comunicao em half duplex uma opo
negociada no momento do estabelecimento de uma sesso. Se esta opo adotada, dever ser definido
tambm qual dos usurios envolvidos no dilogo poder tomar a iniciativa (possuidor da ficha).
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
S_DATA
request
S_DATA
indication
(a)
S_DATA
request
S_DATA
request
S_TOKEN_GIVE
request
S_DATA
indication
S_DATA
indication
S_TOKEN_GIVE
indication
S_DATA
indication
S_DATA
request
(b)
Figura 9.4 - (a) comunicao full duplex; (b) comunicao half duplex com ficha.
Arquiteturas de Redes
90
Quando este usurio terminar a sua transmisso, ele pode ceder a ficha ao usurio par para que
ele possa efetuar a sua transmisso. A passagem de ficha de um usurio a outro implementada atravs
da primitiva S_TOKEN_GIVE.
Ainda, se um dos usurios querendo efetuar uma transmisso no possui a ficha naquele instante,
ele pode requisit-la a seu par atravs da emisso de uma primitiva S_TOKEN_PLEASE.request. O
usurio receptor da primitiva S_TOKEN_PLEASE.indication pode ou no querer ceder a ficha.
Em caso negativo, o usurio que a requisitou no far outra coisa seno esperar a boa vontade
do seu interlocutor (ou ainda, enviar dados urgentes que no necessitam a possesso da ficha).
A ficha s passa a ter algum sentido no caso de comunicao half duplex. Se full duplex a
opo adotada, ela no levada em conta.
9.5
A SINCRONIZAO
Arquiteturas de Redes
91
SESSO
4 5
6
ponto de sincronizao
(a)
SESSO
DILOGO
5
2
3
4
6
ponto de sincronizao
mnimo
ponto de sincronizao
mximo
(b)
Figura 9.5 - (a) Pontos de sincronizao; (b) Pontos de sincronizao mximos e mnimos.
9.6
GERENCIAMENTO DE ATIVIDADES
Outra funo importante da camada de Sesso o controle de atividades. Esta tarefa baseada
no conceito de decomposio do fluxo de dados em atividades, independentes umas das outras. O
conceito de atividade vai depender da aplicao considerada, o usurio sendo o responsvel desta
definio.
Um exemplo tpico de utilizao do conceito a transferncia de arquivos, onde cada arquivo
deve ser separado, de alguma forma, dos demais. A forma de faze-lo atravs da definio, de cada
arquivo, como sendo uma atividade, como mostra a figura 9.6. Para faze-lo, antes da emisso de cada
arquivo, o usurio deve enviar uma primitiva S_ACTIVITY_START.request para marcar o incio de uma
atividade; isto vai gerar, no lado do receptor, uma primitiva S_ACTIVITY_START.indication
sinalizando o incio do envio de uma nova atividade (neste caso particular, o arquivo).
SESSO
ATIVIDADE
arquivo 2
incio atividade
ATIVIDADE
arquivo 1
fim atividade
o proprietrio da conta envia um novo comando informando o nmero da conta para onde o
dinheiro deve ser transferido o computador verifica o nmero da conta e bloqueia o
cdigo correspondente pela mesma razo j apresentada;
Arquiteturas de Redes
92
Um caso tpico deste cenrio aquele em que uma pane (falta de energia, por exemplo) ocorre
no terminal sendo utilizado pelo cliente proprietrio da conta imediatamente aps o primeiro comando. O
computador vai bloquear o cdigo correspondente conta, mas os demais comandos no sero efetuados.
A aplicao do conceito de atividade via camada de Sesso permite solucionar este problema, garantindo
a atomicidade da operao. A operao completa pode ser vista como uma atividade. Assim, aps a
recepo de uma primitiva S_ACTIVITY_START.indication, o computador do banco ficaria armazenando
as mensagens (de comando) at a recepo de uma primitiva S_ACTIVITY_END.indication. S neste
momento, os comandos seriam efetivados pelo computador.
Uma outra propriedade interessante das atividades a capacidade de ser interrompida e retomada
sem a perda das informaes. Isto pode ser feito atravs da primitiva S_ACTIVITY_INTERRUPT que
permite iniciar uma nova atividade e retomar aquela ao final desta segunda atividade a partir do ponto
onde ela tinha sido interrompida. Um exemplo tpico aquele da transferncia de um arquivo de tamanho
relativamente grande, no qual, durante a transferncia, seja necessrio, com relativa urgncia, efetuar a
consulta a uma base de dados (anurio telefnico, agenda, por exemplo). Este exemplo ilustrado na
figura 9.7.
2
transf. arquivo
1 parte
transf. arquivo
2 parte
consulta
anurio
incio atividade 1
fim atividade 2
interrupo atividade 1
retomada atividade 1
incio atividade 2
fim atividade 1
9.7
O quadro a seguir apresenta a lista das primitivas de servio oferecidas pela camada de Sesso,
indicando as classes de primitivas compondo cada servio (R - request, I - indication, Rs - response e C confirm). So 58 primitivas organizadas em 7 grupos: estabelecimento de conexo, liberao de conexo,
transferncia de dados, gerenciamento de fichas, sincronizao, gerenciamento de atividades e relatrio
de anomalias. Os dois primeiros grupos so relacionados, respectivamente, inicializao e trmino das
sesses. As primitivas S_CONNECT conduzem em seus parmetros informaes tais como: SSAPs dos
interlocutores, qualidade do servio, nmeros iniciais dos pontos de sincronizao, etc...
J os servios de liberao de sesso podem ser de trs tipos: o primeiro, caracterizado pela
primitivas S_RELEASE, especificando um servio confirmado de trmino negociado de sesso (sem
perda de dados); os dois outros, para e liberao abrupta de sesso (com eventual perda de dados),
caracterizados pelas primitivas S_U_ABORT e S_P_ABORT, indicando, respectivamente, terminao de
iniciativa do usurio (U - user) e do fornecedor do servio (P - provider).
PRIMITIVA
S_CONNECT
S_RELEASE
S_U_ABORT
S_P_ABORT
Arquiteturas de Redes
R
I
Rs C FUNO
ORIENTADO CONEXO
estabelecimento de conexo
93
S_DATA
S_EXPEDITED_DATA
S_TYPED_DATA
S_CAPABILITY_DATA
S_TOKEN_GIVE
S_TOKEN_PLEASE
S_CONTROL_GIVE
S_SYNC_MAJOR
S_SYNC_MINOR
S_RESYNCHRONIZE
S_ACTIVITY_START
S_ACTIVITY_END
S_ACTIVITY_DISCARD
S_ACTIVITY_INTERRUPT
S_ACTIVITY_RESUME
S_U_EXCEPTION_REPORT
S_P_EXCEPTION_REPORT
S_UNITDATA
pedido de ficha
pedido de resincronizao
SEM CONEXO
transferncia de dados (sem conexo)
O terceiro grupo caracterizado pelas quatro classes de primitivas para a transferncia de dados
(S_DATA, S_EXPEDITED_DATA, S_TYPED_DATA e S_CAPABILITY_DATA) cada uma para um
dos quatro tipos de dados (normais, urgentes, tipados e de capacidade). Os dados normais e urgentes
tendo sido discutidos em outras oportunidades, cabe aqui uma apresentao dos dois outros tipos de
dados.
Os dados tipados so similares aos dados normais do ponto de vista da transferncia, a diferena
fundamental sendo a liberdade de transmisso sem a necessidade de posse da ficha de dados. Este tipo de
dados so utilizados, principalmente, para a troca de mensagens de controle entre os dois usurios.
Os dados de capacidade so utilizados para a transferncia de mensagens de controle da prpria
cada de Sesso. O servio S_CAPABILITY_DATA, como se pode ver na tabela, um servio
confirmado, fornecendo um reconhecimento dos dados de capacidade. Ainda, ao contrrio dos dados
tipados, estes dados s podem ser transmitidos se a entidade possui a ficha de transferncia de dados.
O quarto grupo de servios relacionado ao gerenciamento das fichas, que so em nmero de 4:
as fichas de dados (para a transferncia em half-duplex), as fichas de liberao (para o incio de uma
liberao negociada), as fichas de sincronizao mnima (para a insero de pontos de sincronizao
mnimos) e as fichas de sincronizao mxima e atividade (para o gerenciamento das atividades e da
sincronizao). S_TOKEN_GIVE permite efetuar a transferncia de uma ou mais fichas entidade
remota, as fichas a transferir sendo indicadas nos parmetros das primitivas.
O quinto grupo contm os servios relativos sincronizao, seja para insero de pontos de
sincronizao (atravs dos servios S_SYNC_MAJOR e S_SYNC_MINOR, dedicados, respectivamente,
introduo de pontos de sincronizao mximos e mnimos), seja para a resincronizao a partir de um
ponto dado (S_RESYNCHRONIZE).
O sexto grupo, atravs dos servios, S_ACTIVITY_START, S_ACTIVITY_END,
S_ACTIVITY_DISCARD, S_ACTIVITY_INTERRUPT e S_ACTIVITY_RESUME dedicado ao
gerenciamento das atividades (incio, fim, abandono, interrupo e retomada).
O stimo grupo dedicado gerao de relatrios de anomalia, tanto da parte de um dos
usurios (S_U_EXCEPTION_REPORT) quanto da camada de Sesso (S_P_EXCEPTION_REPORT).
Arquiteturas de Redes
94
10.1 INTRODUO
Quando foi concebida, a camada de Apresentao era responsvel unicamente das funes de
converso entre dados representados em ASCII e EBCDIC. Em seguida, novos servios foram
introduzidos de forma que, atualmente, pode-se descrever a tarefa desta camada por tudo o que possa
estar relacionado representao dos dados a serem transmitidos, particularmente as funes de:
converso de dados, criptografia e compresso.
As sees que seguem apresentaro os principais problemas e as solues encontradas na
realizao destas funes.
Arquiteturas de Redes
95
PRIMITIVA
P_CONNECT
P_RELEASE
P_U_ABORT
P_P_ABORT
P_DATA
P_EXPEDITED_DATA
P_TYPED_DATA
P_CAPABILITY_DATA
P_TOKEN_GIVE
P_TOKEN_PLEASE
P_CONTROL_GIVE
P_SYNC_MAJOR
P_SYNC_MINOR
P_RESYNCHRONIZE
P_ACTIVITY_START
P_ACTIVITY_END
P_ACTIVITY_DISCARD
P_ACTIVITY_INTERRUPT
P_ACTIVITY_RESUME
P_U_EXCEPTION_REPORT
P_P_EXCEPTION_REPORT
P_ALTER_CONTEXT
P_UNITDATA
R
I
Rs C FUNO
ORIENTADO CONEXO
estabelecimento de conexo
pedido de ficha
pedido de resincronizao
alterao de contexto
SEM CONEXO
Arquiteturas de Redes
96
campos sendo apresentados por retngulos. Estas estruturas podem ser formalizadas por registros, filas,
vetores, etc...
A camada de Aplicao, cujas entidades so os usurios da camada de Apresentao,
caracterizada por muitas estruturas de dados, transmitidas na forma de APDUs (Application Protocol
Data Units), compostas de diferentes campos, cada campo tendo um determinado tipo (booleano, inteiro,
etc...).
A notao ASN.1 permite formalizar os diversos tipos de dados podendo compor os campos de
uma APDU, reagrupando-os inclusive num mdulo de biblioteca para cada aplicao tpica. Desta forma,
possvel a uma aplicao enviar uma estrutura de dados camada de Apresentao, dando a ela o nome
da estrutura ASN.1 correspondente. A camada de Apresentao poder, ento, conhecer o tipo e o
tamanho de cada campo compondo a estrutura de dados e, desta forma, codific-los para a transmisso. A
entidade de Apresentao receptora, por sua vez, conhecendo a estrutura ASN.1 dos dados recebidos,
pode fazer todas as converses que sejam necessrias para adaptar mquina receptora.
O interesse da existncia de ASN.1 que esta notao serve como uma linguagem comum para
todas as mquinas. Isto evita que todas as mquinas tivessem de conhecer todas as possveis formas de
representao de cada uma das mquinas com as quais elas teriam de se comunicar. Com ASN.1, basta
apenas que cada mquina conhea como codificar seus dados nesta notao. A norma ISO 8824 define a
notao de sintaxe abstrata ASN.1, onde os principais pontos sero apresentados a seguir. Um primeiro
exemplo de como um dado pode ser descrito em ASN.1, vamos fazer um paralelo entre uma estrutura de
dados Pascal e uma estrutura de dados ASN.1.
Vamos considerar que pretendemos representar por uma estrutura em Pascal as principais
caractersticas dos dinossauros. Isto poderia ser feito atravs de uma estrutura do tipo record, onde cada
campo teria seu tipo especfico e representando uma caracterstica dos dinossauros. Um exemplo disto
mostrado a seguir:
type dinossauro = record
nome
:
tamanho
:
carnivoro
:
ossos
:
descoberta
:
end;
No caso de ASN.1, a mesma estrutura de dados poderia ser representada da seguinte forma:
dinossauro
::= SEQUENCE {
nome
tamanho
carnivoro
ossos
descoberta
}
Como se pode notar, no existem muitas diferenas entre a forma de especificar um record
Pascal e uma seqncia ASN.1. De fato, tipos complexos ASN.1 so gerados a partir de tipos de base,
denominados tipos primitivos. Os tipos primitivos ASN.1 so apresentados na tabela a seguir.
TIPO
INTEGER
BOOLEAN
BIT STRING
OCTET STRING
ANY
NULL
OBJECT IDENTIFIER
Arquiteturas de Redes
SIGNIFICADO
inteiro de valor arbitrrio
verdadeiro / falso
lista de bits
lista de bytes
conjunto de todos os tipos
nenhum tipo
nome de um objeto
97
Como j foi dito, estes tipos podem ser combinados para a definio de estruturas de dados mais
complexas, isto pela utilizao de tipos construtores de ASN.1, onde os mais utilizados so:
CONSTRUTOR
SEQUENCE
SEQUENCE OF
SET
SET OF
CHOICE
SIGNIFICADO
seqncia de elementos de diversos tipos
seqncia de elementos de um mesmo tipo
conjunto (no ordenado) de elementos de diversos tipos
conjunto (no ordenado) de elementos de um mesmo tipo
escolha de um tipo entre uma lista de tipos
O construtor SEQUENCE permite construir uma estrutura de dados cujos campos sejam de tipos
diferentes. Ele bastante similar a um record do Pascal, como j foi visto no exemplo anteriormente
apresentado. SEQUENCE OF permite construir vetores de elementos de um mesmo tipo. O construtor
SET similar ao SEQUENCE, com uma diferena apenas os elementos de um SET no ordenados
como no caso do SEQUENCE. Da mesma forma, SET OF similar a SEQUENCE OF, a mesma
diferena sendo vlida para este caso.
O construtor CHOICE permite especificar um dado cujo formato pode assumir diversas opes.
Um exemplo da utilizao deste construtor mostrado abaixo.
PDU_Comando ::= CHOICE {
Comando_local,
Comando_remoto
}
Alm dos tipos primitivos e construtores, existem ainda os tipos pr-definidos de ASN.1, como
por exemplo:
PrintableString, que define uma lista cujos elementos podem ser as letras maisculas, as
minsculas, os nmeros e os caracteres seguintes: ( ) + - . , / : = ?
Arquiteturas de Redes
98
Arquiteturas de Redes
99
onde a faixa de 14 zeros codificada por 111 111 000 (ou seja, 7 + 7 + 0 = 14). Neste caso, a
compresso permitiu reduzir em 34% o tamanho da informao.
Uma aplicao desta tcnica pode ser feita, com algumas modificaes, na transmisso digital de
imagens de televiso colorida. O sinal constitudos de uma seqncia de quadros, de 25 a 30 por
segundo, cada um contendo um vetor retangular de pontos (pixels) da imagem. Uma imagem de televiso
pode ser composta de 1000 linhas de 600 pixels, cada pixel sendo codificado em 16 bits, 15 bits para a cor
(com 32 nveis para cada cor) e 1 bit para informao de controle (enquadramento vertical ou horizontal).
Uma codificao direta desta informao necessitaria 600000 pixels por quadro, ou seja, uma
taxa de transmisso de 240 a 288 Mbits/s. Com uma codificao binria, seria necessrio dispor de uma
faixa de freqncia de quase 600 MHz. Uma vez que a transmisso analgica ocupa faixas de freqncia
de apenas 6 MHz, a transmisso digital, sem compresso de imagem, poderia tornar-se invivel.
A soluo est no fato que, em transmisso de imagens, existe uma forte probabilidade de que
muitos quadros consecutivos sejam idnticos queles que os precederam. Desta forma, basta providenciar,
a nvel dos televisores, uma memria que possa armazenar o ltimo quadro recebido e, assim, transmitir
apenas as diferenas entre o quadro anterior e o atual.
10.5 A CRIPTOGRAFIA
A criptografia uma tcnica bastante antiga, introduzida principalmente pelas organizaes
militares, particularmente na troca de mensagens em tempo de guerra. Nessas ocasies, um problema da
criptografia era a dificuldade de decodificao das mensagens criptografadas, muitas vezes tendo de ser
feitas nos campos de batalha em condies totalmente adversas. Outro problema era a dificuldade na
mudana de uma tcnica a outra, particularmente devido dificuldade em informar o grande nmero de
pessoas que deveria estar consciente da mudana.
O processo de criptografia de uma mensagem ilustrado pela figura 10.1. As mensagens a serem
criptografadas so codificadas graas a uma funo parametrizada por uma chave, gerando, na sada o
texto criptografado ou o criptograma. Este texto transmitido por um mensageiro ou rdio, este podendo
ser escutado por um espio.
espio passivo
espio ativo
ESPIO
Processo de
codificao
Processo de
decodificao
criptograma
chave de
codificao (k)
chave de
decodificao
Arquiteturas de Redes
100
criptagem em funo do seu valor. A vantagem disto que, enquanto uma tcnica de criptagem pode ser
modificada numa escala de anos, uma chave pode ser modificada quando se julgar necessrio.
Os mtodos de criptografia podem ser organizados em duas principais classes: os mtodos por
substituio e os mtodos por transposio cujos principais pontos sero vistos a seguir.
Arquiteturas de Redes
101
Texto original:
TRANSFERIR UM MILHAO PARA A
CONTA DE COLLOR
Texto codificado
SUAADONRHAALRRIANOTEMPOC
FMOCERAILRTL
Arquiteturas de Redes
102
11.1 INTRODUO
A camada de Aplicao tem por funo o gerenciamento dos programas de usurio (programas
de aplicao) que executam em mquinas conectadas e utilizam o sistema de comunicao para a troca de
informaes.
Os programas de aplicao executando via um sistema de comunicao baseada no modelo OSI
vo utilizar-se dos servios de comunicao oferecidos pela camada de Apresentao, descrita na parte
anterior do documento.
Esta camada a que mantm o contato direto com os usurios da arquitetura de comunicao,
abrindo caminho para todos os servios oferecidos pelas camadas inferiores.
Dentro desta parte, sero estudados os principais aspectos relacionados camada de Aplicao,
particularmente, a sua estrutura e os conceitos associados e alguns exemplos de servios oferecidos a
nvel de Aplicao.
Arquiteturas de Redes
103
Arquiteturas de Redes
104
AP
API
AP
API
AE
AEI
AEI
AE
AE
AEI
CONTEXTO DE
APLICAO
ASEs
ASEs
ASSOCIAES CONSECUTIVAS
OU SIMULTNEAS
Camada de
Apresentao
S
A
C
F
ASE
ACSE
A
S
S
O
C
I
A
D
E
A
P
L
I
C
A
Arquiteturas de Redes
105
Camada de Aplicao
AEI
MACF
SAO 1
S
ASE 1
A
ASE 2
C
ACSE
F
SAO 2
S
ASE 3
A
ASE 4
C
ACSE
F
SAO 3
S
ASE 3
A
ASE 5
C
ACSE
F
Camada de
Apresentao
Arquiteturas de Redes
106
PRIMITIVA
A-ASSOCIATE
A-RELEASE
A-ABORT
A-P-ABORT
SIGNIFICADO
Estabelecimento de conexo
Liberao negociada de conexo
Liberao abrupta de conexo (usurio)
Liberao abrupta de conexo (fornecedor)
ACSE
RTSE
ROSE
CCR
MHS
EDS
FTAM
VT
JTM
DTP
MMS
CMIP
RDA
EDI
NOME
Association Control Service Element
Realiable Transfer Service Element
Remote Operations Service Element
Commitment, Concurrency and Recovery
Message Handling Systems
Electronic Diretory Services
File Transfer, Access and Management
Virtual Terminal
Job Transfer Manipulation
Distributed Transaction Processing
Macnufacturing Message Service
Common Management Information Protocol
Remote Database Access
Electronic Data Interchange
Arquiteturas de Redes
ISO
ISO8649 / ISO8650
ISO9066 Partes 1 e 2
ISO9072 Partes 1 e 2
ISO9804 / ISO9805
ISO10021 Partes 1 - 7
ISO9594 Partes 1 - 8
ISO8571 Partes 1 - 4
ISO9040 / ISO9041
ISO8831 / ISO8832
ISO10026 Partes 1 - 3
ISO9506 Partes 1 e 2
ISO9595 / ISO9596
ISO8613 Partes 1-8
ISO9735
CCITT
X.217 / X.227
X.218 / X.228
X.219 / X.229
X.400 - X.420
X.500 - X.521
X. 710 / X. 711
T.411 - T.418
107
o servio deve tratar com tipos de dados ASN.1 (APDUs) ao invs de um string de octetos
(SSDUs);
Two-phase-commitment;
Recuperao de erros.
Arquiteturas de Redes
108
Two-phase-commitment: ocorre em duas fases: a primeira fase inicia quando o usurio mestre
sinaliza o incio de uma ao atmica, dentro deste contexto os usurios envolvidos trocam dados entre si.
Finalizada a troca de dados o usurio mestre pergunta ao subordinado se ele est pronto para atualizar os
respectivos dados. A resposta pode ser positiva ou negativa, e encerra-se a primeira fase. Na segunda
fase, se a resposta for positiva o usurio mestre atualiza os prprios dados e solicita que o subordinado
faa o mesmo. Feito isso o subordinado avisa o mestre encerrando a segunda fase. No caso de resposta
negativa acontece um rollback, isto , os dois usurios retornam seus dados aos valores anteriores.
A recuperao de erros ocorre desde que mestre e subordinado registrem, de maneira segura,
determinados eventos. O usurio mestre atualiza os registros commit log record no fim da primeira fase
de commitment, antes de comunicar-se com o subordinado e apaga-os depois de receber do subordinado a
confirmao desta atualizao. O usurio subordinado: atualiza os registros ready log record antes de
confirmar o fim da primeira fase de commitment e apaga-os quando termina de atualizar seus dados no
final da segunda fase de commitment.
Quando ocorre alguma falha de comunicao ou de processamento os dois usurios restabelecem
a comunicao e iniciam o processo de recuperao. O CCR tambm responsvel pelo controle de
concorrncia, possuindo mecanismos que permitem coordenar a atualizao de dados por mltiplas aes
atmicas concorrentes. O
CCR trabalha com um par de aplicaes, em ambientes distribudos, onde esto envolvidas
vrios processos de aplicao. Estes devem ser organizados numa estrutura de rvore de aes atmicas
por pares de processos, com aes coordenadas pelo TP.
Consistncia: uma unidade de trabalho deve ser executada de maneira precisa, correta e
vlida em relao semntica da aplicao;
109
Sistema Real A
Sistema Real B
ARQUIVO
REAL A
ARQUIVO
REAL B
Ambiente OSI
ARQUIVO
VIRTUAL A
protocolo FTAM
ARQUIVO
VIRTUAL B
ARQUIVO
VIRTUAL C
ARQUIVO
REAL C
Sistema Real C
Arquiteturas de Redes
110
FADU
R
DU
FADU
DU
NVEL 0
FADU
DU
DU
D
DU
DU
NVEL 1
DU
NVEL 2
Arquiteturas de Redes
111
Captulo 12 - Bibliografia
TANENBAUM, A. S.
Computer Networks, 3a edio, Ed. Prentice Hall, New York, 1996.
CARVALHO, T. C. M. B. et alli.
Arquiteturas de Redes de Computadores: OSI e TCP/IP, Ed. Makron Books, So Paulo, 1994.
GIOZZA, W. F. et alli.
Redes Locais de Computadores - Tecnologia e Aplicaes, McGraw-Hill, So Paulo, 1986.
RUDNIANSKI, M.
Architecture de Rseaux: le modle ISO - Rle et Fonctionnalits, Editests, Paris, 1986.
Arquiteturas de Redes
112
Arquiteturas de Redes
113