Você está na página 1de 60

Redes de

Computadores
TCP/IP

Fabricio Breve
Fundamentos
Atualmente o protocolo mais usado em
redes locais
Principal responsvel: Popularizao da
Internet
Mesmo SOs que antigamente s suportavam
seu protocolo proprietrio hoje suportam
TCP/IP
WindowsNT com seu NETBEUI
Netware com seu IPX/SPX
Fundamentos
rotevel, foi criado pensando em redes
grandes e de longa distncia, onde pode
haver vrios caminhos para chegar ao
destino
Arquitetura aberta
Qualquer fabricante pode adotar sua prpria
verso do TCP/IP em seu SO sem pagar
direitos autorais
Todos os fabricantes acabaram adotando TCP/IP
Protocolo Universal
Arquitetura TCP/IP
7
Aplicao

6 Apresentao Aplicao

5 Sesso

4 Transporte Transporte

3 Rede Internet

2 Link de Dados
Interface com a Rede
1 Fsica

Modelo OSI TCP/IP


Arquitetura TCP/IP
TCP/IP na realidade um conjunto de
protocolos
TCP: Transmission Control Protocol
IP (Internet Protocol)
Operam nas camadas de Transporte e Internet
respectivamente
No so os nicos
Camada de Aplicao
Equivale s camadas 5, 6 e 7 do modelo OSI
Faz a comunicao entre aplicativos e a camada de
transporte
Os protocolos mais conhecidos:
HTTP (HyperText Transfer Protocol)
SMTP (Simple Mail Transfer Protocol)
FTP (File Transfer Protocol)
SNMP (Simple Network Management Protocol)
DNS (Domain Name System)
Telnet
Camada de Aplicao
Comunica-se com a camada de transporte
atravs de uma porta (ou porto)
Portas so numeradas e as aplicaes
padro usam sempre a mesma porta
Exemplos:
SMTP utiliza a porta 25
HTTP utiliza a porta 80
FTP as portas 20 (dados) e 21 (informaes de
controle)
Camada de Aplicao
Uso de portas: permite ao protocolo de
transporte (tipicamente o TCP) saber qual
o tipo de contedo do pacote de dados
No receptor, ao receber um pacote na porta
25 ir entreg-lo ao protocolo conectado a
essa porta (tipicamente SMTP), que por sua
vez ir repass-lo para a aplicao (programa
de e-mail)
Funcionamento da camada de
aplicao

Programa de E-mail Navegador WWW Programa de FTP

Camada de
SMTP HTTP FTP Aplicao

Camada de
TCP Transporte
Camada de Transporte
A camada de transporte do TCP/IP um
equivalente direto da camada de transporte (4)
do modelo OSI
Responsvel por pegar dados enviados pela
aplicao e transform-los em pacote para serem
repassados para a camada de Internet
Multiplexao: possvel transmitir dados das
mais diferentes aplicaes simultaneamente
Intercalamento de pacotes
Possvel graas ao conceito de portas
Camada de Transporte
Nesta camada operam dois protocolos
TCP (Transmission Control Protocol)
Mais utilizado na transmisso de dados
UDP (User Datagram Protocol)
No verifica se o dado chegou ou no ao destino
Mais usado na transmisso de informaes de
controle
Camada de Transporte
Recepo:
Pega os pacotes passados pela camada Internet
Coloca os pacotes em ordem e verifica se todos
chegaram corretamente
Quadros podem seguir caminhos diferentes e chegarem fora
de ordem
O protocolo IP (camada de Internet) no verifica se o
pacote de dados chegou ao destino; ficando o TCP
com essa tarefa (eventualmente pedindo uma
retransmisso)
Camada de Internet
Equivale a Camada de Rede (3) do modelo OSI
Todas as explicaes dadas sobre essa camada no
modelo OSI so 100% vlidas para a camada de
Internet do TCP/IP
Vrios protocolos podem operar nessa camada:
IP (Internet Protocol)
ICMP (Internet Control Message Protocol)
ARP (Address Resolution Protocol)
RARP (Reverse Address Resolution Protocol)
Camada de Internet
Pacote de dados recebido da camada TCP
dividido em pacotes chamados datagramas
Datagramas so enviados para a camada de
interface com a rede, onde so transmitidos pelo
cabeamento de rede atravs de quadros
No verifica se os dados chegaram ao destino,
isso feito pelo TCP
Responsvel pelo roteamento de pacotes
adiciona informaes ao datagrama sobre o caminho
que ele dever percorrer
Camada de Interface com a Rede
Equivale as camadas 1 e 2 do modelo OSI
Responsvel por enviar o datagrama
recebido pela camada de Internet em
forma de um quadro atravs da rede
Funcionamento do TCP/IP
Aplicaes

Camada de Aplicao (SMTP, HTTP, FTP, Telnet)

Camda de Internet (IP, ICMP, ARP, RARP)

Controle do Link Lgico


Controle do Acesso ao Meio (MAC) (IEEE 802.3) Camada de
Driver da Placa de Rede interface com a
Placa de Rede rede

Cabo da rede
Endereamento IP
TCP/IP rotevel, foi criado pensando na
interligao de diversas redes (podem
haver vrios caminhos entre o transmissor
e o receptor)
Cada dispositivo conectado em rede
necessita usar pelo menos um endereo
IP
Endereo IP permite identificar o
dispositivo e a qual rede ele pertence
Endereamento IP
As redes so interligadas atravs de dispositivos
chamados roteadores
Quando um computador da rede 1 quer enviar um
pacote de dados para um computador da rede 3, ele
envia o pacote para o roteador 1, que ento repassa
esse pacote diretamente ao roteador 2, que se
encarrega de fazer a entrega ao computador de
destino na rede 3

Rede 1 Roteador 1 Rede 2 Roteador 2 Rede 3


Endereamento IP
A entrega feita facilmente pelo roteador
pois os pacotes possuem o endereo IP
do computador de destino
Nesse endereo h informao de em qual
rede o pacote deve ser entregue
O roteador 1 sabe que o destinatrio no est
na rede 2 e portanto o envia diretamente para
o roteador 2
Endereamento IP
Redes TCP/IP tem um ponto de sada
chamado gateway
Todos os pacotes de dados recebidos que
no so para aquela rede vo para o gateway
As redes subseqentes vo enviando os
pacotes a seus respectivos gateways at que
cheguem ao destino
Isso possvel porque o endereo IP possui
duas partes (prximo slide)
Campo de um endereo IP
Identificao da Rede Identificao da Mquina

O endereo IP um nmero de 32 bits,


representado em decimal em forma de 4
nmeros de 8 bits separados por um
ponto no formato a.b.c.d
Menor endereo possvel: 0.0.0.0
Maior endereo possvel: 255.255.255.255
Endereamento IP
Teoricamente um endereo TCP/IP pdoe ter at
4.294.967.296 endereos IP (2564)
Porm alguns endereos so reservados e no podem ser
usados
Logo esse limite mximo ser atingido, por isso j foi
padronizado o endereamento usando 128 bits em vez
de 32, chamado IPv6
Tambm chamado IP Next Generation (IPng) ou Simple Internet
Protocol Plus (SIPP)
Ainda no usado comercialmente
possvel enderear
340.282.366.920.938.463.463.374.607.431.770.000.000
dispositivos diferentes
Daria para ter 1.564 endereos IP por metro quadrado da
superfcie do planeta Terra
Endereamento IP
Cada dispositivo de uma rede TCP/IP
precisa ter um endereo IP nico, para
que o pacote de dados consiga ser
entregue corretamente
Voc ter que obrigatoriamente usar
endereos que no estejam sendo usados
por nenhum outro computador da rede
Classes de Endereos IP
a b c d

Identificao da
Classe A 0 Identificao da mquina (24 bits)
rede (7 bits)

Classe B Identificao da Identificao da


10
rede (14 bits) mquina (16 bits)

Classe C Identificao da
110 Identificao da rede (21 bits)
mquina (8 bits)

Classe D 1110 Endereamento multicast

Classe E 1111 Reservado para uso futuro


Classes de Endereos IP
Classe Endereo mais Endereo mais
baixo alto
A 1.0.0.0 126.0.0.0

B 128.1.0.0 191.255.0.0

C 192.0.1.0 223.255.255.0

D 224.0.0.0 239.255.255.255

E 240.0.0.0 255.255.255.254
* alguns endereos no constam na tabela por serem de uso reservado
Endereamento IP
Em rede usamos somente as classes A, B e C

Nmeros para Nmeros para


Quantidade de
Classe Identificao da Identificao da
mquinas na rede
Rede mquina

A 1 3 16.777.216

B 2 2 65.536

C 3 1 256
Endereamento IP
Os endereos 0 e 255 so reservados, ento na
prtica o nmero de mquinas por rede menor
Exemplo: Classe C: 254 mquinas
A escolha da classe da rede depende de seu
tamanho
Grande maioria usa classe C
O sistema de redes que forma a estrutura
bsica da Internet chamado backbone, e para
estar na internet voc deve estar ligado a ele de
alguma forma (diretamente ou indiretamente)
Endereamento IP
A Internet possui uma estrutura hierrquica
Responsvel pelo backbone responsvel pelo
controle e fornecimento de endereos IPs a seus
subordinados
Por sua vez, os IPs de um backbone foram atribudos
pelo backbone hierarquicamente superior a ele
Teoricamente, se sua rede no est na Internet
voc pode usar quaisquer endereos IPs, mas
se mais tarde ela for conectada, o conflito ser
inevitvel.
Endereamento IP
Alguns endereos IPs so reservados para
redes privadas
Roteadores reconhecem esses endereos como
sendo de redes particulares e no os repassam para
o resto da Internet
Mesmo que um roteador esteja configurado errado e passe o
pacote adiante, outro roteador configurado corretamente ir
barr-lo
Endereos especiais reservados para redes privadas:
Classe A: 10.0.0.0 a 10.255.255.255
Classe B: 172.16.0.0 a 172.31.255.255
Classe C: 192.168.0.0 a 192.168.255.255
Exemplo de uma rede TCP/IP

192.168.0.1 192.168.0.3
192.168.0.5

192.168.0.2 192.168.0.4
Endereamento IP
O endereo 255 reservado para
broadcast (enviar um pacote de dados
para todas as mquinas da rede ao
mesmo tempo)
Para conectar essa rede a Internet
existem duas solues
A primeira seria obter um endereo classe C
pblico e atribuir um IP nico na Internet e
vlido dentro da rede
Exemplo de uma rede TCP/IP
conectada a Internet

200.174.204.1 200.174.204.3 200.174.204.5

200.174.204.2 200.174.204.4
200.174.204.6

200.121.64.12

Rede 2
Endereamento IP
Outra soluo para conectar a rede Internet
criar uma tabela de traduo no roteador, que
pega os pacotes vindos com endereos IPs
vlidos na Internet e converte esses endereos
em endereos privados, aceitos somente na
rede local. Essa traduo pode ser esttica ou
dinmica.
Esttica: um determinado endereo privado sempre
convertido em um mesmo endereo pblico
Dinmica: usada por clientes que no precisam
prestar servio para a rede. Assim mais de um
endereo privado pode estar usando um mesmo IP
pblico.
Endereamento IP
DCHP (Dynamic Host Configuration
Protocol)
Permite atribuio automtica ou manual de
endereos IPs para computadores da rede
Quanto um cliente solicita um endereo IP o
servidor DHCP atribui um IP a ele por um
certo perodo (que dever ser renovado
quando o prazo estiver espirando)
Mscara de Rede
formada por 32 bits no mesmo formato que o
endereo IP e cada bit 1 da mscara informa a parte do
endereo IP que usada para o endereamento da rede
e cada bit 0 informa a parte do endereo IP que usada
para o endereamento das mquinas. Dessa forma as
mscaras padres so:
Classe A: 255.0.0.0
Classe B: 255.255.0.0
Classe C: 255.255.255.0
Valores fora do padro podem ser usados quando
houver necessidade de segmentar a rede
ARP (Address Resolution Protocol)
As redes TCP/IP baseiam-se em um
endereamento virtual (IP), mas as placas de
rede utilizam endereamento MAC
O protocolo ARP responsvel por fazer a
converso entre endereos IPs e os endereos
MAC da rede.
Em uma grande rede, os pacotes TCP/IP so
enviados at a rede de destino atravs dos
roteadores
Atingindo a rede de destino o protocolo ARP entra
em ao para detectar o endereo da placa de rede
para qual o pacote deve ser entregue, j que no
pacote h somente o endereo IP
ARP (Address Resolution Protocol)
Funciona primeiramente enviando uma
mensagem de broadcast para a rede
perguntando a todas as mquinas qual
responde pelo IP destinatrio do pacote que
chegou
A mquina responsvel por tal IP responde,
identificando-se e informando seu endereo
MAC para que a transmisso possa ser feita
O dispositivo armazena os endereos IPs
recentemente usados e seus endereos MACs
correspondentes em uma tabela na memria
ARP (Address Resolution Protocol)

Quem 200.234.84.34?
ARP (Address Resolution Protocol)

Sou eu!
RARP (Reverse Address
Resolution Protocol)
Permite que uma mquina descubra um
endereo IP atravs de um endereo MAC,
fazendo o inverso do que o protocolo ARP faz
Quando ligamos um computador ele no sabe
seu endereo IP
Essa informao estar gravada no disco rgido ou
alguma memria no voltil
Estaes com boot remoto no tem como saber seu
endereo IP, e portanto no tem como usar TCP/IP
RARP (Reverse Address
Resolution Protocol)
Nesses casos utilizamos um servidor RARP,
que armazena uma tabela com os endereos
MACs das mquinas da rede e seus respectivos
IPs
Uma mquina que precisa saber seu prprio
endereo IP envia um pedido para todas as
mquina, mas somente o servidor RARP
responde, informando seu IP
A partir da, o endereo IP ficar na memria
RAM da mquina
RARP (Reverse Address
Resolution Protocol)

Qual meu endereo IP?


RARP (Reverse Address
Resolution Protocol)

Seu IP 200.174.204.34
IP (Internet Protocol)
Pega os dados enviados pela camada de
transporte (TCP ou UDP) e envia para a
camada fsica
Na camada fsica os datagramas sero empacotados
em quadros (como j vimos anteriormente)
IP no orientado a conexo
No verifica se o datagrama chegou ao destino
Isso feito pelo TCP, que pega os dados que esto
chegando e os coloca em ordem, pedindo uma
retransmisso caso algum dado esteja faltando
IP (Internet Protocol)
Principal funo: roteamento
Adicionar mecanismos para que o datagrama
chegue o mais rpido possvel ao destino
Feito com auxlio dos roteadores de rede
Escolhem o caminho mais rpido entre a origem e o
destino
Estrutura do Datagrama IP

Cabealho Dados
(20 ou 24 bytes) (At 65.511 ou 65.515 bytes)
Estrutura simplificada
Estrutura do Datagrama IP
Verso (4 bits)

Tamanho do Cabealho (4 bits) O campo Opes+Pad


Tipo de Servio (1 byte) pode no existir,
Tamanho Total (4 bytes) reduzindo o tamanho do
Identificao (4 bytes) cabealho para 20 bytes
Flags (3 bits) A rea de dados no tem
Offset do fragmento (13 bits) cabealho
tamanho fixo, portanto o
Tempo de Vida (1 byte)
tamanho do datagrama
Protocolo (1 byte)
IP varivel
Checksum do Cabealho (4 bytes)
O tamanho mximo
Endereo IP de Origem (4 bytes)
65.535 (incluindo o
Endereo IP de Destino (4 bytes)
cabealho)
Opes + Pad (4 bytes opcional)

Dados (At 65.511 ou 65.515 bytes)


Estrutura do Datagrama IP
Verso: indica a verso do protocolo IP que est sendo usado. O
protocolo IP que estamos descrevendo o IPv4
Portanto encontraremos o valor 4 nesse campo
Tamanho do cabealho (IHL, Internet Header Length): indica o
comprimento do cabealho do datagrama, dado em nmero de
palavras de 32 bits
Tipo de Servio: informa a qualidade desejada para entrega do
datagrama, falaremos dele mais adiante
Tamanho Total: nmero total de bytes que compem o datagrama.
Esse campo possui 16 bits, portanto o tamanho mximo do
datagrama 65.535 bytes (216)
Quanto maior o datagrama, mais a estao ocupa a rede (deixando-a
mais lenta), portanto normalmente utiliza-se valores bem menores que
65.535 bytes, um valor comum 576 bytes.
Identificao: quando um datagrama criado recebe um nmero
de identificao que ser usado para identific-lo caso ele seja
fragmentado no caminho at o destino
Estrutura do Datagrama IP
Flags: usado para controlar a fragmentao de datagramas, ser
estudo mais adiante
Offset do Fragmento: usado para controle da fragmentao de
datagramas, tambm explicado mais adiante
Tempo de Vida (TTL): tempo mximo de vida do datagrama, cada
vez que o datagrama passa por um gateway (um roteador, por
exemplo) esse nmero decrementado.
Quando chega a zero o datagrama descartado, no atingindo o
destino
No receptor o protocolo IP percebe que est faltando um datagrama e
pede retransmisso
Objetivo: eliminar datagramas que demorem muito para chegar ao
destino (rota muito longa ou mesmo errada devido a roteador mal
configurado no caminho)
Protocolo: indcia o protocolo que pediu o envio do datagrama,
atravs de um cdigo numrico
Exemplo: nmero 6 indica TCP, 17 indica UDP
Estrutura do Datagrama IP
Checksum do Cabealho: clculo do checksum somente do
cabealho (no usa os dados no clculo)
Conta menor e mais rpida de ser feita
Os roteadores analisam esse campo e refazem o checksum para saber
se o cabealho est ou no corrompido
Endereo IP de origem: endereo IP de onde est partindo o
datagrama
Endereo IP de destino: endereo IP de destino do datagrama
Opes + Pad: campo opcional. Se no for usado, o cabealho
passa a ter 20 bytes. Como seu tamanho varivel ele
preenchido com zeros at completar 32 bits (que so conhecidos
como pad ou padding)
Usado em testes e verificaes de erro na rede
Dados: so os dados que o datagrama est carregando
Tamanho mximo de 65.515 bytes ou 65.511 bytes
Normalmente utiliza-se valores em torno de 556 bytes
Tipo de Servio
Destinado a distinguir entre diferentes tipos de servios
So possveis vrias combinaes de confiabilidade e
velocidade
Exemplos de prioridade:
Voz digitalizada: velocidade
Arquivos de dados: segurana
Teoricamente serviria para um servidor optar por um
enlace dependendo do servio
Exemplo:
Conexo de satlite para arquivos (latncia alta, velocidade alta)
Conexo ISDN para voz (latncia baixa, velocidade baixa)
Na prtica os roteadores atuais ignoram completamente
esse campo
Fragmentao de datagramas
Quando os datagramasso enviados rede atravs da
camada Fsica, seu tamanho fica limitado ao da rea de
dados do protocolo usado nessa camada.
Por exemplo: em uma rede Etherneto tamanho mximo 1500
bytes
Essa caracterstica chamada MTU (MaximumTransferUnit)
O pacote passa por vrios roteadores antes de chegar a seu
destino, e pode encontrar roteadores com diferentes MTU
A soluo a fragmentao de datagramas
Dividi-los em 2 ou mais quadros menores e depois junt-los
novamente
ICMP (Internet Control Message
Protocol)
Mecanismo utilizado pelos roteadores
para informar que um problema ocorreu
Congestionamento
TTL de datagrama zerado
Ele apenas informa a mquina
transmissora que um erro ocorreu
No se importa em corrigi-lo
Parte integrante do IP
ICMP (Internet Control Message
Protocol)
Eco: utilizado para saber se o caminho entre o transmissor e o receptor
est bom
Ping
Destino Inalcanvel: enviada quando o roteador no consegue entregar o
datagrama
Congestionamento: se o roteador est recebendo mais datagramas do que
consegue processar, ele comea a descart-los, e informa a maquina
transmissora para diminuir a velocidade
Redirecionamento: o roteador pode verificar que h uma rota melhor para
ser usada, e avisa o transmissor
Tempo de Vida excedido: se o TTL do datagrama zerado, o roteador
informa o transmissor
Problema nos Parmetros: quando o roteador no consegue processar o
datagrama e no h outra mensagem ICMP que cubra o problema
encontrado, essa mensagem enviada
Solicitao de Horrio: uma mquina pode pedir o horrio do relgio de
outra. Pode ser usado para sincronizar o relgio de duas mquinas, mas o
atraso da rede impede que a sincronia fique perfeita
UDP (User Data Protocol)
No orientado a conexo
No verifica se os dados chegaram ao destino
O protocolo de aplicao deve implementar essa
verificao se for necessrio
Vantagem: transmisso de dados mais rpida
Cabealho menor que o TCP
No precisa esperar mensagens de confirmao
Vivel em redes locais confiveis
Na Internet usado apenas quando a taxa de
perda de pacotes no seja um problema
Streaming de audio e vdeo
TCP (Transmission Control
Protocol)
Recebe datagramas IP, os coloca em ordem e
verifica se todos chegaram corretamente
Aplicativos enviam e recebem dados pela rede
TCP atravs de canais virtuais de comunicao
(http 80, telnet 23, etc..)
TCP empacota os dados adicionando
informaes de porta de origem e destino, entre
outras, passando o pacote de dados ao
protocolo IP
Se o transmissor no recebe uma confirmao
de recebimento dentro de um determinado
tempo o pacote enviado novamente
Conexo
Comunicao entre duas aplicaes em duas
mquinas diferentes
O protocolo TCP responsvel por abri-las,
mant-las e fech-las
A abertura feita atravs de um processo
chamado handshake
A conexo mantida atravs do envio de
pacotes do transmissor ao receptor
Se tudo correr bem a transmisso ser
encerrada quando no houverem mais dados a
ser transmitidos
Protocolos de Aplicao
DNS (Domain Name System): usado para identificar
mquinas atravs de nomes em vez de endereos IP
Telnet: usado para comunicar-se remotamente com uma
mquina
FTP (File Transfer Protocol): usado na transferncia de
arquivos
SMTP (Simple Mail Transfer Protocol): usado no envio e
recebimento de e-mails
HTTP (Hyper Text Transfer Protocol): usado na
transferncia de documentos hipermdia (WWW, World
Wide Web)
Questes
1. Qual a diferena entre TCP e UDP? Cite
exemplo de utilizao de cada um deles
2. Cite 3 protocolos da camada de aplicao do
TCP/IP e suas respectivas funes
3. Para que servem as portas (ou portos) no
protocolo TCP/IP?
4. Para que serve o protocolo ARP? E o RARP?
5. Para que serve o protocolo ICMP?
Referncias Bibliogrficas
TORRES, Gabriel. Redes de
Computadores: Curso Completo. Axcel
Books, 2001.
TANENBAUM, Andrew S. Redes de
Computadores. Campus, 2003.