Вы находитесь на странице: 1из 42

Nível de Rede

Redes de Computadores I
2007/2008

Sumário
 Interligação de Redes
 Encapsulamento na pilha TCP/IP
 Datagramas IP versão 4 (IPv4)
 Cabeçalhos IPv4
 Fragmentação e reagrupamento
 Endereçamento (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
 especificações publicadas e bem conhecidas
 abertura completa ao desenvolvimento de código
 Portável
 independência do sistema operativo e plataforma
 quaisquer sistemas podem comunicar
 Estável e Robusta
 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 TELNET FTP SMTP DNS SNMP DHCP


Apresentação
Sessão
RIP OSPF BGP

Transporte RTP Transmission User Datagram


RTCP Control Protocol Protocol
IGMP ICMP

Rede Internet Protocol

ARP

Ligação Token Bus Token Ring


Ethernet FDDI
Físico

05-11-2007 Universidade do Minho 7


Interligação de Redes
Encapsulamento TCP/IP
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
Estação
de dados do PDU da camada N-1
origem

encapsulamento
desencapsulamento

Estação PDU Aplicação Dados Aplicação


destino Segmento TCP CT Dados TCP
Datagrama IP CI Segmento TCP IP
Pacote LLC CL Datagrama IP Ligação
Trama MAC CM Pacote LLC CRC Físico

CM CRC Meio de
transmissão

05-11-2007 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:
 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

05-11-2007 Universidade do Minho 9


IP – Internet Protocol
Formato dos datagramas

32 bits

Vers HLEN TOS Total Length


Identification Flags Fragment Offset
20 bytes

Time to Live Protocol Header Checksum


Source IP address
Destination IP address
IP Options (pode ser nulo) Padding
IP Datagram Data (até 65536 bytes)

Type
DA SA IP Header and Data CRC
0800
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 fragmentaç


fragmentação
MTU (max.transfer unit) – tamanho entrada: um
máximo da trama da camada de grande datagrama
ligação saída: três
 Diferentes tipos de ligação implicam
pequenos
datagrams
diferentes MTUs
 Um datagrama IP “demasiado
grande” é dividido em vários
fragmentos dentro da rede reagrupamento
 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. Fonte: Computer Networking: A Top-Down Approach
Featuring the Internet, J. Kurose, Addison-Wesley, 2001

05-11-2007 Universidade do Minho 13


IP – Internet Protocol
Fragmentação e reagrupamento

length ID fragflag offset


=4000 =x =0 =0

Um grande datagrama transforma-se


em vários pequenos datagramas

length ID fragflag offset


=1500 =x =1 =0

length ID fragflag offset


=1500 =x =1 =1480

length ID fragflag offset


=1040 =x =0 =2960

05-11-2007 Universidade do Minho 14

IP – Internet Protocol
Endereçamento

VERS HLEN TOS Total Length

Identification Flags Fragment Offset

Time to Live Protocol Header Checksum

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 32- Interligações de rede com 3 redes IP


bits por interface do sistema
terminal ou encaminhador
223.1.1.1
 Interface: ligação entre o
sistema terminal ou o 223.1.2.1
encaminhador e a ligação física 223.1.1.2
 Os encaminhadores têm 223.1.1.4 223.1.2.9
tipicamente múltiplas interfaces
 Os sistemas terminais podem ter 223.1.2.2
223.1.1.3 223.1.3.27
múltiplas interfaces
 Os endereços IP associam-se a
interfaces (não a sistemas
terminais ou encaminhadores)
223.1.3.1 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 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 1 1 1

05-11-2007 Universidade do Minho 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, 223.1.9.2 223.1.7.0
Addison-Wesley, 2001

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.3.27

223.1.2.1 223.1.2.2 223.1.3.1 223.1.3.2

05-11-2007 Universidade do Minho 18

IP – Internet Protocol
Endereçamento

130.1.1.0

Este segmento (subrede) 130.1.1.254


apenas tem duas estações
(os dois routers)
130.1.2.50 Não são
130.1.2.0 permitidas
130.1.2.82 subredes
não-contiguas
130.1.3.49 130.1.3.0
130.1.3.200

130.1.4.0 130.1.1.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

205.1.5.0 intf0 A estação 205.1.20.1


205.1.10.0 intf0 remete ao router os
205.1.20.0 intf0 datagramas destinados
à estação 205.1.10.1
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
 as rotas são agregadas por grupos de endereços adjacentes
 usado pelas tabelas de encaminhamento de ISPs

05-11-2007 Universidade do Minho 21


IP – Internet Protocol
Endereçamento (Classfull)

Identificador Parte do Endereço de Rede Parte do Endereço de Estação


da classe
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 D
redes 126 16.384 2.097.152
(1 byte)
º (1-126) (128-191) (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 (224-239)

05-11-2007 Universidade do Minho 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 notação CIDR: /8
 Classe B: 11111111.11111111.00000000.00000000
notação decimal: 255.255.0.0 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:
 bloco 192.168.0.0 - 192.168.255.255 (prefixo 192.168 /16)
 bloco 172.16.0.0 - 172.31.255.255 (prefixo 172.16 /12)
 bloco 10.0.0.0 - 10.255.255.255 (prefixo 10 /8)

05-11-2007 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
parte de rede
host
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 Estação Máscara de subrede Rede Subrede Estação


130.1 5.1 255.255.255.0 130.1 5 1

interpretação interpretação
original por classe sem classe (CIDR)

05-11-2007 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

Subrede Estação
10 0 0 0 0 1 0 00000001 00001001 00000001

130 1 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 local


130.1.0.0

internet 130.1.2.0 130.1.3.0


exterior

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 local
192.168.192.0

internet B C
exterior

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


para a Internet são forçados a contêm, como habitualmente
usar o mesmo endereço de endereços de origem e/ou de destino
origem: 138.76.29.7, e números na gama disponível 10.0.0/24
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:
 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!)

05-11-2007 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)

NAT translation table


2: router NAT muda 1: Sistema 10.0.0.1
WAN side addr LAN side addr
endereço origem do envia datagrama para
138.76.29.7, 5001 10.0.0.1, 3345 128.119.40, 80
datagrama de
…… ……
10.0.0.1, 3345 para
138.76.29.7, 5001, S: 10.0.0.1, 3345
e actualiza tabela D: 128.119.40.186, 80

1 10.0.0.1
S: 138.76.29.7, 5001
2 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: 10.0.0.1, 3345
4
S: 128.119.40.186, 80
D: 138.76.29.7, 5001 3 10.0.0.3
4: router NAT muda endereço
3: Chega resposta de destino de
endereçada a: 138.76.29.7, 5001 para
138.76.29.7, 5001 10.0.0.1, 3345
05-11-2007 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 Cliente


DHCP discover
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
time Lifetime: 3600 secs
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
200.23.18.0/23 começado por
Organização 2 200.23.16.0/20”
200.23.20.0/23 . ISP X
.
. . Internet
.
Organização 7 .
200.23.30.0/23
Começado por
ISPs-R-Us
199.31.0.0/16”

05-11-2007 Universidade do Minho 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
Organização 2 200.23.16.0/20”
200.23.20.0/23 . ISP X
.
. . Internet
.
Organização 7 .
200.23.30.0/23
Começado por
ISPs-R-Us
199.31.0.0/16
Organização 1 ou
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)

Datagrama IP: Tabela encaminhamento de A


misc source dest Dest. Net. next router #hops
data
fields IP addr IP addr 223.1.1 1
 O datagrama não é modificado, 223.1.2 223.1.1.4 2
desde a origem até ao destino 223.1.3 223.1.1.4 2
A 223.1.1.1
223.1.2.1
223.1.1.2
223.1.1.4 223.1.2.9
B
223.1.2.2
223.1.1.3 223.1.3.27 E
223.1.3.1 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)

misc Dest. Net. next router #hops


data
fields 223.1.1.1 223.1.1.3 223.1.1 1
223.1.2 223.1.1.4 2
Partindo de A, datagrama IP endereçado a B:
 Buscar endereço de rede de B
223.1.3 223.1.1.4 2
 B está na mesma rede de A
A 223.1.1.1
 datagrama directamente para B
 B e A estão ligados directamente 223.1.2.1
223.1.1.2
223.1.1.4 223.1.2.9
B
223.1.2.2
223.1.1.3 223.1.3.27 E

223.1.3.1 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 44

IP – Internet Protocol
Encaminhamento – da origem ao destino (III)

misc Dest. Net. next router #hops


data
fields 223.1.1.1 223.1.2.2
223.1.1 1
Partindo de A, destino E: 223.1.2 223.1.1.4 2
 Busca endereço de rede de E 223.1.3 223.1.1.4 2
 E está numa rede diferente
 A, E sem ligação directa A 223.1.1.1
 Tabela encaminhamento: próximo nó é
223.1.2.1
223.1.1.4 223.1.1.2
 envia datagrama para router 223.1.1.4 223.1.1.4 223.1.2.9
 datagrama chega a 223.1.1.4 B
 …. 223.1.2.2
223.1.1.3 223.1.3.27 E

223.1.3.1 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 Dest. next


data network router #hops interface
fields 223.1.1.1 223.1.2.2
223.1.1 - 1 223.1.1.4
Chega ao nó 223.1.4, com destino 223.1.2 - 1 223.1.2.9
223.1.2.2
 Busca endereço de rede de E
223.1.3 - 1 223.1.3.27
 E está na mesma rede da interface A 223.1.1.1
223.1.2.9
223.1.2.1
 Encaminhador e nó E ligados 223.1.1.2
directamente 223.1.1.4 223.1.2.9
 envia datagrama para 223.1.2.2 ( via B
interface 223.1.2.9) 223.1.2.2
223.1.1.3 223.1.3.27 E

223.1.3.1 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 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
B C

05-11-2007 Universidade do Minho 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
ARP (Protocolo de Resolução de Endereços)

2 bytes Tipo de hardware


2 Tipo de protocolo
1+1 Comp do endereço hardware Comp do endereço protocolar

28 bytes
2 Operação
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 TF Data CRC

DA - Destination Address SA - Source Address TF - Type Field

05-11-2007 Universidade do Minho 50

TCP/IP
ARP (Protocolo de Resolução de Endereços)

1.Quem tem o endereço MAC 3.Aqui está o meu


da estação 129.1.1.4? Endereço MAC
1.ARP 3.ARP
Request Reply

129.1.1.1 B Eu C Eu 129.1.1.4
não não
4.ARP Reply 2.ARP Request 2.ARP Request 2.Sou eu
Aceite Ignorado Ignorado
[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 Type Code description
terminais e encaminhadores
para trocarem informação do 0 0 echo reply (ping)
nível de rede 3 0 dest. network unreachable
 reportar erros: nó, rede, porta 3 1 dest host unreachable
ou protocolo inatingíveis,
 echo request/reply (utilizado
3 2 dest protocol unreachable
pelo ping) 3 3 dest port unreachable
 TTL expired (usado pelo 3 6 dest network unknown
traceroute) 3 7 dest host unknown
 Camada de rede “sobre” o IP:
4 0 source quench (congestion
 Mensagens ICMP encapsuladas
em datagramas IP control - not used)
 Mensagem ICMP: tipo, código, 8 0 echo request (ping)
os primeiros 8 primeiros bytes 9 0 route advertisement
do datagrama IP responsável
pelo erro 10 0 router discovery
11 0 TTL expired
12 0 bad IP header

05-11-2007 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 IP Header Mensagem ICMP CRC

05-11-2007 Universidade do Minho 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
 Cabeçalho com o tamanho fixo (40 bytes)
 Não é permitida a fragmentação de pacotes (excepto na origem)
05-11-2007 Universidade do Minho 57
Cabeçalho IPv4
20 bytes + opções : 13 campos, incluindo 3 flag bits

Changed Removed

0 bits 4 8 16 24 31
Ver IHL Service Type Total Length

Identifier Flags Fragment Offset

Time to Live Protocol 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 12 16 24 31

Version Class 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
 Substitui o total length; tamanho da “carga” + cabeçalhos
opcionais;
 Next Header
 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
 Semelhante ao campo Time-To-Live do IPv4, mas agora
definitivamente encarado como um número limite de saltos…
05-11-2007 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
 0 - hop-by-hop Option Header
 43 - Routing Header
 44 - Fragmentation Header
 51 - Authentication Header
 59 - No Next Header
 60 - Destination Options Header

05-11-2007 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
 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)

05-11-2007 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 TCP Header Application Data


Next = Routing Next = TCP

IPv6 Header Security Hdr Fragment Hdr TCP Header Data


Next = Security Next = Frag Next = TCP Frag

05-11-2007 Universidade do Minho 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
 À semelhança do que acontece no IPv4
 Uma interface pode ter múltiplos endereços
 Os endereços têm um âmbito
 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:

 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

05-11-2007 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 0000 0000 reserved
100::/8 0000 0001 unassigned
200::/7 0000 001 ISO network address
400::/7 0000 010 NOVEL
4000::/3 010 provider based unicast
8000::/3 100 geografic based unicast
FE80::/10 1111 1110 10 Local link address
FEC0::/10 1111 1110 11 Site local address
FF00::/8 1111 1111 Multicast address
Loopback 0::1

05-11-2007 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
 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)

05-11-2007 Universidade do Minho 74

Atribuição dos Endereços em IPv6


 Auto-configuração (plug-and-play).
 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)

05-11-2007 Universidade do Minho 75


Atribuição dos Endereços em IPv6
 Passos da auto-configuração stateless:
1. 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)
2. 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;
3. 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:
 Os router anunciam-se periodicamente com Router-Advertisement,
mas essas mensagens podem ser solicitadas com pedido explícito
Router-Discovery
5. Seguir as recomendações do router local:
 Endereço do servidor DHCPv6 a contactar para prosseguir configuração
statefull
 Envio de um conjunto de prefixos a juntar à parte local do endereço
formando novos endereços IPv6
6. Configuração de endereços de âmbito Site-Local e Global com base
nos endereços fornecidos

05-11-2007 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 10
A B computadores

10 10
computadores D C 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

Вам также может понравиться