interligação de redes nível de rede datagramasip versão 4...
TRANSCRIPT
Nível de Rede
Redes de Computadores I
2007/2008
05-11-2007 Universidade do Minho 1
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 2
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 3
Interligação de RedesIntroduçã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 4
Interligação de RedesIntroduçã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 5
Interligação de RedesIntrodução
05-11-2007 Universidade do Minho 6
Interligação de RedesA 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 7
Ethernet Token Bus Token Ring FDDI
Internet Protocol
ARP
TELNET FTP SMTP DNS SNMP DHCP
LigaçãoFísico
Rede
Transporte
AplicaçãoApresentação
Sessão
ICMPIGMP
RTPRTCP
TransmissionControl Protocol
User DatagramProtocol
RIP OSPF BGP
Interligação de RedesA pilha TCP/IP
05-11-2007 Universidade do Minho 8
Estaçãoorigem
Dados
Segmento TCP
Datagrama IP
Pacote LLC
Trama MAC
Estaçãodestino
AplicaçãoTCPIP
LigaçãoFísico
Dados
Segmento TCP
Datagrama IP
Pacote LLC
PDU Aplicação
Meio detransmissão
CT
CI
CL
CM CRC
CM CRC
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
encapsulamento
desencapsulamento
Interligação de RedesEncapsulamento TCP/IP
05-11-2007 Universidade do Minho 9
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 10
32 bits
Ethernet Data Field
Vers HLEN TOS Total Length
Identification Flags Fragment Offset
Time to Live Protocol Header Checksum
Source IP address
Destination IP address
IP Options (pode ser nulo) Padding
IP Datagram Data (até 65536 bytes)
DA SA Type0800
IP Header and Data CRC
20 bytes
IP – Internet ProtocolFormato dos datagramas
05-11-2007 Universidade do Minho 11
IP – Internet ProtocolFormato 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 12
IP – Internet ProtocolFormato 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 13
� 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.
fragmentafragmentafragmentafragmentaççççãoãoãoão
entrada: um grande datagramasaída: trêspequenosdatagrams
reagrupamento
Fonte: Computer Networking: A Top-Down ApproachFeaturing the Internet, J. Kurose, Addison-Wesley, 2001
IP – Internet ProtocolFragmentação e reagrupamento
05-11-2007 Universidade do Minho 14
ID=x
offset=0
fragflag=0
length=4000
ID=x
offset=0
fragflag=1
length=1500
ID=x
offset=1480
fragflag=1
length=1500
ID=x
offset=2960
fragflag=0
length=1040
Um grande datagrama transforma-seem vários pequenos datagramas
IP – Internet ProtocolFragmentação e reagrupamento
05-11-2007 Universidade do Minho 15
VERS HLEN
Time to Live Protocol Header Checksum
IP Options (may be null) Padding
IP Datagram Data (up to 65,535 bytes)
TOS Total Length
Identification Flags Fragment Offset
Source IP address
Destination IP address
IP – Internet ProtocolEndereçamento
05-11-2007 Universidade do Minho 16
� Endereço IP: identificador de 32-bits 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)
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
Fonte: Computer Networking: A Top-Down Approach Featuringthe Internet, J. Kurose, Addison-Wesley, 2001
Interligações de rede com 3 redes IP
IP – Internet ProtocolEndereçamento
05-11-2007 Universidade do Minho 17
� 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 11
IP – Internet ProtocolEndereçamento
05-11-2007 Universidade do Minho 18
Sistema com 6 redes interligadas
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2223.1.2.1
223.1.2.6
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.0
223.1.7.1223.1.8.0223.1.8.1
223.1.9.1
223.1.9.2
Endereçamento IP
Fonte: Computer Networking: A Top-Down Approach Featuringthe Internet, J. Kurose, Addison-Wesley, 2001
IP – Internet ProtocolEndereçamento
05-11-2007 Universidade do Minho 19
130.1.4.0130.1.4.0
130.1.1.0130.1.1.0
130.1.3.0130.1.3.0
130.1.1.0130.1.1.0
Não sãopermitidassubredesnão-contiguas
130.1.2.0130.1.2.0
Este segmento (subrede)apenas tem duas estações
(os dois routers)130.1.2.50130.1.2.50
130.1.2.82130.1.2.82
130.1.1.254130.1.1.254
130.1.3.49130.1.3.49
130.1.3.200130.1.3.200
IP – Internet ProtocolEndereçamento
05-11-2007 Universidade do Minho 20
Router
Estações
205.1.20.49 205.1.5.1 205.1.10.1 205.1.20.1
205.1.5.0 intf0205.1.10.0 intf0205.1.20.0 intf0
A estação 205.1.20.1remete ao router osdatagramas destinadosà estação 205.1.10.1
Múltiplas subredes no mesmo interface
Tabela de encaminhamentodo router para este interface
intf0
IP – Internet ProtocolEndereçamento
05-11-2007 Universidade do Minho 21
IP – Internet ProtocolEndereç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 22
Identificadorda classe
Parte do Endereço de Rede Parte do Endereço de Estação
11110 Classe E – Reservado para utilização futura
0 7 bits de endereço de rede 24 bits de endereço de estação
Classe A
10 14 bits de endereço de rede 16 bits de endereço de estação
110 21 bits de endereço de rede 8 bits endereço de estação
1110 Endereços Multicast no intervalo 224.0.0.0 - 239.255.255.255
Classe B
Classe C
Classe D
Classe E
IP – Internet ProtocolEndereçamento (Classfull)
05-11-2007 Universidade do Minho 23
Classe A B C D
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 (224-239)
Endereços IPv4 por classes
IP – Internet ProtocolEndereçamento (Classfull)
05-11-2007 Universidade do Minho 24
IP – Internet ProtocolEndereç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.00000000notaçã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 25
IP – Internet ProtocolEndereç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 26
� 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
11001000 00010111 00010000 00000000parte de rede parte de
host
200.23.16.0/23
IP – Internet ProtocolEndereçamento (Classless)
05-11-2007 Universidade do Minho 27
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
Rede Estação Máscara de subrede Rede Subrede Estação130.1 255.255.255.0 130.1 5 15.1
(máscara com multiplo de 8 bits)
interpretaçãooriginal por classe
interpretaçãosem classe (CIDR)
IP – Internet ProtocolEndereçamento (Classless)
05-11-2007 Universidade do Minho 28
130130 11 99 11
10 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1
Subrede Estação
11111111.11111111.11111000.00000000
Máscara de Subnet 255.255.248.0
(máscara com 21 bits)
� 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
IP – Internet ProtocolEndereçamento (Classless)
05-11-2007 Universidade do Minho 29
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
internet localinternet local130.1.0.0130.1.0.0
internetinternetexteriorexterior
130.1.1.0130.1.1.0
130.1.2.0130.1.2.0 130.1.3.0130.1.3.0
130.1.254.0130.1.254.0
IP – Internet ProtocolEndereçamento (Subnetting)
05-11-2007 Universidade do Minho 30
Exercício Subnetting
No exemplo anterior, em vez do endereço classe B 130.1.0.0, seria possível usaro endereço 192.168.192.0? Justifique convenientemente.
internet localinternet local192.168.192.0192.168.192.0
internetinternetexteriorexterior
AA
BB CC
DD
Exercício
05-11-2007 Universidade do Minho 31
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 32
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
Rede local(ex: rede lá de casa)
10.0.0/24
Internet
Todos os datagramas nesta redecontêm, como habitualmente
endereços de origem e/ou de destinona gama disponível 10.0.0/24
Todos os datagramas que saiempara a Internet são forçados a usar o mesmo endereço de
origem: 138.76.29.7, e númerosde porta origem distintos
IP – Internet ProtocolReescrita de endereços (NAT: Network Address Translation)
05-11-2007 Universidade do Minho 33
IP – Internet ProtocolReescrita 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 34
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 datagramasde 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
IP – Internet ProtocolReescrita de endereços (NAT: Network Address Translation)
05-11-2007 Universidade do Minho 35
10.0.0.1
10.0.0.2
10.0.0.3
S: 10.0.0.1, 3345D: 128.119.40.186, 80
1
10.0.0.4
138.76.29.7
1: Sistema 10.0.0.1 envia datagrama para128.119.40, 80
NAT translation tableWAN side addr LAN side addr
138.76.29.7, 5001 10.0.0.1, 3345…… ……
S: 128.119.40.186, 80 D: 10.0.0.1, 3345
4
S: 138.76.29.7, 5001D: 128.119.40.186, 802
2: router NAT mudaendereço origem dodatagrama de10.0.0.1, 3345 para138.76.29.7, 5001,e actualiza tabela
S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3
3: Chega respostaendereçada a:138.76.29.7, 5001
4: router NAT muda endereçode destino de 138.76.29.7, 5001 para10.0.0.1, 3345
IP – Internet ProtocolReescrita de endereços (NAT: Network Address Translation)
05-11-2007 Universidade do Minho 36
� 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)
IP – Internet ProtocolReescrita de endereços (NAT: Network Address Translation)
05-11-2007 Universidade do Minho 37
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”
IP – Internet ProtocolEndereçamento (Alocação dinâmica)
05-11-2007 Universidade do Minho 38
DHCP request
IP – Internet ProtocolEndereçamento (Alocação dinâmica)
Servidor DHCP: 223.1.2.5 Cliente
time
DHCP discover
src : 0.0.0.0, 68 dest.: 255.255.255.255,67yiaddr: 0.0.0.0transaction ID: 654
DHCP offersrc: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddr: 223.1.2.4transaction ID: 654Lifetime: 3600 secs
src: 0.0.0.0, 68 dest:: 255.255.255.255, 67yiaddr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs
05-11-2007 Universidade do Minho 39
IP – Internet ProtocolEndereç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 40
Network (parte de rede):
� Alocado via espaço de endereçamento do ISP
Bloco do ISP 11001000 00010111 0001 0000 00000000 200.23.16.0/20
Organização 0 11001000 00010111 0001000 0 00000000 200.23.16.0/23
Organização 1 11001000 00010111 0001001 0 00000000 200.23.18.0/23
Organização 2 11001000 00010111 0001010 0 00000000 200.23.20.0/23 ... ….. …. ….
Organização 7 11001000 00010111 0001111 0 00000000 200.23.30.0/23
IP – Internet ProtocolEndereçamento (supernetting)
05-11-2007 Universidade do Minho 41
“Qualquer endereço começado por
200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
ISP X
Organização 0
Organização 7Internet
Organização 1
ISPs-R-UsComeçado por
199.31.0.0/16”
200.23.20.0/23
Organização 2
.
.
.
.
..
Endereçamento Hierárquico permite anúncios eficientes de informação de encaminhamento:
IP – Internet ProtocolEndereçamento hierárquico – agregação de rotas
05-11-2007 Universidade do Minho 42
ISPs-R-Us tem uma rota mais específica para a Organização 1
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
ISP X
Organização 0
Organização 7Internet
Organização 1
ISPs-R-UsComeçado por
199.31.0.0/16ou
200.23.18.0/23
200.23.20.0/23
Organização 2
.
.
.
.
.
.
“Qualquer endereço começado por
200.23.16.0/20”
IP – Internet ProtocolEndereçamento hierárquico – rotas mais específicas
05-11-2007 Universidade do Minho 43
Datagrama IP:
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
B
E
miscfields
sourceIP addr
destIP addr data
� O datagrama não é modificado, desde a origem até ao destino
Dest. Net. next router #hops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
Tabela encaminhamento de A
Fonte: Computer Networking: A Top-Down ApproachFeaturing the Internet, J. Kurose, Addison-Wesley, 2001
IP – Internet ProtocolEncaminhamento – da origem ao destino (I)
05-11-2007 Universidade do Minho 44
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
B
E
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
� B e A estão ligados directamente
Dest. Net. next router #hops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
miscfields 223.1.1.1 223.1.1.3 data
Fonte: Computer Networking: A Top-Down ApproachFeaturing the Internet, J. Kurose, Addison-Wesley, 2001
IP – Internet ProtocolEncaminhamento – da origem ao destino (II)
05-11-2007 Universidade do Minho 45
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
B
E
Dest. Net. next router #hops
223.1.1 1223.1.2 223.1.1.4 2223.1.3 223.1.1.4 2
Partindo de A, destino E:
� Busca endereço de rede de E
� E está numa rede diferente
� 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
� ….
miscfields 223.1.1.1 223.1.2.2 data
Fonte: Computer Networking: A Top-Down ApproachFeaturing the Internet, J. Kurose, Addison-Wesley, 2001
IP – Internet ProtocolEncaminhamento – da origem ao destino (III)
05-11-2007 Universidade do Minho 46
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
A
B
E
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
� Encaminhador e nó E ligados directamente
� envia datagrama para 223.1.2.2 ( via interface 223.1.2.9)
miscfields 223.1.1.1 223.1.2.2 data network router #hops interface
223.1.1 - 1 223.1.1.4223.1.2 - 1 223.1.2.9
223.1.3 - 1 223.1.3.27
Dest. next
Fonte: Computer Networking: A Top-Down ApproachFeaturing the Internet, J. Kurose, Addison-Wesley, 2001
IP – Internet ProtocolEncaminhamento – da origem ao destino (IV)
05-11-2007 Universidade do Minho 47
Construa a tabela de encaminhamento de cada um dos encaminhadores (A, B e C) da rede ilustrada.
internet localinternet local130.1.0.0130.1.0.0
internetinternetexteriorexterior
AA
BB CC
Exercício
05-11-2007 Universidade do Minho 48
Observe e interprete a tabela de encaminhamento do seu sistema.
Usar o comando “netstat –n –r “ em qualquer sistema operativo.
Exercício
05-11-2007 Universidade do Minho 49
TCP/IPARP (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 50
DA SA TF CRCData
Endereço Protocolar da estação de destino (target)
Endereço de Hardware da estação de destino (target)
Endereço Protocolar da estação de origem (sender)
Endereço de Hardware da estação de origem (sender)
Operação
Comp do endereço protocolarComp do endereço hardware
Tipo de protocolo
Tipo de hardware
DA - Destination Address SA - Source Address T F - Type Field
2 bytes
2
1+1
2
6
4
6
4
28 bytes
TCP/IPARP (Protocolo de Resolução de Endereços)
05-11-2007 Universidade do Minho 51
� ARP Request é enviado em broadcast
� ARP Reply é enviado em unicast à estação requerente, que mantém temporariamente a resolução na cache de ARP
1.ARP Request
3.Aqui está o meuEndereço MAC
129.1.1.1 B C 129.1.1.4Eunão
Eunão
2.Sou eu2.ARP RequestIgnorado
2.ARP RequestIgnorado
4.ARP ReplyAceite
1.Quem tem o endereço MACda estação 129.1.1.4?
[Naugle98]
3.ARPReply
TCP/IPARP (Protocolo de Resolução de Endereços)
05-11-2007 Universidade do Minho 52
� 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
Type Code description0 0 echo reply (ping)3 0 dest. network unreachable3 1 dest host unreachable3 2 dest protocol unreachable3 3 dest port unreachable3 6 dest network unknown3 7 dest host unknown4 0 source quench (congestion
control - not used)8 0 echo request (ping)9 0 route advertisement10 0 router discovery11 0 TTL expired12 0 bad IP header
TCP/IPICMP (Internet Control Message Protocol )
05-11-2007 Universidade do Minho 53
DA SA TF CRCIP Header Mensagem ICMP
Tipo (8) Código (8)
Verificação de paridade (16)
Número de sequência
Enventuais dados ICMP
TCP/IPICMP (Internet Control Message Protocol )
05-11-2007 Universidade do Minho 54
192.1.1.1 192.1.1.2
192.1.2.1192.1.2.2
PING 192.1.1.2
Echo Request
Echo Reply
TCP/IPICMP (Internet Control Message Protocol )
05-11-2007 Universidade do Minho 55
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
Exercício
05-11-2007 Universidade do Minho 56
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 57
� 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)
IPv6
05-11-2007 Universidade do Minho 58
0 bits 31
Ver IHL Total Length
Identifier Flags Fragment Offset
32 bit Source Address
32 bit Destination Address
4 8 2416
Service Type
Options and Padding
Time to Live Header ChecksumProtocol
RemovedChanged
Cabeçalho IPv4 20 bytes + opções : 13 campos, incluindo 3 flag bits
05-11-2007 Universidade do Minho 59
0 31
Version Class Flow Label
Payload Length Next Header Hop Limit
128 bit Source Address
128 bit Destination Address
4 12 2416
Cabeçalho IPv640 bytes, 8 campos
05-11-2007 Universidade do Minho 60
� 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)
Novos Campos do IPv6
05-11-2007 Universidade do Minho 61
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 62
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 63
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 64
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 65
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 66
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), RoutingType(8bits), Segments Left(8bits)
05-11-2007 Universidade do Minho 67
IPv6 HeaderNext = TCP
TCP Header
IPv6 HeaderNext = Routing
TCP HeaderRouting HdrNext = TCP
IPv6 HeaderNext = Security
TCP HeaderSecurity HdrNext = Frag
Application Data
Application Data
Fragment HdrNext = TCP
DataFrag
Extensões ao cabeçalho IPv6
05-11-2007 Universidade do Minho 68
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 69
IPv6 – Modelo de Endereçamento
Link-LocalSite-LocalGlobal
� 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
� Os endereços têm um tempo de vida
05-11-2007 Universidade do Minho 70
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 71
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 72
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 73
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 74
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 75
� 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)
Atribuição dos Endereços em IPv6
05-11-2007 Universidade do Minho 76
� 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;
Atribuição dos Endereços em IPv6
05-11-2007 Universidade do Minho 77
� 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
Atribuição dos Endereços em IPv6
05-11-2007 Universidade do Minho 78
� 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
Vantagens do IPv6
05-11-2007 Universidade do Minho 79
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 stackse 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 80
Stack Dupla
Fonte: Computer Networking: A Top-DownApproach Featuring the Internet, J. Kurose, Addison-Wesley, 2001
05-11-2007 Universidade do Minho 81
Túneis
IPv6 “encapsulado” no IPv4 sempre que necessário
Fonte: Computer Networking: A Top-DownApproach Featuring the Internet, J. Kurose, Addison-Wesley, 2001
05-11-2007 Universidade do Minho 82
Exercício
� Considere a topologia apresentada na figura abaixo.
� 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.
A B
CD
70
computadores 10
computadores
10
computadores
10
computadores