Você está na página 1de 117

REDES DE COMPUTADORES: MODELO OSI

Eleri Cardozo
Mauricio F. Magalh~aes
Departamento de Engenharia de Computac~ao
e Automac~ao Industrial
Faculdade de Engenharia Eletrica e de Computac~ao
Universidade Estadual de Campinas
2002

c 1995-2002 DCA/FEEC/UNICAMP

Cap
tulo 1
~
INTRODUC
 AO

1.1 Conceitos Basicos


De niremos Rede de Computadores como um conjunto de computadores aut^onomos e
interconectados. O termo aut^onomo exclui arranjos de processadores que apresentam relaca~o
mestre/escravo ou disp~oem de um controle centralizado como os multiprocessadores, as
maquinas data ow e os array processors. Em uma rede, nenhum computador obedece a
comandos de outro, possuindo inclusive autonomia para se desconectar da rede.
Os meios de interconex~ao (ou meio fsico) s~ao muitos: cabos de cobre, bras oticas, rotas
de microondas, radiodifus~ao, etc. Atualmente, os cabos de cobre (pares trancados) s~ao os
mais empregados em dist^ancias n~ao superiores a 100 m. Acima desta dist^ancia, a bra
otica e mais econ^onica. Os meios de interconex~ao limitam tanto a taxa de transmiss~ao de
informac~ao quanto a extens~ao geogra ca da rede. Quanto a sua extens~ao geogra ca, as redes
se classi cam em:
1. Redes Locais (LAN: Local Area Network): interconectam computadores localizados em
uma mesma sala ou edifcio (raio n~ao superior a 100 m). Tipicamente, par trancado
metalico e empregado como meio fsico.
2. Redes de Campus (CAN: Campus Area Network): interconectam computadores no
nvel de campus (fabrica, universidade, etc.) em extens~oes n~ao superiores a 10 Km.
Tipicamente s~ao compostas de varias LANs interligadas por uma rede de alto desempenho (backbone) baseada em bra otica.
3. Redes Metropolitanas (MAN: Metropolitan Area Network): interconectam computadores e LANs no nvel regional (5 - 100 Km), usualmente empregando uma ou mais
redes de alto desempenho interconectadas.
4. Redes de Longa Dist^ancia (WAN: Wide Area Network): interconectam computadores
e LANs no nvel nacional, continental, ou ate mundial (como a Internet).
Uma rede e classi cada como homog^enea se todos os computadores por ela interconectados
s~ao id^enticos. Caso contrario, temos uma rede heterog^enea. Obviamente, redes heterog^eneas
1

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

demandam padronizac~ao tanto no nvel de hardware (tens~oes, frequ^encias, etc.) quanto no


nvel de software (por exemplo, representaca~o de dados e formataca~o de mensagens).
O objetivo central de uma rede de computadores e o compartilhamento de informaca~o e
recursos. Outros benefcios importantes s~ao:







o crescimento gradual da capacidade de processamento da informaca~o;


a diversidade de equipamentos e a liberdade de escolha;
o aumento da con abilidade (via redund^ancia);
o processamento da informac~ao in loco;
um meio alternativo de comunicac~ao social.

1.2 Aplicac~oes Tpicas


A tecnologia de redes de computadores teve profundo impacto nas atividades relacionadas ao
ensino, pesquisa, produc~ao, servicos e administrac~ao. No ensino/pesquisa, a interligac~ao de
bibliotecas, o correio eletr^onico e os sistemas hipertexto/hipermdia aumentam a velocidade
de disseminaca~o do conhecimento.
Nas atividades relacionadas a produca~o, as redes locais suportam a automaca~o da manufatura, os sistemas distribudos de controle digital (SDCD) e a manufatura integrada. As
modernas tecnologias de fabricac~ao demandam uma capacidade de processamento de informac~ao em diversos nveis (desde o controle de sensores e manipuladores ate a emiss~ao
de faturas) capaz de ser obtida apenas com a interconex~ao de processadores diversi cados
(PCs, estaco~es de trabalho, computadores de processo, etc.).
No campo da administraca~o, a automac~ao de escritorios e o melhor exemplo do emprego
de redes de computadores. Anterior a popularizac~ao do computador pessoal, poucos eram os
funcionarios administrativos capazes de operar um terminal conectado a mainframe. Hoje,
nas empresas, com a disseminac~ao dos computadores pessoais (conectados via rede local),
documentos s~ao gerados, transmitidos e armazenados sem a necessidade de manipulaca~o de
papeis, envelopes, carimbos, etiquetas, etc. A substituic~ao do papel pela mdia eletr^onica
teve profundo impacto na racionalizac~ao dos custos administrativos.
Na decada de setenta, as empresas de telecomunicaca~o passaram a oferecer servicos de
comunicac~ao de dados, utilizando, muitas vezes, as proprias linhas de voz existentes. A
comunicac~ao de dados permite a interconex~ao em longa dist^ancia de computadores. Se o
canal de comunicac~ao for de banda larga, a informaca~o podera vir acompanhada de sinais de
vdeo e audio (digitalizados e compactados). Inicia-se assim a era da multimdia, abrindose novas fronteiras no emprego do computador como veculo de comunicac~ao e interaca~o
humana. Pessoas localizadas em diferentes cidades ou pases poder~ao interagir em sess~oes
de trabalho cooperativo como tele-confer^encia, tele-medicina, e educac~ao a dist^ancia

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

1.3 Estruturas de Redes


Um computador conectado a rede e denominado sistema terminal (end system) ou host.
Hosts s~ao conectados por uma subrede de comunicac~ao. Subredes carregam mensagens (ou
pacotes) de um host para outro. Tipicamente, em redes locais, a subrede de comunicaca~o se
reduz a um unico dispsitivo de chaveamento denominado repetidor (hub) ou chave (switch).
Em redes de longa dist^ancia, a subrede de comunicaca~o e composta de linhas de transmiss~ao
(ou canais) e dispositivos de chaveamento denominados sistemas intermediarios (intermediate yystems) ou roteadores. Roteadores s~ao computadores especializados que conectam duas
ou mais linhas de transmiss~ao e aos quais os hosts se conectam ( gura 1.1).

fronteira da
subrede de comunicao
Roteador
subrede de comunicao
Host
canal

Figura 1.1: Hosts e roteadores em uma subrede de comunicac~ao.


Subredes de comunicac~ao dividem-se em dois grupos: ponto-a-ponto e de difus~ao (broadcast). Em subredes ponto-a-ponto os roteadores s~ao conectados por linhas de transmiss~ao,
de sorte que apenas roteadores diretamente conectados se comunicam. Se uma mensagem
necessita ser transmitida entre dois roteadores n~ao conectados, a mesma deve ser comutada atraves de outros roteadores. A gura 1.2 ilustra as topologias tpicas de subredes
ponto-a-ponto.
Em subredes de difus~ao todos os hosts e roteadores compartilham uma mesma linha
de transmiss~ao. Mensagens enviadas por um host ou roteador s~ao recebidas por todos os
demais. Se o endereco de destino contido na mensagem for diferente do endereco do host
que a recebeu, a mensagem e simplesmente descartada. A gura 1.3 mostra as topologias
tpicas de subredes de difus~ao.

1.4 Padronizac~ao de Redes


Um padr~ao e um conjunto de normas e procedimentos. O cumprimento destas normas e procedimentos pode ser obrigatorio (normalmente quando relacionados a seguranca do homem)
ou recomendavel (normalmente quando relacionados a qualidade de produtos e servicos).
Padr~oes visam homogeneizar produtos e servicos em um nvel aceitavel de qualidade e seguranca, minimizar investimentos em estoques, compatibilizar equipamentos de diferentes

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

(a)

(b)

(d)
(c)

Figura 1.2: Topologias tpicas em subredes ponto-a-ponto: (a) estrela, (b) anel, (c) arvore,
(d) generica.
proced^encias, etc.
Um padr~ao e denominado de facto apos ter sido adotado sem nenhuma ac~ao de entidade
reguladora. Exemplo: IBM-PC. Por outro lado, padr~oes de jure s~ao produzidos por entidades
reguladoras, nacionais ou internacionais, governamentais ou n~ao. Exemplo: ISO-9000.
Cada pas industrializado ou semi-industrializado possui uma entidade de padronizac~ao.
As mais conhecidas no ramo da engenharia eletrica s~ao:




Brasil: Associac~ao Brasileira de Normas Tecnicas (ABNT);


EUA: American National Standard Institute (ANSI) e Institute of Electrical and Elecsatlite

(a)

(b)

(c)

Figura 1.3: Topologias tpicas em subredes de difus~ao: (a) barramento, (b) radiodifus~ao via
satelite, (c) anel.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

tronic Engineers (IEEE);




Alemanha: Deutsche Industrie-Norm (DIN);


Inglaterra: Britsh Standard Institution (BSI).

Na area de redes de computadores os padr~oes de jure s~ao estabelecidos por duas entidades:
ITU-TS (International Telecommunications Union - Telecommunication Standardization),
antiga CCITT (Comite Consultatif International de Telegraphique et Telephonique), que
congrega as companhias de telecomunicaco~es nacionais; e a ISO (International Standard
Organization), que congrega as entidades de padronizac~ao nacionais.
A ISO tem aceito padr~oes ja estabelecidos por outras entidades (principalmente ANSI,
IEEE e ITU-TS) como padr~oes internacionais, simplesmente redigindo-os e catalogando-os
de acordo com os seus criterios. Por exemplo, o padr~ao IEEE 802 para redes locais foi
adotado integralmente pela ISO (ISO 8802).
Padr~oes da ITU-TS normalmente se referem a transmiss~ao de dados a longas dist^ancias,
enquanto pad~oes ISO s~ao mais voltados aos servicos que uma rede geralmente prov^e e a
protocolos de conversac~ao inter-hosts. Via de regra, pode-se a rmar que padr~oes ITU-TS
situam-se mais proximos do hardware que os padr~oes ISO.
Este texto cobrira o modelo proposto pela ISO para a Interconex~ao de Sistemas Abertos (OSI1 ) e conhecido como modelo ISO/OSI ou simplesmente modelo OSI. Este modelo
estipula que uma rede de computadores deve ser estruturada em sete camadas, propondo
um ou mais padr~oes para controlar o funcionamento de cada camada. Os padr~oes OSI n~ao
tiveram a aceitac~ao esperada (isto e, n~ao se tornaram padr~oes de facto). Entretanto, por
ser generico, o modelo OSI serve como refer^encia para o estudo de outras redes tais como
TCP/IP, Novell e SNA.
Criados pelo Departamento de Defesa (DoD) dos EUA para a interconex~ao de seus computadores no nal da decada de 70, os padr~oes TCP/IP2 t^em sido adotado por todos os
fabricantes daquele pas para atender as normas de contrato impostas pelo DoD. Com a
acentuada expans~ao da Internet3 , os padr~oes TCP/IP s~ao hoje padr~oes de facto.

1.5 Estruturac~ao de Redes em Camadas


Como todo sistema complexo, redes de computadores s~ao normalmente modeladas como
blocos funcionais interligados. Estes blocos s~ao denominados camadas, sendo associado a
cada camada um nvel. A ideia e que cada camada ofereca servicos a camada superior,
escondendo os detalhes de como estes servicos s~ao implementados.
Logicamente, a camada N de um host troca informaca~o com a camada N dos outros hosts.
As regras envolvidas na conversac~ao formam o protocolo da camada N . A especi cac~ao de
protocolos n~ao trata de detalhes de como s~ao implementados, detalhes estes que dependem
da tecnologia empregada. Entre cada par de camadas adjacentes existe uma interface, que
1 Open

Systems Interconnection

2 Transfer Control Protocol/Internet Protocol.


3 Abrevia
c~ao de interconnected networks.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

de ne claramente as regras de utilizaca~o dos servicos oferecidos pela camada inferior. O


conjunto de camadas e protocolos de nem a arquitetura da rede.
Considere uma rede de cinco camadas como mostra a gura 1.4. Suponha que uma
mensagem e gerada por um processo em um host e direcionada para um segundo processo
em um outro host. Vamos seguir esta mensagem pela rede da gura 1.4. Para processos
do usuario, o ponto de entrada na rede e a camada 5. A camada 5 transforma os dados
da mensagem em uma representac~ao padr~ao, independente da arquitetura do processador, e
submete a mensagem transformada a camada 4. Na camada 4 a mensagem e particionada
em unidades menores, sendo a cada unidade adicionado um cabecalho contendo informac~oes
de controle, tais como numero de sequ^encia e se a unidade e a ultima da sequ^encia ou n~ao.
As unidades geradas na camada 4 s~ao, uma a uma, conduzidas a camada 3.
APLICATIVO

APLICATIVO

protocolo da camada 5
CAMADA 5

CAMADA 5

protocolo da camada 4
CAMADA 4

CAMADA 4

protocolo da camada 3
CAMADA 3

CAMADA 3

protocolo da camada 2
CAMADA 2

CAMADA 2

protocolo da camada 1
CAMADA 1

CAMADA 1

MEIO FSICO
Host #1

Host #2

Figura 1.4: Camadas, protocolos e interfaces em uma rede de computadores.


A camada 3 decide o caminho que as unidades ir~ao percorrer (roteamento). Informac~oes
tais como identi caca~o dos hosts emissor e destinatario s~ao contidas em um outro cabecalho
adicionado pela camada 3. Na camada 2 e computado um codigo para ns de detecca~o de
erros (checksum). Esta camada adiciona tanto um novo cabecalho quanto um rotulo demarcador de nal nas unidades oriundas da camada 3. A camada 2 envia suas unidades para
a camada 1, armazenando-as caso o protocolo desta camada exija retransmiss~ao quando da
ocorr^encia de erros. Na camada 1 ser~ao gerados os sinais eletricos (ou oticos, ou eletromagneticos, dependendo do meio fsico de transmiss~ao) que far~ao as unidades atingirem o

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

host destinatario.
Ao receber (na camada 1) as unidades transmitidas, o host destinatario propaga-as para
as camadas superiores, ate atingir a camada 5, quando o processo destinatario sera noti cado.
No caminho inverso, as unidades s~ao remontadas de acordo com as informac~oes contidas nos
cabecalhos: a mensagem atinge o processo receptor na forma em que foi enviada pelo processo
emissor.

1.6 O Modelo OSI


O modelo OSI e composto das 7 camadas apresentadas na gura 1.5. O modelo OSI n~ao
e uma arquitetura, posto que n~ao especi ca os protocolos empregado pelas camadas. Entretanto, a ISO tem produzido protocolos para as 7 camadas, publicados como padr~oes
internacionais.
protocolo de aplicao
7

APLICAO

APLICAO

PDU

protocolo de apresentao
6

APRESENT.

APRESENT.

PDU

COMUNICAO
HOSTHOST
protocolo de sesso
5

SESSO

SESSO

PDU

protocolo de transporte
4

TRANSPORTE

TRANSPORTE

PDU
subrede de comunicao

REDE

REDE

ENLACE

ENLACE

FSICA

FSICA

pacote

REDE

REDE

ENLACE

ENLACE

FSICA

FSICA

COMUNICAO
quadro

bit

HOST #1

ROTEADORROTEADOR
HOSTROTEADOR

HOST #2
ROTEADOR #i

ROTEADOR #j

Figura 1.5: O modelo OSI.

1.6.1 A Camada Fsica


A camada fsica e a responsavel pela gerac~ao dos sinais eletricos, oticos ou eletromagneticos
que ser~ao propagados pelo meio fsico. Protocolos nesta camada especi cam qual a duraca~o
e intensidade do sinal, tecnica de multiplexaca~o, pinagem, etc. Obviamente esta camada
esta intimamente relacionada ao meio fsico empregado.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

1.6.2 A Camada de Enlace


A camada de enlace utiliza a camada fsica para a transmiss~ao de quadros de dados (data
frames). Tipicamente um quadro de dados e composto de algumas centenas de bytes.
Quadros s~ao delimitados por sequ^encias pre-estabelecidas de bits. A camada de enlace
transmite (recebe) quadros de dados, aguardando (enviando) o respectivo quadro de reconhecimento de recepc~ao. A transmiss~ao de quadros, mesmo com reconhecimento de recepc~ao,
n~ao e con avel. Quadros podem ser duplicados ou chegar fora de ordem. A duplicaca~o
ocorre quando o quadro de reconhecimento e deformado, tornando-se ininteligvel pelo receptor. O receptor, neste caso, envia novamente o quadro de dados correspondente por falta
de reconhecimento, gerando assim a sua duplicaca~o.
A camada de enlace tambem controla o uxo de quadros, evitando que um host envie
quadros em uma taxa superior a que o receptor e capaz de processar.

1.6.3 A Camada de Rede


A camada de rede controla a operac~ao da subrede. Uma de suas func~oes e o roteamento de
pacotes do host de origem ao host de destino. O roteamento pode apresentar caractersticas
din^amicas, evitando gargalos em certos roteadores, ou estaticas, empregando-se sempre a
mesma rota entre dois hosts.
Outra funca~o desta camada e a fragmentac~ao e remontagem de pacotes para atender a
limites impostos por determinados segmentos da subrede de comunicac~ao. Em subredes de
difus~ao e redes locais esta camada e extremamente simples, dado que sua principal atribuica~o
(roteamento) e inexistente nestas subredes.

1.6.4 A Camada de Transporte


A funca~o principal da camada de transporte e receber dados da camada de sess~ao, particionar
estes dados em unidades menores e, em certos casos, garantir que estas unidades cheguem a
seu destino sem duplicac~ao e na ordem correta.
Esta camada possui tipicamente dois tipos de servicos: um servico rapido onde mensagens s~ao limitadas em tamanho e n~ao existe garantia de entrega, ordem ou aus^encia de
duplicaca~o; e um servico mais lento, porem altamente con avel e sem limites de tamanho
nas mensagens. Um terceiro servico, difus~ao de mensagens para todos os hosts da subrede,
pode estar disponvel nesta camada.
No caso de servico com entrega con avel, a camada de transporte e responsavel pela
remontagem dos quadros oriundos da camada de rede, respeitando a ordem em que foram
enviados e descartando duplicac~oes.
E func~ao tambem desta camada o controle do uxo de dados entre dois processos comunicantes (a camada de rede controla o uxo apenas entre roteadores).
As camadas anteriores (fsica, de enlace e de rede) s~ao empregadas na comunicaca~o
roteador-roteador. A camada de transporte e a primeira a promover comunicac~ao host-host
(ver gura 1.5).

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

1.6.5 A Camada de Sess~ao


Esta camada permite dois processos de aplicac~ao (APs: Application Processes) estabelecerem
sess~oes entre si a m de organizar e sincronizar a troca de informac~ao. Para tal, uma conex~ao
de sess~ao e estabelecida, de nindo-se as regras de dialogo entre os dois APs. Existem tr^es
variantes de dialogo quanto ao sentido do uxo de dados: TWS (Two Way Simultaneous):
bidirecional simultaneamente, TWA (Two Way Alternate): bidirecional alternadamente (um
por vez), e OW (One Way): unidirecional. Sess~oes podem ser suspensas e retomadas a
posteriori, bem como manter pontos de sincronismo (checkpoint) para posterior retomada a
estes pontos face a ocorr^encia de erros.

1.6.6 A Camada de Apresentac~ao


Esta camada fornece servicos de representac~ao can^onica de dados, compress~ao de dados
e criptogra a. Uma representac~ao can^onica dos dados se faz necessaria quando hosts de
arquiteturas diferentes devem se comunicar. Por exemplo, a representac~ao de numeros em
ponto utuante varia de arquitetura para arquitetura. Quando um oat e transmitido,
o mesmo e convertido para uma representac~ao padronizada, enviado atraves da rede, e
reconvertido na representac~ao adotada pelo host de destino. A camada de apresentac~ao
disp~oe de um protocolo para tal (EDR: External Data Representation).
Compress~ao de dados e util para o envio de grandes massas de dados como imagens
e textos. Criptogra a e utilizada quando os dados a serem transmitidos s~ao con denciais
e visa evitar sua interceptaca~o em tr^ansito por pessoas n~ao autorizadas. Protocolos para
compress~ao e criptogra a de dados tambem s~ao de nidos nesta camada.

1.6.7 A Camada de Aplicac~ao


Esta camada disp~oe de servicos comumente utilizados por usuarios de redes. Correio eletr^onico,
transfer^encia de arquivos, login remoto, servicos de diretorio e ger^encia de redes s~ao exemplos
destes servicos. Esta camada tambem se constitui no ponto de acesso a rede por processos
de aplicac~ao (APs).

1.7 Servicos
O modelo de refer^encia n~ao especi ca por si so o comportamento de sistemas abertos, ou seja,
servicos e protocolos. Ele basicamente cria o contexto no qual uma detalhada especi cac~ao
de servicos e protocolos possa ser suportada pelo sistema aberto. Do ponto de vista da
abstraca~o, a gura 1.6 ilustra os varios nveis envolvidos relacionando modelo de refer^encia,
servicos, protocolos e implementac~ao de um protocolo.
Da gura 1.6 podemos observar que o modelo de refer^encia permite a especi caca~o de
varias classes de servico. Cada classe de servico permite a especi caca~o de varias classes de
protocolo onde o nvel mais baixo e representado pela implementac~ao do protocolo.
O modelo de refer^encia OSI procura fornecer uma vis~ao global de um sistema organizado
atraves de uma rede. Esta vis~ao, por outro lado, divide a rede em camadas horizontais cuja

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

10

Modelo de Referncia

Servios

Protocolos

Implementao de um Protocolo

Figura 1.6: Relac~ao entre modelo de refer^encia, especi cac~ao de servico e especi caca~o de
protocolo.
nalidade consiste em:

permitir uma discuss~ao da interac~ao entre elementos pares, ou seja, elementos que
situam-se em uma mesma camada; esta discuss~ao deve ocorrer sem levar em conta
componentes das outras camadas;




a funcionalidade de cada camada pode ser desenvolvida de forma modular e gradual;


o sistema aberto pode ser visto como uma sucess~ao de sub-sistemas facilitando o desenvolvimento de uma implementac~ao modular do mesmo.

Os elementos ativos em cada camada s~ao chamados entidades. Uma entidade pode ser
um componente de software (um processo, por exemplo) ou de hardware (um controlador de
estrada/sada, por exemplo). As entidades na camada N implementam servicos usados na
camada N + 1. Neste contexto, a camada N e denominada provedora de servicos enquanto
a camada N + 1 e denominada usuaria de servicos.
Servicos s~ao disponveis nos pontos de acesso de servicos (SAP: Service Access Points),
ou seja, a camada N +1 acessa os servicos oferecidos pela camada N nos SAPs desta camada.
Cada SAP possui um endereco que o identi ca unica e globalmente.
A gura 1.7 ilustra alguns conceitos associados aos pontos de acesso de servicos. Da
gura podemos observar que:






no maximo uma entidade e responsavel pelo suporte ao SAP;


no maximo uma entidade-(N + 1)pode acessar um SAP-(N ) de cada vez;
uma entidade-(N )pode suportar qualquer numero de SAPs-(N );
uma entidade-(N + 1) pode acessar servicos em mais de um SAP-(N ).

A associac~ao entre uma entidade-(N + 1) a um SAP-(N ) como tambem a associac~ao de


uma entidade-(N ) que suporta um SAP-(N ) n~ao s~ao associac~oes permanentes podendo ser
alteradas dinamicamente.
A natureza dos servicos suportados por uma camada dependem das primitivas que uma
entidade-(N + 1) e uma entidade-(N ) podem invocar relativamente ao SAP-(N ).

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

11

Entidade(N+1)
Camada(N+1)

SAP(N)

Entidade(N)
Camada(N)

Protocolo(N)
SAP(N1)

Camada(N1)
Entidade(N+1)

Figura 1.7: Pontos de Acesso de Servicos (SAPs).

1.7.1 Servicos Conectados e Sem Conex~ao


Servicos conectados s~ao analogos a um servico telef^onico. Estabelece-se uma conex~ao (discagem/atendimento), utiliza-se a conex~ao para troca de informac~oes (conversac~ao) e termina-se a
conex~ao (volta ao gancho). Servicos conectados estabelecem um canal logico entre as entidades comunicantes. Neste canal, a ordem temporal no envio da informaca~o e respeitada e
duplicaco~es s~ao inexistentes. O canal e denominado logico ou virtual pelo fato de n~ao dispor
de uma conex~ao fsica exclusiva, ao contrario, multiplos canais logicos compartilham uma
mesma conex~ao fsica.
Servicos conectados se dividem em dois tipos: mensagens e cadeias de bytes. Mensagens
t^em suas fronteiras delimitadas, o que n~ao ocorre com as cadeias de bytes. Servicos tpicos
que demandam conex~ao s~ao transfer^encia de arquivos e login remoto.
Servicos sem conex~ao s~ao analogos a servicos postais. Envia-se uma mensagem a um
destinatario (carta ou telegrama) e faz-se votos que ele a receba. Servicos sem conex~ao s~ao
denominados servicos de datagrama. Datagramas s~ao mais rapidos que os servicos conectados, mas a garantia de entrega, aus^encia de duplicaca~o e preservaca~o da ordem de envio
n~ao s~ao garantidas. Servicos tpicos que podem ser baseados em datagrama s~ao os do tipo
requisic~ao/resposta (acesso a banco de dados e sincronizac~ao de relogios, por exemplo).
Dentro do jarg~ao ISO uma conex~ao e estabelecida por iniciativa de uma entidade-(N + 1)
que invoca servico espec co da camada-(N ) para estabelecimento de uma conex~ao logica com
uma entidade-(N + 1) remota. A conex~ao e estabelecida entre SAPs-(N ) correspondentes.
Todas as conex~oes estabelecidas em um mesmo SAP s~ao suportadas pela entidade-(N )
correspondente. De modo a permitir que a entidade-(N + 1) e a entidade-(N ) possam
distinguir varias conex~oes estabelecidas via um mesmo SAP, de ne-se o conceito de ponto
nal de conex~ao (CEP - Connection End Point). Para cada conex~ao, 2 CEPs s~ao de nidos,
um para cada extremo da conex~ao. Desta maneira, um ponto nal da conex~ao-(N ) (CEP(N )) termina uma conex~ao-(N ) em um SAP-(N ). Um CEP-(N ) relaciona tr^es elementos,

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

12

ou seja, uma entidade-(N + 1), uma entidade-(N ) e uma conex~ao-(N ).


No caso do envio sem conex~ao s~ao utilizados servicos de transfer^encia de dados sem
conex~ao suportados pela camada-(N ).

1.7.2 Identi cadores


Com o objetivo de permitir que objetos como entidades, SAPs e conex~oes sejam referenciados
no mundo OSI e necessario um esquema de identi caca~o global destes objetos. Os identi cadores de entidades s~ao denominados de ttulos (titles), os de pontos de acesso de servicos
(SAPs) s~ao denominados de enderecos e as conex~oes s~ao identi cadas pelos identi cadores
do ponto nal de identi cac~ao CEP-identi er, ou seja:





uma entidade-(N ) possui um ttulo-(N );


um SAP-(N ) possui um endereco-(N );
um CEP-(N ) possui um identi cador-CEP-(N ).

O su xo (N ) usado acima indica que os identi cadores possuem signi cado no nvel da
camada-(N ).
A associac~ao do ttulo de uma entidade-(N + 1) com o endereco do SAP-(N ) ao qual
ela esta conectada encontra-se em um diretorio mantido pela camada-(N + 1), referenciado
como diretorio-(N +1). Desta maneira, caso uma entidade-(N +1) necessite estabelecer uma
conex~ao com uma entidade-(N + 1), ela pode recorrer ao diretorio-(N + 1) para determinar
o endereco do SAP-(N ) ao qual a entidade destino encontra-se conectada.

1.7.3 Unidades de Dados


A troca de dados entre entidades no modelo OSI ocorre de duas formas:
1. entre entidades pares, ou seja, entidades-(N + 1) remotas sendo a troca governada por
um protocolo-(N );
2. entre entidades em camadas adjacentes, isto e, entidade-(N +1) e entidade-(N ) atraves
de um mesmo SAP-(N ).
As informac~oes trocadas entre as entidades, sejam entidades pares ou adjacentes, podem
ser divididas em duas partes: dados e informac~oes de controle. Desta forma, e possvel
de nir-se quatro tipos de unidades de dado:
1. informac~ao de controle de protocolo (PCI: Protocol Control Information): informaca~o
trocada entre entidades pares com a nalidade de coordenar as suas operac~oes conjuntas;
2. dado do usuario: dado transferido entre uma entidade-(N + 1) e uma entidade-(N + 1)
par atraves de servicos suportados por entidades-(N );

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

13

3. informac~ao de controle de interface (ICI: Interface Control Information): trata-se de


informac~ao trocada entre entidade-(N + 1) e entidade-(N ) para coordenar as suas
interaco~es atraves do SAP-(N );
4. unidade de dado de interface (IDU: Interface Data Unit): dado transferido da entidade(N + 1) a entidade-(N ) para ser enviado a entidade-(N + 1) par.
Como, em geral, as informac~oes trocadas entre as entidades pares ou adjacentes incluem
informac~oes de dado e controle, determinam-se 2 novas unidades:
1. unidade de dado do protocolo-(N ) (PDU-(N )): informaca~o trocada entre entidades
pares e constituida de controle e dado do usuario;
2. unidade de dado de interface-(N + 1): informac~ao trocada entre uma entidade-(N + 1)
e uma entidade-(N ) atraves de um SAP-(N ), sendo constituida de controle (ICI) e
dado do usuario.
O conjunto de PDUs trocadas entre entidades-(N +1) pares e especi cado pelo protocolo(N + 1) que rege a interac~ao entre estas entidades. Por outro lado, a descrica~o do servico
n~ao especi ca um conjunto de unidades de dados de interface, isto porque a troca deste tipo
de unidade de dado se da entre entidades adjacentes internas a um sistema aberto, ou seja,
fora do escopo de padronizaca~o OSI. A de nic~ao deste tipo de informac~ao e basicamente
para permitir a introduc~ao da unidade de dado de servico-(N ).
Uma unidade de dado de servico (SDU: Service Data Unit) e um dado da interface cuja
identidade e preservada de um extremo a outro da conex~ao. N~ao e relevante como uma
SDU-(N ) e trocada entre as entidade-(N + 1) e a entidade-(N ) desde que os limites entre
SDUs sejam preservados.
Em determinadas situac~oes uma entidade-(N + 1) necessita enviar dados urgentes. Neste
caso e associada uma unidade de dado de servico urgente (SDU-urgente-(N )) ao servico
permitindo uma transfer^encia do dado em condico~es prioritarias.
De forma resumida temos que uma camada fornece um servico que permite que entidades(N +1) pares comuniquem-se atraves da troca de dados, ou seja, PDUs-(N +1). A entidade(N + 1) envia a PDU-(N + 1) para a entidade-(N ) atraves do SAP-(N ) na forma de uma
SDU-(N ). Esta SDU e entregue remotamente a entidade-(N + 1) no SAP correspondente.
A entidade-(N ) no sistema onde a informaca~o e originada trata a SDU-(N ) como dado do
usuario e cria uma PDU-(N ) anexando ao dado informaca~o de controle do protocolo-(N ).
Este mapeamento de uma PDU-(N + 1) em uma SDU-(N ) e da SDU-(N ) em uma PDU-(N )
e mostrada na gura 1.8
O modelo de refer^encia OSI n~ao coloca restric~oes com relac~ao ao tamanho da unidade
de dado. De modo a suportar o comprimento variavel das unidades, o modelo permite que
uma unidade de dado seja mapeada em um numero de unidades de dado, ou que um numero
de unidades de dado seja mapeado em uma unica unidade de dado. Consequentemente, as
formas de mapeamento a seguir s~ao possveis:

segmentaca~o: e a func~ao realizada por uma entidade-(N ) atraves da qual uma SDU-(N )
e mapeada em varias PDUs-(N ) ( gura 1.9);

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

14

IDU(N+i)

ICI(N)

PDU(N+1)

SAP(N)

SDU(N)

CAMADA(N+1)
CAMADA(N)

ICI(N)

PCI(N)

SDU(N)
PDU(N)

Figura 1.8: Mapeamento de PDUs em SDUs.

remontagem: func~ao inversa da segmentac~ao, ou seja, a entidade-(N ) par mapeia


multiplas PDUs-(N ) em uma SDU-(N ) ( gura 1.9);

bloqueio: func~ao realizada por uma entidade-(N ) que mapeia multiplas SDUs-(N ) em
uma PDU-(N ) ( gura 1.10);

desbloqueio: func~ao reversa do bloqueio, ou seja, a entidade-(N ) par mapeia uma PDU(N ) em multiplas SDUs-(N ) correspondentes ( gura 1.10);

concatenac~ao: e a forma que permite a uma entidade-(N ) mapear multiplas PDUs-(N )


em uma SDU-(N 1) ( gura 1.11);

separac~ao: func~ao reversa da concatenac~ao e realizada pela entidade-(N ) que mapeia


uma SDU-(N 1) em multiplas PDUs-(N ) correspondentes ( gura 1.11).

1.7.4 Primitivas para Requisic~ao de Servicos


A de nica~o dos servicos suportados por uma determinada camada-(N ) e caracterizada pelo
conjunto de primitivas e os respectivos par^ametros que podem ser invocadas pelo usuario do
servico (entidade-(N + 1)) e pelo provedor do servico (entidade-(N )) atraves de um SAP(N ). A interac~ao entre a entidade-(N + 1) e a entidade-(N ) atraves das primitivas de servico
de nidas involve a passagem de informac~oes de controle, de dados, ou ambos. No modelo
OSI, as primitivas para a requisic~ao de servicos s~ao divididas em quatro tipos ( gura 1.12).
Vamos tomar o exemplo do estabelecimento de uma conex~ao entre duas entidades. A
entidade que deseja se conectar executa a primitiva CONNECT.request (na notaca~o OSI),
passando como par^ametro o endereco da segunda entidade. A entidade enderecada recebe um
CONNECT.indication avisando que uma conex~ao esta sendo requisitada. Como resposta,

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

15

SDU(N)

CAMADA(N)

PCI(N)

PCI(N)
PDU(N)

PDU(N)

Figura 1.9: Segmentac~ao e remontagem.


SDU(N)

SDU(N)

CAMADA(N)

PCI(N)
PDU(N)

Figura 1.10: Bloqueio e desbloqueio.


executa um CONNECT.response indicando se aceita ou rejeita a conex~ao. A entidade que
requisitou esta bloqueada em um CONNECT.con rm, que volta exatamente o resultado do
CONNECT.response emitido pela outra entidade.
Servicos envolvendo duas partes podem conter negociac~ao. Por exemplo, uma conex~ao
pode especi car certa taxa mnima de transfer^encia de dados, maximo tamanho das mensagens, etc. Neste caso, a negociac~ao deve fazer parte do protocolo que regulamenta o
servico.
Servicos podem ser con rmados ou sem con rmac~ao. Servicos con rmados necessitam
das quatro primitivas basicas (requisic~ao, indicaca~o, resposta e con rmac~ao). Servicos sem
con rmaca~o necessitam apenas das primitivas do tipo requisica~o e indicaca~o. Exemplo:
servico de desconex~ao. A gura 1.13 ilustra estes conceitos.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

PDU(N)

16

PDU(N)

CAMADA(N)

SDU(N1)

Figura 1.11: Concatenaca~o e separaca~o.

Primitiva

Requisic~ao
Indicaca~o
Resposta
Con rmac~ao

Signi cado

Uma entidade requer a execuca~o de um servico


Uma entidade e informada da ocorr^encia de um evento
Uma entidade deseja responder a um evento
Uma entidade e informada sobre o resultado de sua requisica~o
Figura 1.12: Tipos de servicos no modelo OSI.

1.8 Protocolos
Um dos problemas fundamentais abordado na especi cac~ao de um sistema de comunicaca~o
aberto diz respeito ao protocolo envolvendo entidades pares. O conceito classico de protocolo de ne a forma como entidades equivalentes interagem entre si para a realizac~ao de
um objetivo comum: a prestac~ao de servicos a entidades na camada superior. Desta forma,
duas entidades-(N + 1) que desejam se comunicar devem utilizar os servicos de comunicaca~o
suportadas pela camada-(N ), com excec~ao da camada fsica para acesso ao meio fsico diretamente.
Para suportarem os servicos de comunicaca~o requisitados no SAP-(N ) pelas entidades(N + 1), as entidades-(N ) devem se comunicar atraves de servicos da camada-(N 1). Neste
caso, a comunicac~ao entre entidades pares e regida por um conjunto de regras e formatos
que as entidades devem seguir para suportar os servicos. Este conjunto de regras e formatos
representando por aspectos sem^anticos, sintaticos e temporais e denominado de protocolo
da camada-(N ).

1.8.1 Especi cac~ao de Protocolo


A especi cac~ao de um protocolo relativamente a uma camada compreende:

descric~ao dos tipos de PDUs;

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

S.request

17

S.request

S.indication

bloqueia

S.indication

processa requisio

processa requisio

S.response
S.confirm

entidade A

entidade B

entidade A

(a)

entidade B
(b)

Figura 1.13: Servicos OSI con rmados (a) e sem con rmaca~o (b).

descric~ao dos procedimentos do protocolo e os servicos invocados para transfer^encia de


cada tipo de PDU;




de nic~ao formal da estrutura de cada tipo de PDU;


de nic~ao formal da operac~ao da entidade de protocolo.

De nic~ao da PDU
Duas entidades pares de um protocolo comunicam-se atraves da troca de PDUs. Estas s~ao
formadas por uma parte correspondente aos dados do usuario e outra parte contendo as
informac~es de controle relativa ao protocolo (PCI). Como a PDU e uma informaca~o que
sera trocada entre sistemas diferentes, e necessario que a PDU possua uma estrutura cujo
signi cado seja comum as entidades de ambos os sistemas. Isto e obtido nos documentos
de padronizac~ao atraves da utilizaca~o de cadeias de bits ou atraves de uma forma baseada
em tipos abstratos de dados. O padr~ao Abstract Syntax Notation Number One, ou ASN.1, e
empregado para descrever PDUs em termos de tipos abstratos de dados.
A representac~ao baseada em cadeia de bits e mais utilizada na especi caca~o dos protocolos
das camadas inferiores. A representaca~o utilizando o ASN.1 e mais comum na especi cac~ao
de PDUs dos protocolos de nvel mais alto, isto e, dos protocolos orientados a aplicaca~o.
ASN.1 emprega tipos abstratos de dados como encontrado na maioria das linguagens de
programac~ao. Como ASN.1 e uma sintaxe abstrata, nada e especi cado com relaca~o ao
numero e ordem dos bits correspondentes a cada tipo de dado encontrado na especi cac~ao.
Neste caso, utiliza-se um conjunto de regras de codi caca~o que ira gerar PDUs formadas de
cadeias de bytes, cadeias estas que ser~ao interpretadas da mesma forma em todos os sistemas.
O padrao Basic Encoding Rules, ou BER, pode ser empregado para a codi cac~ao de dados
especi cados em ASN.1.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

18

Operac~ao do Protocolo
Uma entidade de protocolo e modelada na forma de uma maquina de estados nitos (aut^omato). Isto signi ca que uma entidade de protocolo deve encontrar-se em um unico estado
dentre um conjunto nito de estados possveis.
A transic~ao de um estado para outro acontece quando um evento valido ocorre na interface
do aut^omato. Alguns exemplos de eventos s~ao os seguintes:





uma primitiva de servico e invocada no SAP oferecido a camada superior;


uma resposta da invocac~ao e retornada;
o tempo maximo de espera para uma resposta expirou.

Em geral, associado a ocorr^encia de um evento valido, o aut^omato muda de estado e gera


alguma ac~ao interna espec ca como, por exemplo, o disparo de um relogio ou a invocaca~o
de uma primitiva.
O metodo de especi cac~ao de protocolo utiliza uma tabela evento-estado onde cada entrada na tabela especi ca o evento sada e o novo estado para o qual o aut^omato devera
transitar devido a uma combinaca~o evento-de-entrada|estado-atual ( gura 1.14).

1.9 Problemas
1. Qual o principal benefcio proporcionado por uma rede de computadores?
2. Em que situac~oes terminais bancarios podem ser considerados hosts de uma rede de
computadores? Justi que.
3. O que s~ao roteadores? Por que diferencia-los dos hosts?
4. Quem (usuario, fabricante, vendedor, etc.) lucra mais com a padronizaca~o de redes de
computadores?
5. Quais as vantagens de se estruturar uma rede em camadas?
6. Qual a diferenca entre modelo, protocolo e arquitetura?
7. Descreva sucintamente as 7 camadas do modelo OSI.
8. Suponha que voc^e decida reimplementar a camada de rede utilizando um algoritmo
inteligente de roteamento. Que cuidados voc^e deve tomar para que as camadas de
enlace e de transporte permanecam inalteradas?
9. Considere um programa de chat que abre uma sess~ao de conversaca~o on-line entre
usuarios. Voc^e o implementaria como um servico conectado ou sem conex~ao? Justi que.
10. Cite aplicaco~es onde servicos sem conex~ao s~ao vantajosos.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

Estado Atual
S0

S1

S2

Sn

Evento de Entrada
E1
Eventos de entrada
(camada superior
primitivas de servio)

...
Ex

Ex+1

...

Eventos de entrada
(camada inferior
recepo de PDUs)

ou

Ey

Ey+1
Eventos locais
(ex: temporizador)

...
Ez

Ox
Sa

P0: Ox
Sa;
P1: Oy
Sb;

Legenda:
Ox: evento de sada x
Sa: novo estado a
Pk: predicado k

Figura 1.14: Tabela evento-estado utilizada na especi caca~o de protocolos.

19

Cap
tulo 2
A CAMADA F
ISICA
A camada fsica trata da gerac~ao de sinais e sua propagac~ao atraves do meio fsico. A camada
deve especi car:

a natureza do meio fsico: sua constituica~o (par trancado, bra otica, etc.), suas
dimens~oes (di^ametro, comprimento, etc.), suas constantes fsicas (imped^ancia caracterstica, atenuaca~o, etc.), dentre outros par^ametros;

a forma como os hosts e roteadores s~ao interconectados no meio fsico (conectores,


pinagem, etc.);




a forma como 0s e 1s s~ao codi cados em sinais compatveis com o meio fsico;

o procedimento de modulac~ao e multiplexaca~o de sinais no meio fsico, se houver.

os par^ametros e suas respectivas toler^ancias dos sinais: tens~oes, correntes, frequ^encias,


etc.;

Vamos examinar os principais topicos relacionados com a camada fsica, procurando


limitar o nvel de detalhamento ao esc^opo deste texto. Padr~oes publicados por entidades
como IEEE, ANSI e ISO devem ser consultados para um estudo mais aprofundado dos
componentes da camada fsica para uma determinada tecnologia de rede.

2.1 Modos de Transmiss~ao


A camada fsica e responsavel pela transmiss~ao atraves do meio fsico dos quadros oriundos
da camada de enlace. De acordo com o hardware empregado, a transmiss~ao pode ocorrer
em modo full duplex onde dois hosts comunicantes transmitem simultaneamente, ou half
duplex caso a informaca~o tenha seu uxo alternado no tempo (apenas um host por vez pode
transmitir). Em redes locais de computadores, a comunicac~ao half duplex e a mais comum,
dado que, na maioria das vezes, o meio fsico suporta transmiss~ao unidirecional apenas.
A transmiss~ao de bits atraves do meio fsico pode se processar de forma serial ou paralela.
Na transmiss~ao serial um bit e transmitido a cada intervalo de tempo, enquanto na paralela os
bits s~ao transmitidos serialmente por N canais independentes, resultando na transmiss~ao de
20

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

21

N bits por unidade de tempo. Como a transmiss~ao paralela requer um meio fsico composto
de varios canais, esta tecnica n~ao e empregada nas redes de computadores convencionais.
Uma transmiss~ao de bits pode se dar de forma sncrona ou assncrona. Na transmiss~ao
sncrona um bit e transmitido em intervalos de tempo bem de nidos, enquando na transmiss~ao assncrona um bit pode ser transmitido em um instante de tempo arbitrario. A
transmiss~ao sncrona requer que tanto o host transmissor quanto o host receptor disponham
de uma base de tempo comum, o que torna seu emprego muito restrito em redes de computadores. A transmiss~ao assncrona no nvel de bits, por outro lado, e um processo ine ciente
pois requer a introduc~ao de um separador entre dois bits (caracter especial ou intervalo de
tempo sem transmiss~ao).
Na pratica, utiliza-se um meio termo entre os modos sncrono e assncrono, onde a transmiss~ao assncrona se da no nvel de bloco de bits (transmiss~ao start-stop). Detectado a
ocorr^encia de um bloco, os bits que o comp~oe s~ao recebidos sincronamente. Cada bloco e
iniciado com um delimitador de incio (combinac~ao de bits) e terminado com um delimitador
de nal de bloco. Ao detectar um delimitador de incio, o receptor sincroniza seu relogio
para receber, sincronamente, os bits que comp~oem o bloco. Mesmo que o host transmissor e receptor apresentem um certo drift em seus relogios, a transmiss~ao start-stop requer
sincronismo apenas entre os delimitadores de incio e nal de bloco.

2.2 Codi cac~ao de Sinais Digitais


A representac~ao de bits em circuitos digitais se da, via de regra, por sinais do tipo ON/OFF
onde um valor alto de tens~ao representa o codigo 1 enquanto um valor baixo representa o
codigo 0 (ou vice-versa). Esta forma de codi caca~o produz ondas quadradas de formato altamente irregular o que di culta sua transmiss~ao atraves do meio fsico (justi cativa adiante).
Outras formas de se codi car um sinal digital ON/OFF para sua posterior transmiss~ao s~ao
( gura 2.1):

Codigo Polar NRZ (Non Return to Zero): id^entico ao sinal ON/OFF, exceto que duas
polaridades s~ao empregadas (positiva e negativa). Raramente empregado em redes de
computadores;

Codigo Unipolar RZ (Return to Zero): o bit 1 c oincide com um pulso de relogio,


enquanto o bit 0 e representado pela aus^encia do pulso. Raramente empregado em
redes de computadores;

Codigo Manchester: uma transic~ao sempre ocorre no meio do intervalo de um bit.


Se positiva (subida), a transica~o representa o bit 1, se negativa (descida) o bit 0.
Transic~oes s~ao do tipo RZ;




Codigo Bifase: id^entico ao Manchester, mas empregando transic~oes NRZ;


Codigo Manchester Diferencial: uma transic~ao sempre ocorre no meio do intervalo de
um bit. Uma transic~ao adicional no incio do intervalo representa o bit 0, enquanto a
aus^encia desta representa o bit 1. Transic~oes s~ao do tipo RZ;

DCA-FEEC-UNICAMP

22

Redes de Computadores: Modelo OSI

Codigo Bifase Diferencial: id^entico ao Manchester Diferencial, mas empregando transic~oes


NRZ;

Codigo CMI (Code Mark Inversion): o bit 0 e representado por uma transic~ao positiva
(subida) no meio do intervalo do bit, e o bit 1 pela aus^encia de transica~o positiva.
Uma transic~ao no nal do intervalo ocorre quando bits 1s se repetem. Transico~es s~ao
do tipo NRZ.
Sinal Digital

Relgio

ON/OFF

Polar NRZ

Unipolar RZ

Manchester

Manchester Dif.

CMI

Figura 2.1: Formas de codi cac~ao de sinais digitais.


Um sinal codi cado pode ser transmitido de forma digital ou analogica. Na forma digital,
pulsos eletricos (ou oticos) s~ao gerados no meio fsico. O padr~ao IEEE 802.3 (CSMA/CD)
utiliza transmiss~ao digital com codi caca~o Manchester.
Na forma analogica, sinais senoidais s~ao gerados no meio fsico. A gerac~ao de sinais
senoidais a partir de um sinal digital e denominada modulaca~o. O padr~ao IEEE 802.4
(Token Bus) emprega modulac~ao na transmiss~ao de sinais digitais pelo meio fsico.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

23

2.3 Modulac~ao de Sinais Digitais


O processo de modulac~ao consiste em variar a amplitude, a frequ^encia ou a fase de um sinal
senoidal para representar determinado nvel de um sinal digital.
A Modulac~ao por Chaveamento de Amplitude (ASK) emprega uma onda senoidal de
frequ^encia xa e dois nveis de amplitude que representam os nveis do sinal digital ( gura 2.2).
A Modulac~ao por Chaveamento de Frequ^encia (FSK) emprega duas frequ^encias para codi car os nveis do sinal digital ( gura 2.2). A passagem da frequ^encia alta para a baixa
pode se dar de forma contnua ou de forma discreta. Na passagem contnua (modulaca~o
FSK-contnua), existe um tempo maximo para ocorrer a transica~o entre as duas frequ^encias
e uma variac~ao maxima nas amplitudes correspondentes as frequ^encias alta e baixa. Na
passagem discreta (FSK-coerente), normalmente empregam-se N ciclos de frequ^encia baixa
para representar determinado nvel binario, e 2N ciclos de frequ^encia alta (o dobro da baixa)
para o outro nvel.
O padr~ao IEEE 802.4 (Token Bus) prev^e ambas as formas de modulaca~o FSK (n~ao
coexistentes na mesma rede, obviamente). Na moduaca~o FSK-contnua, as frequ^encias s~ao
3.75 e 6.25 MHz com uma toler^ancia de + 80 KHz. O perodo de transica~o n~ao pode
ultrapassar 100 nanosegundos e as amplitudes nas frequ^encias alta e baixa n~ao devem ter
uma variac~ao superior a 10%. Na modulaca~o FSK-coerente, s~ao empregadas frequ^encias de
5 e 10 (ou 10 e 20) MHz e um ciclo de frequ^encia baixa para representar o bit 1 (N = 1).
Finalmente, a Modulac~ao por Chaveamento de Fase (PSK) representa os nveis binarios
por um avanco ou atraso de fase no sinal senoidal. Por exemplo, uma transic~ao negativa
(de 1 para 0) e representada por um avanco de 90o na fase do sinal senoidal, enquanto uma
transic~ao positiva (de 0 para 1) e representada por um atraso equivalente ( gura 2.2).

2.4 Multiplexac~ao
Multiplexac~ao e o processo pelo qual o meio fsico e compartilhado entre dois ou mais pares
transmissor-receptor. A multiplexac~ao pode se dar pela divis~ao em frequ^encia (FDM: Frequency Division Multiplex) ou pela divis~ao no tempo (TDM: Time Division Multiplex).
Na multiplexac~ao FDM, diferentes bandas de frequ^encias s~ao alocadas a diferentes pares
transmissor-receptor. Esta tecnica e empregada em bras oticas1 onde sinais de diferentes
frequ^encias (cores) s~ao propagados simultaneamente no cabo. A multiplexaca~o TDM e
analoga ao time-sharing onde a CPU de um processador e alocada a cada usuario de forma
alternada. A multiplexaca~o TDM pode ser sncrona ou assncrona. Na multiplexaca~o TDM
sncrona, o meio fsico e alocado alternadamente e por um perodo xo a cada host, independente do host utiliza-lo ou n~ao. Caso tenha quadros para transmitir, o host o faz no perodo
em que o meio ca a ele alocado. Esta tecnica provoca uma sub-utilizaca~o do meio fsico,
mas garante uma taxa mnima de transmiss~ao para cada host. Esta garantia e fundamental
em aplicac~oes de tempo real.
Na tecnica TDM assncrona, quando um host necessitar transmitir quadros o mesmo deve
1 No

Onda,

caso espec co das btas oticas, esta multiplexac~ao denomina-se Multiplexac~ao por Comprimento de
ou WDM (Wavelength Division Multiplexing).

DCA-FEEC-UNICAMP
Sinal Digital

24

Redes de Computadores: Modelo OSI

ON/OFF

ASK

FSK

PSK

Figura 2.2: Modulaca~o de sinais digitais.


executar um procedimento de acesso ao meio fsico. Procedimentos convencionais s~ao: passagem de cha e sensoriamento do meio (estudados no proximo captulo). Na tecnica TDM
assncrona, o meio fsico e utilizado mais e cienetmente, mas, em geral, n~ao existe garantia
de taxa mnima de transmiss~ao para os hosts. Usualmente, redes locais de computadores empregam multiplexaca~o TDM assncrona, enquanto redes de longa dist^ancia empregam TDM
sncrona.

2.5 Caractersticas dos Meios de Transmiss~ao Eletricos


Via de regra, os meios de transmiss~ao eletricos s~ao do tipo passa-baixas, isto e, permitem a
propagac~ao de frequ^encias baixas ate determinado limiar (largura de banda B). Em geral, a
largura de banda e de nida como a frequ^encia em que o sinal injetado em um extremo tem
sua pot^encia diminuida em 50% (-3 dB) na outra extremidade ( gura 2.3-a).
Entretanto, se considerarmos os elementos eletricos diretamente conectados ao meio de
transmiss~ao, sua caracterstica passa-baixas se altera para uma caracterstica passa-faixa.
Considere, por exemplo, que o circuto de transmiss~ao e recepc~ao esteja ligado ao meio atraves
de um transformador de desacoplamento. Como transformadores exercem forte atenuaca~o
em baixas frequ^encias, o conjunto transformador-meio de transmiss~ao passa a operar como
um ltro passa-faixa ( gura 2.3-b).
A caracterstica passa-faixa de um meio de transmiss~ao e a raz~ao pela qual utiliza-se
codi cac~ao de sinais diferentes de ON/OFF. Seja um sinal aleatorio em codi caca~o ON/OFF
com amplitude unitaria no caso de 1 e com igual probabilidade de ocorr^encia de 0s e 1s.

DCA-FEEC-UNICAMP

25

Redes de Computadores: Modelo OSI

Atenuao (dB)

Atenuao (dB)

0 dB
3dB

0 dB
3dB

f(Hz)

f2

f1

(a)

f(Hz)

(b)

Figura 2.3: Um ltro passa-baixas (a) e passa-faixa (b).


Utilizando-se um ltro ideal que permite a passagem apenas se sinais na frequ^encia f , vamos
aplicar o sinal ON/OFF ao ltro e computar a pot^encia do sinal ltrado. Variando-se f de
zero (nvel DC) a in nito, obtem-se o gra co (espectro de pot^encia) da gura 2.4-a.
S(f)

S(f)
T

T
2

T
4
T
8

1
2T

1
T

3
2T
(a)

2
T

1
2T

1
T

3
2T

2
T

(b)

Figura 2.4: Espectro de pot^encia de um sinal de amplitude unitaria e perodo de ocorr^encia


de bits igual a T: (a) codi cac~ao ON-OFF; (b) codi cac~ao Manchester.
Percebe-se agora que um meio de transmiss~ao com caractersticas passa-faixa e inadequado para transmitir um sinal binario em codi cac~ao ON/OFF, pois este sinal demanda a
propagac~ao de pot^encias consideraveis em baixas frequ^encias (de 0 ate o inverso do perodo do
bit-T). Impedindo-se a propagac~ao de tais frequ^encias, tem-se um sinal altamente distorcido
no receptor.
Passando agora o sinal ON/OFF por um codi cador Manchester antes de aplica-lo ao
ltro, obtem-se o espectro de pot^encia da gura 2.4-b. O codigo Manchester demanda a
propagac~ao de pot^encias moderadas tanto de baixas quanto de altas frequ^encias, causando
pouca distorc~ao do sinal quando transmitido atraves de um meio passa-faixa.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

26

2.6 Fontes de Distorc~ao do Sinal


Caracterstica Passa-faixa do Meio
A gura 2.5 mostra a distorc~ao de um sinal periodico pela aus^encia (ou atenuac~ao) de suas
componentes de alta frequ^encia. A aus^encia de componentes de baixa frequ^encia di culta
ainda mais a identi cac~ao de 0s e 1s pelo receptor. Sinais periodicos necessitam apenas da
propagac~ao de submultiplos inteiros de sua frequ^encia (harm^onicas da serie de Fourier).

SINAL ONOFF

UMA HARMNICA

DUAS HARMNICAS

QUATRO HARMNICAS

OITO HARMNICAS

Figura 2.5: Um sinal periodico e suas harm^onicas.

Interfer^encia Entre Smbolos


Quando aplicamos uma onda retangular de tens~ao a um meio de transmiss~ao eletrico, temos
no receptor do sinal uma onda n~ao retangular como mostra a gura 2.6. A subida ngreme da
tens~ao e impedida pelas capacit^ancias inerentes do meio, que necessitam armazenar energia
para ter sua tens~ao variada. Esta energia e devolvida quando a tens~ao decai, impondo
igualmente um decrescimo suave da tens~ao no meio.
Suponha a ocorr^encia do bit 1 seguido do bit 0. O decaimento suave da tens~ao pode fazer
com que o receptor detecte o bit 1 no lugar do bit 0, caso a amostragem se d^e mais proxima
do incio do intervalo do bit. A este fen^omeno denomina-se interfer^encia entre smbolos.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

27

SINAL NO
TRANSMISSOR

SINAL NO
RECEPTOR

limiar de
deciso

pontos de deteco

ponto de deteco deslocado

Figura 2.6: Interfer^encia entre smbolos.

Jitter de Fase
Jitter de fase e uma imprecis~ao na fase do sinal digital causada por alterac~ao do ponto de
operac~ao normal dos circuitos eletr^onicos devido a variaco~es de temperatura, oscilaco~es da
tens~ao de alimentac~ao, etc. O jitter de fase causa uma mudanca no instante de passagem pelo
limiar que distingue uma transic~ao ( gura 2.7). Como consequ^encia, o perodo de ocorr^encia
dos bits tem um valor n~ao constante, podendo causar erros na recepca~o do sinal.
O jitter de fase e medido pela faixa de tempo em que a transic~ao pode variar (em valor
absoluto ou relativo ao perodo do bit).

Rudo Termico
Rudo termico e uma perturbaca~o de natureza aleatoria que distorce o sinal. Transitorios
termicos e eletromagneticos s~ao as causas mais comuns de rudo termico. Transitorios
mec^anicos e outra fonte de rudo termico, alterando as caractersticas eletricas dos contactos
(resist^encia e capacit^ancia de contacto).
A gura 2.8 ilustra a distorca~o causada pelo rudo termico.

Distorc~ao por Atraso de Propagac~ao


Um sinal pode ser representado por um certo numero de componentes harm^onicas senoidais.
Nos meios fsicos usuais a velocidade de propagac~ao de uma onda senoidal depende de sua
frequ^encia. Caso esta depend^encia seja acentuada, uma harm^onica de frequ^encia alta pode
ter sua fase alterada em relaca~o as harm^onicas de frequ^encias baixas. A gura 2.9 mostra
este efeito.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

28

SINAL NO
TRANSMISSOR
jitter

jitter

PERODO

SINAL NO
RECEPTOR

limiar de
deciso

pontos de deteco

Figura 2.7: Erro de detecc~ao devido ao jitter de fase.

2.7 Capacidade de Transmiss~ao de um Canal


A frequ^encia com que um sinal pode se propagar no meio de transmiss~ao e denominada baud.
Um canal de 10 Mbaud permite 106 variaco~es do sinal por segundo. A relaca~o entre baud
e bits por segundo (bits/baud) depende da forma de codi caca~o do sinal. Um canal com
capacidade de N bauds pode transportar N bits/s no caso de sinal digital com codi caca~o
ON/OFF ou NRZ. No caso de codi cac~ao Manchester, teremos N/2 bits/s em media.
 o caso
Um canal de N bauds pode transportar um numero maior que N de bits/s. E
de, por exemplo, utilizar-se um sinal digital com codi caca~o ON/OFF e 4 nveis de tens~ao
representando as ocorr^encias dos bits 00, 01, 10 e 11. Neste caso temos 2N bits/s. A
codi cac~ao de multiplos bits em uma unica variaca~o do sinal e rara em redes locais devido a
alta taxa de falhas na decodi caca~o do sinal. Quando utilizada (principalmente em conex~oes
de acesso via rede telef^onica), emprega-se transmiss~ao analogica com modulac~ao PSK e ASK
combinadas. ( gura 2.10).
A capacidade de transmiss~ao de um canal passa-baixas e limitada pelo teorema de
Nyquist: Um canal livre de rudo com largura de banda B transmitindo um sinal com
V diferentes amplitudes possui uma taxa de transmiss~ao T (em bits/s) dada por

 2B log2 V

Por exemplo, um canal com largura de banda 3 KHz apresenta uma capacidade maxima
de 6 Kbits/s caso sejam empregadas duas amplitudades (modulaca~o ASK) para codi car os
nveis 0 e 1. Intuitivamente, o limite de Nyquist se deve a ltragem de frequ^encias altas pelo
canal tornando inutil amostragens com taxa maior que 2B.
Devido a presenca das fontes de distorca~o descritas acima, o limite teorico de Nyquist
nunca e atingido na pratica. A interfer^encia entre smbolos causadas pelas indut^ancias e
capacit^ancias ao longo do meio e um fator preponderante na limitac~ao da taxa de transmiss~ao
de um canal eletrico.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

29

SINAL NO
TRANSMISSOR

RUDO
TRMICO
erro de deteco

limiar de
deciso

SINAL NO
RECEPTOR

pontos de deteco

Figura 2.8: Erro de detecc~ao devido ao rudo termico.


Em redes de computadores baseadas em canais eletricos, taxas da ordem de 100 Mbits/s
s~ao tpicas. Em redes baseadas em bra otica, taxas entre 1 e 10 Gbits/s s~ao tpicas.

2.8 Meios de Transmiss~ao


2.8.1 Par Trancado Metalico
Um par2 trancado constitui-se de os enrolados de forma helicoidal. Esta forma evita que os
os assumam caractersticas de uma antena, o que os tornaria susceptveis a interfer^encias
eletromagneticas, bem como minimizam a componente indutiva da imped^ancia. A componente resistiva da imped^ancia sofre o chamado efeito pelicular, segundo o qual a corrente
eletrica tende a se concentrar nas bordas exteriores do condutor, aumentando sua resist^encia
efetiva.
Pares trancados s~ao utilizados tanto para transmiss~ao de sinais analogicos (em redes
telef^onicas), quanto digitais (em redes de computadores). Este meio de transmiss~ao tem
como atrativo o baixo custo e a facilidade de instalac~ao, aproveitando-se, em muitos casos,
a propria infra-estruturas telef^onica existente (canaletas, caixas de passagem, etc.).
A frequ^encia maxima de transmiss~ao depende do comprimento e da espessura dos os, o
que em ultima inst^ancia dita a imped^ancia eletrica do par. Para longas dist^ancias (quilomet2O

termo par e oriundo da telefonia onde apenas dois os s~ao empregados. Em redes de computadores,
emprega-se 8 os por cabo.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

30

1a. harmnica
sinal resultante
3a. harmnica

1a. harmnica
sinal resultante
3a. harmnica com diferente
velocidade de propagao

Figura 2.9: Distorca~o devido a variaca~o da velocidade de propagac~ao das harm^onicas com a
frequ^encia.
ros) a taxa de transmiss~ao n~ao ultrapassa 20 Kbits/s, podendo atingir 100 Mbits/s em comprimentos de ate 100 metros.

2.8.2 Cabo Coaxial

 composto de um condutor cilndrico isolado envolto por uma malha de cobre e uma capa
E
plastica de protec~ao ( gura 2.11). A blindagem forma uma protec~ao eletrostatica ao condutor central tornando o cabo mais imune a interfer^encias eletromagneticas. Sua forma de
construc~ao minimiza as perdas em altas frequ^encias (efeito pelicular e irradiaca~o). Entretanto, sua estrutura assimetrica contribui para a atenuaca~o imposta a amplitude do sinal. O
cabo coaxial foi suplantado pelo par trancado metalico em curtas dist^ancia e pela bra otica
em longas dist^ancias. Exceto em situaco~es muito particulares3 , este meio de transmiss~ao n~ao
e mais empregado em redes de computadores.
3 Por

exemplo, em acessos atraves de rede de TV a cabo.

DCA-FEEC-UNICAMP

31

Redes de Computadores: Modelo OSI

fase

fase
nvel do sinal

(a)

(b)

Figura 2.10: Modulac~oes PSK e ASK combinadas para 3 bits/baud (a) e 4 bits/baud (b).
capa externa de proteo
isolante

condutor de cobre
malha de cobre

Figura 2.11: Cabo coaxial de cobre.


2.8.3 Fibra Otica
A bra otica e composta de um nucleo de slica envolto por uma casca tambem de slica,
tudo protegido por uma capa plastica. O nucleo e a casca apresentam ndices de refraca~o distintos, apesar de construdos de materiais similares. A tecnologia mais comum e a chamada
bra multimodo onde a luz e mantida no nucleo por re ex~ao na casca ( gura 2.12). Fibras
multimodo possuem di^ametros entre 50 e 200 m. Atenuaco~es de 1 a 5 dB por quiilometro
na pot^encia do sinal otico s~ao tpicas.
capa plstica
casca (ndice de refrao n2)

ncleo (ndice de refrao n1)


luz policromtica

ngulo limite

Figura 2.12: Fibra otica multimodo.


O sinal otico consite de luz policromatica de comprimento de onda centrado em 0:8m.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

32

O sinal e produzido por diodos LED e captado por fotodetetores, sendo totalmente imune a
interfer^encias eletromagneticas.
As bras oticas s~ao de difcil instalac~ao (curvaturas devem obedecer raio mnimo, cortes
e instalaca~o de conectores exige ferramentas especiais, etc.) A conex~ao de um host em uma
rede de bra otica e um processo complicado. O sinal otico e convertido em um sinal eletrico
correspondente, passado ao computador que, quando for o caso, o retransmite empregando
o processo inverso. Essa regeneraca~o do sinal coopera para o aumento da dist^ancia da rede
( gura 2.13).
fibra

interface
cabo eltrico

computador

luz

fotodiodo

regenerador de sinal
(eltrico)

fibra

LED

luz

fibra

p/ o computador

Figura 2.13: Rede de bra otica em anel com repetidores ativos.


Redes baseadas em bra otica ja operam na faixa de Gigabit/s. Percursos de longas
dist^ancias necessitam bras monomodo (di^ametros de 5 a 10 m) e luz monocromatica
produzida por diodos laser.

2.9 Padr~oes da Camada Fsica


No caso de redes publicas, um padr~ao da camada fsica deve especi car a interconex~ao
do equipamento terminal de dados (DTE: Data Terminal Equipment) ao equipamento de
comunicaca~o de dados (DCE: Data Communication Equipment). O DTE e tipicamente um
host, mas pode ser tambem um dispositivo de entrada/sada como terminal ou impressora.
O DCE e o equipamento de conex~ao a rede publica (tipicamente um modem4 ligado a um
equipamento par localizado no provedor atraves de uma conex~ao telef^onica, de radio, de
4 Modulador/demodulador.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

33

bra otica, etc.). A conex~ao DTE-DCE pode se dar atraves de cabo, radio, bra otica, etc.,
e deve especi car:






o numero e func~ao dos os presentes no cabo bem como conectores e pinagem;


o padr~ao de codi cac~ao de sinais (exemplo: ITU G.703)
os limites fsicos e condic~oes de instalac~ao tais como dist^ancia e curvatura maximas;
as velocidades maximas de operac~ao (bits/s).

No caso de redes locais, um padr~ao de camada fsica deve especi car a interconex~ao
do host ou equipamento de entrada/sada (impressora, por exemplo) ao equipamento de
chaveamento (repetidor ou chave). Atualmente, o par trancado metalico operando na faixa
de 100 a 1000 Mbits/s e o meio mais utilizado. A especi cac~ao deve considerar os mesmos
itens da conex~ao DTE-DCE no caso das redes publicas. A gura 2.14 ilustra o escopo dos
padr~oes da camada fsica para as redes publicas e locais.
DTE

DCE

padres da camada fsica

Host

Host

Dispositivo de
Chaveamento

Host

Figura 2.14: Escopo dos padr~oes da camada fsica para as redes publicas (acima) e locais
(abaixo).

2.10 Problemas
1. Quais os motivos de se empregar esquemas de codi cac~ao diferente do ON/OFF?
2. Desenhe a forma de onda nos codigos Manchester e Manchester Diferencial do sinal
composto dos bits 0001110101.
3. Diz-se que o codigo Manchester colabora para a manutenc~ao do sincronismo entre o
emissor e o receptor de um sinal. Comente esta a rmac~ao.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

34

4. Quais as formas de se modular um sinal digital?


5. Qual a taxa de transmiss~ao de um canal de 6 MHz utilizando-se modulac~ao PSK com
4 avancos de fases distintos?
6. O que e interfer^encia entre smbolos e jitter de fase e quais os seus efeitos na transmiss~ao
de sinais digitais?
7. Em que situac~oes s~ao utilizados par trancado metalico e bra otica?
8. Por que a grande maioria das redes baseadas em bra otica apresentam topologias em
anel?
9. Tipicamente a velocidade de acesso as redes publicas e inferior a velocidade de uma
rede local. Por que?
10. Pesquise as caractersticas do padr~ao de camada fsica 100-Base T empregado nas redes
Ethernet.

Cap
tulo 3
A CAMADA DE ENLACE
A camada de enlace e responsavel pela detecca~o e recuperac~ao de erros ocorridos na camada
fsica, oferecendo as camadas superiores um transporte de dados mais con avel. O enlace
e uma conex~ao virtual por onde uem os quadros. Esta conex~ao implementa protocolos
simples de detecc~ao e recuperac~ao de erros, por exemplo detecca~o atraves de checksum e
recuperac~ao por retransmiss~ao.
Em redes de longa dist^ancia e metropolitanas o enlace se da entre roteadores. A rota
fsica por onde os quadros uem e exclusiva dos roteadores por ela conectados (o meio
fsico e decomposto em segmentos que conectam dois, e somente dois, roteadores). Ao
decidir transmitir um quadro, um roteador simplesmente seleciona o segmento conectando
ao destinatario e invoca os servicos da camada fsica referente ao segmento.
Em redes locais, o meio fsico e compartilhado por todos os hosts. A transmiss~ao de um
quadro em redes locais requer antes um procedimento de acesso ao meio. Este procedimento e
denominado MAC (Medium Access Control) e varia em complexidade em func~ao da topologia
e demais caractersticas da rede.
Dada a import^ancia do controle de acesso ao meio em redes locais, e comum reservar uma
subcamada no modelo de rede exclusiva para tal. A subcamada de acesso ao meio e parte da
camada de enlace e situa-se na interface desta com a camada fsica. O restante da camada
de enlace denomina-se Controle de Enlace Logico (LLC: Logical Link Control) e podemos
considera-la como uma segunda subcamada, acima da subcamada de acesso ao meio.

3.1 A Subcamada de Acesso ao Meio (MAC)


A subcamada de acesso ao meio implementa uma disciplina (seguida a risca por todos os
hosts) de acesso ao meio fsico. As mais difundidas tecnicas de controle de acesso ao meio
s~ao as baseadas em acesso aleatorio (ou de contenc~ao) e passagem de permiss~ao.

3.1.1 Tecnicas de Acesso Aleatorio


As tecnicas de acesso aleatorio s~ao utilizadas em redes com topologia de barramento. Dois
metodos de acesso aleatorio ser~ao descritos: metodos ALOHA (pioneiros) e sua evoluca~o para
35

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

36

os metodos de acesso multiplo com detecca~o de portadora (CSMA: Carrier Sense Multiple
Access).

Metodo ALOHA Puro


Este medodo foi concebido na Universidade do Hawaii para uma rede conectando unidades
em quatro ilhas via radio. A tecnica necessita de reconhecimento por parte do receptor e
segue o algoritmo abaixo:
1. transmita o quadro;
2. aguarde o reconhecimento da recepca~o por T unidades de tempo; se recebido, m;
3. gere um numero aleatorio (r) entre 0 e R;
4. va para 1 apos r unidades de tempo.
A tecnica ALOHA pura e basteante simples. Sempre que necessitar transmitir um quadro,
o host simplesmente o faz. Caso ocorra colis~ao (interfer^encia entre duas transmiss~oes), o
quadro sera propagado com erro, causando o seu descarte pelo destinatario. O emissor detecta colis~ao pelo n~ao recebimento do reconhecimento. Neste caso, a proxima retransmiss~ao
 importante tentar nova transmiss~ao apos
se dara apos um intervalo de tempo aleatorio. E
um intervalo de tempo aleatorio, pois, caso contrario, uma nova colis~ao certamente ocorrera
se ambos os hosts colidentes tentarem a retransmiss~ao ao mesmo tempo.
A tecnica ALOHA pura apresenta baixa e ci^encia na utilizac~ao do canal pois uma transmiss~ao em curso esta sempre sujeita a interfer^encia de outra que se inicia. A variante a
seguir impede interfer^encias em uma transmiss~ao em curso.

Metodo ALOHA Particionado


Esta variante do ALOHA puro permite que transmiss~oes se iniciem em intervalos de tempo
bem de nidos (partic~oes). Se o perodo das partic~oes for superior ao tempo de transmiss~ao
de um quadro, uma transmiss~ao que se iniciou sem colis~ao sera concluda sem colis~ao. Como
desvantagem, o host deve esperar o incio do proxima partic~ao para transmitir, mesmo que
o meio esteja livre. O algoritmo e dado abaixo:
1. aguarde o beep de incio de partic~ao (fornecido por uma estac~ao mestre);
2. transmita o quadro;
3. aguarde o reconhecimento da recepc~ao por T unidades de tempo; se recebido, m.
4. gere um numero aleatorio (r) entre 0 e R;
5. va para 1 apos r unidades de tempo.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

37

Metodo CSMA N~ao Persistente


Os metodos da famlia CSMA t^em em comum a capacidade de escutar o meio fsico para a
detecc~ao de uma transmiss~ao em curso. Um host somente inicia a transmiss~ao se detectar
o meio em repouso (sem transic~oes, no caso de transmiss~ao digital). Colis~oes ainda podem
ocorrer, se dois hosts detectarem o meio em repouso e iniciarem a transmiss~ao ao mesmo
tempo. Neste caso, a con rmac~ao por parte do receptor, como nos metodos ALOHA, tambem
e imprescindvel.
O metodo CSMA N~ao Persistente opera segundo o algoritmo:
1. escute o meio;
2. se o meio estiver em repouso:
(a) transmita o quadro;
(b) aguarde o reconhecimento da recepca~o por T unidades de tempo; se recebido, m;
(c) va para 1.
3. caso contrario (transmiss~ao em curso):
(a) gere um numero aleatorio (r) entre 0 e R;
(b) va para 1 apos r unidades de tempo.
Quando detectada uma transmiss~ao em curso, o metodo aguarda um intervalo aleatorio
antes de reiniciar a escuta do meio a m de aguardar a sua liberac~ao. Se a transmiss~ao
terminar logo apos o incio do intervalo aleatorio, uma sub-utilizac~ao do meio e acarretada.

Metodo CSMA 1-Persistente


Este metodo e id^entico ao anterior, apenas fazendo o intervalo aleatorio igual zero (escuta
permanente do meio ate cessar a transmiss~ao em curso). Este metodo evita as esperas com
o meio em repouso do anterior (aumentando portanto a utilizaca~o do canal) sob pena de um
aumento da possibilidade de colis~oes quando dois hosts est~ao sensoriando o meio ocupado
por um terceiro.

Metodo CSMA p-Persistente


 um meio termo entre o metodo N~ao Persistente e o 1-Persistente. O metodo detecta o
E
meio permanentemente ate a transmiss~ao em curso se encerrar. Neste ponto, o metodo pode
transmitir ou suspender a transmiss~ao por um intervalo de tempo aleatorio. Os passos do
algoritmo CSMA p-Persistente s~ao os seguintes:
1. escute o meio ate ser detectada a condic~ao de repouso;
2. gere um numero aleatorio (s) entre 0 e 1;
3. Se s  p:

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

38

(a) transmita o quadro;


(b) aguarde o reconhecimento da recepca~o por T unidades de tempo; se recebido, m;
(c) va para 1.
4. Caso contrario (s < p):
(a)
(b)
(c)
(d)

gere um numero aleatorio (r) entre 0 e R;


aguarde r unidades de tempo;
escute o meio; se em repouso va para 2;
caso contrario (transmiss~ao em curso):
i. gere um numero aleatorio (u) entre 0 e U;
ii. va para 1 apos u unidades de tempo.

O metodo CSMA p-Persistente apresenta uma boa taxa de utilizac~ao do meio com baixa
probabilidade da de ocorr^encia de colis~oes caso p seja ajustado as caractersticas do trafego.

Metodo CSMA-CD
O metodo CSMA-CD (Collision Detection) adiciona aos metodos CSMA a detecc~ao de colis~oes sem a necessidade de aguardar reconhecimento por parte do receptor. Detectada uma
colis~ao, o host interrompe imediatamente a transmiss~ao, entrando em seguida em um processo de retransmiss~ao. O processo de detecc~ao de colis~ao e simples: durante uma transmiss~ao
o host escuta o meio, comparando o sinal no meio com aquele sendo transmitido. Ocorrida
uma diferenca, o host conclui que uma segunda transmiss~ao esta se sobrepondo a sua.
Detectada uma colis~ao, o host reforca a colis~ao com a injeca~o de sinais espurios no meio
(jamming) a m de que os demais hosts transmitindo detectem imediatamente a colis~ao e
suspendam igualmente a transmiss~ao. O algoritmo e composto dos seguintes passos:
1. escute o meio ate ser detectada a condic~ao de repouso;
2. inicie a transmiss~ao do quadro, escutando o meio para se certi car que apenas esta
transmiss~ao esta em curso; encerrada a transmiss~ao do quadro sem colis~ao, m;
3. reforce a colis~ao (jamming);
4. caso o numero de colis~oes (c) na transmiss~ao deste quadro exceder um limite, sinalize
um erro a camada superior e termine;
5. gere um numero aleatorio (r) entre 0 e R(c);
6. va para 1 apos r unidades de tempo.
Como o metodo CSMA-CD detecta colis~oes independente do reconhecimento por parte
do receptor, esta tecnica pode suportar servicos de datagrama sem con rmac~ao.
A rede Ethernet foi pioneira na introduc~ao do metodo CSMA-CD, sendo comum empregarse o termo Ethernet para este metodo de acesso ao meio.

DCA-FEEC-UNICAMP

39

Redes de Computadores: Modelo OSI

CSMA-CD no Padr~ao IEEE 802.3


O padr~ao IEEE 802.3 estabelece o formato de quadros apresentado na gura 3.1.
Bytes

PREMBULO

ENDEREO

ENDEREO

DESTINO

FONTE

TIPO

01500

046

DADOS

PAD CHECKSUM

10101010
comeo do delimitador
do quadro (10101011)

Figura 3.1: Formato dos quadros no IEEE 802.3


O quadro inicia com um pre^ambulo de 7 bytes composto dos bits 10101010. A seguir
vem um byte de incio de quadro composto dos bits 10101011. Duas sequ^encias de 6 bytes
estabelecem os enderecos do destinatario e do emissor, respectivamente. Seguem 2 bytes
contendo o tipo da informac~ao contida no quadro e os bytes correspondentes (1500 maximo).
Caso o numero de bytes da informaca~o contida no quadro seja insu ciente para atingir o
tamanho mnimo de quadro (64 bytes a partir do byte de incio), um pad de 0 a 46 bytes
completa as informac~oes do quadro. Finalmente, 4 bytes s~ao reservados para checksum.
A imposic~ao de um tamanho mnimo de quadro se da por duas raz~oes:
1. quadros muitos curtos emitidos nos extremos do cabo podem entrar em colis~ao sem
que os respectivos emissores a detectem (isto e, quando um quadro atinge o extremo
oposto a tansmiss~ao do quadro neste extremo ja foi concluda);
2. reforcar o checksum, diminuindo a probabilidade de diferentes arranjos de bits gerarem
o mesmo checksum.

3.1.2 Metodos Baseados em Passagem de Permiss~ao


Os metodos baseados em passagem de permiss~ao foram desenvolvidas para redes com topologia em anel. A ideia basica e ter-se uma cha (token) circulando pelo anel, de host para
host. O host que detiver o token esta autorizado a transmitir. Transmitido um quadro, este
circula pelo anel ate atingir o host destino. Recebido sem erros no destino, o host ativa
no proprio quadro um bit de reconhecimento e transmite ao seu sucessor ate atingir o host
que o emitiu (note que um quadro sempre da uma volta completa pelo anel). O emissor
pode ent~ao se certi car que o quadro foi corretamente recebido ou ignorado (devido a erros
ocorridos na camada fsica ou inexist^encia do destinatario), drenando-o do anel.
Nenhum host pode manter a posse do token por um intervalo de tempo superior a um
limite pre-estabelecido. Efetuadas as transmiss~oes ou expirado o tempo maximo de posse
do token, o host a passa para seu sucessor. Redes com topologia em anel que empregam
passagem de permiss~ao como metodo de acesso ao meio s~ao denominadas redes token ring.
Metodos baseados em passagem de permiss~ao apresentam duas caractersticas basicas:
inexist^encia de colis~oes e tempo maximo de espera para acessar o meio (este tempo, em
teoria, e in nito para os metodos de acesso aleatorio).

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

40

O anel pode conter uma estaca~o mestre que tem como funca~o veri car se o token n~ao se
perdeu, reiniciar o anel em caso de falhas, remover quadros corrompidos, etc. Em caso de
falha desta estac~ao, outra e eleita como mestre (automaticamente ou com a intervenca~o do
operador).
Apesar da simplicidade do conceito, metodos de acesso ao meio baseados na passagem de
permiss~ao s~ao bem mais complexos que os metodos de acesso aleatorio. A seguintes situac~oes
devem ser tratadas:





iniciac~ao do anel quando o primeiro host e ligado;


inserc~ao de novos hosts no anel;
recon gurac~ao do anel ante a falha ou o desligamento programado de hosts.

Apesar de associados a topologia em anel, metodos baseados em passagem de permiss~ao


tambem se aplicam a topologia de barramento. Neste caso, forma-se um anel logico ordenando os hosts de acordo com algum criterio, por exemplo, seus enderecos. O token circula
neste anel logico, dando permiss~ao ao host que o detem de difundir quadros no meio fsico.
Redes com topologia de barramento que empregam passagem de permiss~ao como metodo de
acesso ao meio s~ao denominadas redes token bus ( gura 3.2).
Nestas redes o hosts emissor n~ao disp~oe de con rmaca~o por parte do receptor como nas
redes token ring visto que o quadro e simplesmente difundido no barramento.
1

anel lgico
BARRAMENTO

sentido de
rotao do token

estao fora
do anel lgico
4

Figura 3.2: Passagem de permiss~ao em redes com topologia de barramento.


Redes token bus apresentam um atrativo adicional em relaca~o a redes token ring: um
host pode receber mensagens sem estar participando do anel logico (host 6 na gura 3.2),
posto que todas as mensagem s~ao transmitidas em difus~ao pelo meio fsico. Tais hosts s~ao
incapazes de transmitir, pois jamais estar~ao de posse do token (no maximo podem responder
a uma mensagem a eles direcionada). Esta caracterstica das redes token bus viabiliza a
inclus~ao de processadores extremamente simples na rede (microcontroladores, por exemplo),
sem dota-los da capacidade plena de acesso ao meio (e portanto sem empregar todas as
funcionalidades das sete camadas do modelo OSI).

DCA-FEEC-UNICAMP

41

Redes de Computadores: Modelo OSI

3.1.3 Passagem de Permiss~ao no Padr~ao IEEE 802.5


O padr~ao IEEE 802.5 (token ring) e bem mais complexo que o CSMA-CD do 802.3. Duas
caractersticas n~ao presentes no 802.3 s~ao de nidas no 802.5: prioridade de acesso ao meio e
reserva do meio.
O token e composto de 3 bytes: DI (delimitador de incio), CA (controle de acesso) e
TIPO. O primeito byte, DI, identi ca o incio do token e e formado por transico~es invalidas
do codigo Manchester Diferencial (transic~oes que jamais ocorrem em cadeias de 0s e 1s tais
como duas transico~es positivas ou negativas seguidas). O segundo byte, CA, e utilizado para
controle de acesso ao meio, sendo composto de agrupamentos de bits em 4 categorias:
1. status (1 bit): se o token esta livre ou n~ao;
2. monitor (1 bit): se o token passou pela estaca~o mestre ou n~ao. A estac~ao mestre ativa
este campo sempre que um token passar por ela;
3. prioridade (3 bits): estipula a prioridade mnima dos quadros que podem ser transmitidos com a captura do token. Se o valor deste campo for N, um host detentor do
token pode transmitir quadros de prioridade maior ou igual a N;
4. reserva (3 bits): determina a prioridade do proximo token livre. Ao gerar um novo
token, caso o valor da reserva seja maior que o valor da prioridade do token capturado,
o host atribui o valor da reserva como prioridade do token. Se um host deseja reservar
o token, este atribui ao campo de reserva a prioridade dos quadros que tem para
transmitir, caso esta prioridade seja maior que a prioridade de reserva corrente. Para
evitar que a prioridade do token cresca inde nidamente, todo o host que aumentar
a prioridade da reserva e capturar o token se compromete a libera-lo com prioridade
menor.
O byte de TIPO estipula o tipo da informaca~o que o quadro carrega: dados oriundos das
camadas superiores ou controle (este ultimo utilizado para a manutenc~ao do anel).
 frequente na literatura a a rmaca~o que redes token ring s~ao determinsticas, isto e,
E
apresentam um tempo de acesso ao meio limitado (aproximadamente o tempo maximo de
retenca~o do token multiplicado pelo numero de hosts no anel). Tal propriedade ocorre
somente se o esquema de prioridade e reserva n~ao seja utilizado.
A gura 3.3 mostra o formato de um quadro no padr~ao IEEE 802.5.
Bytes

DI

CA

TIPO

ENDEREO
DESTINO

ENDEREO
FONTE

sem limites

DADOS

CHECKSUM

DF

ST

Figura 3.3: Formato dos quadros no IEEE 802.5


Capturado o token, o quadro e injetado no anel logo a seguir. Os campos de endereco e
checksum s~ao id^enticos ao IEEE 802.3. A quantidade de dados e ilimitada (a rigor, limitada
pelo tempo maximo que um host pode reter o token). O campo DF (delimitador de nal)

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

42

tambem e composto por transic~oes Manchester Diferencial invalidas. Um campo apos o DF,
ST (status) contem dois bits: A e C. O bit A e ativado pelo host de destino e informa o
host de origem que o destinatario tomou conhecimento do quadro a ele enderecado. O bit
C e ativado se o destinatario aceitou o quadro (pode t^e-lo rejeitado por falta de area para
armazenamento, por exemplo).
Duas observac~oes importantes:
1. um quadro no IEEE 802.5 n~ao de ne campo de tamanho do quadro; o campo de dados
comeca 14 bytes apos o campo DI do token e termina 4 bytes antes do campo DF do
quadro;
2. o campo DF deve obrigatoriamente preceder o campo ST; o destinatario esta em
condico~es de aceitar um quadro (bit C do campo ST) somente apos computar o checksum e, como n~ao existe quadro de tamanho de dados, o campo de checksum so e de nido
apos o recebimento do campo DF.

Manutenc~ao do Anel
Uma das estaco~es do anel e rotulada como estaca~o mestre (EM). Via de regra, e a primeira
estac~ao a completar o procedimento de boot. Caso esta estaca~o falhe, uma nova EM e
eleita. Periodicamente, a EM circula um token com o campo TIPO contendo a informaca~o
ACTIVE MONITOR PRESENT. Se este token car sem circular por determinado perodo,
inicia-se um procedimento de escolha de uma nova EM.
Assim que uma estac~ao termina o procedimento de boot, ela aguarda a passagem do
token ou um quadro de ACTIVE MONITOR PRESENT. Expirado este tempo de espera,
a estac~ao gera um quadro de controle com a informac~ao CLAIM TOKEN. Se este quadro
circular sem alterac~ao, a estac~ao que o emitiu se torna a estaca~o mestre. Se ja existir uma
EM, a mesma altera o quadro de CLAIM TOKEN, informando ao emissor do quadro a sua
exist^encia.
S~ao atribuic~oes da estac~ao mestre:




drenar quadros corrompidos do anel;

veri car se o token n~ao se perdeu (o host detentor do token falha em injetar um novo
token no anel). Neste caso, a estac~ao mestre gera um novo token no anel.

drenar quadros orf~aos do anel (quadros n~ao drenados pelo emissor por falhas de hardware ou software);

O dreno de quadros pela estac~ao mestre e feito caso o bit de monitor do quadro CA
estiver ativado quando o quadro passar pela EM (indicando que se trata de uma segunda
passagem).
Finalmente, quando um host suspeitar da ruptura do anel (tempo longo sem a passagem
de tokens), este injeta um token de controle com a informac~ao BEACON no campo TIPO. Se
o quadro voltar ao emissor, este sup~oe que o problema foi sanado. Caso contrario, a estaca~o
entra em um estado de standby aguardando o reestabelecimento do anel.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

43

3.2 A Subcamada de Enlace Logico (LLC)


A subcamada LLC prov^e servicos a camada de rede atraves de SAPs (ver Cap. 1) denominadas LSAPs. Tipicamente, 3 servicos podem estar disponveis nas LSAPs (detalhados a
seguir):
1. servico sem conex~ao e sem reconhecimento;
2. servico sem conex~ao com reconhecimento;
3. servico orientado a conex~ao.
Para prover tais servicos, a subcamada LLC deve dispor das seguintes funcionalidades:

partic~ao dos pacotes oriundos da camada de rede em quadros compatveis com a subcamada de acesso ao meio;






detecc~ao de quadros corrompidos por erros de transmiss~ao;


recuperaca~o de quadros corrompidos;
estabelecimento e gerenciamento de conex~oes;
controle do uxo de quadros.

3.2.1 Montagem de Quadros


Os quadros s~ao de nidos de forma diferente para redes locais ou publicas. Em redes locais,
os quadros t^em o formato imposto pela subcamada de acesso ao meio e os dados referentes
ao protocolo de enlace s~ao incorporados em uma PDU (ver Cap. 1) que trafega no campo
de dados do quadro.
Em redes publicas, n~ao existe subcamadada de acesso ao meio, e os quadros s~ao de nidos
justamente para implementar os protocolos de enlace. Neste caso, os dados do protocolo
possuem campos exclusivos no quadro.
Na montagem de quadros, a delimitaca~o dos mesmos merece alguns comentarios. Caso os
quadros sejam compostos exclusivamente de caracteres (o que e raro na atualidade) pode-se
de nir caracteres especiais para a delimitaca~o de quadros. Por exemplo, o codigo ASCII
reserva alguns codigos especiais para delimitaca~o de blocos de dados como o Data Link
Escape (DLE), o Start of Text (STX) e o End of Text (ETX). Assim, um quadro pode ser
delimitado por:
DLE STX ... <texto em ASCII> ... DLE ETX

Os caracteres DLE, STX e ETX n~ao ocorrem no interior do texto, pois s~ao caracteres de
controle.
Atualmente, os dados que comp~oem o quadro s~ao sequ^encias arbitrarias de bits (numeros,
segmentos de memoria, etc) que n~ao podem ser representados como sequ^encia de caracteres
(texto). Nestes casos, duas tecnicas s~ao bastante empregadas:

DCA-FEEC-UNICAMP

Enchimento de Bits (bit

Redes de Computadores: Modelo OSI

44

stung)

Escolhe-se um delimitador de nicio de quadro (por exemplo 01111110) e previne-se de sua


ocorr^encia nos dados com uma regra simples como: A cada ocorr^encia de cinco 1s adicionase um 0. O receptor do quadro executa procedimento inverso na recepc~ao. A gura 3.4
ilustra este procedimento.
(a)

011011111111111111110010

(b)

011011111011111011111010010
bits adicionados

(c)

011011111111111111110010

Figura 3.4: Enchimento de bits: (a) dados originais, (b) dados no quadro, (c) dados decodi cados pelo receptor.

Violac~ao de Codigos da Camada Fsica


Delimita-se o quadro com codigos invalidos empregados pela camada fsica 1 . Dado que tais
codigos jamais ocorrem na codi cac~ao de 0s e 1s, sua detecca~o indica o incio ou o nal de
quadros. No codigo Manchester Diferencial (empregado pelo 802.5) utiliza-se transico~es positivas (H) seguidas de negativas (L): HHLLHHLL. Na modulac~ao FSK-coerente (empregada
no 802.4), pode-se misturar frequ^encias altas e baixas em um mesmo perodo do bit, gerando
assim um codigo invalido ( gura 3.5).
INVLIDO

INVLIDO

Figura 3.5: Exemplo de modulac~ao FSK-coerente com codigos invalidos.

3.2.2 Detecc~ao de Erros


A tecnica mais usual para detecc~ao de erros2 durante a transmiss~ao de quadros e a Redund^ancia Cclica (CRC). Esta tecnica n~ao utiliza bits de redund^ancia o su ciente para
1 A rigor, quem gera os quadros inv
alidos e a camada fsica a
2 Erro neste contexto 
e a invers~ao do valor de um ou mais

denominada erro de rajada de comprimento N.

partir de indicador suprido pela LLC.


bits. Invers~oes de N bits em sequ^encia e

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

45

correc~ao do erro. Via de regra, detectado que um quadro chegou com erro, o receptor solicita ao emissor sua retransmiss~ao. Em redes de computadores, a retransmiss~ao e a tecnica
mais usual de correc~ao (recuperac~ao) de erros.
A tecnica CRC e similar aos dgitos de controle presentes no CPF, contas bancarias, etc.
O dgito de controle e computado por uma sequ^encia de operac~oes bem de nida na origem e
transmitido ao destino que o recomputa. Em havendo diferenca entre os valores transmitido
e computado, conclui-se sobre a invalidade do numero.
Na tecnica CRC pode-se imaginar que os bits do quadro formam um numero inteiro de
grande maginitude. Se o quadro e composto por k bits (numerados de 0 a k-1), este numero
e dado pelo polin^omio:

P (x) = b(k

1):xk

+ b(k

2):xk

+ :::b(1):x + b(0)

onde b(j) e o valor do bit na posic~ao j (0 ou 1) e x e a base da representaca~o (2). Por exemplo,
a sequ^encia de 10 bits 1101011011 e representada pelo polin^omio x9 + x8 + x6 + x4 + x3 + x +1.
A tecnica CRC reserva um numero arbitrario de bits (n) para detecc~ao de erros (checksum). Assim, s~ao transmitidos n+k bits, sendo k de informaca~o seguidos de n bits de
checksum. Os n bits de checksum s~ao computados de forma que os n+k bits do quadro sejam
representados por um polin^omio F (x):P (x), sendo F (x) de ordem n.
Seja um polin^omio de refer^encia, G(x) de ordem n (denominado polin^omio gerador).
Podemos escrever a seguinte igualdade:

F (x):P (x) = Q(x):G(x) + R(x)


onde Q(x) e de ordem k-1 e R(x) de ordem n-1.
Na tecnica CRC escolhe-se F (x) = xn e computa-se R(x) dividindo-se os inteiros (n~ao os
polin^omios !) F (x):P (x) por Q(x). Neste caso, R(x) formara os bits de checksum.
As operac~oes s~ao feitas em aritmetica modulo 2 (sem o "vai 1"):
Adic~ao Subtrac~ao
0+0=0 0-0=0
0+1=1 0-1=1
1+0=1 1-0=1
1+1=0 1-1=0

Multiplic. Divis~ao
0x0=0 01=0
0x1=0 11=1
1x0=0
1x1=1

Em aritmetica modulo 2, pode-se escrever

F (x):P (x) = Q(x):G(x) + R(x)


como

F (x):P (x) + R(x) = Q(x):G(x)


Como F (x) = xn o lado esquerdo da igualdade acima representa os bits originais acrescidos dos bits referentes a R(x) a direita.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

46

No exemplo da sequ^encia 1101011011, considerando-se n = 4 (4 bits de checksum) e


tomando-se o polin^omio gerador: G(x) = x4 + x + 1 temos

Q(x) = x9 + x8 + x3 + x
R(x) = x3 + x2 + x
A gura 3.6 ilustra as operac~oes, que nas implementac~oes praticas s~ao efetuadas por hardware.
Asssim os bits 1101011011 s~ao transmitidos com quatro bits adicionais: 1101011011-1110
Dados do Quadro

11010 1 10110 0 0 0
Polinmio Gerador

10011
1001 1
10011
0000 1
00000
0001 0
00000
0010 1
00000
0101 1
00000
1011 0
10011
0101 0
00000
1010 0
10011
0111 0
00000
1110

RESTO

Figura 3.6: Exemplo do c^omputo do checksum.


Tanto a ITU-T como o IEEE padronizaram polin^omios geradores para o c^omputo de
checksum.
CCR 16 : x16 + x15 + x2 + 1
CCR CCIT T : x16 + x12 + x5 + 1
IEEE 802:2 : x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
Os polinomios CCR-16 e CCR-CCITT, para 16 bits de checksum s~ao capazes de detectar:

invers~oes de 1 ou 2 bits;

DCA-FEEC-UNICAMP






Redes de Computadores: Modelo OSI

47

invers~oes de um numero mpar de bits;


rajadas de comprimento menor ou igual a 16;
99,997% das rajadas de comprimento 17;
99,998% das rajadas de comprimento 18.

3.2.3 Tecnicas de Recuperac~ao de Erros por Retransmiss~ao


As tecnicas mais usuais de recuperaca~o de erros por retransmiss~ao s~ao baseadas em reconhecimento.

Reconhecimento Positivo
Neste metodo, ao transmitir um quadro, o emissor aguarda outro de reconhecimento por
parte do receptor, caso o primeiro tenha sido recebido livre de erros. Recebido um quadro de
reconhecimento, o emissor envia o proximo quadro e assim sucessivamente. Caso o receptor
tenha detectado um erro (por exemplo, diferenca entre o checksum computado e enviado),
este simplesmente suprime o envio do reconhecimento. Expirado o tempo de espera pelo
reconhecimento, o emissor retransmite o quadro.

Reconhecimento Negativo
Neste metodo o receptor sempre transmite um quadro de reconhecimento imediatamente
apos a recepca~o de um quadro: reconhecimento positivo, caso nenhum erro tenha sido detectado, ou negativo, caso contrario. A recepc~ao de um reconhecimento negativo faz o emissor
retransmitir prontamente o quadro, sem a necessidade de espera como no metodo anterior.

Reconhecimento Contnuo
Os metodos de reconhecimento positivo e negativo apresentam dois inconvenientes:
1. duplicac~ao de quadros: 0 receptor recebe quadros duplicados em duas situaco~es: quando
o reconhecimento chegar apos ter-se expirado seu tempo de espera; ou quando o reconhecimento e descartado na sua recepc~ao devido a erros;
2. baixa e ci^encia: para cada quadro transmitido, circula outro de controle (reconhecimento) no sentido inverso.
O metodo de reconhecimento contnuo permite o emissor transmitir ate N (largura da
janela) quadros sem a necessidade de espera por reconhecimento. Cada quadro carrega
dois contadores, N(S) e N(R), cujos valores dependem do tipo do quadro (de informac~ao ou
reconhecimento).
A gura 3.7 compara o reconhecimento contnuo com o reconhecimento negativo.
Nos quadros de informac~ao (que uem no sentido emissor-receptor), N(S) indica o numero
do quadro sendo transmitido e N(R) o numero do proximo quadro esperado pelo emissor.

DCA-FEEC-UNICAMP
HOST #1

Redes de Computadores: Modelo OSI


HOST #2

PACOTE i

HOST #1

48

HOST #2

PACOTE i
PACOTE j
ACK(i)

ACK(i)
PACOTE k
ACK(j)

PACOTE j
ACK(k)
ACK(j)

PACOTE k

ACK(k)

tempo

tempo

Figura 3.7: Reconhecimento negativo (esquerda) comparado com reconhecimento contnuo


com janela de tamanho 3.
Nos quadros de reconhecimento, N(R) indica o proximo quadro sendo esperado (implicitamente os quadros numerados ate N(R)-1 foram recebidos livre de erros). N(S) e N(R)
ocupam poucos bits, tipicamente 3, sendo neste caso um contador em modulo 8. Isto justi ca a introduca~o da janela em curso, permitindo maior seguranca na identi caca~o dos
quadros.
O reconhecimento contnuo permite duas formas de operac~ao quanto ao reconhecimento:
1. um quadro de reconhecimento para toda a janela;
2. quadros individuais de reconhecimeto.
No primeiro caso o emissor veri ca se N(R) indica que a janela em curso se completou
com sucesso. Neste caso, uma nova janela e iniciada com a transmiss~ao dos proximos N
quadros. Caso contrario, o emissor retransmite os quadros a partir de N(R) ate o ultimo
quadro da janela, aguardando novo reconhecimento. Esta tecnica reduz considravelmente os
quadros de reconhecimento, aumentando a e ci^encia do enlace.
No segundo caso ( gura 3.7) o transmissor desliza (avanca) a janela a cada quadro de
reconhecimento recebido. Como para cada quadro de dado existe um de reconhecimento, a
janela desliza continuamente, o que n~ao ocorre no primeito caso. Esta tecnica minimiza as
retransmiss~oes, sendo atrativa para enlaces sujeitos a altas taxas de erro.
Quadros duplicados podem ainda ocorrer (por exemplo, quando um quadro de reconhecimento e corrompido), mas sua detecc~ao e simples, posto que os quadros s~ao identi cados
um a um.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

49

3.2.4 Formas de Estabelecimento do Enlace


O enlace (conex~ao virtual) pode se dar entre dois hosts ou emanando de um host para
varios outros. No primeiro caso o enlace e dito ponto-a-ponto, enquanto no segundo tem-se
um enlace multiponto. Um enlace ponto-a-ponto ocorre, por exemplo, quando dois hosts se
conectam para efetuar a transfer^encia de um arquivo. Exemplo de enlace multiponto e um
computador central controlando varios terminais dispersos geogra camente.
Podemos identi car tr^es tipos de estaco~es (hosts) quanto suas responsabilidades pelo
enlace:
1. estac~oes primarias: controlam totalmente o enlace;
2. estac~oes secundarias: recebem comandos da primaria, podendo transmitir pelo enlace
somente quando autorizadas por esta;
3. estac~oes combinadas: atuam de forma dual, ora como primaria ora como secundaria,
dependendo do contexto.
Enlaces ponto-a-ponto s~ao constitudos tipicamente por duas estac~oes combinadas, enquanto enlaces multiponto s~ao formados por uma primaria e varias secundarias.
Um enlace pode ser estabelecido para operar em um dos tr^es modos abaixo:
1. modo de resposta normal: a estaca~o primaria envia um quadro de consulta para as suas
secundarias inquirindo sobre a exist^encia de quadros para transmitir; em caso positivo,
a secundaria transmite imediatamente apos ter recebido o quadro de consulta;
2. modo de resposta assncrono: as estaco~es secundarias transmitem independentemente
da consulta por parte da primaria; este modo e geralmente empregado quando as
estac~oes secundarias se conectam a primaria por canais exclusivos (por exemplo, linhas
seriais); este modo n~ao e empregado em redes de computadores;
3. modo de resposta assncrono balanceado: utilizado em enlaces ponto-a-ponto envolvendo apenas estac~oes combinadas; as estac~oes gerenciam o enlace de acordo com um
protocolo de nido pelas camadas de enlace dos hosts comunicantes.
Finalmente, um enlace e governado por um protocolo composto de quatro fases:
1. estabelecimento do enlace, onde um host toma a iniciativa do estabelecimento de uma
conex~ao virtual com um ou mais hosts;
2. transfer^encia de dados, onde os hosts que comp~oem a conex~ao trocam quadros de
informaca~o atraves desta;
3. encerramento do enlace, onde um dos hosts toma a iniciativa de propor o encerramento
da conex~ao;
4. reiniciac~ao do enlace, onde um host toma a iniciativa de reinicializar o protocolo de
transfer^encia de quadros pelo enlace pela ocorr^encia de um erro irrecuperavel.

DCA-FEEC-UNICAMP

50

Redes de Computadores: Modelo OSI

3.2.5 Controle do Fluxo de Quadros


O controle de uxo e necessario quando um receptor de quadros v^e-se na impossibilidade
moment^anea de continuar a recepc~ao. Varias s~ao as raz~oes para isso ocorrer: exaust~ao de
bu ers, ocorr^encia de erros internos de hardware ou software, atendimento de atividades de
comunicac~ao mais prioritarias, etc.
Em protocolos baseados no reconhecimento positivo ou negativo, o controle do uxo e
desnecessario, pois o emissor so envia o proximo quadro apos o recebimento do reconhecimento do receptor. Caso o receptor deseje a suspens~ao temporaria do envio de quadros, este
simplesmente deixa de enviar os quadros de reconhecimento.
Em protocolos que empregam o reconhecimento contnuo, dois quadros de controle s~ao
empregados para o controle de uxo:

quadros RR (Receiver Ready): informa o emissor que o receptor esta pronto para
iniciar ou continuar a recepc~ao de quadros;

quadros RNR (Receiver Not Ready): informa o emissor que o receptor esta impossibilitado temporariamente de receber quadros.

Os quadros RR e RNR visam aumentar a e ci^encia do canal compartilhado evitando a


circulac~ao de quadros de dados que com certeza ser~ao descartados pelo receptor.

3.3 Protocolos de Enlace


3.3.1 O Protocolo ISO HDLC para Redes Publicas
O protocolo HDLC (High-level Data Link Control) e padronizado pela ISO, servindo de
base para o X.25/camada 2 que emprega um subconjunto denominado LAPB (Link Access
Procedure, Balanced)3 .
No HDLC, os quadros t^em o formato apresentado na gura 3.8. O quadro possui um
delimitador de incio e nal composto dos bits 01111110. Um procedimento de codi caca~o de
bits e empregado para evitar a ocorr^encia desta sequ^encia no quadro. O campo de endereco
e utilizado em conex~oes multiponto para identi car as estac~oes secundarias da conex~ao. Em
conex~oes ponto-a-ponto este campo e utilizado para distinguir quadros de comandos dos de
resposta.
Bits

01111110

ENDEREO

CONTROLE

>= 0

16

DADOS

CHECKSUM

01111110

Figura 3.8: Formato do quadro no protocolo HDLC.


3 O LAPB restringe o HDLC por permitir apenas enlace no modo de resposta assncrono balanceado - ver
subsec~ao 3.2.4.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

51

O campo de dados possui tamanho arbitrario, mas normalmente limitado por restric~oes
impostas pela camada fsica.
O campo de checksum e computado pelo polin^omio gerador x16 + x12 + x5 + 1.
O campo de controle de ne tr^es tipos de quadros: de informaca~o (I), de supervis~ao (S) e
n~ao numerados (N), sendo os dois ultimos quadros de controle ( gura 3.9).
Bits

1
0

N(S)

P/F

P/F

3
N(R)

INFORMAO

P/F

N(R)

SUPERVISO

3
M

NO NUMERADO

Figura 3.9: Formatos do campo de controle no protocolo HDLC.


Os quadros de informac~ao carregam os contadores N(S) e N(R) para reconhecimento
contnuo do uxo de quadros.
Os quadros de supervis~ao s~ao empregados no controle de uxo e como reconhecimento
da recepc~ao de quadros. Tr^es tipos instruco~es podem estar contidas no campo SS:
1. RR (Receiver Ready): informa que o receptor esta pronto para continuar a recepc~ao
de quadros a partir de N(R), inclusive.
2. RNR (Receiver Not Ready): informa que o receptor reconhece o recebimento de todos
os quadros ate N(R)-1, e solicita a suspens~ao temporaria do envio de novos quadros.
3. REJ (Reject): informa que o receptor detectou um erro na recepca~o do quadro N(R)
e solicita o envio a partir deste.
Os quadros n~ao numerados s~ao utilizados para estabelecimento e termino de conex~oes.
Seis tipos de intruc~oes s~ao de nidas:
1. SNRM (Set Normal Response Mode): estabelece uma conex~ao entre estac~ao primaria
e secundaria.
2. SABM (Set Asynchronous Balanced Mode): estabelece uma conex~ao entre estac~oes
combinadas.
3. DISC (Disconnect): informa o outro extremo da conex~ao que este host deseja terminar
o enlace.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

52

4. DM (Disconnect Mode): Informa que uma conex~ao solicitada n~ao pode ser estabelecida (por exemplo, por falta de espaco para armazenar os par^ametros de controle da
conex~ao).
5. UA (Unnumbered Acknowledgement): reconhece positivamente comandos de estabelecimento, termino e reinicializaca~o de conex~ao.
6. FRMR (Frame Reject): um quadro foi recebido com erro atraves da conex~ao e seu
conteudo n~ao p^ode ser identi cado.
O bit P/F (Pool/Final) e ativado por uma estaca~o primaria quando em consulta a uma
secundaria. Caso tenha quadros para transmitir, a estaca~o secundaria o faz com o bit P/F
ativado, ate o ultimo quadro onde o bit P/F e desativado, indicando o nal da transmiss~ao.

3.3.2 O Protocolo IEEE 802.2 para Redes Locais


O protocolo de enlace de nido pelo IEEE no escopo do padr~ao 802 e denominado LLC
(Logical Link Control) e foi inspirado no HDLC descrito acima. No padr~ao 802, os quadros
t^em o formato como o da gura 3.1. O LLC especi ca o formato da PDU que e parte dos
dados do quadro. Esta PDU, denominada LPDU, tem o formato dado pela gura 3.10.
Bytes

ENTIDADE
DESTINO

ENTIDADE
FONTE

1 ou 2

CONTROLE

>=0

INFORMAO

Figura 3.10: Formatos de uma LPDU.


O campo ENTIDADE FONTE especi ca qual entidade gerou a PDU, enquanto o campo
ENTIDADE DESTINO estipula a entidade para a qual a PDU se destina. O protocolo
prev^e servicos sem conex~ao (com e sem reconhecimento) e os servicos orientados a conex~ao
oferecidos pelo protocolo LLC. A camada de rede invoca estes servicos atraves de primitivas
de nidas pela subcamada de enlace logico.
As famlias de primitivas s~ao:









L-CONNECT: estabelecimento de conex~ao (com con rmac~ao);


L-DISCONNECT: termino de conex~ao (sem con rmac~ao);
L-DATA: envio de quadros de dados atraves da conex~ao (sem con rmac~ao);
L-RESET: reinicializaca~o de conex~ao (com con rmac~ao);
L-ERROR-REPORT: informe de erros pelo provedor (indicaca~o apenas);
L-EXPEDITED-DATA: envio de dados urgentes atraves da conex~ao (sem con rmac~ao);
L-UNIT-DATA: envio de dados sem conex~ao (sem cor rmac~ao).

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

53

L-CONNECT.request(end local, end remoto, classe de servico)


L-CONNECT.indication(end local, end remoto, classe de servico)
L-CONNECT.response(end local, end remoto, classe de servico)
L-CONNECT.con rm(end local, end remoto, classe de servico)
L-DISCONNECT.request(end local, end remoto)
L-DISCONNECT.indication(end local, end remoto)
L-DATA.request(end local, end remoto, l sdu)
L-DATA.indication(end local, end remoto, l sdu)
L-EXPEDITED-DATA.request(end local, end remoto, l sdu)
L-EXPEDITED-DATA.indication(end local, end remoto, l sdu)
L-RESET.request(end local, end remoto)
L-RESET.indication(end local, end remoto)
L-RESET.response(end local, end remoto)
L-RESET.con rm(end local, end remoto)
L-ERROR-REPORT.indication(raz~ao)
L-UNIT-DATA.request(end local, end remoto, l sdu, classe de servico)
L-UNIT-DATA.indication(end local, end remoto, l sdu, classe de servico)
Tabela 3.1: Primitivas OSI de enlace. L-UNIT-DATA e utilizada para os servicos sem
conex~ao; as demais para servicos com conex~ao.
A tabela 3.1 ilustra o formato destas primitivas.
A interface LLC/MAC e do tipo sem conex~ao, ja que a comunicac~ao entre ambas e local
(interior a camada de enlace ou interface de rede). Uma unica primitiva, MA-DATA, e
empregada para transferir informac~ao entre as subcamadas LLC e MAC.
O campo de controle da LPDU e inspirado no HDLC. Os tr^es tipos de quadros do HDLC
(informac~ao, supervis~ao e n~ao numerados) s~ao de nidos no protocolo LLC.
Quadros de informaca~o s~ao subdivididos em dois grupos: tipo I (Information) que transportam dados atraves de conex~oes, e tipo UI (Unnumbered Information) que transportam
datagramas.
Quadros de supervis~ao s~ao do tipo RR, RNR, REJ (id^enticos ao X.25).
Quadros n~ao numerados s~ao do tipo SABM4 , DISC, DM, UA e FRMR (tambem id^enticos
ao X.25). Dois tipos de quadros n~ao numerados, ausentes no X.25, s~ao listados a seguir:
1. TEST: utilizado para testar uma conex~ao, fazendo com que o outro lado envie quadro
similar.
2. XID (Exchange Information): utilizado para um host comunicar os tipos de servicos
providos e tamanhos de janelas.
4 O LLC suporta apenas o modo de resposta assncrono balanceado, isto 
e, todas as estac~oes s~ao combinadas.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

54

3.4 Problemas
1. Descreva o funcionamento dos principais metodos de acesso ao meio para redes locais.
2. Descreva os campos que comp~oem o quadro dos padr~oes IEEE 802.3 e 802.5.
3. Descreva os campos que comp~oem o token do padr~ao IEEE 802.5.
4. Descreva a manutenca~o do anel no padr~ao IEEE 802.5.
5. Descreva as tecnicas mais usuais para delimitac~ao de quadros e em que situac~oes s~ao
empregadas.
6. Por que protocolos de enlace baseados em caracter est~ao superados ?
7. Compute o checksum utilizando a tecnica CRC para a sequ^encia de 12 bits 111001100010
e polin^omio gerador x4 + x2 + x + 1.
8. Faca um diagrama temporal mostrando a transmiss~ao de quadros com reconhecimento
contnuo e largura de janela 3, utilizando quadros de controle tipo RR e RNR.
9. Descreva os quadros n~ao numerados empregados pelo padr~ao X.25/camada 2.
10. Faca um diagrama temporal mostrando o estabelecimento de enlace, envio de quadros
e termino do enlace utilizando os quadros do protocolo HDLC.

Cap
tulo 4
A CAMADA DE REDE
A camada de rede e a terceira e ultima camada onde o uxo de informaca~o leva em conta as
peculiariedades da subrede de comunicaca~o, tais como a exist^encia de roteadores, como os
roteadores se interconectam, etc. A partir desta, as camadas acima empregam mecanismos
de comunicac~ao host a host, abstraindo a exist^encia da subrede de comunicaca~o. Para que
a camada de transporte venha se tornar independente da topologia e tecnologia da subrede
de comunicac~ao, a camada de rede deve prover:




entrega de pacotes: recolher um pacote do host emissor e entrega-lo ao host receptor;

controle de congestionamento: evitar que roteadores quem congestionados de pacotes


devido a surtos de trafego ou roteamento mal conduzido;

interconex~ao de redes (internetworking): possibilitar que hosts em subredes heterog^eneas


possam se comunicar (por exemplo, um host em uma subrede Ethernet e outro em uma
subrede Token Ring).

roteamento: escolha da rota de comunicaca~o por onde os pacotes oriundos da camada


de transporte ir~ao trafegar;

4.1 Entrega de Pacotes


Pacote e a unidade de informaca~o que trafega entre os roteadores de uma subrede de comunicac~ao. Quando um host necessitar transferir um pacote a outro n~ao diretamente conectado,
este o entrega a um roteador em sua subrede de comunicaca~o. Este roteador decide o proximo
roteador do caminho, enviando o pacote a este roteador.
O trafego de pacotes entre os roteadores pode se dar atraves de uma conex~ao logica (ou
caminho virtual) pre-estabelecida ou sem o estabelecimento previo de conex~ao. No primeiro
caso diz-se que a camada de rede e orientada a conex~ao. Se a camada de rede n~ao suporta
conex~oes virtuais, diz-se que a mesma opera sem conex~ao ou e orientada a datagrama.
A camada de transporte acessa o servico de entrega de pacotes atraves de NSAPs (Network Service Acess Points). NSAPs s~ao enderecos que identi cam no nvel de rede as entidades provedoras do servico. O modelo OSI especi ca um NSAP ( gura 4.1) contendo
55

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

56

valores decimais, n~ao ocupando mais que 40 dgitos (20 bytes). O NSAP e dividido em tr^es
campos:
1. AFI (Authority and Format Indicator): indica o tipo de numerac~ao presente no terceiro
campo (numero de telefone, endereco Internet, etc). Ocupa 1 byte codi cando dois
dgitos decimais com valores entre 10 e 99;
2. IDI (Initial Domain Identi er): especi ca o domnio ao qual o terceiro campo pertence.
Por exemplo, se o terceiro campo armazena o numero de um telefone, o IDI pode conter
o codigo do pas. Este campo armazena um numero variavel de bytes, func~ao do campo
AFI;
3. DSP (Domain Speci c Part): armazena o endereco do servico propriamente dito.
Contem um numero variavel de bytes, funca~o dos campos AFI e IDI.
PARTE INICIAL DO DOMNIO (IDP)

INDICADOR DE FORMATO
E AUTORIDADE (AFI)

IDENTIFICADOR INICIAL
DE DOMNIO (IDI)

PARTE ESPECFICA
DO DOMNIO (DSP)

Figura 4.1: Formato de NSAP para redes OSI.

4.1.1 Camadas de Rede Orientadas a Conex~ao


No caso de redes locais, conex~oes no nvel de camada de rede s~ao similares as conex~oes no
nvel de camada de enlace: apenas dois hosts s~ao envolvidos e apenas estes dela tomam parte.
Em redes de longa dist^ancia, uma conex~ao no nvel da camada de enlace envolve tambem
dois computadores: o host e o roteador ao qual se conecta (via DCE). O objetivo desta
conex~ao e a entrega con avel de quadros mesmo que o DCE esteja sicamente conectado ao
roteador atraves de em canal sujeito a erros.
Uma conex~ao no nvel de camada de rede, por outro lado, requer a intermediaca~o de
multiplos roteadores, pois a conex~ao se estende de host a host, via roteadores. No estabelecimento de uma conex~ao deste tipo, escolhe-se uma rota (vide proxima sec~ao) e o trafego de
pacotes se dara sempre por esta rota. Um roteador que toma parte de uma conex~ao, recebe
um pacote do roteador antecessor (ou host emissor), armazena-o temporariamente ate que
pacotes recebidos previamente possam uir, e o entrega ao roteador sucessor (ou host de
destino).
As vantagens de se estabelecer conex~ao e a alocac~ao de recursos a priori para a transmiss~ao
de pacotes, garantindo que pacotes n~ao ser~ao descartados por falta de recursos para seu
armazenamento quando em tr^ansito. Como desvantagem do emprego de conex~oes podemos
citar:




se um roteador que toma parte da conex~ao falhar, a mesma estara comprometida;


a rede se torna mais susceptvel a congestionamentos, dada a impossibilidade de se
reorientar conex~oes ja estabelecidas;

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

57

os recursos alocados a uma conex~ao se tornam sub-utilizados se a taxa de transmiss~ao


de pacotes pela conex~ao for baixa.

4.1.2 Camadas de Rede Orientadas a Datagrama


Camadas de rede orientadas a datagrama n~ao estabelecem conex~ao para o envio de pacotes.
O servico de entrega e pouco con avel, cabendo a camada de transporte gerenciar pacotes
perdidos, duplicados ou que chegam fora de ordem. Como recursos n~ao s~ao previamente
alocados para o trafego de pacotes, estes est~ao sujeitos ao descarte quando um roteador n~ao
for capaz processa-los.
Cada pacote e roteado individualmente, independente dos demais. Neste caso, a garantia
de entrega de pacotes na ordem em que foram emitidos n~ao e veri cada. Pacotes podem
ser duplicados caso sejam retransmitidos desnecessariamente pela camada de enlace (por
exemplo, devido a perda de um quadro de reconhecimento).
A vantagem das camadas de rede orientadas a datagrama esta na sua simplicidade e capacidade de se adaptar prontamente as condic~oes de trafego da rede e a falhas de roteadores.
Como desvantagens, uma so sticada camada de transporte e requerida. Em outas palavras,
ca a cargo dos hosts (isto e, dos usuario da subrede de comunicaca~o) gerenciar a con abilidade do servico de entrega de pacotes. Nas camadas de rede orientadas a conex~ao, esta
con abilidade recai sobre os roteador (isto e, sobre a propria subrede de comunicaca~o).
A tabela 4.1 ilustra as primitivas OSI ofereciadas pela camada de rede a camada de
transporte para servicos sem e com conex~ao.

4.2 Roteamento
O problema de rotear pacotes inexiste quando a comunicac~ao se da em uma rede local: o
pacote atinge o host destinatario sem a intermediaca~o de roteadores. Em redes de campus,
metropolitanas e de longa dist^ancia, a exist^encia de roteadores obriga, na transmiss~ao de
um pacote, a se proceder a escolha de um circuito virtual entre o emissor e o destinatario do
pacote. No circuito, um ou mais roteadores ir~ao receber o pacote, armazena-lo temporariamente e retransmit-lo ao proximo roteador do circuito.
Roteamento e um problema presente em muitas atividades. Imagine um servico de entrega rapida com varios depositos e uma frota de veculos. Quando um veculo apanha uma
encomenda de um cliente, varios procedimentos podem ser adotados:
1. entregar a encomenda imediatamente ao destinatario com o mesmo veculo;
2. armazenar a encomenda em um deposito para ser entregue com outras encomendas
destinadas a mesma regi~ao;
3. mover a encomenda de deposito em deposito ate atingir o mais proximo do cliente, de
onde sera entregue.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

58

N-UNITDATA.request(end local, end remoto, QoS, dados)


N-UNITDATA.request(end local, end remoto, QoS, dados)
N-FACILITY.request(QoS)
N-FACILITY.indication(end remoto, QoS, motivo)
N-REPORT.indication(end remoto, QoS, motivo)
N-CONNECT.request(NSAP local, NSAP remoto, ACK, EXP, QoS, dados)
N-CONNECT.indication(NSAP local, NSAP remoto, ACK, EXP, QoS, dados)
N-CONNECT.response(NSAP remoto, ACK, EXP, QoS, dados)
N-CONNECT.con rm(NSAP remoto, ACK, EXP, QoS, dados)
N-DISCONNECT.request(requerente, motivo, dados, end resposta)
N-DISCONNECT.indication(ent solicitante, motivo, dados, end resposta)
N-DATA.request(dados)
N-DATA.indication(dados)
N-DATA-ACKNOLEDGE.request()
N-DATA-ACKNOLEDGE.indication()
N-EXPEDITED-DATA.request(dados)
N-EXPEDITED-DATA.indication(dados)
N-RESET.request(ent solicitante, motivo)
N-RESET.indication(ent solicitante, motivo)
N-RESET.response()
N-RESET.con rm()
Tabela 4.1: Servicos ofereciados pela camada de rede: as primitivas N-UNITDATA, NFACILITY e N-REPORT s~ao empregadas em servicos sem conex~ao; as demais em servicos
com conex~ao.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

59

A ultima opc~ao e analoga a redes de computadores. Os roteadores s~ao depositos de


pacotes e somente o roteador diretamente conectado a subrede do host destinatario e que
esta habilitado a fazer a entrega.
O problema de roteamento e de natureza combinatoria, sendo portanto computacionalmente complexo caso desejamos obter a soluca~o otima1. A area de Pesquisa Operacional
tem produzido varios algoritmos para este problema, bem como heursticas para a obtenca~o
de soluco~es sub-otimas. Infelizmente, tais algoritmos e heursticas requerem o conhecimento
previo do uxo dos objetos roteados, ou uma boa estatstica do mesmo.
Em redes de computadores n~ao dispomos da informaca~o antecipada quanto ao uxo de
pacotes. Isto demanda o c^omputo do uxo on-line, periodicamente, ou frente a uma condica~o
de congestionamento na rede. Em outra palavras, em redes de computadores o roteamento
deve ter caracterstica din^amica.
A forma mais simples de rotear pacotes em uma subrede e dotar cada roteador de uma
tabela de roteamento contendo o melhor circuito ligando este roteador aos demais. Via de
regra, a tabela armazena mais de um circuito entre dois roteadores, na eventualidade de uma
rota de comunicac~ao ou um roteador do circuito sair de servico. Em roteamento din^amico,
a tabela de roteamento varia de acordo com as condico~es de trafego da subrede.
Em redes de computadores, o roteamento din^amico pode ser centralizado ou distribudo.

Roteamento Centralizado
No roteamento centralizado, os roteadores enviam periodicamente informaco~es de trafego a
uma central de roteamento (NCC: Network Control Center). A central disp~oe de informac~oes
sobre:







os roteadores que est~ao ativos e os que est~ao inativos (por falha, manutenca~o, etc);
as rotas de comunicac~ao que est~ao ativas e as que est~ao inativas;
o uxo medio de pacotes nas rotas ativas;
o tempo medio que um pacote ca armazenado em um roteador;
etc.

A partir destas informac~oes o NCC, computa qual seria o roteamento otimo ou sub-otimo
de pacotes para uma dada situac~ao de trafego. Computado o roteamento, o NCC distribui
novas tabelas de roteamento aos roteadores.
O roteamento centralizado e viavel apenas nos domnios da operadora da subrede de
comunicac~ao.
etc

1O

criterio de otimalidade pode ser: mnimo tempo de tr^ansito, caminho mnimo, maxima con abilidade,

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

60

Roteamento Distribudo
O roteamento distribudo n~ao utiliza um elemento centralizador como o NCC. A primeira
consequ^encia da distribuic~ao e a indisponibilidade de uma vis~ao global do trafego na subrede.
No roteamento distribudo, cada roteador e responsavel pela atualizac~ao de sua tabela de
roteamento. Em geral, esta atualizaca~o se da de duas maneiras:
1. via troca de informaco~es de topologia e par^ametros de trafego entre roteadores diretamente conectados.
2. via propagac~ao por toda a rede de informaco~es sobre estado dos enlaces (links).
Protocolos operando de acordo com o primeiro esquema s~ao denominados \Protocolos Baseados em Vetor de Dist^ancias", enquanto os que operam de acordo com o segundo esquema s~ao
denominados \Protocolos Baseados em Estado do Enlace" (Link State). Estas denominac~oes
s~ao oriundas ao tipo de informac~ao que estes protocolos propagam.
A tabela de roteamento armazena informaco~es de roteamento para os circuitos iniciando
no roteador detentor da tabela. Cada posica~o na tabela tem como ndice o endereco de
uma subrede de comunicac~ao para qual a rota se destina, e armazena pelo menos duas
informac~oes: o custo para total para se atingir o destino, e a interface (endereco de enlace)
conectada ao proximo hop (roteador) da rota.

4.3 Controle de Congestionamento


Vimos no captulo anterior que a camada de enlace e capaz de controlar o uxo de quadros
entre dois nos de rede comunicantes. Cabe a camada de rede controlar o uxo de pacotes
entre roteadores evitando que um roteador receba mais pacotes do que e capaz de processar.
Tal como roteamento, esta atividade e inexistente em redes locais, bastando neste caso um
controle entre as camadas de rede e de enlace no mesmo host (como e feito no IEEE 802.2 ver Cap. 3).
Vamos examinar duas estrategias de controle de congestionamento: pre-alocaca~o de
bu ers e descarte de pacotes. A primeira e mais empregada para comunicac~ao conectada e
a segunda para comunicac~ao sem conex~ao.

Pre-alocac~ao de Bu ers
Um recurso importante que um roteador disp~oe para o processamento de pacotes s~ao bu ers
de memoria. Em caso do estabelecimento de uma conex~ao (no nvel de camada de rede),
todos os roteadores envolvidos alocam bu ers capazes de abrigar tantos pacotes quanto for
o tamanho da janela, garantindo que pacotes que trafegam nos dois sentidos ter~ao espaco
de armazenamento alocado a priori. Caso este espaco n~ao possa ser alocado no momento do
estabelecimento da conex~ao por um roteador, outro circuito pode ser escolhido ou a conex~ao
e recusada.
Esta estrategia, entretanto, pode representar uma sub-utilizac~ao dos recursos, no caso de
uma conex~ao ser estabelecida e poucos pacotes circularem por ela. Pior ainda, novas conex~oes
podem ser recusadas em favor de \conex~oes ociosas" ja estabelecidas. Este problema pode ser

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

61

resolvido criando-se um pool de bu ers e ir alocando e desalocando a medida da necessidade.


Utilizando-se um pool de bu ers corre-se o risco de um pacote chegar em um roteador e
n~ao existir bu er disponvel para armazena-lo. Neste caso, o pacote e descartado. Caso o
protocolo de rede suporte retransmiss~ao, o pacote descrtado e retransmitido por aus^encia de
con rmaca~o de recebimento.

Descarte de Pacotes
Esta estrategia de controle de congestionamento e oposta a apresentada acima. Cada
roteador possui um conjunto de bu ers de armazenamento (por interface de sada do roteador)
para o armazenamento local de pacotes antes de sua transmiss~ao. Caso um pacote seja recebido e n~ao exista espaco disponvel para armazena-lo, o mesmo e simplesmente descartado.
Em geral, pacotes de controle n~ao s~ao descartados, sendo processados no proprio bu er
de recepc~ao. A raz~ao para tal e que pacotes de controle geralmente causam a liberac~ao de
pacotes de dados armazenados. Por exemplo:

pacotes de reconhecimento liberam pacotes de dados ja transmitidos mas ainda armazenados caso sua retransmiss~ao se faca necessaria;

pacotes de encerramento ou reiniciac~ao de conex~ao causam o descarte de pacotes ainda


uindo pela conex~ao.

Seja um roteador com k bu ers disponveis para armazenamento de pacotes (bu ers
alocados a recepca~o n~ao contam) e s interfaces de sada. Como cada pacote recebido e
roteado para uma dada interface de sada, pode-se dizer que os bu ers armazenando pacotes
s~ao alocados as interfaces de sada. Obviamente, uma unica interface n~ao pode monopolizar
os k bu ers do pool. Ent~ao, qual o numero maximo de bu ers, m, que devemos alocar por
interface?
p Estudos empricos mostram um numero adequado de bu ers e dado pela relaca~o
m = k= s.

4.4 Interconex~ao de Redes


Dois fatos s~ao marcantes em redes de computadores: redes s~ao heterog^eneas e redes necessitam ser interligadas. Redes s~ao heterog^eneas porque cada fornecedor desenvolveu e
comercializa sua propria arquitetura de rede. E o caso da arquitetura SNA da IBM, DECNET da Digital, NetWare da Novell, e assim por diante. Se todas as redes empregassem o
modelo OSI/ISO com id^entica pilha de protocolos, a interconex~ao de redes seria uma tarefa
trivial.
Redes necessitam ser interconectadas para possibilitar o compartilhamento de recursos e
informac~ao. A interconex~ao pode ocorrer no nvel de:





LAN-LAN: conex~ao entre duas LANs em uma mesma organizaca~o;


LAN-WAN: conex~ao entre uma LAN e uma rede publica ou corporativa;
WAN-WAN: conex~ao entre duas redes publicas ou corporativas operadas por diferentes
entidades;

DCA-FEEC-UNICAMP

62

Redes de Computadores: Modelo OSI

LAN-WAN-LAN: conex~ao entre duas LANs de uma mesma organizac~ao por intermedio
de uma rede publica ou corporativa, formando as chamadas Redes Privadas Virtuais
(VPN: Virtual Private Network).

A gura 4.2 ilustra estas possibilidades.

W A N

802.3
Ethernet

802.3
Ethernet
802.5
Token Ring

802.3
Ethernet

Figura 4.2: Exemplo de interconex~ao de redes. Ret^angulos sombreados representam dispositivos de interconex~ao.

4.4.1 Dispositivos para Interconex~ao de Redes


De acordo com a heterogeneidade das redes sendo interligadas, os dispositivos de interconex~ao
variam em complexidade. Tais dispositivos se classi cam em:

Repetidores
Repetidores regeneram o sinal entre segmentos de uma mesma rede. Por exemplo, uma
rede Ethernet possui um limitante de 500m para o comprimento do cabo coaxial em banda
larga. Entretanto, pode-se estender uma Ethernet ate 2500m utilizando-se 4 repetidores.
Repetidores est~ao relacionados unicamente com a camada fsica do modelo OSI.

Pontes (Bridges)
Pontes interconectam redes cujas diferencas n~ao passam da camada de enlace do modelo
OSI. E o caso, por exemplo, das redes padr~ao IEEE 802.3, 802.4 e 802.5, que possuem o
mesmo protocolo de enlace (802.2-LLC) mas formato de quadros, protocolo de acesso ao
meio e camada fsica diferenciados. Pontes convertem o enlace de dados, o protocolo de
acesso ao meio e os padr~oes da camada fsica de uma rede para outra, atuando nas duas
primeiras camadas do modelo OSI (ou unicamente na camada interface de rede da arquitetura
TCP/IP).

Roteadores Multiprotocolo
Roteadores multiprotocolo interconectam redes cujas diferencas chegam ate a camada de
rede (protocolo de enlace, formato dos pacotes, etc). Por exemplo, a conex~ao de uma rede

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

63

local TCP/IP a uma rede publica Frame Relay se da atraves de um roteador multiprotocolo
(formato dos pacotes e quadros, protocolos de enlace e acesso ao meio, e padr~oes da camada
fsica requerem convers~ao). Roteadores multiprotocolo atuam nas tr^es primeiras camadas do
modelo OSI (ou nas duas primeiras da arquitetura TCP/IP).

Conversores de Protocolos
Conversores de protocolos interconectam redes cujas diferencas ultrapassam a camada de
rede. Por exemplo, um sistema de ger^encia de rede TCP/IP troca informaca~o com um
sistema de ger^encia OSI atraves de um conversor de protocolo.

4.4.2 Interconex~ao de Redes e o Modelo OSI


Interconex~ao de redes n~ao teve a devida atenc~ao por parte da ISO na elaborac~ao do modelo
OSI. No modelo OSI, interligac~ao de redes e propiciada pela divis~ao da camada de rede em
tr^es subcamadas:
1. subcamada de acesso a subrede: trata do processamento dos protocolos das camadas
de rede referentes as subredes sendo interconectadas;
2. subcamada de aprimoramento: compatibiliza os diferentes servicos oferecidos pelas
subredes interconectadas;
3. subcamada inter-redes: processa os pacotes como se as redes interconectadas fossem
homog^eneas.
A gura 4.3 mostra a interconex~ao entre duas subredes utilizando a proposta do modelo
OSI (subdivis~ao da camada de rede). Esta proposta nada mais e que estabelecer uma camada
de rede padr~ao na subcamada inter-redes (OSI, obviamente), cabendo a subcamada de aprimoramento processar as devidas convers~oes de e para esta camada padr~ao. Como veremos,
convers~oes causam invariavelmente degradaca~o do desempenho e perda de funcionalidades.
Por exemplo, seja as subredes da gura 4.3 redes publica distintas. Quando um pacote enviado da subrede 1 se destinar a subrede 2, o pacote obrigatoriamente passara pelo
roteador. A subcamada de acesso a subrede processara o pacote, fornecendo eventualmente
um reconhecimento ao emissor (no protocolo da subrede 1). O pacote e ent~ao passado a subcamada de aprimoramento, que o converte em um formato dado pelo padr~ao da subcamada
inter-redes. Na subcamada inter-redes, o pacote e processado como se o mesmo circulasse por
uma subrede homog^enea. Feito este processamento, o pacote e passado para a subcamada
de aprimoramento da subrede 2, onde sera convertido para o formato requerido por esta
subrede e encaminhado a subcamada de acesso a subrede. Esta, completa a transmiss~ao do
pacote, recebendo eventualmente o reconhecimento do destinatario (no protocolo da subrede
2).

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

64

INTERREDES

APRIMORAMENTO

APRIMORAMENTO

ACESSO SUBREDE

ACESSO SUBREDE

CAMADA DE ENLACE

CAMADA DE ENLACE

CAMADA FSICA

CAMADA FSICA

SUBREDE #1

SUBREDE #2

Figura 4.3: Proposta do modelo OSI para interconex~ao de redes.

4.4.3 Pontes
Dado que redes locais se limitam a camada 2 do modelo OSI,, pontes s~ao comumente empregadas para interconecta-las. Neste caso e imprescindvel que as subredes interconectadas
operem com o mesmo protocolo nas camadas de 3 a 7 (caso contrario, conversores de protocolos devem ser empregados).
A gura 4.4 ilustra uma ponte interconectando duas subredes da famlia IEEE 802 (802.3
e 802.5). Estas subredes utilizam o mesmo protocolo de enlace, mas formatos de quadros,
disciplina de acesso ao meio e camada fsica distintos. O mesmo conceito de interconex~ao de
redes proposto pelo modelo OSI e empregado, exceto que, neste caso, a convers~ao se da no
nvel de quadros (n~ao de pacotes).
A ponte converte o formato de pacote e o protocolo de enlace (quando for o caso) de uma
rede para outra. A ponte disp~oe de tantas camadas fsicas e subcamadas de acesso ao meio
quantas forem as subredes por ela conectadas. A subcamada de enlace logico e quem perfaz
o elo de ligac~ao entre as subredes.
Infelizmente, muitos problemas decorrem da interligac~ao de subredes. Vamos exempli car
alguns para o caso da interconex~ao de subredes IEEE 802.3 (CSMA-CD) e 802.5 (Token
Ring).

Tamanho dos Quadros


Quadros no padr~ao 802.3 t^em um comprimento maximo da ordem de 1500 bytes enquando
no padr~ao 802.5 e limitado pela taxa de transmiss~ao e pelo tempo maximo de posse do token,

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

65

PONTE

802.2 LLC

802.3 MAC (CSMA/CD)

802.3 FSICA

ETHERNET

802.5 MAC (TOKEN RING)

802.5 FSICA

TOKEN RING

Figura 4.4: Ponte interconectando subredes IEEE 802.3 e 802.5.


tipicamente 5000 bytes. O que ocorre quando uma subrede 802.5 envia um quadro de, por
exemplo, 3000 bytes para a subrede 802.3? Como o protocolo LLC imp~oe a indivisibilidade
do quadro, tal quadro simplesmente e descartado pela ponte.

Taxa de Transmiss~ao
Suponha a subrede 802.3 operando a 100 Mbits/seg e a subrede 802.5 operando a 16
Mbits/seg. Se um host na 802.3 enviar uma rajada de quadros para outro na subrede 802.5, a
ponte ira receber quadros em uma taxa mais alta que e capaz de escoar. Como consequ^encia,
pode ocorrer uma exaust~ao de bu ers na ponte acarretando a perda de quadros.

Perda de Funcionalidades
O padr~ao 802.5 suporta priorizac~ao no envio de quadros e reserva do meio. A transmiss~ao
de um quadro de altssima prioridade de uma rede 802.5 para outra 802.3 n~ao garante sua
pronta recepc~ao. Ocorre que a ponte, ao receber e converter o quadro necessita executar o
procedimento CSMA-CD para acessar o meio no lado 802.3. Este procedimento n~ao suporta
prioridade, sendo o tempo de acesso func~ao do nvel de trafego na subrede.

Atraso na Comunicac~ao
Pontes invariavelmente imp~oem um atraso na comunicac~ao entre dois hosts. A ponte adiciona
ao tempo de comunicac~ao normal dois procedimentos de acesso ao meio, um c^omputo do
checksum e a convers~ao do pacote de um formato para outro (desprezando-se o tempo extra
na propagac~ao do sinal). Este atraso na comunicac~ao pode causar a ocorr^encia de timeouts
no lado emissor gerando retransmiss~oes desnecessarias (que contribuem para mais atrasos !).

DCA-FEEC-UNICAMP

66

Redes de Computadores: Modelo OSI

Perda de Con abilidade


Ao receber um pacote da subrede 802.5, a ponte computa o checksum, e, se livre de erros,
o converte e retransmite para a subrede 802.3, enviando imediatamente um reconhecimento
positivo ao emissor no lado 802.5. Este reconhecimento e \mentiroso" pois nada garante que o
receptor na subrede 802.3 recebeu o quadro livre de erros. Isto causa perda de con abilidade
nos protocolos de transporte onde a garantia de entrega de pacotes e amarrada a garantia
de entrega de quadros na camada de enlace (como o protocolo UDP, por exemplo).

4.4.4 Roteadores Multiprotocolo


Roteadores multiprotocolo conectam subredes no nvel da camada 3. O emprego de um unico
roteador na interconex~ao de duas redes publicas pode gerar con itos entre as operadoras,
pois aquela que operar o roteador tem in u^encia na operac~ao da outra rede. A soluc~ao e se
empregar dois roteadores, um de cada lado, e interconecta-los por uma via de comunicac~ao.
Roteadores podem estabelecer conex~ao ou operar sem conex~ao, dependendo do protocolos
presente camada 3 da rede.

Camadas de Rede Orientadas a Conex~ao


Se ambas as subredes interconectadas s~ao baseadas em conex~ao, os roteadores tomam parte
do circuito virtual (conex~ao), como mostrado na gura 4.5. Neste tipo de operac~ao, o
roteador aloca os recursos requeridos pela conex~ao, antes de estabelece-la, garantindo uma
entrega con avel dos pacotes que uem de uma subrede para outra. Como desvantagem
temos:




se um roteador falhar, a conex~ao e os pacotes em tr^ansito estar~ao comprometidos;


in exibilidade no roteamento, pois uma vez estabelecida uma conex~ao, o uxo de
pacotes associados a esta conex~ao permanece xo.

X.75
H

X.25

X.25

Figura 4.5: Interligac~ao de duas subredes via roteadores operando com conex~ao (R: roteador
multiprotocolo; H: host; I: outos equipamentos de interconex~ao). A linha pontilhada indica
uma conex~ao.

Camadas de Rede Orientadas a Datagrama


Roteadores operando sem conex~ao s~ao empregadas quando uma ou ambas as subredes interconectadas n~ao suportam circuitos virtuais no nvel da camada de rede. Neste caso, os
pacotes que comp~oem uma dada mensagem podem uir por rotas diferentes ( gura 4.6).

DCA-FEEC-UNICAMP

67

Redes de Computadores: Modelo OSI

Esta propriedade facilita o roteamento, adaptando-o prontamente as condico~es de trafego na


interligac~ao.
I

I
I

R
destino

fonte

R
H

I
I

Figura 4.6: Interligac~ao de duas subredes sem conex~ao. As linhas tracejadas indicam duas
possveis rotas de datagramas.
Quando a camadas de rede opera sem conex~ao, pacotes podem se perder (por falta de
bu er em um roteador, por exemplo), ou serem recebidos fora de ordem (caso uam por
diferentes roteadores, por exemplo). Cabe a camada de transporte nos hosts comunicantes
tratar estas situaco~es.

4.5 O Protocolo X.25/Camada 3


O protocolo X.25 para a camada de rede difere dos correspondentes X.25 para as camadas
1 e 2 no que tange ao estabelecimento das conex~oes. No X.25/camada 1 a conex~ao DTEDCE e fsica (tipicamente eletrica) e estabelecida permanentemente. No X.25/camada 2,
uma conex~ao involve apenas dois computadores: o host (DTE) e o roteador a ele conectado
(via DCE). Aqui, o DTE deve iniciar a conex~ao com o roteador utilizando uma via fsica
permanente ou temporaria (linha discada, por exemplo). Para o X.25/camada 3, a conex~ao
une dois DTEs e se estende por pelo menos 1 (tipicamente varios) roteador. Diferente das
situaco~es anteriores, o estabelecimento de uma conex~ao ira envolver multiplas entidades
(DTEs e roteadores).
O protocolo X.25 para a camada de rede de ne um enderecamento para os hosts segundo
a recomendac~ao X.121 do ITU-T. Este enderecamento e diferente dos NSAPs padr~ao OSI,
e composto de 14 dgitos decimais. Os primeiros 3 dgitos identi cam o pas (exemplo: 302
a 307 para o Canada), o quarto dgito a rede publica naquele pas (totalizando 6  10 = 60
para o Canada), e os ultimos 10 dgitos o roteador da rede.
O X.25/camada 3 utiliza um protocolo denominado PLP (Packet Layer Protocol). Este
protocolo de ne 3 tipos de pacotes: um tipo para a requisic~ao de conex~oes, um tipo para
controle, e um para dados. A gura 4.7 ilustra o formato de um pacote utilizado no estabelecimento de conex~oes.
Neste pacote, os campos GRUPO e CANAL ocupam 12 bits e armazenam o identi cador do circuto virtual sendo estabelecido. A seguir vem os enderecos (formato X.121)

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

68

GRUPO

CANAL
CRTL
1

TIPO (00001011)
TAMANHO DO
ENDEREO FONTE

TAMANHO DO
ENDEREO DESTINO

ENDEREO FONTE
ENDEREO DESTINO

TAMANHO DO CAMPO RECURSO


RECURSOS

DADOS DO USURIO

Figura 4.7: Pacote X.25 utilizado no estabelecimento de conex~oes.


dos roteadores de origem e destino. O campo RECURSOS e utilizado para requerer alguns
servicos providos pela rede, por exemplo, tipo de circuito (full-duplex, simplex, etc), tamanho
da janela (controle de uxo), velocidade de comunicaca~o (tipicamente 64 Kbps), taxac~ao no
roteador destino (chamada a cobrar), etc. Finalmente, o DTE que iniciou a conex~ao pode

dispor de, no maximo, 16 bytes no campo DADOS-DO-USUARIO.
Este campo e interpretado pelo DTE sendo conectado e ignorado pela rede.
Um pacote de controle ( gura 4.8) possui campos para identi car a conex~ao GRUPOCANAL e ac~ao de controle sendo tomada. Um ou dois bytes de informac~ao adicional acompanha o cabecalho e indica tipicamente o porque da aca~o de controle (por exemplo, a recusa
do estabelecimento de uma conex~ao).
0

GRUPO

CANAL
TIPO

CRTL
1

INFORMAO ADICIONAL

Figura 4.8: Pacote X.25 de controle.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

69

As ac~oes de controle possveis s~ao:






CALL ACCEPT: indica o aceite de pedido de conex~ao;


CLEAR REQUEST: indica o termino de conex~ao (ou o n~ao aceite);
CLEAR CONFIRMATION: con rma o termino de conex~ao;
RECEIVER READY, RECEIVER NOT READY, REJECT: utilizados no controle do
uxo do pacotes de dados;





INTERRUPT: envio de, no maximo, 32 bytes fora de sequ^encia (com alta prioridade);




RESET CONFIRMATION: reconhece um RESET REQUEST;




INTERRUPT CONFIRMATION: reconhece um INTERRUPT;


RESET REQUEST: reinicia uma conex~ao (zerando o numero de sequ^encia dos pacotes
de dados);
RESTART REQUEST: reinicia todas as conex~oes que este DTE participa (emitido
apos a volta de um crash);
RESTART CONFIRMATION: reconhece um RESTART REQUEST;
DIAGNOSTIC: informa o DTE de problemas ocorridos na subrede de comunicaca~o
(por exemplo, campo TIPO invalido).

Pacotes de dados apresentam o formato da gura 4.9. O bit Q indica dados quali cados
e e utilizado pela camada de transporte para distinguir seus PDUs de dados dos de controle.
O bit D estipula o signi cado do campo piggyback. Se D for igual a 1, piggyback indica
um reconhecimento por parte do host (DTE) receptor. Caso contrario (D igual a zero), o
reconhecimento da entrega e oriundo do DCE local. O campo modulo pode assumir o valor
01 para numeraca~o em modulo 8, ou 10 para numeraca~o em modulo 128.
Q

MDULO

GRUPO

CANAL
PIGGYBACK

MAIS

SEQUNCIA

CRTL
0

DADOS

Figura 4.9: Pacote X.25 de dados.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

70

Piggyback e um reconhecimento sem a utilizaca~o de pacotes de controle. Se o host receptor


necessitar enviar um pacote da dados durante a recepca~o de uma sequ^encia de pacotes, este,
voluntariamente, informa o ultimo pacote da sequ^encia recebido sem erros (permitindo o
outro lado avancar a janela). Isto minimiza a necessidade de pacotes de reconhecimento
quando a comunicac~ao e intensa nos dois sentidos.
O campo MAIS indica que mais pacotes pertencentes a este grupo est~ao por vir. Somente
^
quando MAIS for zero, a mensagem e entregue ao receptor. O campo SEQUENCIA
numera
os pacotes (em modulo 8 ou 128 conforme o campo Q).

4.6 Problemas
1. Quais os servicos providos pela camada de rede?
2. Como se da o roteamento no nvel da camada de rede?
3. Quais as vantagens e desvantagens das camadas de rede orientadas a conex~ao e sem
conex~ao?
4. Quais as tecnicas mais empregadas para controle de congestinamento em subredes de
comunicac~ao?
5. Quais os dispositivos existentes para a interconex~ao de redes e em que situac~oes s~ao
empregados ?
6. Cite algumas perdas de funcionalidades causadas pela interconex~ao de redes 802.3
(CSMA-CD) e 802.5 (Token Ring).
7. Como o modelo OSI trata a interconex~ao de redes?
8. Como e estabelecida uma conex~ao no nvel da camada de rede no protocolo X.25?
9. Quais os pacotes de controle empregados no X.25/Camada 3? Faca um diagrama
temporal mostrando os pacotes emitidos pelas duas entidades.
10. O que e piggybacking?

Cap
tulo 5
A CAMADA DE TRANSPORTE
A camada de transporte e a primeira camada do modelo OSI a abstrair a topologia e a
tecnologia da subrede de comunicaca~o. Esta camada utiliza o servico de entrega de pacotes
da camada de rede para prover comunicaca~o con avel host a host. Se a camada de rede
for baseada em datagrama, todo o trabalho para uma comunicac~ao con avel ca a cargo da
camada de transporte. Neste caso, a camada de transporte deve gerenciar a perda, duplicaca~o
e invers~ao de ordem de pacotes ocorridas na subrede de comunicac~ao. No caso da camada
de rede prover entrega con avel de pacotes, a camada de transporte tem uma estrutura
mais simpli cada, gerenciando principalmente o uxo de mensagens (TPDUs) entre os hosts
comunicantes e as quebras de conex~oes de rede (N-RESETs).

5.1 Qualidade do Servico


A camada de transporte de ne alguns par^ametros associados a qualidade do transporte de
dados. Estes par^ametros s~ao negociados no estabelecimento de conex~oes de transporte entre
os hosts e a subrede de comunicaca~o. Os principais par^ametros s~ao:

vaz~ao (bytes/s): taxa mnima assegurada de transmiss~ao de mensagens pela conex~ao


de transporte;

atraso de propagac~ao (milisegundos): tempo maximo de tr^ansito de uma TPDU entre


as camadas de transporte dos hosts comunicantes;




jitter (milisegundos): variaca~o maxima do atraso de propagaca~o;

probabilidade de falha no estabelecimento da conex~ao: probabilidade da conex~ao n~ao


ser estabelecida no tempo estipulado (devido a falta de bu ers nos hosts, congestionamento na subrede de comunicaca~o, etc);

taxa de erro residual: Taxa de mensagens perdidas ou corrompidas na conex~ao de


transporte (teoricamente zero, mas assumindo um valor muito pequeno na pratica);

tempo de estabelecimento da conex~ao (milisegundos): maximo intervalo de tempo entre


a entidade usuaria da camada de transporte solicitar uma conex~ao e a sua con rmac~ao;

71

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

72

tempo de encerramento de conex~ao (milisegundos): tempo maximo para o termino de


uma conex~ao;

probabilidade de falha no termino de conex~ao: probabilidade do encerramento de uma


conex~ao n~ao se completar no tempo de encerramento estipulado;

proteca~o: estipula a privacidade dos dados uindo pela conex~ao de transporte quanto
a sua interceptaca~o por terceiros;

prioridade: estipula a prioridade desta conex~ao em relac~ao as demais (a prioridade


da transmiss~ao de TPDUs e funca~o da prioridade das conex~oes por onde as TPDUs
uem);

con abilidade: mede a probabilidade da camada de transporte falhar espontaneamente


(devido a bugs, situaco~es n~ao previstas, etc).

Um subconjunto destes par^ametros e passado a camada de transporte no estabelecimento


de uma conex~ao. A conex~ao n~ao e estabelecida se a qualidade do servico requisitada n~ao
puder ser honrada:
1. pela camada de transporte do host local;
2. pela camada de transporte do host remoto (sendo conectado);
3. pela subrede de comunicac~ao.

5.2 O Servico de Transporte


O servico de transporte pode ser orientado a conex~ao ou a datagrama (sem conex~ao). Em
redes locais, dada a alta con abiliade da camada de rede, o servico sem conex~ao e atrativo
para muitas aplicac~oes, dado seu baixo overhead. Em redes publicas, mesmo com camada
de rede orientada a conex~ao (como no caso do X.25/camada 3), o servico de transporte
orientado a conex~ao e o mais seguro para a maioria das aplicac~oes.
O modelo OSI especi ca apenas quatro primitivas para transporte orientado a conex~ao e
uma para transporte orientado a datagrama (tabela 5.1). Note a aus^encia de primitiva do
tipo RESET: uma conex~ao de transporte e muito mais con avel que uma conex~ao de rede
(camada 3).
As primitivas T-CONNECT, T-DISCONNECT e T-DATA estabelecem, terminam e
transmitem TPDUs por uma conex~ao. S~ao equivalentes aquelas da camada de rede.
A primitiva T-EXPEDITED-DATA transmite dados expressos: TPDUs com alta prioridade que s~ao entregues a aplicac~ao fora de sequ^encia. S~ao empregados para transmitir
informac~oes urgentes como um caracter de controle (BREAK, DELETE, etc) teclado pelo
usuario numa sess~ao de login remoto 1 .
1 Imagine

um programa em loop que supostamente deveria ler caracteres ja digitados pelo usuario. O que
aconteceria se o caracter BREAK, teclado pelo usuario para abortar o programa, for entregue em sequ^encia?

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

73

T-CONNECT.request(TSAP origem, TSAP destino, exp req, QoS, dados)


T-CONNECT.indication(TSAP origem, TSAP destino, exp req, QoS, dados)
T-CONNECT.response(QoS, TSAP destino, exp req, dados)
T-CONNECT.con rm(QoS, TSAP destino, exp req, dados)
T-DISCONNECT.request(dados)
T-DISCONNECT.indication(justi cativa, dados)
T-DATA.request(dados)
T-DATA.indication(dados)
T-EXPEDITED-DATA.request(dados)
T-EXPEDITED-DATA.indication(dados)
T-UNITDATA.request(TSAP origem, TSAP destino, QoS, dados)
T-UNITDATA.indication(TSAP origem, TSAP destino, QoS, dados)
Tabela 5.1: Servicos ofereciados pela camada de transporte: as primitivas T-CONNECT,
T-DISCONNECT e T-DATA s~ao empregadas em servicos com conex~ao; T UNITDATA em
servicos sem conex~ao. exp req e um ag que indica se dados expressos ser~ao enviados pela
conex~ao ou n~ao. QoS estabelece a qualidade de servico proposta ou aceita.
A primitiva T-UNIDATA transmite uma TPDU sem o estabelecimento de conex~ao e sem
garantia de entrega, sequ^encia ou aus^encia de duplicac~ao.
A gura 5.1 mostra sequ^encias tpicas de ocorr^encia destas primitivas.
A camada de transporte prov^e servicos nos TSAPs (Transport Service Access Points).
Na camada de rede um NSAP identi cava um host. Na camada de transporte, um TSAP
identi ca um port de comunicac~ao mantido por um processo (em host conhecido). A entidade
usuaria da camada de transporte normalmente indica o host e o port aos quais a mensagem
se destina. A camada de transporte manipula o port, passando o host (no formato adequado
de NSAPs) a camada de rede.
Via de regra, um TSAP e uma estrutura muito mais simples que um NSAP: tipicamente
um inteiro ocupando 2 bytes que identi ca o port. Um TSAP pode ser entendido como
um identi cador de uma la para onde mensagens s~ao enviadas (ou de onde mensagens s~ao
recebidas). A forma como um processo solicita este recurso depende da interface de acesso
aos servicos de transporte provida pelo sistema operacional.
O estado em que um TSAP pode se encontrar (e o que causa as transic~oes de estado) e
apresentado no diagrama da gura 5.2.

5.3 Classes de Protocolos de Transporte


Os protocolos de transporte s~ao classi cados em cinco categorias em func~ao da camada de
rede da qual se utilizam e de certas funcionalidades que prov^eem.
As subredes de comunicac~ao se classi cam em tr^es tipos:

Tipo A : Livres de erros e de N-RESETs. Apenas as LANs se aproximam desta classe.

DCA-FEEC-UNICAMP
entidade #1

Redes de Computadores: Modelo OSI


entidade #2

entidade #1

74

entidade #2

TCONNECT.request

TCONNECT.request

TCONNECT.confirm

TCONNECT.indication

TCONNECT.indication

TCONNECT.response

TDISCONNECT.request

TDISCONNECT.indication
TDATA.request

(b)

TDATA.indication

TCONNECT.request

TEXPEDITEDDATA.request
TEXPEDITEDDATA.indication

TCONNECT.indication
TDATA.indication

(c)

TDATA.request

TDISCONNECT.request

TDISCONNECT.indication

TDISCONNECT.indication

TDISCONNECT.indication
(d)
(a)
tempo

Figura 5.1: Algumas sequ^encias de ocorr^encia das primitivas OSI: (a) sequ^encia normal de
transfer^encia de dados; (b) conex~ao recusada pelo host remoto; (c) conex~ao recusada pela
camada de transporte; (d) termino de conex~ao requisitado pela camada de transporte.

Tipo B : Transporte con avel de pacotes, mas com a ocorr^encia de N-RESETs (quebras
de conex~oes). Redes publicas X.25 pertencem a esta classe.

Tipo C : Transporte de pacotes n~ao con avel. Redes com protocolo IP (Internet Protocol)
como a Internet, por exemplo, pertencem a esta classe.

As cinco categorias de protocolos de transporte s~ao descritas a seguir.

Classe 0 : Operam em subredes tipo A. S~ao os protocolos mas simples pois toda a con abilidade do transprte de dados recai sobre a subrede de comunicaca~o.

Classe 1 : Para subredes tipo B, prov^eem recuperaca~o basica de erros (principalmente N-

RESETs). No mais, deixam a cargo da subrede de comunicac~ao a con abilidade do


transporte de dados.

Classe 2 : Para redes tipo A, s~ao id^enticos aos de Classe 0, permitindo apenas a multiplexaca~o de varias conex~oes de transporte numa unica conex~ao de rede.

Classe 3 : Para redes tipo B, prov^eem as funcionalidas das classes 1 e 2.


Classe 4 : Os unicos a operarem em subredes tipo C, prov^eem detecc~ao e recuperac~ao de

erros n~ao tratados pela subrede de comunicac~ao (usualmente baseadas em datagrama).


S~ao os protocolos de transporte mais complexos.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

75

Espera
1

2 ou 3

1
4

2 ou 3
2

3
2 ou 3

Requisio de Conexo
Solicitada Entidade Remota

Requisio de Conexo
5

Solicitada pela Entidade Remota

4
Conexo Estabelecida

710

Figura 5.2: Estados de um TSAP. Os eventos que causam transic~ao de estado s~ao: (1) TCONNECT.request gerado pela camada usuaria; (2) T-DISCONNECT.indication recebido
da camada de transporte; (3) T-DISCONNECT.request gerado pela camada usuaria; (4)
T-CONNECT.indication recebido da camada de transporte; (5) T-CONNECT.con rm recebido da camada de transporte; (6) T-CONNECT.response gerado pela camada usuaria;
(7) T-DATA.request gerado pela camada usuaria; (8) T-DATA.indication recebido da camada de transporte; (9) T-EXPEDITED-DATA.request gerado pela camada usuaria; (10)
T-EXPEDITED-DATA.indication recebida da camada de transporte.

5.4 Protocolos de Transporte Classe 4


Protocolos classe 4 operam em subredes tipo C que oferem servicos de datagramas sem
garantia de entrega, ordem ou aus^encia de duplicaca~o. Portanto, cabe ao servico de transporte adicionar a con abilidade n~ao oferecida pela camada de rede. Protocolos classe 4 s~ao
empregados tambem em subredes classe B, onde a camada de transporte pode se valer de
servicos orientados a conex~ao oferecidos pela camada de rede. Neste caso, as diferencas entre
um protocolo classe 3 e 4 s~ao desprezveis em termos de desempenho, ja que ambos ter~ao
que gerenciar apenas as quebras de conex~ao no nvel da camada de rede.
Um protocolo de transporte classe 4 deve gerenciar a perda, duplicac~ao e invers~ao de
ordem dos pacotes em tr^es situaco~es:
1. durante o estabelecimento de conex~oes de transporte;
2. durante a transfer^encia de TPDUs de dados;
3. durante o fechamento de conex~oes.
Vamos examinar as soluc~oes comumente empregadas nos protocolos classe 4 para estas
tr^es situaco~es.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

76

5.4.1 Estabelecimento de Conex~oes


Dois cenarios devem ser gerenciados por um protocolo de transporte classe 4: duplicac~ao de
uma TPDU que carrega uma requisic~ao de conex~ao (gerado pela chamada T-CONNECT.request);
e perda de uma TPDU que carrega a con rmaca~o do estabelecimento da conex~ao (que iria
gerar um T-CONNECT.con rm).
No primeiro caso, ao receber uma TPDU duplicada, o destinatario ira supor que uma
segunda conex~ao foi solicitada. No segundo cenario, o host que solicitou a conex~ao sup~oe
que sua requisic~ao se perdeu e a envia novamente. Uma segunda conex~ao sera estabelecida
pelo receptor, como no caso anterior.
Os dois cenarios descritos acima apresentam uma caracterstica em comum: uma conex~ao
estabelecida apenas num host, e que portanto jamais sera utilizada. Os recursos alocados a
tais conex~oes s~ao totalmente inuteis e permanecem alocados ate esta situac~ao ser detectada
e corrigida.
Uma soluc~ao comumente empregada e o estabelecimento de conex~oes em tr^es fases. Esta
tecnica evita conex~oes inuteis geradas por duplicaca~o ou perda de TPDUs.
Ao enviar um pedido de conex~ao, o host solicitante informa um numero inicial de
sequ^encia na numeraca~o das TPDUs de dados que ele enviar pela conex~ao: x (primeira
fase). Ao receber a solicitaca~o, o destinatario reconhece x e informa que seu numero inicial
de sequ^encia sera y (segunda fase). Ao receber a con rmac~ao da conex~ao, o host que a
iniciou reconhece y numa TPDU de reconhecimento ou na primeira TPDU de dados que
enviar (terceira fase). Este metodo de estabelecimento de conex~oes ( gura 5.3) e imune a
duplicaca~o ou perda de TPDUs empregadas no estabelecimento de conex~oes.
No primeiro cenario, o host que recebeu a segunda con rmac~ao de conex~ao, respondera
com um REJECT na terceira fase, causando a desativaca~o imediata da conex~ao gerada pela
TPDU duplicada. No segundo cenario, a primeira conex~ao sera desativada por falta do
recebimento de con rmac~ao na terceira fase (apos timeout).

5.4.2 Transfer^encia de TPDUs de Dados


Perdas, duplicac~oes e invers~oes de ordem s~ao tratadas de forma adequada por protocolos
de controle de uxo com reconhecimento e piggybacking. Um problema adicional nos protocolos de transporte classe 4 reside na alocac~ao de bu ers. TPDUs transmitidas devem
permanecer armazenadas no emissor ate a chegada de reconhecimento por parte do receptor.
O receptor necessita tambem armazenar TPDUs ate que se complete uma janela (no caso
de reconhecimento contnuo) ou uma mensagem (composta de varias TPDUs).
Via de regra, os esquemas de bu erizac~ao empregam um pool de bu ers compartilhados
por todas as conex~oes ou um bu er de grandes dimens~oes para cada conex~ao. Neste ultimo caso, o bu er unico abriga varias TPDUs e sua manutenca~o lembra gerenciamento de
memoria em sistemas operacionais.
Tanto no emprego de um pool de bu ers quanto no emprego de um bu er unico ca
a quest~ao: qual o tamanho dos bu ers? Esta quest~ao e importante pois o tamanho das
TPDUs varia de poucos bytes como numa sess~ao de login remoto, a milhares de bytes como
em transfer^encia de arquivos.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

CR (seq = X)

77

CR (seq = X)
dupl.
CR (seq = X)
CR (seq = X)
CR (seq = X)
CC (seq = Y, ack = X)

CC (seq = Y, ack = X)

CC (seq = Y, ack = X)

CC (seq = Y, ack = X)

CC (seq = Y, ack = X)

CC (seq = Y, ack = X)

CC (seq = X, ack = Y)
CC (seq = X, ack = Y)

REJ (ack = Y)

CC (seq = X, ack = Y)

CC (seq = X, ack = Y)
REJ (ack = Y)

(b)

(a)
tempo

Figura 5.3: Estabelecimento de conex~ao em 3 fases: (a) situaca~o normal; (b) duplicac~ao de
TPDU de requisic~ao.
No caso de pool de bu ers, pode-se empregar bu ers de tamanho variado. Isto causa um
overhead adicional na procura de um bu er no pool (de tamanho adequado a TPDU que o
bu er ira abrigar).
No caso de se empregar bu er unico, pode-se negociar um tamanho inicial de bu er (ao
inves do tamanho da janela) no estabelecimento da conex~ao. O host que esta recebendo
TPDUs de dados informa nas TPDUs de reconhecimento quantos bytes existem disponveis
no bu er. O host emitindo as TPDUs ajusta sua taxa de transmiss~ao em func~ao das TPDUs
que tem para transmitir e da quantidade de espaco que o receptor tem para armazenalos. Note que o tamanho do bu er unico no receptor (e no transmissor, caso esteja usando
o mesmo esquema de bu erizac~ao) pode permanecer constante, aumentar ou diminuir de
tamanho, em func~ao da memoria disponvel a camada de transporte como um todo.

5.4.3 Encerramento de Conex~oes


O encerramento de conex~oes em protocolos de transporte classe 4 e tambem um processo
que requer cuidados. Dois cenarios devem ser considerados:
1. a TPDU solicitando o encerramento da conex~ao se perdeu, gerando o fechamento da
conex~ao em apenas um lado;
2. uma TPDU de dados chega apos a conex~ao pela qual uia ter sido encerrada.
Analogamente ao estabelecimento de conex~oes, um esquema de tr^es fases pode ser empregado para o encerramento de conex~oes. Ao enviar uma requisic~ao de encerramento de
conex~ao, o emissor dispara um contador de tempo. Chegada a con rmac~ao do encerramento,
a "con rmac~ao da con rmac~ao"e enviada e o host encerra a conex~ao. Expirado o tempo do

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

78

contador sem a chegada de con rmac~ao, o pedido de encerramento de conex~ao e retransmitido. O processo se repete por determinado numero de vezes quando a conex~ao e encerrada
unilateralmente pelo lado do emissor.
O receber uma TPDU solicitando o encerramento de conex~ao, o receptor tambem dispara
um contador de tempo (com intervalo bem superior ao do emissor), enviando prontamente
a con rmac~ao ao solicitante. Se este tempo se expirar sem o recebimento da "con rmaca~o
da con rmac~ao", o host encerra unilateralmente a conex~ao. A gura 5.4 ilustra este procedimento.
DR
DR
DR
DR

DC
DC

DC
DC

remove conexo
remove conexo
ACK
ACK

perda

ACK

remove conexo
timeout
remove conexo
(b)
(a)
tempo

DR

DR
DR

DR

DC

DC

perda

perda

timeout

timeout

DR
DR

DR
perda

timeout
timeout
DC

remove conexo

DC
remove conexo
ACK
ACK

remove conexo

(c)

timeout
remove conexo

(d)

Figura 5.4: Encerramento de conex~ao em 3 fases: (a) situaca~o Normal; (b) falha na terceira
fase; (c) falha na segunda fase; (d) falhas na segunda e terceira fase.
Este procedimento garante tambem que TPDUs "atrasadas"n~ao ser~ao descartadas. Simplesmente, um host n~ao aceita o encerramento da conex~ao (emitindo um REJECT na terceira
fase) se uma ou mais TPDU de dados ainda n~ao teve seu recebimento con rmado.
Encerramento de conex~ao em tr^es fases n~ao garante que uma conex~ao sera encerrada em
cem por cento dos casos (por exemplo, quando nenhuma das TPDUs solicitando o encerramento da conex~ao atingem o destino). Uma seguranca adicional e encerrar uma conex~ao

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

79

caso permaneca inativa por um determinado perodo de tempo. TPDUs de conteudo nulo
podem ser empregados para manter a conex~ao viva, fazendo com que sua recepc~ao zere o
contador de tempo que monitora e inatividade da conex~ao.

5.5 Multiplexac~ao
Multiplexac~ao no nvel de camada de transporte e a capacidade de:
1. operar multiplas conex~oes de transporte atraves de uma unica conex~ao de rede (multiplexac~ao upward); ou
2. uma unica conex~ao de transporte utilizar multiplas conex~oes de rede (multiplexaca~o
downward).
O primeiro caso e comum em redes publicas onde a taxac~ao e func~ao do numero de
conex~oes requisitadas a subrede de comunicac~ao. Obviamente a qualidade do servico e
pobre em conex~oes de transporte multiplexadas numa mesma conex~ao de rede. Protocolos
de transporte classe 2 em diante s~ao dotados de capacidade de multiplexac~ao upward.
O segundo caso (multiplexac~ao downward) ocorre quando uma conex~ao de transporte
necessita determinada vaz~ao n~ao assegurada pela conex~ao de rede. Neste caso, distribui-se
as TPDUs por varias conex~oes de rede, aumentando a vaz~ao da conex~ao de transporte.

5.6 Protocolos de Transporte OSI Orientados a Conex~ao


Os protocolos de transporte OSI e um padr~ao ISO (8073) tipicamente em conjunca~o com
o X.25. Este protocolo de ne 10 classes de TPDUs. Os formatos s~ao os mesmos para as 5
classes de protocolos, exceto que certas classes n~ao necessitam de todos as TPDUs.
Os tr^es primeiros campos das TPDUs s~ao comuns. O primeiro, LI (Length Indicator),
ocupa 1 byte e contem o tamanho do cabecalho (partes xa e variavel). Segue o segundo
campo, tambem de 1 byte, contendo nos primeiros 4 bits o tipo de TPDU e nos 4 bits
restantes o tamanho da janela (Cdt: credito), quando for o caso. O terceiro campo ocupa 2
bytes e contem um identi cador da conex~ao. Uma conex~ao e identi cada por dois inteiros
denominados refer^encia destino (estabelecido por quem aceita a conex~ao) e refer^encia fonte
(estabelecido por quem inicia a conex~ao).
Os demais campos dependem do tipo de TPDU. Os 10 tipos s~ao descritos a seguir e
apresentados na gura 5.5.
CR (Connection Request): inicia uma conex~ao de transporte. O campo CLASSE prop~oe
uma classe de protocolo para a conversac~ao (geralmente a classe 4 e empregada). A
parte variavel consiste de:
1. os TSAPs de origem e destino;
2. o tamanho maximo das TPDUs (de 128 a 8192, em pot^encias de 2);
3. a vers~ao do protocolo;

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

80

4. uma chave de protec~ao (para ns de criptogra a, direito de acesso ao servico, etc);


5. um indicador de uso de checksum;
6. par^ametros de qualidade do servico.
Esta TPDU pode carregar ate 32 bytes de dados do usuario (entregue a entidade que
mantem o TSAP destino).

CC (Connection Con rm): Prov^e con rmaca~o positiva ou negativa de uma requisica~o de

conex~ao. Possui formato id^entico ao CC, carregando na parte variavel a contraproposta


referente aos par^ametros de qualidade de servico contidos na requisica~o.

DR (Disconnect Request): solicita o encerramento da conex~ao. O campo MOTIVO prov^e


um indicativo do motivo de tal requisic~ao. A parte variavel, quando for o caso, carrega
informac~oes complementares ao campo MOTIVO.

DC (Disconnect Con rm): con rma o termino da conex~ao. A parte variavel carrega apenas
o checksum, se sua utilizaca~o foi decidida no estabelecimento da conex~ao.

DT (Data): transporta dados. O campo EOT (End of Text) ocupa 1 bit e indica se esta

TPDU e a ultima de uma mensagem ou n~ao (em sendo o ultimo, a mensagem pode
ser entregue a entidade receptora). Completando o byte, o campo TPDU-N, de 7 bits,
prov^e o numero de sequ^encia da TPDU em modulo 7.

ED (Expedited Data): carrega dados expressos. A parte variavel contem o checksum,


quando for o caso.

AK (Acknowledgement): reconhece TPDUs de dados (DT ou ED). O campo Cdt pode

alterar a janela previamente em uso para ns de controle de uxo. A parte variavel


contem o checksum, quando for o caso.

RJ (Reject): utilizado nos protocolos de classe 1 e 3, solicita a transmiss~ao de todas as

TPDUs a partir e inclusive do numero de sequ^encia constante no campo TPDUESPERADA.

ER (Error Report): informa a ocorr^encia de erros tais como par^ametros desconhecidos, tipo
de TPDU invalido, etc. O campo MOTIVO informa o erro detectado. Caso necessario,
maiores informac~oes s~ao supridas na parte variavel.

5.7 Protocolos de Transporte OSI sem Conex~ao


O protocolo de transporte OSI sem conex~ao de ne um unico tipo de TPDU utilizada no
transporte de dados ( gura 5.5). A parte variavel do cabecalho contem os TSAPs de origem
e destino, e, opcionalmente, o checksum.
Cada TPDU e transmitida num pacote separado, sem con rmac~ao de recebimento. N~ao
ha garantia de entrega, ordem, ou aus^encia de duplicac~ao. Protocolos de transporte sem
conex~ao e utilizado principalmente em redes classes A (locais).

DCA-FEEC-UNICAMP
Bytes

Redes de Computadores: Modelo OSI

CR

LI

1110

Cdt

00 . . . . 0

TSAP origem

CLASSE

Parte Varivel

Dados

CC

LI

1101

Cdt

TSAP destino

TSAP origem

CLASSE

Parte Varivel

Dados

DR

LI

1000

0000

TSAP destino

TSAP origem

MOTIVO

Parte Varivel

Dados

DC

LI

1100

0000

TSAP destino

TSAP origem

DT

LI

1111

0000

TSAP destino

TPDUN

81

Parte Varivel

Dados

EOT

ED

LI

0001

0000

TSAP destino

AK

LI

0110

Cdt

TSAP destino

ESPERADO

EA

LI

0010

0000

TSAP destino

ESPERADO

RJ

LI

0101

Cdt

TSAP destino

ESPERADO

ER

LI

0111

0000

TSAP destino

MOTIVO

TPDUN

TPDU

TPDU

Parte Varivel

Dados

Parte Varivel

Parte Varivel

TPDU

Parte Varivel

(a)

LI

01000000

Parte Varivel

Dados

(b)

Figura 5.5: PDUs de transporte de nidos pela ISO: (a) transporte orientado a conex~ao; (b)
transporte orientado a datagrama.

5.8 Problemas
1. Quais as func~oes precpuas da camada de transporte?
2. O que e "qualidade de servico"e sob que par^ametros e determinada?
3. Qual a nalidade de se de nir classes de protocolos de transporte?
4. Descreva como conex~oes s~ao estabelecidas em protocolos de transporte classe 4.
5. Como se da o controle de uxo em protocolos de transporte classe 4?
6. Quais as diferencas no procedimento de tr^es fases para se abrir e fechar conex~oes?

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

82

7. De na multiplexac~ao upward e downward.


8. Mapeie as primitivas OSI nos PDUs de transporte de nidos pela ISO.
9. De na um algoritmo a ser utilizado num protocolo de transporte para tratar os NRESETs produzidos pela camada de rede.
 razoavel se empregar um protocolo de transporte sem conex~ao em subredes de co10. E
municac~ao orientadas a conex~ao (X.25, por exemplo)? Justi que.

Cap
tulo 6
~
A CAMADA DE SESSAO
A camada de sess~ao tem por nalidade organizar a troca de informac~ao (dialogo) entre dois
hosts comunicantes. Esta camada prov^e mecanismos para:
 estabelecer e terminar sess~oes de dialogo;







trocar informac~ao em uma sess~ao de dialogo;


gerenciar o dialogo;
sincronizar o dialogo;
de nir e gerenciar unidades de dialogo (atividades);

reportar erros detectados no decorrer do dialogo.


Vamos examinar cada uma das funcionalidades acima.

6.1 Estabelecimento e Termino do Dialogo


Dependendo do protocolo de transporte, uma conex~ao de transporte pode se encerrar abruptamente por uma das partes, causando, eventualmente, perda de informaca~o. A gura 6.1(a)
ilustra esta situac~ao onde uma conex~ao foi terminada antes da outra parte encerrar o envio
de dados. Isto de deve ao fato das primitivas OSI de transporte prever o encerramento da
conex~ao como um servico sem con rmaca~o (primitivas do tipo request e indication apenas,
ver gura 5.1).
A camada de sess~ao prov^e encerramento de uma conex~ao de sess~ao como um servico
con rmado (primitivas request, indication, response e con rm). Neste caso, uma aplicaca~o
envolvida em uma sess~ao de dialogo, ao receber uma indicaca~o de desconex~ao, emite a
resposta a rmativa apenas caso n~ao tenha mais informac~ao para transmitir. Isto garante
que a conex~ao se encerra sem a perda de informaca~o, mesmo que a conex~ao de transporte
da qual a conex~ao de sess~ao se utilizava se encerre abruptamente. A gura 6.1(b) ilustra o
encerramento ordenado de uma sess~ao de dialogo
Uma conex~ao de sess~ao pode se encerrar abruptamente caso a propria camada de sess~ao
tome a iniciativa do encerramento. Um exemplo desta situaca~o e a quebra da conex~ao de
transporte da qual a conex~ao de sess~ao fazia uso.
83

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI


entidade #2

entidade #1
TDATA.request

entidade #2

entidade #1

SRELEASE.request

SDATA.request

T_DISCONNECT.request

84

descarte
SDATA.indication

SRELEASE.indication

TDISCONNECT.indication

SRELEASE.response

tempo
(a)

SRELEASE.confirm
(b)

Figura 6.1: Encerramento de conex~oes: (a) de transporte; (b) de sess~ao (RELEASE tem o
signi cado de DISCONNECT).

6.2 Troca de Informac~ao


Sess~oes de dialogo podem conduzir quatro tipos de dados:
1. dados regulares: informac~ao que diz respeito apenas as entidades comunicantes da
aplicac~ao;
2. dados expressos: informac~ao urgente (gerada pela aplicac~ao) entregue fora de sequ^encia;
3. dados tipados: informac~ao enviada sem que o transmissor detenha o token de envio
(veja seca~o 6.3);
4. dados de capacidade: empregados exclusivamente para controle interno da camada de
sess~ao, permitem alterar par^ametros do dialogo.
As primitivas para envio dos tr^es primeiros tipos de dados de sess~ao s~ao sem con rmac~ao.
O envio de dados de capacidade e um servico con rmado, pois a alterac~ao de par^ametros do
dialogo dependem do aceite da outra parte envolvida no dialogo.

6.3 Gerenciamento do Dialogo


Conex~oes de transporte usualmente s~ao do tipo full-duplex, onde a informaca~o ui nos
dois sentidos simultaneamente. Entretanto, muitas aplicac~oes se comunicam em modo halfduplex, onde a informac~ao ui em um sentido de cada vez. Comunicac~ao half-duplex pode
ser implementada em conex~ao full-duplex pela introduc~ao de um token: apenas quem detiver
o token esta habilitado a enviar informac~ao pela conex~ao.
No estabelecimento de uma conex~ao de sess~ao e especi cado o tipo da conex~ao half- ou
full-duplex. No caso de ser escolhida conex~ao half-duplex, deve-se especi car tambem a qual
das partes sera atribudo o token primeiro.
Terminado o envio de informaca~o, o detentor do token passa-o a outra parte. O token pode
ser requisitado a qualquer momento pela entidade que n~ao o detem. Recebida a requisic~ao,
a entidade detentora do token pode, a seu criterio, passa-lo a quem o solicitou.
A gura 6.2 ilustra as o emprego do token e dados tipados em comunicaca~o half-duplex.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI


entidade #1

85

entidade #2

tempo
legenda:
SDATA
SEXPEDITEDDATA
STOKENPLEASE
STOKENGIVE

Figura 6.2: Comunicac~ao tpica no nvel de sess~ao.

6.4 Sincronizac~ao do Dialogo


Em uma sess~ao de dialogo pode-se de nir pontos de sincronismo. Pontos de sincronismo
estabelecem marcas no dialogo para ns de retomada da comunicac~ao a partir destas marcas. Pontos de sincronismo s~ao de nidos pelas entidades comunicantes, n~ao pela camada de
sess~ao (esta os adiciona unicamente sob requisica~o da aplicac~ao). A introduca~o de pontos de
sincronismo necessita o reconhecimento da outra entidade comunicante, sendo portanto um
servico con rmado.
Seja o exemplo de um a rede se servicos integrados que oferece transmiss~ao por fax.
Cada pagina do texto e transmitida como uma serie de mensagens de dados. Antes do envio
de cada pagina, o transmissor adiciona um ponto de sincronismo. Suponha que o receptor
roteie os dados das SPDUs diretamente para uma impressora, sem armazena-los localmente.
Se ocorrer uma falha na impress~ao (por exemplo, travamento do papel), o receptor solicita
ao transmissor que volte ao ponto de sincronismo referente a pagina afetada pelo problema,
passando a receber todas as mensagens a partir da. O que ocorreu neste caso foi uma
re-sincronizac~ao do dialogo a partir de um ponto do passado.
Caso pontos de sincronismo sejam empregados, o transmissor deve armazenar as mensagens na eventualidade do receptor re-sincronizar o dialogo. Obviamente, a quantidade
de mensagens armazenadas deve ser limitada. Para tal, de ne-se dois tipos de pontos de

DCA-FEEC-UNICAMP

86

Redes de Computadores: Modelo OSI

sincronismo: menor (como os do exemplo acima) e maior.


Pontos de sincronismo maior (PSM) de nem barreiras cujo retrocesso n~ao pode ser ultrapassado, limitando, portanto, a quantidade de mensagens armazenadas para ns de resincronizac~ao. Retomando o exemplo anterior, suponha que o transmissor adicione um PSM
a cada cinco pontos de sincronismo menor (que delimitam as paginas). Agora, ao reconhecer
um PSM, o receptor deve ter certeza que todas as paginas transmitidas ate ent~ao foram
corretamente impressas, pois as mensagens transmitidas antes de um PSM s~ao descartadas
pelo transmissor.
A quantidade de informac~ao transmitida entre dois PSMs e denominada unidade de
dialogo ou atividade ( gura 6.3).

6.5 Gerenciamento de Atividades


Atividades s~ao unidades delimitadas de uma sess~ao de dialogo. Geralmente a delimitaca~o
das atividades esta relacionada com fronteiras naturais reconhecidas pelas entidades comunicantes. Por exemplo, em uma sess~ao de transfer^encia de arquivos, a transmiss~ao de cada
arquivo estaria associada uma atividade ( gura 6.3).
SESSO

ATIVIDADE #1

ATIVIDADE #2

ATIVIDADE #3

tempo
incio

trmino

ponto de sincronismo maior

interrupo

retomada

descarte

ponto de sincronismo menor

Figura 6.3: Partica~o de uma sess~ao de dialogo em atividades.


Atividades em uma mesma sess~ao de dialogo est~ao delimitadas por pontos de sincronismo
maior. Como consequ^encia, durante o processamento de uma atividade n~ao podemos resincronizar o dialogo a um ponto pertencente a atividade anterior.
As operac~oes relacionadas com atividades s~ao:

incio: marca o incio de nova atividade inserindo um ponto de sincronismo maior


(exemplo: inicio da transmiss~ao de arquivo);

termino: informa que a atividade corrente terminou de forma normal (exemplo: m


da transmiss~ao de arquivo);

descarte (termino anormal): abandona a atividade corrente (exemplo: descarte da


parte ja transmitida do arquivo);

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

87

interrupc~ao: suspende temporariamente uma atividade (exemplo: suspens~ao de transmiss~ao de arquivo);

retomada: retoma uma atividade a partir do ponto em que foi interrompida (exemplo:
retoma a transmiss~ao de arquivo).
As consequ^encias de se iniciar, terminar, descartar, suspender e retomar atividades dizem
respeito apenas as aplicaco~es usuarias da camada de sess~ao. A camada de sess~ao apenas prov^e
as primitivas para tal, gerando as respectivas SPDUs de controle que causam as respectivas
indicac~oes na camada de sess~ao oposta. As primitivas para iniciar e retomar atividade
interrompida s~ao servicos sem con rmaca~o; as demais s~ao servicos con rmados.
Finalmente, nada impede ao usuario inserir pontos de sincronismo maior menor no interior de uma atividade.

6.6 Detecc~ao de Erros


A camada de sess~ao prov^e apenas duas primitivas para o informe de situaco~es anormais.
A primeira e utilizada pela aplicac~ao. Por exemplo, uma aplicac~ao remota solicita a local
a transfer^encia de um arquivo inexistente. Esta primeira primitiva de ne um servico sem
con rmaca~o.
A segunda primitiva e utilizada pela propria camada de sess~ao quando esta detecta alguma situac~ao anormal. As aplicac~oes conectadas em uma sess~ao de dialogo recebem apenas
uma indicac~ao do erro, podendo proceder como desejarem. Exemplo de erro neste nvel e a
perda do sequenciamento na transmiss~ao das SPDUs que comp~oem uma mensagem.

6.7 Primitivas OSI de Sess~ao


A tabela 6.1 apresenta as primitivas OSI para a camada de sess~ao. As primitivas fornecem
os servicos (orientados a conex~ao) descritos nas seco~es precedentes. Primitivas iniciando com
S-P possuem o modo indication apenas e se prestam para o informe de eventos detectados
pela entidade provedora do servico (neste caso, os protocolos da camada de sess~ao). Uma
unica primitiva, S-UNITDATA, prov^e transmiss~ao de informac~ao sem o estabelecimento de
conex~ao.

6.8 Protocolo OSI de Sess~ao


O protocolo OSI de sess~ao (ISO 8327) e inspirado em um protocolo antigo da ITU-T (exCCITT) para teletexto. A forma geral das SPDUs e dada na gura 6.4(a). A campo SI
(Session Identi er) de um byte contem o tipo da SPDU. O campo LI (Length Identi er),
tambem de um byte, indica o tamanho (em bytes) do campo de par^ametros. LI varia entre
0 e 254: um valor de 255 indica a exist^encia de 2 bytes adicionais para este campo.
Apos os campos SI e LI, v^em os parametros da SPDU. Par^ametros t^em o formato da
gura 6.4(b). PI (Parameter Identi er) informa o tipo do par^ametro; LI seu tamanho; PV
(Parameter Value) seu valor.

DCA-FEEC-UNICAMP

primitiva
S-CONNECT
S-RELEASE

Redes de Computadores: Modelo OSI

88

nalidade

Estabelecimento de uma conex~ao de sess~ao


Termino de uma conex~ao de sess~ao
S-U-ABORT
Termina adruptamente uma conex~ao
S-P-ABORT
Informa o termino adrupto de uma conex~ao
S-DATA
Transfere de dados
S-EXPEDITED-DATA
Transfere de dados expressos
S-TYPED-DATA
Transfere de dados fora de faixa (out-of-band)
S-CAPABILITY-DATA
Transfere de informac~ao de controle
S-TOKEN-GIVE
Passa o token a outra entidade
S-TOKEN-PLEASE
Solicita o token de outra entidade
S-CONTROL-GIVE
Passa todos os tokens a outra entidade
S-SYNC-MAJOR
Insere um ponto de sincronizaca~o maior
S-SYNC-MINOR
Insere um ponto de sincronizaca~o menor
S-RESYNCHRONIZE
Retorna a um ponto de sincronizac~ao
S-ATIVITY-START
Inicia uma atividade
S-ACTIVITY-END
Termina uma atividade
S-ACTIVITY-DISCARD
Descarta uma atividade
S-ACTIVITY-INTERRUPT Interrompe uma atividade em curso
S-ATIVITY-RESUME
Retoma uma atividade interrompida
S-U-EXCEPTION-REPORT
O usuario informa sobre uma excec~ao
S-P-EXCEPTION-REPORT
A entidade provedora informa sobre uma excec~ao
S-UNITDATA
Transfere dados sem o estabelecimento de conex~ao
Tabela 6.1: Primitivas OSI para a camada de sess~ao. As primitivas em negrito s~ao servicos
con rmados.
Certas SPDUs prov^eem campo de dados do usuario para que os usuarios da camada de
sess~ao enviem informac~ao adicional aquelas passadas nas primitivas (a camada de sess~ao n~ao
interpreta estes dados).
Na maioria dos casos, a chamada de cada primitiva de sess~ao gera uma SPDU do tipo
da primitiva. Primitivas que implementam servicos con rmados de nem tambem suas correspondentes SPDUs de reconhecimento.

6.9 Problemas
1. Quais as funcionalidades que a camada de sess~ao prov^e?
2. Quais as diferencas entre uma conex~ao de transporte e uma conex~ao de sess~ao?
3. Como a camada de sess~ao implementa comunicac~ao half-duplex?
4. Como a camada de sess~ao classi ca os dados por ela transmitidos?

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

1 byte

1byte

SI

LI

PARMETROS
....

PI

LI

89

DADOS

PV

Figura 6.4: Formato geral de um SPDU (para compatibilidade com o protocolo ITU-T para
teletexto).
5. Como funciona o mecanismo de sincronizac~ao da camada de sess~ao?
6. Quais as vantangens de se organizar o dialogo em atividades?
7. Quais as operac~oes de gerenciamento de atividades?
8. Faca um diagrama temporal mostrando uma re-sincronizaca~o do dialogo. Idem para o
incio, suspens~ao, retomada e termino de uma atividade.
9. Cite as primitivas OSI de sess~ao.
10. Descreva os campos de uma SPDU do protocolo OSI de sess~ao.

Cap
tulo 7
~
A CAMADA DE APRESENTAC
 AO
A camada de apresentac~ao e empregada para alterar a representac~ao de dados transmitidos
via rede para ns de:
1. compatibilizar a comunicac~ao;
2. seguranca e privacidade;
3. compactac~ao de dados.
O primeiro item diz respeito a representac~ao can^onica de dados: uma representac~ao
inteligvel por todos os hosts comunicantes independentemente de suas arquiteturas de
maquina. Os dois ultimos itens se relacionam com criptogra a e compress~ao de dados.
A camada de apresentac~ao e o local para se implementar tais func~oes. Criptogra a e compress~ao de dados s~ao topicos extensos e dependentes do contexto no qual a aplicac~ao esta
inserida. Estes topicos n~ao ser~ao cobertos neste texto.

7.1 Representac~ao Can^onica de Dados


Ate ent~ao nos referimos a dados sem nos preocupar com sua representaca~o. Infelizmente,
representar dados n~ao e tarefa trivial, posto que diferentes computadores adotam representaco~es diferentes para o mesmo dado. Por exemplo, a IBM de longa data emprega o
codigo EBCDIC em seus mainframes para representar texto. Os demais fabricantes empregam o codico ASCII. Outro problema e a sequ^encia de bits em uma palavra: alguns
computadores empregam o bit mais signi cativo a esquerda, enquanto outros a direita. Por
exemplo, numeros inteiros s~ao representados de maneira distinta nas arquiteturas Sparc e
Pentium. Como regra geral, a forma de representac~ao interna de dados adotada por computadores e fortemente in uenciada por suas arquiteturas de hardware.
Com o advento das redes heterog^eneas (interconectando hardware de diferentes arquiteturas), tornou-se necessario uma representaca~o can^onica de dados (ou sintaxe de tranfer^encia). A ideia e simples. Antes de transmitir um dado, o host converte de sua representac~ao interna para a representaca~o can^onica. Ao receb^e-lo, o host receptor converte
da representac~ao can^onica para sua representac~ao interna. Em outras palavras, os dados
90

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

91

que uem pela rede t^em uma representac~ao padronizada. Isto evita que hosts comunicantes
necessitem conhecer mutuamente a forma de representac~ao de dados por eles empregadas 1 .
No modelo OSI, a representac~ao can^onica de dados baseia-se em uma sintaxe denominada
ASN.1 (Abstract Syntax Notation, version 1).

7.2 A Sintaxe ASN.1


ASN.1 e uma linguagem formal de especi caca~o de tipos de dados padronizada pela ISO
(documento 8824). Uma segunda padronizac~ao, BER (Basic Encoding Rules), especi ca
como dados na sintaxe ASN.1 s~ao formatados em uma mensagem (por exemplo, um TPDU).
BER e tambem um padr~ao ISO (documento 8825).
Aplicac~oes de nem todas as estruturas de mensagens validas (tipos de PDUs) em ASN.1,
agrupando estas de nic~oes em um unico modulo: o dicionario de tipos. Ao transmitir um
PDU, a aplicac~ao passa a camada de apresentaca~o o tipo de PDU sendo transmitido e o
conteudo do seus campos. A camada de apresentaca~o consulta o dicionario de tipos em
busca da de nic~ao dos campos do PDU e, utilizando a norma BER, gera a mensagem a ser
transmitida. A gura 7.1 ilustra este processo.
<TIPO, VALORES>

<TIPO, VALORES>

APLICAO
PSAP

APRESENTAO

PSAP

tipo?
DICIONRIO
DE TIPOS

tipo?

BER

BER

ASN.1

ASN.1

DICIONRIO
DE TIPOS

TIPO CODIFICADO
TIPO CODIFICADO
SSAP

SESSO

SSAP

Figura 7.1: O servico OSI de apresentac~ao.


Quando a mensagem atingir a camada de apresentac~ao do receptor, e veri cado o tipo de
PDU. O dicionario de tipos e ent~ao consultado para se obter a estrutura do PDU recebido.
Com base sua na estrutura e, sabendo-se que a codi caca~o segue ASN.1/BER, o receptor
pode remontar o PDU segundo sua representac~ao propria de dados.
Como toda a linguagem formal, ASN.1 consiste em um conjunto de elementos basicos
(tokens) e regras de combinac~ao destes elementos. ASN.1 de ne quatro tipos de tokens:
1 Esta solu
ca~o e inviavel por tr^es raz~oes:

a quantidade de arquiteturas (e portanto representac~oes) distintas;


o aparecimento contnuo de novas arquiteturas; e a impossibilidade de difus~ao de mensagens em um formato
inteligvel por todos os hosts.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

92

palavras: sequ^encias de letras maiusculas ou minusculas, dgitos e hfem. O primeiro car-

actere deve ser uma letra. Palavras de nem tipos de dados, identi cadores e palavraschave.

numeros: formac~oes compostas apenas de dgitos.


strings: cadeia de caracteres to tipo





alfanumerico: qualquer conteudo delimitado por


hexadecimal: conteudo entre 0-9 e A-F delimitado por ' 'H
binario: 0 ou 1 delimitados por ' 'B

pontuac~ao: caracteres do tipo


. : = , { } < > - ' " |

7.2.1 Tipos Primitivos de Dados


ASN.1 de ne um conjunto de tipos primitivos de dados. Tipos mais complexos s~ao obtidos
atraves da agregaca~o dos tipos primitivos. Os tipos primitivos s~ao:

boolean: valores logicos (TRUE-FALSE);


integer: numeros inteiros;
real: numeros reais (mantissa, base, expoente);
bit string: sequ^encia ordenada de 0s e 1s;
octet string: sequ^encia ordenada de bytes (octetos);
any: tipo a ser especi cado;
null: tipo sem valor;
object descriptor: referencia algum objeto sem sintaxe formal (usado mais a ttulo de
comentario);

object identi er: de ne univocamente um objeto, por exemplo, um protocolo de transfer^encia de arquivos;

encripted: tipo criptografado.


Exemplos:

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

93

ChecksumInUse ::= BOOLEAN


checksum ChecksumInUse ::= FALSE
TimeToLive ::= INTEGER
time TimeToLive ::= 60
Status ::= INTEGER { up(1), down(2), testing(3) }
status Status = up
Option ::= INTEGER (0..5)
valor Option ::= 2
Timeout ::= REAL
timeout Timeout ::= {250, 10, -3}
Preamble ::= BITSTRING
preambulo Preamble ::= '01010101'B
IpAddress ::= OCTET STRING (SIZE (4))
ipaddr IpAddress ::= '8F6A3290'H
-- 143.106.50.144
ForFutureUse ::= ANY
NoLongerInUse ::= NULL
Ftam ::= OBJECT DESCRIPTOR
ftan Ftam ::= "File Transfer, Access and Management"
Ftam ::= OBJECT IDENTFIER
ftan Ftam ::= { iso standard 8571 }

7.2.2 Tipos Complexos (Construtores)


Tipos constutores s~ao formados a partir dos tipos primitivos descritos na sec~ao anterior. S~ao
eles:

sequence: lista ordenada de tipos primitivos arbitrarios;


sequence of: lista ordenada de tipos primitivos homog^eneos;
set: lista n~ao ordenada de tipos primitivos arbitrarios;
set of: lista n~ao ordenada de tipos primitivos homog^eneos;

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

94

choice: um conjunto de tipos dos quais apenas um deve ser considerado.


Exemplos:
PDUHeader ::= SEQUENCE { Length INTEGER,
Flags BITSTRING,
DestinationTSAP INTEGER,
SourceTSAP INTEGER }
ProtocolClassOption ::= CHOICE { class-0
class-1
class-2
class-3
class-4

7.2.3 Tipos Marcados

OCTETSTRING,
OCTETSTRING,
OCTETSTRING,
OCTETSTRING,
OCTETSTRING }

(Tagged)

Tipos marcados carregam uma informac~ao adicional para ns de eliminac~ao de ambiguidades.


Vimos pelos exemplos acima que tipos construtores s~ao estruturas compostas de multiplos
campos. Durante a transmiss~ao de um tipo construtor, o tipo tamanho e valor de cada um
de seus campos e codi cado segundo a norma BER. Um problema decorre da exist^encia de
campos opcionais. A palavra-chave OPTIONAL pode ser usada para identi car um campo
como opcional. Outra palavra-chave, DEFAULT, estabelece o valor que deve ser tomado
caso o campo (opcional) seja omitido. Por exemplo:
PDUHeader ::= SEQUENCE {
Length INTEGER,
Flags BITSTRING OPTIONAL DEFAULT '00000000'B,
DestinationTSAP INTEGER,
SourceTSAP INTEGER
}

Ao receber um PDU com o cabecalho dado pela sequ^encia acima, como o receptor reconhece se o campo opcional foi transmitido ? A soluc~ao e marcar explicitamente os componentes
da sequ^encia e transmitir a marca junto com o dado. Exemplo:
PDUHeader ::= SEQUENCE {
Length [0] INTEGER,
Flags [1] BITSTRING OPTIONAL DEFAULT '00000000'B,
DestinationTSAP [2] INTEGER,

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

95

SourceTSAP [3] INTEGER


}

Assim sendo, se o campo Flags for omitido, o receptor toma conhecimento pela aus^encia
da marca [1]. Com a transmiss~ao da marca, o tipo ca redundante pois pode ser acessado
pelo receptor na de nic~ao do tipo construtor. Esta redund^ancia pode ser mantida como uma
veri cac~ao adicional. Para elimina-la deve-se utilizar a palavra-chave IMPLICIT:
PDUHeader ::= SEQUENCE {
Length [0] IMPLICIT INTEGER,
Flags [1] IMPLICIT BITSTRING OPTIONAL DEFAULT '00000000'B,
DestinationTSAP [2] IMPLICIT INTEGER,
SourceTSAP [3] IMPLICIT INTEGER
}

Suponha agora que o protocolo possui varios tipos de PDUs (por exemplo, 9 para o TP4). Ao receber um PDU, como o receptor descobre de que tipo se trata ? Se o cabecalho do
exemplo anterior for, digamos, do terceiro tipo, podemos marcar n~ao apenas seus campos,
mas tambem sua estrutura como um todo:
PDUHeader ::= [APPLICATION 3] SEQUENCE {
Length [0] IMPLICIT INTEGER,
Flags [1] IMPLICIT BITSTRING OPTIONAL DEFAULT '00000000'B,
DestinationTSAP [2] IMPLICIT INTEGER,
SourceTSAP [3] IMPLICIT INTEGER
}

A palavra-chave APPLICATION denota um tipo construtor no dicionario de tipos da


aplicac~ao OSI. A marca, 3, indica se tratar da terceira de nica~o presente no dicionario. APPLICATION pode ser substituda por PRIVATE (aplicac~ao privada), CONTEXT-SPECIFIC
(interpretac~ao dependente do conexto) e UNIVERSAL (tipos primitivos do ASN.1).

7.2.4 Macros
Macro e um recurso utilizado em muitas linguagens de programac~ao para rede nir a sintaxe
da linguagem. ANS.1 permite a de nica~o de macros atraves da construc~ao
<<name-of-macro>> MACRO ::=
BEGIN

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

96

TYPE NOTATION ::= <<types>>


VALUE NOTATION ::= <<value>>
Productions
END

TYPE NOTATION contem os tipos (atributos) de nidos pela macro, enquanto VALUE
NOTATION determina o tipo do objeto que deve ser passado quando a macro e invocada.
Productions (produc~oes) s~ao similares a notaca~o BNF utilizada na descric~ao formal de linguagens de programac~ao e imp~oem regras para a construc~ao de atributos.
Macros ANS.1 s~ao utilizadas para a de nica~o de varias construco~es na area de ger^encia
de redes tais como de identi caca~o de modulos e tipos de objetos de ger^encia.

7.3 Sintaxe de Transfer^encia


Sintaxe de transfer^encia especi ca como um tipo ASN.1 e formatado em uma mensagem. A
norma BER fornece regras para esta formatac~ao. Dada a sua extens~ao, veremos apenas os
aspectos fundamentais do BER.
BER adota inteiramente o codigo ASCII para caracteres. As representac~oes adotam o bit
mais signi cativo a esquerda. Numeros s~ao representados pelos seus complementos de dois.
Tipos primitivos ou n~ao s~ao formatados em tr^es campos: a identi caca~o do tipo, o
tamanho do dado, e o valor propriamente dito. Caso o tipo n~ao seja primitivo, o valor
ira conter tambem outros tr^es campos (tipo, tamanho, valor), e assim sucessivamente ate
chegarmos unicamente a tipos primitivos.

7.3.1 Identi cac~ao do Tipo, Tamanho e Valor


O tipo e identi cado por um byte. Os primeiros dois bits informam a classe do tipo (UNIVERSAL, APPLICATION, CONTEXT-SPECIFIC e PRIVATE). O proximo bit denota se
o tipo e primitivo ou n~ao. Os cinco bits restantes identi cam o tipo na classe. Para a classe
UNIVERSAL, 1 denota BOOLEAN, 2 denota INTEGER, 3 denota BITSTRING, 4 denota
OCTETSTRING, e assim por diante.
Caso uma classe tenha mais que 30 tipos, ativa-se todos os 5 bits do tipo seguindo-se
tantos bytes quantos forem necessarios para abrigar o ndice maximo, todos comecando com
1 no primeiro bit (restando sete para o tipo), exceto o ultimo.
O tamanho do dado, se menor que 128 ocupa um unico byte, tendo o primeiro bit com
valor 0. Se maior que 128, o primeiro bit e feito 1 e os sete restantes estipulam quantos bytes
a seguir armazenam o valor. Um tamanho de conteudo nulo (todos os bits 0) indica que o
valor sera delimitado por dois bytes de conteudo nulo em cada extremo.
A codi cac~ao de valores varia com o tipo. Por exemplo, um OCTETSTRING de N bytes
e codi cado empregando-se um byte por caractere, segundo o codigo ASCII. Exemplos:

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

numero 100:

00000010 00000001 01100100

numero 32768:

00000010 00000010 01000000 00000000

string "A":

00000100 00000001 01100001

97

Como exemplo de tipos construtores, tomemos o caso de uma SEQUENCE. Neste caso, o
byte que descreve o tipo indica se tratar de uma sequ^encia, o byte tamanho indica o numero
de elementos da sequ^encia (N) e o byte valor da lugar a N triplas (tipo, tamanho, valor).
Por exemplo, uma sequ^encia composta do numero 100 e do string "A"e codi cada como:
Exemplo ::= [UNIVERSAL 7] SEQUENCE {
elem-1 [1] IMPLICIT INTEGER,
elem-2 [2] IMPLICIT OCTETSTRING }

Para valores <100, "A">, a sequ^encia acima e codi cada como:


01100111 00000001 00000010
00000001 01100001 01100100
00000010 01100001 01100001

<<<-

[UNIVERSAL 7] 2
[1] 100
[2] "A"

7.4 Primitivas OSI de Apresentac~ao


As primitivas OSI para a camada de apresentac~ao s~ao as mesmas, exceto uma, da camada
de sess~ao 2 (ver gura 6.1). Simplesmente tais primitivas \curto-circuitam" a camada de
apresentac~ao, permitindo a camada de aplicaca~o o acesso as funco~es da camada de sess~ao.
Tais primitivas existem para manter o conceito de camadas.
Uma nova primitiva S-ALTER-CONTEXT prov^e um mecanismo de mudanca de contexto, isto e, passar de uma atividade de sess~ao para outra sem suspender a primeira. Esta
primitiva e um servico com con rmac~ao.

7.5 Problemas
1. Quais as func~oes da camada de apresentac~ao?
2. Especi que os NPDUs do X.25/camada 3 em ASN.1.
2 Come
cando

com P- ao inves de S-

Cap
tulo 8
~
A CAMADA DE APLICAC
 AO

8.1 Funcionalidades da Camada de Aplicac~ao


A camada de aplicac~ao do modelo OSI de ne protocolos (e entidades que os implementam) utilizados por aplicativos denominados APs (Application Processes ou Processos de
Aplicac~ao). Por exemplo, um AP que implementa um servico de mensagens (via caixa
postal, por exemplo) quando operando em um ambiente OSI utilizaria o protocolo MHS
(Message Handling System) de nido na camada de aplicac~ao.
A camada de aplicac~ao tem por nalidade prover os seguintes servicos aos APs que dela
se utilizam:

identi car elementos remotos de aplicaca~o, veri cando sua disponibilidades (servidores,
por exemplo);







negociar com estes elementos uma qualidade de servico apropriada;


negociar contextos de apresentac~ao para troca de informaca~o;
negociar servicos de sess~ao;
transportar dados entre aplicativos;
autenticar as entidades comunicantes.

Alguns exemplos de servicos providos pela camada de aplicac~ao s~ao listados abaixo:







servico de acesso e transfer^encia de arquivos;


servico de troca de mensagens;
servico de diretorio;
servico de manipulac~ao de tarefas (jobs) remotas;
servico de controle de concorr^encia e recuperac~ao;
98

DCA-FEEC-UNICAMP




Redes de Computadores: Modelo OSI

99

servico de terminal remoto;


etc.

Para o provimento destes servicos a camada de aplicac~ao possui uma estruturac~ao relativamente complexa quando comparada as demais camadas do modelo OSI. Esta estruturac~ao
e sintetizada na sequ^encia.

8.2 Estruturac~ao da Camada de Aplicac~ao


A camada de aplicaca~o agrega entidades de aplicaca~o responsaveis pelo provimento de
servicos aos APs. Estes servicos podem ser de proposito geral ou espec co. Os servicos
de proposito geral s~ao providos por entidades denominadas CASE (Common Application
Service Elements), enquanto os de proposito espec cos s~ao providos pelas entidades SASE
(Speci c Application Service Elements). Em linhas gerais, APs usam servicos oferecidos por
SASEs que por sua vez usam servicos oferecidos pelos CASEs conforme ilustrado na gura
8.1.
USURIO

PROCESSO DE
APLICAO (AP)

PROCESSO DE
APLICAO (AP)

...

USER ELEMENT
(UE)

USER ELEMENT
(UE)
AMBIENTE "REAL"
AMBIENTE OSI

SPECIFIC APPLICATION SERVICE ELEMENTS (SASEs)

FTAM

MHS

...

DS
CAMADA DE APLICAO

COMMON APPLICATION SERVICE ELEMENTS (CASEs)

ACSE

ROSE

PSAP

PSAP

...

CCR

PSAP
CAMADA DE APRESENTAO

Figura 8.1: Os componentes da camada de aplicac~ao do modelo OSI.


Um conceito importante na camada de aplicaca~o e o conceito de associac~ao. As demais
camadas do modelo OSI oferecem a abstrac~ao de conex~ao (primitivas tipo CONNECT) como

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

100

o meio interaca~o entre duas entidades da camada N+1 via servicos oferecidos pela camada
N. O que ocorre se N = 7, ou, em outas palavras, quem utilizaria as conex~oes da camada de
aplicac~ao?
Este problema foi resolvido atraves das regras abaixo:
1. a camada de aplicac~ao de ne associaca~o (n~ao conex~ao) como forma de provimento de
servicos aos APs;
2. cada associaca~o de aplicac~ao utiliza uma unica conex~ao de apresentac~ao (isto e, uma
associaca~o pode ser vista como uma extens~ao de uma conex~ao de apresentac~ao).
Um CASE denominado ACSE (Association Control Service Element) oferece o servico
de estabelecimento de associac~ao para as demais entidades da camada de aplicaca~o.
Atualmente, a tend^encia e evitar a distinc~ao entre CASE e SASE e denominar estas
entidades simplesmente de ASE (Application Service Element). Uma quent~ao crucial e: como
combinar ASEs para implementar um servico complexo? Esta quest~ao esta vinculada com
o conceito de associac~ao. Intuitivamente, um ASE proveria uma associaca~o atraves de uma
conex~ao de apresentaca~o agregando valor a conex~ao oferecida pela camada inferior1. Este
modelo apresenta alguns problemas quando ASEs s~ao combinados. O principal problema
refere-se a complexidade da coordenaca~o de multiplas associac~oes (cada qual utilizando uma
unica conex~ao de apresentaca~o). O que ocorre, por exemplo, se uma das associaco~es e
encerrada pelo provedor?; ou, como gerenciar o dialogo a nvel de aplicac~ao se diferentes
associaco~es utilizam diferentes servicos de sess~ao2 ?
A proposta da ISO para esta quest~ao e a de nica~o de um componente agregador denominado ASO (Application Service Object). Um ASO e um objeto provedor de servico que
agrega:





Elementos de Servico de Aplicac~ao (ASE);


Outros ASOs;
Uma unica Func~ao de Controle (CF: Control Function) que especi ca como os componentes de um ASO s~ao agregados.

Um ASO estabelece uma unica associac~ao eliminando, portanto, o problema de gerenciamento de multiplas associac~oes (uma por ASE). Obviamente, caso um ASO agregue outros
ASOs multimas associac~oes emanar~ao deste, mas as demais associac~oes s~ao encapsuladas
pelos ASOs agregados.
Entidades de aplicac~ao agora s~ao de nidas em termos de ASOs, n~ao mais em termos de
ASEs. Em linhas gerais, neste modelo os ASEs de nem mensagems (APDUs), enquanto os
ASOs (via CF) determinam a din^amica da interaca~o atraves destas mensagens.
A gura 8.2 ilustra esta nova concepca~o da camada de aplicac~ao. Infelizmente, esta
concepc~ao foi elaborada apos muitos ASEs ja terem sido padronizados. Esta padronizaca~o
n~ao levou em conta a possibilidade destes ASEs serem agregados em torno de um ASO. A

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

101

USURIO

PROCESSO DE
APLICAO (AP)
USER ELEMENT
(UE)

ASO

ASE

ASE

ASE

CF

ASO

ASO

PSAP

ASO

PSAP

CONEXO DE APRESENTAO

Figura 8.2: Camada de aplicac~ao baseada em ASOs.


reformulac~ao destes padr~oes para adequarem os ASEs a nova estruturaca~o da camada de
aplicac~ao e um processo incerto.
A seguir apresentaremos alguns elementos de servico da camada de aplicac~ao.

8.3 Servico de Associac~ao (ACSE)


Conforme mensionado anteriormente, o elemento de aplicac~ao responsavel pelo estabelecimento de associac~ao e o ACSE. O ACSE utiliza uma conex~ao de apresentac~ao para cada
associaca~o que estabelece. Um dado interessante e que apos estabelecida a associac~ao, a
entidade que a requisitou passa a utilizar diretamente a conex~ao de apresentac~ao aberta
para esta associac~ao para a troca de dados. Entretanto, o encerramento da associaca~o se da
atraves do ACSE.
Alem dos par^ametros requeridos pela primitiva P-CONNECT, o estabelecimento de uma
associaca~o necessita:


1 As

identi cadores das entidades de aplicaca~o envolvidas na associaca~o (iniciadora e respondedora);


demais camadas operam segundo este princpio.
exemplo, uma utiliza tokens para gerenciar o dialogo e a outra n~ao.

2 Por

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

102

um contexto de aplicac~ao: um identi cador de objeto em ASN.1 utilizado para identi car as regras de interc^ambio de informac~ao atraves da associaca~o (por exemplo,
protocolo de aplicaca~o);




dados supridos pela entidade usuaria (n~ao interpretados pelo ACSE).


um contexto de autenticaca~o: um identi cador de objeto em ASN.1 utilizado para
identi car as regras de autenticaca~o (por exemplo, chaves criptogra cas).

Os servicos providos pelo ACSE s~ao acessados atraves das primitivas abaixo:
1. A-ASSOCIATE: estabelece uma associaca~o utilizando a primitiva P-CONNECT da
camada de apresentaca~o. Este servico e con rmado.
2. A-RELEASE: termina uma associac~ao utilizando a primitiva P-RELEASE de apresentaca~o. Este servico e con rmado.
3. A-ABORT: termina abruptamente (aborta) uma associac~ao por solicitaca~o da entidade usuaria utilizando a primitiva P-U-ABORT de apresentaca~o. Este servico e sem
con rmac~ao.
4. A-P-ABORT: informa o termino abrupto de uma associaca~o pelo provedor do servico.
Esta primitiva e ativada quando da ocorr^encia de um P-P-ABORT na camada de
apresentaca~o e possui o modo indicaca~o apenas.
5. A-UNITDATA: transfere uma unidade de dados de aplicaca~o sem o estabelecimento
de associac~ao. Este servico e sem con rmaca~o e utiliza a primitiva P-UNITDATA de
apresentaca~o.
Note a inexist^encia da primitiva A-DATA para envio de dados atraves de uma associac~ao.
A primitiva P-DATA e empregada para esta nalidade.
Um ponto importante do ACSE e como entidades de aplicac~ao s~ao identi cadas. A
identi caca~o AEs se da atraves de nomes que o ACSE mapeia em enderecos de apresentac~ao
(PSAPs) utilizando o proprio servico de diretorio da camada de aplicaca~o.

8.4 Servico de Operac~oes Remotas (ROSE)


ROSE (Remote Operations Service Element) e um ASE que intermedia a submiss~ao remota
de operaco~es. Exemplo de tais operac~oes s~ao: armazenamento de mensagens e submiss~ao de
tarefas (jobs) remotas.
O ROSE fornece um servico similar a uma chamada de procedimento remoto (RPC:
Remote Procedure Call), sendo que este servico pode ter natureza sncrona ou assncrona.
No modo sncrono a entidade solicitante permanece bloqueada ate a entidade executora
retornar o resultado da operac~ao. No modo assncrono, a entidade solicitante pode evocar
multiplas operac~oes e so ent~ao coletar os respectivos resultados. Sob esta otica, as operac~oes
remotas s~ao agrupadas em cinco classes:

DCA-FEEC-UNICAMP







Redes de Computadores: Modelo OSI

103

classe 1: operac~ao sncrona que retorna indicativo de sucesso ou falha;


classe 2: operac~ao assncrona que retorna indicativo de sucesso ou falha;
classe 3: operac~ao assncrona que retorna somente indicativo de falha;
classe 4: operac~ao assncrona que retorna somente indicativo de sucesso;
classe 5: operac~ao assncrona que n~ao retorna qualquer indicativo.

O ROSE utiliza associac~oes para a comunicaca~o entre entidades remotas3 . Uma associac~ao aberta para suporte a operacoes remotas de ne atraves de sua classe qual entidade
esta autorizada a evocar procedimentos remotos:





classe 1: permite apenas a entidade que solicitou a associaca~o evocar operaco~es remotas;
classe 2: permite apenas a entidade que aceitou a associaca~o evocar operac~oes remotas;
classe 3: permite ambas as entidades evocarem operac~oes remotas.

O ROSE prov^e seus servicos atraves de cinco primitivas:


1. RO-INVOKE: solicita a execuc~ao de uma operac~ao remota;
2. RO-RESULT: retorna o resultado da operaca~o remota;
3. RO-ERROR: reporta um erro na execuca~o de uma operaca~o remota;
4. RO-REJECT-U: rejeita uma solicitaca~o ou retorno se a entidade usuaria detectar um
erro (por exemplo, operac~ao inexistente ou falha de autenticac~ao);
5. RO-REJECT-P: rejeita uma solicitaca~o ou retorno se o provedor de servico detectar
um erro.
Todos os servicos s~ao sem con rmac~ao (RO-REJECT-P possui o modo indicac~ao apenas).
O ROSE de ne quatro classes de de PDUs, um para cada tipo de primitiva. Argumentos,
resultados e erros das operac~oes s~ao especi cados em ASN.1.
O ROSE prov^e ainda o conceito de operaco~es ligadas (linked). Neste mecanismo um
argumento de uma operac~ao identi ca outra operaca~o dirigida para o propria entidade solicitante. Um dos objetivos e evitar a passagem de argumentos volumosos (matrizes, por
exemplo) atraves da execuc~ao de operac~oes no local onde os argumentos est~ao armazenados
(emulando a passagem de argumentos por refer^encia). A gura 8.3 ilustra este exemplo.
3 Propostas recentes permitem

A-UNITDATA.

operac~oes remotas sem o estabelecimento de associac~ao atraves da primitiva

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI


ROSE #1

OPERAO B
(ligada A)

104

ROSE #2

OPERAO A

TEMPO

TEMPO

Figura 8.3: Operac~oes ligadas no ROSE.

8.5 Servico de Transfer^encia Con avel (RTSE)


RTSE (Reliable Transfer Service Element) e um ASE que prov^e a transfer^encia con avel
de dados entre duas entidades de aplicac~ao. Por con avel subentende-se a capacidade de
recuperac~ao de erros (quebras de conex~oes, panes de hardware, etc.).
O RTSE fornece uma interface mais simples que a interface da camada de sess~ao, alem
de \esconder" a exist^encia do ACSE. Por exemplo, o RTSE insere automaticamente pontos
de sincronismo no uxo de dados sendo transferido, alem de gerenciar a atividade de sess~ao
aberta para a transfer^encia. O RTSE e utilizado, por exemplo, nas implementaco~es MHS
(Message Handling System) para transfer^encia con avel de mensagens entre comutadores
(relays).
O RTSE emprega transfer^encia alternada nos dois sentidos (TWA: Two Way Alternate),
com mecanismo de token para gerenciamento do sentido da comunicaca~o.
Para cada PDU submetido para transfer^encia, o RTSE abre uma nova atividade no
nvel de sess~ao. O PDU e ent~ao segmentado em blocos, sendo a transfer^encia de cada bloco
precedida por um ponto de sincronismo menor. Quando todos os blocos tiverem sua recepc~ao
con rmada o RTSE con rma a entidade usuaria a entrega do PDU e encerra a atividade.
Caso um bloco n~ao tenha sido con rmado, o RTSE solicita ao outro extremo uma retroaca~o
ao ponto de sincronismo inserido anteriormente a este bloco.
Um ponto importante do RTSE e que este assume que os dados sendo transferido s~ao constitudos de string de bytes, isto e, o tipo ASN.1 OCTET STRING. A raz~ao desta imposica~o
e facilitar a inserc~ao automatica de pontos de sincronismo menor para ns de retroaca~o ante

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

105

a ocorr^encia de falhas. Isto sem duvida consiste em uma limitac~ao severa posto que as entidades usuarias do RTSE certamente desejariam transferir dados bem mais estruturados.
Para contornar esta limitac~ao, a especi cac~ao RTSE de ne um servico de compatibilizaca~o
sintatica4 . Este servico permite que as entidades usuarias de nam implementac~oes locais
que transformam os tipos de dados peculiares da entidade em string de octetos. Regras para
esta transformaca~o esta fora da especi caca~o do RTSE.
O RTSE disp~oe de sete primitivas:






RT-OPEN: solicita o estabelecimento de uma associac~ao. E um servico con rmado.


RT-TURN-GIVE: passa o token a outra entidade, habilitando-a a transferir dados. E
um servico n~ao con rmado.




RT-U-ABORT: termina abruptamente uma associac~ao. E um servico n~ao con rmado.

 um servico con rmado.


RT-CLOSE: solicita o encerramento de uma associaca~o. E
RT-TRANSFER: transfere dados. E um servico con rmado.
 um
RT-TURN-PLEASE: solicita a outra entidade habilitac~ao para transferir dados. E
servico n~ao con rmado.

RT-P-ABORT: o provedor sinaliza a impossibilidade de manter a associac~ao. Possui o


modo indicac~ao apenas.

8.6 Servico de Controle de Concorr^encia e Recuperac~ao


(CCR)
CCR (Commitment, Concurrency and Recovery) e um servico de suporte a transac~oes
at^omicas. Uma transaca~o at^omica e um conjunto de operac~oes (tipicamente sobre uma
massa de dados) cuja execuc~ao deve satisfazer a tr^es propriedades:
1. atomicidade: ou todas as operac~oes se completam com sucesso, ou tudo que a transaca~o
produziu e desfeito;
2. serializac~ao: as operac~oes pertencentes a transac~oes at^omicas distintas n~ao se entrelacam;
3. persist^encia: quando uma transaca~o at^omica termina com sucesso, o resultado de suas
operac~oes n~ao se perde ante a falhas n~ao catastro cas tais como queda de hosts e rede.
Transac~oes at^omicas t^em por nalidade manter consistente o estado de determinados
objetos (massas de dados, programas, etc) quando manipulados por operaco~es sujeitas a
falhas.
4 Syntax

Matching Service.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

106

Uma transaca~o at^omica opera sobre objetos localizados em um ou mais hosts. No ultimo
caso, um host e eleito como coordenador da transac~ao (geralmente o host da aplicac~ao que
solicitou a transaca~o) sendo os demais participantes. Tanto o coordenador quanto os participantes s~ao responsaveis pela garantia das tr^es propriedades acima. Um instante crtico para
esta garantia e o encerramento da transac~ao. Um protocolo de consenso se faz necessario e
o mais utilizado e o protocolo de compromissamento em duas fases5 .
A implementac~ao de transac~oes at^omicas n~ao e tarefa trivial. Mecanismos de recuperac~ao
(rollback) s~ao necessarios para a garantia da atomicidade; de bloqueio (locking) para garantir
a serializaca~o; e de logging para a garantia da persist^encia.
O CCR n~ao oferece tais mecanismos, posto que s~ao fortemente dependentes da aplicaca~o.
Em resumo, o CCR prov^e primitivas para iniciar, abortar e terminar uma transac~ao segundo
o protocolo de compromissamento em duas fases.
As primitivas CCR s~ao:

C-BEGIN: o coordenador informa aos participantes o incio de uma transaca~o at^omica


(sem con rmaca~o);

C-PREPARE: o coordenador solicita aos participantes o encerramento da transaca~o


(sem con rmaca~o);

C-READY: o participante responde o coordenador que esta pronto para encerrar a


transac~ao (sem con rmaca~o). Neste momento, todas as operac~oes efetuadas pela
transac~ao s~ao feitas permanentes (gravadas em disco).

C-REFUSE: o participante responde o coordenador que esta impossibilitado de encerrar a transac~ao com sucesso 6 (sem con rmaca~o);

C-COMMIT: o coordenador informa aos participantes que a transaca~o pode se encerrar


com sucesso (caso todos os participantes tenham respondido C-READY). Este servico
e con rmado;

C-ROLLBACK: o coordenador informa aos participantes que a transaca~o deve ser


abortada (caso pelo menos um participante respondeu C-REFUSE). Coordenador e
participantes desfazem todas as operaco~es efetuadas pela transac~ao. Este servico e
con rmado;

C-RESTART: reinicia, se possvel, uma transaca~o a partir de um ponto especi cado.


Este servico e con rmado.

Note a inexist^encia de uma primitiva tipo C-DATA. Tal qual o RTSE, o CCR utiliza os
servicos da camada de apresentaca~o para transfer^encia de dados. O CCR fornece apenas
os mecanismos de controle para o processamento de transac~oes. As operac~oes realizadas no
^ambito de uma transac~ao est~ao fora da especi caca~o CCR. Estas podem se basear no ROSE
ou simplesmente utilizar a primitiva P-DATA de apresentaca~o para o envio de informac~ao.
5 Two-fase commit.
6 Provavelmente porque

permanentes.

alguma de suas operac~oes falhou, ou esta impossibilitado de tornar as operac~oes

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

107

Do ponto de vista da implementac~ao, uma transaca~o e delimitada por pontos de sincronismo maior. As primitivas C-REFUSE, C-ROLLBACK e C-RESTART emitem um PRESYNCHRONIZE a m de retroagir (via facilidades de logging) ao ponto de sincronismo
inserido no incio da transaca~o.
Uma especi cac~ao correlata denominada TP (Transaction Processing) incorpora todas
as primitivas do CCR, de nindo inclusive uma primitiva TP-DATA.

8.7 Servico de Troca de Mensagens (MHS)


MHS (Message Handling System) e um servico de manipulaca~o7 de mensagens. Este servico
e conhecido como X.400 por ter se originado na CCITT e publicado com esta identi cac~ao.
MHS se destina tanto ao suporte de sistemas de mensagens inter-pessoal (correio eletr^onico)
quanto documentos comerciais (EDI: Electronic Data Exchange). O MHS n~ao se restringe
a caracteres ASCII. Mensagens compostas de textos, imagens, gra cos, etc., podem ser manipuladas pelo MHS.
O modelo MHS consiste de varios elementos funcionais, descritos a seguir. Um Agente do
Usuario (UA: User Agent) pode ser visto como um aplicativo que interage com o usuario. Por
usuario subentende-se uma pessoa ou um programa que faz uso do MHS. O UA e encarregado
de preparar, enviar e receber mensagens.
O envio de mensagens se da atraves de Agentes de Transfer^encia de Mensagens (MTA:
Message Transfer Agent). MTAs s~ao comutadores de mensagens, isto e, armazenam temporariamente e enviam a outro MTA (poltica \Armazena e Envia") ate ser entregue ao UA
servindo o destinatario. Note que n~ao e aberta conex~ao direta entre o originador e o destinatario da mensagem; ao contrario, a mensagem e \chaveada" entre MTAs analogamente a
comutac~ao de pacotes. MTAs cooperam segundo um protocolo denominado P1 e utilizam
o RTSE para a transfer^encia con avel da mensagem entre MTAs. Acesso aos MTAs se da
atraves de um protocolo denominado P3.
MS (Message Store) e um elemento funcional que atua entre o UA e o MTS. Sua funca~o
e armazenar temporariamente a mensagem ate ser entregue ao MTS (no caso de envio) ou
ao UA (no caso de recepca~o). Operac~oes de armazenamento e recuperaca~o nos MSs s~ao executadas segundo um protocolo denominado P7. Tais operaco~es s~ao executadas remotamente
nos MSs atraves dos servicos providos pelo ROSE.
MTS (Message Transfer System) e uma colec~ao de MTAs que atuam cooperativamente
 analogo a uma rede de comutac~ao de pacotes (onde os
no roteamento de mensagens. E
MTAs seriam os roteadores).
A gura 8.4 ilustra a interligac~ao dos elementos funcionais descritos acima.
Uma mensagem X.400 e composta de um envelope e um conteudo conforme ilustrado na
gura 8.5.
O enderecamento X.400 e utilizado tanto para identi car originador e destinatario(s)
quanto para rotear as mensagens. Um endereco X.400 e composto dos seguintes campos:

Nome de Pas: codigo de 2 (ISO 3166) ou 3 (CCITT X.121) caracteres indicando o


pas do usuario (Ex: BR);

7 Endere
camento,

armazenamento, envio, noti cac~ao, etc.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

USURIO

108

USURIO

MHS
MS
UA

P3

P7

P3

UA

MTA

MTA

P1

P1
P1

MTS

MTA
P1
P3

MTA

UA

UA
P7

P3

P3

UA

MS
USURIO

USURIO
USURIO

Legenda:
MTA: Message Tranfer Agent
MS: Message Store
UA: User Agent
MTS: Message Transfer System
MHS: Message Handling System

Figura 8.4: Elementos funcionais do MHS.

Nome ADMD (Administrative Management Domain): especi ca a organizaca~o provedora do servico ao qual o usuario esta conectado (Ex: Embratel);

Nome PDMD (Private Management Domain): eventual corporac~ao que intermedia o


oferecimento do servico (ex: um provedor de acesso);







Nome da Organizac~ao a qual o usuario pertence;


Nome da Unidade Organizacional a qual o usuario pertence;
Nome Pessoal do usuario;
Atributos proprios do domnio;
Endereco X.121 do terminal do usuario.

Nem todos os atributos acima podem estar presentes no envelope de uma mensagem. Por
exemplo, o endereco do terminal pode suprimir o nome da organizaca~o e usuario.
Quanto a seguranca e privacidade, o protocolo X.400 cobre tr^es areas:
1. con dencialidade: garante que apenas o destinatario tera acesso ao conteudo da mensagem;

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

109

EMISSOR:
DESTINATARIO:
INFO. SOBRE ROTEAMENTO:
INFO. SOBRE CONTEDO:
....

ENVELOPE
TIPO:
CODIFICAO:

CONTEDO

Figura 8.5: Estrutura de mensagens no MHS.


2. autenticac~ao: garante a identidade do originador8;
3. provas de submiss~ao e entrega: noti caco~es que comprovam o envio/recepca~o.

8.8 Servico de Diretorio (DS)


DS (Directory Service) e um servico de base de dados global (DIB: Directory Information
Base). Esta base de dados forma um \diretorio eletr^onico" que armazena objetos tais como
pessoas, enderecos, senhas, organizac~oes, etc. Este servico e parte das recomendac~oes da
serie X.500 da ex-CCITT.
Cada objeto do diretorio possui um ou mais nomes distintos que servem como chave de
acesso para este objeto. Nomes distintos s~ao colec~oes ordenadas de atributos tais como:







cn: common name (nome usual);


ou: organizational unit (unidade organizacional);
o: organizaca~o;
st: state (estado);
c: country (pas).

Um objeto e uma sequ^encia de atributos especi cado em ASN.1 onde cada atributo possui
um identi cador de objeto que descreve o tipo de atributo e o(s) correspondente(s) valor(es).
Tipos usualmente s~ao PrintableString em ASN.1 o que possibilita uma interpretaca~o livre de
arquitetura de maquina. A gura 8.6 ilustra um objeto generico.
8 Isto

e, impede que uma mensagem seja enviada em nome de outrem.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

ATRIBUTO

TIPO

ATRIBUTO

VALOR

110

ATRIBUTO

VALOR

VALOR

Figura 8.6: Modelo de objeto para o Servico de Diretorio.


Objetos s~ao agrupados em classes, sendo algumas classes padronizadas pela recomendaca~o
X.520. O diretorio em si e estruturado na DIB na forma de arvore (denominada DIT:
Directory Information Tree) conforme ilustrado na gura 8.7.
RAIZ

c: FR

c: BR

o: USP

o: UNICAMP

ou: FEM

ou: FEEC

ou: DCA

ou: DEB

ou: ELERI CARDOZO

Figura 8.7: DIT (Directory Information Tree).


Do ponto de vista funcional, o DS e composto que quatro componentes. O primeiro,
DSA (Directory Service Agent) armazena uma parte do diretorio distribudo. O segundo
componente, DUA (Directory User Agent) intermedia o acesso ao diretorio por parte de
um usuario. O terceiro componente, DAP (Directory Access Protocol) viabiliza a interaca~o
DUA-DSA; sendo o quarto componente, DSP (Directory Service Protocol) um protocolo de
interaca~o DSA-DSA. DAP e DSP s~ao de nidos como operaco~es ROSE. Este modelo funcional
e ilustrado na gura 8.8.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

111

USURIO

DSA

DSP

DAP

DUA

DSP

DSA

DSP
DAP

DSA

DUA
Legenda:
DSA: Directory Service Agent
DUA: Directory User Agent
USURIO

DSP: Directory Service Protocol


DAP: Directory Access Protocol

Figura 8.8: Modelo funcional do Servico de Diretorio (DS)


O DAP e um protocolo tipo requisic~ao-resposta. A requisic~ao carrega tipicamente um
nome distinto de um objeto e a resposta o conteudo deste objeto. Caso o objeto n~ao esteja
armazenado no DSA, este pode:
1. retornar o endereco de apresentac~ao de outro DSA \mais proximo" da informaca~o
requisitada;
2. encadear a solicitac~ao para outro DSA;
3. difundir a solicitac~ao para um conjunto de DSAs, repassando uma eventual resposta
ao DUA que solicitou a informac~ao.

8.9 Servico de Transfer^encia de Arquivos (FTAM)


FTAM (File Transfer, Access and Management) e um ASE que prov^e funcionalidades para
acesso, transfer^encia e ger^encia de arquivos remotos, diretorios e links simbolicos9. O FTAM
de ne um sistema de arquivos \virtual", independente do sistema de arquivos \real" da
maquina. As operac~oes FTAM s~ao de nidas sobre o primeiro e mapeadas no segundo de
acordo com a implementac~ao ( gura 8.9).
O FTAM utiliza o ACSE para o estabelecimento de uma sess~ao de operac~ao sobre arquivos
remotos e o CCR para agrupar em uma mesma sess~ao uma sequ^encia de operac~oes.
9 Diret
orios

e links simbolicos foram incorporados como adendos a especi cac~ao em 1990.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

112

USURIO

PROCESSO DE
APLICAO (AP)

FTAM
Protocolo FTAM

FTAM

SAV

Legenda:
SAV: Sistema de Arquivo Virtual
SA: Sistema de Arquivo

SA

Figura 8.9: FTAM: Sistema de Arquivos Virtual.


Um arquivo e composto de zero ou mais unidades de dados (DU: Data Units). As DUs
s~ao organizadas em uma estrutura hierarquica (arvore) que determina a inter-relaca~o entre as
DUs. Esta estrutura e denominada FADU (File Access Data Unit). Caso o arquivo possua
apenas uma FADU, o mesmo e denominado n~ao-estruturado; se a hierarquia de FADUs
possuir apenas 2 nves, o arquivo e dito sequencial; com mais de 2 nveis, tem-se um arquivo
estruturado em blocos. A gura 8.10 ilustra estas tr^es possibilidades.
O FTAM de ne nove tipos de arquivos, desde arquivos de texto n~ao estruturados ate
arquivos especiais para aplicaco~es gra cas.
O FTAM possui 25 primitivas. Seis primitivas s~ao de nidas para abertura/fechamento
de sess~ao:
1. F-INITIALIZE: inicia uma sess~ao FTAM (servico con rmado);
2. F-TERMINATE: encerra uma sess~ao FTAM (servico con rmado);
3. F-U-ABORT: interrompe (aborta) uma sess~ao FTAM (servico n~ao con rmado);
4. F-P-ABORT: o provedor de servico interrompe (aborta) uma sess~ao FTAM (primitiva
tipo indicaca~o apenas);
5. F-SELECT: seleciona um arquivo para operaca~o (servico con rmado);
6. F-DESELECT: desfaz uma selec~ao (servico con rmado).
Quatro primitivas s~ao de nidas para gerenciamento de arquivos (todas as primitivas s~ao
servicos con rmados):

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

113

DU
(A)

DU

DU

DU

(B)

DU

DU

DU

DU

(C)
Legenda:
DU: Data Unit

Figura 8.10: FTAM: Arquivos n~ao estruturado (A); sequencial (B); estruturado em blocos
(C). As linhas pontilhadas do item (C) de nem FADUs.
1. F-CREATE: cria um novo arquivo;
2. F-DELETE: remove um arquivo.
3. F-READ-ATTRIB: l^e os atributos do arquivo (permiss~oes, tipo, etc.);
4. F-CHANGE-ATTRIB: altera os atributos do arquivo.
Seis primitivas s~ao utilizadas para gerenciamento de falhas e atomicidade (todas as primitivas s~ao servicos con rmados):
1. F-BEGIN-GROUP: marca o incio de uma operaca~o at^omica;
2. F-END-GROUP: sinaliza o termino de uma operac~ao at^omica;
3. F-RECOVER: restabelece um regime de transfer^encia apos a ocorr^encia de falha;
4. F-CANCEL: termina abruptamente uma transfer^encia de arquivo;
5. F-CHECK: estabelece um checkpoint no regime de transfer^encia10 ;
10 O

FTAM n~ao utiliza pontos de sincronizac~ao para este servico.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

114

6. F-RESTART: retorna a um checkpoint anterior.


Finalmente, nove primitivas oferecem o servico de transfer^encia propriamente dito:
1. F-OPEN: abre um arquivo para leitura/escrita (servico con rmado);
2. F-CLOSE: fecha um arquivo aberto (servico con rmado);
3. F-LOCATE: posiciona o ponteiro de transfer^encia em uma FADU espec ca (servico
con rmado);
4. F-ERASE: destroi uma FADU (servico con rmado);
5. F-READ: l^e uma ou mais FADUs (servico sem con rmaca~o);
6. F-WRITE: escreve em uma ou mais FADUs (servico sem con rmaca~o);
7. F-DATA: sinaliza a entidade respondedora a presenca de dados (primitiva tipo indicac~ao apenas);
8. F-DATA-END: sinaliza a entidade respondedora o termino de trasfer^encia de uma
FADU (primitiva tipo indicac~ao apenas);
9. F-TRANFER-END: encerra o regime de transfer^encia (servico con rmado).
A gura 8.11 ilustra um diagrama de estados tpico de operac~ao do FTAM.
abort

IDLE

initialize

terminate

conectado

select/create

deselect/delete

selecionado

open

close

transferindo
dados
read

data/check/restart

read

read attribute
change attribute

transfer end
cancel

locate/erase
write

write

data/check/restart

Figura 8.11: FTAM: diagrama de estados tpico.

DCA-FEEC-UNICAMP

Redes de Computadores: Modelo OSI

115

8.10 Terminal Virtual (VT)


VT (Virtual Terminal) e um ASE que de ne terminais virtuais utilizados para interac~ao via
rede com aplicac~oes remotas. A necessidade de tal servico esta relacionada a vasta gama
de terminais existentes no mercado. Ao inves de incorporar as particularidades de cada
terminal, uma aplicac~ao opera sobre este terminal virtual e uma outra entidade mapeia
este dispositivo virtual em um dispositivo real. A ideia e similar ao conceito de sistema de
arquivos virtual ( gura 8.9) do FTAM.
A ISO de ne varias classes de terminais de acordo com a complexidade dos objetos que o
terminal e capaz de manipular. Atualmente, apenas a classe referente aos terminais baseados
em caractere esta padronizada no ^ambito do VT.
O VT e um ASE similar aos descritos anteriormente: utiliza o ACSE e uma conex~ao de
apresentac~ao para o estabelecimento de associac~ao e transporte de PDUs, respectivamente.
O VT utiliza tambem os servicos de sess~ao para organizac~ao do dialogo (via token) caso as
entidades estabelecam comunicac~ao alternada nos dois sentidos (TWA).
O protocolo VT prev^e:
1. estabelecimento de associac~ao entre as entidades VT11 ;
2. termino normal ou abrupto da associaca~o;
3. transfer^encia de dados pela associaca~o;
4. negociac~ao e renegociac~ao de um per l de operaca~o para o terminal virtual;
5. gerenciamento do dialogo12.
As primitivas para abertura e encerramento de associac~ao s~ao id^enticas as do ACSE com
o pre xo VT: VT-ASSOCIATE, VT-RELEASE, VT-U-ABORT, VT-P-ABORT.
A primitiva principal para transfer^encia de dados, VT-DATA, de ne um servico sem
con rmaca~o. Um dos par^ametros desta primitiva e a prioridade dos dados: normal, alta
ou urgente. Um par de primitivas tambem sem con rmaca~o, VT-DELIVER e VT-ACKRECEIPT s~ao utilizadas, respectivamente, para transfer^encia de dados e reconhecimento da
recepc~ao.
A negociac~ao do per l de operaca~o se da atraves das seguintes primitivas:

VT-START-NEG: solicita a outra entidade o incio de uma sess~ao de negociaca~o


(servico con rmado);

VT-OFFER-NEG: consulta a outra entidade sobre a conveni^encia de se estabelecer


uma sess~ao de negociac~ao (servico sem con rmaca~o);

VT-ACCEPT-NEG/VT-REJECT-NEG: responde a rmativa ou negativamente a consulta acima (servico sem con rmac~ao);

11 Tipicamente uma vinculada ao terminal do usu


ario
12 O protocolo VT de ne dois modos de opera
ca~o: no

e outra vinculada a aplicac~ao remota.


modo A inexiste qualquer forma de gerenciamento,
enquanto no modo B o gerenciamento e baseado em tokens.

DCA-FEEC-UNICAMP




Redes de Computadores: Modelo OSI

116

VT-END-NEG: termina uma sess~ao de negociaca~o (servico con rmado);


VT-SWITCH-PROFILE: altera o per l de operaca~o de um terminal virtual (servico
con rmado). Um ponto de sincronismo maior e inserido caso a associaca~o seja reiniciada via VT-BREAK.

O gerenciamento do dialogo (modo B) se da atraves das primitivas VT-REQUESTTOKENS e VT-GIVE-TOKENS, ambas sem con rmaca~o.
Finalmente, o protocolo VT oferece uma primitiva para reiniciar a conex~ao (via PRESYNCHRONIZE): VT-BREAK. Este servico e con rmado.

8.11 Problemas
1. Cite a loso a de integrac~ao entre os ambientes local e OSI.
2. Como a camada de aplicac~ao e estruturada?
3. Qual a diferenca entre conex~ao e associac~ao?
4. Qual a vantagem de se de nir objetos de servico (ASOs)?
5. Descreva a utilidade do ACSE, ROSE e RTSE.
6. Cite dois empregos tpicos de transac~oes at^omicas.
7. Desenhe um diagrama temporal para uma transaca~o at^omica envolvendo coordenador
e 3 participantes. Considere os casos de termino normal e anormal (rollback).
8. Descreva funcionalmente o MHS.
9. Descreva funcionalmente o DS.
10. Descreva funcionalmente o FTAM.