Nível de Rede - Universidade do Minho

Propaganda
Nível de Rede
Redes de Computadores I
2007/2008
Sumário
Interligação de Redes
Cabeçalhos IPv4
Fragmentação e reagrupamento
Endereçamento (IPv4)
Encapsulamento na pilha TCP/IP
Datagramas IP versão 4 (IPv4)
Classfull e classless
Subnetting e supernetting
Atribuição dinâmica de endereços (DHCP)
Resolução de endereços nível 2 (ARP)
Mensagens de Controlo (ICMP)
IP versão 6 (IPv6)
05-11-2007
Universidade do Minho
1
Interligação de Redes
Nenhuma das tecnologias existentes de rede local (LAN) é
adequada para satisfazer todos os requisitos de comunicações
das aplicações.
Nenhuma dessas tecnologias é totalmente escalável:
Os endereços não têm estrutura, resultando em:
dificuldade de distribuição e administração
complexidade no encaminhamento dos PDU, mas…
Não há mecanismos de encaminhamento nos protocolos
Os PDU têm comprimentos limitados;
Os métodos de acesso não suportam grandes distâncias
05-11-2007
Universidade do Minho
2
Interligação de Redes
Introdução
Questão:
Será que para existir um serviço de rede único e global
(universal) é necessário adoptar a mesma tecnologia de rede
em todos os locais? Ou será possível oferecer serviços de
conectividade universal mesmo adoptando diferentes
tecnologias locais?
É possível a conectividade global entre redes com protocolos locais
distintos introduzindo uma camada protocolar superior
independente daqueles:
A camada protocolar de rede, também chamada de
interligação de redes ou de internetworking.
05-11-2007
Universidade do Minho
3
Interligação de Redes
Introdução
A Interligação de Redes baseia-se na utilização de funcionalidades
específicas de rede (realizadas tanto em hardware como em
software) que proporcionam um serviço global de interligação de
redes locais (LAN) heterogéneas:
Software: protocolos de rede (internetworking)
Hardware: routers (encaminhadores)
A maior Rede de Redes que existe: Internet
05-11-2007
Universidade do Minho
4
Interligação de Redes
Introdução
05-11-2007
Universidade do Minho
5
Interligação de Redes
A pilha TCP/IP
O protocolo do nível de rede mais utilizado é o protocolo de rede
usado na Internet: o Internet Protocol (IP), da pilha protocolar
TCP/IP
A pilha TCP/IP apresenta como principais características:
Aberta
Portável
independência do sistema operativo e plataforma
quaisquer sistemas podem comunicar
Estável e Robusta
especificações publicadas e bem conhecidas
abertura completa ao desenvolvimento de código
normas testadas ao longo de três décadas e fixas
mas ainda em desenvolvimento e aperfeiçoamento
Suporte global
incluída em todos os sistemas de computação
05-11-2007
Universidade do Minho
6
Interligação de Redes
A pilha TCP/IP
Aplicação
Apresentação
Sessão
Transporte
TELNET
FTP
SMTP
DNS
RIP
RTP
Transmission
RTCP Control Protocol
SNMP
DHCP
OSPF
BGP
User Datagram
Protocol
IGMP
ICMP
Internet Protocol
Rede
ARP
Ligação
Físico
05-11-2007
Ethernet
Token Bus
Universidade do Minho
Token Ring
FDDI
7
Interligação de Redes
Encapsulamento TCP/IP
PDU Aplicação
Segmento TCP
Datagrama IP
CI
Pacote LLC
CL
Trama MAC
CM
05-11-2007
Dados
CT
Dados
Segmento TCP
Datagrama IP
Pacote LLC
CM
Estação
origem
encapsulamento
Estação
destino
desencapsulamento
A hierarquia protocolar por camadas traduz-se no
encapsulamento dos PDU:
Na origem, o PDU da camada N+1 é inserido no campo de
dados do PDU da camada N
No destino, o PDU da camada N é recuperado do campo
de dados do PDU da camada N-1
CRC
CRC
Aplicação
TCP
IP
Ligação
Físico
Meio de
transmissão
Universidade do Minho
8
IP – Internet Protocol
É um protocolo de interligação de rede, cujo paradigma protocolar
é o melhor esforço (best effort):
o protocolo esforça-se por entregar os datagramas ao destino mas não o garante
(datagramas podem perder-se)
Versões: IPv4 (em uso generalizado), IPv6 (em instalação)
Principais funções:
fornece a unidade elementar de transferência de dados:
05-11-2007
o PDU do IP é um datagrama IP
inclui mecanismos para o seu encaminhamento
fragmentação de datagramas: transita em qualquer LAN
incorpora um esquema de endereçamento universal
Universidade do Minho
9
IP – Internet Protocol
Formato dos datagramas
32 bits
20 bytes
Vers
HLEN
TOS
Total Length
Identification
Time to Live
Flags
Protocol
Fragment Offset
Header Checksum
Source IP address
Destination IP address
IP Options (pode ser nulo)
Padding
IP Datagram Data (até 65536 bytes)
DA
SA
Type
0800
IP Header and Data
CRC
Ethernet Data Field
05-11-2007
Universidade do Minho
10
IP – Internet Protocol
Formato dos datagramas
Vers (4bit): versão do protocolo (valor 4 ou valor 6)
HLEN (4bit): tamanho do cabeçalho em blocos de 32 bits; valor mínimo é 5;
TOS (8bit): dá uma indicação em abstracto dos parâmetros de qualidade de
serviço pretendidos (atraso baixo, débito elevado, etc)
Total Length (16bit): tamanho total (cabeçalho+dados) em bytes; (máximo
é 65535, mas normalmente não passa dos 1500 bytes)
Identification (16bit): identificador único por datagrama e por cada
conexão que ajuda a identificar todos os fragmentos que devem ser
reagrupados
Flags (3bit): Bit 0 = 0 (reservado); Bit 1 = DF (don’t fragment); Bit 2 = MF
(more fragments);
Fragment Offset (13bit): define a que parte do datagrama pertence este
fragmento e mede-se em blocos de 64 bits (8 bytes)
05-11-2007
Universidade do Minho
11
IP – Internet Protocol
Formato dos datagramas
Time To Live (8bit): máximo tempo de vida do datagrama que é
decrementado a cada salto; quando o valor é zero o datagrama é destruído;
Protocol (8bit): usado para identificar qual o protocolo da camada acima a
quem devem ser entregues os dados transportados
Header Checksum (16bit): soma de verificação em complemento para 1
do cabeçalho (recalculado em cada salto por causa do TTL)
IP Options (opcional e de tamanho variável):
- Security
- Loose Source Rounting
- Strict Source Routing
- Record Route
- Stream ID
- Internet Timestamp
05-11-2007
Universidade do Minho
12
IP – Internet Protocol
Fragmentação e reagrupamento
As ligações de rede têm diferentes
MTU (max.transfer unit) – tamanho
máximo da trama da camada de
ligação
Diferentes tipos de ligação implicam
diferentes MTUs
Um datagrama IP “demasiado
grande” é dividido em vários
fragmentos dentro da rede
Um datagrama transforma-se em
vários datagramas
A junção é efectuada apenas no nó
destino
Existem no cabeçalho IP um
conjunto de campos para identificar
e ordenar fragmentos.
05-11-2007
fragmentaç
fragmentação
entrada: um
grande datagrama
saída: três
pequenos
datagrams
reagrupamento
Fonte: Computer Networking: A Top-Down Approach
Featuring the Internet, J. Kurose, Addison-Wesley, 2001
Universidade do Minho
13
IP – Internet Protocol
Fragmentação e reagrupamento
length
=4000
ID
=x
fragflag
=0
offset
=0
Um grande datagrama transforma-se
em vários pequenos datagramas
length
=1500
ID
=x
fragflag
=1
offset
=0
length
=1500
ID
=x
fragflag
=1
offset
=1480
length
=1040
ID
=x
fragflag
=0
offset
=2960
05-11-2007
Universidade do Minho
14
IP – Internet Protocol
Endereçamento
VERS
HLEN
Total Length
TOS
Flags
Identification
Time to Live
Fragment Offset
Header Checksum
Protocol
Source IP address
Destination IP address
IP Options (may be null)
Padding
IP Datagram Data (up to 65,535 bytes)
05-11-2007
Universidade do Minho
15
IP – Internet Protocol
Endereçamento
Endereço IP: identificador de 32bits por interface do sistema
terminal ou encaminhador
Interface: ligação entre o
sistema terminal ou o
encaminhador e a ligação física
Os encaminhadores têm
tipicamente múltiplas interfaces
Os sistemas terminais podem ter
múltiplas interfaces
Os endereços IP associam-se a
interfaces (não a sistemas
terminais ou encaminhadores)
Interligações de rede com 3 redes IP
223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4
223.1.1.3
223.1.2.9
223.1.3.27
223.1.2.2
223.1.3.2
223.1.3.1
Fonte: Computer Networking: A Top-Down Approach Featuring
the Internet, J. Kurose, Addison-Wesley, 2001
05-11-2007
Universidade do Minho
16
IP – Internet Protocol
Endereçamento
Endereço IP:
Parte da Rede (bits mais significativos
Parte do Sistema Terminal (bits menos significativos)
O que é uma Rede ? (perspectiva dos endereços IP)
interfaces de dispositivos com a mesma “Parte de Rede”
mutuamente e fisicamente atingíveis sem intervenção de um encaminhador
223.1.1.1 = 11011111 00000001 00000001 00000001
223
05-11-2007
1
1
Universidade do Minho
1
17
IP – Internet Protocol
Endereçamento
Sistema com 6 redes interligadas
223.1.1.2
223.1.1.1
223.1.1.4
223.1.1.3
Fonte: Computer Networking:
A Top-Down Approach Featuring
the Internet, J. Kurose,
Addison-Wesley, 2001
223.1.7.0
223.1.9.2
Endereçamento IP
223.1.9.1
223.1.7.1
223.1.8.1
223.1.8.0
223.1.2.6
223.1.2.1
223.1.3.27
223.1.2.2 223.1.3.1
05-11-2007
223.1.3.2
Universidade do Minho
18
IP – Internet Protocol
Endereçamento
130.1.1.0
130.1.1.254
Este segmento (subrede)
apenas tem duas estações
(os dois routers)
130.1.2.50
130.1.2.0
130.1.2.82
Não são
permitidas
subredes
não-contiguas
130.1.3.0
130.1.3.49
130.1.3.200
130.1.1.0
130.1.4.0
05-11-2007
Universidade do Minho
19
IP – Internet Protocol
Endereçamento
Múltiplas subredes no mesmo interface
Tabela de encaminhamento
do router para este interface
Router
A estação 205.1.20.1
remete ao router os
datagramas destinados
à estação 205.1.10.1
205.1.5.0 intf0
205.1.10.0 intf0
205.1.20.0 intf0
intf0
205.1.20.49
205.1.5.1
205.1.10.1
205.1.20.1
Estações
05-11-2007
Universidade do Minho
20
IP – Internet Protocol
Endereçamento
Endereçamento por classes (ou Classful )
esquema original, baseado na RFC 791
usa os primeiros bits como identificadores de classe
Endereçamento sem classes (ou Classless)
não considera os bits de classe utilizando uma máscara de 32 bits para
determinar o endereço de rede
permite encaminhamento mais eficiente por agregação de rotas,
designado por CIDR (Classless Internet Domain Routing)
tabelas de encaminhamento mais pequenas
05-11-2007
as rotas são agregadas por grupos de endereços adjacentes
usado pelas tabelas de encaminhamento de ISPs
Universidade do Minho
21
IP – Internet Protocol
Endereçamento (Classfull)
Identificador
da classe
Parte do Endereço de Rede
Parte do Endereço de Estação
Classe A
0
7 bits de endereço de rede
24 bits de endereço de estação
Classe B
10
14 bits de endereço de rede
16 bits de endereço de estação
Classe C
110
21 bits de endereço de rede
8 bits endereço de estação
Classe D
1110
Endereços Multicast no intervalo 224.0.0.0 - 239.255.255.255
Classe E
11110
Classe E – Reservado para utilização futura
05-11-2007
Universidade do Minho
22
IP – Internet Protocol
Endereçamento (Classfull)
Endereços IPv4 por classes
Classe
A
B
C
redes
(1 byte)
126
(1-126)
16.384
(128-191)
2.097.152
(192-223)
hosts/rede
16.277.214
65.354
254
reservado
host a 0s ou 1s
host a 0s ou 1s
host a 0s ou 1s
º
05-11-2007
Universidade do Minho
D
(224-239)
23
IP – Internet Protocol
Endereçamento (Classfull)
Máscara de endereço
Máscara: padrão que conjugado com o endereço IP, devolve a
parte do endereço de rede (ou sub-rede)
No endereçamento por classes as máscaras são:
Classe A: 11111111.00000000.00000000.00000000
notação decimal: 255.0.0.0
Classe B: 11111111.11111111.00000000.00000000
notação decimal: 255.255.0.0
notação CIDR: /8
notação CIDR: /16
Classe C: 11111111.11111111.11111111.00000000
notação decimal: 255.255.255.0
notação CIDR: /24
No endereçamento sem classes as máscaras têm qualquer outro
valor
05-11-2007
Universidade do Minho
24
IP – Internet Protocol
Endereçamento (Classfull)
Restrições a Endereços IP
Endereços reservados:
os primeiros 4 bits não podem ser 1
127.x.x.x é o endereço reservado para loopback
bits de host a 0s ou 1s são reservados (rede ou broadcast)
bits de subnet a 0s ou 1s são reservados
Endereços privados: atribuídos para internets privadas (sem conectividade global,
não devem ser visíveis nem são encaminhados na internet exterior), RFC1918:
05-11-2007
bloco 192.168.0.0 - 192.168.255.255
bloco 172.16.0.0 - 172.31.255.255
bloco 10.0.0.0 - 10.255.255.255
(prefixo 192.168 /16)
(prefixo 172.16 /12)
(prefixo 10 /8)
Universidade do Minho
25
IP – Internet Protocol
Endereçamento (Classless)
Endereçamento por classes (classfull):
Uso ineficiente do espaço de endereçamento, exaustão de espaço
Ex: uma classe B aloca 65K hosts mesmo que existam apenas 2K hosts!
Enderecamento sem classes (classless):
Parte de rede (do endereço) com comprimento arbitrário
Formato: a.b.c.d/x, em que x é o nº de bits correspondente à parte de rede
parte de
host
parte de rede
11001000 00010111 00010000 00000000
200.23.16.0/23
05-11-2007
Universidade do Minho
26
IP – Internet Protocol
Endereçamento (Classless)
Endereçamento sem classes
Considere-se o endereço IP 130.1.5.1
é o endereço da estação 5.1 da rede 130.1.0.0 (classe B)
Considere-se o endereço IP 130.1.5.1/24
é o endereço da estação 1 da sub-rede 130.1.5.0
(máscara com multiplo de 8 bits)
Rede
130.1
Estação
5.1
interpretação
original por classe
05-11-2007
Máscara de subrede
255.255.255.0
Rede Subrede Estação
130.1
5
1
interpretação
sem classe (CIDR)
Universidade do Minho
27
IP – Internet Protocol
Endereçamento (Classless)
Considere-se o endereço IP 130.1.9.1/21
é o endereço da estação 257 da sub-rede 130.1.8.0
Estação
Subrede
10 0 0 0 0 1 0
00000001
130
00001001
1
00000001
9
1
(máscara com 21 bits)
11111111.11111111.11111000.00000000
Máscara de Subnet 255.255.248.0
05-11-2007
Universidade do Minho
28
IP – Internet Protocol
Endereçamento (Subnetting)
Sub-redes (Subnetting)
permite melhor aproveitamento, organização e gestão do espaço de endereços
introduz outro nível hierárquico para routing
130.1.1.0
internet
exterior
130.1.2.0
internet local
130.1.0.0
130.1.3.0
130.1.254.0
05-11-2007
Universidade do Minho
29
Exercício
Exercício Subnetting
No exemplo anterior, em vez do endereço classe B 130.1.0.0, seria possível usar
o endereço 192.168.192.0? Justifique convenientemente.
A
internet
exterior
B
internet local
192.168.192.0
C
D
05-11-2007
Universidade do Minho
30
Exercícios
Considere o endereço IP 196.34.201.137. Se a usarmos a máscara
de rede 255.255.255.192, quais são os endereços de rede e de
difusão.
Considere o endereço IP da Classe B 140.140.0.0 e determine a
máscara de rede, que com base neste endereço, cria um conjunto de
subredes tal que cada uma delas pode ser usada para endereçar
2046 computadores. Quantas subredes pode criar?
Considere uma empresa à qual foi atribuído o endereço de rede
220.168.49.0. Proponha um esquema de endereçamento que permita
definir uma subrede com 50 computadores, três subredes com 20
computadores cada e uma pequena subrede para testes com 10
computadores. Indique as máscaras de rede e a gama de endereços
válidos para cada subrede.
05-11-2007
Universidade do Minho
31
IP – Internet Protocol
Reescrita de endereços (NAT: Network Address Translation)
Internet
Rede local
(ex: rede lá de casa)
10.0.0/24
10.0.0.1
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
Todos os datagramas que saiem
Todos os datagramas nesta rede
contêm, como habitualmente
endereços de origem e/ou de destino
na gama disponível 10.0.0/24
para a Internet são forçados a
usar o mesmo endereço de
origem: 138.76.29.7, e números
de porta origem distintos
05-11-2007
Universidade do Minho
32
IP – Internet Protocol
Reescrita de endereços (NAT: Network Address Translation)
Motivação para a rede local usar apenas um endereço Internet conhecido
com acesso global:
05-11-2007
Não é preciso gastar uma gama de endereços ao ISP: basta um!
Podem-se mudar os endereços da rede a qualquer momento sem ter de
avisar o mundo inteiro desse facto
Pode-se mudar de ISP sem mudar de endereços na rede local
Os equipamentos da rede local não são directamente endereçáveis do
exterior (protecção de segurança acrescida!)
Universidade do Minho
33
IP – Internet Protocol
Reescrita de endereços (NAT: Network Address Translation)
Implementação: router NAT
Datagramas que saiem: substituir o par (Endereço IP Origem, Nº Porta)
de todos os datagramas por (Endereço IP NAT, Novo Nº de Porta)
. . . os sistemas no exterior vão naturalmente endereçar os datagramas
de resposta para (Endereço IP NAT, Novo Nº de Porta)
Guardar numa tabela NAT todas as trocas que foramfeitas de pares
(Endereço IP Origem, Nº Porta) para (Endereço IP NAT, Novo Nº de Porta)
Datagramas que chegam: substituir (Endereço IP, Porta) pelo endereço
interno (Endereço IP Origem, Porta Origem) aramazenado na tabela NAT
05-11-2007
Universidade do Minho
34
IP – Internet Protocol
Reescrita de endereços (NAT: Network Address Translation)
2: router NAT muda
endereço origem do
datagrama de
10.0.0.1, 3345 para
138.76.29.7, 5001,
e actualiza tabela
NAT translation table
WAN side addr
LAN side addr
1: Sistema 10.0.0.1
envia datagrama para
128.119.40, 80
138.76.29.7, 5001 10.0.0.1, 3345
……
……
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
10.0.0.1
1
2
S: 138.76.29.7, 5001
D: 128.119.40.186, 80
10.0.0.4
10.0.0.2
138.76.29.7
S: 128.119.40.186, 80
D: 138.76.29.7, 5001
4
3
3: Chega resposta
endereçada a:
138.76.29.7, 5001
05-11-2007
S: 128.119.40.186, 80
D: 10.0.0.1, 3345
10.0.0.3
4: router NAT muda endereço
de destino de
138.76.29.7, 5001 para
10.0.0.1, 3345
Universidade do Minho
35
IP – Internet Protocol
Reescrita de endereços (NAT: Network Address Translation)
Porta é um campo da camada de transporte com 16-bit
60,000 conexões simultâneas com um único endereço!
NAT é muito controverso:
Viola independência entre camadas:
routers só devem poder mexer nos cabeçalhos de nível 3!
Viola o conceito fim-a-fim
Estado intermédio por conexão
As aplicações (P2P e outras) são obrigadas a ter o NAT em
consideração…
Não é a forma certa de resolver a escassez de endereços (IPv6)
Como endereçar servidores internos? (e-mail, web, etc)
05-11-2007
Universidade do Minho
36
IP – Internet Protocol
Endereçamento (Alocação dinâmica)
Hosts (parte de host):
hard-coded em ficheiro de sistema p/ admin
DHCP: Dynamic Host Configuration Protocol: obter endereço
dinamicamente: “plug-and-play”
host faz broadcast msg “DHCP discover”
servidor DHCP responde c/ msg “DHCP offer”
host pede endereço IP: msg “DHCP request”
servidor DHCP envia endereço: msg “DHCP ack”
05-11-2007
Universidade do Minho
37
IP – Internet Protocol
Endereçamento (Alocação dinâmica)
Servidor DHCP: 223.1.2.5
DHCP discover
Cliente
src : 0.0.0.0, 68
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654
DHCP offer
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddr: 223.1.2.4
transaction ID: 654
Lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68
dest:: 255.255.255.255, 67
yiaddr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
time
DHCP ACK
src: 223.1.2.5, 67
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 655
Lifetime: 3600 secs
05-11-2007
Universidade do Minho
38
IP – Internet Protocol
Endereçamento (Alocação dinâmica)
O servidor DHCP deve estar na mesma rede que o cliente. Se não
estiver, é necessário um agente DHCP-Relay (tipicamente um router)
que sirva de intermediário…
Um cliente pode receber ofertas de mais do que um servidor DHCP,
mas só pode escolher uma delas; a mensagem DHCP Request é
enviada de novo para o endereço de difusão para todos saberem qual
foi a oferta escolhida e anularem as reservas que fizeram
A mensagem de ACK é a única enviada por unicast, pois o
mapeamento entre endereço IP e endereço MAC já foi efectivado;
Uma curiosidade: O DHCP é a terceira geração de protocolos de
configuração de sistemas; Pode ser visto como uma extensão ao
BOOTP (protocolo de arranque para sistemas sem disco) que por sua
vez deriva do protocolo RARP (Reverse Address Resolution Protocol)
05-11-2007
Universidade do Minho
39
IP – Internet Protocol
Endereçamento (supernetting)
Network (parte de rede):
Alocado via espaço de endereçamento do ISP
Bloco do ISP
11001000 00010111 00010000 00000000
200.23.16.0/20
Organização 0
11001000 00010111 00010000 00000000
200.23.16.0/23
Organização 1
11001000 00010111 00010010 00000000
200.23.18.0/23
Organização 2
...
11001000 00010111 00010100 00000000
…..
….
200.23.20.0/23
….
Organização 7
11001000 00010111 00011110 00000000
200.23.30.0/23
05-11-2007
Universidade do Minho
40
IP – Internet Protocol
Endereçamento hierárquico – agregação de rotas
Endereçamento Hierárquico permite anúncios eficientes
de informação de encaminhamento:
Organização 0
200.23.16.0/23
Organização 1
“Qualquer endereço
começado por
200.23.18.0/23
200.23.16.0/20”
Organização 2
200.23.20.0/23
Organização 7
.
.
.
.
.
.
ISP X
Internet
200.23.30.0/23
ISPs-R-Us
05-11-2007
Universidade do Minho
Começado por
199.31.0.0/16”
41
IP – Internet Protocol
Endereçamento hierárquico – rotas mais específicas
ISPs-R-Us tem uma rota mais específica para a Organização 1
Organização 0
200.23.16.0/23
“Qualquer endereço
começado por
200.23.16.0/20”
Organização 2
200.23.20.0/23
Organização 7
.
.
.
.
.
.
ISP X
Internet
200.23.30.0/23
Começado por
ISPs-R-Us
199.31.0.0/16
ou
Organização 1
200.23.18.0/23
200.23.18.0/23
05-11-2007
Universidade do Minho
42
IP – Internet Protocol
Encaminhamento – da origem ao destino (I)
Tabela encaminhamento de A
Dest. Net. next router #hops
Datagrama IP:
misc source dest
fields IP addr IP addr
data
223.1.1
223.1.2
223.1.3
O datagrama não é modificado,
desde a origem até ao destino
223.1.1.4
223.1.1.4
1
2
2
A 223.1.1.1
223.1.1.2
223.1.1.4
223.1.2.1
223.1.2.9
B
223.1.1.3
223.1.3.1
223.1.3.27
223.1.2.2
E
223.1.3.2
Fonte: Computer Networking: A Top-Down Approach
Featuring the Internet, J. Kurose, Addison-Wesley, 2001
05-11-2007
Universidade do Minho
43
IP – Internet Protocol
Encaminhamento – da origem ao destino (II)
Dest. Net. next router #hops
misc
data
fields 223.1.1.1 223.1.1.3
223.1.1
223.1.2
223.1.3
Partindo de A, datagrama IP endereçado a B:
Buscar endereço de rede de B
B está na mesma rede de A
datagrama directamente para B
1
2
2
223.1.1.4
223.1.1.4
A 223.1.1.1
223.1.2.1
B e A estão ligados directamente
223.1.1.2
223.1.1.4
223.1.2.9
B
223.1.1.3
223.1.3.27
223.1.2.2
E
223.1.3.2
223.1.3.1
Fonte: Computer Networking: A Top-Down Approach
Featuring the Internet, J. Kurose, Addison-Wesley, 2001
05-11-2007
Universidade do Minho
44
IP – Internet Protocol
Encaminhamento – da origem ao destino (III)
misc
data
fields 223.1.1.1 223.1.2.2
Dest. Net. next router #hops
223.1.1
223.1.2
223.1.3
Partindo de A, destino E:
Busca endereço de rede de E
E está numa rede diferente
223.1.1.4
223.1.1.4
1
2
2
A 223.1.1.1
A, E sem ligação directa
Tabela encaminhamento: próximo nó é
223.1.1.4
envia datagrama para router 223.1.1.4
datagrama chega a 223.1.1.4
….
223.1.2.1
223.1.1.2
223.1.1.4
223.1.2.9
B
223.1.1.3
223.1.3.1
223.1.3.27
223.1.2.2
E
223.1.3.2
Fonte: Computer Networking: A Top-Down Approach
Featuring the Internet, J. Kurose, Addison-Wesley, 2001
05-11-2007
Universidade do Minho
45
IP – Internet Protocol
Encaminhamento – da origem ao destino (IV)
misc
data
fields 223.1.1.1 223.1.2.2
Chega ao nó 223.1.4, com destino
223.1.2.2
Busca endereço de rede de E
E está na mesma rede da interface
223.1.2.9
Dest.
next
network router #hops interface
223.1.1
223.1.2
223.1.3
A 223.1.1.1
223.1.1.4
223.1.2.9
223.1.3.27
223.1.2.1
Encaminhador e nó E ligados
directamente
envia datagrama para 223.1.2.2 ( via
interface 223.1.2.9)
1
1
1
223.1.1.2
223.1.1.4
223.1.2.9
B
223.1.3.27
223.1.1.3
223.1.2.2
E
223.1.3.2
223.1.3.1
Fonte: Computer Networking: A Top-Down Approach
Featuring the Internet, J. Kurose, Addison-Wesley, 2001
05-11-2007
Universidade do Minho
46
Exercício
Construa a tabela de encaminhamento de cada um dos encaminhadores (A, B e
C) da rede ilustrada.
internet local
130.1.0.0
A
internet
exterior
05-11-2007
B
Universidade do Minho
C
47
Exercício
Observe e interprete a tabela de encaminhamento do seu sistema.
Usar o comando “netstat –n –r “ em qualquer sistema operativo.
05-11-2007
Universidade do Minho
48
TCP/IP
ARP (Protocolo de Resolução de Endereços)
ARP (Address Resolution Protocol) mapeia um endereço de
rede no endereço MAC (48 bytes) que lhe corresponde.
RFC 826: An Ethernet Address Resolution Protocol
Operação:
local à LAN
não usa encapsulamento IP
o EtherType ARP é: 0x0806
ARP-PDUs: ARP Request e ARP Reply
05-11-2007
Universidade do Minho
49
TCP/IP
2 bytes
Tipo de hardware
2
Tipo de protocolo
1+1
Comp do endereço hardware Comp do endereço protocolar
Operação
2
6
Endereço de Hardware da estação de origem (sender)
4
Endereço Protocolar da estação de origem (sender)
6
Endereço de Hardware da estação de destino (target)
4
Endereço Protocolar da estação de destino (target)
DA SA
CRC
Data
TF
DA - Destination Address
05-11-2007
28 bytes
ARP (Protocolo de Resolução de Endereços)
SA - Source Address
TF - Type Field
Universidade do Minho
50
TCP/IP
ARP (Protocolo de Resolução de Endereços)
1.Quem tem o endereço MAC
da estação 129.1.1.4?
3.Aqui está o meu
Endereço MAC
3.ARP
Reply
1.ARP
Request
129.1.1.1
4.ARP Reply
Aceite
B Eu
não
C Eu
não
2.ARP Request
Ignorado
2.ARP Request
Ignorado
129.1.1.4
2.Sou eu
[Naugle98]
ARP Request é enviado em broadcast
ARP Reply é enviado em unicast à estação requerente, que mantém
temporariamente a resolução na cache de ARP
05-11-2007
Universidade do Minho
51
TCP/IP
ICMP (Internet Control Message Protocol )
Protocolo usado por sistemas
terminais e encaminhadores
para trocarem informação do
nível de rede
reportar erros: nó, rede, porta
ou protocolo inatingíveis,
echo request/reply (utilizado
pelo ping)
TTL expired (usado pelo
traceroute)
Camada de rede “sobre” o IP:
Mensagens ICMP encapsuladas
em datagramas IP
Mensagem ICMP: tipo, código,
os primeiros 8 primeiros bytes
do datagrama IP responsável
pelo erro
05-11-2007
Type
0
3
3
3
3
3
3
4
Code
0
0
1
2
3
6
7
0
8
9
10
11
12
0
0
0
0
0
description
echo reply (ping)
dest. network unreachable
dest host unreachable
dest protocol unreachable
dest port unreachable
dest network unknown
dest host unknown
source quench (congestion
control - not used)
echo request (ping)
route advertisement
router discovery
TTL expired
bad IP header
Universidade do Minho
52
TCP/IP
ICMP (Internet Control Message Protocol )
Tipo (8)
Código (8)
Verificação de paridade (16)
Número de sequência
Enventuais dados ICMP
DA SA TF
05-11-2007
IP Header
Mensagem ICMP
Universidade do Minho
CRC
53
TCP/IP
ICMP (Internet Control Message Protocol )
192.1.1.1
192.1.1.2
Echo Reply
192.1.2.2
192.1.2.1
Echo Request
PING 192.1.1.2
05-11-2007
Universidade do Minho
54
Exercício
Alguns comandos:
% ifconfig –a
% arp –a
% ping <host>
% netstat –n –r
Exercício exemplo:
Começar por ver a tabela de ARP e a tabela de routing…
Activar o Ethereal e pô-lo a capturar todos os pacotes…
Fazer ping para um sistema da mesma rede ainda não contactado…
Observar a troca de mensagens ARP e o resultado na tabela de ARP
05-11-2007
Universidade do Minho
55
Versões IP
IP v 1-3 Definidas e substituídas
IP v4 – Versão actual
IP v5 – streams protocol (não usado, diferentes objectivos)
IP v6 – Desenhado para substituir o IPv4
Durante o desenvolvimento designava-se por IPng (Next
Generation)
05-11-2007
Universidade do Minho
56
IPv6
Motivação inicial: Espaço de endereços de 32 bits completamente
alocado em 2008
Motivação Adicional:
Formato do cabeçalho contribui para o aumento da velocidade de
processamento e re-envio dos pacotes.
Alterações no formato do cabeçalho para facilitar a implementação
de QoS
Um novo tipo de endereço: endereço “anycast”, que possibilita o
envio de informação para um nó dentro de um grupo
Formato do datagrama
05-11-2007
Cabeçalho com o tamanho fixo (40 bytes)
Não é permitida a fragmentação de pacotes (excepto na origem)
Universidade do Minho
57
Cabeçalho IPv4
20 bytes + opções : 13 campos, incluindo 3 flag bits
Changed
0 bits
4
Ver
8
IHL
16
24
Service Type
Identifier
Time to Live
Removed
31
Total Length
Flags
Protocol
Fragment Offset
Header Checksum
32 bit Source Address
32 bit Destination Address
Options and Padding
05-11-2007
Universidade do Minho
58
Cabeçalho IPv6
40 bytes, 8 campos
0
4
Version
12
Class
16
24
31
Flow Label
Payload Length
Next Header
Hop Limit
128 bit Source Address
128 bit Destination Address
05-11-2007
Universidade do Minho
59
Novos Campos do IPv6
Version
4 bits
Priority/Class
8 bits
Espírito semelhante ao do TOS no IPv4
Permite atribuir diferentes prioridades a cada datagrama
Flow Label
24 bits
Identifica um fluxo individual de tráfego que requer o mesmo tratamento
da rede.
Pode ser usado com o RSVP (protocolo de reserva de recursos a estudar
mais tarde)
05-11-2007
Universidade do Minho
60
Campos que se mantêm
Payload length
Next Header
Substitui o total length; tamanho da “carga” + cabeçalhos
opcionais;
Semelhante ao campo Protocol do IPv4 (usado para identificar
o protocolo de Transporte) mas também protocolos de nível 3
As opções do IPv6 são também tratadas com este campo,
identificando cabeçalhos adicionais…
Hop Limit
05-11-2007
Semelhante ao campo Time-To-Live do IPv4, mas agora
definitivamente encarado como um número limite de saltos…
Universidade do Minho
61
Outras diferenças entre o IPv6 e o IPv4
Checksum: retirado inteiramente para reduzir o tempo de
processamento em cada nó
Opções: são permitidas mas fora do cabeçalho
ICMPv6: uma nova versão do protocolo ICMP
Novos tipos de mensagens, por exemplo. “Packet Too Big”
multicast group management functions
Procura agrupar as funções que existiam no ICMPv4 (informação e
erro) com as de resolução de endereços (ARP no IPv4) e a gestão
de grupos multicast (IGMP no IPv4); é também usado no processo
de auto-configuração stateless;
05-11-2007
Universidade do Minho
62
Opções do IPv6
Extensões ao cabeçalho
05-11-2007
0 - hop-by-hop Option Header
43 - Routing Header
44 - Fragmentation Header
51 - Authentication Header
59 - No Next Header
60 - Destination Options Header
Universidade do Minho
63
Opções do IPv6
Extensões: Hop-by-Hop Option Header
Next header
Header extension length
Options
Jumbo payload
Pacotes com tamanho superior a 216 = 65,535 bytes (acima de 4 biliões!)
Router alert
Avisa o router que os pacotes lhe interessam, chamando a sua atenção
para eles; os que não incluem esta opção são simplesmente reenviados;
Inclui suporte para reserva de recursos (RSVP)
05-11-2007
Universidade do Minho
64
Opções do IPv6
Extensões: Fragment Header
05-11-2007
A fragmentação só é admitida no sistema origem!
Não ocorre fragmentação nos routers intermédios
O sistema origem deve de executar procedimentos de descoberta
do percurso para encontrar o MTU (Maximum transfer unit) mínimo
do percurso e fragmentar os pacotes de acordo com esse MTU
O MTU mínimo por defeito é 1280 octetos
Campos:
Next Header(8bits), reserved(8bits), Fragment Offset(13bits),
Reserved(2bit), More Flag(1bit), Identification(32bits)
Universidade do Minho
65
Opções do IPv6
Extensões: Routing Header
Permite encaminhamento determinado pelo origem, tal como
opção semelhante existente no IPv4;
Cabeçalho inclui lista de routers intermédios a serem visitados no
percurso;
Campos:
Next Header(8bits), Header Extension Length(8bits), Routing
Type(8bits), Segments Left(8bits)
05-11-2007
Universidade do Minho
66
Extensões ao cabeçalho IPv6
IPv6 Header TCP Header
Application Data
Next = TCP
IPv6 Header Routing Hdr
Next = Routing
05-11-2007
TCP Header
Application Data
Next = TCP
IPv6 Header Security Hdr
Fragment Hdr TCP Header
Next = Security Next = Frag
Next = TCP
Universidade do Minho
Data
Frag
67
IPv6: melhor desempenho
Tamanho fixo do cabeçalho
Cabeçalho com menor número de campos e sem checksum
Permite um processamento mais rápido dos pacotes
Controlo de Erros poderá ser efectuado pelas camadas superiores
Processamento Eficiente das Opções
Os diferentes campos só são processados se a opção estiver
presente
A maior parte das opções só são processadas no nó destino
Não há fragmentação no interior da rede
05-11-2007
Universidade do Minho
68
IPv6 – Modelo de Endereçamento
Os endereços são atribuídos às interfaces de rede
Uma interface pode ter múltiplos endereços
Os endereços têm um âmbito
À semelhança do que acontece no IPv4
Link Local
Site Local
Global
Global
Site-Local
Link-Local
Os endereços têm um tempo de vida
05-11-2007
Universidade do Minho
69
Endereços IPv6
128 bits = 6.65 x 1023 endereços de rede para cada m2 da
superfície da Terra.
Formato = 8 partes de 16 bits que pode ser abreviado
1) formato normal
FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
2) Os zeros à esquerda não são necessários
1080:0:0:0:8:800:200C:417A
3) 16 bits consecutivos em zero são abreviados com ::
Seguindo esta regra, uma única sequência de vários blocos de 16 a
zero pode ser abreviada:
1080::8:800:200C:417A
05-11-2007
Universidade do Minho
70
Endereços
Endereços Flexíveis
Constituídos por duas partes de tamanho variável: o prefixo e a identificação da
interface
Exemplos de representação de prefixos:
05-11-2007
4000::/3
provider-based unicast address
5A00::/8
atribuído pela InterNIC
5A01:0200::/24
fornecedor de serviço 0x0102
5A01:0203:0400::/40
tipo de assinante 0x0340
5A01:0203:0405::/48
assinante 0x05
5A01:0203:0405:0607:0809::/80 sub-rede 0x06070809
Universidade do Minho
71
Endereços IPv6
Para evitar uma explosão nas tabelas de encaminhamento é
usado endereçamento hierárquico
Os bits mais significativos representam o nível mais alto da
hierarquia.
Exemplo:
3 bits = formato do prefixo
5 bits = identificação da autoridade de registo
16 bits = identificador do fornecedor de serviço
16 bits = tipo de assinante
8 bits = identificador do assinante
32 bits = identificador da subrede
bits restantes definem um sistema particular na subrede
05-11-2007
Universidade do Minho
72
Endereços Especiais
0::/8
100::/8
200::/7
400::/7
4000::/3
8000::/3
FE80::/10
FEC0::/10
FF00::/8
Loopback
05-11-2007
0000 0000
0000 0001
0000 001
0000 010
010
100
1111 1110 10
1111 1110 11
1111 1111
0::1
reserved
unassigned
ISO network address
NOVEL
provider based unicast
geografic based unicast
Local link address
Site local address
Multicast address
Universidade do Minho
73
Endereços Especiais
Previstos dois tipos especiais de endereços IPv6 para
suportar a transição de IPv4 para IPv6
IPv4 - compatível
pode ser convertido de e para o formato IPv4
formados adicionando-se 96 bits em zero ao endereço de 32 bits
Exemplo: IPv4 = 1.2.3.4 IPv6= ::0102:0304 (ou ::1.2.3.4)
IPv4 - mapeado
05-11-2007
indicam sistemas que não suportam IPv6
usado para que sistemas IPv6 comuniquem com sistemas que só usam IPv4.
Adiciona-se 80 bits em zero, 16 bits em um aos 32 originais
Exemplo: IPv4 = 4.3.2.1 IPv6 = ::FFFF:0403:0201 (ou ::FFFF:4.3.2.1)
Universidade do Minho
74
Atribuição dos Endereços em IPv6
Auto-configuração (plug-and-play).
05-11-2007
O primeiro endereço a ser obtido é o endereço de local link.
Tem um formato genérico do tipo FE80:0:0:0:0:xxxx:xxxx:xxxx;
A parte da identificação da interface é obtida com base no seu endereço de
nível 2
Este endereço permite uma comunicação imediata com todos os sistemas
existentes na rede local
A partir daí e através de mensagens ICMPv6 trocadas entre o sistema terminal e
o encaminhador da rede local são obtidos os outros endereços.
O encaminhador anuncia o prefixo que é concatenado com o endereço de
nível 2 de forma a obter-se um endereço global único.
Outra alternativa passa pela utilização do DHCP (autoconfiguração statefull)
Universidade do Minho
75
Atribuição dos Endereços em IPv6
Passos da auto-configuração stateless:
1.
2.
3.
Construir um endereço único de âmbito Link-Local para o interface:
Os primeiros 10 bits são “1111 1110 10”; seguem-se 54 zeros;
Os últimos 64 bits são inventados ou deduzidos do MAC Address,
inserindo FF-FE no meio do endereço MAC;
Mac: 39-A7-94-07-CB-D0 Parte local: 3BA7:94FF:FE07:CBD0
O 7º bit do 1º byte é também mudado para 1 (bit universal/local)
Testar se o endereço é único:
Enviar uma mensagem ICMPv6 Neighbor-Discovery com endereço
origem :: e destino o endereço criado, para verificar se obtém resposta;
Se o endereço estiver atribuído recebe Neighbor-Advertisement;
Assumir o endereço Link-Local, caso o teste passe;
05-11-2007
Universidade do Minho
76
Atribuição dos Endereços em IPv6
Passos da auto-configuração stateless:
4.
Contactar o router local com mensagem ICMPv6 Router-Discovery:
5.
Os router anunciam-se periodicamente com Router-Advertisement,
mas essas mensagens podem ser solicitadas com pedido explícito
Router-Discovery
Seguir as recomendações do router local:
Endereço do servidor DHCPv6 a contactar para prosseguir configuração
statefull
6.
05-11-2007
Envio de um conjunto de prefixos a juntar à parte local do endereço
formando novos endereços IPv6
Configuração de endereços de âmbito Site-Local e Global com base
nos endereços fornecidos
Universidade do Minho
77
Vantagens do IPv6
Maior Espaço de Endereçamento
Um datagrama mais eficiente e extensível
Encaminhamento eficiente através da agregação de rotas
Auto-configuração
Segurança
05-11-2007
Universidade do Minho
78
Transição do IPv4 para o IPv6
Nem todos os encaminhadores podem ser actualizados
simultaneamente
sem “flag days” (será em 2010?)
De que forma será possível ter a rede a funcionar simultaneamente
com encaminhadores IPv6 e IPv4?
Duas abordagens possíveis
Stack Dupla: alguns encaminhadores implementam as duas stacks
e podem converter o formato IPv4 em IPv6 e vice-versa
Túneis: Entre encaminhadores IPv4, o datagrama IPv6 é
transportado na parte dos dados do datagrama IPv4
05-11-2007
Universidade do Minho
79
Stack Dupla
Fonte: Computer Networking: A Top-Down
Approach Featuring the Internet, J. Kurose,
Addison-Wesley, 2001
05-11-2007
Universidade do Minho
80
Túneis
IPv6 “encapsulado” no IPv4 sempre que necessário
Fonte: Computer Networking: A Top-Down
Approach Featuring the Internet, J. Kurose,
Addison-Wesley, 2001
05-11-2007
Universidade do Minho
81
Exercício
Considere a topologia apresentada na figura abaixo.
70
computadores
A
B
10
computadores
10
computadores
D
C
10
computadores
Sem se preocupar com os endereços de interligação, proponha um esquema que
lhe permita endereçar os computadores das redes locais associadas aos
diferentes encaminhadores a partir da gama 193.145.21.0/25.
Usando uma gama de endereços privados (por exemplo: a gama
192.168.0.0/16) proponha um esquema para os endereços de interligação.
05-11-2007
Universidade do Minho
82
Download