Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
4: Camada de Rede 4a-1
Capítulo 4: Camada de Rede
r 4.4 Repasse generalizado e SDN
m matchm açãom exemplos de
match+ação em ação no SDN
r 4. 1 Visão geral da camada de rede
m plano de dadosm plano de controle
r 4.2 O que há dentro de um roteador
r 4.3 O Protocolo da Internet (IP)
m formato do datagramam endereçamento IPv4m tradução do endereço
de rede (NAT)m IPv6
4: Camada de Rede 4a-2
Capítulo 4: Camada de Redeobjetivos do capítulo:r entender os princípios por trás dos serviços da
camada de rede:m modelos de serviço da camada de redem repasse versus roteamentom como funciona um roteadorm repasse generalizado
r instanciação, implementação na Internet
4: Camada de Rede 4a-3
Camada de reder transporta segmentos da
estação remetente à receptorar no lado remetente, encapsula
segmentos dentro de datagramas
r no lado receptor, entrega os segmentos para a camada de transporte
r protocolos da camada de rede em todos os sistemas finais e roteadores
r roteadores examinam campos de cabeçalho de todos os datagramas IP que passam por eles
aplicaçãotransporte
redeenlacefísica
aplicaçãotransporte
redeenlace física
redeenlace física rede
enlace física
redeenlace física
redeenlace física
redeenlace física
redeenlace física
redeenlace física
redeenlace física
redeenlacefísica
redeenlace físicarede
enlace física
4: Camada de Rede 4a-4
Funções principais da camada de rede
r repasse: move pacotes de uma entrada do roteador para a saída apropriada
r roteamento:determina a rota a ser seguida pelos pacotes da fonte até o destino
m Algoritmos de roteamento
analogia:
r roteamento: processo de planejar uma viagem da origem até o destino
r repasse: processo de atravessar uma encruzilhada durante a viagem
Network layer: data plane, control plane
Data plane§ local, per-router
function§ determines how
datagram arriving on router input port is forwarded to router output port
§ forwarding function
Control plane§ network-wide logic§ determines how datagram is
routed among routers along end-end path from source host to destination host
§ two control-plane approaches:
• traditional routing algorithms: implemented in routers
• software-defined networking (SDN): implemented in (remote) servers
1
23
0111
values in arriving packet header
4-5Network Layer: Data Plane
Per-router control plane
RoutingAlgorithm
Individual routing algorithm components in each and every router interact in the control plane
dataplane
controlplane
4.1 • OVERVIEW OF NETWORK LAYER 309
tables. In this example, a routing algorithm runs in each and every router and both forwarding and routing functions are contained within a router. As we’ll see in Sec-tions 5.3 and 5.4, the routing algorithm function in one router communicates with the routing algorithm function in other routers to compute the values for its forward-ing table. How is this communication performed? By exchanging routing messages containing routing information according to a routing protocol! We’ll cover routing algorithms and protocols in Sections 5.2 through 5.4.
The distinct and different purposes of the forwarding and routing functions can be further illustrated by considering the hypothetical (and unrealistic, but technically feasible) case of a network in which all forwarding tables are configured directly by human network operators physically present at the routers. In this case, no routing protocols would be required! Of course, the human operators would need to interact with each other to ensure that the forwarding tables were configured in such a way that packets reached their intended destinations. It’s also likely that human configu-ration would be more error-prone and much slower to respond to changes in the net-work topology than a routing protocol. We’re thus fortunate that all networks have both a forwarding and a routing function!
Values in arrivingpacket’s header
1
23
Local forwardingtable
header
0100011001111001
1101
3221
output
Control plane
Data plane
Routing algorithm
Figure 4.2 ♦ Routing algorithms determine values in forward tables
M04_KURO4140_07_SE_C04.indd 309 11/02/16 3:14 PM
5-6Network Layer: Control Plane
1
2
0111
values in arriving packet header
3
dataplane
controlplane
Logically centralized control planeA distinct (typically remote) controller interacts with local control agents (CAs)
Remote Controller
CA
CA CA CA CA
5-7Network Layer: Control Plane
1
2
0111
3
values in arriving packet header
4: Camada de Rede 4a-8
Modelo de serviço de redeP: Qual é o modelo de serviço para o “canal” que
transfere pacotes do remetente ao receptor?
Exemplos de serviços para pacotes individuais:
r Entrega garantidar Entrega garantida com
atraso limitado:r Ex.: menor que 40 mseg
Exemplos de serviços para um fluxo de datagramas:
r Entrega ordenada de pacotes
r Largura de banda mínima garantida
r restrições em mudanças no espaçamento entre pacotes.
4: Camada de Rede 4a-9
Modelos de serviço da camada de rede:
Arquiteturade Rede
Internet
ATM
ATM
ATM
ATM
Modelo deserviço
melhoresforçoCBR
VBR
ABR
UBR
Banda
nenhuma
taxaconstantetaxagarantidamínimagarantidanenhuma
Perdas
não
sim
sim
não
não
Ordem
não
sim
sim
sim
sim
Tempo
não
sim
sim
não
não
Indicação decongestion.?
não (inferidovia perdas)semcongestion.semcongestion.sim
não
Garantias ?
4: Camada de Rede 4a-10
Capítulo 4: Camada de Rede
r 4.4 Repasse generalizado e SDN
m matchm açãom exemplos de
match+ação em ação no SDN
r 4. 1 Visão geral da camada de rede
m plano de dadosm plano de controle
r 4.2 O que há dentro de um roteador
r 4.3 O Protocolo da Internet (IP)
m formato do datagramam endereçamento IPv4m tradução do endereço
de rede (NAT)m IPv6
Famílias de Roteadores
4: Camada de Rede 4a-11
4: Camada de Rede 4a-12
Sumário da Arquitetura de RoteadoresDuas funções chave de roteadores:r rodam algoritmos/protocolos de roteamento (RIP, OSPF, BGP)r repassam datagramas do enlace de entrada para o de saída
Elemento decomutação
de alta-velocidade
Processador de roteamento
portas de entrada portas de saída
plano de repasse dos dados (hardware)
roteamento, gerênciaplano de controle (software)
tabelas de repasse são calculadase enviadas para as portas de entrada
4: Camada de Rede 4a-13
Funções das Portas de Entrada
Comutação descentralizada:r dado o dest. do datagrama, procura porta de
saída usando tab. de rotas na memória da porta de entrada
r meta: completar processamento da porta de entrada na ‘velocidade da linha’
r filas: se datagramas chegam mais rápido que taxa de re-envio para elemento de comutação
Camada física:recepção de bits
Camada de enlace:p.ex., Ethernetveja capítulo 5
Destination Address Range
11001000 00010111 00010000 00000000through11001000 00010111 00010111 11111111
11001000 00010111 00011000 00000000through11001000 00010111 00011000 11111111
11001000 00010111 00011001 00000000through11001000 00010111 00011111 11111111
otherwise
Link Interface
0
1
2
3
Q: but what happens if ranges don’t divide up so nicely?
Destination-based forwardingforwarding table
4-14Network Layer: Data Plane
DA: 11001000 00010111 00011000 10101010DA: 11001000 00010111 00010110 10100001
Longest prefix matching
Destination Address Range
11001000 00010111 00010*** *********
11001000 00010111 00011000 *********
11001000 00010111 00011*** *********
otherwise
examples:which interface?which interface?
when looking for forwarding table entry for given destination address, use longest address prefix that matches destination address.
longest prefix matching
Link interface
0
1
2
3
4-15Network Layer: Data Plane
Longest prefix matching
r we’ll see why longest prefix matching is used shortly, when we study addressing
r longest prefix matching: often performed using ternary content addressable memories (TCAMs)
m content addressable: present address to TCAM: retrieve address in one clock cycle, regardless of table size
m Cisco Catalyst: can up ~1M routing table entries in TCAM
4-16Network Layer: Data Plane
Elemento (matriz) de comutaçãor transfere pacotes do buffer de entrada
para o buffer de saída apropriador taxa de comutação: taxa na qual os pacotes
podem ser transferidos das entradas para as saídas:
m frequentemente medida como múltiplo das taxas das linhas de entrada/saída
m N entradas: desejável taxa de comutação N vezes a taxa da linha.
4: Camada de Rede 4a-17
4: Camada de Rede 4a-18
Três tipos de elementos de comutação
Comutação por MemóriaRoteadores da primeira geração:r computadores tradicionais com comutação controlada diretamente pela CPU
r pacote copiado para a memória do sistemar velocidade limitada pela largura de banda da memória (2 travessias do barramento por datagrama)
4: Camada de Rede 4a-19
porta deentrada
(ex.,Ethernet)
memóriaporta de
saída(ex.,
Ethernet)
barramento dosistema
4: Camada de Rede 4a-20
Comutação por um Barramento
r datagrama da memória da porta de entrada para a memória da porta de saída via um barramento compartilhado
r Disputa (contenção) pelo barramento: taxa de comutação limitada pela largura de banda do barramento
r Cisco 6500 usa barramento de 32 Gbps: velocidade suficiente para roteadores de acesso e corporativos.
4: Camada de Rede 4a-21
Comutação por uma rede de interconexãor supera limitações de banda dos
barramentosr Redes Banyan, outras redes de
interconexão desenvolvidas inicialmente para interligar processadores num sistema multiprocessador
r Projeto avançado: fragmentar datagrama em células de tamanho fixo, comutar células através da matriz de comutação.
r Cisco 12000: comuta 60 Gbps pela rede de interconexão.
Rede de Banyan
01
23
45
67
89
1011
1213
1415
01
23
45
67
89
1011
1213
1415
11 = 1011B
11
1
0 1
1
11 1
0
1 1
Tráfego com interferência mínima
01
23
45
67
89
1011
1213
1415
01
23
45
67
89
1011
1213
1415
Tráfego com interferência máxima (hot spot)
01
23
45
67
89
1011
1213
1415
01
23
45
67
89
1011
1213
1415
4: Camada de Rede 4a-25
Portas de Saída
r enfileiramento necessário quando datagramas chegam do elemento de comutação mais rapidamente do que a taxa de transmissão
r disciplina de escalonamento escolhe um dos datagramasenfileirados para transmissão
4: Camada de Rede 4a-26
Filas na Porta de Saída
r usa buffers quando taxa de chegada através do comutador excede taxa de transmissão de saída
r enfileiramento (retardo), e perdas devidas ao transbordo do buffer da porta de saída!
Tamanho das filas
r regra prática da RFC3439: enfileiramento médio igual ao RTT “típico” (ex., 250 mseg) vezes a capacidade do link C
m Ex.: C = 10 Gbps: buffer de 2,5 Gbitr recomendação recente: com N fluxos,
enfileiramento igual a:
4: Camada de Rede 4a-27
𝑅𝑇𝑇. 𝐶𝑁
4: Camada de Rede 4a-28
Filas na Porta de Entradar Se o elemento de comutação for mais lento do que a
soma das portas de entrada juntas -> pode haver filas nas portas de entrada
m retardo de enfileiramento e perdas devido ao transbordo do buffer de entrada!
r Bloqueio de cabeça de fila: datagrama na cabeça da fila impede outros na mesma fila de avançarem
Scheduling mechanisms
r scheduling: choose next packet to send on linkr FIFO (first in first out) scheduling: send in
order of arrival to queuem real-world example?m discard policy: if packet arrives to full queue: who to
discard?• tail drop: drop arriving packet• priority: drop/remove on priority basis• random: drop/remove randomly
queue(waiting area)
packetarrivals
packetdepartureslink
(server)
4-29Network Layer: Data Plane
Scheduling policies: priority
priority scheduling: send highest priority queued packet
r multiple classes, with different priorities
m class may depend on marking or other header info, e.g. IP source/dest, port numbers, etc.
m real world example?
high priority queue(waiting area)
low priority queue(waiting area)
arrivals
classify
departures
link(server)
1 3 2 4 5
5
5
2
2
1
1
3
3 4
4arrivals
departures
packet in
service
4-30Network Layer: Data Plane
Scheduling policies: still moreRound Robin (RR) scheduling:r multiple classesr cyclically scan class queues, sending one
complete packet from each class (if available)
r real world example?
1 23 4 5
5
5
2
3
1
1
3
3 4
4arrivals
departures
packet in
service
4-31Network Layer: Data Plane
Weighted Fair Queuing (WFQ): r generalized Round Robinr each class gets weighted amount of service
in each cycler real-world example?
Scheduling policies: still more
4-32Network Layer: Data Plane
4: Camada de Rede 4a-33
Capítulo 4: Camada de Rede
r 4.4 Repasse generalizado e SDN
m matchm açãom exemplos de
match+ação em ação no SDN
r 4. 1 Visão geral da camada de rede
m plano de dadosm plano de controle
r 4.2 O que há dentro de um roteador
r 4.3 O Protocolo da Internet (IP)
m formato do datagramam endereçamento IPv4m tradução do endereço
de rede (NAT)m IPv6
4: Camada de Rede 4a-34
A Camada de Rede na Internet
Tabela derepasse
Funções da camada de rede em estações, roteadores:
Protocolos de rot.•seleção de rotas•RIP, OSPF, BGP
protocolo IP •convenções de endereços•formato do datagrama•convenções de manuseio do pct
protocolo ICMP•relata erros•“sinalização” de roteadores
Camada de transporte: TCP, UDP
Camada de enlace
Camada física
Camadade rede
4: Camada de Rede 4a-35
Formato do datagrama IP
ver comprimento
32 bits
dados (comprimento variável,
tipicamente um segmento TCP ou UDP)
ident. 16-bitschecksumInternet
sobre-vida
endereço IP de origem 32 bits
número da versão do protocolo IP comprimento do
cabeçalho (bytes)
número máximode enlaces restantes
(decrementado a cada roteador)
parafragmentação/remontagem
comprimento total do datagrama(bytes)
protocolo da camadasuperior ao qual
entregar os dados
comp.cab
tipo deserviço
“tipo” dos dados (DS) bits início do fragmentocamadasuperior
endereço IP de destino 32 bits
Opções (se tiver) p.ex. marca de tempo,registrar rotaseguida, especificarlista de roteadoresa visitar.
Quanto overheadcom o TCP?
r 20 bytes do TCPr 20 bytes do IPr = 40 bytes + overhead cam. aplic.
4: Camada de Rede 4a-36
IP: Fragmentação & Remontagemr cada enlace de rede tem MTU
(max.transmission unit) -maior tamanho possível de quadro neste enlace.
m tipos diferentes de enlace têm MTUs diferentes
r datagrama IP muito grande dividido (“fragmentado”) dentro da rede
m um datagrama vira vários datagramas
m “remontado” apenas no destino final
m bits do cabeçalho IP usados para identificar, ordenar fragmentos relacionados
fragmentação: entrada: um datagrama
grandesaída: 3 datagramas
menores
remontagem
4: Camada de Rede 4a-37
IP: Fragmentação & RemontagemID=x
início=0
bit_frag=0
compr=4000
ID=x
início=0
bit_frag=1
compr=1500
ID=x
início=185
bit_frag=1
compr=1500
ID=x
início=370
bit_frag=0
compr=1040
um datagrama grande viravários datagramas menores
Exemplor Datagrama de
4000 bytes r MTU = 1500 bytes
1480 bytes dedados
início =1480/8
4: Camada de Rede 4a-38
Capítulo 4: Camada de Rede
r 4.4 Repasse generalizado e SDN
m matchm açãom exemplos de
match+ação em ação no SDN
r 4. 1 Visão geral da camada de rede
m plano de dadosm plano de controle
r 4.2 O que há dentro de um roteador
r 4.3 O Protocolo da Internet (IP)
m formato do datagramam endereçamento IPv4m tradução do endereço
de rede (NAT)m IPv6
4: Camada de Rede 4a-39
Endereçamento IP: introdução
r endereço IP: ident. de 32-bits para interface de estação, roteador
r interface: conexão entre estação, roteador e enlace físico
m roteador típico tem múltiplas interfaces
m estação típica possui uma ou duas interfaces (ex.: Ethernet e Wi-fi)
r endereços IP associados a cada interface
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
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
4: Camada de Rede 4a-40
Endereçamento IP: introdução
P: como as interfaces são realmente conectadas?R: aprenderemos nos capítulos 5 e 6.
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
R: Ethernet interfaces cabeadas conectadas por switches Ethernet
R: interfaces WiFi sem fio conectadas por estação base WiFi
Por enquanto: não nos preocupemos em como uma interface está conectada a outra (sem participação de um roteador)
4: Camada de Rede 4a-41
Subredesr endereço IP:
m parte de rede (bits de mais alta ordem)
m parte de estação (bits de mais baixa ordem)
r O que é uma subredeIP?
m interfaces de dispositivos com a mesma parte de subredenos seus endereços IP
m podem alcançar um ao outro sem passar por um roteador intermediário
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
rede composta por 3 subredes
subrede
4: Camada de Rede 4a-42
Subredes 223.1.1.0/24 223.1.2.0/24
223.1.3.0/24
Máscara da sub-rede: /24
Receitar desassociar cada
interface do seu roteador, estação
r criar “ilhas” de redes isoladas
r cada rede isolada é uma subrede
4: Camada de Rede 4a-43
SubredesQuantas subredes? 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.1
223.1.7.2223.1.8.2223.1.8.1
223.1.9.1
223.1.9.2
4: Camada de Rede 4a-44
parte deestação
Endereçamento IP: CIDRr CIDR: Classless InterDomain Routing
(Roteamento Interdomínio sem classes)m parte de rede do endereço de comprimento
arbitráriom formato de endereço: a.b.c.d/x, onde x é o no. de
bits na parte de subrede do endereço
11001000 00010111 00010000 00000000
parte desubrede
200.23.16.0/23
4: Camada de Rede 4a-45
Endereços IP: como conseguir um?
P: Como o host obtém um endereço IP?
qcodificado pelo administrador num arquivo¦Windows: Painel de controle->Rede-
>Configuração>tcp/ip->propriedades¦UNIX: /etc/rc.config
qDHCP: Dynamic Host Configuration Protocol: obtém endereço dinamicamente de um servidor¦“plug-and-play”
Network Layer 4-46
DHCP: Dynamic Host Configuration Protocol
Objetivo: permitir ao host obter dinamicamente o seu endereço IP do servidor da rede quando entra na rede
m pode renovar o empréstimo pelo uso do endereçom permite a reutilização de endereços (retém o endereço
apenas enquanto estiver conectado)m suporte a usuários móveis que queiram entrar na rede (mais
brevemente)Visão geral do DHCP:
m host envia em broadcast msg “DHCP discover” [opcional]m servidor DHCP responde com msg “DHCP offer” [opcional]m host solicita endereço IP: msg “DHCP request”m servidor DHCP envia endereço: msg “DHCP ack”
Network Layer 4-47
cenário DHCP cliente-servidor
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.27223.1.2.2
223.1.2.1
ServidorDHCP
DHCP clienteque cheganecessita um endereço nestarede
Network Layer 4-48
cenário DHCP cliente-servidorservidor DHCP : 223.1.2.5 cliente que
chega
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, 68yiaddrr: 223.1.2.4transaction ID: 654Lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68 dest:: 255.255.255.255, 67yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs
DHCP ACKsrc: 223.1.2.5, 67 dest: 255.255.255.255, 68yiaddrr: 223.1.2.4transaction ID: 655Lifetime: 3600 secs
DHCP: mais do que endereços IPr O DHCP pode retornar mais do que apenas
o endereço IP alocado na subrede:m endereço do próximo roteador para o clientem nome e endereço IP do servidor DNSm máscara de rede (indicando as porções do
endereço que identificam a rede e o hospedeiro)
4: Camada de Rede 4a-49
DHCP: exemplo
r laptop ao se conectar necessita seu endereço IP, end. do primeiro roteador, end. do servidor DNS: usa DHCP
r pedido DHCP encapsulado em UDP, encapsulado no IP, encapsulado no Ethernet 802.1
r quadro Ethernet difundido (dest.: FFFFFFFFFFFF) na LAN, recebido no roteador que está rodando o servidor DHCP
r Ethernet demultiplexado para IP, demultiplexado para UDP, demultiplexado para DHCP
4: Camada de Rede 4a-50
roteador com servidorDHCP embutido
168.1.1.1
DHCPUDP
IPEth
Física
DHCP
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEth
Física
DHCP
DHCP
DHCP
DHCPDHCP
DHCP: exemplo
r servidor DHCP prepara o ACK DHCP contendo o endereço IP do cliente, o endereço IP do primeiro roteador para o cliente, o nome e o endereço IP do servidor DNS
r encapsula a mensagem DHCP no servidor, quadro é repassado para o cliente, e é demultiplexado até o DHCP no cliente.
r cliente agora conhece o seu endereço IP, o nome e end. IP do servidor DNS, end. IP do seu primeiro roteador
4: Camada de Rede 4a-51
roteadorcom servidorDHCP embutido
DHCP
DHCP
DHCP
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCPUDP
IPEthPhy
DHCP
DHCP
DHCP
DHCP
DHCP: saída do Wireshark
4: Camada de Rede 4a-52
Message type: Boot Request (1)Hardware type: EthernetHardware address length: 6Hops: 0Transaction ID: 0x6b3a11b7Seconds elapsed: 0Bootp 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 givenBoot file name not givenMagic cookie: (OK)Option: (t=53,l=1) DHCP Message Type = DHCP RequestOption: (61) Client identifier
Length: 7; Value: 010016D323688A; Hardware type: EthernetClient MAC address: Wistron_23:68:8a (00:16:d3:23:68:8a)
Option: (t=50,l=4) Requested IP Address = 192.168.1.101Option: (t=12,l=5) Host Name = "nomad"Option: (55) Parameter Request List
Length: 11; Value: 010F03062C2E2F1F21F92B1 = Subnet Mask; 15 = Domain Name3 = Router; 6 = Domain Name Server44 = NetBIOS over TCP/IP Name Server……
pedidoMessage type: Boot Reply (2)Hardware type: EthernetHardware address length: 6Hops: 0Transaction ID: 0x6b3a11b7Seconds elapsed: 0Bootp 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 givenBoot file name not givenMagic cookie: (OK)Option: (t=53,l=1) DHCP Message Type = DHCP ACKOption: (t=54,l=4) Server Identifier = 192.168.1.1Option: (t=1,l=4) Subnet Mask = 255.255.255.0Option: (t=3,l=4) Router = 192.168.1.1Option: (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."
resposta
4: Camada de Rede 4a-53
Endereços IP: como conseguir um?
Bloco do 11001000 00010111 00010000 00000000 200.23.16.0/20provedorOrganizaçã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
P: Como a rede obtém a parte de rede do endereço IP?R: Recebe uma porção do espaço de endereços do seu
ISP (provedor)
4: Camada de Rede 4a-54
Endereçamento hierárquico: agregação de rotas
“mande-me qq coisacom endereços quecomeçam com 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Provedor A
Organização 0
Organização 7Internet
Organização n 1
Provedor B “mande-me qq coisacom endereços quecomeçam com199.31.0.0/16”
200.23.20.0/23Organização 2
...
...
Endereçamento hierárquico permite anunciar eficientemente informação sobre rotas:
4: Camada de Rede 4a-55
Endereçamento hierárquico: rotas mais específicas
Provedor B tem uma rota mais específica para a Organização 1
“mande-me qq coisacom endereços quecomeçam com 200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
Provedor A
Organização 0
Organização 7Internet
Organização 1
Provedor B “mande-me qq coisacom endereços quecomeçam com 199.31.0.0/16ou 200.23.18.0/23”
200.23.20.0/23Organização 2
...
...
4: Camada de Rede 4a-56
Endereçamento IP: a última palavra...
P: Como um provedor IP consegue um bloco de endereços?
R: ICANN: Internet Corporation for Assigned Names and Numbers (www.icann.org.br)m aloca endereçosm gerencia DNSm aloca nomes de domínio, resolve disputas
Através da IANA (Internet Assigned Numbers Authority)
4: Camada de Rede 4a-57
Capítulo 4: Camada de Rede
r 4.4 Repasse generalizado e SDN
m matchm açãom exemplos de
match+ação em ação no SDN
r 4. 1 Visão geral da camada de rede
m plano de dadosm plano de controle
r 4.2 O que há dentro de um roteador
r 4.3 O Protocolo da Internet (IP)
m formato do datagramam endereçamento IPv4m tradução do endereço
de rede (NAT)m IPv6
4: Camada de Rede 4a-58
Tradução de endereços na rede (NAT)
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
138.76.29.7
rede local(e.x., rede caseira)
10.0.0/24
resto daInternet
Datagramas com origem oudestino nesta rede usam
endereços 10.0.0/24 para origem e destino (como usual)
Todos os datagramas deixando a rede local têm o mesmo único
endereço IP NAT origem: 138.76.29.7, e diferentes números de porta origem
4: Camada de Rede 4a-59
r Motivação: a rede local usa apenas um endereço IP, no que concerne ao mundo exterior:
m não há necessidade de alocar faixas de endereços do ISP:
• apenas um endereço IP é usado para todos os dispositivosm pode modificar endereços de dispositivos na rede
local sem notificar o mundo exteriorm pode trocar de ISP sem mudar os endereços dos
dispositivos na rede localm dispositivos dentro da rede local não são
explicitamente endereçáveis, i.e., visíveis do mundo exterior (um incremento de segurança)
Tradução de endereços na rede (NAT)
4: Camada de Rede 4a-60
Tradução de endereços na rede (NAT)Implementação: um roteador NAT deve:
m datagramas saindo: trocar (IP origem, # porta ) de cada datagrama saindo para (IP NAT, novo # porta). . . clientes/servidores remotos vão responder
usando (IP NAT, novo # porta) como endereço destino.m lembrar (na tabela de tradução NAT) cada par de
tradução (IP origem, # porta ) para (IP NAT, novo # porta)
m datagramas entrando: trocar (IP NAT, novo # porta) nos campos de destino de cada datagrama entrando para o (IP origem, # porta) correspondente armazenado na tabela NAT
4: Camada de Rede 4a-61
Tradução de endereços na rede (NAT)
10.0.0.1
10.0.0.2
10.0.0.3
O: 10.0.0.1, 3345D: 128.119.40.186, 80
110.0.0.4
138.76.29.7
1: host 10.0.0.1 envia datagrama p/ 128.119.40.186, 80
Tabela de tradução NATend. lado WAN end. lado LAN 138.76.29.7, 5001 10.0.0.1, 3345…… ……
O: 128.119.40.186, 80 D: 10.0.0.1, 3345 4
O: 138.76.29.7, 5001D: 128.119.40.186, 802
2: roteador NATmuda end. origem do datagrama de10.0.0.1, 3345 p/138.76.29.7, 5001,e atualiza tabela
O: 128.119.40.186, 80 D: 138.76.29.7, 5001 3
3: Resposta chegap/ end. destino:138.76.29.7, 5001
4: roteador NATmuda end. destinodo datagrama de138.76.29.7, 5001 p/ 10.0.0.1, 3345
4: Camada de Rede 4a-62
Tradução de endereços na rede (NAT)
r campo do número de porta com 16-bits: m 60.000 conexões simultâneas com um único
endereço no lado WAN!r NAT é controverso:
m roteadores deveriam processar somente até a camada 3
m viola o argumento fim-a-fim• possibilidade do uso de NAT deve ser levado em conta
pelos projetistas de aplicações (p.e., P2P)m escassez de endereços, por outro lado, deveria
ser resolvida com o IPv6
Network Layer 4-63
Problema de travessia do NATr o cliente quer conectar com
o servidor com end. 10.0.0.1m endereço 10.0.0.1 é local à
LAN (cliente não pode usá-lo como endereço de destino)
m há apenas um endereço visível externamente: 138.76.29.7
r solução 1: configurar estaticamente o NAT para encaminhar para o servidor pedidos de conexão entrantes numa dada porta.r Ex: (123.76.29.7, porta 2500)
sempre encaminhado para 10.0.0.1 porta 25000
10.0.0.1
10.0.0.4
roteadorNAT
138.76.29.7
Cliente?
Network Layer 4-64
Problema de travessia do NATr solução 2: Protocolo Internet
Gateway Device (IGD) do Universal Plug and Play (UPnP). Permite aoshosts que estejam atrás de NATs:v descobrir o endereço público IP
(138.76.29.7)v Adicionar/remover mapeamento
de portas (com tempos de validade)
i.e., automatiza a configuração do mapeamento estático de portasNAT
10.0.0.1
10.0.0.4
roteadorNAT
138.76.29.7
IGD
Network Layer 4-65
Problema de travessia do NATr solução 3: repasse (usado pelo Skype)
m clientes atrás do NAT se conecta ao relaym cliente externo também se conecta ao relaym Repasse serve de intermediário entre pacotes de uma
conexão para a outra
138.76.29.7Cliente
10.0.0.1
roteadorNAT
1. conexão para o relay iniciada pelo host atrás do NAT
2. conexão para o relay é iniciada pelo cliente
3. Ponteestabelecida
4: Camada de Rede 4a-66
Capítulo 4: Camada de Rede
r 4.4 Repasse generalizado e SDN
m matchm açãom exemplos de
match+ação em ação no SDN
r 4. 1 Visão geral da camada de rede
m plano de dadosm plano de controle
r 4.2 O que há dentro de um roteador
r 4.3 O Protocolo da Internet (IP)
m formato do datagramam endereçamento IPv4m tradução do endereço
de rede (NAT)m IPv6
4: Camada de Rede 4a-67
IPv6r Motivação inicial: espaço de endereços de 32-bits em
breve completamente alocado.m Esgotou em 2011 na ICANN
r Motivação adicional:m formato do cabeçalho facilita acelerar
processamento/repassem mudanças no cabeçalho para facilitar QoS
formato do datagrama IPv6:m cabeçalho de tamanho fixo de 40 bytesm não admite fragmentação
4: Camada de Rede 4a-68
Cabeçalho IPv6Classe de tráfego: identifica prioridade entre datagramas no fluxoRótulo do Fluxo: identifica datagramas no mesmo “fluxo”
(conceito de “fluxo” mal definido).Próximo cabeçalho: identifica protocolo da camada superior
para os dados
4: Camada de Rede 4a-69
Outras mudanças em relação ao IPv4r Checksum: removido completamente para reduzir
tempo de processamento a cada roteadorr Opções: permitidas, porém fora do cabeçalho,
indicadas pelo campo “Próximo Cabeçalho”r ICMPv6: versão nova de ICMP
m tipos adicionais de mensagens, p.ex. “Pacote Muito Grande”
m funções de gerenciamento de grupo multiponto
Espaço de Endereçamento
r Um endereço IPv4 é formado por 32 bits.m 232 = 4.294.967.296
r Um endereço IPv6 é formado por 128 bits.m 2128 =
340.282.366.920.938.463.463.374.607.431.768.211.456
m ~56 octilhões (5,6 x 1028) de endereços IP por ser humano
m ~79 octilhões (7,9 x 1028) de vezes a quantidade de endereços IPv4
4: Camada de Rede 4a-70
Endereços IPv6 (RFC 4291)
r Exemplos:m ABCD:EF01:2345:6789:ABCD:EF01:2345:6789m 2001:DB8:0:0:8:800:200C:417A
r Representação de endereços IPv4:m 0:0:0:0:0:FFFF:129.144.52.38
r Ou em formato comprimidom ::FFFF:129.144.52.38
4: Camada de Rede 4a-71
Endereços IPv6
r Eliminação de zeros:m Os endereços:
• 2001:DB8:0:0:8:800:200C:417A endereço unicast• FF01:0:0:0:0:0:0:101 endereço multicast• 0:0:0:0:0:0:0:1 endereço de loopback• 0:0:0:0:0:0:0:0 endereço não especificado
m Podem ser escritos como:• 2001:DB8::8:800:200C:417A endereço unicast• FF01::101 endereço multicast• ::1 endereço de loopback• :: endereço não especificado
4: Camada de Rede 4a-72
Espaço de Endereçamento do IPv6 (19/07/2007)r 0000::/8 Reserved by IETF [RFC4291]r 0100::/8 Reserved by IETF [RFC4291]r 0200::/7 Reserved by IETF [RFC4048]r 0400::/6 Reserved by IETF [RFC4291]r 0800::/5 Reserved by IETF [RFC4291]r 1000::/4 Reserved by IETF [RFC4291]r 2000::/3 Global Unicast [RFC4291] r 4000::/3 Reserved by IETF [RFC4291]r 6000::/3 Reserved by IETF [RFC4291]r 8000::/3 Reserved by IETF [RFC4291]r A000::/3 Reserved by IETF [RFC4291]r C000::/3 Reserved by IETF [RFC4291]r E000::/4 Reserved by IETF [RFC4291]r F000::/5 Reserved by IETF [RFC4291]r F800::/6 Reserved by IETF [RFC4291]r FC00::/7 Unique Local Unicast [RFC4193]r FE00::/9 Reserved by IETF [RFC4291]r FE80::/10 Link Local Unicast [RFC4291]r FEC0::/10 Reserved by IETF [RFC3879]r FF00::/8 Multicast [RFC4291] 4: Camada de Rede 4a-73
r 2001:0000::/23 IANA 01 Jul 99 [1]r 2001:0200::/23 APNIC 01 Jul 99r 2001:0400::/23 ARIN 01 Jul 99r 2001:0600::/23 RIPE NCC 01 Jul 99r 2001:0800::/23 RIPE NCC 01 May 02r 2001:0A00::/23 RIPE NCC 02 Nov 02r 2001:0C00::/23 APNIC 01 May 02 [2]r 2001:0E00::/23 APNIC 01 Jan 03r 2001:1200::/23 LACNIC 01 Nov 02r 2001:1400::/23 RIPE NCC 01 Feb 03r 2001:1600::/23 RIPE NCC 01 Jul 03r 2001:1800::/23 ARIN 01 Apr 03r 2001:1A00::/23 RIPE NCC 01 Jan 04r 2001:1C00::/22 RIPE NCC 01 May 04r 2001:2000::/20 RIPE NCC 01 May 04r 2001:3000::/21 RIPE NCC 01 May 04r 2001:3800::/22 RIPE NCC 01 May 04r 2001:3C00::/22 RESERVED 11 Jun 04 [3]r 2001:4000::/23 RIPE NCC 11 Jun 04
2001:12F0::/ 32 Bloco de produção alocado à RNP.Blocos alocados para a UFPE em 09/10/15:2001:12F0:912::/48,2001:12F0:913::/48,2001:12F0:914::/48.
Alocação de Endereços Unicast Globais (22/12/2006)
4: Camada de Rede 4a-74
Alocação de Endereços Unicast Globais (22/12/2006)r 2001:4200::/23 AfriNIC 01 Jun 04r 2001:4400::/23 APNIC 11 Jun 04r 2001:4600::/23 RIPE NCC 17 Aug 04r 2001:4800::/23 ARIN 24 Aug 04r 2001:4A00::/23 RIPE NCC 15 Oct 04r 2001:4C00::/23 RIPE NCC 17 Dec 04r 2001:5000::/20 RIPE NCC 10 Sep 04r 2001:8000::/19 APNIC 30 Nov 04r 2001:A000::/20 APNIC 30 Nov 04r 2001:B000::/20 APNIC 08 Mar 06r 2002:0000::/16 6to4 01 Feb 01 r 2003:0000::/18 RIPE NCC 12 Jan 05r 2400:0000::/12 APNIC 03 Oct 06 r 2600:0000::/12 ARIN 03 Oct 06 r 2610:0000::/23 ARIN 17 Nov 05r 2620:0000::/23 ARIN 12 Sep 06r 2800:0000::/12 LACNIC 03 Oct 06 r 2A00:0000::/12 RIPE NCC 03 Oct 06 r 2C00:0000::/12 AfriNIC 03 Oct 06
4: Camada de Rede 4a-75
Endereçamento Unicast
r Global Unicast
m Divisão de endereços:• http://ipv6.br/paginas/subnet
4: Camada de Rede 4a-76
4: Camada de Rede 4a-77
Transição do IPv4 para o IPv6
r Nem todos os roteadores podem ser atualizados simultaneamente
m “dias de mudança geral” inviáveism Como a rede pode funcionar com uma mistura de
roteadores IPv4 e IPv6? r Tunelamento: datagramas IPv6 carregados em
datagramas IPv4 entre roteadores IPv4
end IPv4 origem, destcampos do cabeçalho IPv4
datagrama IPv4datagrama IPv6
carga do IPv4
carga UDP/TCPend IPv6 origem, dest
campos do cabeçalho IPv6
Network Layer 4-78
TunelamentoA B E F
IPv6 IPv6 IPv6 IPv6
túnel IPv4 conectandoroteadores IPv6Visão lógica:
Visão física:A B E F
IPv6 IPv6 IPv6 IPv6IPv4 IPv4
Network Layer 4-79
TunelamentoA B E F
IPv6 IPv6 IPv6 IPv6
túnelVisão lógica:
Visão física:A B E F
IPv6 IPv6 IPv6 IPv6
C D
IPv4 IPv4
Fluxo: XFonte: ADest: F
dados
Fluxo: XFonte: ADest: F
dados
Fluxo: XFonte: ADest: F
dados
Fonte:BDest: E
Fluxo: XFonte: ADest: F
dados
Fonte:BDest: E
A-para-B:IPv6
E-para-F:IPv6B-para-C:IPv6 dentro
do IPv4
B-para-C:IPv6 dentro
do IPv4
IPv6: adoption
r Google: 8% of clients access services via IPv6r NIST: 1/3 of all US government domains are
IPv6 capable
r Long (long!) time for deployment, usem20 years and counting!mthink of application-level changes in last 20 years: WWW, Facebook, streaming media, Skype, …mWhy?
4-80Network Layer: Data Plane
4: Camada de Rede 4a-81
Capítulo 4: Camada de Rede
r 4.4 Repasse generalizado e SDN
m matchm açãom exemplos de
match+ação em ação no SDN
r 4. 1 Visão geral da camada de rede
m plano de dadosm plano de controle
r 4.2 O que há dentro de um roteador
r 4.3 O Protocolo da Internet (IP)
m formato do datagramam endereçamento IPv4m tradução do endereço
de rede (NAT)m IPv6
Generalized Forwarding and SDN
230100 1101
values in arrivingpacket’s header
logically-centralized routing controller
1
control plane
data plane
Each router contains a flow table that is computed and distributed by a logically centralized routing controller
local flow tableheaders counters actions
4-82Network Layer: Data Plane
OpenFlow data plane abstraction
r flow: defined by header fieldsr generalized forwarding: simple packet-handling rules
m Pattern: match values in packet header fieldsm Actions: for matched packet: drop, forward, modify, matched packet or
send matched packet to controller m Priority: disambiguate overlapping patternsm Counters: #bytes and #packets
Flow table in a router (computed and distributed by controller) define router’s match+action rules
4-83Network Layer: Data Plane
OpenFlow data plane abstraction
r flow: defined by header fieldsr generalized forwarding: simple packet-handling rules
m Pattern: match values in packet header fieldsm Actions: for matched packet: drop, forward, modify, matched packet or
send matched packet to controller m Priority: disambiguate overlapping patternsm Counters: #bytes and #packets
1. src=1.2.*.*, dest=3.4.5.* à drop 2. src = *.*.*.*, dest=3.4.*.* à forward(2)3. src=10.1.2.3, dest=*.*.*.* à send to controller
* : wildcard
OpenFlow: Flow Table Entries
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport
Rule Action Stats
1. Forward packet to port(s)2. Encapsulate and forward to controller3. Drop packet4. Send to normal processing pipeline5. Modify Fields
Packet + byte counters
Link layer Network layer Transport layer
Destination-based forwarding:
*
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Action
* * * * * 51.6.0.8 * * * port6
Examples
IP datagrams destined to IP address 51.6.0.8 should be forwarded to router output port 6
*
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Forward
* * * * * * * * 22 drop
Firewall:
do not forward (block) all datagrams destined to TCP port 22
*
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Forward
* * * * 128.119.1.1 * * * * dropdo not forward (block) all datagrams sent by host 128.119.1.1
Destination-based layer 2 (switch) forwarding:
*
SwitchPort
MACsrc
MACdst
Ethtype
VLANID
IPSrc
IPDst
IPProt
TCPsport
TCPdport Action
* * * * * * * * port3
Examples
layer 2 frames from MAC address 22:A7:23:11:E1:02 should be forwarded to output port 6
22:A7:23:11:E1:02
4-87Network Layer: Data Plane
OpenFlow abstraction
§ Router• match: longest
destination IP prefix• action: forward out
a link§ Switch
• match: destination MAC address
• action: forward or flood
§ Firewall• match: IP addresses
and TCP/UDP port numbers
• action: permit or deny
§ NAT• match: IP address
and port• action: rewrite
address and port
§ match+action: unifies different kinds of devices
4-88Network Layer: Data Plane
IP Src = 10.3.*.*IP Dst = 10.2.*.* forward(3)
match action
ingress port = 2IP Dst = 10.2.0.3ingress port = 2IP Dst = 10.2.0.4
forward(3)
match action
forward(4)ingress port = 1IP Src = 10.3.*.*IP Dst = 10.2.*.*
forward(4)
match action
OpenFlow example
Host h110.1.0.1
Host h210.1.0.2
Host h410.2.0.4
Host h310.2.0.3
Host h510.3.0.5
s1 s2
s312
3 4
1
2
34
1
23
4
Host h610.3.0.6
controller
Example: datagrams from hosts h5 and h6 should be sent to h3 or h4, via s1 and from there to s2
4: Camada de Rede 4a-90
Capítulo 4: Concluído!
r 4.4 Repasse generalizado e SDN
m matchm açãom exemplos de
match+ação em ação no SDN
r 4. 1 Visão geral da camada de rede
m plano de dadosm plano de controle
r 4.2 O que há dentro de um roteador
r 4.3 O Protocolo da Internet (IP)
m formato do datagramam endereçamento IPv4m tradução do endereço
de rede (NAT)m IPv6
Pergunta: como são calculadas as tabelas de repasse (encaminhamento baseado no destino) ou as tabelas de fluxo (encaminhamento genérico)?Resposta: pelo plano de controle (próximo capítulo)