internet arquitetura tcp/ip internet - midiacom.uff.br · rede 4 rede 5 10 redes de computadores...
TRANSCRIPT
1
Disciplina: Redes de Computadores
Arquitetura TCP/IP - Internet
Protocolo IP
Protocolo ICMP
Profa. Débora Christina Muchaluat Saade [email protected]
Departamento de Ciência da Computação - UFF
2
Redes de Computadores
Arquitetura TCP/IP Internet
9
Redes de Computadores
Inter-rede
G
G
G
G
G Rede 3
Conceito de Inter-rede
H
H
H
Rede 2 H
H
Rede 1
H
H H
Rede 5 Rede 4
10
Redes de Computadores
Arquitetura Internet
Aplicação
Transporte
Inter-rede
Intra-rede
Arquitetura Internet
11
Redes de Computadores
Arquitetura Internet
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Físico
Arquitetura OSI
Aplicação
Transporte
Arquitetura Internet
Intra-rede
Inter-rede
12
Redes de Computadores
Arquitetura Internet
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Físico
Arquitetura OSI
Aplicação
Transporte Inter-rede
Intra-rede
Arquitetura Internet
2
13
Redes de Computadores
Arquitetura Internet
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace
Físico
Arquitetura OSI
Aplicação
Transporte
Arquitetura Internet
Intra-rede
Inter-rede
Interface de Serviço de
Nível 2
14
Redes de Computadores
Arquitetura TCP/IP (TCP/IP Internet Protocol Suite)
Aplicação
Transporte
Inter-rede
Intra-rede
Mensagens da aplicação
Pacotes da inter-rede (datagramas)
Endereços de “baixo nível”
Endereços de “alto nível”
15
Redes de Computadores
Nós intermediários na Arquitetura TCP/IP
Mensagem idêntica
Pacote idêntico
Roteador
Rede Física 1 Rede Física 2
Inter-rede
Intra-rede Intra-rede Intra-rede
Host A
Quadro idêntico
Datagrama idêntico
Inter-rede
Transporte
Aplicação
Intra-rede
Host B
Quadro idêntico
Datagrama idêntico
Inter-rede
Transporte
Aplicação
16
Redes de Computadores
Camada Intra-rede
➽ Infraestrutura específica de transmissão
➽ Recebe pacotes da camada inter-rede
➽ Utiliza padrões e tecnologias existentes atualmente • Interfaces para LANs, MANs e
WANs • Interfaces para enlaces ponto a
ponto: LPs, LDs, …
Aplicação
Transporte
Inter-rede
Intra-rede Int. de adaptação
17
Redes de Computadores
Camada Inter-rede
➽ Permite a comunicação entre dois hosts quaisquer conectados à inter-rede • IP (Internet Protocol) • Serviço mais simples possível:
entrega não confiável de datagramas ➽ Define formato do identificador
único de cada host na inter-rede • Endereço IP (ex: 200.16.181.5)
➽ Encapsula as mensagens da camada de transporte em datagramas IP
Aplicação
Transporte
Inter-rede
Intra-rede Int. de adaptação
18
Redes de Computadores
Aplicação
Transporte
Inter-rede
Intra-rede Int. de adaptação
Camada Inter-rede
➽ Implementa algoritmos e políticas de roteamento entre redes
➽ Implementa mecanismo para divulgação de informações de controle e erro • ICMP (Internet Control Message
Protocol) ➽ Qualquer tecnologia de intra-rede
é tratada de maneira idêntica pelos protocolos da camada inter-rede
3
19
Redes de Computadores
Interface de Adaptação
➽ Permite o uso da camada intra-rede pela camada inter-rede.
➽ Exs: • Conversão entre endereços lógicos
IP e endereços físicos de interface de rede
• Mapeamento entre o serviço de entrega provido pela rede física e o serviço de entrega não confiável de datagramas provido pelo IP
Aplicação
Transporte
Inter-rede
Intra-rede Int. de adaptação
20
Redes de Computadores
Camada de Transporte
➽ Comunicação entre duas aplicações (processos) em hosts ligados à inter-rede • Comunicação Fim-a-Fim • Multiplexação/Demultiplexação por
meio de “portas” ➽ UDP (User Datagram Protocol) ➽ TCP (Transmission Control
Protocol) • Controle de Fluxo • Controle de Erro • Sequenciação
Aplicação
Transporte
Inter-rede
Intra-rede Int. de adaptação
21
Redes de Computadores
Camada de Aplicação
➽ Conjunto de aplicações distribuídas utilizadas pelos usuários da inter-rede
➽ Protocolos específicos por aplicação • FTP (File Transfer Protocol) • SMTP (Simple Mail Transfer
Protocol) • HTTP (Hypertext Transfer Protocol)
➽ Esquema de endereçamento opcional baseado em nomes (ex: www.acme.com.br) • DNS (Domain Name System)
➽ Interfaces para programação de aplicações TCP/IP
Aplicação
Transporte
Inter-rede
Intra-rede Int. de adaptação
22
Redes de Computadores
Relacionamentos entre Protocolos
Intra-rede
Inter-rede IP
ICMP
Transporte TCP UDP
User Process
User Process
User Process
Interface de rede
Interface de Adaptação
Interface de rede
Interface de rede
ATMARP ARP
Aplicações
23
Redes de Computadores
IP - Internet Protocol
24
Redes de Computadores
Protocolo IP (Internet Protocol)
➽ Serviço mais simples possível • Datagrama não
confiável – Confiabilidade
fornecida pelas camadas superiores
• Melhor esforço (best-effort)
• Sem conexão
Aplicação
Transporte
Inter-rede
Intra-rede
4
25
Redes de Computadores
Protocolo IP (Internet Protocol)
➽ Definição de uma rede virtual • Endereçamento
independente da infra-estrutura ou do endereçamento de cada intra-rede
• Formato de pacote específico para a inter-rede
• Função interna de roteamento (encaminhamento)
Aplicação
Transporte
Inter-rede
Intra-rede
26
Redes de Computadores
Roteadores
➽ Realizam a função de interligação de redes ➽ Podem ser baseados em um sistema
operacional de uso genérico (ex. PC, RISC, Mainframe) ou um software e hardware especializado
➽ Modelos de diversos tipos e tamanhos
Inter-rede ( IP )
Protocolos Intra-rede
27
Redes de Computadores
Endereços IP
➽ Endereços IP são números de 32 bits (4 bytes)
➽ Um endereço IP identifica um host em uma determinada rede física
➽ Endereçamento hierárquico composto de parte de rede e parte de host Rede
A Rede B
Rede Host
End. IP na Rede A ≠
End IP na Rede B
Parte comum a todas as
estações em uma mesma rede
28
Redes de Computadores
Endereços IP
➽ Endereçamento hierárquico composto de parte de rede e parte de host
➽ Se uma máquina troca de rede então seu endereço IP muda
➽ Endereços IP não têm relação com os endereços das estações dentro de cada uma das redes (endereçamento Intra-rede).
Rede A
Rede B
End. IP na Rede A ≠
End IP na Rede B
Rede Host
Parte comum a todas as
Estações em uma mesma rede
29
Redes de Computadores
Órgãos que distribuem endereços IP
➽ ICANN - Internet Corporation for Assigned Names and Numbers • ARIN - American Registry for Internet Numbers • Ripe - Ripe Network Coordination Centre • APNIC - Asian Pacific Network Information Centre • LACNIC - Latin American and Caribean Network
Information Center (responsabilidade do Comitê Gestor da Internet no Brasil - www.cgi.org.br)
• AfriNIC - African Network Information Centre ➽ Estrutura de distribuição dos endereços é hierárquica
• ISPs (Internet Service Providers) distribuem endereços para seus usuários, que podem ser outros provedores
30
Redes de Computadores
Distribuição de Endereços na Internet
➽ No Brasil • Top level IPSs: IBM,
Global-One, Embratel, RNP, ...
• Brasil é 3o mundial em número de hosts 26,5 Milhões (CIA World Factbook - 2012), atrás de EUA e Japão
ICANN
LACNIC
ISP
ISP ISP
ISP ISP
... ... ... ... ...
5
31
Redes de Computadores
Endereços IP: Notação “de Ponto”
11010000 11110101 00011100 10100011
208 245 28 163
208.245.28.163
32
Redes de Computadores
Endereços IP: Primeiro com Classes
Octeto 1 Octeto 2 Octeto 3 Octeto 4 0 7 15 23 31
netid hostid 0 Classe A
1 netid 0 hostid Classe B
netid 1 hostid 1 0 Classe C
Endereço Multicast 1 1 1 0 Classe D
Reservado para uso futuro 1 1 1 1 0 Classe E
Classe A: 0000 0001 1.X.X.X
0111 1111 127.X.X.X
Classe B: 128.1.X.X 1000 0000 0000 0001
191.255.X.X 1011 1111 1111 1111
Classe C: 192.0.1.X 1100 0000 0000 0000 0000 0001
223.255.255.X 1101 1111 1111 1111 1111 1111
Classe D: 224.X.X.X 1110 0000
239.X.X.X 1110 1111
Classe E: 240.X.X.X 1111 0000
247.X.X.X 1111 0111
X X X X X X
X X X X
X X
X X X X X X
X X X X X X
34
Redes de Computadores
NETID HOSTID
Endereço da rede X 0 0 0 0 ... 0 0 0 0
Broadcast direto X 1 1 1 1 ... 1 1 1 1
Broadcast limitado 1 1 1 1 ... 1 1 1 1 1 1 1 1 ... 1 1 1 1
Loopback geralmente 127.0.0.1
0 1 1 1 1 1 1 1 X
Endereços especiais
35
Redes de Computadores
Exemplo
11001000 10000010 10101011 00100101 200 18 171 37 IP A
11001000 10000010 10101011 10010100 200 18 171 148 IP B
➽ Determinação da Classe:
➽ 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, sendo um do host 37 (A) e outro do host 148 (B)
netid 1 hostid 1 0
CLASSE C
36
Redes de Computadores
Formato de um datagrama IP
Octeto 1 Octeto 2 Octeto 3 Octeto 4 0 7 15 23 31
VERS SERVICE TYPE TOTAL LENGTH IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM SOURCE IP ADDRESS
HLEN
DESTINATION IP ADDRESS IP OPTIONS (IF ANY)
DATA ...
PADDING
6
37
Redes de Computadores
Campos do datagrama IP
Octeto 1 Octeto 2 Octeto 3 Octeto 4 0 7 15 23 31
VERS SERVICE TYPE TOTAL LENGTH IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM SOURCE IP ADDRESS
HLEN
DESTINATION IP ADDRESS IP OPTIONS (IF ANY)
DATA ...
PADDING
38
Redes de Computadores
Campos do datagrama IP
VERS TOTAL LENGTH IDENTIFICATION FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM SOURCE IP ADDRESS
HLEN
DESTINATION IP ADDRESS IP OPTIONS (IF ANY)
DATA ...
PADDING
SERVICE TYPE
PRECEDENCE D T R UNUSED
Alta Confiabilidade (High Reliability) Alta Vazão (High Throughput) Baixo Retardo (Low Delay) Prioridade do Datagrama: 0 - 7
VERS = 4 HLEN = N x 4 octetos (20 a 64 bytes) TLEN = até 65535 octetos
C Baixo Custo (Low Monetary Cost)
39
Redes de Computadores
SERVICE TYPE VERS TOTAL LENGTH IDENTIFICATION FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM SOURCE IP ADDRESS
HLEN
DESTINATION IP ADDRESS IP OPTIONS (IF ANY)
DATA ...
PADDING
FLAGS
TTL decrementado em cada roteador de 1 ou mais
TCP = 6 UDP = 17 ICMP = 1 EGP = 8 OSPF= 89 (RFC 1700)
Alterado a cada roteador
Campos do datagrama IP
40
Redes de Computadores
Entrega de Pacotes IP
Rede A
Rede B
Roteador
IP: 200.18.171.X IP: 200.18.180.Y
IP
Protocolos Intra-rede
A
TCP/UDP
Aplicação
Inter-rede ( IP )
Protocolos Intra-rede
A
Protocolos Intra-rede
B IP
Protocolos Intra-rede
B
TCP/UDP
Aplicação
41
Redes de Computadores
Entrega de Pacotes IP
Rede A
Rede B
Roteador
IP
Protocolos Intra-rede
A
TCP/UDP
Aplicação
Inter-rede ( IP )
Protocolos Intra-rede
A
Protocolos Intra-rede
B IP
Protocolos Intra-rede
B
TCP/UDP
Aplicação
Endereçamento Intra-Rede, Algumas vezes chamado de “Endereço Físico” ou também “Endereço MAC” Ex. Ethernet: 0D.0A.12.07.48.05
Ex. ATM: 47.0091.8100.0000.200c.1001. 0800.200c.1001.01
42
Redes de Computadores
Entrega de Pacotes IP
Rede A
IP
TCP/UDP
Aplicação
IP
Protocolos Intra-rede
TCP/UDP
Aplicação
Protocolos Intra-rede
7
43
Redes de Computadores
Entrega de Pacotes IP
Rede A
IP
TCP/UDP
Aplicação
IP
Protocolos Intra-rede
TCP/UDP
Aplicação
Protocolos Intra-rede
44
Redes de Computadores
Entrega de Pacotes IP
Rede A
IP
TCP/UDP
Aplicação
IP
Protocolos Intra-rede
TCP/UDP
Aplicação
Protocolos Intra-rede
Endereços IP De Origem e destino
45
Redes de Computadores
Entrega de Pacotes IP
Rede A
IP
TCP/UDP
Aplicação
IP
Protocolos Intra-rede
TCP/UDP
Aplicação
Protocolos Intra-rede
Endereçamento Intra-rede de Origem e destino
46
Redes de Computadores
Entrega de Pacotes IP
Rede A
IP
TCP/UDP
Aplicação
IP
Protocolos Intra-rede
TCP/UDP
Aplicação
Protocolos Intra-rede
É necessário um mecanismo de “mapeamento” entre End. IP e End. Intra-Rede
47
Redes de Computadores
Entrega de Pacotes IP
Rede A
IP
TCP/UDP
Aplicação
IP
Protocolos Intra-rede
TCP/UDP
Aplicação
Protocolos Intra-rede
O Encaminhamento dentro de cada rede é feito com base no endereçamento próprio daquela rede.
48
Redes de Computadores
ARP (Address Resolution Protocol)
➽ Realiza o mapeamento entre Endereço IP e Endereço Intra-Rede • Mapeamento de endereços IP em endereços
MAC Ethernet, Token-Ring, FDDI, ATM, etc...
• Efetuado por meio de uma tabela ARP em cada máquina que é construída dinamicamente
➽ É um protocolo que faz a interface entre a camada Inter-Rede e a camada Intra-Rede
IP
TCP/UDP
Aplicação
Protocolos Intra-rede
Interface de Adaptação
8
49
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1 200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77 0D.0A.12.07.48.05
50
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
51
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
IP destino = 200.18.171.3
52
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
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.
53
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
... End. Físico Broadcast
0D.0A.12. 07.48.05 ARP Dados (ARP Request) FCS
ARP Req
Destino Origem
54
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
ARP Req
9
55
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
ARP Req
56
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
ARP Req
57
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
ARP Req
ARP Req
58
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
ARP Req
59
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77 ARP Req
60
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
ARP Req
10
61
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
Destino Origem
ARP Reply
... 0D.0A.12. 07.48.05
1F.6D.45. 09.11.77 ARP Dados (ARP Reply) FCS
62
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
ARP Reply
63
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
ARP Reply
64
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
ARP Reply
65
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
ARP Reply
66
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
200.18.171.3 1F.6D. 45.09.11.77 Tabela ARP
11
67
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
200.18.171.1 0D.0A.12.07.48.05
Tabela ARP
Note que …
68
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
0D.0A.12.07.48.05 200.18.171.1 Tabela ARP
... e que …
69
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
Finalmente aquele pacote IP pode ser transmitido carregando uma mensagem TCP que, por sua vez, carrega um comando da Aplicação
70
Redes de Computadores
ARP (Address Resolution Protocol)
Protocolos Intra-rede
TCP/UDP
Aplicação
IP 200.18.171.1
0D.0A.12.07.48.05
200.18.171.3
Protocolos Intra-rede
TCP/UDP
Aplicação
IP
200.18.171.4
1F.6D.45.09.11.77
1F.6D.45. 09.11.77
0D.0A.12. 07.48.05 FCS TCP Aplicação
IP
71
Redes de Computadores
Roteamento
➽ X deseja enviar pacotes para Y ➽ O protocolo IP percebe que Y não pertence à mesma rede
➽ O host X consulta tabela de rotas • Descobre rota: roteador 200.18.171.1
➽ O IP do host X aciona ARP para resolver endereço do roteador • Resultado: 0C.08.12.04.37.0A
Rede A
Rede B
Roteador 200.18.171.8 200.18.180.4
200.18.171.1 200.18.180.3
X Y
0D.0A.12.07.48.05 1F.6D.45.09.11.77
4F.0A.35.09.11.97 0C.08.12.04.37.0A
72
Redes de Computadores
Roteamento
Rede A
Rede B
Roteador 200.18.171.8 200.18.180.4
200.18.171.1 200.18.180.3
X Y
0D.0A.12.07.48.05 1F.6D.45.09.11.77
4F.0A.35.09.11.97 0C.08.12.04.37.0A
... 0C.08.12 04.37.0A
0D.0A.12. 07.48.05 FCS TCP Apl 200.18.
180.4 200.18. 171.8
12
73
Redes de Computadores
Roteamento
Rede A
Rede B
Roteador 200.18.171.8 200.18.180.4
200.18.171.1 200.18.180.3
X Y
0D.0A.12.07.48.05 1F.6D.45.09.11.77
4F.0A.35.09.11.97 0C.08.12.04.37.0A
74
Redes de Computadores
Roteamento
Rede A
Rede B
Roteador 200.18.171.8 200.18.180.4
200.18.171.1 200.18.180.3
X Y
0D.0A.12.07.48.05 1F.6D.45.09.11.77
4F.0A.35.09.11.97 0C.08.12.04.37.0A
TCP Apl 200.18. 180.4
200.18. 171.8
➽ O protocolo IP percebe que DESTINO pertence à mesma rede
➽ aciona ARP para resolver endereço do DESTINO • Resultado: 1F.6D.45.09.11.77
75
Redes de Computadores
Roteamento
Rede A
Rede B
Roteador 200.18.171.8 200.18.180.4
200.18.171.1 200.18.180.3
X Y
0D.0A.12.07.48.05 1F.6D.45.09.11.77
4F.0A.35.09.11.97 0C.08.12.04.37.0A
... 1F.6D.45. 09.11.77
4F.0A.35. 09.11.97 FCS TCP Apl 200.18.
180.4 200.18. 171.8
76
Redes de Computadores
Tabela de Rotas
Tabela de Rotas
Protocolos de Divulgação
de Rotas (RIP, RIP2,
OSPF, BGP-4)
Internet Protocol
77
Redes de Computadores
Tamanho dos datagramas IP
➽ Caso ideal: • tamanho do datagrama IP ≤ tamanho máximo da
área de dados do quadro intra-rede (MTU - Maximum Transmission Unit)
➽ Existem vários tipos de redes com diferentes MTUs • FDDI = max 4470 bytes • Ethernet = max 1500 bytes • Token-Ring = max 4500 bytes
➽ Como fazer para transmitir um datagrama IP em uma rede com MTU menor?
78
Redes de Computadores
Fragmentação e Remontagem
G G
Rede 1 MTU=1500
Rede 3 MTU=1500
1 2 Rede 2
MTU=500
13
79
Redes de Computadores
Fragmentação e Remontagem
Rede 1 MTU=1500
Rede 3 MTU=1500
Rede 2 MTU=500 G G 1 2
80
Redes de Computadores
Fragmentação e Remontagem
Rede 1 MTU=1500
Rede 3 MTU=1500
Rede 2 MTU=500 G G 1 2
81
Redes de Computadores
Fragmentação e Remontagem
Rede 1 MTU=1500
Rede 3 MTU=1500
Rede 2 MTU=500 G G 1 2
82
Redes de Computadores
Fragmentação e Remontagem
Rede 1 MTU=1500
Rede 3 MTU=1500
Rede 2 MTU=500 G G 1 2
83
Redes de Computadores
Fragmentação e Remontagem
Rede 1 MTU=1500
Rede 3 MTU=1500
Rede 2 MTU=500 G G 1 2
84
Redes de Computadores
Fragmentação e Remontagem
Rede 1 MTU=1500
Rede 3 MTU=1500
Rede 2 MTU=500 G G 1 2
14
85
Redes de Computadores
Fragmentação e Remontagem
Rede 1 MTU=1500
Rede 3 MTU=1500
Rede 2 MTU=500 G G 1 2
86
Redes de Computadores
Fragmentação e Remontagem
Rede 1 MTU=1500
Rede 3 MTU=1500
Rede 2 MTU=500 G G 1 2
87
Redes de Computadores
Fragmentação e Remontagem
Rede 1 MTU=1500
Rede 3 MTU=1500
Rede 2 MTU=500 G G 1 2
88
Redes de Computadores
Fragmentação e Remontagem
Rede 1 MTU=1500
Rede 3 MTU=1500
Rede 2 MTU=500 G G 1 2
89
Redes de Computadores
SERVICE TYPE VERS TOTAL LENGTH IDENTIFICATION FRAGMENT OFFSET
TIME TO LIVE PROTOCOL HEADER CHECKSUM SOURCE IP ADDRESS
HLEN
DESTINATION IP ADDRESS IP OPTIONS (IF ANY)
DATA ...
PADDING
NU DNF MF
Do Not Fragment Bit (datagrama descartado e erro enviado para origem)
More Fragments Bit
FLAGS
Identificador da Mensagem (não do datagrama)
13 bits Múltiplos de 8 octetos TLEN informa tamanho do fragmento. Só último fragmento determina tamanho do datagrama original, através de TLEN e FRAGMENT OFFSET.
Não utilizado
Campo FLAGS do datagrama IP
90
Redes de Computadores
Exemplo de fragmentação
➽ A quer transmitir datagrama de 4000 octetos de dados para B
➽ Quantos fragmentos serão gerados na Rede 2 ?
Rede 3 MTU=800
Rede 1 MTU=4500
Rede 2 MTU=1500
Tam. datagrama = 4020 B A
15
4 00000000 4020 63784 000 0
8 UDP 01F5 139.82.17.20
5
206.12.56.23
DVB9834H4K432BVIVV FVNEOFVHNOEF9345F 342589J3948302FJJFV
20 OCTETOS
4 00000000 1500 63784 001 0
8 UDP 0756 139.82.17.20
5
206.12.56.23
Primeiros 1480 octetos
4 00000000 1500 63784 001 185
8 UDP 0FD0 139.82.17.20
5
206.12.56.23
Próximos 1480 octetos
4 00000000 1060 63784 000 370
8 UDP 4AFF 139.82.17.20
5
206.12.56.23
Últimos 1040 octetos
Fragmento 1 Fragmento 2 Fragmento 3
4000 OCTETOS
1480 2960
Múltiplos de 8 octetos
92
Redes de Computadores
Fragmentação e Remontagem
➽ Generalidade: • Permite datagramas de
tamanho variado ➽ Eficiência:
• Fragmentos são roteados independentemente
– Possibilidade de rotas alternativas
➽ Confiabilidade: • se algum fragmento é perdido
o datagrama deve ser retransmitido integralmente
➽ Eficiência: • Datagramas só são
remontados no destino – Aumento do número de
pacotes circulando pelas redes
Vantagens Desvantagens
95
Redes de Computadores
Problema com Endereçamento por Classes
127
16.383
2.097.152
Número de Redes
16.777.214
65.534
254
Número de Estações
Classe A
Classe B
Classe C
• Redução rápida dos endereços livres
96
Redes de Computadores
CIDR - Classless Interdomain Routing
➽ Fim da divisão em classes ➽ Ao invés da classe determinar a parte de rede
e de máquina do endereço é usada uma máscara de bits • Máscara determina quais bits são utilizados para
identificar a rede e a máquina (hostid) • Representada por número de 32 bits com 1 para
parte de rede e 0 para parte de host.
97
Redes de Computadores
Máscara de Rede
➽ A porção de bits 1 da máscara indica a parte correspondente a rede. A parte de bits 0 indica hosts
XX XX XX XX
Octeto 1 Octeto 2 Octeto 3 Octeto 4 0 7 15 23 31
11 11 11 11
End.
Mask
200. 00 01 00 10
18. 10 10 00 00 10
00 00 00 00
11 00 10 00
11 11 11 11 11 11 11 11 11
160 128 -191
255. 255. 255. 192
98
Redes de Computadores
Máscara de Rede
➽ Equivalente de máscara para classes: • A = 255.0.0.0 • B = 255.255.0.0 • C= 255.255.255.0
16
99
Redes de Computadores
CIDR (Classless Interdomain Routing)
➽ Um bloco CIDR é um conjunto contíguo de endereços expresso por meio de um endereço inicial (prefixo IP) e uma máscara que indica o número de endereços desse conjunto • Ex.: (200.18.160.0, 255.255.255.0) é um bloco CIDR com
256 endereços IP (variando entre 200.18.160.0 e 200.18.160.255).
➽ Os conjuntos de destinos associados a blocos CIDR podem exibir um relacionamento de subconjunto • Ex.: (200.18.160.0, 255.255.255.192) e (200.18.160.64,
255.255.255.192) são subconjuntos de (200.18.160.0, 255.255.255.0)
100
Redes de Computadores
Blocos CIDR
Inter-rede englobando endereços 200.180.160.0 a 200.180.160.255
Inter-rede englobando 200.180.160.0 a 200.180.160.63
Inter-rede englobando 200.180.160.64 a 200.180.160.127
...
104
Redes de Computadores
Roteamento em sub-redes
➽ Algoritmo de roteamento e estrutura da tabela de rotas devem ser alterados • Para o algoritmo de roteamento verificar qual a parte
de rede, não olha p/ a classe do endereço de destino do datagrama. É aplicado um AND lógico deste endereço com a máscara. O resultado é o endereço da sub-rede.
• Tabelas de rotas devem incluir coluna identificando a máscara de bits associada à sub-rede
➽ Datagrama IP não precisa carregar informação sobre máscara
105
Redes de Computadores
IP dest 139.82.5.68
Todo tráfego p/ 139.82.0.0 (classe B)
Roteamento em sub-redes
H
Resto da Internet Sub-rede 139.82.2.0
Sub-rede 139.82.5.64
139.82.5.68 mask = 255.255.255.192
H
H
X.25
139.82.2.4 mask = 255.255.255.0
R
Pref. IP 139.82.2.0 255.255.255.0 -
139.82.5.64 255.255.255.192 -
Máscara Rot. 1 2
Int.
1
2
106
Redes de Computadores
Escolha da rota
Octeto 1 Octeto 2 Octeto 3 Octeto 4 0 7 15 23 31
11 11 11 11
End IP
destino
Mask (AND)
139. 01 01 00 10
82. 00 00 01 01
00 00 00 00
10 00 10 11
11 11 11 11 11 11 11 11
5. 68
255. 255. 255. 0
01 00 01 00
End da
sub-rede 139. 01 01 00 10
82. 00 00 01 01 10 00 10 11
5. 0 00 00 00 00
Pref. IP 139.82.2.0 255.255.255.0 -
139.82.5.64 255.255.255.192 -
Máscara Rot. 1 2
Int. NÃO! (é diferente)
107
Redes de Computadores
Escolha da rota
Octeto 1 Octeto 2 Octeto 3 Octeto 4 0 7 15 23 31
11 11 11 11
End IP
destino
Mask (AND)
139. 01 01 00 10
82. 00 00 01 01
00 00 00
10 00 10 11
11 11 11 11 11 11 11 11 11
5. 68
255. 255. 255. 192
01 00 01 00
End da
sub-rede 139. 01 01 00 10
82. 00 00 01 01 10 00 10 11
5. 64 01 00 00 00
Pref. IP 139.82.2.0 255.255.255.0 -
139.82.5.64 255.255.255.192 -
Máscara Rot. 1 2
Int.
OK! (é igual)
17
108
Redes de Computadores
IP dest 139.82.5.68
Todo tráfego p/ 139.82.0.0 (classe B)
Roteamento em sub-redes
H
Resto da Internet Sub-rede 139.82.2.0
Sub-rede 139.82.5.64
139.82.5.68 mask = 255.255.255.192
H
H
X.25
139.82.2.4 mask = 255.255.255.0
R
Pref. IP 139.82.2.0 255.255.255.0 -
139.82.5.64 255.255.255.192 -
Máscara Rot. 1 2
Int.
1
2
109
Redes de Computadores
Roteamento em sub-redes
Mask = 255.255.255.192
...
200.18.170.0
200.18.170.64
...
200.18.170.192
...
200.18.170.128 R1
R2
.1 .65
.129
.130
.193
Pref. IP Mask Roteador .170.0 .255.192 - .170.1
.170.64 .255.192 - .170.65
Int. R1
.170.128 .255.192 - .170.129
.170.192 .255.192 .170.130 .170.129
Pref. IP Mask Roteador .170.128 .255.192 - .170.130 .170.192 .255.192 - .170.193
Int. R2
.170.0 .255.192 .170.129 .170.130 .170.64 .255.192 .170.129 .170.130
110
Redes de Computadores
Roteamento em sub-redes
Mask = 255.255.255.192
...
200.18.170.0
200.18.170.64
...
200.18.170.192
...
200.18.170.128 R1
R2
.1 .65
.129
.130
.193
Internet
X
0.0.0.0 0.0.0.0 ... X
0.0.0.0 0.0.0.0 170.129 .170.130
Representação da rota default
Pref. IP Mask Roteador .170.0 .255.192 - .170.1
.170.64 .255.192 - .170.65
Int. R1
.170.128 .255.192 - .170.129
.170.192 .255.192 170.130 .170.129
Pref. IP Mask Roteador .170.128 .255.192 - .170.130 .170.192 .255.192 - .170.193
Int. R2
.170.0 .255.192 170.129 .170.130 .170.64 .255.192 170.129 .170.130
111
Redes de Computadores
ICMP Internet Control Message Protocol
112
Redes de Computadores
Protocolo ICMP (Internet Control Message Protocol)
➽ IP - transmissão não confiável de datagramas • Necessidade de feedback a respeito de problemas na inter-
rede (host de destino indisponível, rotas circulares, etc.) ➽ ICMP - usado para comunicar mensagens de erro e
outras condições inesperadas que mereçam atenção • ICMP não torna confiável o serviço provido pelo IP
– Protocolos superiores devem implementar seus próprios procedimentos se for necessário um serviço confiável
• ICMP deve sempre ser implementado junto com o IP ➽ RFCs 792, 1191, 1256
116
Redes de Computadores
Campo de Dados IP Cabeçalho IP
Se um dgram IP encapsulando uma msg
ICMP gerar um erro, NÃO é gerada uma nova msg ICMP. O mesmo vale para dgrams
cujo IP dest seja broadcast ou cujo Fragment Offset > 0
Mensagens ICMP
Campo de Dados IP Cabeçalho IP
Campo de Dados TCP/UDP
Cabeçalho TCP/UDP
Erro em um roteador
Campo de Dados ICMP Cabeçalho ICMP
Mensagem ICMP gerada pelo roteador e enviada ao transmissor
do datagrama original
Possui identificador da aplicação
Possui identificador do protocolo
18
120
Redes de Computadores
Mensagem ICMP Destination Unreachable (Net Unreachable)
R
R
R R
200.18.18.0
200.18.19.0
200.18.21.0 200.18.20.0
200.18.17.0
H
D
S
H
.1 .2
.3
.1 .2
.3
.1 .2
.1 .2
.2
.1
.3
IP dest 200.18.22.4
ARP p/ 200.18.17.2
Tabela de Rotas S 0.0.0.0 0.0.0.0 200.18.17.2
121
Redes de Computadores
Mensagem ICMP Destination Unreachable (Net Unreachable)
R
R R
200.18.18.0
200.18.19.0
200.18.21.0 200.18.20.0
200.18.17.0
H
D
S
H
.1 .2
.3
.1 .2
.3
.1 .2
.1 .2
.2
.1
.3
IP dest 200.18.22.4
R
Msg ICMP Type 3; Code 0 X
Não há entrada na tabela de rotas p/
200.18.22.X (nem rota default)
125
Redes de Computadores
Configuração de tabela de rotas em hosts
➽ Tabela com um roteador default: • Todos os datagramas IP são enviados
para ele • Rotas melhores aprendidas por meio de
ICMP Redirect
127
Redes de Computadores
Mensagem ICMP Redirect
R
R
R R
200.18.18.0
200.18.19.0
200.18.21.0 200.18.20.0
200.18.17.0
H
D
S
H
.1 .2
.3
.1
.2
.3
.1 .2
.1 .2
.2
.1
.3
IP dest 200.18.21.2
Rota p/ 200.18.21.0 200.18.17.2
Tabela de Rotas S 0.0.0.0 0.0.0.0 200.18.17.3
128
Redes de Computadores
Mensagem ICMP Redirect
R
R
R R
200.18.18.0
200.18.19.0
200.18.21.0
200.18.17.0
H
D
S .1 .2
.3
.3
.1 .2
.1 .2
.2
.1
.3
IP dest 200.18.21.2
.2
200.18.20.0
Tabela de Rotas R ... 200.18.21.0 255.255.255.0 200.18.17.2
129
Redes de Computadores
Mensagem ICMP Redirect
R
R
R R
200.18.18.0
200.18.19.0
200.18.21.0
200.18.17.0
H
D
S .1 .2
.3
.3
.1 .2
.1 .2
.2
.1
.3
IP dest 200.18.21.2
Msg ICMP Type 5; Code 1 IP roteador 200.18.17.2 IP destino 200.18.21.2
H
.1
.2
200.18.20.0
19
130
Redes de Computadores
Mensagem ICMP Redirect
R
R
R R
200.18.18.0
200.18.19.0
200.18.21.0 200.18.20.0
200.18.17.0
H
D
S
H
.1 .2
.3
.1
.2
.3
.1 .2
.1 .2
.2
.1
.3
Tabela de Rotas S 0.0.0.0 0.0.0.0 200.18.17.3 200.18.21.2 255.255.255.255 200.18.17.2
131
Redes de Computadores
R1
R2 R3
R5
R4
Limitações do ICMP Redirect
➽ Tabela de rotas é preenchida com rota para cada host (ICMP Redirect não trata másc. de sub-rede)
➽ Somente para interação entre um roteador e um host ligados na mesma rede física. Não serve para otimizar a rota entre roteadores (função dos protocolos de roteamento)
132
Redes de Computadores
Mensagem ICMP Time Exceeded (Tracing - descoberta de caminhos na Internet)
➽ traceroute (Unix) e tracert (Windows) são implementados com base na mensagem ICMP Time Exceeded
134
Redes de Computadores
traceroute e tracert
R
R
R R
200.18.18.0
200.18.19.0
200.18.21.0 200.18.20.0
200.18.17.0
H
D
S
H
.1 .2
.3
.1
.2
.3
.1 .2
.1 .2
.2
.1
.3
IP dest 200.18.21.2
TTL 1
ROTA P/ 200.18.21.2 ?
135
Redes de Computadores
traceroute e tracert (time exceeded)
R
R
R R
200.18.18.0
200.18.19.0
200.18.21.0 200.18.20.0
200.18.17.0
H
D
S
H
.1 .2
.3
.1
.2
.3
.1 .2
.1 .2
.2
.1
.3
IP dest 200.18.21.2
TTL 0
Msg ICMP Type 11, Code 0 X ROTA P/ 200.18.21.2 ? Passa por 200.18.17.2;
136
Redes de Computadores
traceroute e tracert
R
R
R R
200.18.18.0
200.18.19.0
200.18.21.0 200.18.20.0
200.18.17.0
H
D
S
H
.1 .2
.3
.1
.2
.3
.1 .2
.1 .2
.2
.1
.3
IP dest 200.18.21.2
TTL 2
ROTA P/ 200.18.21.2 ? Passa por 200.18.17.2;
20
137
Redes de Computadores
traceroute e tracert
R
R
R R
200.18.18.0
200.18.19.0
200.18.21.0 200.18.20.0
200.18.17.0
H
D
S
H
.1 .2
.3
.1
.2
.3
.1 .2
.1 .2
.2
.1
.3
IP dest 200.18.21.2
TTL 1
138
Redes de Computadores
traceroute e tracert (time exceeded)
R
R
R R
200.18.18.0
200.18.19.0
200.18.21.0 200.18.20.0
200.18.17.0
H
D
S
H
.1 .2
.3
.1
.2
.3
.1 .2
.1 .2
.2
.1
.3
IP dest 200.18.21.2
TTL 0
Msg ICMP Type 11, Code 0
X
… prosseguindo até alcançar o destino
ROTA P/ 200.18.21.2 ? Passa por 200.18.17.2;
200.18.19.2
139
Redes de Computadores
Questões em ICMP
➽ ICMP só é enviado ao host origem do datagrama
➽ Não há como relatar problemas entre roteadores intermediários • Ex: rota inválida no meio do caminho
➽ ICMP não possui mensagem para erro no datagrama • Detecção e correção de erros delegada aos
protocolos superiores