Buscar

Camada de Rede: Plano de Dados

Prévia do material em texto

Aulas do livro disponíveis em:
http://www-net.cs.umass.edu/kurose-ross-ppt-7e/
Camada de rede:
Plano de dados
Camada de rede: 
plano de dados, plano de controle
Plano de dados
§ Local, função por roteador
§ Determina como o datagrama que chega
na porta de entrada do roteador é
encaminhado para a porta de saída do 
roteador
§ Função de encaminhamento
Plano de controle
§ Lógica de rede
§ Determina como o datagrama é encaminhado
entre os roteadores ao longo do caminho entre as 
extremidade finais do host de origem para o host 
de destino
§ Duas abordagens do plano de controle:
• Algoritmos de roteamento tradicionais: implementado em
roteadores
• Rede definida por software (SDN): implementada em
servidores (remotos)
1
23
0111
Valores no cabeçalho 
de pacote de chegada
Endereços IP : como obter um?
Como um host obtém um endereço IP?
• Codificado pelo administrador do sistema em um arquivo
o Windows: control-panel->network->configuration->tcp/ip->properties
o UNIX: /etc/rc.config
• DHCP: Dynamic Host Configuration Protocol: endereço
obtido dinamicamento de um servidor
o “plug-and-play”
DHCP: Dynamic Host Configuration Protocol
(Protocolo de Configuração de Host Dinâmico)
Objetivo: permitir que o host obtenha dinamicamente o endereço IP do 
servidor de rede quando se une à rede
o Pode renovar sua locação no endereço em uso
o Permite a reutilização de endereços (apenas mantenha o endereço enquanto está conectado/ 
"ligado")
o Suporte para usuários móveis que desejam aderir à rede 
• DHCP overview:
o host broadcasts “DHCP discover” msg [optional]
o DHCP server responds with “DHCP offer” msg [optional]
o host requests IP address: “DHCP request” msg
o DHCP server sends address: “DHCP ack” msg 
223.1.1.0/24
223.1.2.0/24
223.1.3.0/24
223.1.1.1
223.1.1.3
223.1.1.4 223.1.2.9
223.1.3.2223.1.3.1
223.1.1.2
223.1.3.27
223.1.2.2
223.1.2.1
DHCP
server
arriving DHCP
client needs 
address in this
network
Cenário DHCP cliente-servidor
DHCP server: 223.1.2.5 arriving
client
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
yiaddrr: 223.1.2.4
transaction ID: 654
lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68 
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 655
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
Cenário DHCP cliente-servidor
Broadcast: is there a 
DHCP server out there?
Broadcast: I’m a DHCP 
server! Here’s an IP 
address you can use 
Broadcast: OK. I’ll take 
that IP address!
Broadcast: OK. You’ve 
got that IP address!
DHCP: mais que endereços IP
DHCP pode retornar mais do que apenas alocado 
endereço IP na sub-rede:
• Endereço do roteador (first-hop) para o cliente
• Nome e endereço IP do servidor DNS sever
• Máscara de rede (indicando a parte de endereço de rede versus 
ednereço de máquina)
§ connecting laptop needs its IP 
address, addr of first-hop router, 
addr of DNS server: use DHCP
router with DHCP 
server built into 
router
§ DHCP request encapsulated in UDP, 
encapsulated in IP, encapsulated in 
802.1 Ethernet
§ Ethernet frame broadcast (dest: 
FFFFFFFFFFFF) on LAN, received at 
router running DHCP server
§ Ethernet demuxed to IP demuxed, 
UDP demuxed to DHCP 
168.1.1.1
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCPDHCP
DHCP: example
• DCP server formulates DHCP 
ACK containing client’s IP 
address, IP address of first-hop 
router for client, name & IP 
address of DNS server
§ encapsulation of DHCP server, 
frame forwarded to client, 
demuxing up to DHCP at client
DHCP: example
router with DHCP 
server built into 
router
DHCP
DHCP
DHCP
DHCP
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
UDP
IP
Eth
Phy
DHCP
DHCP
DHCP
DHCP
§ client now knows its IP address, 
name and IP address of DSN 
server, IP address of its first-hop 
router
DHCP: Wireshark 
output (home LAN)
Message type: Boot Reply (2)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x6b3a11b7
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 192.168.1.101 (192.168.1.101)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 192.168.1.1 (192.168.1.1)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a)
Server host name not given
Boot file name not given
Magic cookie: (OK)
Option: (t=53,l=1) DHCP Message Type = DHCP ACK
Option: (t=54,l=4) Server Identifier = 192.168.1.1
Option: (t=1,l=4) Subnet Mask = 255.255.255.0
Option: (t=3,l=4) Router = 192.168.1.1
Option: (6) Domain Name Server
Length: 12; Value: 445747E2445749F244574092; 
IP Address: 68.87.71.226;
IP Address: 68.87.73.242; 
IP Address: 68.87.64.146
Option: (t=15,l=20) Domain Name = "hsd1.ma.comcast.net."
reply
Message type: Boot Request (1)
Hardware type: Ethernet
Hardware address length: 6
Hops: 0
Transaction ID: 0x6b3a11b7
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0 (0.0.0.0)
Your (client) IP address: 0.0.0.0 (0.0.0.0)
Next server IP address: 0.0.0.0 (0.0.0.0)
Relay agent IP address: 0.0.0.0 (0.0.0.0)
Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a)
Server host name not given
Boot file name not given
Magic cookie: (OK)
Option: (t=53,l=1) DHCP Message Type = DHCP Request
Option: (61) Client identifier
Length: 7; Value: 010016D323688A; 
Hardware type: Ethernet
Client MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a)
Option: (t=50,l=4) Requested IP Address = 192.168.1.101
Option: (t=12,l=5) Host Name = "nomad"
Option: (55) Parameter Request List
Length: 11; Value: 010F03062C2E2F1F21F92B
1 = Subnet Mask; 15 = Domain Name
3 = Router; 6 = Domain Name Server
44 = NetBIOS over TCP/IP Name Server
……
request
Endereços IP: como obter um?
P: Como a rede obtém parte da sub-rede do endereço IP?
A: Ela obtém a parte alocada do espaço de endereço do seu 
provedor de serviço (ISP).
ISP's block 11001000 00010111 00010000 00000000 200.23.16.0/20
Organization 0 11001000 00010111 00010000 00000000 200.23.16.0/23 
Organization 1 11001000 00010111 00010010 00000000 200.23.18.0/23 
Organization 2 11001000 00010111 00010100 00000000 200.23.20.0/23 
... ….. …. ….
Organization 7 11001000 00010111 00011110 00000000 200.23.30.0/23
“Send me anything
with addresses 
beginning 
200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7
Internet
Organization 1
ISPs-R-Us “Send me anything
with addresses 
beginning 
199.31.0.0/16”
200.23.20.0/23
Organization 2
...
...
Endereçamento hierárquico permite propagação eficiente de 
informação de roteamento:
Endereçamento hierárquico: agregação de rotas
ISPs-R-Us tem uma rota mais específica para a Organização 1
“Send me anything
with addresses 
beginning 
200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Fly-By-Night-ISP
Organization 0
Organization 7
Internet
Organization 1
ISPs-R-Us “Send me anything
with addresses 
beginning 199.31.0.0/16
or 200.23.18.0/23”
200.23.20.0/23
Organization 2
...
...
Endereçamento hierárquico: rotas mais específicas
Endereçamento IP
Como é que um ISP obtém bloco de endereços?
ICANN: Internet Corporation for Assigned 
Names and Numbers http://www.icann.org/
• Aloca endereços
• Gerencia DNS
• Atribui nomes de domínio, resolve disputas
http://www.icann.org/
Endereços Privados
• Os intervalos de endereços privados são:
o de 10.0.0.0 a 10.255.255.255 (10.0.0.0 /8)
o de 172.16.0.0 a 172.31.255.255 (172.16.0.0 /12)
o de 192.168.0.0 a 192.168.255.255 (192.168.0.0 /16)
• Endereços privados não permitem acesso direto à 
Internet. 
• Esse acesso é possível atraés de mecanismos de 
NAT (Network AddressTranslation) que traduzem o 
nosso endereço privado num endereço público.
Tarefa de casa
• Assistir ao vídeo: https://youtu.be/63M61wttuMk
Os endereços IP não são todos iguais - parte 2
• Se você ainda não assistiu ao vídeo anterior veja 
em: https://youtu.be/jnuHODaLcO8
https://youtu.be/63M61wttuMk
https://youtu.be/jnuHODaLcO8
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
local network
(e.g., home network)
10.0.0/24
rest of
Internet
datagrams with source or 
destination in this network
have 10.0.0/24 address for 
source, destination (as usual)
all datagrams leaving local
network have same single 
source NAT IP address: 
138.76.29.7,different source 
port numbers
NAT: Tradução do Endereço da Rede
motivação: A rede local usa apenas um endereço IP no que diz 
respeito ao mundo exterior:
§ Gama de endereços não necessários do ISP: apenas um 
endereço IP para todos os dispositivos
§ Pode mudar endereços de dispositivos na rede local sem 
notificar o mundo exterior
§ Pode alterar ISP sem alterar endereços de dispositivos na 
rede local
§ Dispositivos dentro de rede local não explicitamente 
endereçável, visível por mundo exterior (uma segurança 
mais)
NAT: Tradução do Endereço da Rede
implementação: roteador NAT deve:
§ Datagramas de saída: substitua (endereço IP de origem, porta #) de cada datagrama de saída 
para (NAT endereço IP, nova porta #)
. . . Clientes / servidores remotos responderão usando (NAT IP address, new 
port #) como endereço de destino
§ Lembrar (na tabela de tradução NAT) cada (endereço IP de origem, porta #) para (NAT endereço IP, 
nova porta #) par de tradução
§ Datagramas de entrada: substituir (NAT endereço IP, nova porta #) em campos de destino de cada 
datagrama de entrada com correspondente (endereço IP de origem, porta #) armazenados na 
tabela NAT
NAT: Tradução do Endereço da Rede
10.0.0.1
10.0.0.2
10.0.0.3
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
1
10.0.0.4
138.76.29.7
1: host 10.0.0.1 
sends datagram to 
128.119.40.186, 80
NAT translation table
WAN 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, 5001
D: 128.119.40.186, 802
2: NAT router
changes datagram
source addr from
10.0.0.1, 3345 to
138.76.29.7, 5001,
updates table
S: 128.119.40.186, 80 
D: 138.76.29.7, 5001 3
3: reply arrives
dest. address:
138.76.29.7, 5001
4: NAT router
changes datagram
dest addr from
138.76.29.7, 5001 to 10.0.0.1, 3345 
* Check out the online interactive exercises for more 
examples: http://gaia.cs.umass.edu/kurose_ross/interactive/
NAT: Tradução do Endereço da Rede
• Campo de número de porta de 16 bits: 
o 60.000 conexões simultâneas com um único endereço do lado da 
rede local!
• NAT é controverso:
o Roteadores só devem processar até a camada 3
o A falta de endereços deve ser resolvida pelo IPv6
o Viola o argumento de ponta a ponta
• A possibilidade de NAT deve ser levada em conta pelos 
designers de aplicações, por exemplo, aplicações P2P
o Travessia NAT : e se o cliente quiser se conectar ao servidor por 
trás NAT?
NAT: Tradução do Endereço da Rede
IPv6: motivação
• Motivação inicial: espaço de endereços de 32 bits seria em breve 
completamente alocado.
• Motivação adicional:
o O formato de cabeçalho ajuda a acelerar o processamento / encaminhamento
o Alterações de cabeçalho para facilitar QoS
Formato do datagrama IPv6 : 
o Cabeçalho de 40 bytes de comprimento fixo
o Nenhuma fragmentação permitida
Formato do datragrama IPv6
priority: Identificar a prioridade entre datagramas no fluxo
flow Label: Identificar datagramas no mesmo "fluxo".
(Conceito de "fluxo" não bem definido).
next header: Identificar o protocolo de camada superior para dados
data
destination address
(128 bits)
source address
(128 bits)
payload len next hdr hop limit
flow labelpriver
32 bits
@IPv6
• A representação dos endereços IPv6, divide o endereço em
oito grupos de 16 bits, separando-os por “:”, escritos com 
dígitos hexadecimais (0-F). 
• Por exemplo: 
2001:0DB8:AD1F:25E2:CADE:CAFE:F0CA:84C1
• Na representação de um endereço IPv6, é permitido utilizar
tanto caracteres maiúsculos quanto minúsculos. 
Mais sobre IPv6
• Assista ao vídeo: https://youtu.be/_JbLr_C-HLk
O que é o IPv6, em português claro
• Em seguida consulte o material sobre Ipv6 em:
http://ipv6.br/post/enderecamento/
https://youtu.be/_JbLr_C-HLk
Outras alterações do IPv4
• checksum: Removido completamente para reduzir o tempo de 
processamento em cada salto (hop)
• options: Permitido, mas fora do cabeçalho, indicado pelo campo 
"Próximo cabeçalho"
• ICMPv6: Nova versão do ICMP
o Tipos de mensagens adicionais, ex. "Pacote Muito Grande"
o Funções de gerenciamento de grupo multicast
Transição do IPv4 para IPV6
• Nem todos os roteadores podem ser atualizados 
simultaneamente
o Sem “flag days”
o Como a rede operará com roteadores IPv4 e IPv6 mistos?
• tunelamento: datagrama IPv6 transportado como dado no 
datagrama IPv4 entre roteadores IPv4
IPv4 source, dest addr 
IPv4 header fields 
IPv4 datagram
IPv6 datagram
IPv4 payload 
UDP/TCP payload
IPv6 source dest addr
IPv6 header fields
Tunelamento
IPv4 IPv4
A B
IPv6 IPv6
E
IPv6 IPv6
FC D
E
IPv6 IPv6
FA B
IPv6 IPv6
Tunel IPv4
Conectando roteadores IPv6
Visão lógica :
Visão física :
flow: X
src: A
dest: F
data
A-to-B:
IPv6
Flow: X
Src: A
Dest: F
data
src:B
dest: E
B-to-C:
IPv6 inside
IPv4
E-to-F:
IPv6
flow: X
src: A
dest: F
data
B-to-C:
IPv6 inside
IPv4
Flow: X
Src: A
Dest: F
data
src:B
dest: E
Visão física :
A B
IPv6 IPv6
E
IPv6 IPv6
FC D
Visão lógica :
Tunel IPv4
Conectando roteadores IPv6 E
IPv6 IPv6
FA B
IPv6 IPv6
Tunelamento
IPv4 IPv4
IPv6: utilização
§ Google: 8% dos clientes acessam serviços via IPv6
§ NIST: 1/3 de todos domínios do governo dos EUA são IPv6
§ Tempo muito longo para desenvolvimento, uso
• Mais de 20 anos!
• Pensem nas mudanças nível da aplicação nos últimos 20 anos: www, Facebook, 
streaming media, Skype, …
• Pq?
Outros videos interessantes em: 
https://sites.google.com/view/anelise-munaretto/teaching/redes-de-computadores-csr30

Continue navegando