Escolar Documentos
Profissional Documentos
Cultura Documentos
Apostila Cantu
Apostila Cantu
Curso de Telecomunicaes
Redes de Computadores e
Internet
CURSO DE TELECOMUNICAES
Apresentao
O objetivo desde texto servir de material de apoio para um curso introdutrio de redes de computadores,
voltado para o tcnico de nvel mdio. As redes de computadores so estudadas tomando como referncia s
tecnologias de rede mais difundidas atualmente, como a Internet e as redes locais Ethernet. A partir destas
tecnologias, inicialmente dirige-se o foco para as aplicaes de rede, tratando sua utilidade e importncia na
sociedade contempornea. Depois, procura-se trabalhar os conceitos de base envolvidos nesta temtica,
explorando o software e o hardware de suporte para as aplicaes, onde esto envolvidas questes como:
conectividade entre as mquinas, comutao de circuitos e comutao de pacotes, protocolos de comunicao e
arquitetura em camadas das redes de computadores. A arquitetura das redes de computadores estudada em
torno dos protocolos TCP/IP, principais protocolos da Internet, no que se refere s redes geograficamente
distribudas, e das tecnologias Ethernet, no que se refere s redes locais de computadores.
A principal referncia bibliogrfica utilizada na construo deste material foi o livro de KUROSE e ROSS,
Computer Networking: A top-down approach featuring the Internet, o qual desenvolve uma abordagem, chamada pelos
autores de top-down (ou de cima para baixo), onde o estudo inicia pelas aplicaes e depois vai descendo pelas
demais camadas que formam a arquitetura das redes de computadores, tomando como foco principal a
Internet.
O texto est organizado em quatro partes. A primeira faz uma introduo s redes de computadores e a
Internet, dando uma viso ampla das redes e dos principais conceitos envolvidos. A segunda parte abordada as
aplicaes de rede, apresentando em particular a aplicao WWW, o correio eletrnico e a transferncia de
arquivos. Na terceira parte discute os protocolos Internet TCP/IP. Finalmente, a quarta parte discute as redes
locais e os protocolos de enlace, com destaque para a tecnologia Ethernet. No final do texto foi includo um
glossrio de termos tcnicos utilizados na rea de redes de computadores, elaborado com a colaborao do
professor Alexandre Moreira.
Evandro Cant
So Jos, setembro de 2003.
ndice analtico
INTRODUO AS REDES DE
COMPUTADORES E A
INTERNET .................................3
O que uma rede de computadores?.......3
O que a Internet?....................................4
O que um protocolo? ..............................6
A periferia da Internet ..............................7
Servios oferecidos pela Internet s
aplicaes .................................................7
Ncleo da Internet .....................................8
Comutao de pacotes x comutao de
circuitos....................................................9
Roteamento em redes de comutao de
pacotes....................................................10
Endereamento ...................................... 22
Agente usurio....................................... 23
Qual servio de transporte uma aplicao
precisa?.................................................... 23
A aplicao WWW ................................. 24
O protocolo HTTP................................. 25
Os navegadores Web ............................. 27
Aplicao de transferncia de arquivos 27
Agentes usurio FTP ............................. 28
Protocolo FTP ....................................... 28
Correio eletrnico ................................... 29
Leitores de e-mail.................................. 29
Servidores de e-mail.............................. 29
Protocolo SMTP .................................... 30
Protocolo para leitura de e-mail POP3 .. 31
Questes................................................... 31
PROTOCOLOS INTERNET
TCP/IP ..................................... 33
Questes ...................................................18
APLICAES DE REDE.........21
O que uma aplicao de rede?.............21
Protocolos de aplicao..........................21
Clientes e servidores ..............................22
Comunicao atravs da rede.................22
Questes ...................................................57
Redes Locais............................................ 64
Endereos fsicos ................................... 65
Ethernet ................................................. 65
Hubs, pontes e switches......................... 67
PROTOCOLOS DE ENLACE E
REDES LOCAIS ......................59
Questes................................................... 67
O que um protocolo de enlace?............59
Tcnicas de deteco e correo de erros
...................................................................60
Protocolos de enlace ponto-a-ponto .......62
GLOSSRIO ........................... 70
REFERNCIAS
BIBLIOGRFICAS .................. 76
I N T R O D U O A S
E A I N T E R N E T
R E D E S
D E
C O M P U T A D O R E S
Parte
Introduo as Redes de
computadores e a Internet
A Internet hoje a rede de computadores mais utilizada no mundo, estando em franca
expanso; em termos de redes de telecomunicaes somente perde em abrangncia para o sistema
telefnico. No que se refere s tecnologias de rede, a Internet uma entre muitas alternativas,
todavia, devido a sua importncia na sociedade contempornea, pode ser tomada como principal
veculo para a discusso das redes de computadores.
Em alguns casos, seria suficiente construir redes de computadores limitadas, que conectam
somente algumas mquinas. Por exemplo, num pequeno escritrio de advocacia, com alguns
computadores e uma impressora, poderia se construir uma pequena rede para permitir o
compartilhamento da impressora entre os usurios.
Atualmente, com a importncia cada vez maior de se dispor de acesso a informaes e facilidades de
comunicao, as redes de computadores esto projetadas para crescer indefinidamente, sendo a
Internet um bom exemplo. No caso do escritrio de advocacia, a pouco citado, alm da
possibilidade de compartilhamento de recursos, uma conexo com outras redes e Internet pode
oferecer acesso a informaes importantes, como cdigos de leis e acompanhar o andamento de
processos, alm de propiciar um meio de comunicao bastante gil, facilitando o trabalho tanto dos
prestadores do servio de advocacia como dos clientes.
A conectividade dos computadores em rede pode ocorrer em diferentes escalas. A rede mais
simples consiste em dois ou mais computadores conectados por um meio fsico, tal como um par
metlico ou um cabo coaxial. O meio fsico que conecta dois computadores costuma ser chamado
de enlace de comunicao e os computadores so chamados de ns. Um enlace de comunicao
limitado a um par de ns chamado de enlace ponto-a-ponto. Um enlace pode tambm envolver
mais de dois ns, neste caso, podemos cham-lo de enlace multiponto (Figura 1.1). Um enlace
multiponto, formando um barramento de mltiplo acesso, um exemplo de enlace utilizado na
tecnologia de rede local (LAN local area network) do tipo Ethernet.
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
O que a Internet?
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
roteador
Estao
trabalho
de
servidor
mvel
ISP local
ISP regional
Rede
Corporativa
o
endereo
IP
e
www.sj.cefetsc.edu.br o nome do servidor do CEFET-SC em So Jos. A aplicao DNS
(domain name system) associa dinamicamente nomes a endereos IP.
Em outras palavras, pode-se dizer que a Internet uma rede de redes, interconectando redes de
computadores pblicas e privadas, as quais devem rodar o protocolo IP em conformidade com a
conveno de endereos IP e nomes da Internet.
A topologia da Internet hierrquica, onde os sistemas terminais so conectados a provedores
locais (ou ISP Internet Service Provider), que por sua vez so conectados a provedores regionais, e
estes ltimos a provedores nacionais ou internacionais. Por exemplo, o provedor local do
CEFET-SC em So Jos est conectado ao provedor regional da RCT-SC (Rede Catarinense de
Tecnologia www.funcitec.rct-sc.br), que est conectado ao provedor nacional da RNP
(Rede Nacional de Pesquisa www.rnp.br) (veja mapa RNP no endereo
www.rnp.br/backbone).
A conexo de um computador a um provedor local feita por meio de uma rede de acesso, a qual
pode ser um acesso residencial (por exemplo, via modem e linha discada) ou acesso corporativo
via rede local.
No nvel tecnolgico a Internet est construda a partir da criao, teste e implementao de
padres Internet. Estes padres so desenvolvidos e formalizados pelo organismo internacional
IETF (Internet Engineering Task Force www.ietf.org), atravs de documentos conhecidos como
RFCs (Request For Comments www.ietf.org/rfc.html), que contm a descrio de cada
protocolo padro da Internet.
5
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
O que um protocolo?
No nosso dia-a-dia o relacionamento humano exige alguns protocolos, ou boas maneiras, como por
exemplo, quando os dirigimos a uma pessoa para perguntar as horas. Note que no exemplo de
protocolo humano para perguntar as horas, h mensagens especficas que so emitidas e aes
especficas que so realizadas em funo das respostas recebidas (Figura 1.4).
No caso de um protocolo de rede temos a interao entre componentes de software e hardware dos
computadores, ao invs de pessoas. Na Internet todas as atividades de comunicao so governadas
por protocolos de comunicao. Por exemplo, protocolos fim-a-fim garantem a integridade dos
dados transmitidos atravs de mecanismos de reconhecimento e retransmisso; protocolos de
roteamento determinam o caminho de um pacote de dados da fonte at o destino; protocolos de
hardware em um adaptador de rede controlam o fluxo de bits sobre os fios que interligam dois
computadores; etc.
Como exemplo de um protocolo de rede, considere o que acontece quando voc requisita uma
pgina de um servidor Web. O cenrio mostrado na figura 1.4: primeiro seu computador envia
uma mensagem requisitando uma conexo com o servidor remoto (TCP conection request); o servidor
Web eventualmente vai receber sua requisio e responder afirmativamente (TCP conection reply);
sabendo que a conexo esta estabelecida, seu computador requisita ento a pgina procurada (GET
http://www.sj.cefetsc.edu.br/index.htm) e o servidor remoto envia o arquivo com o
cdigo HTML correspondente.
TCP connection
request
Oi
Oi
TCP connection
reply.
Que horas
so?
Get
http://www.sj.cefetsc.edu.br/index.htm
2:00 horas
Muito
Obrigada
<arquivo>
tempo
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
A periferia da Internet
Olhando a Internet com um pouco mais de detalhe
podemos identificar a periferia da rede, onde esto os
computadores que rodam as aplicaes, e o ncleo da
rede, formado pela malha de roteadores que interligam as
redes entre si.
Na periferia da rede esto os sistemas terminais ou
hospedeiros (hosts). So referidos como hospedeiros
porque hospedam programas de aplicao. So
programas de aplicao tpicos da Internet: o login remoto
a sistemas (Telnet ou SSH), a transferncia de arquivos
(FTP), o correio eletrnico (email), a paginao na Web
(WWW), a execuo de udio e vdeo, etc.
Os sistemas terminais so divididos em duas categorias: os
clientes e os servidores. Os clientes so em geral
computadores pessoais ou estaes de trabalho, e os
servidores computadores mais poderosos. Servidores e
clientes interagem segundo o modelo cliente/servidor,
no qual uma aplicao cliente solicita e recebe
informaes de uma aplicao servidora (Figura 1.5).
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
Para estes dois tipos de requisies de servios, a Internet dispe de dois tipos de servios de
transporte:
O servio garantido e orientado a conexo tem o nome de TCP (Transmission Control Protocol).
Quando uma aplicao usa o servio orientado a conexo o cliente e o servidor trocam pacotes de
controle entre si antes de enviarem os pacotes de dados. Isto chamado de procedimento de
estabelecimento de conexo (handshaking), onde se estabelecem os parmetros para a
comunicao. Por exemplo, mensagens TCP so trocadas entre as partes de uma interao WWW
para estabelecer a conexo entre o cliente e o servidor. Uma vez concludo o handshaking a conexo
dita estabelecida e os dois sistemas terminais podem trocar dados. O servio de transferncia
garantida, que assegura que os dados trocados so livres de erro, o que conseguido a partir de
mensagens de reconhecimento e retransmisso de pacotes. Por exemplo, quando um sistema
terminal B recebe um pacote de A, ele envia um reconhecimento; quando o sistema terminal A
recebe o reconhecimento ele sabe que o pacote que ele enviou foi corretamente recebido; caso A
no recebe confirmao, ele assume que o pacote no foi recebido por B e retransmite o pacote.
Alm das caractersticas citadas, o TCP integra ainda um servio de controle de fluxo, que assegura
que nenhum dos lados da comunicao envie pacotes rpido demais, pois uma aplicao em um
lado pode no conseguir processar a informao na velocidade que est recebendo, e um servio de
controle de congesto ajuda a prevenir congestionamentos na rede.
No servio no orientado a conexo no h handshaking; quando um lado de uma aplicao quer
enviar pacotes ao outro lado ele simplesmente envia os pacotes. Como o servio no garantido,
tambm no h reconhecimento, de forma que a fonte nunca tem certeza que o pacote foi recebido
pelo destinatrio. Tambm no h nenhum controle de fluxo ou congesto. Como o servio mais
simples, os dados podem ser enviados mais rapidamente. Na Internet, o servio no garantido e
no orientado a conexo tem o nome de UDP (User Datagram Protocol).
As aplicaes mais familiares da Internet usam o TCP, como por exemplo: Telnet, correio
eletrnico, transferncia de arquivos e WWW. Todavia existem vrias aplicaes usam o UDP,
incluindo aplicaes emergentes como aplicaes multimdia, voz sobre Internet, udio e vdeo
conferncia.
Ncleo da Internet
O ncleo da rede formado pela malha de roteadores, responsvel por interligar as redes entre si,
formando as ligaes inter-redes, ou Internet.
No ncleo da rede as informaes trafegam na forma de pacotes de dados, chamados de
datagramas. Em cada roteador os datagramas que chegam nos enlaces de entrada so
armazenados e encaminhados (store-and-forward) aos enlaces de sada, seguindo de roteador em
roteador at seu destino.
O protocolo IP o responsvel por estabelecer a rota pela qual seguir cada datagrama na malha
de roteadores da Internet. Esta rota construda tendo como base o endereo de destino de cada
pacote, conhecido como endereo IP.
Como visto anteriormente, os servios de transporte da Internet, atravs dos protocolos TCP e
UDP, provem o servio de comunicao fim-a-fim entre as portas dos processos de aplicao
8
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
rodando em dois diferentes sistemas terminais (hosts). Para isto, o TCP e UDP usam os servios do
protocolo IP, a qual prov um servio de comunicao para os datagramas entre os dois
computadores remotos, envolvendo cada roteador da rede no caminho entre o computador origem
e o destino da comunicao.
Comutao de pacotes x comutao de circuitos
A Internet usa a comutao de pacotes como tecnologia de comunicao no ncleo da rede, em
contraste com as redes telefnicas que usam a comutao de circuitos.
Na comutao de circuitos, quando dois sistemas terminais desejam se comunicar a rede
estabelece um circuito dedicado fim-a-fim entre os dois sistemas. por exemplo o que acontece
numa ligao telefnica; a partir do nmero discado, a rede estabelece um caminho entre os dois
interlocutores e reserva um circuito para possibilitar a conversao; o circuito ficar reservado
durante todo o tempo em que durar a comunicao.
Na comutao de pacotes, os recursos da rede no so reservados; as mensagens usam os recursos
a medida da necessidade, podendo como conseqncia, durante uma transmisso de dados ter que
esperar (em uma fila) para acessar um enlace, caso o mesmo esteja ocupado.
Como uma analogia simples, considere dois cabeleireiros: um que atende com hora marcada e o
outro que no. Para o que atende com hora marcada deve-se antes fazer uma reserva de horrio,
mas, quando se chega ao cabeleireiro, a princpio, no haver espera (isto no se aplica s consultas
mdicas, pois, apesar de hora marcada sempre h espera!). Para o que no atende com hora marcada
pode-se chegar a qualquer momento, mas, corre-se o risco de ter que esperar, caso haja outras
pessoas sendo atendidas.
A Internet essencialmente uma rede baseada na comutao de pacotes. Considere, por exemplo,
o que acontece quando um computador deseja enviar um pacote de dados a outro computador na
Internet. Como na comutao de circuitos, o pacote ser transmitido sobre uma srie de diferentes
enlaces de comunicao, todavia, no haver uma reserva de um circuito fim-a-fim. O pacote ser
encaminhado de roteador em roteador, e caso o enlace de sada de um roteador de sua rota esteja
ocupado, o pacote dever ser armazenado e aguardar a liberao do enlace em uma fila, sofrendo
um atraso.
Diz-se que a Internet faz o melhor esforo (best effort) para entregar os dados num
tempo apropriado, todavia no d nenhuma garantia.
Os defensores da comutao de pacotes sempre argumentam que a comutao de circuitos
ineficiente, pois reserva o circuito mesmo durante os perodos de silncio na comunicao. Por
exemplo, durante uma conversa telefnica, os silncios da conversao, ou as esperas para chamar
uma outra pessoa, no podem ser utilizados para outras conexes. Em outro exemplo, imagine um
mdico que usa uma rede de comutao de circuitos para acessar uma srie de exames de raios-X de
um paciente. O mdico estabelece uma conexo, solicita um exame, analisa os resultados e solicita o
prximo. No caso, os recursos da rede no so utilizados durante o tempo em que o mdico esta
analisando os exames. Alm disto, os tempos necessrios para o estabelecimento de circuitos fim-afim so grandes, alm de ser uma tarefa complicada e requerer esquemas complexos de sinalizao
ao longo de todo o caminho da comunicao.
Por outro lado, os opositores da comutao de pacotes argumentam que a mesma no seria
apropriada para aplicaes tempo real, como por exemplo conversar telefnicas, devido os atrasos
9
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
variveis em filas de espera, difceis de serem previstos. Todavia, com o avano tecnolgico e o
aumento da velocidade dos enlaces, observa-se uma tendncia em direo migrao dos servios
telefnicos tambm para a tecnologia de comutao de pacotes.
Roteamento em redes de comutao de pacotes
H duas classes de redes de comutao de pacotes, as redes baseadas em datagramas, como a
Internet, e as redes baseadas em circuito virtual. A diferena bsica destas duas redes est na forma
como os pacotes so roteados em direo ao destino.
Roteamento em redes baseadas em circuito virtual
Nas redes baseadas em circuito virtual, a rota para os pacotes estabelecida a priori, numa fase de
estabelecimento do circuito virtual. Uma vez estabelecido o circuito virtual, todos os pacotes seguem
pela mesma rota, cada um deles carregando a informao de qual circuito virtual o mesmo deve
tomar em cada roteador. Os exemplos de redes que utilizam esta tcnica incluem as redes X.25, as
redes frame-relay e as redes ATM (asynchronous transfer mode).
O processo de estabelecimento de um circuito virtual similar ao estabelecimento de conexo nas
redes de comutao de circuitos, entretanto, os enlaces individuais no ficam reservados de forma
exclusiva para uma nica conexo, podendo, durante uma transmisso, serem compartilhados por
outras transmisses.
Fazendo uma analogia, podemos comparar o estabelecimento de um circuito virtual com o
planejamento de uma viagem de carro, definindo o trajeto a priori, com a ajuda de um mapa e
consulta a Polcia Rodoviria para verificar o estado das rodovias at o destino. Durante a viagem, o
motorista segue, com a ajuda do mapa, o trajeto anteriormente estabelecido. Veja tambm, que as
estradas no ficam reservadas para um nico veculo; outros carros, que provavelmente seguem a
outros destinos, compartilham trechos das rodovias.
Roteamento em redes baseadas em datagrama
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
direcionar a carta para o centro postal do Brasil (por exemplo, situado em So Paulo). O centro
postal do Brasil vai ento direcionar a carta para Santa Catarina, estado destino da carta (na agncia
central de Florianpolis, por exemplo). A agncia de Florianpolis vai ento direcion-la a agncia
de So Jos, que por sua vez vai repassar ao carteiro para entregar a carta aqui na escola.
Na rede baseada em datagrama, cada pacote atravessa a rede contendo no cabealho o endereo do
n destino, que como o endereo postal, tem uma estrutura hierrquica. Quando o pacote chega a
um roteador, o mesmo examina uma parte do endereo e o encaminha ao roteador adjacente.
A figura 1.6 mostra uma taxonomia das redes de telecomunicaes.
Redes de
Telecomunicaes
Redes datagrama
Ex.: Internet
Uma rede de acesso residencial conecta tipicamente um computador pessoal, instalado na casa de
um usurio, a um roteador de borda, provavelmente de um provedor de acesso domstico. A forma
mais comum de acesso residencial o acesso via modem e linha discada. O modem residencial
converte o sinal digital do computador num formato analgico para ser transmitido sobre a linha
telefnica analgica. No lado do provedor, outro modem vai converter o sinal analgico de volta a
forma digital. Neste caso, a rede de acesso um simples enlace ponto-a-ponto sobre o par tranado
da linha telefnica. Em termos de velocidade de transmisso, os modems analgicos transmitem em
taxas que vo at 56 Kbps, todavia, devido m qualidade das linhas, dificilmente este valor
atendido de forma plena. (Figura 1.7)
11
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
Fax/Modem
Rede
Comutada
Banco de
Modem
Rede local do
provedor
Roteador de
borda
Computador
com placa de
rede
Figura 1.8. Acesso corporativo via rede local
Meios fsicos
Como meio fsico podemos ter, por exemplo, par tranado, cabo coaxial, fibra ptica ou a
utilizao do ar e do espectro de freqncia de rdio. A conexo ao meio fsico pode se dar de
diversas maneiras, onde cada uma delas utiliza protocolos especficos, necessitando de dispositivos
12
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
adaptadores, por exemplo, placas fax/modem e placas de rede. O tipo de acesso e o meio fsico
utilizado determinar uma taxa de transmisso de dados para o enlace de comunicao.
13
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
Usurio recebe
correspondncia em sua casa
Carteiros (coleta)
Carteiros (entrega)
Triagem ( encaminhamento)
Triagem ( encaminhamento)
Triagem (recebimento)
Servio de Malote
Servio de Malote
Servio de Malote
Estas camadas horizontais permitem que cada funcionalidade seja descrita de forma separada, onde
cada camada guarda uma certa independncia das demais. Por exemplo, para o usurio, uma vez
que ele depositou uma carta no coletor, no lhe interessa como a mesma vai ser entregue ao
destinatrio. Ele simplesmente conta com o sistema postal para isto.
Por sua vez, os carteiros no se preocupam com o contedo das correspondncias e nem em como
sero enviadas ao destinatrio. Seu servio coletar as correspondncias e lev-las o setor de
triagem. A forma como os carteiros realizam seu trabalho pode ser alterada sem afetar as demais
camadas. Por exemplo, utilizar uma bicicleta ao invs de ir a p para coletar as cartas.
Quanto s agncias de triagem e encaminhamento, da mesma forma, sua organizao interna
pode ser alterada sem prejudicar o restante do processo. Por exemplo, uma agncia de triagem mais
importante pode contar com servios automatizados para separao de cartas, outras menores,
podem realizar a separao manualmente.
14
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
O mesmo tipo de comentrios poderia ser feito com respeito ao servio de malote das
correspondncias. Por exemplo, entre duas agencias de triagem que possuem um grande fluxo de
correspondncias, como entre duas capitais, poderia haver um servio de malote dedicado via area.
Note que nas agncias terminais, todas as camadas do sistema postal precisam ser
implementadas, incluindo caixas coletoras e os servios de carteiros para coleta/entrega de cartas.
Por outro lado, podemos ter algumas agncias intermedirias dedicadas somente triagem e
encaminhamento, localizadas, por exemplo, em ns importantes do sistema. Neste caso, as
camadas superiores no precisam ser implementadas.
Cada camada oferece um servio camada superior:
Aplicao
Apresentao
Sesso
Transporte
Rede
15
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
Aplicao
Transporte
Camada Aplicao
16
Rede
Enlace/Fsica
Figura 1.13. Pilha de
protocolos da Internet
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
A camada de transporte se situa logo acima da camada de rede na pilha de protocolos. Enquanto os
protocolos de transporte oferecem comunicao lgica entre processos rodando em diferentes
computadores, a camada de rede oferece comunicao lgica entre os computadores. A diferena
sutil, mas importante. Vamos analis-la fazendo uma analogia com residncias atendidas pelo nosso
sistema postal hipottico.
Neste sistema, a agncia da jurisdio do destinatrio entrega as cartas no endereo da residncia do
usurio com a ajuda dos carteiros. Todavia, um mesmo endereo pode pertencer a mais de uma
pessoa. Quando chega uma correspondncia a uma pessoa da residncia, algum deve se encarregar
de receb-la e entreg-la ao usurio final. Neste exemplo, a pessoa que recebeu a correspondncia
do carteiro faz um papel anlogo ao servio de multiplexaxo de aplicaes realizado pelos
protocolos da camada transporte.
Camada Enlace
Vinculado camada enlace est a camada fsica, que responsvel por mover os bits que compe
os dados entre um n e outro utilizando um meio fsico especfico. Os meios fsicos podem ser
cabos coaxiais, fios de cobre, fibras pticas ou o ar a partir do uso do espectro de freqncia de
rdio.
A camada fsica realiza o transporte de bits sobre o meio fsico de um enlace de
comunicao.
No caso do sistema postal, a camada fsica corresponderia ao meio de transporte utilizado pelos
carteiros ou pelo servio de malote para transportar as cartas, como por exemplo, bicicleta, carro,
nibus, etc.
Questes
1.
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
2.
3.
4.
5.
6.
7.
8.
O que uma aplicao de rede? Cite exemplos e mostre a utilidade de cada aplicao
citada.
9.
10.
11.
12.
13.
O que significa ter os computadores conectados em rede local? Como uma rede local
pode ser conectada a Internet?
14.
15.
16.
17.
18.
19.
20.
21.
Comente sobre pelo menos trs vantagens de se dividir a arquitetura das redes de
computadores em camadas.
22.
23.
19
I N T R O D U O
A S
R E D E S
D E
C O M P U T A D O R E S
I N T E R N E T
24.
25.
26.
O que telefonia na Internet? Ache algum URL sobre telefonia na Internet que
descreva alguns produtos existentes.
27.
Pesquise sobre distribuio de udio na Internet. Ache algum URL que oferea este
servio.
28.
20
A P L I C A E S
D E
R E D E
Parte
Aplicaes de Rede
As aplicaes de rede so a razo de ser da Internet, permitindo que os usurios possam fazer
coisas teis e interessantes na rede. Sem as aplicaes, a Internet no teria sentido.
A P L I C A E S
D E
R E D E
22
A P L I C A E S
D E
R E D E
Por exemplo, para enderear o servidor Web do CEFET em So Jos devemos fornecer o
endereo IP ou o nome de domnio da mquina responsvel por servir as pginas Internet, ou seja,
IP: 200.135.233.1 ou www.sj.cefetsc.edu.br, respectivamente. Quanto ao nmero da porta, como
algumas aplicaes tem o nmero padronizado, em geral, o agente usurio escolhe o nmero de
porta automaticamente em funo da aplicao em uso.
Agente usurio
O agente usurio a interface entre o usurio e a aplicao de rede. Mais especificamente, o agente
usurio um programa de computador, comercial ou de domnio pblico, que implementa a
interface do lado cliente de uma aplicao de rede.
Por exemplo, o agente usurio para um cliente WWW pode ser, por exemplo, o Internet Explorer
da Microsoft, o Netscape Navigator ou o Mozilla. O agente usurio para um leitor de correio
eletrnico pode ser, por exemplo, o Outlook da Microsoft, o Eudora ou o Netscape Messager.
Perdas
sem perdas
sem perdas
sem perdas
tolerante
udio/vdeo gravado
jogos interativos
aplicaes financeiras
tolerante
tolerante
sem perdas
Banda
elstica
elstica
elstica
udio: 5Kb-1Mb
vdeo:10Kb-5Mb
como anterior
> alguns Kbps
elstica
23
Requisitos temporais
no
no
no
sim, 100s mseg
sim, alguns segs
sim, 100s mseg
sim e no
A P L I C A E S
D E
R E D E
Para atender a estes requisitos, os dois protocolos de transporte da Internet oferecem as seguintes
facilidades:
Servio TCP:
Controle de fluxo: evita que o emissor possa afogar com dados um receptor mais lento;
Servio UDP:
Protocolo de
aplicao
Protocolo de
transporte
SMTP
Telnet
HTTP
FTP
NFS
SNMP
RIP
DNS
proprietrio
proprietrio
TCP
TCP
TCP
TCP
tipicamente UDP
tipicamente UDP
tipicamente UDP
tipicamente UDP
TCP ou UDP
tipicamente UDP
A aplicao WWW
A aplicao WWW uma aplicao de rede que permite aos usurios obterem documentos, ou
pginas Web, sob demanda. Uma pgina Web consiste de objetos, os quais podem ser arquivos
HTML (hypertext markup language), imagens JPEG, imagens GIF, applets Java, clip de udio e vdeo,
etc, endereados por um endereo URL (universal resource locator). A maioria das pginas Web
consiste de uma pgina base HTML e vrias referncias, conhecidas como hiperlinks, para outros
objetos. Pginas pessoais dos usurios so conhecidas como home pages.
Um endereo URL tem duas componentes: (1) o nome do computador que hospeda as pginas
Web e (2) o nome do objeto e o caminho onde o mesmo esta localizado. Por exemplo, para
acessar a pgina do Curso de Telecomunicaes do CEFET, o endereo URL
www.sj.cefet.edu.br/principal/areas/tele/inicio.htm
24
A P L I C A E S
D E
R E D E
HTTP
request
Computador
rodando
Explorer
HTTP
response
Servidor
rodando
Apache
HTTP
request
HTTP
response
Computador
rodando
Netscape
A P L I C A E S
D E
R E D E
A primeira linha apresenta o comando bsico para requisio de uma pgina Web, seguido pela
parte do URL que indica o caminho e o nome do objeto que se deseja (GET
/diretorio/pagina.html). As linhas seguintes, chamadas de cabealho, so opcionais. A
segunda linha (Host: www.escolatecnica.edu.br) indica o nome computador onde reside o
objeto; a terceira linha (Connection: close) informa para fechar a conexo aps envio da
resposta; a quarta linha (User-agent: Mozilla/4.0) indica o tipo do agente usurio utilizado e a
linha (Accept-language:pt) indica que o portugus a lngua preferencial.
Do ponto de vista do usurio o mesmo s enxerga o endereo URL que digitou e o navegador
monta e envia as mensagens HTTP de forma transparente.
A mensagens de resposta (response) tem a seguinte estrutura:
HTTP/1.1 200 OK
Connection: close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 09:23:24 GMT
Content-Length: 6821
Content-Type: text/html
(data data data data data . . .)
A resposta tem trs partes, uma primeira linha informando o estado (status) da solicitao, seis
linhas de cabealho e os dados que compe objeto solicitado. A primeira linha indica a verso do
protocolo, o cdigo e estado da mensagem (HTTP/1.1 200 OK). A segunda linha (Connection:
close) indica que a conexo ser encerrada; a terceira linha (Date: Thu, 06 Aug 1998
12:00:15 GMT) informa a data da ltima modificao no objeto solicitado, utilizada por servidores
proxy; a quarta linha (Server: Apache/1.3.0 (Unix)) indica o tipo do servidor, a quinta linha
(Content-Length: 6821) indica o tamanho do objeto em bytes e a ltima linha (ContentType: text/html) informa o contedo da mensagem. Os dados vem em seguida.
Os cdigos de estado (status) mais comuns so:
200
301
400
404
505
servidor.
26
A P L I C A E S
D E
R E D E
Exerccio
usurio
Interface do
cliente
usurio FTP
FTP
sistema de
arquivos
local
FTP
servidor
Conexo TCP para
transferncia de
dados
(porta 20)
27
sistema de
arquivos
remoto
A P L I C A E S
D E
R E D E
A cada comando do usurio, o protocolo FTP envia mensagens do cliente ao servidor e vice-versa.
As mensagens so enviadas atravs da conexo TCP de controle, em formato ASCII, com quatro
caracteres maisculos. Veja alguns exemplos de comandos digitados pelo usurio e as mensagens do
protocolo FTP enviadas do servidor ao cliente:
Ao executada pelo usurio
Cada comando do cliente seguido por uma resposta do servidor. As respostas so sempre de trs
dgitos, com uma mensagem opcional seguindo o nmero. Veja algumas respostas tpicas:
331
125
425
452
28
A P L I C A E S
D E
R E D E
Correio eletrnico
O correio eletrnico, ou e-mail (electronic mail), uma das aplicaes mais populares da Internet.
uma aplicao assncrona, onde os usurios enviam e lem suas mensagens quando acharem
conveniente. As mensagens
modernas incluem hyperlinks
servidor
HTML, texto formatado,
Fila de mensagens
Agente
de correio
imagens, sons e at vdeo.
usurio
Numa viso geral, o correio
eletrnico possui trs grandes
componentes: os agentes
usurios, os servidores de email e o protocolo SMTP
(simple mail transfer protocol)
(Figura 2.4).
Agente
usurio
Caixas postais
SMTP
SMTP
servidor
de correio
Agente
Leitores de e-mail
usurio
Os agentes usurio, muitas
SMTP
vezes chamados de leitores
de e-mail, permitem aos
servidor
Agente
usurios
lerem
(read),
Agente
usurio
de correio
usurio
responderem
(reply)
ou
encaminharem (forward) a
outra pessoa uma mensagem
Figura 2.4. Componentes do Correio
recebida,
bem
como
comporem (compose) e enviar
(send) uma nova mensagem. Os modernos leitores de e-mail apresentam interface grfica, como
por exemplo, o Eudora, Microsoft Outlook ou Netscape Messenger; entretanto, muitos ainda
utilizam leitores de e-mail em modo texto, como o mail, pine e elm. Mais recentemente, tambm
tem sido bastante difundida a leitura de e-mail diretamente com os navegadores Web, os quais
acessam servidores conhecidos como de web-mail.
Servidores de e-mail
Os servidores de e-mail so os componentes centrais da infraestrutura do correio eletrnico. Para
enviar uma mensagem caixa postal de uma pessoa, uma vez que o remetente digitou mensagem,
seu agente usurio a envia ao seu servidor de e-mail, que coloca a mensagem em uma fila de sada.
Atravs do protocolo SMTP, o servidor de e-mail envia as mensagens que esto na sua fila de sada
em direo ao servidor destino. Caso o servidor destino no esteja acessvel, o servidor de e-mail
tentar envi-la novamente a cada 30 minutos, persistindo nestas tentativas por alguns dias, quando
ento remove a mensagem e notifica quem a tinha enviado.
Cada servidor de e-mail tem tambm um conjunto de caixas postais (mailbox) para cada um de seus
usurios cadastrados. Uma vez que uma mensagem chegou ao servidor de e-mail destino, a mesma
armazenada na caixa postal do respectivo usurio.
29
A P L I C A E S
D E
R E D E
Para ler uma mensagem em sua caixa postal o destinatrio da mensagem deve, a partir de seu leitor
de e-mail, requisit-la de seu servidor. O servidor de e-mail ento requisita uma autenticao do
usurio, atravs de uma identificao e uma senha, para depois repassar as mensagens que
porventura chegaram a esta pessoa.
Protocolo SMTP
O protocolo SMTP o protocolo de aplicao mais importante para o funcionamento do correio
eletrnico. Ele usa o servio de transferncia de dados confivel do TCP para transferir uma
mensagem desde o remetente at a caixa postal do destinatrio. O SMTP, como outros protocolos
de aplicao, tem dois lados, o lado cliente e o lado servidor. Quem envia a mensagem faz o papel
do cliente e quem recebe de servidor, todavia, ambos os lados do SMTP devem ser implementados
em cada servidor de e-mail.
As mensagens trocadas pelo protocolo SMTP so mensagens em caracteres ASCII. Para enviar uma
mensagem, o cliente SMTP estabelece uma conexo TCP, na porta 25, com o servidor SMTP.
Uma vez estabelecida conexo TCP, cliente e servidores de e-mail entram em uma fase de
apresentao mtua (handshaking), trocando algumas informaes (como, o cliente indica o endereo
de e-mail do emissor e do destinatrio), antes de enviarem a mensagem eletrnica em si.
Veja um exemplo de uma seqncia de mensagens SMTP trocadas entre um cliente (C) e um
servidor (S). O nome do cliente smtp.das.ufsc.br e o nome do servidor
mail.sj.cefetsc.edu.br. Cada linha do exemplo corresponde exatamente aos textos ASCII
trocados depois de aberto o canal TCP. A abertura do canal TCP pode ser feita a partir de um
Telnet no servidor de email (porta 25), por exemplo:
> telnet mail.sj.cefetsc.edu.br 25
S:
C:
S:
C:
S:
C:
S:
C:
S:
C:
C:
C:
C:
S:
C:
S:
Envie voc tambm um email manualmente a um colega trocando mensagens SMTP diretamente
com um servidor. Para tal, voce dever fazer primeiramente um Telnet (acesso remoto), na porta 25
30
A P L I C A E S
D E
R E D E
(porta do SMTP), de um servidor de e-mail. Uma vez estabelecida conexo TCP, voc poder
trocar comandos SMTP.
Protocolo para leitura de e-mail POP3
Uma vez enviada uma mensagem eletrnica, ela colocada na caixa postal do destinatrio. Uma
maneira natural para o destinatrio de ler as mensagens de sua caixa postal, seria acessar diretamente
o seu servidor de e-mail. Isto na verdade o que se faz quando se acessa remotamente o servidor
(por exemplo, atravs de um Telnet) e utiliza um agente usurio como o pine. Os novos web-mail
tambm fazem isto, acessando as caixas postais diretamente no servidor de e-mail.
No caso do usurio destino utilizar um leitor de e-mail diretamente em seu computador pessoal
(como o Eurora ou Outlook), vai haver a necessidade de transferir as mensagens do usurio do seu
servidor de e-mail para seu computador. Para realizar esta tarefa, normalmente utiliza-se um
protocolo de acesso para e-mail extremamente simples, o protocolo POP3. O POP3 inicia quando
o agente usurio (cliente) abre uma conexo TCP com o servidor de e-mail, na porta 110. Com a
conexo TCP estabelecida, o POP3 processa trs fases: autorizao (quando o usurio envia seu
nome e senha e recebe suas mensagens), transao (quando o usurio requisita aes sobre as
mensagens, como por exemplo marcando algumas para serem apagadas) e atualizao (quando o
usurio encerra a sesso e o servidor apaga as mensagens marcadas para serem removidas).
Outro protocolo com a mesma funo do POP3 o protocolo IMAP (Interactive Mail Acess Protocol).
Exerccio
Se voc usa seu computador pessoal para e-mail, verifique a configurao do seu aplicativo, anotando
o endereo do servidor para que voc possa enviar mensagens, chamado de endereo SMTP, e o
endereo do servidor onde voc vai verificar suas mensagens ainda no lidas, chamado de endereo
POP3.
Questes
1.
2.
Mostre para pelo menos trs aplicaes, quem faz o papel do cliente e quem faz o
papel de servidor.
3.
4.
5.
O que um agente usurio? Cite exemplo de agentes usurio para pelo menos cinco
aplicaes.
6.
29.
7.
8.
31
A P L I C A E S
D E
R E D E
9.
10.
11.
12.
13.
Faa uma descrio das caractersticas de dois navegador Web (Internet Explorer e
Netscape, por exemplo), mostrando as diferenas entre ambos.
14.
Faa um Telnet (ou SSH) em um servidor Unix e utilize o navegador em modo texto
lynx. Descreva suas caractersticas e utilidade.
15.
16.
17.
18.
19.
20.
Descreva as diversas partes que compe uma mensagem eletrnica. Mostre atravs
de um exemplo.
21.
Faa um Telnet (ou SSH) em um servidor Unix e utilize o agente usurio de correio
eletrnico em modo texto mail. Descreva suas caractersticas e utilidade.
22.
32
P R O T O C O L O S
I N T E R N E T
Parte
T C P / I P
Rede 1
roteador
roteador
Rede 3
Rede 2
roteador
roteador
Rede 5
roteador
Rede 4
P R O T O C O L O S
I N T E R N E T
T C P / I P
Camada de Transporte
Aplicao
Transporte
Rede
Enlace/Fsica
Figura 3.2. Pilha de
protocolos da Internet
Situada entre a camada de aplicao e a camada de rede, a camada de
transporte tem a funo de prover um canal de comunicao lgico fima-fim entre os processos de aplicao rodando em diferentes computadores, sem se preocupar com
os detalhes da infra-estrutura fsica usada para carregar as mensagens entre eles.
34
P R O T O C O L O S
I N T E R N E T
T C P / I P
receptor
emissor
Dados da camada aplicao
Cabealho do
segmento
Segmento
Hr
Ht
P3
M
aplicao
transporte
rede
P1
Aplicao
Transporte
rede
Protocolo de transporte
do cabealho
dados da
aplicao
(mensagem
Figura 3.4. Segmento da camada transporte
HTTP porta 80
SMNP porta 25
TELNET porta 23
SSH porta 22
FTP porta 21.
Considere como exemplo a aplicao Telnet, que utiliza a porta 23. Quando um cliente Telnet
inicia uma seo, ele envia ao servidor Telnet um segmento TCP destinado porta 23 (porta
reservada para a aplicao Telnet) e coloca como nmero de porta da fonte uma porta que no
esteja sendo utilizada por nenhum processo no host cliente, por exemplo, porta X. Quando o
servidor recebe o segmento, ele verifica que o mesmo endereado a porta 23 e ento sabe que se
35
P R O T O C O L O S
I N T E R N E T
T C P / I P
trata da aplicao Telnet e a porta da fonte X vai identificar um processo Telnet especfico (j que
porta fonte: x
Host A
ClienteTelnet
Host B
Servidor Telnet
porta dest: 23
porta fonte: 23
porta dest: x
36
32 bits
porta origem
porta destino
comprimento
checksum
Dados
de
aplicao
(mensagem)
P R O T O C O L O S
I N T E R N E T
T C P / I P
Checksum
O checksum do UDP permite a deteco de erros nos dados transmitidos. Para isto, o emissor
UDP faz o complemento 1 da soma de todos as palavras de 16 bits do segmento e coloca o
resultado no campo cheksum. Por exemplo, suponha que temos trs palavras de 16 bits:
0110011001100110
0101010101010101
0000111100001111
A soma ser
0110011001100110
0101010101010101
_______________
1011101110111011
1011101110111011
0000111100001111
_______________
1100101011001010
O complemento 1 obtido invertendo cada bit 1 por 0 e vice-versa. Desta forma o complemento
da soma ser 0011010100110101, o qual ser o cheksum. No lado do receptor UDP, todas as
palavras de 16 bits recebidas so adicionadas, incluindo o cheksum.Se no houve erros na
transmisso, a soma ser 1111111111111111. Se um dos bits for 0, ento sabido que houve erros.
TCP (Transmission Control Protocol)
O protocolo TCP, como o UDP, tambm oferece a multiplexao/demultiplexao de
aplicaes e o mecanismo de deteco de erros. A grande diferena que o TCP um protocolo
orientado a conexo e com transferncia garantida, onde os dois processos devem acordar
entre eles uma abertura de conexo para que os dados possam ser transferidos. Alm destas
caractersticas, o TCP integra ainda um servio de controle de fluxo, que assegura que nenhum dos
lados da comunicao envie pacotes rpido demais, pois uma aplicao em um lado pode no
conseguir processar a informao na velocidade que est recebendo, e um servio de controle de
congesto ajuda a prevenir congestionamentos na rede.
Uma conexo TCP uma conexo full-duplex (isto , em ambos os sentidos e simultnea) e sempre
fim-a-fim, entre o host emissor e o host receptor. Uma vez estabelecida conexo os dois processos
podem trocar informaes. O processo cliente, no lado emissor, passa o bloco de dados atravs da
porta apropriada. O TCP ento manipula estes dados, dirigindo para o buffer de envio. Os dados
so ento fragmentados e encapsulados na forma de segmentos. Os segmentos, por sua vez, so
passados a camada rede onde eles so separadamente encapsulados em datagramas IP, que so
enviados atravs da rede. Quando o TCP do receptor recebe os dados, os mesmos so recebidos
no buffer de recepo. A aplicao no lado do receptor ento l os dados a partir deste buffer.
37
P R O T O C O L O S
I N T E R N E T
T C P / I P
Voltando a analogia com o sistema postal, pode-se dizer que o servio de entrega de
correspondncias entre usurios um servio tipo melhor esforo (best effort), isto , ele faz o
melhor esforo para o envio de uma carta entre usurios, mas no d nenhuma garantia. Em
particular, no garante a entrega da carta, pois a mesma pode se perder e no h formas de avisar o
emissor sobre o ocorrido. Da mesma forma, no h um servio de confirmao de recebimento do
receptor ao emissor. por isso que pode ser chamado de servio no garantido.
Este servio anlogo ao servio oferecido pelo protocolo da camada rede da Internet, o IP. Na
Internet o servio garantido implementado pelo TCP, e roda sobre o servio no garantido
fornecido pelo IP, utilizando nmeros de sequncia, reconhecimentos e temporizadores.
Vamos comparar o servio garantido fornecido pelo TCP utilizando uma analogia com o que
acontece na compra de uma enciclopdia em fascculos.
Suponha que voc resolva adquirir uma enciclopdia, cujos volumes so vendidos em fascculos que
so entregues pelo correio. Imagine que a coleo completa tenha 100 fascculos sendo eles
enviados um a cada semana.
Quando voc resolve fazer a compra, voc envia uma carta a editora responsvel pela venda da
enciclopdia com seu pedido. A editora ento faz a abertura de um cadastro de cliente para voc e
na semana seguinte lhe envia a confirmao do seu cadastro, juntamente com o primeiro fascculo e
os procedimentos para confirmao de recebimento e pagamento.
Suponha que a cada cinco fascculos recebidos, voc deve enviar uma correspondncia de
confirmao de recebimento, juntamente com a parcela de pagamento correspondente.
Como a entrega dos fascculos usa o servio no garantido dos correios, os mesmos podem ser
perdidos ou mesmo danificados no transporte. Caso isto ocorra, voc dever enviar a editora uma
carta de aviso informando o nmero fascculo no chegou ou que chegou danificado. A editora
ento far o reenvio do fascculo com problemas.
As trocas de mensagens entre o comprador e a editora continuam at que o total de 100 fascculos
sejam entregues e a ltima confirmao e o respectivo pagamento seja efetuado. Neste momento, a
editora encerrar o cadastro do cliente e voc poder usufruir da enciclopdia completa.
Voltando aos protocolos da Internet, para implementar o servio garantido no TCP, ocorrem
procedimentos similares aos efetuados entre o cliente e o vendedor da enciclopdia. No caso do
TCP, primeiro h uma fase chamada de abertura de conexo, onde se estabelece os parmetros
para a comunicao, como inicalizao de variveis e buffers. Em seguida, inicia-se a troca de dados,
onde cada pacote de informao trocado entre o emissor e o receptor tem um nmero de
sequncia, o qual vai ser tomado como base para o receptor reconhecer o recebimento. Caso o
reconhecimento no seja confirmado dentro de um tempo limite, o emissor retransmite o pacote.
Protocolo com Transmisso Garantida
Para garantir uma entrega de dados livre de erros, os protocolos com transmisso garantida, como o
TCP, utilizam uma tcnica conhecida como confirmao positiva com retransmisso. A tcnica
exige que um receptor comunique-se com a origem, retornando uma mensagem de
reconhecimento (acknoledge), a medida que recebe os dados. O transmissor, por sua vez, inicia um
temporizador para cada pacote que envia, e retransmite o pacote se este temporizador se complete
antes que chegue uma confirmao de recebimento.
38
P R O T O C O L O S
I N T E R N E T
T C P / I P
Host B
Envia Pacote 1
Recebe Pacote 1
Envia Ack 1
Recebe Ack 1
Temporizador 1
Envia Pacote 2
X Perda
Temporizador 2
Envia Pacote 2
Recebe Pacote 2
Envia Ack 2
Recebe Ack 2
Temporizador 2
O problema de um protocolo como o da figura 3.7 que o emissor deve esperar o reconhecimento
de cada pacote antes que um novo pacote possa ser enviado, o que torna a transmisso bastante
ineficiente. Protocolos mais elaborados, como o TCP, permitem que o emissor transmita mltiplos
pacotes antes de esperar uma confirmao. No TCP isto implementado atravs de um mecanismo
conhecido como janelas deslizantes.
No mecanismo de janelas deslizantes, mostrado na figura 3.8, o emissor pode enviar uma sequncia
de pacotes, contidos dentro de uma janela de tamanho fixo, antes de esperar uma confirmao.
Janela inicial
(a)
Janela desliza
(b)
Figura 3.8 Mecanismo de janelas deslizantes
39
P R O T O C O L O S
I N T E R N E T
T C P / I P
Na figura 3.8 (a) , os pacotes contidos dentro da janela (numerados de 1 a 5) podem ser enviados em
sequncia. Quando o transmissor redece a confirmao do primeiro pacote da janela, a janela
desliza, figura 3.8 (b), permitindo que um novo pacote seja enviado.
A figura 3.9 mostra uma sequncia de trs pacores sendo transmitida com o mecanismo de janela
deslizante.
Host A
Host B
Envia Pacote 1
Envia Pacote 2
Envia Pacote 3
Recebe Pacote 1
Envia Ack 1
Recebe Pacote 2
Envia Ack 2
Recebe Ack 1
Recebe Pacote 3
Envia Ack 3
Recebe Ack 2
Recebe Ack 3
Figura 3.9. Sequncia de pacotes transmitidos com janelas
deslizantes.
Segmento TCP
A figura 3.7 mostra a estrutura do segmento TCP. No cabealho, alm dos nmeros de porta e
checksum que tambm existem no UDP, h outros campos com informaes necessrias a
implementao do servio de transferncia garantida, controle de fluxo e controle de
congestionamento.
O campo de dados da aplicao do segmento TCP (Figura 3.10), contm um fragmento ou
pedao dos dados da aplicao, cujo tamanho mximo, chamado de MSS (maximum segment size),
depende da implementao do TCP. Os valores tpicos so 1.500 bytes, 536 bytes e 512 bytes, no
incluindo o cabealho. (Em geral o valor de MSS escolhido para evitar a fragmentao do
datagrama IP na camada inferior, conforme veremos a frente. Este valor em algumas
implementaes pode ser configurado manualmente ou estabelecido automaticamente pelo
protocolo).
Outros campos fundamentais do segmento TCP so os seguintes:
40
P R O T O C O L O S
I N T E R N E T
T C P / I P
Nmero
de
seqncia
e
reconhecimento, utilizado para o
emissor e receptor implementarem o
servio de transferncia garantida.
Tamanho da janela do receptor,
usado para o controle de fluxo, e
indica o nmero de bytes que o
receptor capaz de receber.
32
no. porta origem
nmero de seqncia
nmero de reconhecimento
tam.
cab.
sem
uso
U A P R S F
checksumm
janela receptor
dados urgentes
dados da aplicao
(tam. varivel)
41
P R O T O C O L O S
I N T E R N E T
T C P / I P
...
1000
1o segmento
...
1999
...
...
499.999
2o segmento
Figura 3.11. Diviso de um arquivo de dados em
Os reconhecimentos servem para o receptor informar o emissor quais blocos que foram recebidos
corretamente. Todavia, lembre-se que uma comunicao TCP sempre full-duplex, o que significa
que o host A pode estar recebendo dados do host B ao mesmo tempo em que est enviando dados ao
host B (como parte da mesma conexo TCP). Desta forma, haver nmeros de reconhecimentos
para dados seguindo de A para B e outros para dados seguindo de B para A.
O nmero de reconhecimento que o host A coloca no seu segmento o nmero de
seqncia do prximo byte que o host A espera receber do host B.
Por exemplo, suponha que o host A recebeu todos os bytes numerados de 0 a 535 de B e que est
prestes a enviar um segmento a B. Neste caso, o host A coloca como nmero de reconhecimento
536, o que vai indicar a B que o mesmo recebeu todos os bytes at este nmero.
Em outro exemplo, suponha que o host A recebeu todos os bytes numerados de 0 a 535 de B e em
seguida recebeu de B um segmento contendo bytes de 900 a 1000. Note que A no recebeu os bytes
que vo de 536 a 899. Como A ainda est esperando bytes a partir de 536, ele reenvia a B um
segmento com nmero de reconhecimento 536. Continuando este exemplo, suponha agora que A
receba o segmento que faltava, com os bytes que vo de 536 a 899. Neste caso, como ele j recebeu
inclusive os dados contendo os bytes de 900 a 1000, ele envia um reconhecimento com nmero
1001. Isto chamado de reconhecimento cumulativo, que indica que recebeu todos os bytes at
este nmero
Telnet: Caso de estudo para nmeros de seqncia e reconhecimento
O Telnet uma aplicao interativa usada para acesso remoto a sistemas e roda sobre o protocolo
de transporte TCP.
O Telnet permite que um usurio utilize uma mquina A e estabelea uma seo interativa em uma
mquina B, como se estivesse utilizando um terminal. Quem solicita o Telnet assume o papel de
cliente. Cada caractere digitado pelo usurio cliente ser enviado ao computador remoto; o
computador remoto ento enviar uma cpia de cada caractere para ser mostrado na tela do cliente.
Desta forma, cada caractere atravessa a rede duas vezes entre o tempo em que o usurio digita uma
tecla e a visualizao da mesma na tela.
Vamos examinar os segmentos TCP trocados durante uma seo Telnet (Figura 3.12). Suponha que
o usurio tecla a letra C. Suponha ainda que os nmeros de seqncia iniciais usados pelo
cliente e pelo servidor sejam 42 e 79, respectivamente. Isto indica que o primeiro byte a ser enviado
pelo cliente ao servidor ter o nmero de seqncia 42 e o primeiro byte a ser enviado pelo servidor
ao cliente ter o nmero de seqncia 79. Lembre tambm que o nmero de reconhecimento
indica o nmero de seqncia do prximo byte esperado. Desta forma, depois de estabelecia a
42
P R O T O C O L O S
I N T E R N E T
T C P / I P
conexo TCP, e antes do envio de quaisquer dados, o cliente esta esperando pelo byte 79 e o
servidor est esperando pelo byte 42.
A figura 3.12 mostra trs segmentos trocados entre o cliente e o servidor. O primeiro segmento
enviado pelo cliente, contendo um caractere ASCII com a letra C (nmero de seqncia 42). O
segundo segmento enviado pelo servidor ao cliente e serve para dois propsitos: prov um
reconhecimento do caractere recebido (nmero de reconhecimento 43) e envia o caractere C de
volta para ser apresentado na tela do cliente (nmero de seqncia 79). No terceiro segmento
trocado, o cliente reconhece o caractere recebido (nmero de reconhecimento 80).
Host A
Cliente
Telnet
Usurio
tecla C.
Host B
Servidor Telnet
Servidor
reconhece C e
envia de volta
C.
Seq=43, Ack=80
Para criar o servio de transferncia de dados garantida o TCP manipula trs grandes eventos
relacionados transmisso/retransmisso de dados.
1.
Quando recebe dados da camada aplicao o TCP cria segmentos com nmeros de
seqncia, correspondentes aos prximos nmero de seqncia a serem transmitidos,
e inicia um temporizador para cada segmento criado.
2.
3.
Vamos explicar como estes eventos que so tratados pelo TCP analisando alguns cenrios. No
primeiro cenrio (Figura 3.13), o host A envia 8 bytes de dados ao host B (com nmero de seqncia
43
P R O T O C O L O S
I N T E R N E T
T C P / I P
92). O host B envia reconhecimento dos 8 bytes recebidos (reconhecimento 100), o qual perdido.
Depois do estouro do temporizador do segmento 92, o mesmo reenviado pelo host A. Quando o
host B recebe o segmento duplicado, ele reenvia o reconhecimento.
Host A
Host B
Ack=100
Time-out
X perda
Ack=100
No segundo cenrio (Figura 3.14), o host A transmitiu ao host B um segmento com 8 bytes (nmero
de seqncia 92) e em seguida mais um segmento com 20 bytes (nmero de seqncia 100). O host
B recebeu estes segmentos e enviou nmeros de reconhecimento (100 e 120 respectivamente).
Todavia, o reconhecimento do segmento 92 (reconhecimento 100) chegou depois do time-out. Logo
o host A retransmitiu o segmento com nmero de seqncia 92. Como o host B j havia recebido este
segmento e tambm o seguinte (com nmero de seqncia 100), ele reenviou o reconhecimento
cumulativo deste ltimo segmento (reconhecimento 120).
44
P R O T O C O L O S
I N T E R N E T
T C P / I P
Host A
Host B
Ack=100
Seq=92, 8 bytes de dados
Ack=120
Ack=120
No prximo cenrio (Figura 3.15), como no caso anterior, o host A transmitiu ao host B um
segmento com 8 bytes (nmero de seqncia 92) e em seguida mais um segmento com 20 bytes
(nmero de seqncia 100). O host B recebeu estes segmentos e enviou nmeros de reconhecimento
(100 e 120 respectivamente). Todavia, o reconhecimento do segmento 92 (nmero de
reconhecimento 100) se perdeu, o que no aconteceu com o segmento 100 (nmero de
reconhecimento 120). Como o host A recebeu este ltimo reconhecimento, ele sabe que o host B
recebeu todos os segmentos por ele enviados, e est esperando agora segmentos com nmero de
seqncia 120.
45
P R O T O C O L O S
I N T E R N E T
T C P / I P
Host A
Host B
Ack=100
X Perda
Ack=120
Para trocarem segmentos de dados utilizando o TCP o emissor e o receptor estabelecer uma
conexo TCP atravs da troca de pacotes de controle entre si. Isto chamado de procedimento
de estabelecimento de conexo (handshaking), onde se estabelecem os parmetros para a
comunicao. Uma vez concludo o handshaking a conexo dita estabelecida e os dois sistemas
terminais podem trocar dados.
ABERTURA DE CONEXO
Cliente
TCP
2.
Servidor
TCP
46
P R O T O C O L O S
I N T E R N E T
T C P / I P
uma mensagem de aceite da conexo, chamada SYNACK (com o flag Syn e flag Ack
setados em 1), onde reconhece o pedido de conexo e especifica seu nmero inicial de
seqncia.
3.
Uma vez recebido o aceite da conexo pelo servidor, o cliente confirma o recebimento
com um segmento chamado ACK (flag Syn agora em 0 e flag Ack setado em 1 indicando
um reconhecimento vlido) e
tambm aloca buffers e inicializa Host A
Host B
variveis da conexo.
FIN
ACK
ENCERRAMENTO DE CONEXO
47
P R O T O C O L O S
I N T E R N E T
T C P / I P
Camada Rede
A camada de transporte prov um canal lgico processo-a-processo para as aplicaes rodando
em diferentes hosts. Para prover este servio, a camada de transporte usa a camada rede, a qual
prov um servio de comunicao de computador-a-computador na inter-rede.
Papis da camada rede:
Datagrama IP
32 bits
ver
comp.
cab.
identificao
sobrevida
Comprimento
total
tipo de
servio
flags
camada
superior
fragmentao
checksum
cabealho
dados
(comprimento varivel,
tipicamente um segmento
TCP ou UDP)
P R O T O C O L O S
I N T E R N E T
T C P / I P
O comprimento total do datagrama, teoricamente poderia ser de 64K bytes (em funo dos 16
bits do campo), todavia, na prtica, nunca maior que 1.500 bytes e freqentemente limitado em
576 bytes. Isto feito para evitar a fragmentao do datagrama na rede fsica, j que o mesmo
encapsulado em um quadro da camada enlace e nem todas tem quadros de mesmo tamanho. No
caso das redes locais Ethernet o tamanho do quadro de 1.500 bytes e em outros enlaces de 576
bytes. O tamanho mximo dos pacotes que podem ser transportados pela camada enlace chamado
de MTU (maximum transfer unit) (Figura 3.19).
40 bytes
Cabealho
IP
Cabealho
TCP
Cabealho
Enlace
Endereamento IP
49
P R O T O C O L O S
I N T E R N E T
T C P / I P
trs interfaces. Olhando para os endereos IP atribudos a cada computador e a cada interface do
roteador, podemos notar, por exemplo, que os dispositivos conectados a rede local da esquerda e
acima tem os endereos IP da forma 200.1.2.X. Isto , compartilham os 24 bits mais esquerda do
endereo IP. No jargo IP, esta parte do endereo forma o identificador da rede. Os 8 bits restantes
permitem identificar cada host da rede local. O endereo da rede local seria 200.1.2.0/24, onde a
notao /24 tambm conhecida como mscara de rede, e indica que os 24 bits mais
esquerda dos 32 bits do IP identificam a rede.
200.1.3.5
200.1.2.10
200.1.3.40
200.1.2.20
200.1.3.15
200.1.3.16
200.1.2.25
Roteador
200.1.5.12
200.1.5.3
200.1.5.20
Figura 3.20. Endereamento IP
Classes de endereamento de IP
CLASSE B
1 0
CLASSE C
1 1 0
CLASSE D
1 1 1 0
Segundo octeto
Terceiro octeto
rede
Quarto octeto
0 - 127
host
rede
128 - 191
host
rede
host
multicast
50
192 - 223
224 - 239
P R O T O C O L O S
I N T E R N E T
T C P / I P
at 28 endereos, ou seja 256 hosts, o que pode ser muito pouco para muitas organizaes. J uma
classe B (/16), poderia acomodar 216 endereos, ou 64.634 endereos, o que seria demais para uma
organizao com, por exemplo, 2000 computadores.
Isto foi resolvido pelo IETF com a definio do padro chamado CIDR (classes interdomain routing),
que permite as organizaes obterem um identificador de rede com qualquer tamanho. A notao
utilizada pelo CIDR a.b.c.d/x, onde o x a mscara de rede que indica o nmero de bits
reservados para a identificao da rede. Por exemplo, uma organizao com 2000 computadores
poderia solicitar um bloco de 2048 endereos, cuja notao seria a.b.c.d/21, e indica que os
primeiros 21 bits identificam a rede e os 11 bits restantes (211 =2048) caracterizam o espao de
endereamento. No caso da nossa rede no CEFET em So Jos, licena 200.135.233.0/24, a qual
nos permite atribuir internamente at 256 endereos.
Alguns endereos IP tm utilizao especial. Por conveno, um endereo de rede tem o campo
identificador de host com todos os bits iguais a 0. Podemos tambm nos referir a todos os hosts de
uma rede atravs de um endereo de difuso, onde todos os bits so iguais a 1. Um endereo com
todos os 32 bits iguais a 1 considerado um endereo de difuso para a rede do host origem do
datagrama. O endereo 127.0.0.0 reservado para teste (loopback) e comunicao entre processos da
mesma mquina. Os endereos com o primeiro octeto entre 240 e 255 so reservados para uso
futuro.
Roteamento
O roteamento inter-redes a principal funo do protocolo IP. O protocolo assume que um host
capaz de enviar datagramas a qualquer outro host conectado mesma rede local. Caso o destinatrio
no esteja na mesma rede, parte da funo de roteamento transferida para os roteadores (gateways).
Os roteadores podem ser equipamentos especficos ou computadores normais que possuem mais
de uma interface de rede. O roteamento no IP baseia-se exclusivamente no identificador de rede
do endereo destino. Cada roteador possui uma tabela, chamada tabela de roteamento, cujas
entradas so pares: endereo de rede/endereo de roteador. Por exemplo, quando um host deseja
enviar um datagrama, inicialmente ele verifica se o destinatrio est conectado a rede local. Se for o
caso, ele entrega o datagrama a interface de rede que se encarrega de mapear o IP no endereo fsico
do host destino, encapsular o datagrama IP
host A
host B
em um quadro da rede e transmiti-lo. Caso o
200.1.2.2
200.1.2.1
host destino no se encontre na rede local, ele
200.1.1.1
200.1.1.2
envia o datagrama ao roteador padro
(gateway default) da rede local. O roteador
200.1.2.4
200.1.2.3
200.1.1.3
procura na sua tabela de roteamento o
endereo do roteador que deve ser usado
200.1.3.3
para alcanar a rede onde est conectado o
host E
destinatrio do datagrama. O roteador
encontrado pode no fazer parte da rede
destino, mas, deve fazer parte do caminho a
200.1.3.1
200.1.3.2
ser percorrido para alcan-la.
Veja um exemplo de como funcionam as
51
P R O T O C O L O S
I N T E R N E T
T C P / I P
Interface
200.1.1.3
200.1.2.4
200.1.3.3
52
P R O T O C O L O S
I N T E R N E T
T C P / I P
A mscara de rede utilizada para "mascarar" uma parte do endereo IP para que se possa distinguir
o identificador da rede do identificador do host. Quando dois hosts desejam se comunicar, a mscara
da rede utilizada para determinar se um host est localizado na rede local ou em uma rede remota.
Exemplos de mscara de rede:
Classe
/20
/21
/24
N. de hosts
212 = 4096
211 = 2048
28 = 256
Notao em decimal
255.255.240.0
255.255.248.0
255.255.255.0
Para se extrair o identificador da rede a partir do endereo IP completo, uma operao lgica
AND realizada com a mscara de rede.
Por exemplo, para descobrir o identificador de rede do host Joplin cujo endereo IP 200.135.233.4
e cuja mscara de rede 255.255.255.0, devemos fazer uma operao AND desdes dois valores:
11001000 10000111 11101001 00000100
11111111 11111111 11111111 00000000
AND _______________________________
11001000 10000111 1110100100000000
o qual ser igual a 200.135.233.0 (rede do CEFET em So Jos).
Roteador Padro
Para comunicao com um host de uma outra rede, deve-se configurar um endereo IP para o
roteador padro (defaut gateway). O roteador padro o local para onde o TCP/IP envia pacotes
destinados a redes remotas. Se um roteador padro no for especificado, as comunicaes se
limitaro rede local.
Exerccio
53
P R O T O C O L O S
I N T E R N E T
T C P / I P
Mapeamento do IP em um
endereo fsico da rede local
Protocolo ARP
O protocolo RARP realiza a operao inversa do ARP, isto , a partir de um endereo fsico
permite encontrar o endereo IP da mquina.
geralmente utilizado por mquinas sem disco rgido (disk-less) para obter um endereo IP de um
servidor. Para tal, um host RARP envia um broadcast com o seu endereo fsico solicitando um
endereo IP. A mquina autorizada a responder o pedido RARP envia a resposta.
Alternativas mais modernas ao protocolo RARP so o BOOTP e o DHCP, ambos construdos
sobre protocolos de mais alto nvel, como o IP e o UDP.
Protocolo BOOTP
O RARP um protocolo de baixo nvel, que exige um acesso direto ao hardware de rede para obter
um IP.
Pelo fato de usar o UDP e o IP, o BOOTP pode ser implementado como um programa de
aplicao. Alm disto, mais eficiente que o RARP, especificando vrios itens necessrios para a
inicializao alm do endereo de IP, como o endereo de um roteador ou de um servidor.
O BOOTP usa o UDP para carregar uma mensagem que encapsulada em um datagrama IP. Para
realizar o broadcast deste datagrama com a solicitao de um endereo IP, utilizado o broadcast
limitado na rede local (endereo IP: 255.255.255.255), mesmo antes de se saber qual o endereo IP
da rede local ou do host.
2 Por exemplo, as redes Ethernet possuem um endereo fsico de 48 bits, gravados em memria Eprom pelo fabricante da
placa.
54
P R O T O C O L O S
I N T E R N E T
T C P / I P
Alocao dinmica de IP
O protocolo DHCP (dynamic host configuration protocol) uma extenso do protocolo BOOTP e
permite a alocao dinmica de endereos IP (o BOOTP baseado em tabelas estticas). Com o
DHCP, um servidor DHCP recebe uma solicitao de um cliente e aloca dinamicamente um
endereo IP em resposta ao pedido do cliente. Com o DHCP um computador cliente pode
adquirir toda a configurao necessria em uma nica mensagem (por exemplo, o endereo IP,
mscara de rede, roteador padro, servidor DNS, etc).
O servidor DHCP deve ser configurado com a faixa de endereos IP disponveis para oferecer.
Quando um computador se conecta na rede, ele solicita um endereo IP se apresentando com seu
endereo fsico. O servidor ento escolhe um endereo IP dentro da faixa disponvel e aloca ao
solicitante.
Protocolo ICMP
Conforme j mencionado, o protocolo IP fornece um servio de datagramas no confivel e no
orientado a conexo, onde um datagrama segue de roteador em roteador at alcanar seu destino
final. Se um roteador no consegue encontrar uma rota ou entregar um datagrama, ou se uma
condio anormal detectada, o roteador precisa informar a fonte original dos dados para que esta
tome alguma ao ou corrija o problema. O protocolo ICMP (Internet Control amd Message Protocol)
permite que os roteadores enviem mensagens de erro e controle a outros roteadores ou hosts;
oferecendo uma comunicao entre a camada rede de uma mquina e a camada rede de outra
mquina.
Tecnicamente o ICMP um mecanismo de reportagem de erros. Ou seja, quando um datagrama
causa um erro, o ICMP pode reportar a condio de erro de volta a fonte original do datagrama; a
fonte ento relata o erro para a aplicao ou realiza uma ao com vistas a corrigir o erro. Por
exemplo, quando rodando uma aplicao Telnet ou HTTP, podemos encontrar mensagens como
rede destino no encontrada (destination network unreachable), que tem origem no protocolo ICMP.
O ICMP normalmente considerado como parte do IP, todavia est situado logo acima. As
mensagens ICMP so carregadas na poro de dados de um datagrama IP, que as identifica como
tipo ICMP. Os datagramas contendo as mensagens ICMP seguem de volta, seguindo exatamente o
caminho que tomaram os dados do usurio, podendo elas tambm serem perdidas ou corrompidas.
Formato das Mensagens ICMP
Cada mensagem ICMP tem um campo de tipo e um campo de cdigo, e tambm contm os
primeiros 8 bytes do datagrama que causou o erro (com isto o emissor pode determinar o pacote
que causou o erro).
Algumas mensagens ICMP:
ICMP Tipo
0
3
3
3
3
8
11
Cdigo
0
0
1
6
7
0
0
Descrio
echo reply (para o Ping)
destination network unreachchable
destination host unreachchable
destination network unknow
destination host unknow
echo request
TTL (time to live) expire
55
P R O T O C O L O S
I N T E R N E T
T C P / I P
Nem todas as mensagens ICMP so de reportagem de erros. A aplicao Ping, por exemplo, utiliza
mensagens ICMP Echo Request e Echo Reply para verificar se um host est disponvel e sua respectiva
resposta.
O Traceroute, que capaz de traar a rota que liga um host a outro host, tambm usa mensagens
ICMP. Para determinar o nome e o endereo dos roteadores entre a fonte e o destino, o Traceroute
na fonte envia uma srie de datagrama IP ordinrios ao destino. O primeiro datagrama tem o TTL
igual a 1, o segundo 2, o terceiro 3, e assim por diante, e inicia temporizadores para cada datagrama.
Quando o ensimo datagrama chega ao ensimo roteador, este verifica que o tempo de sobrevida
do datagrama acaba de terminar. Pelas regras do IP, o datagrama ento descartado e uma
mensagem ICMP de advertncia enviada a fonte (tipo 11 cdigo 0), com o nome do roteador e
seu endereo IP. Quando a resposta chega de volta a fonte, a mesma calcula o tempo de viagem em
funo dos temporizadores.
Sistema de Nomes de Domnio
Um nome de domnio um nome hierrquico implementado com a utilizao de um Sistema de
Nomes de Domnio (DNS domain name system).
O DNS proporciona um banco de dados on-line e distribudo para resolver nomes de domnios a
seus endereos IP correspondentes. Isto facilita na medida em que no precisamos mais memorizar
endereos IP, mas sim nomes de domnio, muito mais fceis de serem lembrados e ao mesmo
tempo identificados com o proprietrio do domnio.
Se uma organizao deseja participar da Internet, deve registrar o seu nome de domnio no Centro
de Informaes de Rede.
Principais nomes de domnio Internet
Nome de Domnio
edu
com
gov
org
<cdigo de pas>
Significado
Instituio educacional
Organizao comercial
Instituio governamental
Organizao no governamental
Cada pas (esquema geogrfico)
Exemplos:
ufsc.br
mit.edu
cefetesc.edu.br
mec.gov.br
matrix.com.br
national.com (nos USA no h sigla de pas)
Alm da sintaxe para os nomes, o esquema DNS inclui um sistema distribudo eficiente, seguro e de
propsito geral para se mapear nomes em endereos.
O DNS consiste da unio de sistemas cooperativos independentes, chamados servidores de
nomes, que fazem a translao do nome de domnio em endereo IP. O software cliente,
chamado resolvedor de nomes, usa um ou mais servidores de nomes para traduzir um nome.
Resoluo de Nomes
56
P R O T O C O L O S
I N T E R N E T
T C P / I P
Questes
1.
2.
3.
4.
5.
Pesquise na Internet a lista completa das portas TCP e UDP reservadas para aplicaes
especficas. Ache um endereo URL com esta informao.
6.
Suponha que voc est desenvolvendo uma aplicao para a Internet. Que tipo de
protocolo de transporte voc utilizaria, TCP ou UDP? Explique, tendo como base
aplicao que ser desenvolvida
7.
8.
9.
Para que serve e como funciona o mecanismo de chesksum utilizado pelo TCP, UDP
e IP? Cite um exemplo prtico.
10.
57
P R O T O C O L O S
I N T E R N E T
T C P / I P
11.
12.
13.
14.
15.
16.
17.
18.
Cite algumas tecnologias de rede que usam roteamento tipo circuito virtual. Ache
alguns endereos URL que expliquem estas tecnologias.
19.
20.
21.
22.
58
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
Parte
Dentre os possveis servios oferecidos pelos protocolos de enlace est o acesso ao meio fsico e o
encapsulamento (framing). No caso, os datagramas da camada rede so encapsulados em quadros e
o acesso ao meio vai depender do tipo de protocolo utilizado. Grosso modo podemos dividir os
protocolos de enlace em dois grandes grupos: os protocolos de enlace ponto-a-ponto e os
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
Perda de pacotes;
Os erros de bits so bastante raros, havendo tcnicas para detect-los e mesmo corrigi-los. Se o
erro for muito grave, o pacote pode ser descartado e ter que ser retransmitido. No caso da perda
de pacotes, a retransmisso a soluo. J no caso de falha de um enlace, algumas vezes
possvel utilizar uma rota alternativa, evitando a ligao com defeito.
A deteco e correo de erros no nvel de bits dos quadros enviados de um n a outro n
fisicamente conectado so geralmente servios oferecidos pelos protocolos da camada de enlace.
Trs tcnicas simples de deteco e correo de erros no nvel de bits so a checagem de
paridade, os mtodos de checksum e os mtodos de redundncia cclica.
Checagem de paridade
Talvez a forma mais simples de deteco de erros de bits seja utilizar um simples bit de paridade.
Por exemplo, suponha que um dado D a ser transmitida
0111000110101011
1
tenha d bits. Usando um esquema de paridade, o emissor
acrescenta ao dado um bit adicional e escolhe seu valor
D bits dado
Bit paridade
como o total de bits em 1 de d + 1 bits (o total de bits em D
mais o bit de paridade), de forma que seja par (Figura 4.2).
Figura 4.2. Bit de paridade
60
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
Quando o receptor recebe o dado, ele computa os bits em 1, incluindo o bit de paridade, e verifica
se o resultado par. Caso no seja, o receptor sabe que algum bit teve seu valor alterado.
Algumas tcnicas permitem, alm de detectar erros em bits, de corrigi-los. Estas tcnicas so
conhecidas como FEC (forward error correction). Elas so teis, pois permitem diminuir a necessidade
de retransmisses pelo emissor.
Checksum
Na tcnica de checksum o dado D tratado como uma seqncia de palavras binrias. O mtodo
consiste em somar a seqncia de palavras e usar a soma para detectar erros nos bits. Este mtodo
utilizado pelos protocolos Internet (veja exemplo anterior sobre o checksum do UDP).
Checagem de redundncia cclica
Os cdigos de redundncia cclica, ou cdigos CRC (cyclic redundancy check), esto entre os
mtodos mais utilizados nas redes de computadores para deteco de erros, pois podem descobrir
mais erros que um checksum.
Os cdigos CRC so tambm conhecidos como cdigos polinomiais, j que podem ser vistos
como um polinmio onde os coeficientes so 0 e 1. Por exemplo, o nmero binrio de 4 bits, 1011,
corresponde ao polinmio
M(x) = 1 . x3 + 0 . x2 + 1 . x1 + 1 . x0 = x3 + x1 + 1, cujo grau 3.
Os cdigos CRC operam como segue. Para uma pea de dados D a ser transmitida, o emissor e o
receptor devem acordar primeiramente sobre um polinmio gerador, G, de grau r. Assim, o
emissor adiciona ao dado D mais r bits, de forma que o resultado da soma d + r seja exatamente
divisvel por G usando aritmtica mdulo 2 (Figura 4.3).
D: bits dos dados
R: cdigo CRC
d bits
r bits
Quando o receptor recebe os dados, ele divide d + r por G; caso a diviso no seja exata, ele sabe
que h erros nos dados; caso contrrio, o dado considerado correto.
61
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
O protocolo PPP pode operar sobre uma linha telefnica (usando por exemplo uma conexo via
modem de 54K bps), sobre um enlace SONET/SDH (syncrhonous optical network/syncrhonous digital
hierarchy), sobre uma conexo X.25 ou sobre um circuito digital RDSI (rede digital de servios
integrados).
O protocolo PPP recebe um pacote da camada rede (por exemplo, um datagrama IP) e o encapsula
em um quadro da camada enlace PPP, de forma que o receptor ser capaz de identificar o incio
e o fim do quadro, bem como o pacote da camada rede que ele contm.
O formato do quadro PPP (Figura 4.4) sempre inicia e termina com 01111110 (chamado de flag), o
segundo byte sempre 11111111 (chamado de endereo) e o terceiro byte sempre 00000011
(chamado de controle). Os demais campos so os seguintes:
Protocol (1 ou 2 bytes), indica ao receptor qual o protocolo da camada de rede que est sendo
encapsulado no quadro. No caso de um datagrama IP, este campa tem o valor hexadecimal
21.
Information (tamanho varivel, podendo ter no mximo 1500 bytes), contm o pacote
encapsulado (dado), por exemplo um datagrama IP.
Checksum (2 a 4 bytes), usado para detectar erros nos bits do quadro transmitido.
01111110
11111111
00000011
Protocol
Info
Check
01111110
O protocolo SLIP (Serial Line Internet Protocol) outro protocolo similar ao protocolo PPP.
62
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
Laptop
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
universidade do Hawaii (USA), situados em diferentes ilhas do Pacfico. Entre estes esto os
protocolos de mltiplo acesso baseados em escuta da portadora (CSMA carrier sense multiple
access), que faz parte da definio do protocolo Ethernet.
Protocolo ALOHA
Na primeira verso do protocolo ALOHA, quando um n tinha um quadro a ser transmitido, ele o
transmitia imediatamente. Se aps um tempo de atraso o emissor ouvisse sua transmisso (reflexo
do sinal de rdio transmitido), ele assumia que no havia ocorrido conflito. Caso contrrio, assumia
que havia ocorrido que uma coliso e retransmitia o quadro com uma probabilidade p, seno
esperava um tempo correspondente ao tempo de transmisso e tentava enviar novamente com
probabilidade p.
Protocolo CSMA
O protocolo CSMA foi projetado para funcionar com computadores conectados em barramento.
Foi inspirado no protocolo ALHOA e introduziu dois novos princpios:
Escutar a portadora antes de enviar um quadro (carrier sense) (o que no era possvel no
ALHOA devido ao tempo de propagao do sinal de rdio). Neste processo, o n escuta o
canal: caso o canal estiver livre transmite o quadro imediatamente; caso o canal estiver
ocupado, volta a escuta-lo depois de decorrido um tempo randmico para tentar nova
transmisso.
Estas duas regras so as caractersticas principais do protocolo (CSMA/CD carrier sense multiple
access/colision detection), utilizado nas redes locais baseadas no protocolo Ethernet.
Redes Locais
Os protocolos de mltiplo acesso so largamente utilizados nas redes locais de computadores, ou
LANs (local area networks), que so redes de computadores concentradas em uma rea geogrfica
relativamente pequena, como um edifcio, uma escola ou uma universidade.
Numa rede local, todos os computadores e demais dispositivos de rede so diretamente conectados.
Desta forma, usam o mesmo tipo de protocolo de enlace, em geral. Um roteador conectando a rede
local a Internet prov uma forma de acesso a Internet a todos os equipamentos da rede local (Figura
4.6).
Nos anos 1980 at o incio dos anos
1990 duas classes tecnologias de
redes locais eram bastante
populares: a tecnologia Ethernet
(padronizada como IEEE 802.3),
baseada em um protocolo de acesso
randmico; e as tecnologias tokenring (padronizada como IEEE
802.5) e FDDI (fiber digital distributed
interface), onde os host so conectados
Servidor Web
Internet
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
Se o endereo do quadro recebido casa com o endereo fsico do n que o recebeu, ento
o n extrai o datagrama (da camada de rede) do quadro recebido (camada de enlace) e
repassa para cima na sua pilha de protocolos.
Em verdade, no o n da rede que tem um endereo fsico, mas sim, cada adaptador de rede da
rede local. Nas redes locais Ethernet, o endereo fsico tambm chamado de endereo Ethernet
ou ainda endereo MAC (media access control). Um endereo Ethernet um nmero expresso na
notao hexadecimal, de seis bytes, dando 248 possveis endereos. Este endereo permanente,
sendo gravado pelo fabricante do adaptador de rede em uma memria ROM (read only memory)
(Figura 4.7).
Resoluo de endereo fsico
1A-23-F9-CD-06-B9
88-B2-2F-54-1A-0F
5C-66-AB-90-75-B1
49-BD-D2-C7-56-2A
Figura 4.7. Cada adaptador de rede
tem um endereo fsico
Ethernet
Ethernet a tecnologia de redes locais mais difundida atualmente. Pode-se dizer que a Ethernet est
para as redes locais, assim como a Internet est para as redes geograficamente distribudas de alcance
global.
A Ethernet usa o protocolo de acesso randmico CSMA-CD, que completamente
descentralizado, o que facilita o projeto, e o hardware (em particular a placa de rede Ethernet) tem
um custo bastante atrativo.
Existem vrias tecnologias de rede local Ethernet, que operam em velocidades de 10 Mbps, 100
Mbps e 1 Gbps. Podem rodar sobre cabo coaxial, par tranado de cobre ou ainda fibra ptica,
65
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
sendo que, ao nvel lgico, todas as mquinas compartilham um barramento comum, sendo
portando a velocidade de acesso tambm compartilhada entre as estaes.
Quadro Ethernet
End. Dest.
End. Origem
Tipo
Dados
CRC
Prembulo (8 bytes), cada um dos primeiros sete bytes do prembulo tem o valor 10101010
e o oitavo byte tem o valor 10101011.
Tipo (2 bytes), permite identificar o tipo do protocolo da camada superior, por exemplo, o
protocolo IP (ou outro como Novell IPX).
Dados (46 a 1500 bytes), carrega o datagrama IP, sendo o MTU (maximum tranfer unit) o
quadro Ethernet 1.500 bytes.
CRC (cyclic redundancy check) (4 bytes), permite ao receptor detectar quaisquer erros
introduzidos nos bits do quadro recebido.
Tecnologias Ethernet
As tecnologias Ethernet esto padronizadas na norma IEEE 802.3 podendo ser implementadas de
diversas formas:
Terminador
Cabo coaxial
Placa de rede
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
Hub
Par tranado
Uma ponte (bridge) um dispositivo eletrnico que permite que vrias redes locais sejam
concatenadas. Cada ponte conecta dois segmentos de rede e faz com que uma cpia de cada quadro
que chega a um segmento seja transmitida ao outro segmento. Deste modo, os dois segmentos da
rede local operam como se fosse uma rede nica.
Diferentemente do hub, uma ponte manipula quadros completos, atuando portanto ao
nvel da camada enlace.
Switches
Um switch (ou comutador) um dispositivo eletrnico capaz de comutar o trfego de uma LAN,
diminuindo o espao de conflitos no acesso ao meio comum. Fisicamente um switch assemelha-se a
um hub; a diferena surge do modo como os dois dispositivos operam: o hub simula um meio nico
compartilhado por todos os computadores, enquanto o switch segmenta a rede local, onde cada
computador tem um segmento para si prprio.
Questes
1.
2.
Quais os possveis servios que a camada enlace pode oferecer a camada rede? Estes
servios tem correspondncia com servios oferecidos pelo IP ou mesmo TCP?
3.
4.
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
5.
Quais so, em geral, as causas de erros nos dados transmitidos atravs da rede?
6.
7.
8.
Pesquise sobre a aritmtica mdulo 2 utilizada nos cdigos CRC. Mostre um exemplo
prtico de como se processam as quatro operaes (soma, subtrao, multiplicao e
diviso) neste sistema.
9.
10.
30.
11.
12.
13.
Pesquise os diferentes padres IEEE 802 para redes locais. Cite exemplos de
tecnologias de uso corrente que usam estes padres.
14.
Explique o papel dos endereos fsicos nas redes locais. Como estes endereos so
configurados nos adaptadores de rede.
15.
16.
17.
Cite alguns meios fsicos que podem ser utilizados pelas tecnologias Ethernet,
relacionando cada tecnologia com o respectivo meio.
18.
19.
O que um hub?
20.
21.
22.
23.
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
69
Glossrio
Termo
Definio
ADSL
(Asymmetric Digital Subscriber Line) Sistema que possibilita transmisso de sinais em banda
larga nos cabos telefnicos metlicos. O ADSL usa multiplexao por diviso de
freqncia (FDM) para dividir o enlace de comunicao entre o usurio e o provedor
em trs faixas de freqncias: uma para envio de dados, uma para receber dados e outra
para voz. 12
Apache
ARP
ATM
Backbone
Best effort
BGP
B-ISDN
BOOTP
Broadcast
(difuso) Modo de transmisso de um sinal sobre um determinado meio a ser recebido 51, 61
por dois ou mais elementos de recepo. Normalmente utilizado para caracterizar
sistemas de radiodifuso. Na rea de redes tambm utilizado para caracterizar os
protocolos de acesso ao meio em redes locais do tipo barramento.
Buffer
Memria temporria, normalmente utilizada para armazenar dados que esto em espera 36, 37, 43
pela liberao de um recurso, como por exemplo, serem transmitidas em um enlace que
est ocupado.
Cable Moden
Modem que utiliza a rede cabos coaxiais para transferir informaes em alta velocidade. 12
Cache
Checksum
CIDR
Circuito
Virtual
Referncias
no texto
12
RDSI-FL
37
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
Conection reply
Conection request
Conectionless
CRC
Datagrama
DHCP
DNS
(Domain Name System) Banco de dados da internet usado para converter os nomes dos 53
domnios em endereos IP.
Download
Downstream
DSL
(Digital Subscriber Line) Tecnologia digital de transmisso de informaes por meio de ADSL
fios de cobre. As taxas de transferncia dependem da tecnologia que se usa (por
exemplo: ADSL, HDSL, SDSL). Concebida, em princpio, para aplicaes em redes
telefnicas.
Correio eletrnico. Sistema pelo qual um usurio de computador pode trocar 21, 22, 29
mensagens com outros usurios (ou grupos de usurios) via uma rede de comunicaes.
O correio eletrnico uma das aplicaes mais populares da Internet.
Ethernet
Padro para redes locais a 10 Mbps e 100 Mbps. Todos os hosts so conectados em um 58, 61, 62
enlace tipo barramento e utiliza o protocolo de acesso mltiplo CSMA/CD.
Fast Ethernet
FDM
Flag
Frame
(quadro).
Frame-Relay
Protocolo de acesso do nvel da camada enlace, que usa circuitos virtuais para 10
transportar dados.
FTP
(File Transfer Protocol) Protocolo de transferncia de arquivos, utilizado para a 16, 21, 27
transferncia de arquivos de um computador para outro na Internet.
Full-duplex
Gateway
N da rede equipado para atuar como interface com outras redes que usam protocolos Roteador
diferentes. Tambm utilizado como referncia a um roteador.
Gateway default
(roteador padro).
64
Quadro
Roteador
padro
71
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
Gigabit
Ethernet
Half-duplex
Handshaking
HDLC
(High Level Data Link Control) Protocolo do nvel da camada enlace, utilizado em 60
transmisso de dados orientados a bit.
HFC
(Hibric Fiber Coaxial Cable) Rede hbrida fibra tica/cabo coaxial. Normalmente utilizada 12
para acesso domstico a Internet utilizando o sistema de distribuio de TV a cabo.
Hiperlink
Home-page
Host
HTML
HTTP
(Hipertext Transfer Protocol) Protocolo para mover arquivos hipertexto atravs da Internet. 16, 25
o protocolo mais importante usado na aplicao WWW.
Hub
IAB
(Internet Architecture Board) Corpo tcnico que supervisiona o desenvolvimento dos IETF
protocolos Internet. Possui duas foras-tarefa: o IETF e o IRTF.
ICMP
(Internet Control and Message Protocol) Protocolo para reportagem de erros no roteamento 52
de datagramas IP.
IETF
(Internet Engineering Task Force) Organizao aberta, composta por projetistas de rede, 5
operadores, vendedores e pesquisadores cujo propsito coordenar a operao, a
gerncia e a evoluo da Internet e resolver questes de curto e mdio prazos
concernentes a protocolo e arquitetura. uma fonte importante de propostas para
padres de protocolo, os quais so submetidos ao IAB para a aprovao final.
IIS
(Internet Information Server) Aplicativo que implementa o lado servidor da aplicao WWW 25
nos sistemas Windows da Microsoft.
IMAP
(Interactive Mail Acess Protocol) Protocolo utilizado para acesso a servidores de correio 31
eletrnico. Outro protocolo com funo similar o POP3.
Internet
Intranet
Rede interna de uma empresa, interligada segundo os protocolos da Internet. Enquanto Internet
a Internet uma rede aberta, uma Intranet existe apenas dentro de uma organizao,
estando protegida do mundo exterior por firewalls, o que permitem que os empregados
tenham acesso ao mundo externo mas, evita que outros tenham acesso a ela. Uma
Intranet serve para distribuir notcias, responder perguntas dos empregados, atualizar
registros funcionais, conectar funcionrios em reas distantes, etc.
IP
(internet protocol) um dos principais protocolos da Internet, compondo a camada rede, 8, 17, 45
loco abaixo da camada transporte. um protocolo de comutao de pacotes noorientado a conexo. O protocolo IP responsvel por estabelecer a rota pela qual
72
8, 43
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
(Internet Research Task Force) uma fora tarefa do IAB para considerar questes Internet IETF
de longo prazo, do ponto de vista terico.
ISDN
ISO
ISP
ITU
LAN
(Local Area Network) Rede Local. Ambiente de comunicao local que utiliza enlaces de 3, 61, 62
mltiplos acesso em um meio compartilhado. Tipicamente construda para operar em
ambiente privado.
Linux
MAN
(Metropolitan Area Network) Redes Metropolitanas. Uma rede de dados servindo uma rea 4
mais ou menos do tamanho de uma cidade.
Modelo OSI
Modem
MS-DOS
(Microsoft Disk Operation Sistem) Antigo sistema operacional em modo texto da Microsoft. 28
MSS
MTU
(Maximum Transfer Unit) Tamanho mximo dos pacotes que podem ser transportados 46
pela camada enlace.
Multicast
47
OSI
OSPF
modelo OSI.
modelo OSI
45
Overhead
Pacote
PDU
(Protocol Data Unit) Unidade de dados de protocolo. Consiste no pacote que ser 34
transportado por uma determinada camada de protocolo, composto por dados da
camada superior precedidos por um cabealho de controle.
Ping
POP3
(Post Office Protocol 3) Protocolo utilizado para acesso a servidores de correio eletrnico. 31
Outro protocolo com funo similar o IMAP.
Porta
RDSI
73
25
38
53
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
aplicao.
PPP
(Point to Point Protocol) Protocolo de enlace que prov um mtodo para transportar 60
quadros sobre enlaces ponto-a-ponto. bastante usado na comunicao entre dois
computadores via modem e linha telefnica. Outro protocolo com funo similar o
protocolo SLIP.
Quadro
RARP
RDSI
Rede digital de servios integrados, ou ISDN (Integrated Services Digital Network). Rede de 12, 60
telecomunicaes digital capaz de transportar indistintamente sinais integrantes de
diversos servios. Presta servios de at 2 Mbps em que utilizada a rede de pares
metlicos at o assinante.
RDSI-FL
Rede Digital de Servios Integrados de Faixa Larga, ou B-ISDN (Broadband Integrated RDSI
Services Digital Network). Rede de alta velocidade que suporta o trfego de todo tipo de
servio (voz, dados e vdeo) a taxas acima de 2 Mbps. uma evoluo da RDSI
(ISDN). O ITU-T escolheu o ATM como transporte para essa rede.
RFC
(Request for Comments) Srie de documentos que descreve a sute de protocolos Internet. 5
Nem todas as RFCs descrevem padres Internet, mas todos os padres Internet so
escritos como RFCs.
RIP
Roteador
Roteador
Padro
(gateway default) Em uma rede local, o roteador padro o dispositivo para onde o 48, 50
TCP/IP envia pacotes destinados a redes remotas.
Router
(roteador).
SDH
SLIP
(Serial Line Internet Protocol) Protocolo usado para transportar pacotes sobre linhas seriais, 60
por exemplo, na conexo entre dois computadores via modem e linha telefnica, ou via
cabo RS-232. Outro protocolo utilizado para fins similares o PPP.
SMTP
(Simple Mail Transfer Protocol) Principal protocolo da aplicao de correio eletrnico da 16, 30
Internet. Define como as mensagens so trocadas entre os servidores e entre os
servidores e os leitores de correio eletrnico.
Socket
(porta).
SONET/
SDH
SSH
(Secure Shell) Protocolo utilizado para acesso remoto a sistemas, similar ao Telnet, mas 21
considerado mais seguro por usa criptografia na transferncia das informaes de
autenticao.
64
Roteador
Porta
P R O T O C O L O S
D E
E N L A C E
R E D E S
L O C A I S
TCP
TCP/IP
(Transmission Control Protocol / Internet Protocol) Conhecido como o conjunto de protocolos 4, 21, 33
da Internet, que combina o TCP e o IP.
TDM
Telnet
(emulao de terminal via rede) Protocolo padro da Internet para o servio de acesso 21, 22, 35, 39
remoto.
Time-out
Evento que ocorre quando um dispositivo de rede espera uma resposta de outro 40, 41
dispositivo de rede, mas no a obtm dentro de um intervalo especificado de tempo.
Time-to-live
(TTL) Tempo de sobrevida, indica o tempo de vida do datagrama, aps o qual o mesmo 46
descartado.
Top-down
(de cima para baixo) Que inicia a partir do topo e depois vai descendo pelos nveis i, 53
inferiores.
Traceroute
Aplicativo capaz de traar a rota que liga um host a outro host na Internet.
UDP
(User Datagram Protocol) Protocolo padro da Internet de camada de transporte. um 8, 17, 24, 36
protocolo no orientado conexo e sem transferncia de dados garantida.
UNIX
Sistema operacional multiusurio desenvolvido na dcada de 1960 e ainda hoje bastante 26, 28
utilizado, principalmente em provedores de servios para a Internet.
Upload
Upstream
URL
VoIP
Voz sobre IP. Tcnica de transmisso do sinal de voz do sistema telefnico sobre a 21
Internet.
WAN
(Wide Area Network) Rede geograficamente distribuda. Rede que cobre uma grande rea 4
geogrfica, podendo constituir-se de vrias redes locais interligadas. A Internet uma
WAN.
Web
Literalmente significa teia, em geral refere-se a conhecida aplicao Internet para acessar 4, 21
hipertextos em formato HTML onde os usurios podem criar, editar ou ler, atravs de
um navegador de documentos.
WWW
21, 24
X-25
10, 60
75
53
27
Referncias Bibliogrficas
KUROSE, J. F. e ROSS, K. W. Computer Networking: A top down approach
featuring the Internet, Addison Wesley, 2001. (Principal referncia, disponvel com Prof.
Cant)