90
4: Camada de Rede 4a-1 Capítulo 4: Camada de Rede r 4.4 Repasse generalizado e SDN m match m ação m exemplos de match+ação em ação no SDN r 4. 1 Visão geral da camada de rede m plano de dados m plano de controle r 4.2 O que há dentro de um roteador r 4.3 O Protocolo da Internet (IP) m formato do datagrama m endereçamento IPv4 m tradução do endereço de rede (NAT) m IPv6

Capítulo 4: Camada de Redesuruagy/cursos/redes/cap4-Kurose.pdf · 4: Camada de Rede 4a-1 Capítulo 4: Camada de Rede r 4.4 Repasse generalizado e SDN mmatch mação mexemplos de

  • 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)