Académique Documents
Professionnel Documents
Culture Documents
ARQUITETURA TCP/IP
Eleri Cardozo
Departamento de Engenharia de Computaca~o
e Automaca~o Industrial
Faculdade de Engenharia Eletrica e de Computaca~o
Universidade Estadual de Campinas
1994
c 1994,1995 DCA/FEEC/UNICAMP
Conteudo
1 INTRODUCA~ O
Conceitos Basicos : : : : : : : : : : :
Aplicac~oes Tpicas : : : : : : : : : :
Estruturas de Redes : : : : : : : : :
Padronizac~ao de Redes : : : : : : : :
Estruturac~ao de Redes em Camadas :
O modelo OSI : : : : : : : : : : : : :
1.6.1 A Camada Fsica : : : : : : :
1.6.2 A Camada de Enlace : : : : :
1.6.3 A Camada de Rede : : : : : :
1.6.4 A Camada de Transporte : :
1.6.5 A Camada de Sess~ao : : : : :
1.6.6 A Camada de Apresentac~ao :
1.6.7 A Camada de Aplicac~ao : : :
1.7 A Arquitetura Internet : : : : : : : :
1.7.1 A Camada Interface de Rede :
1.7.2 A Camada Inter-Redes : : : :
1.7.3 A Camada de Transporte : :
1.7.4 A Camada de Aplicac~ao : : :
1.1
1.2
1.3
1.4
1.5
1.6
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
4
5
6
6
9
9
10
10
12
12
12
13
13
13
13
14
14
15
16
16
16
16
17
18
18
19
19
20
21
26
26
28
DCA-FEEC-UNICAMP
3 A CAMADA INTER-REDES
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
33
33
33
34
35
36
38
39
41
41
43
45
46
4 A CAMADA DE TRANSPORTE
49
5 A CAMADA DE APLICACA~ O
66
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
:
49
49
51
51
57
57
58
59
61
63
64
67
68
68
69
71
71
73
75
76
77
77
78
79
DCA-FEEC-UNICAMP
Chapter 1
INTRODUCA~ O
1.1 Conceitos Basicos
Deniremos 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. Numa rede, nenhum computador obedece a comandos de outro, possuindo inclusive autonomia para se desconectar da rede.
Os meios de interconex~ao s~ao muitos: cabos de cobre, bras oticas, rotas de microondas,
radiodifus~ao, etc. Atualmente, os cabos de cobre (coaxiais e pares trancados) s~ao os mais
empregados, devendo a bra otica assumir este papel num futuro proximo. Os meios de
interconex~ao limitam tanto a taxa de transmiss~ao de informac~ao quanto a extens~ao geograca
da rede. Quanto a sua extens~ao geograca, as redes se classicam em:
1. Redes Locais (LAN: Local Area Network): interconectam computadores localizados
numa mesma sala ou edifcio (10 m - 1 Km). Tipicamente, um unico meio de transmiss~ao e empregado.
2. Redes de Campus (CAN: Campus Area Network): interconectam computadores a 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).
3. Redes Metropolitanas (MAN: Metropolitan Area Network): interconectam computadores de uma mesma corporac~ao a nvel regional (5 - 100 Km), usualmente empregando
linhas telef^onicas alugadas de uma mesma operadora.
4. Redes de Longa Dist^ancia (WAN: Wide Area Network): interconectam computadores
a nvel nacional ou continental (100 - 5000 Km). Via de regra s~ao operadas por holdings
nacionais de telecomunicac~oes.
Uma rede e dita homog^enea se todos os computadores por ela interconectados s~ao id^enticos.
Caso contrario, temos uma rede heterog^enea. Obviamente, redes heterog^eneas demandam
4
DCA-FEEC-UNICAMP
Computer-Aided Design.
DCA-FEEC-UNICAMP
fronteira da
subrede de comunicao
IMP
subrede de comunicao
HOST
DCA-FEEC-UNICAMP
(a)
(b)
(d)
(c)
Figura 1.2: Topologias tpicas em subredes ponto-a-ponto: (a) Estrela (b) Anel, (c) A rvore,
(d) Generica.
e seguranca, minimizar investimentos em estoques, compatibilizar equipamentos de diferentes
proced^encias, etc.
Um padr~ao e dito de facto quando foi 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: Associaca~o Brasileira de Normas Tecnicas (ABNT);
EUA: American National Standard Institute (ANSI) e Institute of Electrical and Electronic 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: CCITT (Comite Consultatif International de Telegraphique et Telephonique), que
congrega as companhias de telecomunicac~oes nacionais; e a ISO (International Standard
Organization), que congrega as entidades de padronizac~ao nacionais.
DCA-FEEC-UNICAMP
satlite
(a)
(b)
(c)
Figura 1.3: Topologias tpicas em subredes de difus~ao: (a) Barramento (b) Radiodifus~ao via
satelite, (c) Anel.
A ISO tem aceito padr~oes ja estabelecidos por outras entidades (principalmente ANSI,
IEEE e CCITT) 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 (Ethernet,
Token Bus e Token Ring) foi adotado integralmente pela ISO (ISO 8802).
Padr~oes do CCITT 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. A grosso modo, pode-se armar que padr~oes CCITT
situam-se mais proximos do hardware que os padr~oes ISO.
A ISO padronizou um modelo de refer^encia para a Interconex~ao de Sistemas Abertos
(OSI4) e conhecido como modelo OSI/ISO 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 est~ao ainda
em vias de se tornarem padr~oes de facto.
Atualmente, os padr~oes de facto s~ao os chamados padr~oes Internet5. Criados pelo Departamento de Defesa (DoD) dos EUA para a interconex~ao de seus computadores no nal
da decada de 70, t^em sido adotado por todos os fabricantes daquele pas para atender as
normas de contrato impostas pelo DoD.
O que nos leva a crer que os padr~oes ISO suplantar~ao os padr~oes Internet no futuro? A resposta baseia-se no fato dos padr~oes OSI cobrirem uma gama maior de servicos, desde aqueles
manipulados diretamente pelo usuario (submiss~ao de jobs remotos, correio eletr^onico, terminal virtual, etc.) ate aqueles de interfaceamento com o hardware, passando por compress~ao
de dados e criptograa. Mais resumidamente, a ISO possui padr~oes cobrindo praticamente
todo o espectro da tecnologia de redes, o que n~ao ocorre com os padr~oes Internet.
Os padr~oes Internet enfatizam mais o transporte conavel de dados de um host para
outro. Inicialmente, apenas tr^es servicos s~ao padronizados no nvel de usuario: transfer^encia
de arquivos, correio eletr^onico e login remoto. Outros servicos que utilizam o transporte
de dados Internet foram introduzidos pela comunidade de usuarios ou por fabricantes. E o
caso do Yellow Pages (diretorio), RPC (chamada de procedimento remotos) e NFS (sistema
4
5
DCA-FEEC-UNICAMP
DCA-FEEC-UNICAMP
APLICATIVO
10
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
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 especicam qual a durac~ao
e intensidade do sinal, tecnica de multiplexac~ao, pinagem, etc. Obviamente esta camada
esta intimamente relacionada ao meio fsico empregado.
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.
DCA-FEEC-UNICAMP
11
protocolo de aplicao
7
APLICAO
APLICAO
PDU
protocolo de apresentao
6
APRESENT.
APRESENT.
PDU
COMUNICAO
HOST-HOST
protocolo de sesso
5
SESSO
SESSO
PDU
protocolo de transporte
4
TRANSPORTE
TRANSPORTE
PDU
subrede de comunicao
REDE
REDE
ENLACE
ENLACE
FSICA
FSICA
pacote
quadro
bit
REDE
REDE
ENLACE
ENLACE
FSICA
FSICA
HOST #1
COMUNICAO
HOST-SUBREDE
HOST #2
IMP #i
IMP #j
DCA-FEEC-UNICAMP
12
Esta camada permite dois processos de aplicac~ao (APs) 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, denindo-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.
6
A taxa de utilizac~ao de uma subrede e medida pelo uxo de pacotes por unidade de tempo.
DCA-FEEC-UNICAMP
13
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 submiss~ao de jobs remotos
s~ao exemplos destes servicos.
Esta camada tambem se constitui no ponto de acesso a rede por processos de aplicaca~o
(APs). Est~ao em vias de padronizac~ao as chamadas APIs (Application Program Interfaces), que s~ao bibliotecas de funco~es para envio/recepca~o de mensagens, estabelecimento de
conex~oes, etc.
Esta camada corresponde as camadas Fsica e de Enlace do modelo OSI. A interface de
rede pode operar sobre uma rede local ou uma rede de longa dist^ancia. No primeiro caso, a
interface de rede e uma placa que implementa um protocolo de enlace e de acesso ao meio,
por exemplo, uma placa Ethernet operando segundo o padr~ao IEEE 802.3. No segundo caso,
a interface de rede e um subsistema mais complexo que implementa um protocolo de conex~ao
fsica host-IMP (por exemplo o X.21) e um protocolo de enlace IMP-IMP (por exemplo o
protocolo HDLC: High-level Data Link Control).
DCA-FEEC-UNICAMP
APLICAO
mensagens
14
OSI/ISO
APLICAO
APLICAO
APRESENTAO
SESSO
TRANSPORTE
INTER-REDES
TPDUs
datagramas
TRANSPORTE
TRANSPORTE
INTER-REDES
REDE
ENLACE
INTERFACE
DE REDE
quadros
INTERFACE
DE REDE
FSICA
MEIO FSICO
HOST #1
HOST #2
DCA-FEEC-UNICAMP
15
em subredes de baixa conabilidade onde as mensagens est~ao sujeitas a perda, duplicaca~o e
corrupc~ao.
Chapter 2
A CAMADA INTERFACE DE REDE
2.1 Meios de Transmiss~ao
2.1.1 Par Trancado Metalico
Um par trancado constitui-se de dois 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 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 ac~ao telef^onica existente.
A frequ^encia maxima de transmiss~ao depende do comprimento e da espessura do par de
os, o que em ultima inst^ancia dita a imped^ancia eletrica do par. Para longas dist^ancias
(alguns quilometros) a taxa de transmiss~ao n~ao ultrapassa 20 Kbits/s, podendo atingir 100
megabits/s em comprimentos de poucos metros. E comum rede padr~ao de 10 megabits/s
(como o padr~ao Ethernet) ter como meio de transmiss~ao pares trancados para dist^ancias
inferiores a 1 quilometro. Atualmente, padr~oes na faixa de 100 megabits/s como o FDDI
(Fiber Distributed Data Interface) e o Fast Ethernet operam com pares trancados para
dist^ancias inferiores a 100 metros.
E composto de um condutor cilndrico isolado envolto por uma malha de cobre e uma capa
plastica de proteca~o. 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 irradiac~ao). Entretanto, sua
estrutura assimetrica contribui para a atenuac~ao imposta a amplitude do sinal. Apesar
de apresentar certa complexidade de instalac~ao, cabos coaxiais s~ao atualmente o meio de
transmiss~ao mais empregado em redes locais de computadores.
16
DCA-FEEC-UNICAMP
17
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 refrac~ao distintos, apesar de construdos de materiais similares. A tecnologia mais comum e a chamadas
bra multimodo onde a luz e mantida no nucleo por re
ex~ao na casca (gura 2.1). Fibras
multimodo possuem di^ametros entre 50 e 200 m. Atenuac~oes de 1 a 5 dB por quilometro
na pot^encia do sinal otico s~ao tpicas.
capa plstica
casca (ndice de refrao n2)
ngulo limite
DCA-FEEC-UNICAMP
18
Para redes locais, os padr~oes IEEE 802 s~ao os mais empregados. A famlia de padr~oes IEEE
802 dividem a camada fsica em cinco componentes:
1. PLS (Physical Layer Signaling): e o ponto de sada do host em direc~ao meio fsico. E
parte da placa de rede inserida num slot do barramento de dados do computador.
2. PMA (Physical Medium Attachment): e o dispositivo responsavel pela transmiss~ao e
recepca~o de sinais no meio fsico. E comandada pela PLS. No jarg~ao Ethernet e o
transceiver (transmitter-receiver).
3. MDI (Medium Dependent Unit): conecta a PMA ao meio fsico. Em cabos coaxiais
pode ser um conector tipo T (que requer o seccionamento do cabo) ou um conector
vampiro, que \morde" o cabo sem secciona-lo. A PMA mais a MDI formam a MAU
(Medium Attachment Unit).
4. AUI (Attachment Unit Interface): conecta a PLS a PMA. Via de regra consiste de
cabo de pares trancado com blindagem externa e comprimento maximo de 50 metros.
5. Meio de Transmiss~ao.
Atualmente, a vasta maioria das redes locais s~ao baseadas nos padr~oes IEEE 802: 802.3
(CSMA/CD), 802.4 (Token Bus) e 802.5 (Token Ring). Tais padr~oes foram integralmente
aceitos pela ISO (padr~oes 8802).
Por exemplo, o documento ANSI/IEEE Std 802.3-1984 denominado IEEE Standards for
Local Area Networks: Carrier Sense Multiple Access with Collision Detection (CSMA/CD)
- Access Methods and Physical Layer Specications, de 143 paginas, descreve os padr~oes
eletricos e mec^anicos dos cinco componentes da camada fsica listados acima para redes
CSMA/CD (Ethernet).
Tal documento e imprescindvel para o fabricante de placas e componentes de redes
locais, sendo de pouca valia para o projetista, instalador e usuario de redes. Em geral, dados
como comprimento maximo do cabo, taxa de transmiss~ao, etc, s~ao sucientes para o projeto,
instalac~ao e operac~ao de redes locais de computadores no que tange a camada fsica.
O 802.3 (padr~ao Ethernet) admite 4 meios de transmiss~ao: cabo coaxial em banda basica,
cabo coaxial em banda larga, par trancado e bra otica em banda basica. As taxas de
transmiss~ao podem ser de 1, 5, 10 (a mais usual) e 20 megabits/s. Para esta faixa de
frequ^encia, o par trancado esta em vias de reinar absoluto, apesar de atualmente o cabo
coaxial de banda basica ainda ser muito empregado. O cabo coaxial de banda larga esta
em franco desuso e a bra otica, nesta faixa de frequ^encia, somente se justica para casos
especiais (exemplo: ambientes industriais com elevado rudo eletromagnetico).
DCA-FEEC-UNICAMP
19
Em redes publicas de longa dist^ancia, o unico padr~ao existente na camada fsica e a interconex~ao do host ou terminal de dados (DTE: Data Terminal Equipment) ao equipamento
de comunicaca~o de dados (DCE: Data Communication Equipment). O padr~ao mais comum
e a interface X.21 da CCITT, muito parecida com a interface serial RS-232C, presente em
praticamente todos os computadores. A interface X.21 prev^e oito conex~oes para comunicaca~o
full-duplex DCE-DTE (gura 2.2).
T (transporte)
C (controle)
R (recepo)
I (indicao)
DTE
S (sinal)
DCE
B (byte timing)
Ga (retorno comum do DTE)
G (terra)
DCA-FEEC-UNICAMP
20
Em redes de longa dist^ancia e metropolitanas o enlace se da entre IMPs. A rota fsica por
onde os quadros
uem e exclusiva dos IMPs por ela conectados (o meio fsico e decomposto
em segmentos que conectam dois, e somente dois, IMPs). Ao decidir transmitir um quadro,
um IMP 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 funca~o 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. No modelo OSI, 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. Na arquitetura Internet a subcamada de acesso ao meio, o controle de enlace logico e a
interface fsica de conex~ao ao meio est~ao agrupados na camada de interface de rede. A gura
2.3 ilustra as tr^es subcamadas que comp~oem a interface de rede na arquitetura TCP/IP.
LLC
MAC
PHY
Figura 2.3: Componentes da interface de rede: LLC (enlace), MAC (acesso ao meio) e PHY
(conex~ao ao meio fsico).
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. O metodo
de acesso aleatorio mais empregado e o CSMA/CD (Carrier Sense Multiple Access-Collision
Detection) empregados em redes Ethernet.
No metodo CSMA/CD, os hosts acessam o meio caso este esteja sem atividade. Obviamente, dois hosts podem detectar o meio inativo e acessa-lo simultaneamente gerando uma
colis~ao. Detectada uma colis~ao, o host interrompe imediatamente a transmiss~ao, entrando
em seguida num 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
DCA-FEEC-UNICAMP
21
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 inatividade.
2. Inicie a transmiss~ao do quadro, escutando o meio para se certicar 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 conrmac~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 certicar 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 possess~ao
do token, o host passa o token para o 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 innito para os metodos de acesso aleatorio).
Os padr~oes de enlace estabelecem um formato para os quadros que ser~ao transmitidos pelo
meio fsico e protocolos de interac~ao entre as subcamadas de enlace logico comunicantes.
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
DCA-FEEC-UNICAMP
22
PREMBULO
ENDEREO
DESTINO
ENDEREO
FONTE
TIPO
0-1500
DADOS
0-46
PAD CHECKSUM
10101010
comeo do delimitador
do quadro (10101011)
DCA-FEEC-UNICAMP
23
1. quadros muitos curtos emitidos nos extremos do cabo entrar em colis~ao sem que os
respectivos emissores a detectem (isto ee, quanto 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.
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 LAP (Link Access
Procedure). Vamos apresentar apenas este subconjunto.
No HDLC, os quadros t^em o formato apresentado na gura 2.5. O quadro possui um
delimitador de incio e nal composto dos bits 01111110. Um procedimento de codicaca~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 identicar 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
DCA-FEEC-UNICAMP
Bits
N(S)
P/F
P/F
24
3
N(R)
INFORMAO
P/F
N(R)
SUPERVISO
3
M
NO NUMERADO
O protocolo de enlace denido 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
DCA-FEEC-UNICAMP
25
t^em o formato como o da gura 2.4. O LLC especica o formato do PDU que e parte dos
dados do quadro. Este PDU, denominado LPDU, tem o formato dado pela gura 2.7.
Bytes
ENTIDADE
ENTIDADE
DESTINO
FONTE
1 ou 2
CONTROLE
>=0
INFORMAO
DCA-FEEC-UNICAMP
26
2.4.1 Endereco IP
Enderecos IP s~ao utilizados pelo protocolo IP (Internet Protocol) para o transporte de datagrama entre dois hosts (se referem portanto a camada inter-redes). Enderecos IP ocupam
32 bits e s~ao divididos em 5 classes conforme mostrado na gura 2.8.
Bits
7 8
CLASSE A
CLASSE B
1 0
CLASSE C
1 1 0
CLASSE D
1 1 1 0
CLASSE E
15 16
SUBREDE ID
23 24
HOST ID
SUBREDE ID
HOST ID
SUBREDE ID
1 1 1 1 0
31
HOST ID
ENDEREO DE MULTICAST
DCA-FEEC-UNICAMP
27
Notac~ao Decimal
E comum representar o endereco IP numa notac~ao decimal. Para tal, divide-se o endereco
em 4 grupos de 8 bits, converte-se os 8 bits para notac~ao decimal, separando-os um ponto.
Exemplo:
10000000000010100000001000011110
10000000 00001010 00000010 00011110
128.10.2.30
A notac~ao decimal e utilizada por administradores de sistema para, por exemplo, atribuir
endereco IP a um novo host, congurar gateways, identicar servidores, etc.
Relativamente ao valor do primeiro byte (x) do endereco IP podemos observar que:
x < 128 : enderecamento classe A;
128 x < 192 : endereco classe B;
192 x < 224 : endereco classe C;
x 224 : reservado.
Enderecos Especiais
A gura 2.9 mostra enderecos especiais e os correspondentes signicados. Trata-se apenas
de convenc~ao seguida pelos protocolos da camada inter-redes.
Bits
7 8
15 16
31
TODOS OS BITS 0
TODOS OS BITS 0
ESTE HOST
HOST ID
TODOS OS BITS 1
SUBREDE ID
TODOS OS BITS 1
TODOS OS BITS 1
BROADCAST
LOOPBACK
DCA-FEEC-UNICAMP
28
2.4.2 Subredes
Para ilustrar o conceito de subredes, considere a gura 2.10. A gura apresenta uma empresa
ctcia que utiliza 4 subredes. Considere ainda que a empresa detem um endereco classe C
(215.194.97). Isto signica que a empresa em tese pode alocar ate 256 (ie, 28) hosts.
DOMINIO FINANCEIRO
TERRA
215.194.97.98
SUBREDE: 215.194.97.96
215.194.97.97
GW
SOL
CENTRO DE
COMPUTACAO
215.194.97.1
215.194.97.5
SUBREDE: 215.194.97.0
215.194.97.2
ADMIN.
215.194.97.4
215.194.97.3
RIO
ZEUS
215.194.97.33
215.194. 97.65
APOLO
215.194.97.66
215.194.97.34
SALVADOR
215.194.97.35
RECIFE
215.194.97.36
MANAUS
AFRODITE
215.194.97.67
DOMINIO ENGENHARIA
SUBREDE: 215.194.97.32
DOM INIO RH
SUBREDE: 215.194.97.64
DCA-FEEC-UNICAMP
29
Por exemplo, um datagrama com endereco 215.194.97.255 e recebido por todas as estac~oes
presentes na subrede 215.194.97.
Deve ser destacado que o endereco IP refere-se a uma interface de rede e n~ao ao host
propriamente dito. No caso da gura 2.10, os hosts GW, Rio, Zeus e Sol possuem 2 enderecos
IP, um para cada rede na qual o host encontra-se conectadao. O protocolo IP utiliza o
endereco de subrede do endereco IP para roteamento do datagrama entre subredes. O
endereco completo, incluindo o endereco do host e utilizado para entregar o datagrama
quando o mesmo alcanca a subrede de destino.
Estabelecimento de Subredes
A estrutura padr~ao do endereco IP pode ser modicado internamente ao domnio atraves da
utlizac~ao de alguns bits do endereco do host como bits adicionais do endereco de subrede.
Desta forma, a linha divisoria entre os enderecos do host e subrede (ver gura 2.8) e deslocada
criando subredes adicionais e reduzindo o numero maximo de hosts que podem participar
de uma subrede. Os novos bits denem uma nova subrede dentro de uma subrede maior. A
decis~ao de se criar subredes e normalmente associada a decis~oes topologicas ou administrativas. A criac~ao de subredes permite uma descentralizac~ao no gerenciamento de enderecos
das estac~oes. No caso do esquema de enderecamento tradicional um unico administrador e
responsavel pelo gerenciamento dos enderecos de todas os hosts conectados a subrede. Com
a criac~ao de subredes esta tarefa e descentralizada. No caso da gura 2.10, caso o administrador n~ao tenha interesse em gerenciar as informac~oes do Departamento de Engenharia
da empresa, uma subrede pode ser designada para o Departamento e o seu gerenciamento
ser realizado internamente ao Departamento.
Uma subrede e denida atraves da aplicac~ao de uma mascara ao endereco IP. Os bits 1 da
mascara denem que os bits equivalentes no endereco IP devem ser interpretados como bits
do endereco de rede. Consequentemente, os bits 0 da mascara denem a parte do endereco IP
que deve ser interpretada como endereco de host. A subrede e conhecida somente do ponto
de vista local. Do ponto de vista externo, o endereco e interpretado como um endereco
IP padr~ao. No caso, por exemplo, de um endereco classe B padr~ao, a mascara associada
e 255.255.0.0. Uma possibilidade frequentemente utilizada estende em um byte a parte do
enderecamento de rede da classe B. Neste caso a mascara de subrede e 255.255.255.0. Os
dois primeiros bytes denem um endereco de rede classe B; o terceiro byte dene o endereco
de subrede e o quarto byte dene o host naquela subrede.
Muitos administradores de rede preferem utilizar uma mascara orientada a byte porque
e mais facil de ser lida e compreendida. Entretanto, a mascara pode ser orientada ao bit
e utilizada em qualquer classe de endereco. No caso do exemplo da gura 2.10 o endereco
classe C foi subdivido em 8 subredes, sendo que na gura aparecem somente 4 subredes
cando os outros 4 enderecos reservados para subredes futuras. Ao endereco IP 215.194.97.0
foi associada a mascara 255.255.255.2242 . A aplicac~ao desta mascara a um endereco classe C
dene os tr^es bits de ordem mais alta no quarto byte como a parte que especica a subrede.
Os itens a seguir ilustram o efeito provocado pela adoc~ao da mascara 255.255.255.224:
2
DCA-FEEC-UNICAMP
30
Assim sendo, temos para as 8 subredes os enderecos de subrede e broadcast dados pela
tabela 2.1.
subrede
214.194.97.0
214.194.97.32
214.194.97.64
214.194.97.128
214.194.97.96
214.194.97.160
214.194.97.192
214.194.97.224
broadcast
214.194.97.31
214.194.97.63
214.194.97.95
214.194.97.159
214.194.97.127
214.194.97.191
214.194.97.223
214.194.97.251
A camada interface de rede utiliza enderecos fsicos para localizar a interface que gerou
o quadro e a interface destinataria. Na gura 2.4 os campos ENDERECO FONTE e
ENDERECO DESTINO s~ao enderecos fsicos, n~ao enderecos IP. No caso do padr~ao IEEE
802.3 (Ethernet) o endereco fsico e composto de 6 bytes (48 bits) atribudos de forma unica
pelo fabricante da interface3. Este endereco e comumente fornecido como 6 numeros hexadecimais separados por ponto, sendo que cada numero corresponde a um byte do endereco.
Por exemplo, o endereco 67.F3.AF.3E.12.FF identica a interface
011001110111100110101111001111100001001011111111
DCA-FEEC-UNICAMP
31
Para enviar um quadro para um host destino, a camada interface de rede necessita do
endereco fsico do host. Este endereco deve car circunscrito a camada interface de rede,
permitindo que as camadas superiores utilizem formas de enderecamento mais abstratas.
Surge ent~ao o problema: dado um endereco IP de determinado host, como descobrir seu
endereco fsico?
A soluc~ao ideal seria as interfaces de rede armazenarem enderecos IP ao inves de enderecos
fsicos. Como tal n~ao ocorre com a maioria das tecnologias de rede (inclusive Ethernet, a
tecnologia mais utilizada) uma forma de mapeamento entre enderecos IP e fsico e imprescindvel.
Uma soluc~ao simples e manter uma tabela relacionando endereco IP com o correspondente
endereco fsico. Tal soluc~ao e impraticavel dadas as dimens~oes das redes atuais. Uma outra
alternativa e difundir um quadro em broadcast com a seguinte requisic~ao: quem possuir
tal endereco IP, mande o seu correspondente endereco fsico. O protocolo ARP (Address
Resolution Protocol) adota exatamente esta ideia.
O protocolo ARP possui um PDU dado pela gura 2.11. O PDU e transportado como
dados de um quadro. O quadro tem como destino um endereco de broadcast (FF.FF.FF.FF.FF.FF no caso de redes Ethernet). Quadros contendo PDUs do protocolo ARP s~ao
identicados por um tipo armazenado no cabecalho do quadro. No caso de um quadro
Ethernet, um valor de 2054 no campo TIPO indica um quadro carregando um PDU do
protocolo ARP.
Bits
16
TIPO-HARD
48
96
TIPO-PROT
TAM-FI
OPERAO
FONTE-FI
FONTE-FI
FONTE-IP
144
192
32
40
47
TAM-P
ALVO-FI
ALVO-IP
223
DCA-FEEC-UNICAMP
32
Chapter 3
A CAMADA INTER-REDES
3.1 Funcionalidades da Camada de Rede (OSI)
A camada de rede no modelo OSI (ou inter-redes na arquitetura TCP/IP) e a ultima camada
onde o
uxo de informaca~o leva em conta as peculiariedades da subrede de comunicac~ao tais
como sua topologia e capacidade de suas linhas fsicas. A partir desta, as camadas acima
empregam mecanismos de comunicac~ao m a m (host a host), abstraindo a exist^encia da
subrede de comunicaca~o. Para que a camada de transporte possa abstrair os detalhes da
subrede de comunicac~ao, a camada de rede deve prover os seguintes servicos:
Pacote e a unidade de informac~ao que trafega entre os IMPs de uma rede de longa dist^ancia.
Quando um host necessitar transferir um pacote, este o entrega a um IMP em sua subrede.
O IMP escolhe uma rota para o pacote tendo como destino a subrede ao qual o host de
destino esta conectado.
O trafego entre os IMPs pode se dar atraves de uma circuito virtual (conex~ao) preestabelecido. Neste caso a camada de rede e dita orientada a conex~ao. Se a camada de rede
n~ao suporta circuitos virtuais a mesma e dita sem conex~ao ou orientada a datagrama.
33
DCA-FEEC-UNICAMP
34
No caso de redes locais, conex~oes no nvel de camada de rede s~ao similares a conex~oes no
nvel de camada de enlace (modelo OSI): apenas dois hosts s~ao envolvidos e apenas estes
tomam parte da conex~ao. Em redes de longa dist^ancia, uma conex~ao no nvel da camada de
enlace envolve tambem dois computadores: o host e o IMP ao qual se conecta.
Uma conex~ao no nvel de camada de rede, por outro lado, requer a intermediaca~o de
multiplos IMPs, pois os hosts comunicantes n~ao necessariamente se encontram na mesma
subrede. No estabelecimento de uma conex~ao deste tipo, escolhe-se uma rota (como descrito
na proxima sec~ao) e o trafego de pacotes dar-se-a sempre por esta rota. Um IMP que toma
parte de uma conex~ao, recebe um pacote do IMP antecessor (ou host emissor), armazena-o
temporariamente ate que pacotes recebidos previamente possam
uir, e o entrega ao IMP
sucessor (ou host de destino).
As vantagens de se estabelecer conex~ao e a alocaca~o 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 IMP 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;
os recursos alocados a uma conex~ao se tornam sub-utilizados se a taxa de transmiss~ao
de pacotes pela conex~ao for baixa.
Camadas de rede orientadas a datagrama n~ao estabelecem conex~ao para o envio de pacotes.
O servico de entrega e pouco conavel, 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, datagramas est~ao sujeitos ao descarte quando um IMP
n~ao dispor de recursos para processa-lo.
Cada pacote e roteado individualmente, independente dos demais. Neste caso, a garantia
de entrega de pacotes na ordem em que foram emitidos n~ao se verica. Pacotes podem ser
duplicados caso pacotes de reconhecimento n~ao atinjam o emissor.
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 IMPs.
Como desvantagens, uma sosticada camada de transporte e requerida. Em outras palavras,
ca a cargo dos hosts (isto e, dos usuarios da subrede de comunicac~ao) gerenciar a conabilidade do servico de entrega de pacotes. Nas camadas de rede orientadas a conex~ao, esta
conabilidade recai sobre os IMPs (isto e, sobre a propria subrede de comunicac~ao).
3.1.2 Roteamento
O problema de rotear pacotes inexiste quando a comunicac~ao se da numa rede local: o pacote
atinge o host destinatario sem a intermediac~ao de IMPs. Em redes MAN e WAN, a exist^encia
DCA-FEEC-UNICAMP
35
Vimos no captulo anterior que a camada de enlace (modelo OSI) e capaz de controlar o
uxo de quadros entre dois hosts comunicantes atraves dos quadros de controle RR e RNR.
Cabe a camada de rede controlar o
uxo de pacotes entre IMPs evitando que um IMP 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.
O criterio de otimalidade pode ser: mnimo tempo de tr^ansito, mnima dist^ancia percorrida, maxima
conabilidade, etc
1
DCA-FEEC-UNICAMP
36
Pre-alocac~ao de Buers
Um recurso importante que um IMP disp~oe para o processamento de pacotes s~ao buers de
memoria. Em caso do estabelecimento de uma conex~ao (no nvel de camada de rede), todos
os IMPs envolvidos alocam buers capazes de abrigar tantos pacotes quantos forem enviados, 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 IMP, a camada de rede escolhe outro circuito ou recusa o pedido de
conex~ao.
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
resolvido criando-se um pool de buers e ir alocando e desalocando a medida da necessidade.
Utilizando-se um pool de buers corre-se o risco de um pacote chegar num IMP e n~ao existir
buer disponvel para armazena-lo. Neste caso, a conex~ao e rearranjada (tirando este IMP
do circuito) ou um sinal de ocupado e enviado ao IMP que emitiu o pacote, solicitando sua
retransmiss~ao a posteriori.
Descarte de Pacotes
pacotes de reconhecimento liberam pacotes de dados ja transmitidos mas ainda ar-
Dois fatos: 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 ou a arquitetura TCP/IP com id^entica
pilha de protocolos, a interconex~ao de redes seria uma tarefa trivial.
DCA-FEEC-UNICAMP
37
DCA-FEEC-UNICAMP
802.3
Ethernet
W A N
802.3
Ethernet
802.5
38
802.3
Ethernet
Token Ring
Figura 3.1: Exemplo de interconex~ao de redes. Ret^angulos com a letra R s~ao repetidores;
com a letra P pontes; e com a letra C comportas. Demais ret^angulos s~ao hosts.
trajeto, etc;
duplicaca~o de datagramas, devido a perda de quadros de reconhecimento na nivel de
enlace;
recepc~ao de datagramas fora da ordem em que foram transmitidos, devido a mudanca
da rota durante a transmiss~ao.
A camada inter-redes se utiliza da sub-camada de enlace (LLC) para transmitir datagramas. Um datagrama trafega como dados num quadro e seu conteudo e completamente
DCA-FEEC-UNICAMP
quadro
CABEALHO
CABEALHO
39
DADOS
DADOS
DCA-FEEC-UNICAMP
40
BACKBONE
comporta
ncleo
comportas
interiores
comporta
exterior
comporta
exterior
comporta
ncleo
comportas
interiores
SISTEMA AUTNOMO #1
SISTEMA AUTNOMO #2
DCA-FEEC-UNICAMP
41
4
VERSO
8
TAM-CAB
16
19
TIPO DE SERVIO
31
TAMANHO TOTAL
32
IDENTIFICAO
FLAGS
OFFSET DO FRAGMENTO
64
TEMPO DE VIDA
PROTOCOLO
CHECKSUM DO CABEALHO
96
ENDEREO FONTE (IP)
128
ENDEREO DESTINO (IP)
OPES (QUANDO PRESENTE)
ENCHIMENTO
DADOS
....
DCA-FEEC-UNICAMP
42
DCA-FEEC-UNICAMP
43
valor 0:
valor 1:
valor 2:
valor 3:
controle da subrede;
reservado para uso futuro;
depurac~ao e medic~ao;
reservado para uso futuro.
O protocolo ICMP (Internet Control Message Protocol) e utilizado quando hosts e comportas
necessitam reportar erros, testar se uma via de comunicac~ao esta operacional, medir seu
atraso, etc. O protocolo utiliza o campo de dados de datagramas para o transporte de suas
mensagens e possui um cabecalho extremamente compacto (gura 3.5).
O campo TIPO especica o tipo da mensagem. Tipos usuais s~ao:
DCA-FEEC-UNICAMP
Bits
8
TIPO
16
CDIGO
44
31
CHECKSUM
DCA-FEEC-UNICAMP
45
O protocolo de roteamento EGP (Exterior Gateway Protocol) e empregado para que comportas externas cooperem nas atividades de roteamento. As mensagens possuem um cabecalho
dado pela gura 3.6.
Bits
8
VERSO
16
TIPO
31
24
CDIGO
STATUS
32
CHECKSUM
SISTEMA AUTNOMO
64
NMERO DE SEQUNCIA
DCA-FEEC-UNICAMP
46
24 bits
# SUBREDES D11
SUBREDE #1 DISTNCIA D11
SUBREDE #2 DISTNCIA D11
M dists.
....
N comportas
DISTNCIA D12
# SUBREDES D12
SUBREDE #1 DISTNCIA D12
SUBREDE #2 DISTNCIA D12
....
ENDEREO IP DA COMPORTA #N
O protocolo de roteamento RIP (Routing Information Protocol) e empregado para que comportas internas cooperem nas atividades de roteamento. E o protocolo de roteamento interno
introduzido nos sistemas UNIX BSD.
Ao contrario do protocolo EGP, dist^ancias no protocolo RIP possuem signicado de custo:
medem o numero de comportas entre duas subredes. Este numero varia de 1 a 15, sendo 16
utilizado para dist^ancia innita (inexist^encia de caminho).
O protocolo se RIP utiliza um protocolo de transporte (UDP) para a conduc~ao de suas
mensagens. No protocolo RIP informac~oes de roteamento s~ao obtidas pela ac~ao de um
daemon (processo routed no UNIX) que executa nas comportas internas e nos hosts. Dae-
DCA-FEEC-UNICAMP
47
8
COMANDO
16
VERSO
31
TODOS OS BITS 0
32
FAMLIA DA SUBREDE #1
TODOS OS BITS 0
64
ENDEREO IP DA SUBREDE #1
96
TODOS OS BITS 0
...
TODOS OS BITS 0
DISTNCIA DA SUBREDE #1
FAMLIA DA SUBREDE #2
TODOS OS BITS 0
ENDEREO IP DA SUBREDE #2
TODOS OS BITS 0
TODOS OS BITS 0
DISTNCIA DA SUBREDE #2
....
DCA-FEEC-UNICAMP
subrede #1
C1
subrede #2
C1: (1, 1)
C2
C3
subrede #3
C4
subrede #4
C5
subrede #5
48
Chapter 4
A CAMADA DE TRANSPORTE
A camada de transporte e a primeira camada a abstrair a topologia e a tecnologia da subrede de comunicac~ao. Esta camada utiliza o servico de entrega de pacotes da camada de
rede para prover comunicac~ao conavel host a host. Se a camada de rede for baseada em
datagrama, todo o trabalho referente a uma comunicac~ao conavel 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 conavel de pacotes, a camada de transporte tem uma estrutura mais
simplicada, gerenciando principalmente o
uxo de mensagens entre os hosts comunicantes
e as quebras de conex~oes estabelecidas no nvel de camada de rede.
DCA-FEEC-UNICAMP
50
DCA-FEEC-UNICAMP
51
Os protocolos de transporte s~ao classicados pela ISO 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 classicam em tr^es tipos:
Tipo A (livres de erros): apenas as LANs se aproximam desta classe;
Tipo B (transporte conavel de pacotes, mas com a ocorr^encia de quebras de conex~oes):
redes publicas X.25 pertencem a esta classe;
Tipo C (transporte de pacotes n~ao conavel): redes publicas com protocolo IP como
a ARPANET 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 conabilidade do transporte de dados recai sobre a subrede de comunicac~ao. Na arquitetura
TCP/IP o protocolo UDP pertence a esta classe.
Classe 1: Para subredes tipo B, prov^eem recuperac~ao basica de erros. No mais, deixam
a cargo da subrede de comunicac~ao a conabilidade do transporte de dados.
Classe 2: Para redes tipo A, s~ao id^enticos aos de Classe 0, permitindo apenas a multiplexac~ao 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 recuperaca~o
de erros ocorridos na subrede de comunicac~ao. S~ao os protocolos de transporte mais
complexos como e o caso do TCP/IP.
Protocolos classe 4 operam em subredes tipo C que oferecem servicos de datagramas sem
garantia de entrega, preservaca~o da ordem ou aus^encia de duplicac~ao. Portanto, cabe ao
servico de transporte adicionar a conabilidade n~ao oferecida pela camada de rede. Protocolos classe 4 s~ao empregados tambem em subredes tipo 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 situac~oes:
1. durante o estabelecimento de conex~oes de transporte;
2. durante a transfer^encia de TPDUs de dados;
3. durante o encerramento da conex~ao.
Vamos examinar as soluco~es comumente empregadas nos protocolos classe 4 (principalmente o TCP/IP) para estas tr^es situac~oes.
DCA-FEEC-UNICAMP
52
Estabelecimento de Conex~oes
Dois cenarios devem ser gerenciados por um protocolo de transporte classe 4: duplicac~ao de
um TPDU que carrega uma requisic~ao de estabelecimento de conex~ao; e perda de um TPDU
que carrega a conrmac~ao do estabelecimento da conex~ao.
No primeiro caso, ao receber um TPDU duplicado, o destinatario ira supor que uma
segunda conex~ao foi solicitada e alocara recursos para a mesma. 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 soluciona os problemas discutidos acima. Ao enviar um pedido de conex~ao (SYN), o
host solicitante informa um numero inicial de sequ^encia na numerac~ao dos TPDUs de dados
que ele enviara 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 conrmac~ao da conex~ao, o host que a iniciou reconhece Y num TPDU de reconhecimento
(ACK) ou no primeiro TPDU de dados que enviar (terceira fase). Este metodo de estabelecimento de conex~oes (gura 4.1) e imune a duplicac~ao e perda de TPDUs empregados no
estabelecimento de conex~oes.
No primeiro cenario, o host que recebeu a segunda conrmac~ao de conex~ao respondera
com um REJECT na terceira fase, causando a desativac~ao imediata da conex~ao gerada pelo
TPDU duplicado. No segundo cenario, a primeira conex~ao sera desativada por falta do
recebimento de conrmac~ao na terceira fase (apos um timeout na espera da conrmac~ao).
O protocolo TCP/IP emprega o estabelecimento de conex~oes em tr^es fases.
Protocolos de transporte classe 4 como o TCP/IP empregam como mecanismo de conabilidade o reconhecimento e a retransmiss~ao. O reconhecimento usualmente e positivo, isto
e, uma conrmaca~o de recepc~ao e emitida no sentido inverso ao
uxo de TPDUs de dados.
O protocolo pode esperar para enviar o proximo TPDU apenas quando receber o reconhecimento do anterior; ou denir uma janela de N TPDUs que podem ser enviados sem a
necessidade de reconhecimento.
No caso de se empregar janelas, vai-se deslizando a janela a medida que TPDUs de
reconhecimento v~ao sendo recebidos. Este metodo e denominado janela deslizante sendo
ilustrado na gura 4.2.
Uma janela comecando em k e terminando em k + N divide os TPDUs em tr^es categorias:
1. TPDUs de numerac~ao anterior a k podem ser descartados pois foram enviados e tiveram
seu recebimento conrmados;
2. um TPDUs de numerac~ao entre k e k + N pode:
DCA-FEEC-UNICAMP
53
HOST #2
Recebe SYN
Envia ACK reconhecendo Y
ACK
(notifica aplicao)
Recebe ACK (conxo estabelecida)
tempo
DCA-FEEC-UNICAMP
HOST #1
PACOTE i
HOST #1
54
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
A rigor, reconhecimento no TCP/IP estipula o proximo byte que o receptor espera receber.
DCA-FEEC-UNICAMP
55
Encerramento de Conex~oes
DCA-FEEC-UNICAMP
56
HOST #1
Recebe FIN
Envia ACK reconhecendo X
ACK
(informa a aplicao)
Recebe ACK
Recebe FIN
Envia ACK reconhecendo Y
ACK
Recebe ACK
(conexo encerrada neste lado)
tempo
DCA-FEEC-UNICAMP
57
Estas caractersticas s~ao comuns a maioria dos protocolos classe 4. Nesta seca~o apresentaremos algumas peculiariedades do protocolo TCP/IP.
(143.106.1.10, 21)
indica que a aplicac~ao que possui o port 1234 no host 143.106.11.188 esta conectada a que
possui o port 21 no host 143.106.1.10.
DCA-FEEC-UNICAMP
....
APLICAO
PORT
....
APLICAO
PORT
APLICAO
PORT
NMERO
DO PORT
58
PORT
NMERO
DO PORT
CADEIA DE BYTES
MENSAGEM
PROT. TCP/IP
PROT. ICMP
PROT. EGP
TPDU
PROT. UDP
....
TPDU
TIPO DO
DATAGRAMA
DATAGRAMA
PROT. ARP
PROT. IP
PROT. RARP
TIPO DO
QUADRO
QUADRO
INTERFACE DE REDE
MEIO FSICO
BITS
Figura 4.4: Ports permitem uma unica inst^ancia de protocolo de transporte atender multiplas
aplicac~oes.
Um port e dito ativo se atraves deste uma aplicac~ao toma a iniciativa, via chamada
de sistema, para o estabelecimento de uma conex~ao. Um dos par^ametros da chamada e
o par (host, port) que constituira o outro extremo da conex~ao. Este segundo port e dito
passivo, sendo que a aplicac~ao que o detem executa uma chamada de sistema \aceitando" o
estabelecimento da conex~ao.
Dados urgentes (Out-of-band data) s~ao empregados quando uma mensagem deve ser tratada
com maior prioridade. Seja o exemplo de um sistema de automaca~o onde uma aplicaca~o
coleta dados de varios sensores, processa-os e os envia atraves de uma conex~ao de transporte
a uma segunda aplicaca~o para apresentac~ao ao operador. Suponha que a aplicac~ao que
coleta dados percebe um dado fora do limite normal (por exemplo, uma temperatura muito
elevada). Esta informac~ao deve ser tratada prioritariamente as demais.
Dado que a conex~ao de transporte honra a sequ^encia em que os dados foram submetidos
DCA-FEEC-UNICAMP
59
para transmiss~ao, o dado urgente so sera tratado quando todos os dados que o precedem
tiverem sido consumidos. Para esta situac~ao, o protocolo TCP/IP permite que dados enviados por uma conex~ao de transporte sejam taxados como \urgentes". Tais dados permanecem
em sua posic~ao relativa aos demais. Entretanto, a aplicac~ao no outro extremo sera noticada
da exist^encia de dados urgentes na conex~ao, bem como sua posica~o (a partir dos dados ainda
n~ao consumidos). Usualmente, a aplicac~ao consome os dados2 ate que os dados urgentes
atinjam o incio da cadeia. A gura 4.5 ilustra este procedimento.
PORT
SISTEMA DE TRANSPORTE
PORT
APLICAO
APLICAO
(A)
notificao
SISTEMA DE TRANSPORTE
APLICAO
APLICAO
(B)
obteno do offset
SISTEMA DE TRANSPORTE
APLICAO
APLICAO
(C)
dados urgentes
dados
Figura 4.5: A sequ^encia do processamento de dados urgentes. (A) - Aplicac~ao submete dados
urgentes. (B) - Dados urgentes chegam ao destino; aplicac~ao e noticada; aplicaca~o obtem
a posic~ao dos dados urgentes. (C) - Aplicac~ao consome dados regulares ate atingir os dados
urgentes.
Mensagens trocadas via protocolo TCP/IP s~ao transportadas no campo de dados de datagramas e possuem o cabecalho dado pela gura 4.6.
Os campos PORT DE ORIGEM e PORT DE DESTINO identicam os ports da conex~ao
de transporte. Note que o hosts n~ao s~ao estipulados no cabecalho pois os mesmos est~ao
presentes no cabecalho do protocolo IP (veja gura 3.4).
2
DCA-FEEC-UNICAMP
Bits
10
16
PORT DE ORIGEM
60
31
PORT DE DESTINO
32
NMERO DE SEQUNCIA
64
RECONHECIMENTO
96
TAM-CAB
RESERVADO
CDIGO
TAMANHO DA JANELA
128
...
CHECKSUM
DADOS URGENTES
OPES
ENCHIMENTO
DADOS
....
DCA-FEEC-UNICAMP
61
Comportas, por norma, devem manipular datagramas de pelo menos 576 bytes. O valor de 536 e este
valor mnimo menos o tamanho dos cabecalhos dos protocolos IP e TCP.
5 Por raz~
oes de ordem pratica, nunca o limite de 64 Kbytes que um datagrama pode transportar e
empregado.
6 Despreza-se aqui o tempo de processamento nos lados emissor e receptor.
4
DCA-FEEC-UNICAMP
62
timeout = RTT
Este mecanismo de temporizac~ao e deciente por varias raz~oes:
n~ao contempla altas variac~oes de RTT. Esta situac~ao ocorre quando o caminho per-
C^omputo de RTT
Timeout = Timeoutatual
DCA-FEEC-UNICAMP
63
onde
usualmente possui valor 2. Este valor de timeout e mantido ate que um novo valor
de RTT seja computado.
A manutenc~ao do valor de RTT somada a estrategia de retrac~ao e conhecida na literatura
como Algoritmo de Karn.
Controle de Congestionamento
J = min(JN; JC )
A tecnica do Decrescimo Multiplicativo estipula que, ocorrido um timeout, o tamanho da
janela de congestionamento e dividido por 2. Para os segmentos na janela ainda por transmitir, e utilizada retraca~o no timeout. Esta tecnica colabora para aliviar o congestionamento,
pois diminuindo a janela diminui-se tambem o trafego medio pela conex~ao.
A tecnica da Partida Lenta evita que novas conex~oes causem congestionamento na rede.
Assim que a conex~ao e estabelecida, a janela de congestionamento e feita igual a um tamanho
maximo de segmento (MSS): JC = MSS . A cada reconhecimento recebido (sem necessidade
de retransmiss~ao) JC e aumentada de um MSS ate atingir a metade da janela negociada (JN).
Neste ponto, o protocolo entra numa fase de prevenc~ao contra congestionamento. Nesta fase
o incremento de um MSS so se da caso todos os segmentos da janela sejam reconhecidos
(isto e, caso a janela esteja avancando a uma taxa constante).
O produto banda*atraso (BD: bandwidth*delay) de um segmento de rede dene uma quantidade de bits em tr^ansito pela rede, sendo considerado alto quando supera a casa dos 106.
Exemplo de redes com alto produto BD s~ao as que utilizam links de satelite (devido ao
alto atraso) e de bra otica (devido a alta banda). Protocolos de transporte em tais redes
operando com janelas de tamanho padr~ao n~ao conseguem manter a rede permanentemente
ocupada (isto e, com bytes permanentemente em tr^ansito). Esta \lacuna de bytes" compromete a banda que uma conex~ao TCP/IP pode atingir em redes com alto produto BD.
Em particular, no protocolo TCP/IP as tecnicas de temporizac~ao e controle de congestionamento apresentadas a seguir s~ao ineciantes para redes com alto produto BD. A
literatura apresenta algumas possiveis extens~oes do protocolo, geralmente adicionando-se
novas opc~oes no cabecalho sem a necessidade de alterar os campos padr~ao. Isto permite
que implementac~oes cujas extens~oes ainda n~ao foram implementadas simplesmente ignorem
DCA-FEEC-UNICAMP
64
estas novas opc~oes e funcionem normalmente sem leva-las em conta. Duas estrategias compensatoria para redes com alto produto BD s~ao:
1. janelas de alta capacidade;
2. reconhecimentos seletivos.
O cabecalho do protocolo TCP/IP reserva 16 bits para a especicac~ao do tamanho da janela,
estando portanto limitado em 64 Kbytes. Redes com alto produto BD podem abrigar varias
janelas de 64 Kbytes em tr^ansito. Prop~oe-se aumentar este limite para alem dos 64 KBytes
para manter a rede permanentemente ocupada. Entretanto como o TCP/IP retransmite
toda a janela, a perda de um pacote ira forcar uma retransmiss~ao de uma vasta quantidade
de bytes, comprometendo o desempenho da conex~ao. A proposta seguinte visa exatamente
evitar a retransmiss~ao de toda a janela.
DCA-FEEC-UNICAMP
Bits
16
65
31
PORT DE ORIGEM
PORT DE DESTINO
TAMANHO DA MENSAGEM
CHECKSUM
32
64
DADOS
....
Chapter 5
A CAMADA DE APLICACA~ O
A camada de aplicaca~o dene um conjunto de servicos manipulados diretamente pelo usuario
ou pelo administrador de sistema. Tais servicos s~ao acessados atraves de protocolos e
disponveis em aplicativos diversos. Muitos destes aplicativos fazem parte do sistema, enquanto outros mais sosticados s~ao produtos comercializados por terceiros.
Na arquitetura TCP/IP os servicos da camada de aplicac~ao utilizam a losoa clienteservidor. Os aplicativos s~ao clientes de servicos denidos pelas implementac~oes TCP/IP.
Clientes e servidores se comunicam atraves de protocolos de aplicaca~o que regem a interaca~o
cliente-servidor. Protocolos de aplicac~ao se utilizam dos protocolos TCP/IP e UDP para o
envio/recepc~ao de suas mensagens.
Servidores prov^eem ports de comunicac~ao para ns de acesso aos servicos. Tais ports
s~ao reservados e possuem numero xo independente da implementac~ao (os chamados ports
notaveis). A maioria das implementac~oes TCP/IP denem um arquivo no diretorio /etc
denominado services. Algumas linhas deste arquivo s~ao apresentadas abaixo:
# @(#)services 1.16 90/01/03 SMI
#
# Network services, Internet style
#
tcpmux 1/tcp # rfc-1078
systat 11/tcp users
netstat 15/tcp
ftp-data 20/tcp
ftp 21/tcp
telnet 23/tcp
smtp 25/tcp mail
time 37/tcp timserver
time 37/udp timserver
name 42/udp nameserver
whois 43/tcp nicname # usually to sri-nic
sunrpc 111/udp
sunrpc 111/tcp
66
DCA-FEEC-UNICAMP
67
HOST #2
espao do usurio
cliente
TELNET
espao do usurio
protocolo NVT
servidor
TELNET
INTERNET
linha serial
terminal
sistema operacional
pseudo
terminal
sistema operacional
DCA-FEEC-UNICAMP
68
Virtual Terminal (NVT). NVT disciplina uma troca de dados orientada a byte. Os caracteres
denidos pelo protocolo para troca de dados s~ao baseados no padr~ao ASCII norte-americano
(USASCII). O padr~ao USASCII dene representac~ao em bytes para caracteres de texto e de
controle (como aqueles associados ao movimento do cursor, por exemplo).
Um problema presente na implementac~ao de terminais remotos e o tratamento de caracteres especiais, como o CRTL-C. Via de regra os sistemas operacionais reservam determinadas sequ^encias de caracteres para controle de execuc~ao. No UNIX os caracteres CRTL-C
e CRTL-Z n~ao s~ao interpretados como entrada de dados, mas sim como, respectivamente,
interrupc~ao e passagem para background do programa em execuc~ao. A exist^encia destes
caracteres demanda um tratamento especial numa sess~ao de terminal remoto. Por exemplo,
um CRTL-C deve interromper o programa executando no terminal remoto n~ao no terminal
local (o cliente TELNET !).
O protocolo TELNET redene no lado do cliente os caracteres de interrupc~ao como
caracteres normais de dados. Em outras palavras, o sistema operacional local vai ignora-los.
Tais caracteres s~ao codicados numa sequ^encia n~ao ASCII padronizada pelo NVT e enviados
ao servidor remoto. O servidor os reconverte para a representac~ao local e os submete ao
pseudo terminal. Como o servidor n~ao redeniu estes caracteres como de dados, os mesmos
ir~ao ser tratados como tal pelo sistema operacional remoto (por exemplo, terminando o
processo em execuc~ao).
O protocolo TELNET permite ainda a denica~o de par^ametros tal como o tipo de terminal utilizado pelo cliente. O protocolo TELNET e disponvel na camada de aplicac~ao atraves
de programa interativo de mesmo nome.
FTP e um protocolo para transfer^encia de arquivos via Internet. O modo que o protocolo
opera e ilustrado na gura 5.2. Duas conex~oes de transporte s~ao estabelecidas: uma conex~ao
utilizada para interaca~o cliente-servidor (denominada conex~ao de controle) e outra exclusiva para transfer^encia de arquivos (denominada conex~ao de dados). A conex~ao de dados
permanece ativa durante toda a interac~ao cliente-servidor.
O protocolo FTP utiliza as denic~oes NVT para a interac~ao cliente-servidor (via conex~ao
de controle). O modo de transfer^encia de arquivos pode ser: ASCII, binario ou EBCDIC. O
modo de transfer^encia e estabelecido pelo cliente.
Arquivos podem ser transferidos no sentido do host do cliente para o host do servidor
ou vice-versa. O arquivo no host destino pode receber o mesmo nome do host de origem
ou um outro nome escolhido pelo cliente. O protocolo permite ainda que o cliente opere
diretorios tanto no lado do cliente quanto no lado do servidor (listando conteudos, criando
novos diretorios, etc).
DCA-FEEC-UNICAMP
HOST #1
69
HOST #2
espao do usurio
cliente
espao do usurio
protocolo NVT
FTP
servidor
FTP
transferncia
transferncia
de arquivos
de arquivos
INTERNET
conexes TCP/IP (full-duplex)
sistema operacional
sistema operacional
O protocolo NFS foi desenvolvido pela SUN Microsystems para compartilhamento on-line
de arquivos. Diferente do acesso interativo provido pelo FTP, o acesso on-line e muito mais
conveniente: permite a manipulac~ao de arquivos remotos da mesma forma que arquivos
locais. Como o protocolo n~ao e proprietario da SUN, praticamente todos os fabricantes de
computadores o adotaram para ns de interoperabilidade em termos de compartilhamento
de arquivos.
O protocolo pode utilizar tanto o transporte sem conex~ao (UDP) como o transporte com
conex~ao (TCP/IP). O transporte sem conex~ao e mais recomendado para redes locais ou
proximas. Implementac~oes do protocolo NFS sobre o UDP empregam seu proprio esquema
de reconhecimento e retransmiss~ao, tornando-o imune a eventuais falhas de comunicac~ao.
O protocolo permite a servidores exportar sistemas de arquivos para um conjunto de
clientes (ou para toda a Internet). Clientes podem montar estes sistemas de arquivos criando
refer^encias locais para os mesmos (sem copia-los). A montagem de um sistema de arquivos
remoto exige uma interac~ao cliente-servidor para ns de autenticac~ao.
A implementaca~o do protocolo NFS exige alterac~ao do sistema operacional tanto no lado
cliente quanto no lado servidor. O protocolo sup~oe a exist^encia de um sistema de arquivos
virtual (ver gura 5.3). Quando um arquivo e referenciado o sistema de arquivos virtual
examina se o mesmo faz parte do sistema de arquivos local ou pertence a um sistema de
arquivos remoto (montado localmente). Se o arquivo for local o sistema de arquivos virtual
deixa a cargo do sistema de arquivos local a sua manipulac~ao. Caso contrario, se o arquivo
pertencer a um sistema de arquivos remoto, o sistema de arquivos virtual interage com o
servidor NFS para a sua operac~ao.
DCA-FEEC-UNICAMP
70
A interac~ao cliente-servidor NFS permite que todas as operac~oes sobre arquivos locais
sejam conduzidas sobre arquivos remotos de forma totalmente transparente. Por exemplo,
um cliente NFS pode:
HOST #1
HOST #2
SISTEMA DE ARQUIVOS
referncia
local
SISTEMA DE
VIRTUAL
referncia
remota
ARQUIVOS LOCAL
CLIENTE
NFS
"montagem" remota
protocolo NFS
RPC
SERVIDOR
NFS
SISTEMA DE
ARQUIVOS LOCAL
RPC
conexo TCP/IP ou
rota de datagrama
INTERNET
DCA-FEEC-UNICAMP
71
SUN com o proposito de servir de base para o NFS. Muitos autores consideram o RPC
como um protocolo de sess~ao (camada 5 do modelo OSI/ISO) e o XDR um protocolo de
apresentac~ao (camada 6 do modelo OSI/ISO).
DCA-FEEC-UNICAMP
72
To: eleri@dca.fee.unicamp.br
Subject: Visita do prof. Demazeau ao Brasil
Cc: Yves.Demazeau@imag.fr
Status: RO
DCA-FEEC-UNICAMP
73
Caso o destinatario n~ao seja reconhecido pelo servidor, a sess~ao se encerra com a mensagem:
dca:
DCA-FEEC-UNICAMP
74
SG
SG
CLIENTE
SG
COMPORTA
SG
SG
SG
SG
SG
SG
SG
SG
INTERNET
HOST
DCA-FEEC-UNICAMP
75
O protocolo SNMP permite um cliente inspecionar uma variavel MIB ou alterar seu conteudo
num determinado host ou comporta. A determinac~ao de quais variaves MIB devem ser lidas
ou alteradas e tarefa dos aplicativos de gerenciamento de rede, n~ao do administrador de
sistema. O aplicativo interage com o administrador num nvel muito mais alto que o SNMP.
O protocolo SNMP estabelece que as mensagens trocadas entre clientes e servidores
devem ser codicadas na notac~ao ASN.1 (Abstract Syntax Notation One) padronizada pela
ISO. ASN.1 representa um conjunto de atributos numa notac~ao similar a estruturas em C
ou registros em Pascal.
O protocolo SNMP dene apenas cinco operac~oes:
DCA-FEEC-UNICAMP
76
APLICATIVO
(gerenc. de redes)
SERVIDOR DE
GERENCIAMENTO
PROTOCOLO SNMP
PROTOCOLO SNMP
get-request
get-next-request
set-request
INTERNET
MANAGEMENT
INFORMATION
BASE (MIB)
SOFTWARE DE REDE
traps
HARDWARE DE REDE
get-response
trap
linhas fsicas
CMOT e uma implementaca~o do protocolo CMIP (Common Management Information Protocol) para redes TCP/IP. CMIP e um protocolo ISO e portanto aderente ao modelo de
refer^encia OSI. Do ponto de vista estrutural, o protocolo CMOT e similar ao SNMP: utiliza
bases de informac~ao de gerenciamento (MIBs) e codica as mensagens na notac~ao ASN.1.
CMOT divide os componentes de gerenciamento em gerentes e agentes. Os agentes
coletam informac~ao de gerenciamento, executam comandos e efetuam testes. Os gerentes
recebem informac~ao dos agentes, processam esta informac~ao e geram comandos para os
agentes.
Cada camada do modelo OSI dene certas entidades de gerenciamento, as LME (Layer
Management Entities). As LMEs s~ao mantidas por processos de aplicac~ao denominados
SMAP (System Management Application Process) que se comunicam via protocolo CMIP.
Os SMAP podem ter o papel de gerente ou agente dependendo de quem esta interagindo
diretamente com a aplicac~ao de gerenciamento de redes. A gura 5.6 ilustra a arquitetura
CMOT.
DCA-FEEC-UNICAMP
77
CLIENTE
APLICATIVO
(gerenc. de redes)
protocolo CMIP
SMAP
SMAP
INTERNET
LME camada N
camada N LME
LME camada 2
camada 2 LME
LME camada 1
camada 1 LME
GERENTE
AGENTE
5.5 Hipertexto/Hipermdia
Encontra-se em vias de padronizac~ao protocolos para permitir o acesso a documentos hipermdia
numa internet. Tais documentos combinam texto, imagens, audio e vdeo e vem substituindo comunicac~ao pela Internet via texto. Protocolos hipermdia suportam, por exemplo,
as seguintes aplicac~oes:
HTTP (Hypertext Transfer Protocol) e um protocolo de representac~ao de documentos hipertexto/hipermdia. Tais documentos s~ao armazenados em servidores denominados WWW
(World Wide Web) e transferidos via Internet para apresentac~ao no terminal do cliente.
Toda a composic~ao do documento e realizada pelo cliente, cabendo ao servidor apenas seu
armazenamento e localizac~ao.
DCA-FEEC-UNICAMP
78
Os documentos transferidos pelo protocolo HTTP s~ao identicados por um localizador
representado no padr~ao URL (Uniform Request Locator). Este padr~ao localiza o documento
atraves do host e do diretorio no qual esta armazenado. Por exemplo, o localizador
http://dca.fee.unicamp.br/artigos/indice.html
DCA-FEEC-UNICAMP
79
Numa vasta internet e impossivel atribuir nomes simbolicos com a garantia de unicidade ou
resolver nomes de forma ecaz. A soluc~ao encontrada foi descentralizar tanto a atribuica~o
quanto a resoluca~o de nomes. Nomes s~ao compostos segundo uma hierarquia de domnios.
Domnios se dividem em geogracos e ociais. Domnios geogracos possuem o codigo do
pas no nvel mais alto (br para o Brasil).
Domnios ociais possuem os seguintes codigos no nvel mais alto:
DCA-FEEC-UNICAMP
80
DCA-FEEC-UNICAMP
81
A partir do nvel mais alto, os domnios se dividem em sub-domnios como ilustra a gura
5.9. Por exemplo, UNICAMP e um sub-domnio do domnio BR; FEE e um sub-domnio de
UNICAMP e DCA e um sub-domnio de FEE. Assim, para se evitar con
itos na atribuica~o
de nomes simbolicos, adiciona-se a hierarquia de domnios ao nome. Por exemplo,
leblon.dca.fee.unicamp.br
se refere ao host de nome simbolico leblon pertencente ao domnio DCA contido no domnio
FEE contido no domnio UNICAMP contido no domnio BR.
.
RAIZ
domnios geogrficos
domnios oficiais
....
NET
INT
GOV
EDU
COM
MIL
ORG
AU
BR
....
....
CMU
MIT
BERKELEY
UNICAMP
USP
PUC-RIO
....
DCC
FEE
FEM
....
DCA
DT
DECOM
O mapeamento nome-endereco IP e feito de forma descentralizada por um sistema denominado Sistema de Nomes por Domnio (DNS: Domain Name System). Neste sistema, um
conjunto de servidores de nomes cooperam na resoluc~ao de nomes. Cada domnio possui
um ou mais servidor de nomes. Este servidor e capaz de resolver os nomes pertencentes ao
domnio ou encontrar um servidor mais apropriado para a resoluca~o.
Ao receber uma requisic~ao para resoluc~ao de nome, o servidor inicia a resoluc~ao do
domnio mais especco para o mais geral. Por exemplo, seja o comando
telnet brahma
DCA-FEEC-UNICAMP
82
USP
UNICAMP
FEE
DCC
...
...
UFMG
DCC
UNESP
...
resoluo direta
DCA
...
DENSIS
resoluo reversa
DCA-FEEC-UNICAMP
83
Usualmente os servidores de nomes, alem de resolver os nomes de seu domnio s~ao capazes de resolver alguns nomes pertencentes a domnios adjacentes. Estes nomes usualmente
pertencem a maquinas \importantes" tais como comportas e servidoras.
Servidores de nomes mantem cache em disco sobre os ultimos nomes que foram resolvidos
externamente. A exist^encia de cache otimiza o processo de resoluc~ao de nomes como um
todo, minimizando o redirecionamento de requisic~oes.
domain
IN
IN
IN
type
A
HINFO
CNAME
143.106.11.188
"PC-486" "OS/2 V2.11"
s302.dca.fee.unicamp.br.
named no UNIX.
Por exemplo, o nslookup no UNIX.
DCA-FEEC-UNICAMP
84
Neste exemplo, o host de nome s302 pertence ao domnio IN (Internet); possui como endereco IP 143.106.11.188 (A: address); e um hardware PC-486 rodando OS/2 V2.11 (HINFO:
host info); e tem como nome can^onico (CNAME) s302.dca.fee.unicamp.br.
Pode ocorrer que uma aplicac~ao deseje conhecer o nome simbolico de um host a partir
de seu endereco IP. Por exemplo, a chamada gethostbyaddr no UNIX retorna informac~oes
sobre um host (inclusive seu nome simbolico) a partir de seu endereco IP. Temos agora
um mapeamento inverso que e processado tambem pelo DNS. Nese caso o DNS utiliza um
arquivo de mapeamento reverso (exemplo: fee.rev). Neste arquivo, um host com o endereco
IP 143.106.11.188 possui como entrada:
; hostname
;
188.11.106.143.in-addr.arpa
domain
IN
type
PTR
Em caso de mapeamento inverso, o servidor DNS resolve como numa resoluc~ao direta
procurando pelo host formado pela conjunc~ao de seu endereco IP em notaca~o decimal reversa
e do domnio ctcio in-addr.arpa.
BIBLIOGRAFIA
1. Comer, D.E., Internetworking with TCP/IP - Volume I: Principles, Protocols and
Architecture, Prentice-Hall International Editions, 1991.
2. Comer, D.E., Stevens, D.L., Internetworking with TCP/IP - Volume II: Design, Implementation and Internals, Prentice-Hall International Editions, 1991.
3. Comer, D.E., Stevens, D.L., Internetworking with TCP/IP - Volume III: Client-Server
Programming and Applications, Prentice-Hall International Editions, 1993.
4. Feit, S., TCP/IP - Architecture, Protocols and Implementation, McGraw-Hill, 1993.
5. Hunt, C., TCP/IP Network Administration, O'Reilly & Associates, Inc., 1992.
6. Kochan, S.G., Wood, P.H., Unix Networking, Hyden Books, 1989.
7. Rose, M.T., The Simple Book - An Introduction to Management of TCP/IP-based
Internets, Prentice-Hall, 1991.
8. Sun Microsystems Inc., Networking Programming Guide, 1990.
85