Kurose - wbg - cap04

Kurose - wbg - cap04

(Parte 1 de 2)

Capítulo 4 Camada de rede

Nota sobre o uso destes slides ppt:

Estamos disponibilizando estes slides gratuitamente a todos (professores, alunos, leitores). Eles estão em formato do

PowerPoint para que você possa incluir, modificar e excluir slides (incluindo este) e o conteúdo do slide, de acordo com suas necessidades. Eles obviamente representam muito trabalho da nossa parte. Em retorno pelo uso, pedimos apenas o seguinte:

Se você usar estes slides (por exemplo, em sala de aula) sem muita alteração, que mencione sua fonte (afinal, gostamos que as pessoas usem nosso livro!). Se você postar quaisquer slides sem muita alteração em um site Web, que informe que eles foram adaptados dos (ou talvez idênticos aos) nossos slides, e inclua nossa nota de direito autoral desse material.

Obrigado e divirta-se! JFK/KWR

Todo o material copyright 1996-2009 J. F Kurose e K. W. Ross, Todos os direitos reservados.

© 2010 Pearson Prentice Hall. Todos os direitos reservados. slide 1

Capítulo 4: Camada de rede

Objetivos do capítulo:

❒ entender os princípios por trás dos serviços da camada de rede:

❍ modelos de serviço da camada de rede

❍ repasse versus roteamento ❍ como funciona um roteador

❍ roteamento (seleção de caminho)

❍ lidando com escala

❍ tópicos avançados: IPv6, mobilidade

❒ instanciação, implementação na Internet

❒ 4. 1 Introdução

❒ 4.2 Redes de circuitos virtuais e de datagramas

❒ 4.3 O que há dentro de um roteador?

❒ 4.4 IP: Internet Protocol

❍ formato do datagrama

❍ endereçamento IPv4 ❍ ICMP

❍ IPv6

❒ 4.5 Algoritmos de roteamento

❍ estado de enlace ❍ vetor de distâncias

❍ roteamento hierárquico

❒ 4.6 Roteamento na

Internet ❍ RIP

❒ 4.7 Roteamento broadcast e multicast

Camada de rede

❒ segmento de transporte do hosp. emissor ao receptor

❒ o lado emissor encapsula segmentos em datagramas

❒ o lado receptor entre segmentos à camada de transporte

❒ protocolos da camada de rede em cada hosp., roteador

❒ roteador examina campos de cabeçalho em todos os datagramas IP que passam por ele aplicação transporte rede enlace física aplicação transporte rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física rede enlace física

Duas importantes funções da camada de rede

❒ repasse: mover pacotes da entrada do roteador para a saída apropriada do roteador

❒ roteamento: determinar rota seguida pelos pacotes da origem ao destino

❍ algoritmos de roteamento analogia:

❒ roteamento: processo de planejamento da viagem da origem ao destino

❒ repasse: processo de passar por um único cruzamento valor no cab. do pacote chegando algoritmo de roteamento tabela de repasse local valor do cab. enlace saída

Interação entre roteamento e repasse

Estabelecimento de conexão

❒ 3a função importante em algumas arquiteturas de rede:

❍ ATM, frame relay, X.25

❒ antes que os datagramas fluam, dois hospedeiros finais e roteadores entre eles estabelecem conexão virtual

❍ roteadores são envolvidos

❒ serviço de conexão da camada de rede versus transporte:

❍ rede: entre dois hospedeiros (também pode envolver roteadores entre eles, no caso de VCs)

❍ transporte: entre dois processos

Modelo de serviço de rede

P: Que modelo de serviço é o melhor para o “canal” que transporta datagramas do remetente ao destinatário? exemplo de serviços para datagramas individuais:

❒ entrada garantida

❒ entrega garantida com atraso limitado exemplo de serviços para fluxo de datagramas:

❒ entrega de datagrama na ordem

❒ largura de banda mínima garantida

❒ restrições sobre mudanças no espaçamento entre pacotes

Modelos de serviço da camada de rede:

Capítulo 4: Camada de rede

❒ 4. 1 Introdução

❒ 4.2 Redes de circuitos virtuais e de datagramas

❒ 4.3 O que há dentro de um roteador?

❒ 4.4 IP: Internet Protocol

❍ formato do datagrama

❍ endereçamento IPv4 ❍ ICMP

❍ IPv6

❒ 4.5 Algoritmos de roteamento

❍ estado de enlace ❍ vetor de distâncias

❍ roteamento hierárquico

❒ 4.6 Roteamento na

Internet ❍ RIP

❒ 4.7 Roteamento broadcast e multicast

Serviço com e sem conexão da camada de rede

❒ rede de datagrama fornece serviço sem conexão da camada de rede

❒ rede VC fornece serviço com conexão da camada de rede

❒ análogo aos serviços da camada de transporte, mas:

❍ serviço: hospedeiro a hospedeiro

❍ sem escolha: a rede oferece um ou outro ❍ implementação: no núcleo da rede

Circuitos virtuais

❒ estabelecimento e término para cada chamada antes que os dados possam fluir

❒ cada pacote carrega identificador VC (não endereço do hospedeiro de destino)

❒ cada roteador no caminho origem-destino mantém “estado” para cada conexão que estiver passando

❒ recursos do enlace e roteador (largura de banda, buffers) podem ser alocados ao VC (recursos dedicados = serviço previsível)

“Caminho da origem ao destino comporta-se como um circuito telefônico”

❍ com respeito ao desempenho ❍ ações da rede ao longo do caminho da origem ao destino

Implementação do VC um VC consiste em:

1. caminho da origem ao destino

2. números de VC, um número para cada enlace ao longo do caminho

3. entradas em tabelas de repasse nos roteadores ao longo do caminho

❒ pacote pertencente ao VC carrega número do VC (em vez do endereço de destino)

❒ número do VC pode ser alterado em cada enlace

❍ novo número de VC vem da tabela de repasse

Tabela de repasse número do VC número da interface tabela de repasse no roteador noroeste:

Roteadores mantêm informação de estado da conexão!

Circuitos virtuais: protocolos de sinalização

❒ usados para estabelecer, manter e terminar VC ❒ usados em ATM, frame-relay, X.25

❒ não usados na Internet de hoje aplicação transporte rede enlace física aplicação transporte rede enlace física

1. Inicia chamada 2. Chamada chegando 3. Chamada aceita 4. Chamada conectada 5. Fluxo de dados iniciado 6. Recebe dados

Redes de datagrama

❒ sem estabelecimento de chamada na camada de rede

❒ roteadores: sem estado sobre conexões fim a fim ❍ sem conceito em nível de rede da “conexão”

❒ pacotes repassados usando endereço do hospedeiro de destino

❍ pacotes entre mesmo par origem-destino podem tomar caminhos diferentes aplicação transporte rede enlace física aplicação transporte rede enlace física

1. Envia dados 2. Recebe dados

Tabela de repasse

11001000 00010111 00010000 0
até 0

Faixa de endereços de destino Interface de enlace 11001000 00010111 00010111 1

11001000 00010111 010 0
até 1
11001000 00010111 010 1
11001000 00010111 00011001 0
até 2
11001000 00010111 01 1

senão 3

4 bilhões de entradas possíveis

Concordância do prefixo mais longo

Concordância do prefixoInterface do enlace
11001000 00010111 00010 0
11001000 00010111 010 1
11001000 00010111 01 2

senão 3

Qual interface?

Rede de datagramas ou VC:

por quê?

Internet (datagrama)

❒ troca de dados entre computadores

❍ serviço “elástico”, sem requisitos de temporização estritos

❒ sistemas finais “inteligentes” (computadores)

❍ pode adaptar, realizar controle, recup. de erros

❍ simples dentro da rede, complexidade na “borda”

❒ muitos tipos de enlace

❍ diferentes características ❍ serviço uniforme difícil

❒ evoluída da telefonia

❒ conversação humana:

❍ requisitos de temporização estritos, confiabilidade

❍ necessário para serviço garantido

❒ sistemas finais “burros” ❍ telefones

❍ complexidade dentro da rede

Capítulo 4: Camada de rede

❒ 4. 1 Introdução

❒ 4.2 Redes de circuitos virtuais e de datagramas

❒ 4.3 O que há dentro de um roteador?

❒ 4.4 IP: Internet Protocol

❍ formato do datagrama

❍ endereçamento IPv4 ❍ ICMP

❍ IPv6

❒ 4.5 Algoritmos de roteamento

❍ estado de enlace ❍ vetor de distâncias

❍ roteamento hierárquico

❒ 4.6 Roteamento na

Internet ❍ RIP

❒ 4.7 Roteamento broadcast e multicast

Visão geral da arquitetura do roteador

Duas funções principais do roteador:

❒ executar algoritmos/protocolo de roteamento (RIP, OSPF, BGP) ❒ repassar datagramas do enlace de entrada para saída

Funções da porta de entrada

Comutação descentralizada:

❒ dado destino do datagrama, porta de saída de pesquisa usando tabela de repasse na memória da porta de entrada

❒ objetivo: processamento completo da porta de entrada na ‘velocidade de linha’

❒ fila: se datagramas chegarem mais rápido que taxa de repasse no elemento de comutação

Camada física: recepção por bit

Camada de enlace de dados: p. e., Ethernet ver Capítulo 5

Comutação por memória

Roteadores de primeira geração:

❒ computadores tradicionais com a comutação via controle direto da CPU

❒ pacote copiado para a memória do sistema

❒ velocidade limitada pela largura de banda da memória (2 travessias de barramento por datagrama) porta entrada porta saída memória

Barramento do sistema

Comutação por um barramento

❒ datagrama da memória da porta de entrada à memória da porta de saída por um barramento compartilhado

❒ disputa pelo barramento: velocidade da comutação limitada pela largura de banda do barramento

❒ barramento Cisco 5600 de 32 Gbps: velocidade suficiente para roteadores de acesso e corporativos

Comutação por uma rede de interconexão

❒ contorna limitações de largura de banda do barramento

❒ redes Banya, outras redes de interconexão desenvolvidas inicialmente para conectar processadores no multiprocessador

❒ projeto avançado: fragmenta datagrama em células de tamanho fixo, comuta células através do elemento de comutação

❒ Cisco 12000: comuta 60 Gbps através da rede de interconexão

Portas de saída

❒ Buffering exigido quando os datagramas chegam do elemento de comutação mais rápido que a taxa de transmissão

❒ Disciplina de escalonamento escolhe entre os datagramas enfileirados para transmissão

Enfileiramento na porta de saída

❒ buffering quando a taxa de chegada via comutador excede a velocidade da linha de saída

❒ enfileiramento (atraso) e perda devidos a estouro de buffer na porta de saída!

Quanto armazenamento em buffer?

❒ regra prática da RFC 3439: armazenamento médio em buffer igual à RTT “típica” (digamos, 250 ms) vezes capacidade do enlace C

❍ p. e., C = enlace de 10 Gps: buffer de 2,5 Gbit

❒ recomendação recente: com N fluxos, armazenamento deve ser igual a

Enfileiramento da porta de entrada

❒ elemento de comutação mais lento que portas de entrada combinadas -> enfileiramento possível nas filas de entrada

❒ bloqueio de cabeça de fila

(HOL) : datagrama enfileirado na frente da fila impede que outros na fila sigam adiante

❒ atraso de enfileiramento e perda devidos a estouro no buffer de entrada

Capítulo 4: Camada de rede

❒ 4.1 Introdução

❒ 4.2 Redes de circuitos virtuais e de datagramas

❒ 4.3 O que há dentro de um roteador?

❒ 4.4 IP: Internet Protocol

❍ formato do datagrama

❍ endereçamento IPv4 ❍ ICMP

❍ IPv6

❒ 4.5 Algoritmos de roteamento

❍ estado de enlace ❍ vetor de distâncias

❍ roteamento hierárquico

❒ 4.6 Roteamento na

Internet ❍ RIP

❒ 4.7 Roteamento broadcast e multicast

A camada de rede da Internet tabela de repasse

Funções na camada de rede do hospedeiro e roteador:

prots. roteamento • seleção caminho protocolo IP • convs. de endereçamento

• formato de datagrama

• convs. manuseio de pacote protocolo ICMP • informe de erro

• “sinalização” do roteador

Camada de transporte: TCP, UDP

Camada de enlace Camada física

Camada de rede

Capítulo 4: Camada de rede

❒ 4. 1 Introdução

❒ 4.2 Redes de circuitos virtuais e de datagramas

❒ 4.3 O que há dentro de um roteador?

❒ 4.4 IP: Internet Protocol

❍ formato do datagrama

❍ endereçamento IPv4 ❍ ICMP

❍ IPv6

❒ 4.5 Algoritmos de roteamento

❍ estado de enlace ❍ vetor de distâncias

❍ roteamento hierárquico

❒ 4.6 Roteamento na

Internet ❍ RIP

❒ 4.7 Roteamento broadcast e multicast

Formato do datagrama IP

Quanto overhead com TCP?

❒ 20 bytes de TCP ❒ 20 bytes de IP

❒ = 40 bytes + overhead da camada de aplicação

Fragmentação e reconstrução do IP

❒ enlaces de rede têm MTU

(tamanho máx. transferência) – maior quadro em nível de enlace possível.

❍ diferentes tipos de enlace, diferentes MTUs

❒ grande datagrama IP dividido (“fragmentado”) dentro da rede

❍ um datagrama torna-se vários datagramas

❍ “reconstruído” somente no destino final

❍ bits de cabeçalho IP usados para identificar, ordenar fragmentos relacionados

= x desloc.

fragflag = 0 tam. = 4000

ID = x desloc.

= 0 fragflag tam. = 1500

ID = x desloc.

= 185 fragflag tam. = 1500

ID = x desloc.

= 370 fragflag tam. = 1040

Um datagrama grande torna-se vários datagramas menores

Exemplo

❒ datagrama de 4000 bytes

❒ MTU = 1500 bytes

1480 bytes no campo de dados deslocamento = 1480/8

Capítulo 4: Camada de rede

❒ 4. 1 Introdução

❒ 4.2 Redes de circuitos virtuais e de datagramas

❒ 4.3 O que há dentro de um roteador?

❒ 4.4 IP: Internet Protocol

❍ formato do datagrama

❍ endereçamento IPv4 ❍ ICMP

❍ IPv6

❒ 4.5 Algoritmos de roteamento

❍ estado de enlace ❍ vetor de distâncias

❍ roteamento hierárquico

❒ 4.6 Roteamento na

Internet ❍ RIP

❒ 4.7 Roteamento broadcast e multicast

Endereçamento IP: introdução

❒ endereço IP: identificador de 32 bits para interface de hospedeiro e roteador

❒ interface: conexão entre hospedeiro/ roteador e enlace físico

❍ roteadores normalmente têm várias interfaces

❍ hospedeiro normalmente tem uma interface

❍ endereços IP associados a cada interface

Sub-redes

❒ endereço IP:

❍ parte da sub-rede (bits de alta ordem)

❍ parte do host (bits de baixa ordem)

❒ O que é uma sub-rede?

mesma parte da sub-

❍ dispositivo se conecta à -rede do endereço IP

❍ pode alcançar um ao outro fisicamente sem roteador intermediário rede consistindo em 3 sub-redes sub-rede

Receita

❒ para determinar as sub-redes, destaque cada interface de seu hospedeiro ou roteador, criando ilhas de redes isoladas. Cada rede isolada é denominada sub-red

Máscara de sub-rede: /24

Quantas? 223.1.1.1

Endereçamento IP: CIDR

CIDR: Classless InterDomain Routing (roteamento interdomínio sem classes)

❍ parte de sub-rede do endereço de tamanho arbitrário

❍ formato do endereço: a.b.c.d/x, onde x é # bits na parte de sub-rede do endereço parte de sub-rede parte do hosp.

Endereços IP: como obter um?

P: Como um hospedeiro obtém endereço IP?

❒ fornecido pelo administrador do sistema em um arquivo

❍ Windows: painel de controle->rede ->configuração->tcp/ip->propriedades

❍ UNIX: /etc/rc.config

❒ DHCP: Dynamic Host Configuration Protocol: recebe endereço dinamicamente do servidor

❍ “plug-and-play”

DHCP: Dynamic Host Configuration Protocol

Objetivo: permitir que o hospedeiro obtenha dinamicamente seu endereço IP do servidor de rede quando se conectar à rede pode renovar seu prazo no endereço utilizado permite reutilização de endereços (só mantém endereço enquanto conectado e “ligado”) aceita usuários móveis que queiram se juntar à rede (mais adiante)

Visão geral do DHCP: ❍ host broadcasts “DHCP discover” msg [optional]

❍ servidor DHCP responde com msg “DHCP offer” [opcional]

❍ hospedeiro requer endereço IP: msg “DHCP request” ❍ servidor DHCP envia endereço: msg “DHCP ack”

DHCP – cenário cliente/servidor

servidor DHCP cliente DHCP chegando precisa de endereço nesta rede

cliente chegando

tempo

src : 0.0.0.0, 68
yiaddr:0.0.0.0

transaction ID: 654

src: 223.1.2.5, 67

Lifetime: 3600 secs

Solicitação DHCP

src: 0.0.0.0, 68

Lifetime: 3600 secs

src: 223.1.2.5, 67

Lifetime: 3600 secs

DHCP: mais do que endereço IP

DHCP pode retornar mais do que apenas o endereço IP alocado na sub-rede:

❍ endereço do roteador do primeiro salto para o cliente

❍ nome e endereço IP do servidor DNS

❍ máscara de rede (indicando parte de rede versus hospedeiro do endereço)

DHCP: exemplo

❒ conexão de laptop precisa do seu endereço IP, endereço do roteador do primeiro salto, endereço do servidor DNS: use DHCP

❒ solicitação DHCP encapsulada no UDP, encapsulada no IP, encapsulado no Ethernet 802.1

❒ broadcast de quadro

Ethernet (dest: F) na LAN, recebido no roteador rodando DHCP

❒ Ethernet demultiplexado para

(Parte 1 de 2)

Comentários