NDICE
1.
2.
3.
4.
INTRODUO...................................................................................................................... 3
1.1.
SERVIOS EM REDES...................................................................................................4
1.2.
ESCOPO DA INTERNET.................................................................................................8
WANS E LANS.............................................................................................................. 12
2.2.
A TECNOLOGIA ETHERNET........................................................................................13
2.3.
2.4.
2.5.
INTERLIGAO EM REDES........................................................................................19
ENDEREAMENTO........................................................................................................... 21
3.1.
3.2.
ENDEREO DE LOOPBACK........................................................................................24
3.3.
3.4.
UM EXEMPLO...............................................................................................................26
PROTOCOLOS................................................................................................................... 28
4.1.
4.2.
4.3.
PROTOCOLOS DE TRANSPORTE..............................................................................32
PROTOCOLOS DE REDE.............................................................................................38
Pg. 1/85
Arquitetura TCP/IP
5.
ROTEAMENTO................................................................................................................... 47
5.1.
5.2.
ALGORITMOS DE ROTEAMENTO...............................................................................48
PROTOCOLOS DE ROTEAMENTO.............................................................................52
ROTEAMENTO MULTICAST.........................................................................................59
6.
7.
8.
APLICAES..................................................................................................................... 67
8.1.
TELNET.........................................................................................................................67
8.2.
8.3.
8.4.
8.5.
9.
FORMATO DO DATAGRAMA........................................................................................79
9.2.
9.3.
10.
BIBLIOGRAFIA............................................................................................................... 85
Pg. 2/85
Arquitetura TCP/IP
1. INTRODUO
sistema pelo qual os computadores se comunicam, bem como um conjunto de convenes para
interconexo em redes e para roteamento. Denominado oficialmente Pilha de Protocolos de
Cristiano Alan Torres
Pg. 3/85
Arquitetura TCP/IP
interligao em redes TCP/IP, e geralmente citado como TCP/IP, essa pilha pode ser utilizada
para comunicao em qualquer conjunto de redes interconectadas. Algumas empresas, por
exemplo, utilizam o TCP/IP para interconectar todas as redes de sua organizao, ainda que a
empresa no se comunique com redes externas. Outros grupos utilizam o TCP/IP para
estabelecer comunicaes entre sites geograficamente distantes.
Nos Estados Unidos, a National Science Foundation (NSF), o Department of Energy (DOE), o
Department of Defense (DOD), a Health and Human Services Agency (HHS) e a National
Aearonautics and Space Administration (NASA) participaram do financiamento da Internet e
utilizam o TCP/IP para conectar muitas de suas instalaes de pesquisa. A interligao em
redes resultante permite que os pesquisadores de instituies conectadas compartilhem
informaes com seus colegas de todo o mundo com a mesma facilidade com que
compartilham informaes com pesquisadores da sala ao lado. Um sucesso extraordinrio, a
Internet demonstra a viabilidade da tecnologia TCP/IP e mostra como pode-se lidar com uma
diversidade de tecnologias de redes.
1.1.
SERVIOS EM REDES
Grande parte da abordagem de servios ter como foco padres denominados protocolos.
Protocolos como TCP e IP fornecem as regras para a comunicao. Eles contm os detalhes
de formatos de mensagens, descrevem o que um computador faz ao receber uma mensagem e
especificam como um computador trata os erros ou outras condies anormais. De certa forma,
um protocolo de comunicao permite que algum especifique ou entenda uma comunicao
de dados sem depender de conhecimentos minuciosos do hardware da rede de um fornecedor
especfico. Todos os servios de rede so descritos por protocolos.
Os servios de aplicativos da Internet mais comum e difundidos incluem:
Pg. 4/85
Arquitetura TCP/IP
Login remoto. O login remoto permite que, de seu computador, um usurio entre em
conexo com uma mquina remota e estabelea uma sesso interativa de login. O login
remoto faz com que uma janela na tela do usurio parea conectar-se diretamente com a
mquina remota, enviando cada toque no teclado a uma mquina remota e exibindo cada
caracter que o computador remoto imprime na janela do usurio. Quando a sesso de login
remoto termina, o aplicativo retorna o usurio ao sistema local.
Pg. 5/85
Arquitetura TCP/IP
No nvel da camada de rede, uma interconexo proporciona extensos tipos de servios que
todos os programas aplicativos utilizam:
Servio de entrega de pacotes sem conexo. Este servio, explicado com detalhes ao
longo do texto, forma a base para todos os servios de interligao em redes. A entrega
sem conexo constitui uma preocupao do servio oferecido pela maioria das redes
distribuidoras de encomendas. Isso simplesmente significa que a interligao em redes
TCP/IP promove o roteamento de pequenas mensagens de uma mquina para outra, com
base nas informaes do endereo contidas na mensagem. Como o servio sem conexo
promove o roteamento de cada pacote separadamente no h garantia de entrega, e nem
de entrega na mesma ordem na qual os pacotes forma transmitidos. J que quase sempre
h um mapeamento direto para o hardware, o servio sem conexo extremamente
eficiente. O mais importante que a entrega de pacotes, sem conexo, como base para
todos os servios de interligao em redes, torna os protocolos TCP/IP adaptveis a uma
ampla gama de hardware de redes.
Muitas redes oferecem servios bsicos semelhantes aos mencionados acima, de modo que
algum poderia questionar o que diferencia os servios TCP/IP de outros. As principais
caractersticas diferenciadoras so:
Pg. 6/85
Arquitetura TCP/IP
Pg. 7/85
Arquitetura TCP/IP
1.2.
ESCOPO DA INTERNET
A arquitetura TCP/IP surgiu com a criao de uma rede patrocinada pelo Departamento de
Defesa dos Estados Unidos. Uma das tarefas essenciais dessa rede seria manter comunicados,
mesmo que apenas uma parte, rgos do governo e universidades, numa ocorrncia de
guerras ou catstrofes que afetassem os meios de comunicao daquele pas. Dessa
necessidade, surgiu a ARPANET, uma rede que permaneceria intacta caso um dos servidores
perdesse a conexo. A ARPANET necessitava ento de um modelo de protocolos que
assegurasse tal funcionalidade esperada, mostrando-se confivel, flexvel e de fcil
implementao. ento desenvolvida a arquitetura TCP/IP, que se torna um padro de fato. A
ARPANET cresceu e tornou-se a rede mundial de computadores Internet. A utilizao (e
facilidades) do padro TCP/IP utilizado pelos fabricantes de outras redes, com a finalidade da
conectividade com a Internet. A normalizao do TCP/IP chegou aps a sua utilizao em
massa.
A Internet cresceu, abrangendo centenas de redes individuais localizadas nos Estados Unidos e
na Europa. Conectou aproximadamente 20.000 computadores de universidades, rgos
pblicos e laboratrios de pesquisa organizacional. O tamanho e a utilizao da Internet
continuou em ascenso muito mais acelerada do que o previsto. No final de 1987, estimou-se
que o crescimento alcanara 15% ao ms. Em torno de 1994, a Internet alcanava mais de 3
milhes de computadores em 61 pases.
A utilizao de protocolos TCP/IP e o crescimento da Internet no se limitaram a projetos
financiados pelo governo. Grandes companhias voltadas para o setor de computadores
conectaram-se Internet, bem como muitas outras organizaes de grande porte como
companhias de petrleo, indstria automobilstica, empresas de eletrnica, companhias
farmacuticas e portadoras de telecomunicaes. As empresas de pequeno e mdio porte
comearam a conectar-se na dcada de 1990. Alm
protocolos TCP/IP em suas interligaes em redes corporativas, mesmo tendo optado por no
participar da Internet.
Cristiano Alan Torres
Pg. 8/85
Arquitetura TCP/IP
InterNIC
IRTF
para
desenvolvimento de protocolos.
RFC (Request for Comments) so documentos tcnicos relacionados aos
Pg. 9/85
Arquitetura TCP/IP
IETF
Pg. 10/85
Arquitetura TCP/IP
Independente do tipo de conexo que faam, seja entre computadores ou entre terminais e
computadores, as redes de comunicao dividem-se em dois tipos bsicos: de comutao de
circuitos (tambm conhecidas como redes baseadas em conexes) e de comutao de pacotes
(conhecidas, ainda, como redes sem conexo).
A comutao por circuitos opera formando uma conexo dedicada entre duas pontas. O
sistema telefnico dos Estados Unidos utiliza uma tecnologia de comutao de circuitos
uma chamada telefnica estabelece um circuito da linha de quem telefona, atravs de uma
central de comutao local, passando por linhas do tronco, at uma central de comutao
remota e, finalmente, ao destinatrio da chamada. Enquanto um circuito estiver aberto, o
equipamento telefnico testa o microfone vrias vezes, converte os sinais para o formato
digital e os transmite atravs do circuito para o receptor. O transmissor tem a garantia de
que os sinais sero distribudos e reproduzidos, pois o circuito oferece um percurso de
dados seguro, de 64 kpbs (mil bits por segundo), o mnimo necessrio para o envio de voz
digitalizada. A vantagem da comutao de circuitos reside na sua capacidade segura: uma
vez que um circuito estabelecido, nenhuma outra atividade de rede poder reduzir a
capacidade do circuito. A desvantagem da comutao de circuitos o alto custo: o preo
fixo, independente do trfego. Por exemplo, o preo de uma ligao telefnica o mesmo,
ainda quando as duas pontas no se comunicam.
Pg. 11/85
Arquitetura TCP/IP
hardware da rede envia os pacotes aos seus respectivos destinos onde o software os
rene novamente em um nico arquivo. A grande vantagem da comutao de pacotes a
possibilidade de realizar simultaneamente vrias comunicaes entre computadores, com
conexes entre equipamentos compartilhados por todos os pares de equipamentos que
esto se comunicando. A desvantagem que medida que a atividade se intensifica, um
determinado par de computadores conectados entre si recebe uma capacidade menor da
rede. Ou seja, toda vez que uma rede de comutao de pacotes estiver sobrecarregada,
os computadores conectados a ela tero que esperar at poderem enviar pacotes
adicionais.
2.1.
WANs e LANs
Pg. 12/85
Arquitetura TCP/IP
campus, e funciona entre 10 Mbps e 2 Gbps (bilhes de bits por segundo). J que essas
tecnologias operam em pequenas reas, o retardo de transmisso bem menor do que o das
tecnologias de rede de longas distncias, o qual pode durar desde alguns dcimos de um
milissegundo, at no mximo dez milissegundos.
2.2.
A TECNOLOGIA ETHERNET
Ethernet o nome dado a uma tecnologia de rede local popular, de comutao de pacotes; a
maioria das empresas de mdio e grande porte a utiliza.
CABO DA ETHERNET
Com o avano da tecnologia foi possvel construir redes Ethernets que no necessitam da
proteo eltrica de um cabo coaxial. Chamada de Ethernet de pares tranados, essa
tecnologia permite que um computador acesse uma rede Ethernet utilizando um par de fios de
cobre normais sem proteo, semelhantes aos utilizados para fazer conexes entre
equipamentos telefnicos. A vantagem desse tipo de tecnologia que, alm de reduzir os
custos, oferece proteo a outros computadores da rede no caso de um usurio desconectar
um nico computador. Em alguns casos, uma tecnologia de pares tranados possibilita que
Cristiano Alan Torres
Pg. 13/85
Arquitetura TCP/IP
uma instituio utilize a Ethernet com a fiao telefnica j existente, sem a adio de novos
cabos. Conhecido tecnicamente como 10Base-T, o esquema de fiao de pares tranados
conecta cada computador a um HUB da Ethernet, como ilustra a Figura 2.2.
Figura 2.2. Cada computador conecta-se a um HUB por cima de um par de fios.
O HUB um dispositivo eletrnico que estimula os sinais num cabo Ethernet. Fisicamente, o
HUB formado por uma pequena caixa que geralmente alojada em um gabinete de fiao;
uma conexo entre um HUB e um computador deve ter menos de cem metros de extenso. Um
HUB necessita de energia eltrica e, talvez, de pessoal qualificado para fazer o monitoramento
e o controle de sua operao na rede. Para a interface com um computador, a conexo a um
HUB parece funcionar do mesmo modo que a conexo direta com coaxial.
A Ethernet uma tecnologia de barramento de difuso de 10 Mbps com mtodo de entrega
sem garantia e controle de acesso distribudo. um barramento porque todas as estaes
compartilham um nico canal de comunicao; de difuso (broadcast) porque todos os
transceptores recebem cada uma das transmisses. O controle de acesso distribudo porque,
ao contrrio de algumas tecnologias de rede, a Ethernet no possui nenhuma autoridade
central
para
permitir
acesso,
vrios
equipamentos
podem
acessar
Ethernet
Pg. 14/85
Arquitetura TCP/IP
mais, o hardware deve observar um intervalo mnimo de tempo entre as transmisses, o que
significa que nenhum par de equipamentos comunicantes pode utilizar a rede sem oferecer aos
demais equipamentos uma oportunidade de acesso.
Apesar de um cabo da Ethernet possuir um comprimento mximo, a rede pode ser aumentada
de duas maneiras: com o auxlio de repetidores e de pontes.
O repetidor pode ser utilizado para transmitir sinais eltricos de um cabo a outro.
Entretanto, no mximo dois repetidores podem ser colocados entre duas mquinas, de
modo que o comprimento total de uma nica Ethernet continua muito pequeno (trs
segmentos de 500 metros cada).
De acordo com a viso do TCP/IP, as Ethernets ligadas por pontes so simplesmente uma outra
forma de conexo fsica de rede. O importante que: Em virtude de a conexo entre cabos
fsicos, fornecida pelas pontes e pelos repetidores, ser transparente para os equipamentos
conectados Ethernet, um sistema nico de rede fsica.
2.3.
A FDDI uma conhecida tecnologia de rede que opera em pequenas reas geogrficas e
oferece uma largura de banda maior do que a Ethernet. Ao contrrio da Ethernet e de outras
tecnologias de redes locais que utilizam cabos para transportar os sinais eltricos, a FDDI utiliza
fibras de vidro e transmite as informaes, convertendo-as em feixes de luz.
O termo quadro deriva-se da comunicao por linhas seriais, nas quais o transmissor configura a informao,
acrescentando sinais especiais antes e aps a transmisso das informaes.
Pg. 15/85
Arquitetura TCP/IP
como utilizam luz, a quantidade de informao transportadas por um nico canal de fibra
ptica significativamente maior do que a dos cabos que transportam sinais eltricos.
A FDDI uma rede token ring de 100 Mbps dotada de um recurso de auto-reparo uma rede
em anel porque forma um circuito fechado, iniciando em um computador, passando por todos
os outros, e novamente retornando ao computador de origem.
Trata-se de uma rede de tecnologia token ring porque utiliza um token como forma de controlar
a transmisso. Quando a rede est inativa, um quadro especial denominado token passa de
estao a estao. Sempre que uma estao tiver que enviar um pacote, ela ter que esperar a
chegada de um token, enviar o pacote e depois passar o token estao seguinte. O token que
est sendo utilizado garante o equilbrio: concede a todas as estaes a oportunidade de enviar
um pacote antes que outra estao envie um segundo pacote.
Figura 2.3. Uma rede FDDI com fibras pticas fazendo a conexo de seis computadores. As setas indicam a direo
do trfego nas fibras e nos computadores conectados entre si.
Pg. 16/85
Arquitetura TCP/IP
Para oferecer um recurso de recuperao automtica de falhas, o hardware da FDDI utiliza dois
anis independentes que se conectam a cada computador. Quando a interface percebe que
no pode comunicar-se com o computador ao lado, o anel de garantia utilizado para contornar
a falha.
A falha talvez seja decorrente da desconexo da fibra (p. ex., um corte acidental). Se as fibras
de ambos os anis seguirem o mesmo percurso fsico, muito provvel que a Segunda fibra
tambm seja desconectada. O hardware da FDDI automaticamente utiliza o anel de rotao
oposta para formar o circulo fechado na direo em que ele ainda est operando. Com isso, os
outros computadores podem continuar se comunicando, mesmo com a ocorrncia da falha.
2.4.
O ATM o nome dado a uma tecnologia de rede de alta velocidade, baseada em conexo, que
vem sendo usada tanto nas redes que operam em pequenas como em grandes reas
geogrficas. Pelos padres correntes, as redes de alta velocidade so aquelas que operam a
uma velocidade de, no mnimo, 100 Mbps; o ATM pode intercambiar informaes com
velocidades de gigabit/segundo. claro que para se obterem velocidades to altas necessrio
um equipamento complexo de ltima gerao. Consequentemente, as redes ATM possuem um
custo mais alto do que as demais tecnologias.
Uma rede ATM utiliza tcnicas de hardware e software especiais:
Uma rede ATM formada por um ou mais comutadores de alta velocidade que so
conectados aos computadores host e a outros comutadores ATM.
O ATM utiliza fibras pticas para fazer conexes, inclusive conexes entre um computador
host e um comutador ATM. As fibras pticas possuem uma velocidade de transferncia
Pg. 17/85
Arquitetura TCP/IP
maior do que a dos fios de cobre; normalmente, a conexo entre um host e um comutador
ATM opera a uma velocidade de 100 ou 155 Mbps.
As camadas mais baixas de uma rede ATM utilizam quadros de tamanhos fixos chamados
clulas. Como as clulas possuem exatamente o mesmo tamanho, o hardware do
comutador ATM pode process-la rapidamente.
A rede ATM difere das redes de comutao de pacotes porque oferece um servio baseado em
conexo. Antes de um computador host conectado a um ATM enviar clulas, ele deve
primeiramente interagir com o comutador para especificar o endereo do destinatrio. A
interao anloga a uma ligao telefnica. O host especifica o endereo do computador
remoto e espera o comutador ATM entrar em contato com o sistema remoto e estabelecer um
caminho (rota fixa). Se o computador remoto no aceitar o pedido, no responder ou se o
comutador no puder alcanar o computador remoto, o pedido para estabelecer a comunicao
falha.
Quando uma conexo feita, o comutador ATM local escolhe um identificador da conexo e
passa-o para o host, juntamente com um mensagem informando o sucesso da conexo. O host
utiliza o identificador da conexo ao enviar ou receber clulas.
Ao terminar a conexo, o host comunica-se novamente com o comutador para que a conexo
seja desfeita. O comutador desconecta os dois computadores. A desconexo equivale a tirar um
telefone do gancho no final de uma ligao telefnica; aps a desconexo, o comutador pode
novamente utilizar o identificador da conexo.
Em virtude de a rede ATM ter sido idealizada para transportar voz, assim como dados, h uma forte relao entre o
ATM e a comutao telefnica.
Pg. 18/85
Arquitetura TCP/IP
2.5.
INTERLIGAO EM REDES
Fisicamente, duas redes s podem ser conectadas por um computador que esteja ligado s
duas. No entanto, uma ligao fsica no fornece a interconexo que imaginamos, porque tal
ligao no garante que o computador vai cooperar com outras mquinas que desejam se
comunicar. Para se ter uma interconexo de rede vivel, necessitamos de computadores que
queiram repassar pacotes de uma rede para outra. Os computadores que conectam entre si
duas redes e repassam pacotes de um para o outro so chamados de gateways de interligao
em redes ou roteadores de interligao em redes. Considere um exemplo que consista de duas
redes fsicas mostradas na Figura 2.4, o roteador R est conectado s redes 1 e 2. Para R atuar
como um roteador, precisa capturar pacotes na rede 1 que so destinados s mquinas na rede
2 e transferi-los e vice-versa.
REDE
"1"
REDE
"2"
Na figura acima, so usadas nuvens para demonstrar redes fsicas, porque o hardware
especfico no tem importncia. Cada rede pode ser uma rede local ou uma rede de longa
distncia, e cada uma pode ter muitos ou poucos hosts acoplados.
Quando conexes de interligao em redes se tornam mais complexas, os roteadores
necessitam saber sobre a topologia da interligao em redes, alm das redes s quais esto
conectados.
Pg. 19/85
Arquitetura TCP/IP
REDE
"1"
R1
REDE
"2"
R2
REDE
"3"
Neste exemplo, o roteador R1 deve transferir da rede 1 para a rede 2 todos os pacotes
destinados a mquinas em qualquer das redes 2 e 3. Para uma grande interligao em redes
composta de muitas redes, a tarefa do roteador de tomar decises sobre por onde enviar
pacotes se torna mais complexa.
Alm de roteadores que conectam entre si redes fsicas, o software necessrio em cada host
para permitir que programas aplicativos usem a interligao em redes como se fosse uma nica
rede realmente fsica. Do ponto de vista da interligao em redes, qualquer sistema de
comunicao capaz de transferir pacotes considerado como uma nica rede, independente do
retardo, da vazo, do tamanho mximo do pacote ou da escala geogrfica.
O protocolo da interligao em redes do TCP/IP trata todas as redes do mesmo modo. Uma
rede local, como uma Ethernet, uma rede de rea maior, como o backbone de ANSNET, ou uma
ligao de ponto a ponto entre duas mquinas, cada uma conta como uma rede.
Pg. 20/85
Arquitetura TCP/IP
3. ENDEREAMENTO
Pensando em uma interligao em redes como uma grande rede igual a qualquer outra rede
fsica. A diferena que a interligao em redes uma estrutura virtual, idealizada por seus
projetistas e totalmente implantada em software. Assim, os projetistas esto livres para escolher
formatos e tamanhos de pacotes, endereos, tcnicas de entrega e assim por diante; nada
orientado pelo hardware. Para endereos, os projetistas de TCP/IP optaram por um esquema
anlogo ao endereamento de rede fsica, no qual a cada host da interligao atribudo um
endereo com nmero inteiro de 32 bits, denominado seu endereo IP. A parte interessante do
endereamento da interligao que os nmeros inteiros so escolhidos cuidadosamente para
tornar o roteamento eficiente. Especificamente, um endereo IP codifica a identificao da rede
qual um host se acopla, assim como a identificao de um nico host nessa rede. Resumindo:
A cada host de uma interligao em redes TCP/IP atribudo um endereo de
interligao em redes nico de 32 bits que usado em todas as comunicaes com
aquele host.
Os bits dos endereos IP para todos os hosts de uma rede dada compartilham um mesmo
prefixo. Conceitualmente, cada endereo um par (netid, hostid) em que netid identifica uma
rede e hostid identifica um host naquela rede. Na prtica, cada endereo IP deve Ter uma das
trs primeiras formas mostradas na Figura 3.1. Dado um endereo IP, seu tipo pode ser
determinado a partir de trs bits de alta ordem, sendo dois bits suficientes para distinguir entre
as trs classes principais:
Endereos do tipo B, que so usados para redes de tamanho mdio que possuem entre
28 (ou seja, 256) e 216 hosts, alocam 14 bits para o netid e 16 bits para o hostid.
Pg. 21/85
Arquitetura TCP/IP
Endereos do tipo C, que possuem menos de 28 hosts, alocam 21 bits para o netid e
somente 8 bits para hostid.
O endereo IP foi definido de tal modo que possvel extrair as partes do netid ou do hostid
rapidamente. Os roteadores, que usam a parte netid de um endereo ao decidir qual o destino
de um pacote, dependem de uma extrao eficiente para alcanar velocidade alta.
0
16
Netid
0 Netid
1 0 Netid
1 1 0 Endereos multicast
24
31
Hostid
Hostid
Hostid
Figura 3.1. As cinco formas de endereos da Internet (IP). As trs primeiras formas, classes A, B e C podem ser
diferenciadas pelos trs primeiros bits.
00001010
00000010
00011110
representado por:
128.10.2.30
Pg. 22/85
Arquitetura TCP/IP
Na realidade, a maioria dos softwares TCP/IP que apresenta ou requer uma pessoa para
manipular um endereo IP usa a notao decimal com ponto. Assim, compreender a relao
entre tipos de endereos IP e nmeros decimais pode ajudar. A tabela da Figura 3.2 resume a
escala de valores para cada tipo.
Classe
A
B
C
D
E
Figura 3.2. A escala de valores decimais que correspondem a cada tipo de endereo IP.
3.1.
Pg. 23/85
Arquitetura TCP/IP
3.2.
ENDEREO DE LOOPBACK
A tabela da Figura 3.2 mostra que nem todos os endereos possveis foram atribudos a
classes. Por exemplo, o endereo 127.0.0.0, num valor da escala da classe A, reservado para
loopback, e utilizado no teste TCP/IP e para a comunicao na mquina local. Quando algum
programa usa o endereo de loopback como destino, o software de protocolo retorna os dados
sem enviar o trfego atravs de qualquer rede. Um pacote enviado a um endereo 127 da rede
no deve aparecer em nenhuma rede. Alm disso, um host ou um roteador nunca deve difundir
informaes sobre roteamento ou alcance para o nmero de rede 127; este no um endereo
de rede.
Pg. 24/85
Arquitetura TCP/IP
3.3.
Codificar informaes de rede em um endereo pode ter suas desvantagens. A mais bvia
delas que os endereos referem-se s conexes de redes, no ao host: se um host se move
de uma rede para outra, seu endereo IP deve mudar.
Outra falha do esquema de endereamento que, quando qualquer rede tipo C cresce alm de
255 hosts, deve ter seu endereo mudado para um endereo tipo B. Apesar de isto parecer um
problema menor, mudar endereos de redes pode tomar muito tempo e ser difcil para depurar.
Coo muitos softwares no so projetados para trabalhar com endereos mltiplos para a
mesma rede fsica, os administradores no podem planejar uma transio tranqila, na qual
introduzam novos endereos lentamente. Ao contrrio, devem interromper o uso de um
endereo de rede, mudar os endereos de todas as mquinas e, ento, recuperar a
comunicao usando o novo endereo de rede.
Saber apenas um endereo de IP, para determinado destino, talvez no seja suficiente; pode
ser impossvel alcanar o destino usando tal endereo. Considere o exemplo da interligao em
redes mostrado na Figura 3.3. Nesta figura, dois hosts, A e B, conectam-se rede 1 quase
sempre se comunicam diretamente usando aquela rede. Assim, os usurios do host A
normalmente devem referir-se ao host B usando endereo IP I3. Existe outro caminho de A at
B, atravs do roteador R, e usado sempre que A envia um pacote com endereo IP I 5
(endereo de B na rede 2). Agora, suponha que a conexo de B para a rede 1 falhe, mas a
mquina em si continue trabalhando. Os usurios em A, que especificam endereos IP I3, no
alcanam B apesar de os usurios que especificam endereos I5 poderem alcanar.
Pg. 25/85
Arquitetura TCP/IP
REDE 1
I2
I1
A
I3
B
I4
I5
REDE 2
Figura 3.3. Um exemplo de interligao em redes com um host de multi-homed, B, que indica um problema com o
esquema de endereamento IP. Se a interface I3 desconectada, A deve usar o endereo I5 para alcanar B,
enviando pacotes atravs do roteador R.
3.4.
UM EXEMPLO
UMC
(Ethernet)
128.10.0.0
ROTEADORES
UNICSUL
(Token)
192.5.48.0
IBPI-NET
10.0.0.0
O exemplo mostra trs redes e os nmeros de rede que lhes foram designados: a IBPI-NET
(10.0.0.0), a UMC (128.10.0.0) e a UNICSUL (192.5.48.0). De acordo com a tabela da Figura
3.2, os endereos tm classes A, B e C, respectivamente.
Cristiano Alan Torres
Pg. 26/85
Arquitetura TCP/IP
A Figura 3.5 mostra as mesmas redes com host, e endereos Internet designados para cada
conexo de rede. Quatro hosts cognominados HOST1, HOST2, HOST3 e HOST4 acoplam-se
s redes; ROUTER1 um roteador que conecta a IBPI-NET e a rede token ring (UNICSUL), e
ROUTER2 um roteador que conecta a rede UNICSUL Ethernet (UMC). O HOST2 tem
conexes tanto na Ethernet quanto na rede token ring, podendo, assim, alcanar destinos
diretamente em qualquer rede. Apesar de um host de multi-homed, como HOST2, poder ser
configurado para rotear pacotes entre as duas redes, a maioria dos sites usa computadores
dedicados como roteadores, a fim de evitar sobrecarregar sistemas de computao
convencionais com o processamento requerido pelo roteamento. Na figura, um roteador
dedicado, ROUTER2 , executa a tarefa de rotear trfego entre a Ethernet e as redes token ring.
UMC (Ethernet)
128.10.0.0
128.10.2.3
Host
2
128.10.2.8
Host
3
128.10.2.26
Host
4
192.5.48.3
192.5.48.7
128.10.2.70
UNICSUL
(Token)
192.5.48.0
192.5.48.6
Router2
10.0.0.37
IBPI-NET
Router1
192.5.48.1
Host
1
Figura 3.5. Exemplo de designao de endereos IP para roteadores e hosts acoplados a trs redes da figura
anterior.
Pg. 27/85
Arquitetura TCP/IP
4. PROTOCOLOS
Falha de hardware. Um host ou roteador pode falhar tanto porque o hardware falha como
porque o sistema operacional entra em colapso. Um enlace de transmisso de rede pode
falhar ou ser desconectado acidentalmente. O software de protocolo necessita detectar tais
falhas e recuperar-se delas, se possvel.
Pg. 28/85
Arquitetura TCP/IP
Duplicao de dados ou erros seqenciais. Redes que oferecem rotas mltiplas podem
transmitir dados fora de seqncia ou podem transmitir duplicatas de pacotes. Os
protocolos necessitam reorganizar os pacotes e remover algumas duplicatas.
4.1.
Existe um modelo desenvolvido pela ISO (International Standards Organization) usado para
descrever a estrutura e funcionamento dos protocolos de comunicao de dados denominado
Modelo de Referncia OSI (Open Systems Interconnect). A base deste modelo a diviso da
complexidade do projeto organizando a rede em camadas, com nveis de abstrao diferentes
definindo uma pilha de protocolos. Ele contm sete camadas, sendo cada uma, responsvel por
oferecer servios s camadas superiores de uma forma transparente, ou seja, as demais
camadas no precisam saber de detalhes da implementao do servio implementado nesta
camada.
Camada
7
6
5
4
3
2
1
Funcionalidade
Aplicativo
Apresentao
Sesso
Transporte
Rede
Enlaces de Dados
Conexo Fsica
Figura 4.1. Modelo OSI de referncia das sete camadas para o protocolo.
Camada fsica. Especifica um padro para a interconexo fsica entre hosts e comutadores
de pacote de rede, e tambm os procedimentos usados para transferir pacotes de uma
mquina para outra.
Pg. 29/85
Arquitetura TCP/IP
Camada de transporte. Garante que o destino recebe os dados extamente da forma que
eles tenham sido mandados. Para isso ela tambm oferece servios com conexo e sem
conexo, como a camada de redes, mas estes so melhorados. A camada de rede faz
parte da sub-rede de comunicao, pertence concessionria e pode variar de uma rede
para outra. Com a camada de transporte possvel rodar vrios programas de aplicao
sobre redes diferentes, uma vez que se utiliza primitivos padres da camada de transporte.
Camada sesso. Permite que os usurios estabeleam uma sesso, ou seja, um ambiente
iniciado a partir de uma conexo e que permite a transferncia organizada de dados. Alm
disso, gerencia os dilogos, ou seja, o controle de quem deve ser a vez de conversar.
Existem
conexes
full-duplex,
onde
os
dados
se
movem
nos
dois
sentidos
Pg. 30/85
Arquitetura TCP/IP
4.2.
Aplicativo
Mensagens ou Fluxos
Transporte
Inter-rede
Datagramas IP
Interface de Redes
Hardware
Figura 4.2. As quatro camadas conceituais do software TCP/IP e a forma dos objetos que passam entre elas.
Camada de aplicativos. No nvel mais alto, os usurios rodam programas aplicativos que
acessam servios disponveis atravs de uma interligao em redes TCP/IP. Um aplicativo
interage com um dos protocolos do nvel de transporte para enviar ou receber dados. Cada
programa aplicativo escolhe o estilo de transporte necessrio, que tanto pode ser uma
seqncia de mensagens individuais ou um stream contnuo de bytes. O programa
aplicativo passa, para o nvel de transporte, os dados na forma adequada, para que
possam, ento, ser transmitidos.
Pg. 31/85
Arquitetura TCP/IP
Camada Internet. Como vimos, a camada da Internet trata das informaes de uma
mquina para outra. Aceita um pedido para enviar um pacote originrio da camada de
transporte juntamente com um identificao da mquina para a qual o pacote deve ser
enviado. Encapsula o pacote em um datagrama IP, preenche o cabealho do datagrama,
usa o algoritmo de roteamento para decidir se entrega o datagrama diretamente ou o envia
para um roteador e passa o datagrama para a interface de rede apropriada para
transmisso. A camada Internet tambm lida com datagramas de entrada, verificando sua
validade, e usa o algoritmo de roteamento para decidir se o datagrama deve ser
processado no local ou se deve ser enviado. Para os datagramas endereados mquina
local, o software da camada de interligao em redes apaga o cabealho do datagrama e,
entre vrios protocolos de transporte, escolhe aquele que vai cuidar do pacote.
Camada de interface de rede. O nvel mais baixo do software TCP/IP compreende uma
camada da interface de rede responsvel pela aceitao de datagramas IP e por sua
transmisso atravs de uma rede especfica. Uma interface de rede pode consistir em um
driver de dispositivo ou em um subsistema complexo que usa seu prprio protocolo de
enlace de dados.
4.3.
PROTOCOLOS DE TRANSPORTE
Na pilha de protocolos TCP/IP, o UDP, fornece o mecanismo principal utilizado pelos programas
aplicativos para enviar datagramas a outros programas iguais. O UDP fornece um servio de
Cristiano Alan Torres
Pg. 32/85
Arquitetura TCP/IP
16
24
31
DADOS
...
Figura 4.3. O formato dos campos em um datagrama UDP.
Pg. 33/85
Arquitetura TCP/IP
soma de verificao oferece o nico modo de assegurar que os dados tenham chegado intactos
e possam ser usados.
A camada IP responsvel apenas pela transferncia de dados entre um par de hosts em uma
interligao em redes, enquanto a camada UDP responsvel apenas pela diferenciao entre
mltiplas origens ou destinos em um host. Desse modo, apenas o cabealho IP identifica os
hosts de origem e destino; apenas a camada UDP identifica as portas de origem e destino em
um host.
O software colocado em cada camada de uma hierarquia de protocolo deve ser capaz de
multiplexar ou demultiplexar mltiplos objetos da camada seguinte. O software UDP apresenta
outro exemplo de multiplexao e demultiplexao. Aceita datagramas UDP de muitos
programas aplicativos e os passa ao IP, para transmisso, e aceita datagramas UDP recebidos
de IP e os passa ao programa aplicativo apropriado. Conceitualmente, toda a multiplexao e
demultiplexao entre o software UDP e os programas aplicativos ocorre atravs do mecanismo
da porta. Na prtica, cada programa aplicativo deve negociar com o sistema operacional a fim
de obter uma porta de protocolo e um nmero de porta correspondente, antes que ele possa
enviar um datagrama UDP.
O modo mais simples de conceber uma porta UDP uma fila. Na maioria das implementaes,
quando um programa aplicativo negocia com um sistema operacional para usar determinada
porta, o sistema operacional cria uma fila interna que pode reter as mensagens que esto
chegando. Freqentemente, o aplicativo pode especificar ou mudar o tamanho da fila. Quando
o UDP recebe um datagrama, verifica se o nmero de porta de destino confere com uma das
portas atualmente em uso. Se no conferir, envia uma mensagem de erro de porta no-atingida
e descarta o datagrama. Se for encontrada uma correspondncia, o UDP enfileira o novo
datagrama na porta onde o programa aplicativo pode acess-lo. Naturalmente, ocorrer um erro
se a porta estiver cheia e o UDP descartar o datagrama recebido.
O UDP um protocolo mais rpido do que o TCP, pelo fato de no verificar o reconhecimento
das mensagens enviadas. Por este mesmo motivo, no confivel como o TCP.
Pg. 34/85
Arquitetura TCP/IP
Em um nvel mais baixo, as redes de comunicao fornecem uma entrega de pacotes noconfivel, os pacotes podem ser perdidos ou danificados quando erros de transmisso
interferem nos dados. As redes que roteiam pacotes dinamicamente podem entreg-los fora de
ordem, entreg-los aps um intervalo substancial, ou entregar reprodues.
Em um nvel mais alto, os programas aplicativos freqentemente precisam enviar grandes
volumes de dados de um computador a outro. A utilizao de um sistema de transmisso sem
conexo e no-confivel torna-se tediosa e irritante, e requer que os programadores criem
deteco e recuperao de erros em cada programa aplicativo. Um dos objetivos da pesquisa
de protocolos de rede foi encontrar solues de fins gerais para problemas de transmisso
confivel de streams de pacotes, possibilitando aos especialistas criar um nico protocolo para
transmisso de stream de dados que todos os programas aplicativos pudessem utilizar.
O servio definido pelo TCP, o servio de stream confivel to importante que toda a pilha
de protocolos citada como TCP/IP. O TCP um protocolo de comunicao, e no um
software, o protocolo especifica o formato dos dados e das confirmaes que os dois
computadores trocam para oferecer uma transferncia confivel e, tambm, os procedimentos
de que se valem os computadores para assegurar que os dados cheguem corretamente.
O TCP pode ser utilizado com uma variedade de sistema de transmisso de pacotes, inclusive
o servio de transmisso de datagramas IP. O TCP pode, por exemplo, ser implementado para
utilizar linhas telefnicas por discagem, rede local, rede de fibra ptica de alta velocidade, ou
uma rede de longas distncias de velocidade mnima. Na realidade, um dos pontos fortes do
TCP a grande variedade de sistemas de transmisso que ele pode usar.
O TCP posiciona-se acima do IP no esquema de diviso em camadas do protocolo, permite que
programas aplicativos mltiplos, de determinada mquina, comuniquem-se simultaneamente, e
Cristiano Alan Torres
Pg. 35/85
Arquitetura TCP/IP
ele demultiplexa o trfego TCP de entrada entre os programas aplicativos. Como o UDP, o TCP
utiliza nmeros de porta de protocolo para identificar o destino final em uma mquina. Porm,
as portas TCP so muito mais complexas, porque determinado nmero delas no corresponde
a um objeto nico. Ao contrrio, o TCP foi estruturado na abstrao de conexo, em que os
objetos a serem identificados so conexes de circuito virtual, e no portas isoladas.
A unidade de transferncia entre o software TCP de duas mquinas denominada segmento.
Os segmentos so trocados para estabelecer conexes, transferir dados, enviar confirmaes,
informar tamanhos de janelas e encerrar conexes. A Figura 4.4 mostra o formato do segmento
TCP.
0
16
PORTA DE ORIGEM
24
31
PORTA DE DESTINO
NMERO DE SEQNCIA
NMERO DO RECONHECIMENTO
HLEN
RESERVADO
SOMA DE VERIFICAO
ENCHIMENTO
DADOS
...
Figura 4.4. O formato de um segmento TCP com o cabealho TCP seguido de dados.
Pg. 36/85
Arquitetura TCP/IP
retardo
com
retransmisso
de
datagramas.
As
retransmisses
agravam
De acordo com a especificao, o campo HLEN o deslocamento dos dados da rea situada dentro do segmento.
Pg. 37/85
Arquitetura TCP/IP
4.4.
PROTOCOLOS DE REDE
Pg. 38/85
Arquitetura TCP/IP
Numa rede fsica, a unidade de transferncia um quadro que contm um cabealho e dados,
onde o cabealho fornece informaes como endereo de origem e de destino (fsicos). A
interligao em redes denomina sua unidade bsica de transferncia de um datagrama IP, que
dividido em cabealho e reas de dados. A diferena que o cabealho do datagrama contm
endereos IP, enquanto o quadro contm os endereos fsicos.
A Figura 4.5 mostra a organizao dos campos em um datagrama:
0
VERS
HLEN
TIPO DE SERVIO
16
24
31
COMPRIMENTO TOTAL
IDENTIFICAO
FLAGS
DESLOCAMENTO DO FRAGMENTO
ENDEREO IP DE ORIGEM
ENDEREO IP DE DESTINO
OPES IP (SE HOUVER)
PADDING
DADOS
...
Figura 4.5. Formato de um datagrama da Internet, a unidade bsica de transferncia em um interligao em redes
TCP/IP.
Pg. 39/85
Arquitetura TCP/IP
verses de protocolo diferentes dos seus, impedindo que eles deturpem o contedo do
datagrama com um formato desatualizado. A verso atual do protocolo IP a quatro.
O campo de comprimento do cabealho (HLEN), tambm de quatro bits, fornece o comprimento
do cabealho do datagrama medido em palavras de 32 bits. Todos os campos do cabealho
contm um comprimento fixo, exceto para OPES IP e os campos correspondentes
PADDING. O cabealho mais comum, que no contm qualquer opo e nenhum
preenchimento, mede 20 octetos e o campo de comprimento de cabealho igual a cinco.
O campo COMPRIMENTO TOTAL, fornece o comprimento do datagrama IP medido em
octetos, incluindo octetos no cabealho e nos dados. O tamanho da rea de dados pode ser
calculado subtraindo-se de COMPRIMENTO TOTAL o comprimento do cabealho (HLEN). J
que o campo COMPRIMENTO TOTAL, possui 16 bits de coprimento, o maior tamanho possvel
para um datagrama IP 216 ou 65.535 octetos. Na maioria do aplicativos, essa no uma
limitao rgida. No futuro pode tornar-se mais importante, se as redes de velocidade mais alta
puderem transportar pacotes de dados maiores que 65.535 octetos.
Trs campos no cabealho do datagrama, IDENTIFICAO, FLAGS e DESLOCAMENTO DO
FRAGMENTO, controlam a fragmentao e a remontagem de datagramas. O campo
IDENTIFICAO contm um nmero inteiro nico que identifica o datagrama, sua finalidade
principal permitir que o destino saiba quais datagramas esto chegando e a que datagramas
pertencem. O campo DESLOCAMENTO DO FRAGMENTO responsvel pela remontagem do
datagrama, o destino precisa obter todos os fragmentos que iniciam com o fragmento que
possui deslocamento zero at o fragmento de maior deslocamento. O campo FLAGS controlam
a fragmentao, define se o datagrama pode ou no ser fragmentado e se o destino reuniu
todos os fragmentos.
O campo TEMPO DE VIDA especifica quanto tempo, em segundos, o datagrama pode
permanecer no sistema de interligao em redes, os roteadores e os hosts que processam
datagramas precisam decrementar o campo TEMPO DE VIDA medida que o tempo passa e
remover o datagrama da interligao quando seu tempo expira. PROTOCOLO especifica qual
Pg. 40/85
Arquitetura TCP/IP
protocolo de alto nvel foi utilizado para criar a mensagem que est sendo transportada na rea
DADOS do datagrama.
O campo VERIFICAO DA SOMA DO CABEALHO assegura a integridade dos valores de
cabealho. A verificao IP formada com o tratamento do cabealho como uma seqncia de
nmeros inteiros de 16 bits (na ordem de bytes da rede), reunindo-os com uma aritmtica
complemento de um, e a seguir considerando o complemento de um como o resultado. Para a
finalidade de calcular a soma de verificao, considera-se que o campo VERIFICAO DA
SOMA DO CABEALHO contenha zero.
Os campos ENDEREO IP DE ORIGEM e ENDEREO IP DE DESTINO contm endereos IP
de 32 bits do transmissor do datagrama e do receptor desejado. Embora o datagrama possa ser
roteado atravs de muiots roteadores intermedirios, os campos da origem e destino nunca
mudam; eles especificam os endereos IP da origem e do ltimo destino.
O campo denominado DADOS mostra o incio da rea de dados do datagrama, seu
comprimento depende, logicamente, do que est sendo enviado no datagrama. O campo
OPES IP que se segue ao endereo de destino no necessrio em todo datagrama, e as
opes so includas principalmente para testes ou depurao da rede. Contudo, o
processamento de opes parte integrante do protocolo IP; assim, todas as implementaes
de padres precisam inclu-lo. O campo PADDING depende das opes selecionadas. Ele
representa bits contendo zero e que podem ser necessrios para garantir que o cabealho do
datagrama se estenda at o mltiplo exato de 32 bits.
O objetivo do IP fornecer uma rede virtual que abranja vrias redes fsicas e oferea um
servio de entrega de datagrama sem conexo. O algoritmo de roteamento IP deve escolher a
forma pela qual enviar um datagrama atravs de vrias redes fsicas. O roteamento se
classifica em dois tipos: encaminhamento direto e encaminhamento indireto. O
encaminhamento direto a transmisso de um datagrama, atravs de uma nica rede fsica
para outra mquina. Duas mquinas s podem executar o encaminhamento direta se ambas se
conectarem diretamente a uma mesma rede fsica (p. ex., uma nica Ethernet). O
Pg. 41/85
Arquitetura TCP/IP
Pg. 42/85
Arquitetura TCP/IP
destino especfico ao host, a maior parte dessas tabelas contm apenas endereos de rede,
mantendo pequenas as tabelas de roteamento. O uso de uma rota padro tambm pode manter
pequena a tabela de roteamento, principalmente para hosts que s conseguem acessar um
roteador.
Para permitir que os roteadores de uma interligao em redes informem os erros ou forneam
informaes sobre ocorrncias inesperadas, os projetistas acrescentaram aos protocolos
TCP/IP um mecanismo de mensagem para fins especficos, conhecido como ICMP Internet
Control Message Protocol (Protocolo Internet de Mensagem de Controle), considerado uma
parte necessria do IP e deve ser includo em cada implementao de IP.
O ICMP permite que os roteadores enviem mensagens de erro ou de controle aos outros
roteadores ou aos hosts; possibilita a comunicao entre o software do IP em uma mquina, e o
software de IP em outra. Um host pode usar o ICMP para se corresponder com um roteador ou
com outro host. A principal vantagem de permitir que os hosts usem ICMP que isto fornece um
mecanismo nico usado para todas as mensagens de controle de informao. Do ponto de
vista tcnico, o ICMP um mecanismo para relatar erros. Fornece um meio pelo qual os
roteadores que encontram erros possam lev-los ao conhecimento do transmissor.
As mensagens ICMP so geradas por gateways na rota de transporte de um datagrama ou pela
estao de destino. Quando ocorre algum problema previsto pelo ICMP. A mensagem ICMP
descrevendo a situao preparada e entregue camada IP (Figura 4.6), que adiciona
mensagem ICMP o cabealho IP e envia ao emissor do datagrama com o qual ocorreu o
problema.
Pg. 43/85
Arquitetura TCP/IP
Mensagem ICMP
Camada IP
Cabealho IP
Camada Inferior
Cabealho do Quadro
Dados IP
Dados do Quadro
Pg. 44/85
Arquitetura TCP/IP
Para tornar ARP eficiente, cada mquina trata as vinculaes entre endereos fsicos IP. Como
o trfego de interligao em redes geralmente consiste em uma seqncia de interaes entre
pares de mquinas, o cache elimina muitas solicitaes de difuso ARP.
Este protocolo destina-se soluo do problema inverso ao resolvido pelo ARP. O problema
RARP um host que no conhece o seu prprio endereo IP ou o de um outro host, mas
possui o endereo fsico correspondente. O protocolo RARP permite que a partir do endereo
fsico, seja obtido o endereo IP correspondente. Para que o RARP funcione, necessrio ao
menos um servidor RARP, que possui informaes de mapeamento de todos os hosts da rede.
Pode haver um ou vrios servidores RARP na mesma rede.
A principal vantagem de possuir diversas mquinas funcionando como servidores RARP
tornar o sistema mais confivel. Se um servidor estiver desativado, ou excessivamente
sobrecarregado para responder, um outro responder solicitao. Assim, muito mais
provvel que o servio esteja disponvel. A principal desvantagem de se utilizarem muitos
servidores que quando uma mquina difunde uma solicitao RARP, a rede torna-se
sobrecarregada se todos os servidores tentam responder. Em uma Ethernet, por exemplo,
utilizar servidores RARP mltiplos torna mais provvel uma coliso.
Para evitar respostas mltiplas e simultneas, h pelos menos duas possibilidades, e ambas
envolvem o aumento do intervalo entre as respostas:
Pg. 45/85
Arquitetura TCP/IP
solicitao. Sempre que um servidor, que no seja o principal, receber uma segunda cpia
de uma solicitao RARP em um curto espao aps a primeira, ele responde.
A segunda soluo utiliza um esquema semelhante, mas tenta impedir que todos os
servidores no-principais transmitam respostas simultaneamente. Cada mquina noprincipal que receber uma solicitao calcula um intervalo aleatrio e, a seguir, envia uma
resposta. Em circunstncias normais, o servidor principal responde imediatamente e com
intervalos entre as respostas sucessivas, de modo que h pouca probabilidade de que
cheguem ao mesmo tempo. Quando o servidor principal no est disponvel, a mquina
solicitante sofre um pequeno retardo antes que uma resposta seja recebida. Escolhendo os
intervalos com cuidado, o projetista assegura que as mquinas solicitantes no difundiram
antes de receber uma resposta.
Pg. 46/85
Arquitetura TCP/IP
5. ROTEAMENTO
5.1.
Este algoritmo do protocolo IP utiliza uma tabela de roteamento que armazena informaes
sobre como atingir cada sub-rede de rede internet. Sempre que a camada IP, em uma estao
ou em um gateway, precisa transmitir um datagrama para uma estao que no est
diretamente conectada mesma sub-rede, ela consulta a tabela de roteamento a fim de
determinar o gateway para o qual esse datagrama deve ser enviado.
128.10
129.7
128.15
HOST B
128.15.1.1
128.15.1.3
INTERNET
Destino
Roteamento
128.10
128.15
129.7
Default
Conexo Direta
Conexo Direta
128.15.1.3
128.15.1.1
Pg. 47/85
Arquitetura TCP/IP
5.2.
ALGORITMOS DE ROTEAMENTO
Pg. 48/85
Arquitetura TCP/IP
Inicialmente, cada gateway possui uma tabela contendo uma entrada para cada sub-rede qual
est conectado. A cada sub-rede especificada na tabela est associada a distncia entre a
mesma e o gateway que mantm a tabela. Esta distncia pode ser medida em hops (nmero de
gateways a atravessar para atingir uma sub-rede) ou em retardo (tempo necessrio para a subrede).Inicialmente, os campos de distncia devem valer zero, pois somente as sub-redes s
quais o gateway est diretamente conectado so especificadas na tabela. Periodicamente, cada
gateway envia uma cpia de sua tabela para todo o gateway que possa atingir diretamente. O
gateway que recebe a tabela, a compara com a sua prpria e modifica esta ltima nos
seguintes casos:
se uma rota que passa pelo emissor tiver sido modificada, ou seja, se a distncia associada
a uma sub-rede que passa pelo emissor tiver mudado.
Pg. 49/85
Arquitetura TCP/IP
Tabela do N A
Destino Ligao
3
4
5
A
B
C
D
E
local
1
1
3
1
Distncia
0
1
2
1
2
Neste algoritmo, cada gateways deve conhecer a topologia completa da rede Internet. Isto
feito descrevendo-se os gateways interconectados entre si por enlaces (links). Existe um enlace
entre dois gateways se ambos puderem comunicar-se diretamente, ou seja se estiverem
mesma rede fsica.
Cada gateway exerce duas funes principais. A primeira testar continuamente o estado dos
enlaces com os gateways vizinhos. A segunda enviar periodicamente os dados de estado de
seus enlaces a todos os outros gateways da rede Internet. O teste de estado realizado
atravs do envio de mensagens curtas que exigem resposta. Se acontecer uma resposta, sob
Cristiano Alan Torres
Pg. 50/85
Arquitetura TCP/IP
condies que variam segundo a implementao do protocolo, o enlace est ativo, seno est
inativo. Os dados de estado indicam, simplesmente, se h possibilidade de comunicao entre
dois gateways. .Estes dados so em geral enviados em modo difuso (broadcast)
individualmente.
Ao receber uma informao de estado, um gateway atualiza seu mapa da rede Internet ativado
ou desativado os enlaces em questo e recalcula as rotas para todos os destinos possveis
atravs do algoritmo Shortest-Path-First (SPF), de Dijskstra, aplicado topologia da rede
Internet. A figura 5.3 ilustra um exemplo deste tipo de roteamento.
Em relao ao algoritmo Vector-Distance, o SPF possui diversas vantagens. O clculo das rotas
realizado localmente, no dependendo de mquinas intermedirias. O tamanho das
mensagens no depende do nmero de gateways diretamente conectados ao gateway emissor.
Como as mensagens trafegam inalteradas a deteco de problemas torna-se mais fcil.
Tabela do N A
Fonte
Ligao
Distncia
A
B
A
C
E
B
B
C
D
E
D
E
1
2
3
5
6
4
4
5
Pg. 51/85
Arquitetura TCP/IP
uso de mecanismos automticos, previstos nos protocolos de roteamento descritos nos itens
seguintes.
5.3.
PROTOCOLOS DE ROTEAMENTO
O protocolo de roteamento determina a forma pela qual os gateways devem trocar informaes
necessrias execuo do algoritmo de roteamento. Por exemplo, se o algoritmo de
roteamento implementado for do tipo Vector-Distance, o protocolo de roteamento deve definir
como cada gateway envia aos demais a sua distncia em relao a cada sub-rede Internet.
O termo IGP utilizado para designar o protocolo usado na troca de informaes de roteamento
entre Interior Gateways (IG).
Em sistemas autnomos (SA) pequenos, as tabelas de roteamento podem ser determinadas,
manualmente, pelo administrador do sistema. O administrador mantm uma tabela de redes do
SA que atualizada sempre que uma rede removida ou inserida no SA . Alm de no ser
confivel, esse mtodo torna-se invivel com o crescimento do SA .
No existe um protocolo padro entre os gateways de um mesmo SA . Por esse motivo, o termo
IGP usado para referenciar qualquer protocolo de roteamento entre Interior Gateways (IG). Os
protocolos IGP mais conhecidos so: RIP (Routing Information Protocol), Hello Protocol e OSPF
(Open Shortest-Path-Frist Protocol).
Pg. 52/85
Arquitetura TCP/IP
Pg. 53/85
Arquitetura TCP/IP
uma srie de facilidades adicionais listados a seguir, as quais permitem diminuir a sobrecarga
necessria para a manuteno da topologia atualizada de uma rede Internet:
O protocolo OSPF baseado nas mensagens: Hello, Database Description, Link Status
Request e Link Status Uptade. Quando um gateway OSPF inicializado, sua primeira ao
contatar os gateways vizinhos, atravs de mensagens Hello. Os gateways trocam mensagens
entre si para eleger o gateway mestre (DR -Designated Router). Este gateway torna-se
responsvel pela notificao de informaes de roteamento a todos os gateways presentes na
rede (gateways secundrios). Nos protocolos de roteamento discutidos anteriormente todos os
gateways enviavam e recebiam informaes de roteamento, gerando trfego excessivo. A figura
de um gateway mestre, com o funo de gerador/distribuidor de informaes, reduz
significativamente o trfego relativo s mensagens de roteamento, que so trocadas somente
entre o gateway mestre e os demais gateways secundrios.
O OSPF usa o roteamento link state. As informaes de roteamento trocados entre gateways,
atravs da mensagem Database Description, indicam o estado e o custo associado s
interfaces e aos gateways vizinhos. Estas mensagens so confirmadas pelos gateways que a
recebem. Como as bases podem ser grandes, uma base de topologia pode gerar vrias
mensagens. A mensagem Link Status Request usada por um gateway na requisio de dados
atualizados a outro gateway. Na mensagem Link Status Updade usada por um gateway no
envio de informaes sobre o estado de seus enlaces.
Uma vez estabelecido o gateway mestre da cada sub-rede Internet ,realizada a troca de
informaes de roteamento entre o gateways mestres das vrias sub-redes em que esteja
Cristiano Alan Torres
Pg. 54/85
Arquitetura TCP/IP
conectado, o gateway monta a sua base de dados de roteamento. O algoritmo SPF , ento
executado a partir dessa base e, como resultado, obtida uma rvore de roteamento com o
gateway na raiz, indicando a conectividade com outras redes. A partir dos dados de custo, so
calculados os custos totais das rotas at cada sub-rede da Internet.
O protocolo EGP no est vinculado a nenhum algoritmo de roteamento. Isto , para que dois
gateways se comuniquem atravs do EGP no necessrio que eles executem um mesmo
algoritmo de roteamento. O EGP define as informaes a serem trocadas entre EG
(basicamente as tabelas de roteamento) e os elementos de protocolo necessrios troca
dessas informaes.
Tais informaes permitem que um ou mais sistemas autnomos sejam utilizados como
intermedirios do trfego originado em algum sistema autnomo e destinado a outro, sem que o
usurio da rede perceba que a rede composta por mais de um sistema autnomo.
O EGP um protocolo de roteamento elaborado para uma rede de sistemas autnomos
organizados em uma estrutura tipo rvore, ou seja, uma rede sem loops (ciclos) na sua
topologia. As informaes trocadas neste protocolo no impedem que ocorram loops no
roteamento. Uma situao de loop pode ocorrer, por exemplo, quando uma tabela de
roteamento de um gateway G indica o gateway G' como a melhor sada para uma rede N, e a
tabela de roteamento de G' indica G como a melhor sada para a rede N.
As mensagens do EGP so associadas a cada Sistema Autnomo atravs de uma identificao
de 16 bits que colocada no cabealho da cada mensagem do EGP. Essas mensagens
trafegam somente entre gateways vizinhos. Dois gateways podem tornar-se vizinhos quando:
Pg. 55/85
Arquitetura TCP/IP
esto conectados por uma rede transparente para eles, isto , uma rede cuja estrutura
interna eles no conhecem.
No faz parte do protocolo EGP determinar quando dois gateways devem tornar-se vizinhos.
Esta uma tarefa do administrador do SA . Dois gateways tornam-se vizinhos atravs da troca
de mensagens de Aquisio de Vizinho.
Aps se tornarem vizinhos, dois gateways passam a trocar mensagens de Disponibilidade,
para conhecer o estado do vizinho (conectado/desconectado), e mensagens de Alcance, para
identificar quais redes podem ser acessadas atravs do vizinho.
O EGP um protocolo do tipo solicitao (polling). As mensagens so trocadas somente
quando ocorre uma solicitao de um dos vizinhos. Por isso, o EGP permite que cada gateway
controle a sua taxa de envio e recebimento de informao de roteamento. Alm disso, esse
protocolo permite que um S A tenha um mecanismo de roteamento interno que no afetado
por falhas em outros sistemas.
Pg. 56/85
Arquitetura TCP/IP
O protocolo BGP foi projetado para permitir muitos critrios de roteamento a serem aplicadas no
trfego entre SA's. Critrios tpicos envolvem consideraes de ordem poltica, de segurana,
ou econmicas. Alguns exemplos de limites de roteamento so: nunca coloque o Iraque na rota
para o Pentgono; trfego iniciando ou terminando na IBM, no trafega para Microsoft. Os
critrios so configurados manualmente em cada roteador BGP.
Do ponto de vista do roteador BGP, o mundo consiste de outros roteadores BGP
interconectados. Dois roteadores BGP so considerados conectados se eles compartilham uma
rede comum. Dado o interesse de um BGP especial no trfego, as redes so grupadas em trs
categorias. A primeira categoria stubs networks, na qual somente tem conexo para um
roteador BGP. Estas no podem ser usadas para trnsito na rede, porque s tem uma ligao.
A segunda as redes multiconnected networks. Podem ser usadas para trfego em trnsito,
exceto se recusarem. Finalmente, existem as redes transit networks, como um backbone, que
esto dispostas a manipular pacotes de outros, possivelmente com algumas restries.
Pares de roteadores BGP se comunicam atravs de conexes TCP. Operando deste modo eles
fornecem uma comunicao confivel e escondem os detalhes da rede que os pacotes esto
passando.
BGP um protocolo que usa o algoritmo vector distance, mas com uma pequena diferena. Ao
invs de manter a distncia de cada destino, cada roteador BGP mantm o caminho usado.
Similarmente, ao invs de periodicamente dar a cada vizinho a distncia estimada para cada
possvel destino, cada roteador diz a seus vizinhos o caminho exato que est usando.
Como um exemplo, considerar os roteadores conforme a Figura 5.3. Em particular, considerar a
tabela de roteamento de F. Supor que ele usa o caminho FGCD para alcanar D. Quando os
vizinhos sua informao de roteamento, eles fornecem seus caminhos completos, como mostra
a Figura 5.3 (por simplicidade, somente o destino D ilustrado).
Pg. 57/85
Arquitetura TCP/IP
F recebe informaes
de seus vizinhos
sobre D:
de
de
de
de
B: BCD
G: GCD
I: IFGCD
E: EFGCD
F
E
(a)
(b)
Aps todos os caminhos chegarem dos vizinhos. F examina-os para ver qual o melhor.
Rapidamente descarta os caminhos de I e E, porque estes caminhos passam por F. A escolha
est entre B e G. Cada roteador BGP contm um mdulo que examina rotas para um dado
destino e d um valor a eles, retornando um nmero da distncia para o destino de cada rota.
Alguma rota viola um critrio de roteamento e seu valor infinito. O roteador ento adota a rota
de menor distncia.
BGP facilmente resolve o problema de contagem infinita que causa problema a outros
algoritmos de roteamento. Por exemplo, supor que G quebre ou a linha FG esteja desativada. F
ento recebe rotas dos outros trs vizinhos. Estas rotas so BCD, IFGCD e EFGCD. Verifica-se
que duas rotas esto sem sentido, porque passam por F, ento escolhido FBCD como a nova
rota.
Vector-distance, uma diferente estratgia de podar a rvore deve ser seguida. O algoritmo
bsico o reverse path forwarding. Entretanto, quando um roteador que no faz parte do grupo,
Pg. 58/85
Arquitetura TCP/IP
recebe uma mensagem multicast, ele responde para que o emissor no envie mensagens para
ele.
5.4.
ROTEAMENTO MULTICAST
Pg. 59/85
Arquitetura TCP/IP
Para algumas aplicaes, os processos esto separados em vrios locais, mas trabalham
juntos em grupo. Por exemplo, um grupo de processos implementando um sistema de banco de
dados distribudo. Nele freqente um processo enviar uma mensagem para todos os outros
membros do grupo. Ento necessita-se de um modo de enviar mensagens para grupos bem
definidos que so numericamente grandes, mas pequenos comparados ao tamanho da rede.
Para realizar esta tarefa necessrio utilizar uma tcnica de roteamento multiponto.
Para fazer multicasting, cada roteador constri sua spanning tree selecionando enlaces na
rede formando uma rvore, de forma a cobrir todos os outros roteadores na sub-rede. Por
exemplo, na Figura 5.4(a) temos uma sub-rede com dois grupos, 1 e 2. Alguns roteadores so
ligados nos grupos, como indicado na Figura 5.4(a). A spanning tree para o roteador mais a
esquerda mostrado na figura 5.4(b).
2
1,2
1,2
1,2
1,2
1
1
(a) SUB-REDE
1
1
(c) ARVORE MULTICAST - GRUPO 1
Pg. 60/85
Arquitetura TCP/IP
Quando um processo envia um pacote multicast para o grupo, o primeiro roteador examina sua
spanning tree e poda a rvore, removendo toda as linhas que no pertencem ao seu grupo. A
Figura 5.4(c) ilustra a rvore do grupo 1 e a Figura 5.4(d) ilustra a rvore do grupo 2. Pacotes
multicast so enviados somente na spanning tree apropriada.
Vrios modos de podar a rvore so possveis. O modo mais simples usar o roteamento linkstate, sendo que cada roteador deve conhecer a topologia completa da sub-rede. Ento a
spanning tree pode ser construda iniciando no final de cada caminho at a raiz, eliminando os
roteadores que no pertencem ao grupo.
Com o roteamento vector-distance, uma diferente estratgia de podar a rvore deve ser
seguida. O algoritmo bsico o reverse path forwarding. Entretanto, quando um roteador que
no faz parte do grupo, recebe uma mensagem multicast, ele responde para que o emissor no
envie mensagens para ele.
Uma desvantagem deste algoritmo que para grandes redes muita memria necessria.
Supor que uma rede tem n grupos, cada um com a mdia de m membros. Para cada grupo, m
spanning trees podadas so armazenadas, para um total de m.n rvores. Quando muitos
grupos grandes existem, gasto muito memria para armazenar as rvores.
Uma alternativa usar rvores chamadas core-base tree. Aqui uma nica rvore spanning tree
por grupo computada, com a raiz ("the core") perto do meio do grupo. Para enviar uma
mensagem multicast, uma estao envia-a para a raiz, que ento envia para os ns do grupo.
Embora esta tcnica no seja tima, ela reduz os custos de armazenagem de m rvores para
uma rvore por grupo.
Pg. 61/85
Arquitetura TCP/IP
O ATM uma tecnologia de rede de alta velocidade na qual a rede possui um ou mais
comutadores conectados entre si para formar uma estrutura de comutao. Na lgica, uma
estrutura de comutao funciona como uma nica grande rede que permite a comunicao
entre quaisquer hosts.
J que o ATM uma tecnologia baseada em conexo, dois computadores devem estabelecer
um circuito virtual atravs da rede antes de transmitir dados. Um host pode optar por um circuito
virtual comutado ou permanente. Os circuitos comutados so criados por demanda. Os
permanentes requerem uma configurao manual. Em ambos os casos, o ATM atribui a cada
circuito aberto um identificador de nmero inteiro. Cada quadro enviado pelo host ou pela rede
possui um identificador de circuito. Um quadro no possui um endereo de origem e de destino.
Apesar dos nveis mais baixos do ATM utilizarem clulas de 53 octetos para a transmisso de
dados, o ATM possui mecanismos adicionais em sua camada de adaptao que so utilizados
pelos aplicativos. A AAL5 (Adaptation Layer 5) do ATM, em particular, utilizada para o envio de
dados atravs de uma rede ATM. A AAL5 oferece uma interface que recebe e envia blocos de
dados de tamanhos variados, os quais podem ter octetos de at 64kb.
Para enviar um datagrama IP atravs de uma rede ATM, o transmissor precisa formar uma
conexo de circuito virtual para o destino que utiliza a AAL5 e enviar o datagrama AAL5 coo
um nico bloco de dados. A AAL5 acrescenta um trailer, divide o datagrama e o trailer em
clulas menores para a transmisso atravs da rede e, depois, reagrupa o datagrama antes de
encaminh-lo ao sistema operacional do computador de destino. Assim, ao enviar datagramas
atravs da rede ATM, o IP no fragmenta no tamanho da clula ATM. Ao contrrio, o IP utiliza
uma MTU de 9.180 octetos e permite que a AAL5 divida o datagrama em clulas.
MTU (Maximum Transfer Unit) significa o maior volume de dados que pode ser transferido em determinada rede
fsica, a MTU determinada pelo hardware da rede.
Pg. 62/85
Arquitetura TCP/IP
Uma LIS (Logical IP Subnet) formada por um conjunto de computadores que utiliza a rede
ATM em vez de uma rede local. Os computadores formam circuitos virtuais entre si por meio
dos quais alteram os datagramas. A presena tanto dos circuitos virtuais como dos circuitos
permanentes em uma LIS torna ainda mais complicada a questo da vinculao de endereos.
Um protocolo ARP modificado, conhecido como ATMARP, faz a vinculao de endereos para
os computadores em uma LIS conectada por um circuito virtual comutado. Os computadores de
uma LIS contam com um servidor ATMARP para vincular o endereo IP de outro computador da
LIS a um endereo ATM equivalente. Cada computador de uma LIS deve fazer o registro com o
servidor, fornecendo seus endereos IP e ATM ao servidor. Desse modo, outros computadores
podem entrar em contato com o servidor para obter uma vinculao, conforme necessrio.
Como no caso do ARP convencional, uma vinculao deve ser revalidada ou descartada. Um
protocolo relativo ao ATMARP inverso utilizado para descoberta dos endereos ATM e IP de
um computador remoto conectado por um circuito virtual permanente.
Pg. 63/85
Arquitetura TCP/IP
RFC (Request For Comments), nome de um conjunto de notas que contm levantamentos, avaliaes, idias,
tcnicas e comentrios, bem como padres de protocolos TCP/IP sugeridos e aceitos. As RFCs esto disponveis online.
Pg. 64/85
Arquitetura TCP/IP
Pg. 65/85
Arquitetura TCP/IP
so
Pg. 66/85
Arquitetura TCP/IP
8. APLICAES
As aplicaes, no modelo TCP/IP, no possuem uma padronizao comum. Cada uma possui
um RFC prprio. O endereamento das aplicaes feito atravs de portas (chamadas
padronizadas a servios dos protocolos TCP e UDP), por onde so passados as mensagens.
na camada de Aplicao que se trata a compatibilidade entre os diversos formatos
representados pelos variados tipos de estaes da rede.
8.1.
TELNET
Pg. 67/85
Arquitetura TCP/IP
Define um terminal virtual da rede fornecedora de uma interface padro para sistemas
remotos. Os programas clientes no precisam entender os detalhes de todos os sistemas
remotos possveis; eles so projetados para usar a interface padro.
A Figura 8.1 ilustra como os programas aplicativos implementam um cliente e servidor TELNET,
quando um usurio chama o TELNET, um programa aplicativo existente na mquina do usurio
torna-se o cliente. O cliente estabelece uma conexo TCP com o servidor por intermdio da
qual iro se comunicar. Uma vez estabelecida a conexo, o cliente aceita toques de teclado do
usurio e os envia ao servidor enquanto, simultaneamente, aceita caracteres que o servidor
envia de volta e apresenta-os na tela do usurio. O servidor deve aceitar uma conexo TCP de
um cliente e, a seguir, retransmitir dados entre a conexo TCP e o sistema operacional local.
Na prtica, o servidor mais complexo do que a figura representa porque precisa conduzir
vrias conexes simultneas. Em geral, um processo de servidor-mestre aguarda novas
conexes e cria um novo escravo para cuidar de uma conexo em particular. Desse modo, o
servidor TELNET mostrado na Figura 8.1 representa o escravo que trata de uma conexo em
particular. A figura no mostra o servidor-mestre que espera novas solicitaes, nem mostra os
escravos cuidando das outras conexes.
Pg. 68/85
Arquitetura TCP/IP
Cliente l dados do
terminal
Cliente
TELNET
S.O.
Dispositivo de
entrada e sada
de dados do
usurio
Servidor receb e
dados do cliente
Sevidor
TELNET
Sevidor envia
dados para
pseudoterminal
S.O.
Inter-rede
TCP/IP
Figura 8.1. Trajeto de dados em uma sesso de terminal remoto TELNET, enquanto trafega do teclado do usurio
at um sistema de operao remoto. Acrescenta um servidor TELNET a um sistema timesharing geralmente requer
modificaes no sistema operacional.
O termo pseudoterminal descreve o ponto de entrada do sistema operacional que permite que o
servidor de um programa em funcionamento, como o TELNET, transfira caracteres ao sistema
operacional como se estivessem vindo de um teclado. impossvel construir um servidor
TELNET, a no ser que o sistema operacional fornea tal recurso. Se o sistema suporta tal
abstrao de pseudoterminal, o servidor TELNET pode ser implementado com programas
aplicativos. Cada servidor-escravo conecta um canal TCP de um cliente a um pseudoterminal
especfico.
8.2.
Pg. 69/85
Arquitetura TCP/IP
Acesso interativo. Apesar do TCP ser projetado para uso por programas, muitas
implementaes fornecem uma interface interativa que permite que as pessoas interajam
facilmente com servidores remotos. Por exemplo, um usurio pode pedir uma listagem de
todos os arquivos de um diretrio em uma mquina remota. O cliente tambm responde
normalmente entrada help, mostrando a informao do usurio sobre possveis
comandos que podem ser chamados.
Pg. 70/85
Arquitetura TCP/IP
Sistema Cliente
Transferncia
de dados
Conexo de
controle do
cliente
Processo
de
Controle
Sistema Servidor
Transferncia
de dados
Processo
de
Controle
Conexo de
controle do
servidor
Sistema Operacional
Sistema Operacional
Conexo de
dados do
cliente
Interligao
em TCP/IP
Conexo de
dados do
servidor
Figura 8.2. Um cliente e um servidor FTP com uma conexo de controle TCP entre eles e uma conexo TCP parte
entre seus processos e transferncia de dados relacionados.
8.3.
Desenvolvido inicialmente pela Sun Microsystems, o NFS (Network File System) fornece acesso
de arquivo online compartilhado que transparente e integrado. Muitos sites TCP/IP usam NFS
para interconectar seus sistemas de arquivo de computadores. Da perspectiva do usurio, o
NFS praticamente invisvel. Um usurio pode executar um programa aplicativo arbitrrio e
usar arquivos arbitrrios para entrada ou sada. O prprio nome dos arquivos no indica se eles
so locais ou remotos.
Pg. 71/85
Arquitetura TCP/IP
A Figura 8.3 ilustra como o NFS est inserido no sistema operacional. Quando um programa
aplicativo executado, este chama o sistema operacional para abrir um arquivo ou para
armazenar e recuperar dados de um arquivo. O mecanismo de acesso a arquivos aceita o
pedido e automaticamente passa-o ou para o software de sistema de arquivo local ou para o
cliente NFS, dependendo de o arquivo estar no disco local ou em uma mquina remota.
Quando ele recebe um pedido, o software do cliente usa o protocolo NFS para contatar o
servidor apropriado em uma mquina remota e executar a operao requisitada. Quando o
servidor remoto responde, o software do cliente devolve os resultados ao programa aplicativo.
Aplicativo
Sistema de
arquivos
local
Disco
local
Cliente
NFS
Conexo da inter-rede
com o servidor NFS
Figura 8.3. Cdigo NFS em um sistema operacional. Quando um programa aplicativo requisita uma operao de
arquivo, o sistema operacional deve passar o pedido para o sistema de arquivo local ou para o software do cliente
NFS.
Pg. 72/85
Arquitetura TCP/IP
8.4.
Em vez de definir o protocolo NFS a partir de riscos, os projetistas deviam preferir montar trs
peas independentes: o prprio protocolo NFS, um mecanismo de RPC (Remote Procedure
Call) para fins gerais e um XDR (eXternal Data Representation), tambm para fins gerais. O
objetivo seria separar os trs para possibilitar o uso de RPC e XDR em outro software, inclusive
em programas aplicativos e tambm em outros produtos.
Do ponto de vista do programador, o prprio NFS no fornece novos procedimentos que
possam ser chamados por um programa. Ao contrrio, uma vez que um administrador tenha
configurado o NFS, ele programa arquivos remotos de acesso usando exatamente as mesmas
operaes utilizadas para arquivos locais. No entanto, o RPC e o XDR fornecem macanismos
que os programadores podem usar para construir programas distribudos. Por exemplo, um
programador pode dividir um programa entre o lado do cliente e o lado do servidor que usam
RPC como o principal mecanismo de comunicao. No lado do cliente, o programador atribui
alguns procedimentos como remotos, obrigando o compilador a incorporar a esses
procedimentos os cdigos de RPC. No lado do servidor, o programador implementa os
procedimentos desejados e usa outros recursos RPC para declar-los parte do servidor.
Quando o programa de execuo do cliente chama um dos programas remotos, o RPC
automaticamente coleta valores para argumentos, monta uma mensagem, envia a mensagem
ao servidor remoto, espera uma resposta e armazena os valores devolvidos nos argumentos
atribudos. Basicamente, a comunicao com o servidor remoto ocorre automaticamente como
efeito parcial de uma chamada de procedimento remoto. O mecanismo RPC concentra todos os
detalhes do protocolo, possibilitando aos programadores que tm pouco conhecimento de
protocolos de comunicao bsicos desenvolver programas distribudos.
O XDR uma ferramenta relacionada que fornece meios para que os programadores passem
dados entre mquinas heterogneas sem codificar procedimentos que convertam as
representaes de dados de hardware. Por exemplo, nem todos os computadores armazenam
nmeros inteiros binrios de 32 bits no mesmo formato. Alguns armazenam o byte mais
Cristiano Alan Torres
Pg. 73/85
Arquitetura TCP/IP
significativo no endereo de memria mais alta, enquanto outros armazenam o byte menos
significativo no endereo mais alto. Assim, se os programadores usam uma rede simplesmente
para mover bytes de nmero inteiro, de uma mquina para outra, sem redistribu-los, o valor do
nmero inteiro pode mudar. O XDR resolve o problema definindo uma representao de
mquina independente. Em uma extremidade de um canal de comunicao, um programa
chama procedimentos XDR para fazer a converso da representao do hardware local para a
representao independente da mquina. Uma vez que os dados tenham sido transferidos para
outra mquina, o programa receptor solicita rotinas XDR para proceder converso da
representao independente da mquina para a representao local da mquina.
A principal vantagem do XDR automatizar grande parte da tarefa de converso de dados. Os
programadores no precisam digitar chamadas de procedimentos XDR normalmente. Ao
contrrio, eles fornecem o compilador XDR com os estatutos de declarao do programa para o
qual os dados devem ser transformados e o compilador automaticamente gera um programa
com as chamadas de biblioteca XDR necessrias.
8.5.
O SMTP (Simple Mail Transfer Protocol) e o protocolo usado no sistema de correio eletrnico na
arquitetura Internet TCP/IP. Um usurio, ao desejar enviar uma mensagem, utiliza o mdulo
interface com o usurio para compor a mensagem e solicita ao sistema de correio eletrnico
que a entregue ao destinatrio. Quando recebe a mensagem do usurio, o sistema de correio
eletrnico armazena uma cpia da mensagem em seu spool (rea do dispositivo de
armazenamento), junto com o horrio do armazenamento e a identificao do remetente e do
destinatrio. A transferncia da mensagem executada por um processo em background,
permitindo que o usurio remetente, aps entregar a mensagem ao sistema de correio
eletrnico, possa executar outras aplicaes.
O processo de transferncia de mensagens, executando em background, mapeia o nome da
mquina de destino em seu endereo IP, e tenta estabelecer uma conexo TCP com o servidor
Cristiano Alan Torres
Pg. 74/85
Arquitetura TCP/IP
de correio eletrnico da mquina de destino. Note que o processo de transferncia atua como
cliente do servidor do correio eletrnico. Se a conexo for estabelecida, o cliente envia uma
cpia da mensagem para o servidor, que a armazena em seu spool. Caso a mensagem seja
transferida com sucesso, o servidor avisa ao cliente que recebeu e armazenou uma cpia da
mensagem. Quando recebe a confirmao do recebimento e armazenamento, o cliente retira a
cpia da mensagem que mantinha em seu spool local. Se a mensagem, por algum motivo, no
for transmitida com sucesso, o cliente anota o horrio da tentativa e suspende sua execuo.
Periodicamente o cliente acorda e verifica se existem mensagens a serem enviadas na rea de
spool e tenta transmiti-las. Se uma mensagem no for enviada por um perodo, por exemplo de
dois dias, o servio de correio eletrnico devolve a mensagem ao remetente, informando que
no conseguiu transmiti-la.
Em geral, quando um usurio se conecta ao sistema, o sistema de correio eletrnico e ativado
para verificar se existem mensagens na caixa postal do usurio. Se existirem, o sistema de
correio eletrnico emite um aviso para o usurio que, quando achar conveniente, ativa o mdulo
de interface com o usurio para receber as correspondncias.
Um mensagem SMTP divide-se em duas partes: cabealho e corpo, separados por uma linha
em branco. No cabealho so especificadas as informaes necessrias para a transferncia
da mensagem. O cabealho e composto por linhas, que contm uma palavra-chave seguida de
um valor. Por exemplo, identificao do remetente (palavra-chave to: seguida do seu
endereo), identificao do destinatrio, assunto da mensagem, etc... No corpo so
transportadas as informaes da mensagem propriamente dita. O formato do texto livre e as
mensagens so transferidas no formato texto.
Os usurios do sistema de correio eletrnico so localizados atravs de um par de
identificadores. Um deles especifica o nome da mquina de destino e o outro identifica a caixa
postal do usurio. Um remetente pode enviar simultaneamente varias cpias de uma
mensagem, para diferentes destinatrios utilizando o conceito de lista de distribuio (um nome
que identifica um grupo de usurios). O formato dos endereos SMTP o seguinte:
Nome_local@Nome do domnio
Cristiano Alan Torres
Pg. 75/85
Arquitetura TCP/IP
Pg. 76/85
Arquitetura TCP/IP
Nem a Internet nem os protocolos TCP/IP so estticos. Atravs de sua Fora Tarefa de
Engenharia da Internet, a Diretoria de Arquitetura da Internet (IAB, acrnimo de Internet
Architecture Board) promove esforos efetivos e constantes que mantm a tecnologia elstica e
em evoluo. O estmulo para a mudana ocorre medida que aumentos em volume e em
tamanho foram as melhorias necessrias para manter o servio, uma vez que novos
aplicativos exigem mais da tecnologia denominada e j que novas tecnologias tornam possvel
fornecer novos servios.
A verso 4 do Internet Protocol (IPv4, verso atual) fornece o mecanismo bsico de
comunicao da pilha TCP/IP e da Internet. Essa verso permaneceu quase inalterada desde
seu incio, no final da dcada de 1970. A longevidade da verso 4 mostra que o projeto
flexvel e poderoso. Desde quando o IPv4 foi projetado, o desempenho do processador
aumentou mais de duas ordens de magnitude, os tamanhos tpicos de memria aumentaram 32
vezes, a largura de banda de rede cresceu 800 vezes, tecnologias de rede local afloraram e o
nmero de hosts na Internet cresceu para 4 milhes. Alm disso, as mudanas no ocorreram
simultaneamente o IP conciliou mudanas em uma tecnologia, diante das mudanas em
outras.
O protocolo IPv6 proposto mantm muitas das caractersticas que contriburam para o sucesso
do IPv4. Na verdade, os projetistas dotaram o IPv6 basicamente com as mesmas
caractersticas do IPv4, com algumas modificaes. Por exemplo, o IPv6 ainda aceita entrega
sem conexo (permite que cada datagrama seja roteado independentemente), permite que o
transmissor escolha o tamanho de um datagrama e requer que o transmissor especifique o
nmero mximo de passos da rota que um datagrama pode fazer antes de ser concludo. O
IPv6 tambm retm a maioria dos conceitos fornecidos pelas opes do IPv4, inclusive os
recursos para fragmentao e roteamento de origem.
Pg. 77/85
Arquitetura TCP/IP
Opes Aprimoradas. Como o IPv4, o IPv6 permite que um datagrama inclua informaes
de controle opcionais. O IPv6 inclui novas opes que oferecem recursos adicionais no
disponveis no IPv4.
Proviso para Extenso de Protocolo. Talvez a mudana mais significativa no IPv6 seja uma
transio de um protocolo que especifica inteiramente todos os detalhes, para um protocolo
que pode permitir recursos adicionais.
Pg. 78/85
Arquitetura TCP/IP
9.1.
FORMATO DO DATAGRAMA
Cabealho
Bsico
De Extenso 1
...
Cabealho
Dados...
De Extenso N
Figura 9.1. Forma geral de um datagrama IPv6 com vrios cabealhos. Apenas o cabealho bsico exigido; os de
extenso so opcionais.
Curiosamente, embora deva acomodar endereos maiores, um cabealho bsico IPv6 contm
menos informaes do que um cabealho de datagrama IPv4. As opes e alguns dos campos
fixos que aparecem em um cabealho de datagrama IPv4 foram removidos para cabealhos de
extenso no IPv6. Em geral, as mudanas no cabealho de datagrama refletem mudanas no
protocolo:
O tamanho dos campos de endereo de origem e de destino foi aumentado para 16 octetos
cada.
O campo TEMPO DE VIDA foi substitudo por um campo LIMITE DE PASSOS DE ROTA.
Pg. 79/85
Arquitetura TCP/IP
O campo PROTOCOLO foi substitudo por um campo que especifica o tipo do prximo
cabealho.
16
VERS
24
31
RTULO DE FLUXO
COMPRIMENTO DO PAYLOAD
PRXIMO
CABEALHO
LIMITANTE DE PASSOS
DA ROTA
ENDEREO DE ORIGEM
ENDEREO DE DESTINO
Figura 9.2. Formato de cabealho bsico de 40 octetos do IPv6. Cada datagrama do IPv6 comea com um
cabealho bsico.
Pg. 80/85
Arquitetura TCP/IP
9.2.
Em IPv6, cada endereo ocupa 16 octetos, quatro vezes o tamanho de um endereo de IPv4. O
espao grande de endereo garante que o IPv6 pode tolerar qualquer esquema razovel de
atribuio de endereo. De fato, se posteriormente os projetistas decidirem mudar o esquema
de endereamento, o espao de endereo ser suficientemente grande para acomodar uma
nova atribuio.
difcil compreender o tamanho do espao de endereo de IPv6. Um modo de examin-lo
consiste em relacionar a magnitude ao tamanho da populao: o espao de endereo to
grande que cada pessoa do planeta pode ter endereos suficientes para ter sua prpria
interligao em redes to grande quanto a Internet atual. Um outro modo de compreender o
tamanho o relacionar ao esgotamento do endereo. Por exemplo, considere quanto tempo
voc levaria para atribuir todos os endereos possveis. Um nmero inteiro de 16 octetos pode
conter 2128 valores. Assim, o espao de endereo maior do que 3,4x10 38. Se os endereos
forem atribudos razo de um milho de endereos a cada microssegundo, sero necessrios
mais de vinte anos para atribuir todos os endereos possveis.
Embora solucione os problemas de capacidade insuficiente, o tamanho grande do endereo
cria um problema novo e interessante: as pessoas que mantm interligaes em rede precisam
ler, dar entrada e manipular tais endereos. Obviamente, a notao binria indefensvel.
Contudo, a notao decimal pontuada, usada para IPv4, tambm no torna tais endereos
suficientemente compactos. Para compreender por que, considere um nmero de 128 bits,
como um exemplo, expresso na notao decimal pontuada:
104.230.140.100.255.255.255.255.0.0.17.128.150.10.255.255
Para ajudar o endereo a tornar-se ligeiramente mais compacto e mais fcil de dar entrada, os
projetistas do IPv6 propem o uso de notao hexadecimal de dois pontos, na qual o valor de
cada conjunto de 16 bits representado em hexadecimal separado por dois pontos. Por
exemplo, quando o valor mostrado acima em notao decimal pontuada tiver sido convertido
Cristiano Alan Torres
Pg. 81/85
Arquitetura TCP/IP
Pg. 82/85
Arquitetura TCP/IP
9.3.
Cluster
Multicast
Um endereo IPv6 tem um comprimento de 128 bits, tornando o espao de endereo to longo
que cada pessoa do planeta poderia ter uma interligao em redes to grande quanto a atual
Internet. O IPv6 divide os endereos em tipos, do mesmo modo que o IPv4 os divide em
classes. Um prefixo de endereo determina o local e a interpretao dos campos restantes do
endereo. Muitos endereos de IPv6 sero atribudos por provedores de servios de rede
Cristiano Alan Torres
Pg. 83/85
Arquitetura TCP/IP
Pg. 84/85
Arquitetura TCP/IP
10. BIBLIOGRAFIA
Comer, Douglas E., INTERLIGAO EM REDES COM TCP/IP, Editora Campus, 1998.
Tanenbaum, Andrew S., COMPUTERS NETWORKS, Third Edition, Prentice Hall PTR, 1996.
Kumar, V., MBone: INTERACTIVE MULTIMEDIA ON THE INTERNET, Indianapolis, IN: New
Riders, 1996.
Schulzinne, H., Casner, S., Frederick, R., Jacobson, V.,RTP: A TRANSPORT PROTOCOL
FOR REAL TIME APPLICATIONS, January 1996. http://ds.internic.net/rfc/rfc1889.txt
Pg. 85/85