Arquiteturas de Protocolos
Bacharelado em Informática
TCP/IP
Disciplina: Internet e Arquitetura
Arquitetura OSI
TCP/IP
Arquitetura IEEE
Arquitetura Internet
Aplicação
Aplicação
Apresentação
Protocolos Inter-rede
Sessão
Prof. Sérgio Colcher
[email protected]
Transporte
Transporte
Rede
Inter--rede
Inter
Enlace
LLC
MAC
Físico
Físico
Sub--Rede
Sub
1
2
Protocolos do nível interinter-rede
O Protocolo IP (Internet Protocol)
Copyright  19991999-2008 by TeleMídia Lab.
TCP/IP
TCP/IP
Realiza função de
roteamento
Transporte
• Roteamento entre redes
ICMP
RIP
IP
IGMP
OSPF
RARP
ARP
Intra--rede
Intra
3
Oferece um serviço de
datagrama não confiável
Aplicação
• Protocolo sem conexão
Transporte
• Confiabilidade deve ser
fornecida pelas camadas
superiores
Inter--rede
Inter
Fornece um
endereçamento
independente da estrutura
ou do endereçamento de
cada subsub-rede
4
Sub--Rede
Sub
RFCs
Endereços IP
TCP/IP
TCP/IP
791: Internet Protocol
São números de 32 bits.
919: IP Broadcast Datagrams
Um endereço IP identifica
um host em uma
determinada rede física
922: IP Broadcast Datagrams with Subnets
950: IP Subnet Extensions
1122: Requirements for HostsHosts-Communication Layers
1123: Requirements for HostsHosts-Application & Support
End. IP na Rede A
≠
End IP na Rede B
Endereçamento hierárquico
composto de parte de rede e
parte de host:
Rede
A
• Troca de rede = troca de
1812: Requirements for IP Routers
endereço.
Rede
Rede
B
Host
Parte comum a todas as
Estações em uma mesma rede
5
6
Endereços IP: Notação “de Ponto”
Notação de ponto decimal e hexadecimal
TCP/IP
11010000 11110101 00011100 10100011
208
28
245
208.245.28.163
7
163
TCP/IP
11010000 11110101 00011100 10100011
208
28
245
208.245.28.163
163
D0.F5.1C.A3
8
Endereços IP: Primeiro com Classes
Delegação de endereços IP na Internet
TCP/IP
0
7
15
Octeto 1
Classe A
0
Octeto 2
netid
Classe B
1 0
Classe C
1 1 0
Classe D
1 1 1 0
Classe E
1 1 1 1 0
23
31
Octeto 3
Octeto 4
ICANN (Internet
Corporation for Assigned
Names and Numbers)
ICANN
APNIC
• Antiga IANA
hostid
netid
No Brasil
hostid
• Registro.br (FAPESP)
ISP
Classe B:
Classe C:
Providers)
Reservado para uso futuro
ISP
– Top level: Global
Global--One,
Embratel, RNP, ...
Classe D:
Classe E:
0111 1110
X
X
X
X
1000
1000 0000
0000 0001
1011
1011 1111
1111 1111
X
X
X
X
1100
1100 0000
0000 0000
0000 0001
1101
1101 1111
1111 1111
1111 1111
X
X
1110 1111
1111 0000
0000
1111 0111
0111
...
ISP
ISP
...
...
...
10
X
X
1110 0000
ISP
• ISPs (Internet Service
Endereço Multicast
9
Classe A:
RIPE NCC
Registro.br
(FAPESP)
• Política de distribuição
...
0000 0001
ARIN
• Controle sobre os prefixos IP
hostid
netid
TCP/IP
X
X
X
X
X
X
X
X
X
X
X
X
1.X.X.X
Endereços especiais
TCP/IP
126.X.X.X
128.1.X.X
191.255.X.X
192.0.1.X
223.255.255.X
224.X.X.X
239.X.X.X
NETID
HOSTID
Endereço da rede
X
0 0 0 0 ... 0 0 0 0
Broadcast direto
Broadcast limitado
X
1 1 1 1 ... 1 1 1 1
1 1 1 1 ... 1 1 1 1
1 1 1 1 ... 1 1 1 1
Esse host
0 0 0 0 ... 0 0 0 0
0 0 0 0 ... 0 0 0 0
Loopback
01111111
X
geralmente 127.0.0.1
240.X.X.X
247.X.X.X
12
Endereços de rede e host
Exemplo
TCP/IP
TCP/IP
Na mesma rede
IP A
Estação A
Estação B
11001000 00010010 10101011 00100101
200
18
171
37
11001000 00010010 10101011 10010100
200
18
171
148
IP B
• Determinação da Classe:
CLASSE C
200.18.171.148
200.18.171.37
1 1 0
netid
hostid
• Hosts estão na mesma Rede ?
Na classe C, os 3 primeiros bytes são o end. de rede. Logo, os dois
endereços estão na mesma rede IP
Rede 1 = 200.18.171.0
13
14
Endereços de rede e host
Exemplo
Host A = 37
Host B = 148
TCP/IP
TCP/IP
Em redes distintas
IP A
Estação A
Roteador
Estação B
11001000 00010010 10101011 00100101
200
18
171
37
11001000 00010010 10110100 10010100
200
18
180
148
IP B
• Determinação da Classe:
CLASSE C
200.18.171.37
200.18.180.200
1 1 0
netid
hostid
• Hosts estão na mesma Rede ?
Na classe C, os 3 primeiros bytes são o end. de rede. Logo, os dois
endereços estão na mesma rede IP
Rede 1 = 200.18.171.0
Rede 2 = 200.18.180.0
15
16
Host A = 37
Host B = 148
Endereços de rede e host
Formato de um datagrama IP
TCP/IP
TCP/IP
Em redes distintas
0
7
15
Octeto 1
• máquinas ligadas a mais de uma rede possuem mais
de um endereço IP
VERS
HLEN
Octeto 3
SERVICE TYPE
Roteador
TIME TO LIVE
31
Octeto 4
TOTAL LENGTH
IDENTIFICATION
Multi-homed
Multihost
23
Octeto 2
FLAGS
PROTOCOL
FRAGMENT OFFSET
HEADER CHECKSUM
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
IP OPTIONS (IF ANY)
4.10
.2.33
.37
128.10.0.0
.1
200.18.171.0
.0.0.1
.2.1.4
PADDING
DATA ...
12.0.0.0
17
18
Campos do datagrama IP
Campos do datagrama IP
TCP/IP
VERS
HLEN
SERVICE TYPE
IDENTIFICATION
TIME TO LIVE
TOTAL LENGTH
FLAGS
PROTOCOL
FRAGMENT OFFSET
HEADER CHECKSUM
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
IP OPTIONS (IF ANY)
VERS = 4
HLEN = N x 4 octetos
(20 a 64 bytes)
TLEN = até 65535 octetos
TCP/IP
VERS
HLEN
TIME TO LIVE
TOTAL LENGTH
SERVICE TYPE
IDENTIFICATION
FLAGS
PROTOCOL
FRAGMENT OFFSET
HEADER CHECKSUM
SOURCE IP ADDRESS
VERS = 4
HLEN = N x 4 octetos
(20 a 64 bytes)
TLEN = até 65535 octetos
DESTINATION IP ADDRESS
PADDING
IP OPTIONS (IF ANY)
DATA
DATA
...
...
PADDING
ANTIGO: RENOMEADO PARA DS
19
20
Campos do datagrama IP
TCP/IP
VERS
HLEN
SERVICE TYPE
IDENTIFICATION
TIME TO LIVE
TOTAL LENGTH
FLAGS
PROTOCOL
FRAGMENT OFFSET
Bacharelado em Informática
Protocolos do Nível
Disciplina:
InterInter-Rede
HEADER CHECKSUM
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
IP OPTIONS (IF ANY)
PADDING
Protocolo IP e endereçamento
DATA
Transmissão IP sobre redes
...
TTL decrementado
em cada roteador
de 1 ou mais
Roteamento IP
Alterado a cada
roteador
TCP = 6
UDP = 17
ICMP = 1
EGP = 8
OSPF= 89
Fragmentação e Remontagem
Opções IP
21
Copyright  19991999-2008 by TeleMídia Lab.
Transmissão IP sobre redes
22
Transmissão IP sobre redes
TCP/IP
Envio direto: não há a participação de nenhum
roteador
H
D
Inter--rede
Inter
S
Rede A
G
H
G
Rede C
Rede B
H
Rede D
G
H
G
H
23
IP--ATM
IP
RFC 1577
IP
IP--FR
RFC 1490
IP
IP--FDDI
RFC 1483
IP
IP--Eth
RFC 894
IP
IP--IEEE802 RFC 1042
Rede E
H
TCP/IP
IP
IP--SLIP
RFC 1055
IP
IP--IPX
RFC 1132
IP
IP--SCSI
RFC 2143 (Experimental)
24
Transmissão IP sobre redes
Redes ponto a ponto
TCP/IP
TCP/IP
ponto--a-ponto (PPP, SLIP, HDLC, ...)
Redes ponto
• As máquinas estão ligadas diretamente
• Eventualmente não há endereço físico,
físico, apenas a
Estação A
identificação da ligação
Estação B
200.18.171.148
– Não há necessidade de mapeamento de endereço
200.18.171.37
HDLC, PPP,
SLIP
IP
Rede = 200.18.171.0
25
26
Transmissão IP sobre redes
Redes NBMA
TCP/IP
TCP/IP
√ Redes pontoponto-a-ponto
Servidor de
Resolução de Endereços
Redes de múltiplo acesso NBMA (Non(Non-Broadcast
Multiple Access)
• WANs (X.25, ATM, SNA, ...)
Estação A
Estação B
• A rede possui uma estrutura própria de endereçamento
endereçamento,,
mas não possui facilidade de broadcast
• Mapeamento entre o endereço físico e o endereço IP
200.18.171.148
200.18.171.37
– mapeamento direto
– associação dinâmica por meio de servidores de resolução
(Ex.: ATMARP servers utilizados em ATM)
27
ATM
Rede = 200.18.171.0
IP
28
Transmissão IP sobre redes
Redes de meio compartilhado
TCP/IP
√ Redes pontoponto-a-ponto
√ Redes de múltiplo acesso (NBMA)
Redes de Acesso por Difusão (BMA - Broadcast
Multiple Access)
Access)
TCP/IP
Estação A
Estação B
• LANs (Ethernet, Token Ring, ...)
• A rede possui uma estrutura própria de endereçamento
endereçamento,,
e possui facilidade de broadcast
• Mapeamento entre o endereço físico e o endereço IP
0D.0A.1F.45.13.01
1E.0B.56.45.13.01
200.18.171.37
– mapeamento direto
– associação dinâmica por meio de servidores de resolução
– uso da facilidade de broadcast
Ethernet
200.18.171.148
Rede = 200.18.171.0
IP
29
30
TCP/IP e redes de meio compartilhado
Protocolo ARP
(Address Resolution Protocol)
TCP/IP
É possível um host descobrir o endereço físico de
outro na mesma rede, sabendo apenas o endereço
IP do mesmo ?
para
200.18.171.3
200.18.171.1
200.18.171.3
TCP/IP
ARP: permite o mapeamento de endereços IP em
endereços físicos
• Ethernet, TokenToken-Ring, FDDI, etc...
ARP – RFC 826
Aplicação
Transporte
RARP – RFC 903
200.18.171.4
Inter--rede
Inter
UnARP – RFC 1868
Int. de adaptação
Inverse ARP – RFC 2390
31
32
Intra--rede
Intra
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
Aplicação
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
200.18.171.1
OD.OA.12.07.48.05
200.18.171.4
200.18.171.4
33
34
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
Aplicação
TCP/UDP
200.18.171.1
OD.OA.12.07.48.05
IP destino = 200.18.171.3
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
200.18.171.4
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
200.18.171.4
Destino está na mesma rede IP (200.18.171.0)
Como enviar para esta máquina ? Qual o MAC Destino ?
A mensagem fica esperando e o protocolo ARP é acionado.
35
36
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
Aplicação
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
IP
Protocolos
Sub--rede
Sub
ARP Req
IP
200.18.171.3
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
200.18.171.1
OD.OA.12.07.48.05
Protocolos
Sub--rede
Sub
200.18.171.4
Preâmbulo
Destino
Origem
FF.FF.FF.
FF.FF.FF
0D.0A.12.
07.48.05
Endereço de
Broadcast
0x806
ARP Req
200.18.171.4
Dados (ARP Request)
FCS
Type = ARP
37
38
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
Aplicação
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
200.18.171.4
200.18.171.1
OD.OA.12.07.48.05
200.18.171.4
ARP Req
ARP Req
39
40
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
Aplicação
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
200.18.171.1
OD.OA.12.07.48.05
200.18.171.4
200.18.171.4
ARP Req
ARP Req
41
42
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
Aplicação
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
200.18.171.4
200.18.171.1
OD.OA.12.07.48.05
200.18.171.4
ARP Req
ARP Req
ARP Req
A camada de Enlace passa para
O ARP, que descarta o pacote pois
não sabe responder à pergunta
43
44
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
Aplicação
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
Protocolos
Protocolos
Sub--rede
Sub
ARP Req Sub
Sub--rede
200.18.171.3
1F.6D.45.09.11.77
200.18.171.1
OD.OA.12.07.48.05
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
ARP Req
Protocolos
Sub--rede
Sub
200.18.171.4
200.18.171.4
45
46
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
Aplicação
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
Protocolos
Sub--rede
Sub
ARP Reply
200.18.171.4
200.18.171.1
OD.OA.12.07.48.05
200.18.171.4
ARP Reply
Preâmbulo
Destino
Origem
0D.0A.12.
07.48.05
1F.6D.45.
09.11.77
ARP
Dados (ARP Reply)
FCS
Type = ARP
47
48
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
Aplicação
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
200.18.171.1
OD.OA.12.07.48.05
200.18.171.4
200.18.171.4
ARP Reply
ARP Reply
ARP Reply
Esse quadro não chega a ser
processado pelo ARP pois a
camada MAC rejeita o quadro
49
50
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
Aplicação
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
200.18.171.1
ARP Reply
OD.OA.12.07.48.05
200.18.171.4
200.18.171.4
51
52
ARP Reply
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
Aplicação
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
200.18.171.1
OD.OA.12.07.48.05
200.18.171.4
Tabela ARP
200.18.171.3
200.18.171.4
Tabela ARP
200.18.171.1
1F.6D. 45.09.11.77
OD.OA.12.07.48.05
Note que …
53
54
ARP (Address Resolution Protocol)
ARP (Address Resolution Protocol)
TCP/IP
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
Aplicação
Aplicação
Aplicação
Aplicação
TCP/UDP
TCP/UDP
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
200.18.171.4
Tabela ARP
200.18.171.1
Note que …
55
200.18.171.1
OD.OA.12.07.48.05
200.18.171.4
OD.OA.12.07.48.05
Finalmente aquele pacote IP pode ser
transmitido carregando uma mensagem TCP
que, por sua vez, carrega um comando da Aplicação
56
ARP (Address Resolution Protocol)
Formato do quadro ARP
TCP/IP
Aplicação
Aplicação
TCP/UDP
TCP/UDP
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
200.18.171.1
OD.OA.12.07.48.05
TCP/IP
0
7
Octeto 1
15
Octeto 2
HARDWARE TYPE
HLEN
23
Octeto 3
31
Octeto 4
PROTOCOL TYPE
PLEN
OPERATION
SENDER HA (octets 00-3)
200.18.171.4
SENDER HA (octets 44-5)
SENDER IP (octets 00-1)
SENDER IP (octets 22-3)
TARGET HA (octets 00-1)
TARGET HA (octets 22-5)
TARGET IP (octets 00-3)
Preâmbulo
1F.6D.45.
09.11.77
0D.0A.12.
07.48.05
IP
TCP
Aplicação
FCS
57
58
Formato do quadro ARP
Formato do quadro ARP
TCP/IP
IP = 2048
AppleTalk = 32823
...
Ethernet = 1
Token Ring = 4
…
HARDWARE TYPE
PROTOCOL TYPE
HLEN
PLEN
OPERATION
SENDER HA
SENDER HA
SENDER IP
SENDER IP
TARGET HA
TARGET HA
TARGET IP
OP = 1:
OP = 2:
OP = 3:
OP = 4:
OP = 8:
OP = 9:
TCP/IP
ARP Request
ARP Response
RARP Request
RARP Response
Inverse ARP Request
Inverse ARP Response
59
HARDWARE TYPE
PROTOCOL TYPE
HLEN
PLEN
OPERATION
SENDER HA
SENDER HA
SENDER IP
SENDER IP
TARGET HA
TARGET HA
TARGET IP
HLEN = Hardware Length
PLEN = Protocol Length
60
Cache ARP
ARP e Broadcast IP
TCP/IP
TCP/IP
Aplicação
Aplicação
#
IF Index
End. Fis.
End. IP
TCP/UDP
Tipo
200.18.171.1
1
2
OD.OA.12.07.48.05
IP destino = 200.18.171.255
TCP/UDP
IP
IP
200.18.171.3
Protocolos
Sub--rede
Sub
Protocolos
Sub--rede
Sub
1F.6D.45.09.11.77
...
200.18.171.4
Tipos:
- valor com mapeamento dinâmico
- valor com mapeamento estático
- linha inválida (timeout do cache, conflito, …)
Destino é broadcast
• IP usa a facilidade de broadcast da intraintra-rede, sem precisar
acionar o ARP
61
62
ARP e conflito de IP
TCP/IP
ARP pode ser usado também:
• Durante boot: host testa se o seu endereço IP já está sendo
Bacharelado em Informática
Protocolos do Nível
Disciplina:
InterInter-Rede
utilizado
– Se algum host responder, o módulo IP não é iniciado com aquele
endereço e um erro “Duplicate IP Address Found” é retornado
• Periodicamente: host atualiza cache dos outros hosts
(Gratuitous ARP)
Protocolo IP e endereçamento
Transmissão IP sobre redes
– Servidores acessados freqüentemente
Comando arp (Windows e Unix):
• arp -a (Mostra a tabela ARP atual)
• arp -d <IP> (Deleta um registro da tabela ARP)
Roteamento IP
Fragmentação e Remontagem
Opções IP
• arp -s <IP> <MAC> (Faz
(Faz um mapeamento ARP estático)
63
Copyright  19991999-2008 by TeleMídia Lab.
64
Como decidir o caminho ?
Next--hop routing
Next
TCP/IP
O destino de um datagrama IP pode ser:
• a própria estação transmissora
• uma estação ligada à mesma rede do transmissor
TCP/IP
Como um host sabe para qual roteador enviar ?
Como um roteador sabe alcançar o destino ?
Hosts e roteadores possuem uma tabela de rotas
• Tabela contém pares (Rede Destino, Próx.
• uma estação ligada a uma outra rede
Roteador)
Roteamento pode ser feito:
• sabendo a rota completa = pouco usado
• conhecendo apenas o próximo roteador (next(next-hop
routing) = como o IP normalmente funciona
Roteadores indicados em “Próx
Próx.. Roteador
Roteador”” estão
na mesma rede do detentor da tabela
O datagrama IP carrega somente os endereços IP
dos hosts de origem e destino
Como isso pode funcionar ?
65
66
Next--hop routing
Next
Next--hop routing
Next
TCP/IP
Aplicação em A quer enviar dados até B
IP de A descobre que B não está na mesma rede
IP de A verifica em sua tabela de rotas que
que,, para
alcançar B, deve usar o roteador 200.18.171.148
TCP/IP
IP de A pede ao ARP para resolver endereço IP
do roteador 200.18.171.148
• Resultado
Resultado:: OD.OA.12.07.48.05
Preâmbulo
0D.0A.12.
07.48.05
...
0800h
200.18.
171.37
200.18.
180.200
...
FCS
IP destino = 200.18.180.200
Estação A
Estação B
Estação A
Estação B
Roteador
Roteador
OD.OA.12.07.48.05
.37
.148
.200
.10
200.18.171.0
200.18.180.0
67
.37
OD.OA.12.07.71.FF
.148
.10
200.18.171.0
.200
200.18.180.0
68
Next--hop routing
Next
Next--hop routing
Next
TCP/IP
TCP/IP
Quadro encapsulando datagrama IP é enviado
pela rede
Roteador recebe um quadro endereçado
fisicamente a ele...
Estação A
Estação A
Estação B
Estação B
Roteador
Roteador
OD.OA.12.07.48.05
.37
OD.OA.12.07.71.FF
.148
.10
200.18.171.0
OD.OA.12.07.48.05
.37
.200
OD.OA.12.07.71.FF
.148
.10
200.18.171.0
200.18.180.0
.200
200.18.180.0
69
70
Next--hop routing
Next
Next--hop routing
Next
TCP/IP
... encapsulando um datagrama direcionado a B
IP do roteador descobre que B está na mesma
rede que uma de suas interfaces
TCP/IP
IP do roteador pede ao ARP para resolver
endereço IP 200.18.180.200
• Resultado: OD.OA.12.07.71.FF
Preâmbulo
IP destino = 200.18.180.200
Estação A
Estação B
0D.0A.12.
07.71.FF
...
0800h
OD.OA.12.07.71.FF
.10
200.18.171.0
.200
200.18.180.0
71
...
FCS
Estação B
Roteador
OD.OA.12.07.48.05
.148
200.18.
180.200
Estação A
Roteador
.37
200.18.
171.37
OD.OA.12.07.48.05
.37
OD.OA.12.07.71.FF
.148
.10
200.18.171.0
.200
200.18.180.0
72
Next--hop routing
Next
Next--hop routing
Next
TCP/IP
TCP/IP
Quadro encapsulando datagrama IP é enviado
pela rede
B recebe um quadro endereçado fisicamente a
ele...
Estação A
Estação A
Estação B
Estação B
Roteador
Roteador
OD.OA.12.07.48.05
.37
OD.OA.12.07.71.FF
.148
.10
200.18.171.0
OD.OA.12.07.48.05
.37
.200
OD.OA.12.07.71.FF
.148
.10
200.18.171.0
200.18.180.0
.200
200.18.180.0
73
74
Next--hop routing
Next
Atualização da tabela de rotas
TCP/IP
TCP/IP
... encapsulando um datagrama IP direcionado a
ele também !!!
Roteamento Estático
IP de B passa datagrama para os níveis
superiores
Tabelas de rotas
configuradas
manualmente
IP destino = 200.18.180.200
Estação A
Estação B
Roteador
OD.OA.12.07.71.FF
.148
.10
200.18.171.0
.200
Tabelas de rotas
configuradas por meio de
algum mecanismo
automático
• Protocolos de divulgação
Não adaptativo
Viável apenas em
pequenas interinter-redes
OD.OA.12.07.48.05
.37
Simples
Roteamento Dinâmico
de rotas (RIP, RIP2,
OSPF, BGPBGP-4)
Adaptativo
Muito complexo
200.18.180.0
75
76
Propagação automática de rotas
Exemplos de tabela de rotas
TCP/IP
TCP/IP
201.0.0.0
202.0.0.0
eth0
R
Protocolos
de Divulgação
de Rotas
.1
203.0.0.0
.2
eth1
R
.3
R
.4
.5
Tabela de Rotas
Rotas::
Tabela
de Rotas
Internet
Protocol
204.0.0.0
.6
Internet
202.0.0.0
203.0.0.0
201.0.0.0
204.0.0.0
eth0
eth1
202.0.0.2
203.0.0.5
default
203.0.0.5
77
78
Exemplos de tabelas de rotas (II)
Exemplos de tabelas de rotas (II)
TCP/IP
200.10.10.10
200.10.10.1
139.82.0.0
0.0.0.0
200.10.10.55
Interface 1
160.32.0.0
200.10.20.44
139.82.5.70
Interface 2
200.10.20.1
79
TCP/IP
Rede
Gateway
Flags Interface
139.82.0.0
200.10.10.1
XXX
1
160.32.0.0
200.10.10.10
YYY
1
200.10.10.0
-
ZZZ
1
200.10.20.0
-
ZZZ
2
139.82.5.70
200.10.20.1
ZZZ
2
...
...
...
...
0.0.0.0
200.10.10.1
YYY
1
Representação
da rota
específica
Representação
da rota
default
Prioridade de escolha
escolha::
+ rota específica
rota para rede
rota default
80
Tamanho dos datagramas IP
Bacharelado em Informática
Protocolos do Nível
Disciplina:
InterInter-Rede
TCP/IP
Caso ideal:
• datagrama IP ≤ área máxima de dados dos quadros das
diversas redes físicas
– MTU - Maximum Transmission Unit
Protocolo IP e endereçamento
Existem vários tipos de redes com diferentes MTUs
Transmissão IP sobre redes
• FDDI = max 4470 bytes
Roteamento IP
• Ethernet = max 1500 / max 1492 (IEEE 802.3)
Fragmentação e Remontagem
• Token
Token--Ring = max 2048 bytes
Opções IP
Como determinar um tamanho
máximo ideal ?
81
82
Tamanho dos datagramas IP
Fragmentação e Remontagem
Copyright  19991999-2008 by TeleMídia Lab.
TCP/IP
TCP/IP
Rede 4
MTU=1500
Módulo IP em cada host escolhe um tamanho
máximo “conveniente” para seus datagramas
• Datagramas precisam ser fragmentados caso a
MTU de alguma rede intermediária seja menor que
o tamanho inicial usado pelo host de origem
G3
G4
Rede 1
MTU=1500
Rede 3
MTU=1500
G1
83
Rede 2
MTU=500
84
G2
Fragmentação e Remontagem
Fragmentação e Remontagem
TCP/IP
TCP/IP
Rede 4
MTU=1500
G3
Rede 4
MTU=1500
G4
G3
Rede 1
MTU=1500
Rede 3
MTU=1500
G1
Rede 2
MTU=500
G2
G4
Rede 1
MTU=1500
3
2
Rede 3
MTU=1500
1
Rede 2
MTU=500
G1
G2
85
86
Tamanho dos datagramas IP
Fragmentação e Remontagem
TCP/IP
TCP/IP
Rede 4
MTU=1500
Módulo IP em cada host escolhe um tamanho
máximo “conveniente” para seus datagramas
• Datagramas precisam ser fragmentados caso a
MTU de alguma rede intermediária seja menor que
o tamanho inicial usado pelo host de origem
Fragmentos precisam de campos que permitam
seu roteamento
G3
Rede 1
MTU=1500
3
Rede 3
MTU=1500
2
Rede 2
MTU=500
G1
1
87
G4
88
G2
Fragmentação e Remontagem
Fragmentação e Remontagem
TCP/IP
TCP/IP
Rede 4
MTU=1500
G3
Rede 4
MTU=1500
G4
G3
G4
2
Rede 1
MTU=1500
Rede 3
MTU=1500
3
Rede 2
MTU=500
G1
Rede 1
MTU=1500
G2
Rede 3
MTU=1500
Rede 2
MTU=500
G1
G2
1
1
2
3
89
90
Considerações sobre fragmentação e remontagem
Fragmentação e Remontagem
TCP/IP
TCP/IP
Rede 4
MTU=1500
Fragmentos só são remontados no destino
• Fragmentos podem ter percorrido caminhos
diferentes
2
1
G3
G4
Rede 1
MTU=1500
Rede 3
MTU=1500
G1
Rede 2
MTU=500
G2
3
91
92
Fragmentação e Remontagem
Fragmentação e Remontagem
TCP/IP
TCP/IP
Rede 4
MTU=1500
Rede 4
MTU=1500
2
1
G3
3
G4
G3
1
G4
2
Rede 1
MTU=1500
Rede 3
MTU=1500
G1
Rede 2
MTU=500
G2
Rede 1
MTU=1500
Rede 3
MTU=1500
G1
3
Rede 2
MTU=500
G2
93
94
Fragmentação e Remontagem
Fragmentação e Remontagem
TCP/IP
TCP/IP
Rede 4
MTU=1500
Rede 4
MTU=1500
2
G3
3
G3
Rede 3
MTU=1500
Rede 2
MTU=500
95
3
G4
Rede 1
MTU=1500
G1
1
G2
2
G4
Rede 1
MTU=1500
Rede 3
MTU=1500
G1
Rede 2
MTU=500
96
G2
1
Fragmentação e Remontagem
Considerações sobre fragmentação e remontagem
TCP/IP
Rede 4
MTU=1500
G3
Pode ocorrer fragmentação já no host de origem
se o protocolo de nível superior requisitar de uma
única vez o envio de grande quantidade de dados
• Porém, há mecanismos nos níveis superiores que
G4
Rede 1
MTU=1500
permitem a seus protocolos aprender a MTU local
Rede 3
MTU=1500
Rede 2
MTU=500
G1
TCP/IP
Temporizador controla a remontagem no destino
• O datagrama inteiro é descartado se algum
fragmento não chegar a tempo
G2
97
98
Campo FLAGS do datagrama IP
Exemplo de fragmentação
TCP/IP
VERS
HLEN
SERVICE TYPE
IDENTIFICATION
TIME TO LIVE
TOTAL LENGTH
FLAGS
PROTOCOL
FRAGMENT OFFSET
HEADER CHECKSUM
SOURCE IP ADDRESS
DESTINATION IP ADDRESS
IP OPTIONS (IF ANY)
PADDING
DATA
...
Identificador da
Mensagem (não
do datagrama
datagrama))
13 bits
Múltiplos de 8 octetos
TOTAL LENGTH informa
tamanho do fragmento.
fragmento. Só
último fragmento determina
tamanho do datagrama
original,
(através de TOTAL LEN e
FRAGMENT OFFSET).
NU DNF MF
More Fragments Bit
Do Not Fragment Bit
(datagrama descartado e erro
enviado para origem)
origem)
TCP/IP
A quer transmitir datagrama de 4000 octetos de
dados para B
Quantos fragmentos serão gerados na Rede 2 ?
A
B
Tam. datagrama = 4020
Rede 1
MTU=4500
Rede 3
MTU=800
Rede 2
MTU=1500
Não utilizado
99
100
4 5
63784
20
OCTETOS
8
Fragmentação e Remontagem
4020
00000000
0
000
UDP
TCP/IP
01F5
Múltiplos de
8 octetos
139.82.17.20
206.12.56.23
Fragmento 1
4 5
63784
8
UDP
Fragmento 2
1500
00000000
0
00
001
1
0756
4 5
1500
00000000
63784
8
1480
DVB9834H4K432BVIVV
FVNEOFVHNOEF9345F
342589J3948302FJJFV
4000
OCTETOS
UDP
185
001
00
1
0FD0
2960
Generalidade:
Confiabilidade:
• se algum fragmento é
tamanho variado
UDP
370
000
perdido o datagrama deve
ser retransmitido
integralmente
Eficiência:
1060
00000000
63784
8
Desvantagens
• Permite datagramas de
Fragmento 3
4 5
Vantagens
4AFF
139.82.17.20
139.82.17.20
139.82.17.20
206.12.56.23
206.12.56.23
206.12.56.23
Primeiros 1480 octetos
Próximos 1480 octetos
Últimos 1040 octetos
• Fragmentos são roteados
Eficiência:
independentemente
• Datagramas só são
– Possibilidade de rotas
alternativas
remontados no destino
– Aumento do número de
pacotes circulando pelas
redes
102