41
IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 1 1

IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

Embed Size (px)

Citation preview

Page 1: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Endereço IP

Identificador de 32 bits para interfaces de roteadores ehospedeiros

Ex.:

223.1.1.1 = 11011111 00000001 00000001 00000001

223 1 11

Page 2: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Endereços de interfaces e sub-redes (fonte: Kurose)

Page 3: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

No ex., a rede que interconecta três interfaces

de hospedeiros e uma interface de roteador

forma uma sub-rede (rede IP ou rede)

223.1.1.0/24

Interfaces pertencentes a uma mesma sub-rede

não precisam da intervenção de um roteador

para se comunicarem entre si

Page 4: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Três roteadores interconectando três sub-redes (fonte: Kurose)

Page 5: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Endereçamento de classes cheias

Sub-redes com endereço de sub-rede de 8, 16 e 24bits eram conhecidas como redes classe A, B e C

Problema para instituições com mais de 254 e bemmenos de 65634 hospedeiros

Page 6: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Antigos formatos de endereços (fonte: Tanenbaum)

Page 7: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Endereços especiais (fonte: Tanenbaum)

Page 8: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Endereçamento de classes cheias

Todos os hospedeiros de uma rede devem ter omesmo número de rede

Problema quando as redes crescem

Solução mudança de organização através do uso desub-redes

Page 9: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Sub-redes

Redes divididas em diversas partes para uso interno

Externamente funcionam como uma única rede

Novo esquema de divisão

Máscara de sub-rede indica a divisão entre o número de

rede + a sub-rede e o hospedeiro

Permite que múltiplas redes físicas utilizem um únicoprefixo de rede

Cada rede física passa a ser uma sub-rede

Page 10: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Ex. de rede de classe B dividida em 64 sub-redes (fonte: Tanenbaum)

Page 11: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Sub-redes

Problema de esgotamento de endereços IP

Soluções CIDR e NAT

Page 12: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Roteamento interdomínio sem classes

(Classless Interdomain Routing - CIDR)

Especificado na RFC 1519

Generaliza a noção de endereçamento de sub-rede

Endereço IP, na forma a.b.c.d/x, dividido em duaspartes

X bits mais significativos formam o prefixo (de rede)

Torna o roteamento mais eficaz

Os bits restantes distinguem equipamentos e dispositivos

dentro da organização

Podem ou não ter uma estrutura adicional de sub-

rede

Page 13: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Ex. de endereçamento hierárquico e agregação de rotas (fonte: Kurose)

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

Page 14: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

“Envie-me qualquercoisa com endereçoscomeçando com200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Fly-By-Night-ISP

Organização 0

Organização 7Internet

Organização 1

ISPs-R-Us“Envie-me qualquercoisa com endereçoscomeçando com 199.31.0.0/16”

200.23.20.0/23Organização 2

.

.

.

.

.

.

Ex. de endereçamento hierárquico e agregação de rotas (fonte: Kurose)

Page 15: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Ex. de endereçamento hierárquico e agregação de rotas (fonte: Kurose)

“Envie-me qualquercoisa com endereçoscomeçando com 200.23.16.0/20”

200.23.16.0/23

200.23.18.0/23

200.23.30.0/23

Fly-By-Night-ISP

Organização 0

Organização 7Internet

Organização 1

ISPs-R-Us“Envie-me qualquercoisa com endereçoscomeçando com 199.31.0.0/16ou 200.23.18.0/23”

200.23.20.0/23Organização 2

.

.

.

.

.

.

Page 16: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Exemplo da pag. 471 do Tanenbaum

Page 17: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento

Tradução de endereços na rede (Network

Address Translation - NAT)

Definida nas RFCs 2663 e 3022

Dificuldade na obtenção de endereços IPs contíguospara todos os equipamentos SOHO → uso de NAT

Page 18: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento - NAT

Tradução de endereços de rede (fonte: Kurose)

10.0.0.1

10.0.0.2

10.0.0.3

10.0.0.4

138.76.29.7

rede local(ex.: rede doméstica)

10.0.0.0/24

resto daInternet

Page 19: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento - NAT

Usa espaços reservados

Endereços não roteáveis

Só fazem sentido para os equipamentos que fazemparte da rede

10.0.0.0 - 10.255.255.255/8

172.16.0.0 - 172.31.255.255/12

192.168.0.0 - 192.168.255.255/16

Roteador traduz os endereços reservados em

um único endereço externo

Utiliza o número de porta e o endereço IP da fonte

NAPT (Network Address and Port Translation)

Page 20: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IP - endereçamento - NAT

Tradução de endereços de rede (fonte: Kurose)

..

Page 21: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

ICMP

Protocolo de Mensagens de Controle da Internet

(Internet Control Message Protocol)

Definido na RFC 792

Serviço

Comunicação de informações da camada rede

Page 22: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

ICMP

Mensagens ICMP são carregadas dentro de

datagramas IP

Mensagens

De solicitação (query)

De erro

Page 23: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

ICMP

Mensagens de solicitação

timestamp request/reply

address mask request/reply

router solicitation/advertisement

echo request/reply

Mensagens de erro

Nunca geradas

A partir de outra mensagem de erro

A partir de um datagrama IP de difusão ou multicast

A partir de um fragmento (exceto o primeiro)

A partir de um endereço fonte que não defina um único

hospedeiro

Page 24: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

ICMP

Mensagens de erro

port unreachable

time-to-live equals 0 during transit

source route failed

host ou network unreachable

redirect for host ou network

Page 25: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

ICMP

Tipos de mensagens ICMP (fonte: Kurose)

Tipo Código descrição0 0 echo reply (ping)

3 0 dest. network unreachable

3 1 dest. host unreachable

3 2 dest. protocol unreachable

3 3 dest. port unreachable

3 6 dest. network unknown

3 7 dest. host unknown

4 0 source quench (congestion

control - not used)

8 0 echo request (ping)

9 0 route advertisement

10 0 router discovery

11 0 TTL expired

12 0 bad IP header

Page 26: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

ICMP

Possuem campos tais como

Cabeçalho

8 primeiros octetos do datagrama que causou ageração da mensagem (erro)

Tipo

Código

Page 27: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

ICMP

Ping (Aplicação)

Envia mensagem ICMP do tipo 8 e código 0

Recebe mensagem ICMP do tipo 0 e código 0

Page 28: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

ICMP

Traceroute (Aplicação)

Fonte envia três cópias de datagramas UDP comdiferentes TTLs (a partir de 1) para o destino e marca otempo quando dos envios

Datagramas com número de porta improvável

Cada roteador quando o TTL é 0 envia umamensagem ICMP tipo 11 e código 0

Inclui o seu endereço IP

Fonte calcula os RTTs

Quando o destino recebe um datagrama UDP,responde com uma mensagem tipo 3 e código 3

Page 29: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IPv6

Problema do espaço de endereços do IPv4

Outros problemas abordados

Page 30: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IPv6 - formato do datagrama

Mudanças mais importantes

Capacidade de endereçamento expandida

Cabeçalho fixo de 40 octetos

Aumentar velocidade de processamento

Rotulação de fluxo e prioridade

Permitir prioridades diferenciadas em função do fluxo

Page 31: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

Formato do datagrama IPv6 (adaptado de Tanenbaum)

Data

Page 32: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IPv6 - formato do datagrama

Versão (4 bits)

Classe de tráfego (8 bits)

Semelhante ao ToS do IPv4

Rótulo de fluxo (20 bits)

Identifica um fluxo de datagrama

Comprimento da carga útil (16 bits)

Tamanho máximo de 65535 octetos

Próximo cabeçalho (8 bits)

Indica o protocolo ao qual o datagrama será entregueou outros cabeçalhos (de extensão)

Para o protocolo, usa os mesmos valores do IPv4

Page 33: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IPv6 - formato do datagrama

Limite de saltos (8 bits)

Decrementado de uma unidade a cada roteador

Datagrama descartado quando chega a 0

Endereço de origem (128 bits)

Endereço de destino (128 bits)

Dados

Page 34: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IPv6 - formato do datagrama

Principais diferenças para o datagrama IPv4

Roteadores não fazem fragmentação

Economizam tempo

Mandam mensagem de erro à fonte quando não

puderem enviar um datagrama “grande”

Fonte faz a fragmentação

Não tem soma de verificação do cabeçalho

Redes atuais são mais confiáveis

Economiza tempo

Opções

Podem vir como próximo cabeçalho (cabeçalho de

extensão) após o cabeçalho IPv6

Page 35: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IPv6 - formato do datagrama

Cabeçalhos de extensão do IPv6 (fonte: Tanenbaum)

Page 36: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IPv6 - formato do datagrama

Exemplo de cabeçalho de extensão do IPv6 (fonte: Tanenbaum)

Hop-by-hop para datagramas grandes

Page 37: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IPv6 - endereçamento

Prefixos identificam diferentes tipos de

endereços

Nova notação com oito grupos de quatro dígitos

hexadecimais

Ex.:

8000:0000:0000:0000:0123:4567:89AB:CDEF

Zeros à esquerda podem ser omitidos

Ex.: 8000::123:4567:89AB:CDEF

Endereços IPv4

Ex.: ::192.31.20.46

Page 38: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

IPv6 - transição a partir do IPv4

Pilha dupla

Implantação de túnel

Page 39: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

Abordagem de pilha dupla (adaptado de Kurose)

A B E F

IPv6 IPv6 IPv6 IPv6

C D

IPv4 IPv4

Flow: XSrc: ADest: F

data

Flow: ??Src: ADest: F

data

Src:ADest: F

data

A-to-B:IPv6

Src:ADest: F

data

B-to-C:IPv4

D-to-E:IPv4

E-to-F:IPv6

Certain IPv6 header information lost, e.g., flow label

Page 40: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

Implementação de túnel (fonte: Kurose)

Page 41: IP - endereçamentorubi/cursos/rc/Parte4b.pdf · IP - endereçamento Endereço IP Identificador de 32 bits para interfaces de roteadores e hospedeiros Ex.: 223.1.1.1 = 11011111 00000001

ICMPv6

Definido na RFC 2463

Inclui novos tipos e códigos de erro

Pacote muito grande

Opções IPv6 não reconhecidas

Incorpora a funcionalidade do IGMP (Internet

Group Management Protocol)